summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2015-08-15 13:50:36 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2015-08-15 13:50:36 -0500
commit909ab23df56f6d0da90fdaa29f6f5300cc1cf178 (patch)
treedeb0e6bd88d35a8dca3b156f902c2c2af7e9654e /Source/Core
parentb5a58837925c1bfb69eccbcc3ee12383fdd07f5b (diff)
parent9bfff0d461eb36e25fdc25432bdf8956dc2213b0 (diff)
Merge pull request #2853 from degasus/arm
JitArm64: Fix jit clearing
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Common/Arm64Emitter.cpp10
-rw-r--r--Source/Core/Common/Arm64Emitter.h1
-rw-r--r--Source/Core/Core/PowerPC/JitArm64/Jit.h6
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