Bug 1212305: Also mark lazy link frames, r=jandem
authorHannes Verschore <hv1989@gmail.com>
Wed, 21 Oct 2015 17:48:01 +0200
changeset 302175 1e8eb9ccc07d897a65495f992e09c2341f20e987
parent 302174 e55d4c56c0ee3bdecef68c73e90ab299a9abbd44
child 302176 38f2959a97b20c3c871aef81d78297d4460a64af
push idunknown
push userunknown
push dateunknown
reviewersjandem
bugs1212305
milestone44.0a1
Bug 1212305: Also mark lazy link frames, r=jandem
js/src/jit/BaselineJIT.cpp
--- a/js/src/jit/BaselineJIT.cpp
+++ b/js/src/jit/BaselineJIT.cpp
@@ -1162,16 +1162,21 @@ jit::ToggleBaselineTraceLoggerEngine(JSR
 static void
 MarkActiveBaselineScripts(JSRuntime* rt, const JitActivationIterator& activation)
 {
     for (jit::JitFrameIterator iter(activation); !iter.done(); ++iter) {
         switch (iter.type()) {
           case JitFrame_BaselineJS:
             iter.script()->baselineScript()->setActive();
             break;
+          case JitFrame_LazyLink: {
+            LazyLinkExitFrameLayout* ll = iter.exitFrame()->as<LazyLinkExitFrameLayout>();
+            ScriptFromCalleeToken(ll->jsFrame()->calleeToken())->baselineScript()->setActive();
+            break;
+          }
           case JitFrame_Bailout:
           case JitFrame_IonJS: {
             // Keep the baseline script around, since bailouts from the ion
             // jitcode might need to re-enter into the baseline jitcode.
             iter.script()->baselineScript()->setActive();
             for (InlineFrameIterator inlineIter(rt, &iter); inlineIter.more(); ++inlineIter)
                 inlineIter.script()->baselineScript()->setActive();
             break;