| Index: src/heap.cc
|
| diff --git a/src/heap.cc b/src/heap.cc
|
| index 8e64f9e39cc5d02ee46e4b4ed77423c360594754..698192389a7ec5284d2a3c88a596dfe79f012329 100644
|
| --- a/src/heap.cc
|
| +++ b/src/heap.cc
|
| @@ -3711,8 +3711,7 @@ MaybeObject* Heap::AllocateFunctionPrototype(JSFunction* function) {
|
| // constructors.
|
| Map* new_map;
|
| ASSERT(object_function->has_initial_map());
|
| - MaybeObject* maybe_map =
|
| - object_function->initial_map()->Copy(DescriptorArray::MAY_BE_SHARED);
|
| + MaybeObject* maybe_map = object_function->initial_map()->Copy();
|
| if (!maybe_map->To(&new_map)) return maybe_map;
|
|
|
| Object* prototype;
|
| @@ -3856,8 +3855,7 @@ MaybeObject* Heap::AllocateInitialMap(JSFunction* fun) {
|
| fun->shared()->ForbidInlineConstructor();
|
| } else {
|
| DescriptorArray* descriptors;
|
| - MaybeObject* maybe_descriptors =
|
| - DescriptorArray::Allocate(count, DescriptorArray::MAY_BE_SHARED);
|
| + MaybeObject* maybe_descriptors = DescriptorArray::Allocate(count);
|
| if (!maybe_descriptors->To(&descriptors)) return maybe_descriptors;
|
|
|
| DescriptorArray::WhitenessWitness witness(descriptors);
|
| @@ -3876,7 +3874,8 @@ MaybeObject* Heap::AllocateInitialMap(JSFunction* fun) {
|
| if (HasDuplicates(descriptors)) {
|
| fun->shared()->ForbidInlineConstructor();
|
| } else {
|
| - map->InitializeDescriptors(descriptors);
|
| + MaybeObject* maybe_failure = map->InitializeDescriptors(descriptors);
|
| + if (maybe_failure->IsFailure()) return maybe_failure;
|
| map->set_pre_allocated_property_fields(count);
|
| map->set_unused_property_fields(in_object_properties - count);
|
| }
|
|
|