| Index: src/heap/gc-idle-time-handler.cc
|
| diff --git a/src/heap/gc-idle-time-handler.cc b/src/heap/gc-idle-time-handler.cc
|
| index ff2a559dd539dae2dc3ce3b1c09477243ba6f704..a1c9c7f23225a96280c98f914934c033146417ae 100644
|
| --- a/src/heap/gc-idle-time-handler.cc
|
| +++ b/src/heap/gc-idle-time-handler.cc
|
| @@ -16,6 +16,7 @@ const size_t GCIdleTimeHandler::kMinTimeForFinalizeSweeping = 100;
|
| const int GCIdleTimeHandler::kMaxMarkCompactsInIdleRound = 7;
|
| const int GCIdleTimeHandler::kIdleScavengeThreshold = 5;
|
| const double GCIdleTimeHandler::kHighContextDisposalRate = 100;
|
| +const size_t GCIdleTimeHandler::kMinTimeForOverApproximatingWeakClosureInMs = 1;
|
|
|
|
|
| void GCIdleTimeAction::Print() {
|
| @@ -176,6 +177,13 @@ bool GCIdleTimeHandler::ShouldDoFinalIncrementalMarkCompact(
|
| }
|
|
|
|
|
| +bool GCIdleTimeHandler::ShouldDoOverApproximateWeakClosure(
|
| + size_t idle_time_in_ms) {
|
| + // TODO(jochen): Estimate the time it will take to build the object groups.
|
| + return idle_time_in_ms >= kMinTimeForOverApproximatingWeakClosureInMs;
|
| +}
|
| +
|
| +
|
| // The following logic is implemented by the controller:
|
| // (1) If we don't have any idle time, do nothing, unless a context was
|
| // disposed, incremental marking is stopped, and the heap is small. Then do
|
|
|