Writing to a memory page with code present only causes code block flushes if the data changes, or if a block is currently being recompiled.

This commit is contained in:
TomW 2016-02-03 21:09:05 +00:00
commit 673d785743
4 changed files with 29 additions and 13 deletions

View file

@ -1361,6 +1361,7 @@ inrecomp=0;
cpu_new_blocks++;
codegen_block_init(phys_addr);
codegen_in_recompile = 1;
// if (output) pclog("Recompile block at %04x:%04x %04x %04x %04x %04x %04x %04x ESP=%04x %04x %02x%02x:%02x%02x %02x%02x:%02x%02x %02x%02x:%02x%02x\n", CS, pc, AX, BX, CX, DX, SI, DI, ESP, BP, ram[0x116330+0x6df4+0xa+3], ram[0x116330+0x6df4+0xa+2], ram[0x116330+0x6df4+0xa+1], ram[0x116330+0x6df4+0xa+0], ram[0x11d136+3],ram[0x11d136+2],ram[0x11d136+1],ram[0x11d136+0], ram[(0x119abe)+0x3],ram[(0x119abe)+0x2],ram[(0x119abe)+0x1],ram[(0x119abe)+0x0]);
while (!cpu_block_end)
@ -1426,6 +1427,8 @@ inrecomp=0;
if (x86_was_reset)
codegen_reset();
codegen_in_recompile = 0;
// output &= ~2;
}
// if (output && (SP & 1))