mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-24 14:49:42 -06:00
JitArm64: Far Code Cache
This commit is contained in:
@ -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);
|
||||
|
@ -324,7 +324,6 @@ class ARM64XEmitter
|
||||
|
||||
private:
|
||||
u8* m_code;
|
||||
u8* m_startcode;
|
||||
u8* m_lastCacheFlushEnd;
|
||||
|
||||
void EncodeCompareBranchInst(u32 op, ARM64Reg Rt, const void* ptr);
|
||||
@ -365,14 +364,13 @@ protected:
|
||||
|
||||
public:
|
||||
ARM64XEmitter()
|
||||
: m_code(nullptr), m_startcode(nullptr), m_lastCacheFlushEnd(nullptr)
|
||||
: m_code(nullptr), m_lastCacheFlushEnd(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
ARM64XEmitter(u8* code_ptr) {
|
||||
m_code = code_ptr;
|
||||
m_lastCacheFlushEnd = code_ptr;
|
||||
m_startcode = code_ptr;
|
||||
}
|
||||
|
||||
virtual ~ARM64XEmitter()
|
||||
|
Reference in New Issue
Block a user