|
|
@ -375,15 +375,11 @@ std::shared_ptr<Dynarmic::A64::Jit> ArmDynarmic64::MakeJit(Common::PageTable* pa |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
HaltReason ArmDynarmic64::RunThread(Kernel::KThread* thread) { |
|
|
HaltReason ArmDynarmic64::RunThread(Kernel::KThread* thread) { |
|
|
ScopedJitExecution sj(thread->GetOwnerProcess()); |
|
|
|
|
|
|
|
|
|
|
|
m_jit->ClearExclusiveState(); |
|
|
m_jit->ClearExclusiveState(); |
|
|
return TranslateHaltReason(m_jit->Run()); |
|
|
return TranslateHaltReason(m_jit->Run()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
HaltReason ArmDynarmic64::StepThread(Kernel::KThread* thread) { |
|
|
HaltReason ArmDynarmic64::StepThread(Kernel::KThread* thread) { |
|
|
ScopedJitExecution sj(thread->GetOwnerProcess()); |
|
|
|
|
|
|
|
|
|
|
|
m_jit->ClearExclusiveState(); |
|
|
m_jit->ClearExclusiveState(); |
|
|
return TranslateHaltReason(m_jit->Step()); |
|
|
return TranslateHaltReason(m_jit->Step()); |
|
|
} |
|
|
} |
|
|
@ -423,7 +419,6 @@ ArmDynarmic64::ArmDynarmic64(System& system, bool uses_wall_clock, Kernel::KProc |
|
|
auto& page_table = process->GetPageTable().GetBasePageTable(); |
|
|
auto& page_table = process->GetPageTable().GetBasePageTable(); |
|
|
auto& page_table_impl = page_table.GetImpl(); |
|
|
auto& page_table_impl = page_table.GetImpl(); |
|
|
m_jit = MakeJit(&page_table_impl, page_table.GetAddressSpaceWidth()); |
|
|
m_jit = MakeJit(&page_table_impl, page_table.GetAddressSpaceWidth()); |
|
|
ScopedJitExecution::RegisterHandler(); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
ArmDynarmic64::~ArmDynarmic64() = default; |
|
|
ArmDynarmic64::~ArmDynarmic64() = default; |
|
|
|