[Vm-dev] VM Maker: VMMaker.oscog-eem.1141.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Mar 31 23:56:20 UTC 2015
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1141.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1141
Author: eem
Time: 31 March 2015, 4:54:17.46 pm
UUID: a20d15d4-58a4-4dcb-83d5-d20904fc76ef
Ancestors: VMMaker.oscog-eem.1140
Make the fake address generation stuff for in-image
compilation a little less confusing.
=============== Diff against VMMaker.oscog-eem.1140 ===============
Item was changed:
----- Method: CurrentImageCoInterpreterFacade>>addressForLabel: (in category 'labels') -----
addressForLabel: l
^variables
at: l
ifAbsentPut:
+ [(self isLabelRelativeToCogitVarBaseReg: l)
+ ifTrue: [cogit fakeAddressFor: l index: variables size]
+ ifFalse: [variables size * 4 + self variablesBase]]!
- [(coInterpreter class instVarIndexFor: l ifAbsent: [objectMemory class instVarIndexFor: l ifAbsent: [#(CStackPointer CFramePointer) includes: l]])
- ifNil: [variables size * 4 + self variablesBase]
- ifNotNil: [cogit fakeAddressFor: l index: (variables keys select: [:k| (coInterpreter class instVarIndexFor: l ifAbsent: []) notNil]) size]]!
Item was added:
+ ----- Method: CurrentImageCoInterpreterFacade>>isLabelRelativeToCogitVarBaseReg: (in category 'labels') -----
+ isLabelRelativeToCogitVarBaseReg: l
+ coInterpreter class
+ instVarIndexFor: l
+ ifAbsent:
+ [objectMemory class
+ instVarIndexFor: l
+ ifAbsent: [^false]].
+ ^true!
More information about the Vm-dev
mailing list