diff options
Diffstat (limited to 'src/Runtime.Base/src/System/Runtime/ExceptionHandling.cs')
-rw-r--r-- | src/Runtime.Base/src/System/Runtime/ExceptionHandling.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Runtime.Base/src/System/Runtime/ExceptionHandling.cs b/src/Runtime.Base/src/System/Runtime/ExceptionHandling.cs index 4d3cdf674..b4e58dbad 100644 --- a/src/Runtime.Base/src/System/Runtime/ExceptionHandling.cs +++ b/src/Runtime.Base/src/System/Runtime/ExceptionHandling.cs @@ -728,7 +728,11 @@ namespace System.Runtime Debug.Assert(isValid, "second-pass EH unwind failed unexpectedly"); DebugScanCallFrame(exInfo._passNumber, frameIter.ControlPC, frameIter.SP); - if (frameIter.SP == handlingFrameSP) + if ((frameIter.SP == handlingFrameSP) +#if ARM64 + && (frameIter.ControlPC == prevControlPC) +#endif + ) { // invoke only a partial second-pass here... InvokeSecondPass(ref exInfo, startIdx, catchingTryRegionIdx); |