From ab0033de15278dbeb1d557f7ea7ca9283cbb9412 Mon Sep 17 00:00:00 2001 From: "hpayer@chromium.org" Date: Thu, 15 May 2014 11:09:22 +0000 Subject: [PATCH] Only allow allocation site lifetime transitions from undicided to tenure or don't tenure. BUG= R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/289973002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/objects-inl.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/objects-inl.h b/src/objects-inl.h index 6c2b5e2..1a59dcc 100644 --- a/src/objects-inl.h +++ b/src/objects-inl.h @@ -1587,7 +1587,10 @@ inline bool AllocationSite::DigestPretenuringFeedback() { static_cast(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; -- 2.7.4