PPU/LLVM: Call fast_stop when function returns and PC corresponds
This commit is contained in:
@@ -591,7 +591,10 @@ u32 ppu_recompiler_llvm::CPUHybridDecoderRecompiler::ExecuteTillReturn(PPUThread
|
|||||||
auto entry = ppu_state->PC;
|
auto entry = ppu_state->PC;
|
||||||
u32 exit = (u32)executable(ppu_state, 0);
|
u32 exit = (u32)executable(ppu_state, 0);
|
||||||
if (exit == ExecutionStatus::ExecutionStatusReturn)
|
if (exit == ExecutionStatus::ExecutionStatusReturn)
|
||||||
|
{
|
||||||
|
if (Emu.GetCPUThreadStop() == ppu_state->PC) ppu_state->fast_stop();
|
||||||
return ExecutionStatus::ExecutionStatusReturn;
|
return ExecutionStatus::ExecutionStatusReturn;
|
||||||
|
}
|
||||||
if (exit == ExecutionStatus::ExecutionStatusPropagateException)
|
if (exit == ExecutionStatus::ExecutionStatusPropagateException)
|
||||||
return ExecutionStatus::ExecutionStatusPropagateException;
|
return ExecutionStatus::ExecutionStatusPropagateException;
|
||||||
previousInstContigousAndInterp = false;
|
previousInstContigousAndInterp = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user