[Vm-dev] VM Maker: VMMaker.oscog-eem.1223.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Apr 20 01:06:56 UTC 2015


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1223.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.1223
Author: eem
Time: 19 April 2015, 6:04:56.957 pm
UUID: 4f987b81-cdc5-494d-b0ab-b9ec680208d3
Ancestors: VMMaker.oscog-tpr.1222

Fix frameless block return on RISCs; indeed the ret pc
is in the LinkReg as it should be.

As a result one can evaluatre 3+4 in the Simulator using the ARM JIT.  We have two JITs :).

=============== Diff against VMMaker.oscog-tpr.1222 ===============

Item was changed:
  ----- Method: SimpleStackBasedCogit>>genBlockReturn (in category 'bytecode generators') -----
  genBlockReturn
  	"Return from block, assuming result already loaded into ReceiverResultReg."
  	needsFrame ifTrue:
  		[self MoveR: FPReg R: SPReg.
+ 		 self PopR: FPReg.
+ 		 backEnd hasLinkRegister ifTrue:
+ 			[self PopR: LinkReg]].
- 		 self PopR: FPReg].
- 	"Tim, I disagree; link reg should only be popped if frameful.
- 	 Frameless methods should /not/ push the link reg except around trampolines.
- 	 Eliot"
- 	backEnd hasLinkRegister ifTrue:
- 		[self PopR: LinkReg].
  	self RetN: methodOrBlockNumArgs + 1 * objectMemory wordSize.
  	^0!



More information about the Vm-dev mailing list