[Vm-dev] VM Maker: VMMaker.oscog-eem.852.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Aug 9 18:41:36 UTC 2014
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!
More information about the Vm-dev
mailing list