From 5c0a6e233bc57fca8d7fdffd19f94366f28ff72e Mon Sep 17 00:00:00 2001 From: Kannan Vijayan Date: Tue, 8 May 2012 10:47:31 -0400 Subject: [PATCH] Bug 743129 - Clear ionReturnOverride in HandleException. (r=dvander) --- js/src/ion/IonFrames.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/js/src/ion/IonFrames.cpp b/js/src/ion/IonFrames.cpp index 3bc5a48d068..d346f980bf5 100644 --- a/js/src/ion/IonFrames.cpp +++ b/js/src/ion/IonFrames.cpp @@ -357,6 +357,13 @@ ion::HandleException(ResumeFromException *rfe) ++iter; } + // Clear any Ion return override that's been set. + // This may happen if a callVM function causes an invalidation (setting the + // override), and then fails, bypassing the bailout handlers that would + // otherwise clear the return override. + if (cx->runtime->hasIonReturnOverride()) + cx->runtime->takeIonReturnOverride(); + rfe->stackPointer = iter.fp(); }