Commenting out the block of code in Jit_LoadStore.cpp allows MGS:TS to start in JIT
mode. The code is a speed optimisation but it breaks something in MGS:TS.
With the StoreFromX64 change, I did not notice a drop in speed in Super Mario Galaxy
(maybe 1-2fps tops), but I saw a drop in Zelda TP at the title screen.
As we are still trying to work out why the Jit_LoadStore code breaks MGS:TS, we'll
leave the code as is for now.
I can assure you that the current Jit_Integer code (with the StoreFromX64 line) will
not break any games. It flushes the x64 reg to the PPC reg so that the PPC has the
most up to date value. The downside is that it may be flushing the reg too often.
This is the trace of MGS:TS (GGSEA4) just before it crashes in JIT mode:
PC: 80019c14
PC: 80019c58
PC: 800206a8
PC: 800206bc
PC: 800206c4
PC: 80019c60
PC: 80019c74
PC: 8001a628
PC: 800206a8
PC: 800206b4
PC: 800206c0
PC: 800206c4
PC: 8001a630
PC: 8001a644 <-- Last correct block
PC: 00000000
This is the trace from the correctly working JITIL mode:
PC: 80019c14
PC: 80019c58
PC: 800206a8
PC: 800206bc
PC: 800206c4
PC: 80019c60
PC: 80019c74
PC: 8001a628
PC: 800206a8
PC: 800206b4
PC: 800206c0
PC: 800206c4
PC: 8001a630
PC: 8001a644 <-- Last synchronised block
PC: 8001503c <-- Correct next block
PC: 80015054
PC: 8000c4e0
PC: 8000c4f4