| Index: src/runtime/runtime-typedarray.cc | 
| diff --git a/src/runtime/runtime-typedarray.cc b/src/runtime/runtime-typedarray.cc | 
| index a92a642bbc936cb8129386ef692acf73324060e7..1f50b84f329eb7feb85420895bb0c3fbb7d9e3a0 100644 | 
| --- a/src/runtime/runtime-typedarray.cc | 
| +++ b/src/runtime/runtime-typedarray.cc | 
| @@ -286,12 +286,14 @@ RUNTIME_FUNCTION(Runtime_TypedArrayInitializeFromArrayLike) { | 
| RUNTIME_ASSERT(holder->map()->elements_kind() == fixed_elements_kind); | 
|  | 
| Handle<JSArrayBuffer> buffer = isolate->factory()->NewJSArrayBuffer(); | 
| +  size_t length = 0; | 
| if (source->IsJSTypedArray() && | 
| JSTypedArray::cast(*source)->type() == array_type) { | 
| -    length_obj = Handle<Object>(JSTypedArray::cast(*source)->length(), isolate); | 
| +    length_obj = handle(JSTypedArray::cast(*source)->length(), isolate); | 
| +    length = JSTypedArray::cast(*source)->length_value(); | 
| +  } else { | 
| +    RUNTIME_ASSERT(TryNumberToSize(isolate, *length_obj, &length)); | 
| } | 
| -  size_t length = 0; | 
| -  RUNTIME_ASSERT(TryNumberToSize(isolate, *length_obj, &length)); | 
|  | 
| if ((length > static_cast<unsigned>(Smi::kMaxValue)) || | 
| (length > (kMaxInt / element_size))) { | 
| @@ -363,7 +365,7 @@ RUNTIME_FUNCTION(Runtime_TypedArrayInitializeFromArrayLike) { | 
| #define BUFFER_VIEW_GETTER(Type, getter, accessor)   \ | 
| RUNTIME_FUNCTION(Runtime_##Type##Get##getter) {    \ | 
| HandleScope scope(isolate);                      \ | 
| -    DCHECK(args.length() == 1);                      \ | 
| +    DCHECK_EQ(1, args.length());                     \ | 
| CONVERT_ARG_HANDLE_CHECKED(JS##Type, holder, 0); \ | 
| return holder->accessor();                       \ | 
| } | 
| @@ -377,7 +379,7 @@ BUFFER_VIEW_GETTER(DataView, Buffer, buffer) | 
|  | 
| RUNTIME_FUNCTION(Runtime_TypedArrayGetBuffer) { | 
| HandleScope scope(isolate); | 
| -  DCHECK(args.length() == 1); | 
| +  DCHECK_EQ(1, args.length()); | 
| CONVERT_ARG_HANDLE_CHECKED(JSTypedArray, holder, 0); | 
| return *holder->GetBuffer(); | 
| } | 
| @@ -417,8 +419,8 @@ RUNTIME_FUNCTION(Runtime_TypedArraySetFastCases) { | 
| Handle<JSTypedArray> source(JSTypedArray::cast(*source_obj)); | 
| size_t offset = 0; | 
| RUNTIME_ASSERT(TryNumberToSize(isolate, *offset_obj, &offset)); | 
| -  size_t target_length = NumberToSize(isolate, target->length()); | 
| -  size_t source_length = NumberToSize(isolate, source->length()); | 
| +  size_t target_length = target->length_value(); | 
| +  size_t source_length = source->length_value(); | 
| size_t target_byte_length = NumberToSize(isolate, target->byte_length()); | 
| size_t source_byte_length = NumberToSize(isolate, source->byte_length()); | 
| if (offset > target_length || offset + source_length > target_length || | 
|  |