Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 401ce404ac31d06e275a0fa7eaa5e57b883ff5b7..a2cff75973e4d764cb41e3ab847be38f364c8f2e 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -8404,11 +8404,14 @@ class AllocationSite: public Struct { |
enum PretenureDecision { |
kUndecided = 0, |
kDontTenure = 1, |
- kTenure = 2, |
- kZombie = 3, |
+ kMaybeTenure = 2, |
+ kTenure = 3, |
+ kZombie = 4, |
kLastPretenureDecisionValue = kZombie |
}; |
+ const char* PretenureDecisionName(PretenureDecision decision); |
+ |
DECL_ACCESSORS(transition_info, Object) |
// nested_site threads a list of sites that represent nested literals |
// walked in a particular order. So [[1, 2], 1, 2] will have one |
@@ -8430,8 +8433,8 @@ class AllocationSite: public Struct { |
class DoNotInlineBit: public BitField<bool, 29, 1> {}; |
// Bitfields for pretenure_data |
- class MementoFoundCountBits: public BitField<int, 0, 27> {}; |
- class PretenureDecisionBits: public BitField<PretenureDecision, 27, 2> {}; |
+ class MementoFoundCountBits: public BitField<int, 0, 26> {}; |
+ class PretenureDecisionBits: public BitField<PretenureDecision, 26, 3> {}; |
class DeoptDependentCodeBit: public BitField<bool, 29, 1> {}; |
STATIC_ASSERT(PretenureDecisionBits::kMax >= kLastPretenureDecisionValue); |
@@ -8494,7 +8497,11 @@ class AllocationSite: public Struct { |
inline void MarkZombie(); |
- inline bool DigestPretenuringFeedback(); |
+ inline bool MakePretenureDecision(PretenureDecision current_decision, |
+ double ratio, |
+ bool maximum_size_scavenge); |
+ |
+ inline bool DigestPretenuringFeedback(bool maximum_size_scavenge); |
ElementsKind GetElementsKind() { |
ASSERT(!SitePointsToLiteral()); |