forked from Mirror/Ryujinx
Fix host stack overflow caused by some recursive guest methods. (#1528)
* Fix host stack overflow caused by some recursive guest methods. * PPTC flag up. * Address comments. Co-authored-by: gdkchan <gab.dark.100@gmail.com>
This commit is contained in:
parent
f60033e0aa
commit
66b799a6e4
2 changed files with 4 additions and 2 deletions
|
@ -144,7 +144,9 @@ namespace ARMeilleure.Instructions
|
||||||
|
|
||||||
public static void EmitCall(ArmEmitterContext context, ulong immediate)
|
public static void EmitCall(ArmEmitterContext context, ulong immediate)
|
||||||
{
|
{
|
||||||
EmitJumpTableBranch(context, Const(immediate));
|
bool isRecursive = immediate == (ulong)context.BaseAddress;
|
||||||
|
|
||||||
|
EmitJumpTableBranch(context, Const(immediate), isRecursive);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void EmitNativeCall(ArmEmitterContext context, Operand nativeContextPtr, Operand funcAddr, bool isJump = false)
|
private static void EmitNativeCall(ArmEmitterContext context, Operand nativeContextPtr, Operand funcAddr, bool isJump = false)
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace ARMeilleure.Translation.PTC
|
||||||
{
|
{
|
||||||
private const string HeaderMagic = "PTChd";
|
private const string HeaderMagic = "PTChd";
|
||||||
|
|
||||||
private const int InternalVersion = 1549; //! To be incremented manually for each change to the ARMeilleure project.
|
private const int InternalVersion = 1528; //! To be incremented manually for each change to the ARMeilleure project.
|
||||||
|
|
||||||
private const string ActualDir = "0";
|
private const string ActualDir = "0";
|
||||||
private const string BackupDir = "1";
|
private const string BackupDir = "1";
|
||||||
|
|
Loading…
Reference in a new issue