JitArm64: Fix jit clearing
We have to reset m_lastCacheFlushEnd on clearing.
This commit is contained in:
parent
70e91af405
commit
9bfff0d461
|
@ -268,10 +268,14 @@ bool IsImmLogical(uint64_t value, unsigned int width, unsigned int *n, unsigned
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ARM64XEmitter::SetCodePtr(u8* ptr)
|
void ARM64XEmitter::SetCodePtrUnsafe(u8* ptr)
|
||||||
{
|
{
|
||||||
m_code = ptr;
|
m_code = ptr;
|
||||||
if (!m_lastCacheFlushEnd)
|
}
|
||||||
|
|
||||||
|
void ARM64XEmitter::SetCodePtr(u8* ptr)
|
||||||
|
{
|
||||||
|
SetCodePtrUnsafe(ptr);
|
||||||
m_lastCacheFlushEnd = ptr;
|
m_lastCacheFlushEnd = ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -378,6 +378,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetCodePtr(u8* ptr);
|
void SetCodePtr(u8* ptr);
|
||||||
|
void SetCodePtrUnsafe(u8* ptr);
|
||||||
void ReserveCodeSpace(u32 bytes);
|
void ReserveCodeSpace(u32 bytes);
|
||||||
const u8* AlignCode16();
|
const u8* AlignCode16();
|
||||||
const u8* AlignCodePage();
|
const u8* AlignCodePage();
|
||||||
|
|
|
@ -227,13 +227,13 @@ private:
|
||||||
void SwitchToFarCode()
|
void SwitchToFarCode()
|
||||||
{
|
{
|
||||||
nearcode = GetWritableCodePtr();
|
nearcode = GetWritableCodePtr();
|
||||||
SetCodePtr(farcode.GetWritableCodePtr());
|
SetCodePtrUnsafe(farcode.GetWritableCodePtr());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SwitchToNearCode()
|
void SwitchToNearCode()
|
||||||
{
|
{
|
||||||
farcode.SetCodePtr(GetWritableCodePtr());
|
farcode.SetCodePtrUnsafe(GetWritableCodePtr());
|
||||||
SetCodePtr(nearcode);
|
SetCodePtrUnsafe(nearcode);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dump a memory range of code
|
// Dump a memory range of code
|
||||||
|
|
Loading…
Reference in New Issue