| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index 59efdf0a89269799f4b9bd5ddc8ef766f04b77e6..2de533a3eb22187a02453fe1fb3dfdb5b8705da9 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -1604,7 +1604,8 @@ void AllocationSite::MarkZombie() {
|
| AllocationSiteMode AllocationSite::GetMode(
|
| ElementsKind boilerplate_elements_kind) {
|
| if (FLAG_pretenuring_call_new ||
|
| - IsFastSmiElementsKind(boilerplate_elements_kind)) {
|
| + (FLAG_allocation_site_transitioning &&
|
| + IsFastSmiElementsKind(boilerplate_elements_kind))) {
|
| return TRACK_ALLOCATION_SITE;
|
| }
|
|
|
| @@ -1615,7 +1616,7 @@ AllocationSiteMode AllocationSite::GetMode(
|
| AllocationSiteMode AllocationSite::GetMode(ElementsKind from,
|
| ElementsKind to) {
|
| if (FLAG_pretenuring_call_new ||
|
| - (IsFastSmiElementsKind(from) &&
|
| + (FLAG_allocation_site_transitioning && IsFastSmiElementsKind(from) &&
|
| IsMoreGeneralElementsKindTransition(from, to))) {
|
| return TRACK_ALLOCATION_SITE;
|
| }
|
| @@ -1630,7 +1631,7 @@ inline bool AllocationSite::CanTrack(InstanceType type) {
|
| type == JS_OBJECT_TYPE ||
|
| type < FIRST_NONSTRING_TYPE;
|
| }
|
| - return type == JS_ARRAY_TYPE;
|
| + return FLAG_allocation_site_transitioning && type == JS_ARRAY_TYPE;
|
| }
|
|
|
|
|
|
|