[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