[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