Removed the check for changed JIT blocks before invalidation. Fixes the slow speed in Zelda: Ocarina of Time Master Quest.
Fixes issue 5454.
This commit is contained in:
parent
b5ad382b07
commit
1d9ac2f6e1
|
@ -425,26 +425,23 @@ bool JitBlock::ContainsAddress(u32 em_address)
|
||||||
{
|
{
|
||||||
#ifdef JIT_UNLIMITED_ICACHE
|
#ifdef JIT_UNLIMITED_ICACHE
|
||||||
JitBlock &b = blocks[it2->second];
|
JitBlock &b = blocks[it2->second];
|
||||||
if (b.originalFirstOpcode != Memory::ReadUnchecked_U32(b.originalAddress))
|
if (b.originalAddress & JIT_ICACHE_VMEM_BIT)
|
||||||
{
|
{
|
||||||
if (b.originalAddress & JIT_ICACHE_VMEM_BIT)
|
u32 cacheaddr = b.originalAddress & JIT_ICACHE_MASK;
|
||||||
{
|
memset(iCacheVMEM + cacheaddr, JIT_ICACHE_INVALID_BYTE, 4);
|
||||||
u32 cacheaddr = b.originalAddress & JIT_ICACHE_MASK;
|
|
||||||
memset(iCacheVMEM + cacheaddr, JIT_ICACHE_INVALID_BYTE, 4);
|
|
||||||
}
|
|
||||||
else if (b.originalAddress & JIT_ICACHE_EXRAM_BIT)
|
|
||||||
{
|
|
||||||
u32 cacheaddr = b.originalAddress & JIT_ICACHEEX_MASK;
|
|
||||||
memset(iCacheEx + cacheaddr, JIT_ICACHE_INVALID_BYTE, 4);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
u32 cacheaddr = b.originalAddress & JIT_ICACHE_MASK;
|
|
||||||
memset(iCache + cacheaddr, JIT_ICACHE_INVALID_BYTE, 4);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
DestroyBlock(it2->second, true);
|
|
||||||
}
|
}
|
||||||
|
else if (b.originalAddress & JIT_ICACHE_EXRAM_BIT)
|
||||||
|
{
|
||||||
|
u32 cacheaddr = b.originalAddress & JIT_ICACHEEX_MASK;
|
||||||
|
memset(iCacheEx + cacheaddr, JIT_ICACHE_INVALID_BYTE, 4);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
u32 cacheaddr = b.originalAddress & JIT_ICACHE_MASK;
|
||||||
|
memset(iCache + cacheaddr, JIT_ICACHE_INVALID_BYTE, 4);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
DestroyBlock(it2->second, true);
|
||||||
it2++;
|
it2++;
|
||||||
}
|
}
|
||||||
if (it1 != it2)
|
if (it1 != it2)
|
||||||
|
|
Loading…
Reference in New Issue