[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