Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 978704ac54286aff224e370390121e305cd45100..552b76dfa18d7dd7c081fb733877d92c2c62ff08 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -1728,28 +1728,6 @@ void JSObject::EnsureCanContainElements(Handle<JSObject> object, |
} |
-MaybeObject* JSObject::GetElementsTransitionMap(Isolate* isolate, |
- ElementsKind to_kind) { |
- Map* current_map = map(); |
- ElementsKind from_kind = current_map->elements_kind(); |
- if (from_kind == to_kind) return current_map; |
- |
- Context* native_context = isolate->context()->native_context(); |
- Object* maybe_array_maps = native_context->js_array_maps(); |
- if (maybe_array_maps->IsFixedArray()) { |
- FixedArray* array_maps = FixedArray::cast(maybe_array_maps); |
- if (array_maps->get(from_kind) == current_map) { |
- Object* maybe_transitioned_map = array_maps->get(to_kind); |
- if (maybe_transitioned_map->IsMap()) { |
- return Map::cast(maybe_transitioned_map); |
- } |
- } |
- } |
- |
- return GetElementsTransitionMapSlow(to_kind); |
-} |
- |
- |
void JSObject::SetMapAndElements(Handle<JSObject> object, |
Handle<Map> new_map, |
Handle<FixedArrayBase> value) { |
@@ -1797,34 +1775,6 @@ void JSObject::initialize_elements() { |
} |
-MaybeObject* JSObject::ResetElements() { |
- if (map()->is_observed()) { |
- // Maintain invariant that observed elements are always in dictionary mode. |
- SeededNumberDictionary* dictionary; |
- MaybeObject* maybe = SeededNumberDictionary::Allocate(GetHeap(), 0); |
- if (!maybe->To(&dictionary)) return maybe; |
- if (map() == GetHeap()->sloppy_arguments_elements_map()) { |
- FixedArray::cast(elements())->set(1, dictionary); |
- } else { |
- set_elements(dictionary); |
- } |
- return this; |
- } |
- |
- ElementsKind elements_kind = GetInitialFastElementsKind(); |
- if (!FLAG_smi_only_arrays) { |
- elements_kind = FastSmiToObjectElementsKind(elements_kind); |
- } |
- MaybeObject* maybe = GetElementsTransitionMap(GetIsolate(), elements_kind); |
- Map* map; |
- if (!maybe->To(&map)) return maybe; |
- set_map(map); |
- initialize_elements(); |
- |
- return this; |
-} |
- |
- |
Handle<String> JSObject::ExpectedTransitionKey(Handle<Map> map) { |
DisallowHeapAllocation no_gc; |
if (!map->HasTransitionArray()) return Handle<String>::null(); |
@@ -2739,8 +2689,8 @@ AccessorDescriptor* DescriptorArray::GetCallbacks(int descriptor_number) { |
void DescriptorArray::Get(int descriptor_number, Descriptor* desc) { |
- desc->Init(GetKey(descriptor_number), |
- GetValue(descriptor_number), |
+ desc->Init(handle(GetKey(descriptor_number), GetIsolate()), |
+ handle(GetValue(descriptor_number), GetIsolate()), |
GetDetails(descriptor_number)); |
} |
@@ -2753,10 +2703,10 @@ void DescriptorArray::Set(int descriptor_number, |
NoIncrementalWriteBarrierSet(this, |
ToKeyIndex(descriptor_number), |
- desc->GetKey()); |
+ *desc->GetKey()); |
NoIncrementalWriteBarrierSet(this, |
ToValueIndex(descriptor_number), |
- desc->GetValue()); |
+ *desc->GetValue()); |
NoIncrementalWriteBarrierSet(this, |
ToDetailsIndex(descriptor_number), |
desc->GetDetails().AsSmi()); |
@@ -2767,8 +2717,8 @@ void DescriptorArray::Set(int descriptor_number, Descriptor* desc) { |
// Range check. |
ASSERT(descriptor_number < number_of_descriptors()); |
- set(ToKeyIndex(descriptor_number), desc->GetKey()); |
- set(ToValueIndex(descriptor_number), desc->GetValue()); |
+ set(ToKeyIndex(descriptor_number), *desc->GetKey()); |
+ set(ToValueIndex(descriptor_number), *desc->GetValue()); |
set(ToDetailsIndex(descriptor_number), desc->GetDetails().AsSmi()); |
} |
@@ -4904,18 +4854,6 @@ int Map::SearchTransition(Name* name) { |
} |
-MaybeObject* Map::set_elements_transition_map(Map* transitioned_map) { |
- TransitionArray* transitions; |
- MaybeObject* maybe_transitions = AddTransition( |
- GetHeap()->elements_transition_symbol(), |
- transitioned_map, |
- FULL_TRANSITION); |
- if (!maybe_transitions->To(&transitions)) return maybe_transitions; |
- set_transitions(transitions); |
- return transitions; |
-} |
- |
- |
FixedArray* Map::GetPrototypeTransitions() { |
if (!HasTransitionArray()) return GetHeap()->empty_fixed_array(); |
if (!transitions()->HasPrototypeTransitions()) { |