Revision: 13651
Author:   [email protected]
Date:     Wed Feb 13 03:02:39 2013
Log:      Fix verify heap problem when parallel sweeping is enabled.

BUG=

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

Modified:
 /branches/bleeding_edge/src/mark-compact.cc

=======================================
--- /branches/bleeding_edge/src/mark-compact.cc Tue Feb 12 06:33:08 2013
+++ /branches/bleeding_edge/src/mark-compact.cc Wed Feb 13 03:02:39 2013
@@ -3722,7 +3722,8 @@

void MarkCompactCollector::SweepSpace(PagedSpace* space, SweeperType sweeper) {
   space->set_was_swept_conservatively(sweeper == CONSERVATIVE ||
-                                      sweeper == LAZY_CONSERVATIVE);
+                                      sweeper == LAZY_CONSERVATIVE ||
+                                      sweeper == PARALLEL_CONSERVATIVE);
   space->ClearStats();

   PageIterator it(space);
@@ -3841,9 +3842,9 @@
 #endif
   SweeperType how_to_sweep =
       FLAG_lazy_sweeping ? LAZY_CONSERVATIVE : CONSERVATIVE;
+  if (AreSweeperThreadsActivated()) how_to_sweep = PARALLEL_CONSERVATIVE;
   if (FLAG_expose_gc) how_to_sweep = CONSERVATIVE;
   if (sweep_precisely_) how_to_sweep = PRECISE;
-  if (AreSweeperThreadsActivated()) how_to_sweep = PARALLEL_CONSERVATIVE;
   // Noncompacting collections simply sweep the spaces to clear the mark
   // bits and free the nonlive blocks (for old and map spaces).  We sweep
   // the map space last because freeing non-live maps overwrites them and
@@ -3860,7 +3861,7 @@

   EvacuateNewSpaceAndCandidates();

-  if (AreSweeperThreadsActivated()) {
+  if (how_to_sweep == PARALLEL_CONSERVATIVE) {
     // TODO(hpayer): The starting of the sweeper threads should be after
     // SweepSpace old data space.
     StartSweeperThreads();

--
--
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