[Vm-dev] VM Maker: VMMaker-dtl.261.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Dec 11 19:22:51 UTC 2011


David T. Lewis uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker-dtl.261.mcz

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

Name: VMMaker-dtl.261
Author: dtl
Time: 11 December 2011, 2:21:48.991 pm
UUID: c62d3995-5d8a-4297-b424-704fc8d3b97a
Ancestors: VMMaker-dtl.260

VMMaker 4.7.18

Update primitiveSize to support mirror primitives.
Add missing InterpreterSimulator>>successful method.
Five of six mirror primitive tests pass, but primitivePerformInSuperclass still requires an update (see Mantis 0007429: Add Mirror Primitives to the VM).

=============== Diff against VMMaker-dtl.260 ===============

Item was changed:
  ----- Method: InterpreterPrimitives>>primitiveSize (in category 'indexing primitives') -----
  primitiveSize
  	| rcvr sz |
  	rcvr := self stackTop.
  	(self isIntegerObject: rcvr) ifTrue: [^ self primitiveFail].  "Integers are not indexable"
  	(self formatOf: rcvr) < 2 ifTrue: [^ self primitiveFail].  "This is not an indexable object"
  	sz := self stSizeOf: rcvr.
  	self successful ifTrue:
+ 		[self pop: argumentCount + 1 thenPush: (self positive32BitIntegerFor: sz)]
- 		[self pop: 1 thenPush: (self positive32BitIntegerFor: sz)]
  !

Item was added:
+ ----- Method: InterpreterSimulator>>successful (in category 'primitive support') -----
+ successful
+ 	"Answer the state of the primitive failure code/success flag.  If
+ 	 primFailCode is non-zero a primitive has failed.  If primFailCode
+ 	 is greater than one then its value indicates the reason for failure."
+ 
+ 	^primFailCode = 0!

Item was changed:
  ----- Method: VMMaker class>>versionString (in category 'version testing') -----
  versionString
  
  	"VMMaker versionString"
  
+ 	^'4.7.18'!
- 	^'4.7.17'!



More information about the Vm-dev mailing list