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!
vm-dev@lists.squeakfoundation.org