Index: src/runtime/runtime-typedarray.cc |
diff --git a/src/runtime/runtime-typedarray.cc b/src/runtime/runtime-typedarray.cc |
index 963f1862bc7b965d77bb7a3733541500d7f7bf01..ba422bf01ec3fa2c8fc852290ef78275381a6d36 100644 |
--- a/src/runtime/runtime-typedarray.cc |
+++ b/src/runtime/runtime-typedarray.cc |
@@ -200,11 +200,9 @@ RUNTIME_FUNCTION(Runtime_TypedArrayInitializeFromArrayLike) { |
size_t length = 0; |
if (source->IsJSTypedArray() && |
JSTypedArray::cast(*source)->type() == array_type) { |
- length_obj = handle(JSTypedArray::cast(*source)->length(), isolate); |
length = JSTypedArray::cast(*source)->length_value(); |
} else { |
CHECK(TryNumberToSize(*length_obj, &length)); |
- CHECK(length_obj->IsSmi()); |
} |
if ((length > static_cast<unsigned>(Smi::kMaxValue)) || |
@@ -247,6 +245,7 @@ RUNTIME_FUNCTION(Runtime_TypedArrayInitializeFromArrayLike) { |
Handle<Object> byte_length_obj( |
isolate->factory()->NewNumberFromSize(byte_length)); |
holder->set_byte_length(*byte_length_obj); |
+ length_obj = isolate->factory()->NewNumberFromSize(length); |
holder->set_length(*length_obj); |
Handle<FixedTypedArrayBase> elements = |