jit: make everything configurable

This commit is contained in:
RSDuck
2019-07-14 04:33:36 +02:00
committed by RSDuck
parent dcf6e1cad2
commit 9d76d63af5
12 changed files with 192 additions and 46 deletions

View File

@ -524,7 +524,7 @@ void Reset()
KeyCnt = 0;
RCnt = 0;
ARMJIT::ResetBlocks();
ARMJIT::InvalidateBlockCache();
NDSCart::Reset();
GBACart::Reset();
@ -741,6 +741,11 @@ bool DoSavestate(Savestate* file)
GPU::SetPowerCnt(PowerControl9);
}
if (!file->Saving)
{
ARMJIT::InvalidateBlockCache();
}
return true;
}
@ -826,6 +831,7 @@ void RunSystem(u64 timestamp)
}
}
template <bool EnableJIT>
u32 RunFrame()
{
FrameStartTimestamp = SysTimestamp;
@ -858,7 +864,10 @@ u32 RunFrame()
}
else
{
ARM9->Execute();
if (EnableJIT)
ARM9->ExecuteJIT();
else
ARM9->Execute();
}
RunTimers(0);
@ -880,7 +889,10 @@ u32 RunFrame()
}
else
{
ARM7->Execute();
if (EnableJIT)
ARM7->ExecuteJIT();
else
ARM7->Execute();
}
RunTimers(1);
@ -910,6 +922,14 @@ u32 RunFrame()
return GPU::TotalScanlines;
}
u32 RunFrame()
{
if (Config::JIT_Enable)
return RunFrame<true>();
else
return RunFrame<false>();
}
void Reschedule(u64 target)
{
if (CurCPU == 0)