summaryrefslogtreecommitdiffstats
path: root/src/core/arm/dynarmic/arm_dynarmic_64.cpp
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2024-01-01 20:56:16 +0100
committerGitHub <noreply@github.com>2024-01-01 20:56:16 +0100
commitf0f92edbd0a78abda819251ddc325da4acc14216 (patch)
tree6a23c1be26148c4137a6f67ebdf926a3f82ce47f /src/core/arm/dynarmic/arm_dynarmic_64.cpp
parentMerge pull request #12501 from liamwhite/ips (diff)
parentheap_tracker: use linear-time mapping eviction (diff)
downloadyuzu-f0f92edbd0a78abda819251ddc325da4acc14216.tar
yuzu-f0f92edbd0a78abda819251ddc325da4acc14216.tar.gz
yuzu-f0f92edbd0a78abda819251ddc325da4acc14216.tar.bz2
yuzu-f0f92edbd0a78abda819251ddc325da4acc14216.tar.lz
yuzu-f0f92edbd0a78abda819251ddc325da4acc14216.tar.xz
yuzu-f0f92edbd0a78abda819251ddc325da4acc14216.tar.zst
yuzu-f0f92edbd0a78abda819251ddc325da4acc14216.zip
Diffstat (limited to 'src/core/arm/dynarmic/arm_dynarmic_64.cpp')
-rw-r--r--src/core/arm/dynarmic/arm_dynarmic_64.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
index f351b13d9..c811c8ad5 100644
--- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp
+++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp
@@ -362,11 +362,15 @@ std::shared_ptr<Dynarmic::A64::Jit> ArmDynarmic64::MakeJit(Common::PageTable* pa
}
HaltReason ArmDynarmic64::RunThread(Kernel::KThread* thread) {
+ ScopedJitExecution sj(thread->GetOwnerProcess());
+
m_jit->ClearExclusiveState();
return TranslateHaltReason(m_jit->Run());
}
HaltReason ArmDynarmic64::StepThread(Kernel::KThread* thread) {
+ ScopedJitExecution sj(thread->GetOwnerProcess());
+
m_jit->ClearExclusiveState();
return TranslateHaltReason(m_jit->Step());
}
@@ -406,6 +410,7 @@ ArmDynarmic64::ArmDynarmic64(System& system, bool uses_wall_clock, Kernel::KProc
auto& page_table = process->GetPageTable().GetBasePageTable();
auto& page_table_impl = page_table.GetImpl();
m_jit = MakeJit(&page_table_impl, page_table.GetAddressSpaceWidth());
+ ScopedJitExecution::RegisterHandler();
}
ArmDynarmic64::~ArmDynarmic64() = default;