Chromium Code Reviews| Index: src/heap.cc | 
| diff --git a/src/heap.cc b/src/heap.cc | 
| index 5e760c3e6bbc853c79fc4c76e1aaae5871547618..61d39f50b9aa4eb897d466afc7c75daf68d41b8d 100644 | 
| --- a/src/heap.cc | 
| +++ b/src/heap.cc | 
| @@ -4181,7 +4181,7 @@ MaybeObject* Heap::AllocateJSObjectFromMap(Map* map, PretenureFlag pretenure) { | 
| InitializeJSObjectFromMap(JSObject::cast(obj), | 
| FixedArray::cast(properties), | 
| map); | 
| - ASSERT(JSObject::cast(obj)->HasFastSmiOrObjectElements()); | 
| + ASSERT(JSObject::cast(obj)->HasFastElements()); | 
| return obj; | 
| } | 
| @@ -4246,7 +4246,8 @@ MaybeObject* Heap::AllocateJSArrayAndStorage( | 
| FixedArrayBase* elms; | 
| MaybeObject* maybe_elms = NULL; | 
| - if (elements_kind == FAST_DOUBLE_ELEMENTS) { | 
| + if (elements_kind == FAST_DOUBLE_ELEMENTS || | 
| + elements_kind == FAST_HOLEY_DOUBLE_ELEMENTS) { | 
| 
 
danno
2012/11/15 10:34:28
IsFastDoubleElementsKind(elements_kind)
 
 | 
| if (mode == DONT_INITIALIZE_ARRAY_ELEMENTS) { | 
| maybe_elms = AllocateUninitializedFixedDoubleArray(capacity); | 
| } else { | 
| @@ -4273,13 +4274,14 @@ MaybeObject* Heap::AllocateJSArrayAndStorage( | 
| MaybeObject* Heap::AllocateJSArrayWithElements( | 
| FixedArrayBase* elements, | 
| ElementsKind elements_kind, | 
| + int length, | 
| PretenureFlag pretenure) { | 
| MaybeObject* maybe_array = AllocateJSArray(elements_kind, pretenure); | 
| JSArray* array; | 
| if (!maybe_array->To(&array)) return maybe_array; | 
| array->set_elements(elements); | 
| - array->set_length(Smi::FromInt(elements->length())); | 
| + array->set_length(Smi::FromInt(length)); | 
| array->ValidateElements(); | 
| return array; | 
| } |