mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-23 14:19:55 -06:00
@ -999,7 +999,7 @@ void InvalidateByAddr(u32 localAddr)
|
|||||||
u32 addr = block->Literals()[j];
|
u32 addr = block->Literals()[j];
|
||||||
if (addr == localAddr)
|
if (addr == localAddr)
|
||||||
{
|
{
|
||||||
if (InvalidLiterals.Find(localAddr) != -1)
|
if (InvalidLiterals.Find(localAddr) == -1)
|
||||||
{
|
{
|
||||||
InvalidLiterals.Add(localAddr);
|
InvalidLiterals.Add(localAddr);
|
||||||
JIT_DEBUGPRINT("found invalid literal %d\n", InvalidLiterals.Length);
|
JIT_DEBUGPRINT("found invalid literal %d\n", InvalidLiterals.Length);
|
||||||
|
@ -123,7 +123,7 @@ void Compiler::Comp_MemAccess(int rd, int rn, const Op2& op2, int size, int flag
|
|||||||
if (Config::JIT_LiteralOptimisations && rn == 15 && rd != 15 && op2.IsImm && !(flags & (memop_Post|memop_Store|memop_Writeback)))
|
if (Config::JIT_LiteralOptimisations && rn == 15 && rd != 15 && op2.IsImm && !(flags & (memop_Post|memop_Store|memop_Writeback)))
|
||||||
{
|
{
|
||||||
u32 addr = R15 + op2.Imm * ((flags & memop_SubtractOffset) ? -1 : 1);
|
u32 addr = R15 + op2.Imm * ((flags & memop_SubtractOffset) ? -1 : 1);
|
||||||
|
|
||||||
if (Comp_MemLoadLiteral(size, flags & memop_SignExtend, rd, addr))
|
if (Comp_MemLoadLiteral(size, flags & memop_SignExtend, rd, addr))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user