From bd2d5b507af42b6e6742ffb935521cb2cc767a68 Mon Sep 17 00:00:00 2001 From: zilmar Date: Sun, 2 Oct 2016 07:05:37 +1100 Subject: [PATCH] [Android] in CArmRecompilerOps::CompileInterpterCall load the variable after BeforeCallDirect --- .../N64System/Recompiler/Arm/ArmRecompilerOps.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Project64-core/N64System/Recompiler/Arm/ArmRecompilerOps.cpp b/Source/Project64-core/N64System/Recompiler/Arm/ArmRecompilerOps.cpp index c6b58e3bf..6a8353686 100644 --- a/Source/Project64-core/N64System/Recompiler/Arm/ArmRecompilerOps.cpp +++ b/Source/Project64-core/N64System/Recompiler/Arm/ArmRecompilerOps.cpp @@ -4490,8 +4490,10 @@ void CArmRecompilerOps::UpdateCounters(CRegInfo & RegSet, bool CheckTimer, bool void CArmRecompilerOps::CompileInterpterCall(void * Function, const char * FunctionName) { - MoveConstToVariable(m_Opcode.Hex, (void *)&R4300iOp::m_Opcode.Hex, "&R4300iOp::m_Opcode.Hex"); m_RegWorkingSet.BeforeCallDirect(); + MoveConstToArmReg(Arm_R1, m_Opcode.Hex); + MoveConstToArmReg(Arm_R2, (uint32_t)(void *)&R4300iOp::m_Opcode.Hex, "&R4300iOp::m_Opcode.Hex"); + StoreArmRegToArmRegPointer(Arm_R1, Arm_R2, 0); CallFunction(Function, FunctionName); m_RegWorkingSet.AfterCallDirect(); }