| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index f6ec456bd4ddebf0349bf77a6b235aae48c3d784..0ef99f864ad0e400cde16a9b33d7642663639e5d 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -12596,6 +12596,7 @@ bool AllocationSite::IsNestedSite() {
|
|
|
| void AllocationSite::DigestTransitionFeedback(Handle<AllocationSite> site,
|
| ElementsKind to_kind) {
|
| + DCHECK(FLAG_allocation_site_transitioning);
|
| Isolate* isolate = site->GetIsolate();
|
|
|
| if (site->SitePointsToLiteral() && site->transition_info()->IsJSArray()) {
|
| @@ -12651,6 +12652,11 @@ void AllocationSite::DigestTransitionFeedback(Handle<AllocationSite> site,
|
| void AllocationSite::AddDependentCompilationInfo(Handle<AllocationSite> site,
|
| Reason reason,
|
| CompilationInfo* info) {
|
| + if ((!FLAG_allocation_site_pretenuring && reason == TENURING) ||
|
| + (!FLAG_allocation_site_transitioning && reason == TRANSITIONS)) {
|
| + return;
|
| + }
|
| +
|
| DependentCode::DependencyGroup group = site->ToDependencyGroup(reason);
|
| Handle<DependentCode> dep(site->dependent_code());
|
| Handle<DependentCode> codes =
|
| @@ -12675,6 +12681,7 @@ const char* AllocationSite::PretenureDecisionName(PretenureDecision decision) {
|
|
|
| void JSObject::UpdateAllocationSite(Handle<JSObject> object,
|
| ElementsKind to_kind) {
|
| + if (!FLAG_allocation_site_transitioning) return;
|
| if (!object->IsJSArray()) return;
|
|
|
| Heap* heap = object->GetHeap();
|
|
|