[Vm-dev] VM Maker: BytecodeSets.spur-eem.13.mcz
commits at source.squeak.org
commits at source.squeak.org
Thu Sep 18 01:51:56 UTC 2014
Eliot Miranda uploaded a new version of BytecodeSets to project VM Maker:
http://source.squeak.org/VMMaker/BytecodeSets.spur-eem.13.mcz
==================== Summary ====================
Name: BytecodeSets.spur-eem.13
Author: eem
Time: 17 September 2014, 6:51:49.342 pm
UUID: e0f9eeee-6633-479d-8441-ef24b2e0b085
Ancestors: BytecodeSets.spur-eem.12
Implement isReturnTopFromMethodAt:in: for other
bytecode sets (& stackDeltaForPrimitive:in:) for Sista.
Lose bogus subclassResponsibility message from
InstructionPrinter>>#pushExplicitOuter:
=============== Diff against BytecodeSets.spur-eem.12 ===============
Item was changed:
SystemOrganization addCategory: #'BytecodeSets-NewsqueakV3'!
- SystemOrganization addCategory: #'BytecodeSets-SistaV1'!
SystemOrganization addCategory: #'BytecodeSets-NewsqueakV4'!
SystemOrganization addCategory: #'BytecodeSets-ParseNodes'!
+ SystemOrganization addCategory: #'BytecodeSets-SistaV1'!
Item was added:
+ ----- Method: EncoderForNewsqueakV4 class>>isReturnTopFromMethodAt:in: (in category 'instruction stream support') -----
+ isReturnTopFromMethodAt: pc in: method
+ "Answer whether the bytecode at pc is a return stack top from method."
+
+ ^(method at: pc) = 217!
Item was added:
+ ----- Method: EncoderForSistaV1 class>>isReturnTopFromMethodAt:in: (in category 'instruction stream support') -----
+ isReturnTopFromMethodAt: pc in: method
+ "Answer whether the bytecode at pc is a return stack top from method."
+
+ ^(method at: pc) = 92!
Item was changed:
+ ----- Method: EncoderForSistaV1 class>>stackDeltaForPrimitive:in: (in category 'bytecode decoding') -----
- ----- Method: EncoderForSistaV1 class>>stackDeltaForPrimitive:in: (in category '*BytecodeSets-bytecode decoding') -----
stackDeltaForPrimitive: primitiveIndex in: method
"Answer the stack delta for the callPrimitive: bytecode (see my class comment).
There is no delta for non-inlined primitives (its implicitly 0 - method numArgs).
Inlined primitives are grouped by the thousand by argument count, 32 args max ;-)."
^primitiveIndex < 32678
ifTrue: [0]
ifFalse: [primitiveIndex - 32768 // 1000]!
Item was changed:
----- Method: InstructionClient>>pushExplicitOuter: (in category '*BytecodeSets-NewsqueakV3-decoding') -----
+ pushExplicitOuter: n "<Integer>"
+ "Push the enclosing object at level n."!
- pushExplicitOuter: n
- "Push the Active Context's Receiver for an outer send at level n."
-
- self subclassResponsibility!
More information about the Vm-dev
mailing list