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