Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(470)

Unified Diff: src/mark-compact.h

Issue 382793002: Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/isolate.cc ('k') | src/mark-compact.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/mark-compact.h
diff --git a/src/mark-compact.h b/src/mark-compact.h
index bcbc05606190cb7efb149e298dfd3893ef8ddf28..65167799ebc0afadb2741daeea83183ae78704cb 100644
--- a/src/mark-compact.h
+++ b/src/mark-compact.h
@@ -570,7 +570,6 @@ class MarkCompactCollector {
void EnableCodeFlushing(bool enable);
enum SweeperType {
- CONSERVATIVE,
PARALLEL_CONSERVATIVE,
CONCURRENT_CONSERVATIVE,
PRECISE
@@ -665,18 +664,19 @@ class MarkCompactCollector {
// then the whole given space is swept.
int SweepInParallel(PagedSpace* space, int required_freed_bytes);
- void WaitUntilSweepingCompleted();
+ void EnsureSweepingCompleted();
+ // If sweeper threads are not active this method will return true. If
+ // this is a latency issue we should be smarter here. Otherwise, it will
+ // return true if the sweeper threads are done processing the pages.
bool IsSweepingCompleted();
void RefillFreeList(PagedSpace* space);
bool AreSweeperThreadsActivated();
- // If a paged space is passed in, this method checks if the given space is
- // swept concurrently. Otherwise, this method checks if concurrent sweeping
- // is in progress right now on any space.
- bool IsConcurrentSweepingInProgress(PagedSpace* space = NULL);
+ // Checks if sweeping is in progress right now on any space.
+ bool sweeping_in_progress() { return sweeping_in_progress_; }
void set_sequential_sweeping(bool sequential_sweeping) {
sequential_sweeping_ = sequential_sweeping;
@@ -739,7 +739,7 @@ class MarkCompactCollector {
bool was_marked_incrementally_;
// True if concurrent or parallel sweeping is currently in progress.
- bool sweeping_pending_;
+ bool sweeping_in_progress_;
base::Semaphore pending_sweeper_jobs_semaphore_;
« no previous file with comments | « src/isolate.cc ('k') | src/mark-compact.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698