Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2180.mcz==================== Summary ====================
Name: VMMaker.oscog-eem.2180
Author: eem
Time: 24 March 2017, 9:26:28.687223 am
UUID: 9866d19d-5f98-43c3-98ab-332b63416145
Ancestors: VMMaker.oscog-cb.2179
Stack depth checking for the full closure bytecode(s).
=============== Diff against VMMaker.oscog-cb.2179 ===============
Item was changed:
----- Method: StackDepthFinder>>pushFullClosure:numCopied: (in category 'instruction decoding') -----
+ pushFullClosure: literal numCopied: numCopied
- pushFullClosure: literal numCopied: numCopied.
"Push Closure bytecode."
numCopied = 0
ifTrue: [self push]
ifFalse: [numCopied > 1 ifTrue:
+ [self drop: numCopied - 1]]!
- [self drop: numCopied - 1]].!
Item was added:
+ ----- Method: StackDepthFinder>>pushFullClosure:numCopied:receiverOnStack:ignoreOuterContext: (in category 'instruction decoding') -----
+ pushFullClosure: literal numCopied: numCopied receiverOnStack: receiverOnStack ignoreOuterContext: ignoreOuterContext
+ "Push Closure bytecode."
+ | delta |
+ delta := 1 - (receiverOnStack ifTrue: [1] ifFalse: [0]) - numCopied.
+ delta ~= 0 ifTrue: [self drop: delta negated]!