diff --git a/Source/Project64-core/N64System/Recompiler/Aarch64/Aarch64RegInfo.cpp b/Source/Project64-core/N64System/Recompiler/Aarch64/Aarch64RegInfo.cpp index f34129b1a..064dbf8f5 100644 --- a/Source/Project64-core/N64System/Recompiler/Aarch64/Aarch64RegInfo.cpp +++ b/Source/Project64-core/N64System/Recompiler/Aarch64/Aarch64RegInfo.cpp @@ -35,4 +35,9 @@ bool CAarch64RegInfo::operator!=(const CAarch64RegInfo & /*right*/) const return false; } +void CAarch64RegInfo::UnMap_GPR(uint32_t Reg, bool WriteBackValue) +{ + g_Notify->BreakPoint(__FILE__, __LINE__); +} + #endif diff --git a/Source/Project64-core/N64System/Recompiler/Aarch64/Aarch64RegInfo.h b/Source/Project64-core/N64System/Recompiler/Aarch64/Aarch64RegInfo.h index f6a29a288..6a7dd9a54 100644 --- a/Source/Project64-core/N64System/Recompiler/Aarch64/Aarch64RegInfo.h +++ b/Source/Project64-core/N64System/Recompiler/Aarch64/Aarch64RegInfo.h @@ -17,6 +17,8 @@ public: bool operator==(const CAarch64RegInfo & right) const; bool operator!=(const CAarch64RegInfo & right) const; + + void UnMap_GPR(uint32_t Reg, bool WriteBackValue); }; #endif diff --git a/Source/Project64-core/N64System/Recompiler/Arm/ArmRegInfo.cpp b/Source/Project64-core/N64System/Recompiler/Arm/ArmRegInfo.cpp index 2f928ada3..3e4a4516f 100644 --- a/Source/Project64-core/N64System/Recompiler/Arm/ArmRegInfo.cpp +++ b/Source/Project64-core/N64System/Recompiler/Arm/ArmRegInfo.cpp @@ -35,4 +35,9 @@ bool CArmRegInfo::operator!=(const CArmRegInfo & /*right*/) const return false; } +void CArmRegInfo::UnMap_GPR(uint32_t Reg, bool WriteBackValue) +{ + g_Notify->BreakPoint(__FILE__, __LINE__); +} + #endif diff --git a/Source/Project64-core/N64System/Recompiler/Arm/ArmRegInfo.h b/Source/Project64-core/N64System/Recompiler/Arm/ArmRegInfo.h index f61d86333..643246ee8 100644 --- a/Source/Project64-core/N64System/Recompiler/Arm/ArmRegInfo.h +++ b/Source/Project64-core/N64System/Recompiler/Arm/ArmRegInfo.h @@ -17,6 +17,8 @@ public: bool operator==(const CArmRegInfo & right) const; bool operator!=(const CArmRegInfo & right) const; + + void UnMap_GPR(uint32_t Reg, bool WriteBackValue); }; #endif diff --git a/Source/Project64-core/N64System/Recompiler/x64-86/x64RegInfo.cpp b/Source/Project64-core/N64System/Recompiler/x64-86/x64RegInfo.cpp index 43db7fcbe..66df842ef 100644 --- a/Source/Project64-core/N64System/Recompiler/x64-86/x64RegInfo.cpp +++ b/Source/Project64-core/N64System/Recompiler/x64-86/x64RegInfo.cpp @@ -35,4 +35,9 @@ bool CX64RegInfo::operator!=(const CX64RegInfo & /*right*/) const return false; } +void CX64RegInfo::UnMap_GPR(uint32_t Reg, bool WriteBackValue) +{ + g_Notify->BreakPoint(__FILE__, __LINE__); +} + #endif \ No newline at end of file diff --git a/Source/Project64-core/N64System/Recompiler/x64-86/x64RegInfo.h b/Source/Project64-core/N64System/Recompiler/x64-86/x64RegInfo.h index 97437bdd9..90d4221e4 100644 --- a/Source/Project64-core/N64System/Recompiler/x64-86/x64RegInfo.h +++ b/Source/Project64-core/N64System/Recompiler/x64-86/x64RegInfo.h @@ -18,6 +18,8 @@ public: bool operator==(const CX64RegInfo & right) const; bool operator!=(const CX64RegInfo & right) const; + + void UnMap_GPR(uint32_t Reg, bool WriteBackValue); }; #endif diff --git a/Source/Project64-core/N64System/Recompiler/x86/x86RegInfo.cpp b/Source/Project64-core/N64System/Recompiler/x86/x86RegInfo.cpp index baaa4e0bd..78111d633 100644 --- a/Source/Project64-core/N64System/Recompiler/x86/x86RegInfo.cpp +++ b/Source/Project64-core/N64System/Recompiler/x86/x86RegInfo.cpp @@ -440,7 +440,7 @@ void CX86RegInfo::Load_FPR_ToTop(int32_t Reg, int32_t RegToLoad, FPU_STATE Forma m_x86fpu_MappedTo[RegPos] = m_x86fpu_MappedTo[StackTopPos()]; m_x86fpu_State[RegPos] = m_x86fpu_State[StackTopPos()]; m_x86fpu_StateChanged[RegPos] = m_x86fpu_StateChanged[StackTopPos()]; - m_CodeBlock.Log(" regcache: allocate ST(%d) to %s", StackPos, CRegName::FPR[m_x86fpu_MappedTo[RegPos]]); + //m_CodeBlock.Log(" regcache: allocate ST(%d) to %s", StackPos, CRegName::FPR[m_x86fpu_MappedTo[RegPos]]); m_CodeBlock.Log(" regcache: allocate ST(0) to %s", CRegName::FPR[Reg]); m_Assembler.fxch(StackPos); diff --git a/Source/Project64-core/N64System/Recompiler/x86/x86ops.cpp b/Source/Project64-core/N64System/Recompiler/x86/x86ops.cpp index 191fc154e..2729e795b 100644 --- a/Source/Project64-core/N64System/Recompiler/x86/x86ops.cpp +++ b/Source/Project64-core/N64System/Recompiler/x86/x86ops.cpp @@ -170,9 +170,9 @@ void CX86Ops::CallThis(uint32_t ThisPtr, uint32_t FunctPtr, char * FunctName, ui #else void CX86Ops::CallThis(uint32_t ThisPtr, uint32_t FunctPtr, char * FunctName, uint32_t StackSize) { - PushImm32(ThisPtr); + push(ThisPtr); CallFunc(FunctPtr, FunctName); - AddConstToX86Reg(CX86Ops::asmjit::x86::esp, StackSize); + AddConstToX86Reg(asmjit::x86::esp, StackSize); } #endif