[Vm-dev] VM Maker: VMMaker.oscog-eem.1000.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Dec 26 22:04:18 UTC 2014


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1000.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.1000
Author: eem
Time: 26 December 2014, 2:01:50.853 pm
UUID: 68704c7c-954b-4a1c-bf46-c06bf4a54087
Ancestors: VMMaker.oscog-eem.999

Fix slip in primitiveImmediateAsInteger

=============== Diff against VMMaker.oscog-eem.999 ===============

Item was changed:
  ----- Method: InterpreterPrimitives>>primitiveImmediateAsInteger (in category 'arithmetic float primitives') -----
  primitiveImmediateAsInteger
  	"For a Smalnteger, answer itself.
  	 For a Character, answer its code as an unsigned integer.
  	 For a SmallFloat, answer the signed, but unadjusted bit pattern (so as to keep the result a SmallInteger).
  	 This is a good value for an immediate's hash."
+ 	<option: #SpurObjectMemory>
- 	<option: #Spur64BitMemoryManager>
  	| oop value |
  	oop := self stackTop.
  	(objectMemory isIntegerObject: oop) ifTrue:
  		[value := objectMemory integerValueOf: oop] ifFalse:
  	[(objectMemory isCharacterObject: oop) ifTrue:
  		[value := objectMemory characterValueOf: oop] ifFalse:
  	[(objectMemory isImmediateFloat: oop) ifTrue:
  		[value := objectMemory rotatedFloatBitsOf: oop] ifFalse:
  	[^self primitiveFailFor: PrimErrBadReceiver]]].
  	self pop: argumentCount + 1 thenPushInteger: value!



More information about the Vm-dev mailing list