Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.852.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.852 Author: eem Time: 9 August 2014, 11:39:16.965 am UUID: b67d56c1-40f1-4532-9cd6-c3636d52b013 Ancestors: VMMaker.oscog-eem.851
The setHashBitsOf:to: needs to use noCheckClassIndexAt:
=============== Diff against VMMaker.oscog-eem.851 ===============
Item was changed: ----- Method: Spur32BitMemoryManager>>setHashBitsOf:to: (in category 'header access') ----- setHashBitsOf: objOop to: hash self flag: #endianness. self assert: (hash bitAnd: self identityHashHalfWordMask) = hash. + self cCode: [self deny: ((self noCheckClassAtIndex: hash) ~= objOop - self cCode: [self deny: ((self classAtIndex: hash) ~= objOop and: [coInterpreter addressCouldBeClassObj: objOop])] inSmalltalk: [coInterpreter ifNotNil: + [self deny: ((self noCheckClassAtIndex: hash) ~= objOop - [self deny: ((self classAtIndex: hash) ~= objOop and: [coInterpreter addressCouldBeClassObj: objOop])]]. self longAt: objOop + 4 put: ((self longAt: objOop + 4) bitClear: self identityHashHalfWordMask) + hash!
Item was changed: ----- Method: Spur64BitMemoryManager>>setHashBitsOf:to: (in category 'header access') ----- setHashBitsOf: objOop to: hash self assert: (hash bitAnd: self identityHashFullWordMask) = hash. + self cCode: [self deny: ((self noCheckClassAtIndex: hash) ~= objOop - self cCode: [self deny: ((self classAtIndex: hash) ~= objOop and: [coInterpreter addressCouldBeClassObj: objOop])] inSmalltalk: [coInterpreter ifNotNil: + [self deny: ((self noCheckClassAtIndex: hash) ~= objOop - [self deny: ((self classAtIndex: hash) ~= objOop and: [coInterpreter addressCouldBeClassObj: objOop])]]. self longAt: objOop put: ((self longAt: objOop) bitClear: self identityHashFullWordMask) + hash!
vm-dev@lists.squeakfoundation.org