[Vm-dev] VM Maker: VMMaker.oscog-eem.854.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Aug 10 04:03:37 UTC 2014
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!
More information about the Vm-dev
mailing list