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