Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index f06b8be1d98246d3ea9b5f3237b7a96ae211572c..32d16d180b20ba37a2a40b21251a3bcb86956239 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -4647,18 +4647,18 @@ MaybeObject* Heap::AllocateJSArrayStorage( |
} |
-MaybeObject* Heap::AllocateJSArrayWithElements( |
- FixedArrayBase* elements, |
+Handle<JSArray> Heap::AllocateJSArrayWithElements( |
Yang
2014/04/07 07:20:48
Since this is now handlified, it belongs to factor
Igor Sheludko
2014/04/07 09:29:17
Done.
|
+ Handle<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; |
+ ASSERT(length <= elements->length()); |
+ Handle<JSArray> array = |
+ isolate()->factory()->NewJSArray(elements_kind, pretenure); |
- array->set_elements(elements); |
+ array->set_elements(*elements); |
array->set_length(Smi::FromInt(length)); |
- array->ValidateElements(); |
+ JSObject::ValidateElements(array); |
return array; |
} |