Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.662.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.662 Author: eem Time: 2 April 2014, 3:17:05.32 pm UUID: 2b89547d-56bd-42fa-a1e9-06ef4f9bd5f6 Ancestors: VMMaker.oscog-eem.661
Fix in-image compilation (at least for ObjectMemory).
=============== Diff against VMMaker.oscog-eem.661 ===============
Item was added: + ----- Method: ByteArray>>longAt:put: (in category '*VMMaker-accessing') ----- + longAt: byteIndex put: aValue + ^self signedLongAt: byteIndex put: aValue!
Item was changed: ----- Method: Cogit class>>cog:selector:options: (in category 'in-image compilation') ----- cog: aCompiledMethod selector: aSelector options: optionsDictionaryOrArray "StackToRegisterMappingCogit cog: (Integer >> #benchFib) selector: #benchFib options: #(COGMTVM false)" | coInterpreter cogit | self initializeWithOptions: (self asOptionsDictionary: optionsDictionaryOrArray). coInterpreter := CurrentImageCoInterpreterFacade forCogit: (cogit := self new). [cogit setInterpreter: coInterpreter; singleStep: true; + initializeCodeZoneFrom: 1024 upTo: coInterpreter memory size / 2. "leave space for rump C stack" - initializeCodeZoneFrom: 1024 upTo: coInterpreter memory size. cogit methodZone freeStart: (cogit methodZone freeStart roundUpTo: 1024)] on: Notification do: [:ex| (ex messageText beginsWith: 'cannot find receiver for') ifTrue: [ex resume: coInterpreter]. ex pass]. ^{ coInterpreter. cogit. cogit cog: (coInterpreter oopForObject: aCompiledMethod) selector: (coInterpreter oopForObject: aSelector) }!
Item was added: + ----- Method: CurrentImageCoInterpreterFacade>>baseHeaderSize (in category 'accessing') ----- + baseHeaderSize + ^self subclassResponsibility!
Item was added: + ----- Method: CurrentImageCoInterpreterFacade>>isYoungObject: (in category 'accessing') ----- + isYoungObject: anOop + ^false!
Item was changed: ----- Method: CurrentImageCoInterpreterFacade>>rumpCStackAddress (in category 'accessing') ----- rumpCStackAddress + ^memory size / 4 * 3 + 1024! - ^memory size / 2 + 1024!
Item was added: + ----- Method: CurrentImageCoInterpreterFacade>>temporaryCountOfMethodHeader: (in category 'accessing') ----- + temporaryCountOfMethodHeader: header + ^(CompiledMethod + newMethod: 8 + header: (header <= SmallInteger maxVal + ifTrue: [header] + ifFalse: [(header bitAnd: SmallInteger maxVal) + SmallInteger minVal])) + numTemps!
Item was added: + ----- Method: CurrentImageCoInterpreterFacadeForSpurObjectRepresentation>>baseHeaderSize (in category 'accessing') ----- + baseHeaderSize + ^SpurMemoryManager baseHeaderSize!
Item was added: + ----- Method: CurrentImageCoInterpreterFacadeForSqueakV3ObjectRepresentation>>baseHeaderSize (in category 'accessing') ----- + baseHeaderSize + ^ObjectMemory baseHeaderSize!
vm-dev@lists.squeakfoundation.org