Index: src/code-stub-assembler.cc |
diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc |
index 1fb8a2152ee587eb5176e6c46707fbf7f679efd5..bc078473116606620c6a4ce435c12d9a08254961 100644 |
--- a/src/code-stub-assembler.cc |
+++ b/src/code-stub-assembler.cc |
@@ -5507,104 +5507,6 @@ Node* CodeStubAssembler::TryToIntptr(Node* key, Label* miss) { |
return var_intptr_key.value(); |
} |
-void CodeStubAssembler::ExtendPropertiesBackingStore(Node* object) { |
- Node* properties = LoadProperties(object); |
- Node* length = LoadFixedArrayBaseLength(properties); |
- |
- ParameterMode mode = OptimalParameterMode(); |
- length = TaggedToParameter(length, mode); |
- |
- Node* delta = IntPtrOrSmiConstant(JSObject::kFieldsAdded, mode); |
- Node* new_capacity = IntPtrOrSmiAdd(length, delta, mode); |
- |
- // Grow properties array. |
- ElementsKind kind = FAST_ELEMENTS; |
- DCHECK(kMaxNumberOfDescriptors + JSObject::kFieldsAdded < |
- FixedArrayBase::GetMaxLengthForNewSpaceAllocation(kind)); |
- // The size of a new properties backing store is guaranteed to be small |
- // enough that the new backing store will be allocated in new space. |
- CSA_ASSERT(this, |
- UintPtrOrSmiLessThan( |
- new_capacity, |
- IntPtrOrSmiConstant( |
- kMaxNumberOfDescriptors + JSObject::kFieldsAdded, mode), |
- mode)); |
- |
- Node* new_properties = AllocateFixedArray(kind, new_capacity, mode); |
- |
- FillFixedArrayWithValue(kind, new_properties, length, new_capacity, |
- Heap::kUndefinedValueRootIndex, mode); |
- |
- // |new_properties| is guaranteed to be in new space, so we can skip |
- // the write barrier. |
- CopyFixedArrayElements(kind, properties, new_properties, length, |
- SKIP_WRITE_BARRIER, mode); |
- |
- StoreObjectField(object, JSObject::kPropertiesOffset, new_properties); |
-} |
- |
-Node* CodeStubAssembler::PrepareValueForWrite(Node* value, |
- Representation representation, |
- Label* bailout) { |
- if (representation.IsDouble()) { |
- value = TryTaggedToFloat64(value, bailout); |
- } else if (representation.IsHeapObject()) { |
- // Field type is checked by the handler, here we only check if the value |
- // is a heap object. |
- GotoIf(TaggedIsSmi(value), bailout); |
- } else if (representation.IsSmi()) { |
- GotoUnless(TaggedIsSmi(value), bailout); |
- } else { |
- DCHECK(representation.IsTagged()); |
- } |
- return value; |
-} |
- |
-void CodeStubAssembler::StoreNamedField(Node* object, FieldIndex index, |
- Representation representation, |
- Node* value, bool transition_to_field) { |
- DCHECK_EQ(index.is_double(), representation.IsDouble()); |
- |
- StoreNamedField(object, IntPtrConstant(index.offset()), index.is_inobject(), |
- representation, value, transition_to_field); |
-} |
- |
-void CodeStubAssembler::StoreNamedField(Node* object, Node* offset, |
- bool is_inobject, |
- Representation representation, |
- Node* value, bool transition_to_field) { |
- bool store_value_as_double = representation.IsDouble(); |
- Node* property_storage = object; |
- if (!is_inobject) { |
- property_storage = LoadProperties(object); |
- } |
- |
- if (representation.IsDouble()) { |
- if (!FLAG_unbox_double_fields || !is_inobject) { |
- if (transition_to_field) { |
- Node* heap_number = AllocateHeapNumberWithValue(value, MUTABLE); |
- // Store the new mutable heap number into the object. |
- value = heap_number; |
- store_value_as_double = false; |
- } else { |
- // Load the heap number. |
- property_storage = LoadObjectField(property_storage, offset); |
- // Store the double value into it. |
- offset = IntPtrConstant(HeapNumber::kValueOffset); |
- } |
- } |
- } |
- |
- if (store_value_as_double) { |
- StoreObjectFieldNoWriteBarrier(property_storage, offset, value, |
- MachineRepresentation::kFloat64); |
- } else if (representation.IsSmi()) { |
- StoreObjectFieldNoWriteBarrier(property_storage, offset, value); |
- } else { |
- StoreObjectField(property_storage, offset, value); |
- } |
-} |
- |
Node* CodeStubAssembler::EmitKeyedSloppyArguments(Node* receiver, Node* key, |
Node* value, Label* bailout) { |
// Mapped arguments are actual arguments. Unmapped arguments are values added |