| Index: src/heap/incremental-marking.h
|
| diff --git a/src/heap/incremental-marking.h b/src/heap/incremental-marking.h
|
| index 56c5a24c2ceb732ab90bc1865da5bf184e5f46f8..63a708b69b208cd07789b12d3217c958a0558928 100644
|
| --- a/src/heap/incremental-marking.h
|
| +++ b/src/heap/incremental-marking.h
|
| @@ -36,6 +36,13 @@ class IncrementalMarking {
|
| bool should_hurry() { return should_hurry_; }
|
| void set_should_hurry(bool val) { should_hurry_ = val; }
|
|
|
| + bool weak_closure_was_overapproximated() const {
|
| + return weak_closure_was_overapproximated_;
|
| + }
|
| + void set_weak_closure_was_overapproximated(bool val) {
|
| + weak_closure_was_overapproximated_ = val;
|
| + }
|
| +
|
| inline bool IsStopped() { return state() == STOPPED; }
|
|
|
| INLINE(bool IsMarking()) { return state() >= MARKING; }
|
| @@ -102,6 +109,7 @@ class IncrementalMarking {
|
| inline void RestartIfNotMarking() {
|
| if (state_ == COMPLETE) {
|
| state_ = MARKING;
|
| + weak_closure_was_overapproximated_ = false;
|
| if (FLAG_trace_incremental_marking) {
|
| PrintF("[IncrementalMarking] Restarting (new grey objects)\n");
|
| }
|
| @@ -228,6 +236,8 @@ class IncrementalMarking {
|
|
|
| bool was_activated_;
|
|
|
| + bool weak_closure_was_overapproximated_;
|
| +
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking);
|
| };
|
| }
|
|
|