Bug 978811 - Fix isFakeExitFrame to return true for entry frames. r=nbp, a=1.2.x+
authorJan de Mooij <jdemooij@mozilla.com>
Tue, 20 May 2014 08:34:25 -0400
changeset 157140 7bf17049d531a23d3351920a28d3f8972af431af
parent 157139 53e59fb3f5a435b9ce934ab0f3836a6e66bfbfe4
child 157141 f19a72c9d1c8b395c148596206d226a56bd6c10a
push id512
push userryanvm@gmail.com
push dateTue, 27 May 2014 14:05:54 +0000
reviewersnbp, 1.2.x
bugs978811
milestone26.0
Bug 978811 - Fix isFakeExitFrame to return true for entry frames. r=nbp, a=1.2.x+
js/src/jit/IonFrames-inl.h
--- a/js/src/jit/IonFrames-inl.h
+++ b/js/src/jit/IonFrames-inl.h
@@ -48,17 +48,18 @@ IonFrameIterator::prevType() const
     return current->prevType();
 }
 
 inline bool
 IonFrameIterator::isFakeExitFrame() const
 {
     bool res = (prevType() == IonFrame_Unwound_Rectifier ||
                 prevType() == IonFrame_Unwound_OptimizedJS ||
-                prevType() == IonFrame_Unwound_BaselineStub);
+                prevType() == IonFrame_Unwound_BaselineStub ||
+                (prevType() == IonFrame_Entry && type() == IonFrame_Exit));
     JS_ASSERT_IF(res, type() == IonFrame_Exit || type() == IonFrame_BaselineJS);
     return res;
 }
 
 inline IonExitFrameLayout *
 IonFrameIterator::exitFrame() const
 {
     JS_ASSERT(type() == IonFrame_Exit);