From 68aab70c75f66890b2f5c5f946bb5203fde69795 Mon Sep 17 00:00:00 2001 From: Franz-Josef Haider Date: Tue, 23 May 2023 23:19:53 +0300 Subject: [PATCH 1/2] Jit: Fix block map fallback in Arm64 case. --- Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp b/Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp index 6f1066188e..cfa2965879 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp @@ -146,7 +146,7 @@ void JitArm64::GenerateAsm() ORR(pc_masked, ARM64Reg::WZR, LogicalImm(JitBaseBlockCache::FAST_BLOCK_MAP_FALLBACK_MASK << 3, 32)); AND(pc_masked, pc_masked, DISPATCHER_PC, ArithOption(DISPATCHER_PC, ShiftType::LSL, 1)); - MOVP2R(cache_base, GetBlockCache()->GetFastBlockMap()); + MOVP2R(cache_base, GetBlockCache()->GetFastBlockMapFallback()); LDR(block, cache_base, EncodeRegTo64(pc_masked)); FixupBranch not_found = CBZ(block); From 8943a9a369244f448096517288ed0c55ec568f4d Mon Sep 17 00:00:00 2001 From: Franz-Josef Haider Date: Tue, 23 May 2023 23:20:48 +0300 Subject: [PATCH 2/2] Jit: Add missing call to InitBLROptimization for extra performance --- Source/Core/Core/PowerPC/Jit64/Jit.cpp | 2 ++ Source/Core/Core/PowerPC/JitArm64/Jit.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Source/Core/Core/PowerPC/Jit64/Jit.cpp b/Source/Core/Core/PowerPC/Jit64/Jit.cpp index b0fb49ef12..8062bfe208 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit.cpp @@ -276,6 +276,8 @@ void Jit64::Init() m_const_pool.Init(AllocChildCodeSpace(constpool_size), constpool_size); ResetCodePtr(); + InitBLROptimization(); + m_stack_guard = nullptr; blocks.Init(); diff --git a/Source/Core/Core/PowerPC/JitArm64/Jit.cpp b/Source/Core/Core/PowerPC/JitArm64/Jit.cpp index f3da048442..ef7737d69c 100644 --- a/Source/Core/Core/PowerPC/JitArm64/Jit.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/Jit.cpp @@ -66,6 +66,8 @@ void JitArm64::Init() code_block.m_gpa = &js.gpa; code_block.m_fpa = &js.fpa; + InitBLROptimization(); + GenerateAsm(); ResetFreeMemoryRanges();