Eliot Miranda uploaded a new version of Cog to project VM Maker: http://source.squeak.org/VMMaker/Cog-eem.404.mcz
==================== Summary ====================
Name: Cog-eem.404 Author: eem Time: 25 April 2020, 8:38:56.265452 pm UUID: 61ffd076-549a-4f7f-b1ca-90fd7f70df67 Ancestors: Cog-eem.403
Add the jump-call hack fix for the processor simulators.
=============== Diff against Cog-eem.403 ===============
Item was added: + ----- Method: BochsIA32Alien>>hackFixNextPCOfJumpFor:using: (in category 'execution') ----- + hackFixNextPCOfJumpFor: aProcessorSimulationTrap using: objectMemory + "This is a hack fix before we revise the simulators. When a jump call is made, the + next pc is effectively the return address on the stack, not the instruction following + the jump. So reset it here. All this is because currently the simulators don't execute + a control transfer to a fake address, as would a real processor. Once the processor + simulators correctly emulate such control transfers, we can ditch this hack." + + aProcessorSimulationTrap nextpc: (objectMemory longAt: self sp)!
Item was added: + ----- Method: BochsX64Alien>>hackFixNextPCOfJumpFor:using: (in category 'execution') ----- + hackFixNextPCOfJumpFor: aProcessorSimulationTrap using: objectMemory + "This is a hack fix before we revise the simulators. When a jump call is made, the + next pc is effectively the return address on the stack, not the instruction following + the jump. So reset it here. All this is because currently the simulators don't execute + a control transfer to a fake address, as would a real processor. Once the processor + simulators correctly emulate such control transfers, we can ditch this hack." + + aProcessorSimulationTrap nextpc: (objectMemory longAt: self sp)!
Item was added: + ----- Method: GdbARMAlien>>hackFixNextPCOfJumpFor:using: (in category 'execution') ----- + hackFixNextPCOfJumpFor: aProcessorSimulationTrap using: objectMemory + "This is a hack fix before we revise the simulators. When a jump call is made, the + next pc is effectively the return address on the stack, not the instruction following + the jump. So reset it here. All this is because currently the simulators don't execute + a control transfer to a fake address, as would a real processor. Once the processor + simulators correctly emulate such control transfers, we can ditch this hack." + + aProcessorSimulationTrap nextpc: self lr!
vm-dev@lists.squeakfoundation.org