summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Arm64Emitter.cpp
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2015-07-15 08:41:58 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2015-07-15 08:41:58 -0500
commitc0f80ca52449ae02458302d4e99e451a802ca9fa (patch)
tree06bc489344131370c9e3a1f9bd315c13b54d568e /Source/Core/Common/Arm64Emitter.cpp
parent41bdaece5ef31a6fd31785ff79f6a54aa9728202 (diff)
parent6f38d1baa1d6c735ae12b571dd341cd431f6ba73 (diff)
Merge pull request #2736 from degasus/farcache
JitArm64: Farcache
Diffstat (limited to 'Source/Core/Common/Arm64Emitter.cpp')
-rw-r--r--Source/Core/Common/Arm64Emitter.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/Core/Common/Arm64Emitter.cpp b/Source/Core/Common/Arm64Emitter.cpp
index 6eaa4fdfca..f5b00de3cc 100644
--- a/Source/Core/Common/Arm64Emitter.cpp
+++ b/Source/Core/Common/Arm64Emitter.cpp
@@ -271,8 +271,8 @@ bool IsImmLogical(uint64_t value, unsigned int width, unsigned int *n, unsigned
void ARM64XEmitter::SetCodePtr(u8* ptr)
{
m_code = ptr;
- m_startcode = m_code;
- m_lastCacheFlushEnd = ptr;
+ if (!m_lastCacheFlushEnd)
+ m_lastCacheFlushEnd = ptr;
}
const u8* ARM64XEmitter::GetCodePtr() const
@@ -315,6 +315,9 @@ void ARM64XEmitter::FlushIcache()
void ARM64XEmitter::FlushIcacheSection(u8* start, u8* end)
{
+ if (start == end)
+ return;
+
#if defined(IOS)
// Header file says this is equivalent to: sys_icache_invalidate(start, end - start);
sys_cache_control(kCacheFunctionPrepareForExecution, start, end - start);