[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