Eliot Miranda uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1697.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1697 Author: eem Time: 23 February 2016, 4:52:59.370596 pm UUID: 03f07782-25a7-4178-8528-7f8638ca30ff Ancestors: VMMaker.oscog-eem.1696
And get the adjustment correct for the SimpleStackBasedCogit too.
=============== Diff against VMMaker.oscog-eem.1696 ===============
Item was changed: ----- Method: SimpleStackBasedCogit>>adjustArgumentsForPerform: (in category 'primitive generators') ----- adjustArgumentsForPerform: numArgs + "e.g. Receiver Receiver or Receiver Receiver (RISC) + Selector/Arg0 => Arg1 Selector/Arg0 => Arg1 + Arg1 Arg2 Arg1 Arg2 + Arg2 Arg3 Arg2 sp-> Arg3 + Arg3 sp-> retpc sp-> Arg3 - "e.g. Receiver Receiver - Selector/Arg0 => Arg1 - Arg1 Arg2 - Arg2 sp-> retpc sp-> retpc"
+ backEnd hasLinkRegister + ifTrue: + [numArgs - 2 to: 0 by: -1 do: + [:index| + self MoveMw: index * objectMemory wordSize r: SPReg R: TempReg. + self MoveR: TempReg Mw: index + 1 * objectMemory wordSize r: SPReg]. + self AddCq: objectMemory wordSize R: SPReg] + ifFalse: + [numArgs - 1 to: 1 by: -1 do: + [:index| + self MoveMw: index * objectMemory wordSize r: SPReg R: TempReg. + self MoveR: TempReg Mw: index + 1 * objectMemory wordSize r: SPReg]. + self PopR: TempReg. + self MoveR: TempReg Mw: 0 r: SPReg]! - (backEnd hasLinkRegister ifTrue: [numArgs - 2] ifFalse: [numArgs - 1]) to: 0 by: -1 do: - [:index| - self MoveMw: index * objectMemory wordSize r: SPReg R: TempReg. - self MoveR: TempReg Mw: index + 1 * objectMemory wordSize r: SPReg]. - self PopR: TempReg. - self MoveR: TempReg Mw: 0 r: SPReg!
vm-dev@lists.squeakfoundation.org