Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 4d895db43323dd06b6dd7fe77dd106d069e42e25..7eb753ab1c9d36f6848efb21f6d7b4f83ae05fa6 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -5560,17 +5560,16 @@ RUNTIME_FUNCTION(Runtime_StoreArrayLiteralElement) { |
HeapNumber* number = HeapNumber::cast(*value); |
double_array->set(store_index, number->Number()); |
} else { |
- if (!IsFastObjectElementsKind(elements_kind)) { |
- ElementsKind transitioned_kind = IsFastHoleyElementsKind(elements_kind) |
- ? FAST_HOLEY_ELEMENTS |
- : FAST_ELEMENTS; |
- JSObject::TransitionElementsKind(object, transitioned_kind); |
- ElementsKind boilerplate_elements_kind = |
- boilerplate_object->GetElementsKind(); |
- if (IsMoreGeneralElementsKindTransition(boilerplate_elements_kind, |
- transitioned_kind)) { |
- JSObject::TransitionElementsKind(boilerplate_object, transitioned_kind); |
- } |
+ ASSERT(IsFastSmiElementsKind(elements_kind) || |
+ IsFastDoubleElementsKind(elements_kind)); |
+ ElementsKind transitioned_kind = IsFastHoleyElementsKind(elements_kind) |
+ ? FAST_HOLEY_ELEMENTS |
+ : FAST_ELEMENTS; |
+ JSObject::TransitionElementsKind(object, transitioned_kind); |
+ if (IsMoreGeneralElementsKindTransition( |
+ boilerplate_object->GetElementsKind(), |
+ transitioned_kind)) { |
+ JSObject::TransitionElementsKind(boilerplate_object, transitioned_kind); |
} |
FixedArray* object_array = FixedArray::cast(object->elements()); |
object_array->set(store_index, *value); |