Browse Source
Merge pull request #3364 from lioncash/thread
core/arm: Remove usage of global GetCurrentThread()
pull/15/merge
bunnei
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
4 additions and
2 deletions
-
src/core/arm/dynarmic/arm_dynarmic.cpp
-
src/core/arm/unicorn/arm_unicorn.cpp
|
|
|
@ -15,6 +15,7 @@ |
|
|
|
#include "core/core_timing_util.h"
|
|
|
|
#include "core/gdbstub/gdbstub.h"
|
|
|
|
#include "core/hle/kernel/process.h"
|
|
|
|
#include "core/hle/kernel/scheduler.h"
|
|
|
|
#include "core/hle/kernel/svc.h"
|
|
|
|
#include "core/hle/kernel/vm_manager.h"
|
|
|
|
#include "core/memory.h"
|
|
|
|
@ -87,7 +88,7 @@ public: |
|
|
|
if (GDBStub::IsServerEnabled()) { |
|
|
|
parent.jit->HaltExecution(); |
|
|
|
parent.SetPC(pc); |
|
|
|
Kernel::Thread* thread = Kernel::GetCurrentThread(); |
|
|
|
Kernel::Thread* const thread = parent.system.CurrentScheduler().GetCurrentThread(); |
|
|
|
parent.SaveContext(thread->GetContext()); |
|
|
|
GDBStub::Break(); |
|
|
|
GDBStub::SendTrap(thread, 5); |
|
|
|
|
|
|
|
@ -9,6 +9,7 @@ |
|
|
|
#include "core/arm/unicorn/arm_unicorn.h"
|
|
|
|
#include "core/core.h"
|
|
|
|
#include "core/core_timing.h"
|
|
|
|
#include "core/hle/kernel/scheduler.h"
|
|
|
|
#include "core/hle/kernel/svc.h"
|
|
|
|
|
|
|
|
namespace Core { |
|
|
|
@ -177,7 +178,7 @@ void ARM_Unicorn::ExecuteInstructions(std::size_t num_instructions) { |
|
|
|
uc_reg_write(uc, UC_ARM64_REG_PC, &last_bkpt.address); |
|
|
|
} |
|
|
|
|
|
|
|
Kernel::Thread* thread = Kernel::GetCurrentThread(); |
|
|
|
Kernel::Thread* const thread = system.CurrentScheduler().GetCurrentThread(); |
|
|
|
SaveContext(thread->GetContext()); |
|
|
|
if (last_bkpt_hit || GDBStub::IsMemoryBreak() || GDBStub::GetCpuStepFlag()) { |
|
|
|
last_bkpt_hit = false; |
|
|
|
|