From e8e2491c5a239f1b007aded4d5805a769a3282a6 Mon Sep 17 00:00:00 2001 From: "mstarzinger@chromium.org" Date: Wed, 29 May 2013 15:38:09 +0000 Subject: [PATCH] Handlify map allocation in Genesis::InstallInternalArray. R=dcarney@chromium.org TEST=mozilla/js1_5/Regress/regress-367561-01 Review URL: https://codereview.chromium.org/15690018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/bootstrapper.cc | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc index d7b74f8..9277719 100644 --- a/src/bootstrapper.cc +++ b/src/bootstrapper.cc @@ -1611,14 +1611,12 @@ Handle Genesis::InstallInternalArray( array_function->shared()->DontAdaptArguments(); - MaybeObject* maybe_map = array_function->initial_map()->Copy(); - Map* new_map; - if (!maybe_map->To(&new_map)) return Handle::null(); - new_map->set_elements_kind(elements_kind); - array_function->set_initial_map(new_map); + Handle original_map(array_function->initial_map()); + Handle initial_map = factory()->CopyMap(original_map); + initial_map->set_elements_kind(elements_kind); + array_function->set_initial_map(*initial_map); // Make "length" magic on instances. - Handle initial_map(array_function->initial_map()); Handle array_descriptors( factory()->NewDescriptorArray(0, 1)); DescriptorArray::WhitenessWitness witness(*array_descriptors); @@ -1872,14 +1870,11 @@ bool Genesis::InstallNatives() { { Handle array_function = InstallInternalArray(builtins, "InternalArray", FAST_HOLEY_ELEMENTS); - if (array_function.is_null()) return false; native_context()->set_internal_array_function(*array_function); } { - Handle array_function = - InstallInternalArray(builtins, "InternalPackedArray", FAST_ELEMENTS); - if (array_function.is_null()) return false; + InstallInternalArray(builtins, "InternalPackedArray", FAST_ELEMENTS); } if (FLAG_disable_native_files) { -- 2.7.4