Core: CX86RegInfo::UnMap_X86reg should fail on a protected register
This commit is contained in:
parent
79f7aa9927
commit
4071b52810
|
@ -1808,16 +1808,17 @@ bool CX86RegInfo::UnMap_X86reg(const asmjit::x86::Gp & Reg)
|
|||
}
|
||||
}
|
||||
}
|
||||
else if (GetX86Mapped(RegIndex) == CX86RegInfo::Temp_Mapped)
|
||||
else if (GetX86Protected(RegIndex))
|
||||
{
|
||||
if (!GetX86Protected(RegIndex))
|
||||
return false;
|
||||
}
|
||||
else if (GetX86Mapped(RegIndex) == CX86RegInfo::Temp_Mapped)
|
||||
{
|
||||
m_CodeBlock.Log(" regcache: unallocate %s from temp storage", CX86Ops::x86_Name(Reg));
|
||||
SetX86Mapped(RegIndex, NotMapped);
|
||||
SetX86Protected(RegIndex, false);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if (GetX86Mapped(RegIndex) == CX86RegInfo::Stack_Mapped)
|
||||
{
|
||||
m_CodeBlock.Log(" regcache: unallocate %s from memory stack", CX86Ops::x86_Name(Reg));
|
||||
|
|
Loading…
Reference in New Issue