Index: src/mark-compact.cc |
diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
index 8846f19bb0dbaeec80192bf9709b3e3f1029cf2c..194663a92c24a2d7322754a5e2de8480f4ca8651 100644 |
--- a/src/mark-compact.cc |
+++ b/src/mark-compact.cc |
@@ -647,8 +647,9 @@ bool MarkCompactCollector::AreSweeperThreadsActivated() { |
} |
-bool MarkCompactCollector::IsConcurrentSweepingInProgress() { |
- return sweeping_pending_; |
+bool MarkCompactCollector::IsConcurrentSweepingInProgress(PagedSpace* space) { |
+ return (space == NULL || space->was_swept_concurrently()) && |
+ sweeping_pending_; |
} |
@@ -4081,6 +4082,7 @@ void MarkCompactCollector::SweepSpace(PagedSpace* space, SweeperType sweeper) { |
space->set_was_swept_conservatively(sweeper == CONSERVATIVE || |
sweeper == PARALLEL_CONSERVATIVE || |
sweeper == CONCURRENT_CONSERVATIVE); |
+ space->set_was_swept_concurrently(sweeper == CONCURRENT_CONSERVATIVE); |
space->ClearStats(); |
// We defensively initialize end_of_unswept_pages_ here with the first page |