diff options
Diffstat (limited to 'Source/Core/Common/Arm64Emitter.cpp')
| -rw-r--r-- | Source/Core/Common/Arm64Emitter.cpp | 7 |
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); |
