Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 78f379513242f5787112356c04b86205424ec4eb..5f127138179a0340d644be2df3222f522c478574 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; |
} |