Revision: 23137
Author:   [email protected]
Date:     Sat Aug 16 18:58:13 2014 UTC
Log:      During graph scheduling, traverse the roots in one go.

This makes the scheduler more than 30x faster on zlib.

BUG=
[email protected]

Review URL: https://codereview.chromium.org/474963002
http://code.google.com/p/v8/source/detail?r=23137

Modified:
 /branches/bleeding_edge/src/compiler/scheduler.cc

=======================================
--- /branches/bleeding_edge/src/compiler/scheduler.cc Wed Aug 13 12:38:22 2014 UTC +++ /branches/bleeding_edge/src/compiler/scheduler.cc Sat Aug 16 18:58:13 2014 UTC
@@ -621,13 +621,12 @@
   // Schedule: Places nodes in dominator block of all their uses.
   ScheduleLateNodeVisitor schedule_late_visitor(this);

-  for (NodeVectorIter i = schedule_root_nodes_.begin();
-       i != schedule_root_nodes_.end(); ++i) {
-    // TODO(mstarzinger): Make the scheduler eat less memory.
+  {
     Zone zone(zone_->isolate());
     GenericGraphVisit::Visit<ScheduleLateNodeVisitor,
                              NodeInputIterationTraits<Node> >(
-        graph_, &zone, *i, &schedule_late_visitor);
+ graph_, &zone, schedule_root_nodes_.begin(), schedule_root_nodes_.end(),
+        &schedule_late_visitor);
   }

// Add collected nodes for basic blocks to their blocks in the right order.

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to