[Vm-dev] VM Maker: VMMaker.oscog-cb.1936.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Sep 5 12:54:04 UTC 2016
ClementBera uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-cb.1936.mcz
==================== Summary ====================
Name: VMMaker.oscog-cb.1936
Author: cb
Time: 5 September 2016, 2:51:19.995237 pm
UUID: a0fcd00d-b0e0-4a17-841c-f90144c91fe4
Ancestors: VMMaker.oscog-cb.1935
Added a deny to ensure the block can be frameless. Works both for blocks and full blocks.
=============== Diff against VMMaker.oscog-cb.1935 ===============
Item was changed:
----- Method: SimpleStackBasedCogit>>compileBlockFramelessEntry: (in category 'compile abstract instructions') -----
compileBlockFramelessEntry: blockStart
"Make sure ReceiverResultReg holds the receiver, loaded from the closure,
which is what is initially in ReceiverResultReg. We must annotate the first
instruction so that findMethodForStartBcpc:inHomeMethod: can function.
We need two annotations because the first is a fiducial."
<var: #blockStart type: #'BlockStart *'>
+ self deny: blockStart hasInstVarRef. "Else we would need to unforward the receiver"
self annotateBytecode: blockStart entryLabel.
self annotateBytecode: blockStart entryLabel.
objectRepresentation
genLoadSlot: ClosureOuterContextIndex
sourceReg: ReceiverResultReg
destReg: TempReg;
genLoadSlot: ReceiverIndex
sourceReg: TempReg
destReg: ReceiverResultReg!
More information about the Vm-dev
mailing list