[Vm-dev] VM Maker: VMMaker.oscog-eem.1302.mcz

commits at source.squeak.org commits at source.squeak.org
Fri May 15 01:14:04 UTC 2015


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1302.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.1302
Author: eem
Time: 14 May 2015, 6:12:02.036 pm
UUID: bebc79cd-5926-416b-a9ab-ed02e54e4e46
Ancestors: VMMaker.oscog-eem.1301

Allow setting of debugBytecodePointers and
debugFixupPointers from initializationOptions
for inimage compilation, allowing getting to the
point quickly as in


StackToRegisterMappingCogit
	genAndDis: BorderedMorph>>#borderStyle
	options: #(ObjectMemory NewCoObjectMemory
				debugBytecodePointers #(137))

Use the compiled method, not the header oop, when
decoding method headers during in-image compilation,
so as not to be confused by the different compiled
method header formats between V3 and Spur.

=============== Diff against VMMaker.oscog-eem.1301 ===============

Item was changed:
  ----- Method: CurrentImageCoInterpreterFacade>>argumentCountOfMethodHeader: (in category 'accessing') -----
+ argumentCountOfMethodHeader: headerIntegerOop
+ 	^(headerToMethodMap at: headerIntegerOop) numArgs
+ 	"a.k.a.
+ 	^coInterpreter argumentCountOfMethodHeader: headerIntegerOop,
+ 	 but only if the CompiledMethod header formats match"!
- argumentCountOfMethodHeader: aSmallIntegerOop
- 	"a.k.a. (headerToMethodMap at: aSmallIntegerOop) numArgs"
- 	^coInterpreter argumentCountOfMethodHeader: aSmallIntegerOop!

Item was changed:
  ----- Method: CurrentImageCoInterpreterFacade>>literalCountOfMethodHeader: (in category 'accessing') -----
  literalCountOfMethodHeader: headerIntegerOop
+ 	^(headerToMethodMap at: headerIntegerOop) numLiterals
+ 	"a.k.a.
+ 	^coInterpreter literalCountOfMethodHeader: aSmallIntegerOop,
+ 	 but only if the CompiledMethod header formats match"!
- 	^objectMemory literalCountOfMethodHeader: headerIntegerOop!

Item was changed:
  ----- Method: CurrentImageCoInterpreterFacade>>startPCOfMethodHeader: (in category 'accessing') -----
+ startPCOfMethodHeader: headerIntegerOop
+ 	^(headerToMethodMap at: headerIntegerOop) initialPC - 1
+ 	"a.k.a.
+ 	^coInterpreter startPCOfMethodHeader: headerIntegerOop,
+ 	 but only if the CompiledMethod header formats match"!
- startPCOfMethodHeader: aSmallIntegerOop
- 	"a.k.a. (headerToMethodMap at: aSmallIntegerOop) initialPC - 1"
- 	^coInterpreter startPCOfMethodHeader: aSmallIntegerOop!

Item was changed:
  ----- Method: CurrentImageCoInterpreterFacade>>temporaryCountOfMethodHeader: (in category 'accessing') -----
+ temporaryCountOfMethodHeader: headerIntegerOop
+ 	^(headerToMethodMap at: headerIntegerOop) numTemps
+ 	"a.k.a.
+ 	^coInterpreter temporaryCountOfMethodHeader: headerIntegerOop,
+ 	 but only if the CompiledMethod header formats match"!
- temporaryCountOfMethodHeader: aSmallIntegerOop
- 	"a.k.a. (headerToMethodMap at: aSmallIntegerOop) numTemps"
- 	^coInterpreter temporaryCountOfMethodHeader: aSmallIntegerOop!

Item was changed:
  ----- Method: StackToRegisterMappingCogit>>setInterpreter: (in category 'initialization') -----
  setInterpreter: aCoInterpreter
  	"Initialization of the code generator in the simulator.
  	 These objects already exist in the generated C VM
  	 or are used only in the simulation."
  	<doNotGenerate>
  	super setInterpreter: aCoInterpreter.
  
  	methodAbortTrampolines := CArrayAccessor on: (Array new: self numRegArgs + 2).
  	picAbortTrampolines := CArrayAccessor on: (Array new: self numRegArgs + 2).
  	picMissTrampolines := CArrayAccessor on: (Array new: self numRegArgs + 2).
  
  	simStack := CArrayAccessor on: ((1 to: 256) collect: [:i| CogSimStackEntry new cogit: self]).
  	simSelf := CogSimStackEntry new cogit: self.
  	optStatus := CogSSOptStatus new.
  
+ 	debugFixupBreaks := self class initializationOptions at: #debugFixupBreaks ifAbsent: [Set new].
+ 	debugBytecodePointers := self class initializationOptions at: #debugBytecodePointers ifAbsent: [Set new].
- 	debugFixupBreaks := Set new.
- 	debugBytecodePointers := Set new.
  
  	numPushNilsFunction := self class numPushNilsFunction.
  	pushNilSizeFunction := self class pushNilSizeFunction!



More information about the Vm-dev mailing list