[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