[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