cpu: Protect against stack overflow caused by deep recursion (ryubing/ryujinx!111)

See merge request ryubing/ryujinx!111
This commit is contained in:
KeatonTheBot
2025-11-19 20:50:23 -06:00
committed by GreemDev
parent 6126e3dc1e
commit 39f55b2af3
10 changed files with 83 additions and 11 deletions

View File

@@ -186,6 +186,7 @@ namespace ARMeilleure.Translation
Statistics.StartTimer();
context.ResetCallDepth();
ulong nextAddr = func.Execute(Stubs.ContextWrapper, context);
Statistics.StopTimer(address);
@@ -260,6 +261,7 @@ namespace ARMeilleure.Translation
Logger.StartPass(PassName.Translation);
InstEmitFlowHelper.EmitCallDepthCheckAndIncrement(context, Const(address));
EmitSynchronization(context);
if (blocks[0].Address != address)