[INFER] Fix overly aggressive assert, bug 609899.
authorBrian Hackett <bhackett1024@gmail.com>
Mon, 06 Dec 2010 15:54:16 -0800
changeset 74636 9b8ceaa548c2a0e8df8be656bc914f676ec0555e
parent 74635 ac0a42d57813a72d82e5c493b4ad1a06ad12386c
child 74637 662b71c3ff24ee360f02391922feec4a52b71266
push id2
push userbsmedberg@mozilla.com
push dateFri, 19 Aug 2011 14:38:13 +0000
bugs609899
milestone2.0b8pre
[INFER] Fix overly aggressive assert, bug 609899.
js/src/jsanalyze.cpp
--- a/js/src/jsanalyze.cpp
+++ b/js/src/jsanalyze.cpp
@@ -930,17 +930,17 @@ LifetimeScript::analyze(JSContext *cx, a
             if (targetOffset < offset) {
                 JSOp nop = JSOp(script->code[targetOffset]);
                 if (nop == JSOP_GOTO || nop == JSOP_GOTOX) {
                     /* This is a continue, short circuit the backwards goto. */
                     jsbytecode *target = script->code + targetOffset;
                     targetOffset = targetOffset + GetJumpOffset(target, target);
                 } else {
                     /* This is a loop back edge, no lifetime to pull in yet. */
-                    JS_ASSERT(nop == JSOP_TRACE);
+                    JS_ASSERT(nop == JSOP_TRACE || nop == JSOP_NOTRACE);
                     codeArray[targetOffset].loopBackedge = offset;
                     break;
                 }
             }
             for (unsigned i = 0; i < savedCount; i++) {
                 JS_ASSERT(!saved[i]->lifetime && saved[i]->saved);
                 if (!saved[i]->savedEnd) {
                     /*