Reviewers: Michael Starzinger,

Description:
Fix verify heap problem when parallel sweeping is enabled.

BUG=


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

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 2ca69b3ddc84e49f0a20ad6f49461deba3a333d4..934cb22056a0dc17480d17a623348ae67b28f805 100644
--- a/src/mark-compact.cc
+++ b/src/mark-compact.cc
@@ -3722,7 +3722,8 @@ void MarkCompactCollector::SweepInParallel(PagedSpace* space,

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);
@@ -3842,8 +3843,8 @@ void MarkCompactCollector::SweepSpaces() {
   SweeperType how_to_sweep =
       FLAG_lazy_sweeping ? LAZY_CONSERVATIVE : CONSERVATIVE;
   if (FLAG_expose_gc) how_to_sweep = CONSERVATIVE;
-  if (sweep_precisely_) how_to_sweep = PRECISE;
   if (AreSweeperThreadsActivated()) how_to_sweep = PARALLEL_CONSERVATIVE;
+  if (sweep_precisely_) how_to_sweep = PRECISE;
   // 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 @@ void MarkCompactCollector::SweepSpaces() {

   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