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

commits at source.squeak.org commits at source.squeak.org
Tue Dec 2 02:27:51 UTC 2014


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

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

Name: VMMaker.oscog-eem.961
Author: eem
Time: 1 December 2014, 6:25:22.92 pm
UUID: 005b79a9-dcf2-4df1-a959-696a1a5889d6
Ancestors: VMMaker.oscog-eem.960

Fix StackInterpreter>>isFloatObject: and
primitiveVMParameter to use isFloatInstance:.

Fix simulation of primitiveSmallFloatTruncated.

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

Item was changed:
  ----- Method: InterpreterPrimitives>>primitiveSmallFloatTruncated (in category 'arithmetic float primitives') -----
  primitiveSmallFloatTruncated
  	<option: #Spur64BitMemoryManager>
  	| rcvr trunc |
  	<var: #rcvr type: #double>
  	<var: #trunc type: #double>
+ 	rcvr := objectMemory smallFloatValueOf: self stackTop.
- 	rcvr := self smallFloatValueOf: self stackTop.
  	self cCode: [self mod: rcvr f: (self addressOf: trunc)]
  		inSmalltalk: [trunc := rcvr truncated].
  	(trunc between: objectMemory minSmallInteger asFloat and: objectMemory maxSmallInteger asFloat)
  		ifTrue: [self pop: 1 thenPushInteger: trunc asInteger]
  		ifFalse: [self primitiveFail]!

Item was changed:
  ----- Method: StackInterpreter>>isFloatObject: (in category 'internal interpreter access') -----
  isFloatObject: oop
+ 	<api>
+ 	<inline: true>
+ 	^objectMemory isFloatInstance: oop!
- 	^(objectMemory isNonImmediate: oop)
- 	   and: [ClassFloatCompactIndex = (objectMemory compactClassIndexOf: oop)]!

Item was changed:
  ----- Method: StackInterpreterPrimitives>>primitiveVMParameter (in category 'system control primitives') -----
(excessive size, no diff calculated)



More information about the Vm-dev mailing list