| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index bff4819db495cbf427a5af9f194ca29cce7b5678..2f76da7544f9641c2bf490b6967d24e0343fcad3 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -7906,14 +7906,15 @@ void FixedArray::Shrink(int new_length) {
|
| }
|
|
|
|
|
| -MaybeObject* FixedArray::AddKeysFromJSArray(JSArray* array) {
|
| +Handle<FixedArray> FixedArray::AddKeysFromJSArray(Handle<FixedArray> content,
|
| + Handle<JSArray> array) {
|
| ElementsAccessor* accessor = array->GetElementsAccessor();
|
| - MaybeObject* maybe_result =
|
| - accessor->AddElementsToFixedArray(array, array, this);
|
| - FixedArray* result;
|
| - if (!maybe_result->To<FixedArray>(&result)) return maybe_result;
|
| + Handle<FixedArray> result =
|
| + accessor->AddElementsToFixedArray(array, array, content);
|
| +
|
| #ifdef ENABLE_SLOW_ASSERTS
|
| if (FLAG_enable_slow_asserts) {
|
| + DisallowHeapAllocation no_allocation;
|
| for (int i = 0; i < result->length(); i++) {
|
| Object* current = result->get(i);
|
| ASSERT(current->IsNumber() || current->IsName());
|
| @@ -7924,14 +7925,19 @@ MaybeObject* FixedArray::AddKeysFromJSArray(JSArray* array) {
|
| }
|
|
|
|
|
| -MaybeObject* FixedArray::UnionOfKeys(FixedArray* other) {
|
| - ElementsAccessor* accessor = ElementsAccessor::ForArray(other);
|
| - MaybeObject* maybe_result =
|
| - accessor->AddElementsToFixedArray(NULL, NULL, this, other);
|
| - FixedArray* result;
|
| - if (!maybe_result->To(&result)) return maybe_result;
|
| +Handle<FixedArray> FixedArray::UnionOfKeys(Handle<FixedArray> first,
|
| + Handle<FixedArray> second) {
|
| + ElementsAccessor* accessor = ElementsAccessor::ForArray(second);
|
| + Handle<FixedArray> result =
|
| + accessor->AddElementsToFixedArray(
|
| + Handle<Object>::null(), // receiver
|
| + Handle<JSObject>::null(), // holder
|
| + first,
|
| + Handle<FixedArrayBase>::cast(second));
|
| +
|
| #ifdef ENABLE_SLOW_ASSERTS
|
| if (FLAG_enable_slow_asserts) {
|
| + DisallowHeapAllocation no_allocation;
|
| for (int i = 0; i < result->length(); i++) {
|
| Object* current = result->get(i);
|
| ASSERT(current->IsNumber() || current->IsName());
|
|
|