Index: src/code-stubs-hydrogen.cc |
diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
index 1cfa12997f77311f1759b78e9d628caab0bcedc6..3514beed0669a2fdfa01ebe7571d4e407a050cff 100644 |
--- a/src/code-stubs-hydrogen.cc |
+++ b/src/code-stubs-hydrogen.cc |
@@ -913,70 +913,6 @@ void CodeStubGraphBuilderBase::BuildStoreNamedField( |
template <> |
-HValue* CodeStubGraphBuilder<StoreTransitionStub>::BuildCodeStub() { |
- HValue* object = GetParameter(StoreTransitionHelper::ReceiverIndex()); |
- HValue* value = GetParameter(StoreTransitionHelper::ValueIndex()); |
- StoreTransitionStub::StoreMode store_mode = casted_stub()->store_mode(); |
- |
- if (store_mode != StoreTransitionStub::StoreMapOnly) { |
- value = GetParameter(StoreTransitionHelper::ValueIndex()); |
- Representation representation = casted_stub()->representation(); |
- if (representation.IsDouble()) { |
- // In case we are storing a double, assure that the value is a double |
- // before manipulating the properties backing store. Otherwise the actual |
- // store may deopt, leaving the backing store in an overallocated state. |
- value = AddUncasted<HForceRepresentation>(value, representation); |
- } |
- } |
- |
- switch (store_mode) { |
- case StoreTransitionStub::ExtendStorageAndStoreMapAndValue: { |
- HValue* properties = Add<HLoadNamedField>( |
- object, nullptr, HObjectAccess::ForPropertiesPointer()); |
- HValue* length = AddLoadFixedArrayLength(properties); |
- HValue* delta = |
- Add<HConstant>(static_cast<int32_t>(JSObject::kFieldsAdded)); |
- HValue* new_capacity = AddUncasted<HAdd>(length, delta); |
- |
- // Grow properties array. |
- ElementsKind kind = FAST_ELEMENTS; |
- Add<HBoundsCheck>(new_capacity, |
- Add<HConstant>((kMaxRegularHeapObjectSize - |
- FixedArray::kHeaderSize) >> |
- ElementsKindToShiftSize(kind))); |
- |
- // Reuse this code for properties backing store allocation. |
- HValue* new_properties = |
- BuildAllocateAndInitializeArray(kind, new_capacity); |
- |
- BuildCopyProperties(properties, new_properties, length, new_capacity); |
- |
- Add<HStoreNamedField>(object, HObjectAccess::ForPropertiesPointer(), |
- new_properties); |
- } |
- // Fall through. |
- case StoreTransitionStub::StoreMapAndValue: |
- // Store the new value into the "extended" object. |
- BuildStoreNamedField(object, value, casted_stub()->index(), |
- casted_stub()->representation(), true); |
- // Fall through. |
- |
- case StoreTransitionStub::StoreMapOnly: |
- // And finally update the map. |
- Add<HStoreNamedField>(object, HObjectAccess::ForMap(), |
- GetParameter(StoreTransitionHelper::MapIndex())); |
- break; |
- } |
- return value; |
-} |
- |
- |
-Handle<Code> StoreTransitionStub::GenerateCode() { |
- return DoGenerateCode(this); |
-} |
- |
- |
-template <> |
HValue* CodeStubGraphBuilder<TransitionElementsKindStub>::BuildCodeStub() { |
ElementsKind const from_kind = casted_stub()->from_kind(); |
ElementsKind const to_kind = casted_stub()->to_kind(); |
@@ -1316,41 +1252,6 @@ HValue* CodeStubGraphBuilder<ToBooleanICStub>::BuildCodeInitializedStub() { |
Handle<Code> ToBooleanICStub::GenerateCode() { return DoGenerateCode(this); } |
template <> |
-HValue* CodeStubGraphBuilder<ElementsTransitionAndStoreStub>::BuildCodeStub() { |
- HValue* object = GetParameter(StoreTransitionHelper::ReceiverIndex()); |
- HValue* key = GetParameter(StoreTransitionHelper::NameIndex()); |
- HValue* value = GetParameter(StoreTransitionHelper::ValueIndex()); |
- HValue* map = GetParameter(StoreTransitionHelper::MapIndex()); |
- |
- if (FLAG_trace_elements_transitions) { |
- // Tracing elements transitions is the job of the runtime. |
- Add<HDeoptimize>(DeoptimizeReason::kTracingElementsTransitions, |
- Deoptimizer::EAGER); |
- } else { |
- info()->MarkAsSavesCallerDoubles(); |
- |
- BuildTransitionElementsKind(object, map, |
- casted_stub()->from_kind(), |
- casted_stub()->to_kind(), |
- casted_stub()->is_jsarray()); |
- |
- BuildUncheckedMonomorphicElementAccess(object, key, value, |
- casted_stub()->is_jsarray(), |
- casted_stub()->to_kind(), |
- STORE, ALLOW_RETURN_HOLE, |
- casted_stub()->store_mode()); |
- } |
- |
- return value; |
-} |
- |
- |
-Handle<Code> ElementsTransitionAndStoreStub::GenerateCode() { |
- return DoGenerateCode(this); |
-} |
- |
- |
-template <> |
HValue* CodeStubGraphBuilder<LoadDictionaryElementStub>::BuildCodeStub() { |
HValue* receiver = GetParameter(Descriptor::kReceiver); |
HValue* key = GetParameter(Descriptor::kName); |