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

commits at source.squeak.org commits at source.squeak.org
Sun Jan 10 21:44:46 UTC 2016


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

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

Name: VMMaker.oscog-eem.1629
Author: eem
Time: 10 January 2016, 1:42:57.314037 pm
UUID: e706b773-41e5-482b-aa41-bacdf83d47e7
Ancestors: VMMaker.oscog-eem.1628

And manage that pesky opcodeIndex correctly

=============== Diff against VMMaker.oscog-eem.1628 ===============

Item was changed:
  ----- Method: Cogit>>genGetLeafCallStackPointer (in category 'initialization') -----
  genGetLeafCallStackPointer
  	"Generate a routine that answers the stack pointer immedately
  	 after a leaf call, used for checking stack pointer alignment."
  	| startAddress |
  	<inline: false>
  	self allocateOpcodes: 4 bytecodes: 0.
  	startAddress := methodZoneBase.
  	self
  		MoveR: FPReg R: backEnd cResultRegister;
  		RetN: 0.
  	self outputInstructionsForGeneratedRuntimeAt: startAddress.
  	self recordGeneratedRunTime: 'ceGetFP' address: startAddress.
  	ceGetFP := self cCoerceSimple: startAddress to: #'unsigned long (*)(void)'.
  	startAddress := methodZoneBase.
+ 	self zeroOpcodeIndex.
  	self MoveR: SPReg R: backEnd cResultRegister.
  	backEnd leafCallStackPointerDelta ~= 0 ifTrue:
  		[self AddCq: backEnd leafCallStackPointerDelta R: backEnd cResultRegister].
  	self RetN: 0.
  	self outputInstructionsForGeneratedRuntimeAt: startAddress.
  	self recordGeneratedRunTime: 'ceGetSP' address: startAddress.
  	ceGetSP := self cCoerceSimple: startAddress to: #'unsigned long (*)(void)'!



More information about the Vm-dev mailing list