Version 3.13.1
Performance and stability improvements on all platforms.
git-svn-id: http://v8.googlecode.com/svn/trunk@12323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/heap.cc b/src/heap.cc
index 8cc1dea..8fc0253 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -3730,8 +3730,7 @@
// 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;
@@ -3875,8 +3874,7 @@
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);
@@ -3895,7 +3893,8 @@
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);
}