| Index: src/builtins.cc
|
| diff --git a/src/builtins.cc b/src/builtins.cc
|
| index 5f062e1c95c0af883ccc898e8b42310b7ff252bf..e3dcd225d099032267ad289dff30ed8376c7c607 100644
|
| --- a/src/builtins.cc
|
| +++ b/src/builtins.cc
|
| @@ -671,14 +671,6 @@ class ArrayConcatVisitor {
|
| bool visit(uint32_t i, Handle<Object> elm) {
|
| uint32_t index = index_offset_ + i;
|
|
|
| - if (!is_fixed_array()) {
|
| - Handle<Object> element_value;
|
| - ASSIGN_RETURN_ON_EXCEPTION_VALUE(
|
| - isolate_, element_value,
|
| - Object::SetElement(isolate_, storage_, index, elm, STRICT), false);
|
| - return true;
|
| - }
|
| -
|
| if (i >= JSObject::kMaxElementCount - index_offset_) {
|
| set_exceeds_array_limit(true);
|
| // Exception hasn't been thrown at this point. Return true to
|
| @@ -687,6 +679,14 @@ class ArrayConcatVisitor {
|
| return true;
|
| }
|
|
|
| + if (!is_fixed_array()) {
|
| + Handle<Object> element_value;
|
| + ASSIGN_RETURN_ON_EXCEPTION_VALUE(
|
| + isolate_, element_value,
|
| + Object::SetElement(isolate_, storage_, index, elm, STRICT), false);
|
| + return true;
|
| + }
|
| +
|
| if (fast_elements()) {
|
| if (index < static_cast<uint32_t>(storage_fixed_array()->length())) {
|
| storage_fixed_array()->set(index, *elm);
|
|
|