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

Unified Diff: src/incremental-marking.h

Issue 6970004: Introduce lazy sweeping. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/gc
Patch Set: Created 9 years, 7 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
Index: src/incremental-marking.h
diff --git a/src/incremental-marking.h b/src/incremental-marking.h
index 2681be017c30377da22c72daf4dcb0602f587e98..7bd99bf7dc0e324c63f4bfb5270b79bb1ed6a0db 100644
--- a/src/incremental-marking.h
+++ b/src/incremental-marking.h
@@ -42,6 +42,7 @@ class IncrementalMarking : public AllStatic {
public:
enum State {
STOPPED,
+ SWEEPING,
MARKING,
COMPLETE
};
@@ -57,7 +58,9 @@ class IncrementalMarking : public AllStatic {
inline bool IsStopped() { return state() == STOPPED; }
- inline bool IsMarking() { return state() == MARKING; }
+ inline bool IsMarking() { return state() >= MARKING; }
+
+ inline bool IsMarkingIncomplete() { return state() == MARKING; }
bool WorthActivating();
@@ -73,6 +76,8 @@ class IncrementalMarking : public AllStatic {
void Finalize();
+ void Abort();
+
void MarkingComplete();
// It's hard to know how much work the incremental marker should do to make
@@ -195,6 +200,16 @@ class IncrementalMarking : public AllStatic {
allocation_marking_factor_ = kInitialAllocationMarkingFactor;
}
+ static void ClearMarkbits(PagedSpace* space);
+ void ClearMarkbits();
+
+#ifdef DEBUG
+ void VerifyMarkbitsAreClean();
+ static void VerifyMarkbitsAreClean(PagedSpace* space);
+#endif
+
+ void StartMarking();
+
Heap* heap_;
« no previous file with comments | « src/heap.cc ('k') | src/incremental-marking.cc » ('j') | src/incremental-marking.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698