[Vm-dev] VM Maker: Cog-eem.404.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Apr 26 03:38:58 UTC 2020


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!



More information about the Vm-dev mailing list