[Vm-dev] VM Maker: VMMaker-dtl.296.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Jan 9 02:12:00 UTC 2013
David T. Lewis uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker-dtl.296.mcz
==================== Summary ====================
Name: VMMaker-dtl.296
Author: dtl
Time: 8 January 2013, 8:57:03.954 pm
UUID: e4c9a45b-3d6d-494e-98d8-dc6d90ea5460
Ancestors: VMMaker-dtl.295
VMMaker 4.10.10
Fix copy and paste bug in primitiveRemLargeIntegers.
Reference http://code.google.com/p/cog/issues/detail?id=117
=============== Diff against VMMaker-dtl.295 ===============
Item was changed:
----- Method: InterpreterPrimitives>>primitiveRemLargeIntegers (in category 'arithmetic largeint primitives') -----
primitiveRemLargeIntegers
"Primitive arithmetic operations for large integers in 64 bit range"
+ | result oopResult a aIsNegative b oopArg oopRcvr |
- | result oopResult a aIsNegative b bIsNegative oopArg oopRcvr |
<export: true>
<var: 'a' type: 'usqLong'>
<var: 'b' type: 'usqLong'>
<var: 'result' type: 'usqLong'>
oopArg := self stackValue: 0.
oopRcvr := self stackValue: 1.
aIsNegative := self isNegativeIntegerValueOf: oopRcvr.
- bIsNegative := self isNegativeIntegerValueOf: oopArg.
a := self magnitude64BitValueOf: oopRcvr.
b := self magnitude64BitValueOf: oopArg.
b = 0 ifTrue:[self primitiveFail].
self successful ifFalse:[^nil].
result := a \\ b.
+ oopResult := self magnitude64BitIntegerFor: result neg: aIsNegative.
- oopResult := self magnitude64BitIntegerFor: result neg: aIsNegative ~= bIsNegative.
self successful ifTrue: [self pop: 2 thenPush: oopResult].!
Item was changed:
----- Method: VMMaker class>>versionString (in category 'version testing') -----
versionString
"VMMaker versionString"
+ ^'4.10.10'!
- ^'4.10.9'!
More information about the Vm-dev
mailing list