Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 6c2b5e2c5315f1288108c99f0ff663aa28386b66..1a59dcc1a212077206a35885c0c9353989aafacd 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -1587,7 +1587,10 @@ inline bool AllocationSite::DigestPretenuringFeedback() { |
static_cast<double>(found_count) / create_count : 0.0; |
PretenureFlag current_mode = GetPretenureMode(); |
- if (minimum_mementos_created) { |
+ // TODO(hpayer): Add an intermediate state MAYBE_TENURE which collects |
+ // more lifetime feedback for tenuring candidates. In the meantime, we |
+ // just allow transitions from undecided to tenured or not tenured. |
+ if (minimum_mementos_created && pretenure_decision() == kUndecided) { |
PretenureDecision result = ratio >= kPretenureRatio |
? kTenure |
: kDontTenure; |