Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.854.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.854 Author: eem Time: 9 August 2014, 8:59:40.864 pm UUID: 22ed2e38-a5ed-446a-9695-cf5ec7ec4d36 Ancestors: VMMaker.oscog-eem.853
Retract the setHashBits: assert check for classes; a Process fooled addressCouldBeClassObj: so the assert isn't selective enough.
Add some support for the munger.
Modify simulated ioScreenSize to answer savedWindowSize if displayForm is nil.
=============== Diff against VMMaker.oscog-eem.853 ===============
Item was removed: - ----- Method: CoInterpreter>>thisClassIndex (in category 'simulation') ----- - thisClassIndex - <doNotGenerate> - ^thisClassIndex!
Item was changed: ----- Method: CogVMSimulator>>ioScreenSize (in category 'I/O primitives support') ----- ioScreenSize "Return the screen extent packed into 32 bits."
+ ^displayForm + ifNotNil: [(displayForm width << 16) + displayForm height] + ifNil: [savedWindowSize ifNil: 640 << 16 + 480]! - ^ (displayForm width << 16) + displayForm height!
Item was changed: ----- Method: Spur32BitMemoryManager>>setHashBitsOf:to: (in category 'header access') ----- setHashBitsOf: objOop to: hash self flag: #endianness. + self assert: (hash between: 0 and: self identityHashHalfWordMask). - self assert: (hash bitAnd: self identityHashHalfWordMask) = hash. - self cCode: [self deny: ((self noCheckClassAtIndex: hash) ~= objOop - and: [coInterpreter addressCouldBeClassObj: objOop])] - inSmalltalk: - [coInterpreter ifNotNil: - [self deny: ((self noCheckClassAtIndex: 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 between: 0 and: self identityHashFullWordMask). - self assert: (hash bitAnd: self identityHashFullWordMask) = hash. - self cCode: [self deny: ((self noCheckClassAtIndex: hash) ~= objOop - and: [coInterpreter addressCouldBeClassObj: objOop])] - inSmalltalk: - [coInterpreter ifNotNil: - [self deny: ((self noCheckClassAtIndex: hash) ~= objOop - and: [coInterpreter addressCouldBeClassObj: objOop])]]. self longAt: objOop put: ((self longAt: objOop) bitClear: self identityHashFullWordMask) + hash!
Item was added: + ----- Method: StackInterpreter>>metaclassNumSlots (in category 'simulation') ----- + metaclassNumSlots + <doNotGenerate> + ^metaclassNumSlots!
Item was added: + ----- Method: StackInterpreter>>thisClassIndex (in category 'simulation') ----- + thisClassIndex + <doNotGenerate> + ^thisClassIndex!
Item was changed: ----- Method: StackInterpreterSimulator>>ioScreenSize (in category 'I/O primitives support') ----- ioScreenSize "Return the screen extent packed into 32 bits."
+ ^displayForm + ifNotNil: [(displayForm width << 16) + displayForm height] + ifNil: [savedWindowSize ifNil: 640 << 16 + 480]! - ^ (displayForm width << 16) + displayForm height!
vm-dev@lists.squeakfoundation.org