Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2964.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.2964 Author: eem Time: 27 May 2021, 11:05:14.535182 am UUID: ba494336-b0c6-40f4-a0ed-be2b024f274d Ancestors: VMMaker.oscog-eem.2963
Fix a slip in primitiveSetOrHasIdentityHash (a primitive fail didn't return) & a speeling rorre.
=============== Diff against VMMaker.oscog-eem.2963 ===============
Item was changed: ----- Method: InterpreterPrimitives>>primitiveSetOrHasIdentityHash (in category 'object access primitives') ----- primitiveSetOrHasIdentityHash | hash oldHash thisReceiver isReceiverAClass | argumentCount = 0 ifTrue: [| hasHash | hasHash := (objectMemory isNonImmediate: self stackTop) and: [objectMemory hasIdentityHash: self stackTop]. + self pop: 1 thenPushBool: hasHash. - self pop: argumentCount + 1 thenPushBool: hasHash. ^self]. argumentCount = 2 ifTrue: [isReceiverAClass := self booleanValueOf: self stackTop. + self successful ifFalse: + [^self primitiveFailFor: PrimErrBadArgument]] - self successful ifFalse: [self primitiveFailFor: PrimErrBadArgument] ] ifFalse: [isReceiverAClass := false]. hash := self stackIntegerValue: argumentCount - 1. thisReceiver := self stackObjectValue: argumentCount. self successful ifTrue: [oldHash := objectMemory hashBitsOf: thisReceiver. objectMemory setHashBitsOf: thisReceiver to: hash. + (isReceiverAClass and: [objectMemory hasSpurMemoryManagerAPI]) ifTrue: + [objectMemory classAtIndex: hash put: thisReceiver. + "this figures out if the index is ambiguous and fixes all the instances if needed" + objectMemory allInstancesOf: thisReceiver]. + self methodReturnInteger: oldHash]! - (isReceiverAClass and: [objectMemory hasSpurMemoryManagerAPI]) ifTrue: - [objectMemory classAtIndex: hash put: thisReceiver. - "next line figures out if the index is anbiguous and fix all the instances if needed" - objectMemory allInstancesOf: thisReceiver]. - self pop: argumentCount + 1 thenPushInteger: oldHash]!
vm-dev@lists.squeakfoundation.org