ARMv6: Fix offsets > 4096 for litpool. More aggressive check.

Somehow Scooby Doo gets to offsets of ~4200 unless i drop the threshold down to ~3200. Not sure why the offset can jump by so much in one instruction.
Makes Scooby Doo playable now instead of showing a blue screen in the main game. Likely affects other games.
This commit is contained in:
Sacha 2013-11-08 16:07:05 +10:00
parent c0d7c5e958
commit 803148b8ca

View File

@ -240,7 +240,7 @@ const u8 *Jit::DoJit(u32 em_address, JitBlock *b)
js.compilerPC += 4;
numInstructions++;
if (!cpu_info.bArmV7 && (GetCodePtr() - b->checkedEntry - partialFlushOffset) > 4020)
if (!cpu_info.bArmV7 && (GetCodePtr() - b->checkedEntry - partialFlushOffset) > 3200)
{
// We need to prematurely flush as we are out of range
FixupBranch skip = B_CC(CC_AL);
@ -414,4 +414,4 @@ void Jit::Comp_DoNothing(MIPSOpcode op) { }
// mov eax, [table+eax]
// mov dreg, [eax+offreg]
}
}