Reviewers: Michael Starzinger,

Message:
We should move that piece as soon as we are convinced that parallel marking
works.

Description:
Reduces memory consumption for parallel marking.


BUG=


Please review this at https://chromiumcodereview.appspot.com/12177011/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/mark-compact.cc


Index: src/mark-compact.cc
diff --git a/src/mark-compact.cc b/src/mark-compact.cc
index bdd4785e3e729368ab1c6bf297e48457f9b5c6b4..2e7a12684e7787012ec667a2d57b1f0584269f11 100644
--- a/src/mark-compact.cc
+++ b/src/mark-compact.cc
@@ -3830,22 +3830,20 @@ void MarkCompactCollector::SweepSpaces() {
   SweepSpace(heap()->old_pointer_space(), how_to_sweep);
   SweepSpace(heap()->old_data_space(), how_to_sweep);

-  RemoveDeadInvalidatedCode();
-  SweepSpace(heap()->code_space(), PRECISE);
-
-  SweepSpace(heap()->cell_space(), PRECISE);
-
-  EvacuateNewSpaceAndCandidates();
-
   if (AreSweeperThreadsActivated()) {
-    // TODO(hpayer): The starting of the sweeper threads should be after
-    // SweepSpace old data space.
     StartSweeperThreads();
     if (FLAG_parallel_sweeping && !FLAG_concurrent_sweeping) {
       WaitUntilSweepingCompleted();
     }
   }

+  RemoveDeadInvalidatedCode();
+  SweepSpace(heap()->code_space(), PRECISE);
+
+  SweepSpace(heap()->cell_space(), PRECISE);
+
+  EvacuateNewSpaceAndCandidates();
+
   // ClearNonLiveTransitions depends on precise sweeping of map space to
   // detect whether unmarked map became dead in this collection or in one
   // of the previous ones.


--
--
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/groups/opt_out.


Reply via email to