VM Maker: VMMaker.oscog-eem.1000.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMaker.oscog-eem.1000.mcz

commits-2
 
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!