| 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());
|
|
|