diff options
| author | JMC47 <JMC4789@gmail.com> | 2021-12-18 15:07:50 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-18 15:07:50 -0500 |
| commit | d8e347c8e8fd4c5e67cbf8b523506e182bc14ef4 (patch) | |
| tree | 13254170837c95894c026852710be48fe2af5ee6 /Source/Core | |
| parent | 08d907dec86f672c0767351df8ba9b1c1b28efe3 (diff) | |
| parent | 48560135b34b4b9866daa870b3537dbe86eb953f (diff) | |
Merge pull request #10275 from AdmiralCurtiss/twX-5-byte-jmp
Jit64: Use farcode for exception exit in twX.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp index 1435863eb5..ac16144d09 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp @@ -2559,9 +2559,11 @@ void Jit64::twX(UGeckoInstruction inst) fixups.push_back(f); } } - FixupBranch dont_trap = J(); + if (!fixups.empty()) { + SwitchToFarCode(); + RCForkGuard gpr_guard = gpr.Fork(); RCForkGuard fpr_guard = fpr.Fork(); @@ -2577,9 +2579,9 @@ void Jit64::twX(UGeckoInstruction inst) fpr.Flush(); WriteExceptionExit(); - } - SetJumpTarget(dont_trap); + SwitchToNearCode(); + } if (!analyzer.HasOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE)) { |
