diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2015-08-15 13:50:36 -0500 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2015-08-15 13:50:36 -0500 |
| commit | 909ab23df56f6d0da90fdaa29f6f5300cc1cf178 (patch) | |
| tree | deb0e6bd88d35a8dca3b156f902c2c2af7e9654e /Source/Core | |
| parent | b5a58837925c1bfb69eccbcc3ee12383fdd07f5b (diff) | |
| parent | 9bfff0d461eb36e25fdc25432bdf8956dc2213b0 (diff) | |
Merge pull request #2853 from degasus/arm
JitArm64: Fix jit clearing
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Common/Arm64Emitter.cpp | 10 | ||||
| -rw-r--r-- | Source/Core/Common/Arm64Emitter.h | 1 | ||||
| -rw-r--r-- | Source/Core/Core/PowerPC/JitArm64/Jit.h | 6 |
3 files changed, 11 insertions, 6 deletions
diff --git a/Source/Core/Common/Arm64Emitter.cpp b/Source/Core/Common/Arm64Emitter.cpp index c693b71471..a94b2ee11f 100644 --- a/Source/Core/Common/Arm64Emitter.cpp +++ b/Source/Core/Common/Arm64Emitter.cpp @@ -268,11 +268,15 @@ bool IsImmLogical(uint64_t value, unsigned int width, unsigned int *n, unsigned return true; } -void ARM64XEmitter::SetCodePtr(u8* ptr) +void ARM64XEmitter::SetCodePtrUnsafe(u8* ptr) { m_code = ptr; - if (!m_lastCacheFlushEnd) - m_lastCacheFlushEnd = ptr; +} + +void ARM64XEmitter::SetCodePtr(u8* ptr) +{ + SetCodePtrUnsafe(ptr); + m_lastCacheFlushEnd = ptr; } const u8* ARM64XEmitter::GetCodePtr() const diff --git a/Source/Core/Common/Arm64Emitter.h b/Source/Core/Common/Arm64Emitter.h index c4ce6ab253..ec3da4cf64 100644 --- a/Source/Core/Common/Arm64Emitter.h +++ b/Source/Core/Common/Arm64Emitter.h @@ -378,6 +378,7 @@ public: } void SetCodePtr(u8* ptr); + void SetCodePtrUnsafe(u8* ptr); void ReserveCodeSpace(u32 bytes); const u8* AlignCode16(); const u8* AlignCodePage(); diff --git a/Source/Core/Core/PowerPC/JitArm64/Jit.h b/Source/Core/Core/PowerPC/JitArm64/Jit.h index d72e5aa9de..c20a1a9fea 100644 --- a/Source/Core/Core/PowerPC/JitArm64/Jit.h +++ b/Source/Core/Core/PowerPC/JitArm64/Jit.h @@ -227,13 +227,13 @@ private: void SwitchToFarCode() { nearcode = GetWritableCodePtr(); - SetCodePtr(farcode.GetWritableCodePtr()); + SetCodePtrUnsafe(farcode.GetWritableCodePtr()); } void SwitchToNearCode() { - farcode.SetCodePtr(GetWritableCodePtr()); - SetCodePtr(nearcode); + farcode.SetCodePtrUnsafe(GetWritableCodePtr()); + SetCodePtrUnsafe(nearcode); } // Dump a memory range of code |
