| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index c484eabe9183401b1b3cce2e571efb85d66ae879..be0ecff57da0b093346e69a172b32ce1365343ca 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -12775,6 +12775,24 @@ void JSObject::TransitionElementsKind(Handle<JSObject> object,
|
| const double AllocationSite::kPretenureRatio = 0.60;
|
|
|
|
|
| +void AllocationSite::ResetPretenureDecision() {
|
| + dependent_code()->DeoptimizeDependentCodeGroup(
|
| + GetIsolate(),
|
| + DependentCode::kAllocationSiteTenuringChangedGroup);
|
| + set_pretenure_decision(Smi::FromInt(kUndecided));
|
| + set_memento_found_count(Smi::FromInt(0));
|
| + set_memento_create_count(Smi::FromInt(0));
|
| +}
|
| +
|
| +
|
| +PretenureFlag AllocationSite::GetPretenureMode() {
|
| + int mode = pretenure_decision()->value();
|
| + // Zombie objects "decide" to be untenured.
|
| + return (mode == kTenure && GetHeap()->GetPretenureMode() == TENURED)
|
| + ? TENURED : NOT_TENURED;
|
| +}
|
| +
|
| +
|
| bool AllocationSite::IsNestedSite() {
|
| ASSERT(FLAG_trace_track_allocation_sites);
|
| Object* current = GetHeap()->allocation_sites_list();
|
|
|