Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 92de5443c748d2356e8170eac31672b9ed80a44f..05f23d71db485f0aae46b4ee3d3ff6fae286f6b0 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -12474,17 +12474,8 @@ MaybeObject* StringDictionary::TransformPropertiesToFastFor( |
// descriptors. |
if (NumberOfElements() > DescriptorArray::kMaxNumberOfDescriptors) return obj; |
- // Figure out if it is necessary to generate new enumeration indices. |
- int max_enumeration_index = |
- NextEnumerationIndex() + |
danno
2012/07/17 09:55:02
nit: put this on previous line, adjust spacing bel
|
- (DescriptorArray::kMaxNumberOfDescriptors - |
- NumberOfElements()); |
- if (!PropertyDetails::IsValidIndex(max_enumeration_index)) { |
- Object* result; |
- { MaybeObject* maybe_result = GenerateNewEnumerationIndices(); |
- if (!maybe_result->ToObject(&result)) return maybe_result; |
- } |
- } |
+ MaybeObject* maybe_result = GenerateNewEnumerationIndices(); |
+ if (maybe_result->IsFailure()) return maybe_result; |
int instance_descriptor_length = 0; |
int number_of_fields = 0; |
@@ -12509,12 +12500,11 @@ MaybeObject* StringDictionary::TransformPropertiesToFastFor( |
// Allocate the instance descriptor. |
DescriptorArray* descriptors; |
- { MaybeObject* maybe_descriptors = |
- DescriptorArray::Allocate(instance_descriptor_length, |
- DescriptorArray::MAY_BE_SHARED); |
- if (!maybe_descriptors->To<DescriptorArray>(&descriptors)) { |
- return maybe_descriptors; |
- } |
+ MaybeObject* maybe_descriptors = |
+ DescriptorArray::Allocate(instance_descriptor_length, |
+ DescriptorArray::MAY_BE_SHARED); |
+ if (!maybe_descriptors->To(&descriptors)) { |
+ return maybe_descriptors; |
} |
FixedArray::WhitenessWitness witness(descriptors); |
@@ -12529,10 +12519,10 @@ MaybeObject* StringDictionary::TransformPropertiesToFastFor( |
} |
// Allocate the fixed array for the fields. |
- Object* fields; |
+ FixedArray* fields; |
MaybeObject* maybe_fields = |
heap->AllocateFixedArray(number_of_allocated_fields); |
- if (!maybe_fields->ToObject(&fields)) return maybe_fields; |
+ if (!maybe_fields->To(&fields)) return maybe_fields; |
// Fill in the instance descriptor and the fields. |
int next_descriptor = 0; |
@@ -12562,7 +12552,7 @@ MaybeObject* StringDictionary::TransformPropertiesToFastFor( |
UPDATE_WRITE_BARRIER); |
} else { |
int offset = current_offset - inobject_props; |
- FixedArray::cast(fields)->set(offset, value); |
+ fields->set(offset, value); |
} |
FieldDescriptor d(key, |
current_offset++, |
@@ -12594,7 +12584,7 @@ MaybeObject* StringDictionary::TransformPropertiesToFastFor( |
// Transform the object. |
obj->set_map(new_map); |
- obj->set_properties(FixedArray::cast(fields)); |
+ obj->set_properties(fields); |
ASSERT(obj->IsJSObject()); |
// Check that it really works. |