| Index: src/heap.cc
|
| diff --git a/src/heap.cc b/src/heap.cc
|
| index f71d9cc8f836e2f13f1bcb9fc35df5f1d03a649e..2aa699946e5323be62e086456a68ef643dfb900c 100644
|
| --- a/src/heap.cc
|
| +++ b/src/heap.cc
|
| @@ -952,6 +952,13 @@ bool Heap::PerformGarbageCollection(GarbageCollector collector,
|
| PrintPID("Limited new space size due to high promotion rate: %d MB\n",
|
| new_space_.InitialCapacity() / MB);
|
| }
|
| + // Support for global pre-tenuring uses the high promotion mode as a
|
| + // heuristic indicator of whether to pretenure or not, we trigger
|
| + // deoptimization here to take advantage of pre-tenuring as soon as
|
| + // possible.
|
| + if (FLAG_pretenure_literals) {
|
| + isolate_->stack_guard()->FullDeopt();
|
| + }
|
| } else if (new_space_high_promotion_mode_active_ &&
|
| IsStableOrDecreasingSurvivalTrend() &&
|
| IsLowSurvivalRate()) {
|
|
|