| Index: src/code-stubs-hydrogen.cc
|
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
|
| index 3d0d281a44af822e7572af116d572e07a13067f6..19cdfb7d5c79e32e72948b625fc561a1ab22b8d8 100644
|
| --- a/src/code-stubs-hydrogen.cc
|
| +++ b/src/code-stubs-hydrogen.cc
|
| @@ -544,85 +544,6 @@ Handle<Code> FastCloneShallowArrayStub::GenerateCode() {
|
|
|
|
|
| template <>
|
| -HValue* CodeStubGraphBuilder<CreateAllocationSiteStub>::BuildCodeStub() {
|
| - // This stub is performance sensitive, the generated code must be tuned
|
| - // so that it doesn't build an eager frame.
|
| - info()->MarkMustNotHaveEagerFrame();
|
| -
|
| - HValue* size = Add<HConstant>(AllocationSite::kSize);
|
| - HInstruction* object =
|
| - Add<HAllocate>(size, HType::JSObject(), TENURED, JS_OBJECT_TYPE,
|
| - graph()->GetConstant0());
|
| -
|
| - // Store the map
|
| - Handle<Map> allocation_site_map = isolate()->factory()->allocation_site_map();
|
| - AddStoreMapConstant(object, allocation_site_map);
|
| -
|
| - // Store the payload (smi elements kind)
|
| - HValue* initial_elements_kind = Add<HConstant>(GetInitialFastElementsKind());
|
| - Add<HStoreNamedField>(object,
|
| - HObjectAccess::ForAllocationSiteOffset(
|
| - AllocationSite::kTransitionInfoOffset),
|
| - initial_elements_kind);
|
| -
|
| - // Unlike literals, constructed arrays don't have nested sites
|
| - Add<HStoreNamedField>(object,
|
| - HObjectAccess::ForAllocationSiteOffset(
|
| - AllocationSite::kNestedSiteOffset),
|
| - graph()->GetConstant0());
|
| -
|
| - // Pretenuring calculation field.
|
| - Add<HStoreNamedField>(object,
|
| - HObjectAccess::ForAllocationSiteOffset(
|
| - AllocationSite::kPretenureDataOffset),
|
| - graph()->GetConstant0());
|
| -
|
| - // Pretenuring memento creation count field.
|
| - Add<HStoreNamedField>(object,
|
| - HObjectAccess::ForAllocationSiteOffset(
|
| - AllocationSite::kPretenureCreateCountOffset),
|
| - graph()->GetConstant0());
|
| -
|
| - // Store an empty fixed array for the code dependency.
|
| - HConstant* empty_fixed_array =
|
| - Add<HConstant>(isolate()->factory()->empty_fixed_array());
|
| - Add<HStoreNamedField>(
|
| - object,
|
| - HObjectAccess::ForAllocationSiteOffset(
|
| - AllocationSite::kDependentCodeOffset),
|
| - empty_fixed_array);
|
| -
|
| - // Link the object to the allocation site list
|
| - HValue* site_list = Add<HConstant>(
|
| - ExternalReference::allocation_sites_list_address(isolate()));
|
| - HValue* site = Add<HLoadNamedField>(site_list, nullptr,
|
| - HObjectAccess::ForAllocationSiteList());
|
| - // TODO(mvstanton): This is a store to a weak pointer, which we may want to
|
| - // mark as such in order to skip the write barrier, once we have a unified
|
| - // system for weakness. For now we decided to keep it like this because having
|
| - // an initial write barrier backed store makes this pointer strong until the
|
| - // next GC, and allocation sites are designed to survive several GCs anyway.
|
| - Add<HStoreNamedField>(
|
| - object,
|
| - HObjectAccess::ForAllocationSiteOffset(AllocationSite::kWeakNextOffset),
|
| - site);
|
| - Add<HStoreNamedField>(site_list, HObjectAccess::ForAllocationSiteList(),
|
| - object);
|
| -
|
| - HInstruction* feedback_vector = GetParameter(Descriptor::kVector);
|
| - HInstruction* slot = GetParameter(Descriptor::kSlot);
|
| - Add<HStoreKeyed>(feedback_vector, slot, object, nullptr, FAST_ELEMENTS,
|
| - INITIALIZING_STORE);
|
| - return feedback_vector;
|
| -}
|
| -
|
| -
|
| -Handle<Code> CreateAllocationSiteStub::GenerateCode() {
|
| - return DoGenerateCode(this);
|
| -}
|
| -
|
| -
|
| -template <>
|
| HValue* CodeStubGraphBuilder<CreateWeakCellStub>::BuildCodeStub() {
|
| // This stub is performance sensitive, the generated code must be tuned
|
| // so that it doesn't build an eager frame.
|
|
|