[Android] Get SubConstFromVariable to use temp registers
This commit is contained in:
parent
05e19ef139
commit
5e7b18700d
|
@ -853,10 +853,20 @@ void CArmOps::SubConstFromArmReg(ArmReg Reg, uint32_t Const)
|
||||||
|
|
||||||
void CArmOps::SubConstFromVariable(uint32_t Const, void * Variable, const char * VariableName)
|
void CArmOps::SubConstFromVariable(uint32_t Const, void * Variable, const char * VariableName)
|
||||||
{
|
{
|
||||||
MoveConstToArmReg(Arm_R1,(uint32_t)Variable,VariableName);
|
ArmReg TempReg1 = m_RegWorkingSet.Map_TempReg(Arm_Any, -1, false);
|
||||||
LoadArmRegPointerToArmReg(Arm_R2,Arm_R1,0);
|
ArmReg TempReg2 = m_RegWorkingSet.Map_TempReg(Arm_Any, -1, false);
|
||||||
SubConstFromArmReg(Arm_R2,Const);
|
if (TempReg1 == Arm_Unknown || TempReg2 == Arm_Unknown)
|
||||||
StoreArmRegToArmRegPointer(Arm_R2,Arm_R1,0);
|
{
|
||||||
|
g_Notify->BreakPoint(__FILE__,__LINE__);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
MoveConstToArmReg(TempReg1,(uint32_t)Variable,VariableName);
|
||||||
|
LoadArmRegPointerToArmReg(TempReg2,TempReg1,0);
|
||||||
|
SubConstFromArmReg(TempReg2,Const);
|
||||||
|
StoreArmRegToArmRegPointer(TempReg2,TempReg1,0);
|
||||||
|
|
||||||
|
m_RegWorkingSet.SetArmRegProtected(TempReg1,false);
|
||||||
|
m_RegWorkingSet.SetArmRegProtected(TempReg2,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CArmOps::TestVariable(uint32_t Const, void * Variable, const char * VariableName)
|
void CArmOps::TestVariable(uint32_t Const, void * Variable, const char * VariableName)
|
||||||
|
|
Loading…
Reference in New Issue