Bug 817493 - Address review comments (r=jonco)
authorBill McCloskey <wmccloskey@mozilla.com>
Wed, 05 Dec 2012 13:21:00 -0800
changeset 115115 d0b061a3f7190a57a5654abae052d89068faa3d6
parent 115114 1ea358b798fe663e89a0e77f07f598f345b194ea
child 115116 d44b6f0b2cf78a702830662837f117375f21f8f0
push id23973
push useremorley@mozilla.com
push dateThu, 06 Dec 2012 10:04:18 +0000
treeherdermozilla-central@ddda5400c826 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjonco
bugs817493
milestone20.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 817493 - Address review comments (r=jonco)
js/src/gc/FindSCCs-inl.h
--- a/js/src/gc/FindSCCs-inl.h
+++ b/js/src/gc/FindSCCs-inl.h
@@ -60,39 +60,31 @@ ComponentFinder<Node>::processNode(Node 
     cur = v;
     cur->findOutgoingEdges(*this);
     cur = old;
 
     if (stackFull)
         return;
 
     if (v->gcLowLink == v->gcDiscoveryTime) {
+        Node *nextComponent = firstComponent;
         Node *w;
         do {
             JS_ASSERT(stack);
             w = stack;
             stack = w->gcNextGraphNode;
 
             /*
-             * Record the elements of a component by setting all their gcLowLink
-             * fields to the same value.
-             */
-            w->gcLowLink = v->gcDiscoveryTime;
-
-            /*
              * Record that the element is no longer on the stack by setting the
              * discovery time to a special value that's not Undefined.
              */
             w->gcDiscoveryTime = Finished;
 
             /* Figure out which group we're in. */
-            if (firstComponent && firstComponent->gcLowLink == w->gcLowLink)
-                w->gcNextGraphComponent = firstComponent->gcNextGraphComponent;
-            else
-                w->gcNextGraphComponent = firstComponent;
+            w->gcNextGraphComponent = nextComponent;
 
             /*
              * Prepend the component to the beginning of the output list to
              * reverse the list and achieve the desired order.
              */
             w->gcNextGraphNode = firstComponent;
             firstComponent = w;
         } while (w != v);