| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 849de3cb1e204befd6ec0fb807cdb8dd7c07be1d..3766f02de37d336fc5548ae6f483f549ec1ef670 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -1010,7 +1010,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_TypedArrayInitialize) {
|
| static_cast<uint8_t*>(buffer->backing_store()) + byte_offset);
|
| Handle<Map> map =
|
| JSObject::GetElementsTransitionMap(holder, external_elements_kind);
|
| - holder->set_map_and_elements(*map, *elements);
|
| + JSObject::SetMapAndElements(holder, map, elements);
|
| ASSERT(IsExternalArrayElementsKind(holder->map()->elements_kind()));
|
| } else {
|
| holder->set_buffer(Smi::FromInt(0));
|
| @@ -1107,7 +1107,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_TypedArrayInitializeFromArrayLike) {
|
| static_cast<uint8_t*>(buffer->backing_store()));
|
| Handle<Map> map = JSObject::GetElementsTransitionMap(
|
| holder, external_elements_kind);
|
| - holder->set_map_and_elements(*map, *elements);
|
| + JSObject::SetMapAndElements(holder, map, elements);
|
|
|
| if (source->IsJSTypedArray()) {
|
| Handle<JSTypedArray> typed_array(JSTypedArray::cast(*source));
|
| @@ -10634,27 +10634,24 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RemoveArrayHoles) {
|
|
|
| // Move contents of argument 0 (an array) to argument 1 (an array)
|
| RUNTIME_FUNCTION(MaybeObject*, Runtime_MoveArrayContents) {
|
| - SealHandleScope shs(isolate);
|
| + HandleScope scope(isolate);
|
| ASSERT(args.length() == 2);
|
| - CONVERT_ARG_CHECKED(JSArray, from, 0);
|
| - CONVERT_ARG_CHECKED(JSArray, to, 1);
|
| + CONVERT_ARG_HANDLE_CHECKED(JSArray, from, 0);
|
| + CONVERT_ARG_HANDLE_CHECKED(JSArray, to, 1);
|
| from->ValidateElements();
|
| to->ValidateElements();
|
| - FixedArrayBase* new_elements = from->elements();
|
| +
|
| + Handle<FixedArrayBase> new_elements(from->elements());
|
| ElementsKind from_kind = from->GetElementsKind();
|
| - MaybeObject* maybe_new_map;
|
| - maybe_new_map = to->GetElementsTransitionMap(isolate, from_kind);
|
| - Object* new_map;
|
| - if (!maybe_new_map->ToObject(&new_map)) return maybe_new_map;
|
| - to->set_map_and_elements(Map::cast(new_map), new_elements);
|
| + Handle<Map> new_map = JSObject::GetElementsTransitionMap(to, from_kind);
|
| + JSObject::SetMapAndElements(to, new_map, new_elements);
|
| to->set_length(from->length());
|
| - Object* obj;
|
| - { MaybeObject* maybe_obj = from->ResetElements();
|
| - if (!maybe_obj->ToObject(&obj)) return maybe_obj;
|
| - }
|
| +
|
| + JSObject::ResetElements(from);
|
| from->set_length(Smi::FromInt(0));
|
| +
|
| to->ValidateElements();
|
| - return to;
|
| + return *to;
|
| }
|
|
|
|
|
|
|