[Project64] Add CArmRegInfo::UnProtectGPR
This commit is contained in:
parent
d1a2e29f9b
commit
94c9cc1848
|
@ -1029,6 +1029,25 @@ void CArmRegInfo::ProtectGPR(uint32_t Reg)
|
|||
SetArmRegProtected(GetMipsRegMapLo(Reg), true);
|
||||
}
|
||||
|
||||
void CArmRegInfo::UnProtectGPR(uint32_t Reg)
|
||||
{
|
||||
if (m_InCallDirect)
|
||||
{
|
||||
CPU_Message("%s: in CallDirect", __FUNCTION__);
|
||||
g_Notify->BreakPoint(__FILE__, __LINE__);
|
||||
return;
|
||||
}
|
||||
if (IsUnknown(Reg) || IsConst(Reg))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (Is64Bit(Reg))
|
||||
{
|
||||
SetArmRegProtected(GetMipsRegMapHi(Reg), false);
|
||||
}
|
||||
SetArmRegProtected(GetMipsRegMapLo(Reg), false);
|
||||
}
|
||||
|
||||
const char * CArmRegInfo::VariableMapName(VARIABLE_MAPPED variable)
|
||||
{
|
||||
switch (variable)
|
||||
|
|
|
@ -63,6 +63,7 @@ public:
|
|||
ArmReg Map_Variable(VARIABLE_MAPPED variable, ArmReg Reg = Arm_Any);
|
||||
ArmReg GetVariableReg(VARIABLE_MAPPED variable) const;
|
||||
void ProtectGPR(uint32_t Reg);
|
||||
void UnProtectGPR(uint32_t Reg);
|
||||
void UnMap_AllFPRs();
|
||||
ArmReg UnMap_TempReg(bool TempMapping);
|
||||
void UnMap_GPR(uint32_t Reg, bool WriteBackValue);
|
||||
|
|
Loading…
Reference in New Issue