[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