vendor/v8/src/bootstrapper.cc in libv8-3.10.8.0 vs vendor/v8/src/bootstrapper.cc in libv8-3.11.8.0

- old
+ new

@@ -482,12 +482,12 @@ isolate->object_function(), TENURED); global_context()->set_initial_object_prototype(*prototype); SetPrototype(object_fun, prototype); - object_function_map-> - set_instance_descriptors(heap->empty_descriptor_array()); + object_function_map->set_instance_descriptors( + heap->empty_descriptor_array()); } // Allocate the empty function as the prototype for function ECMAScript // 262 15.3.4. Handle<String> symbol = factory->LookupAsciiSymbol("Empty"); @@ -514,16 +514,14 @@ global_context()->function_without_prototype_map()-> set_prototype(*empty_function); function_instance_map_writable_prototype_->set_prototype(*empty_function); // Allocate the function map first and then patch the prototype later - Handle<Map> empty_fm = factory->CopyMapDropDescriptors( - function_without_prototype_map); - empty_fm->set_instance_descriptors( - function_without_prototype_map->instance_descriptors()); - empty_fm->set_prototype(global_context()->object_function()->prototype()); - empty_function->set_map(*empty_fm); + Handle<Map> empty_function_map = CreateFunctionMap(DONT_ADD_PROTOTYPE); + empty_function_map->set_prototype( + global_context()->object_function()->prototype()); + empty_function->set_map(*empty_function_map); return empty_function; } Handle<DescriptorArray> Genesis::ComputeStrictFunctionInstanceDescriptor( @@ -1092,11 +1090,11 @@ ASSERT(result->map()->inobject_properties() > Heap::kArgumentsCalleeIndex); ASSERT(result->map()->inobject_properties() > Heap::kArgumentsLengthIndex); // Check the state of the object. ASSERT(result->HasFastProperties()); - ASSERT(result->HasFastElements()); + ASSERT(result->HasFastObjectElements()); #endif } { // --- aliased_arguments_boilerplate_ // Set up a well-formed parameter map to make assertions happy. @@ -1185,11 +1183,11 @@ ASSERT(result->map()->inobject_properties() > Heap::kArgumentsLengthIndex); // Check the state of the object. ASSERT(result->HasFastProperties()); - ASSERT(result->HasFastElements()); + ASSERT(result->HasFastObjectElements()); #endif } { // --- context extension // Create a function for the context extension objects. @@ -1635,10 +1633,10 @@ // transition easy to trap. Moreover, they rarely are smi-only. MaybeObject* maybe_map = array_function->initial_map()->CopyDropTransitions(); Map* new_map; if (!maybe_map->To<Map>(&new_map)) return false; - new_map->set_elements_kind(FAST_ELEMENTS); + new_map->set_elements_kind(FAST_HOLEY_ELEMENTS); array_function->set_initial_map(new_map); // Make "length" magic on instances. Handle<DescriptorArray> array_descriptors = factory()->CopyAppendForeignDescriptor(