[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