Index: src/objects.cc |
=================================================================== |
--- src/objects.cc (revision 5701) |
+++ src/objects.cc (working copy) |
@@ -6320,7 +6320,7 @@ |
// When we set the is_extensible flag to false we always force |
// the element into dictionary mode (and force them to stay there). |
if (!map()->is_extensible()) { |
- Handle<Object> number(Heap::NumberFromUint32(index)); |
+ Handle<Object> number(Factory::NewNumberFromUint(index)); |
Handle<String> index_string(Factory::NumberToString(number)); |
Handle<Object> args[1] = { index_string }; |
return Top::Throw(*Factory::NewTypeError("object_not_extensible", |
@@ -8434,7 +8434,9 @@ |
details = PropertyDetails(details.attributes(), |
details.type(), |
DetailsAt(entry).index()); |
- SetEntry(entry, NumberDictionaryShape::AsObject(key), value, details); |
+ Object* object_key = NumberDictionaryShape::AsObject(key); |
+ if (object_key->IsFailure()) return object_key; |
+ SetEntry(entry, object_key, value, details); |
return this; |
} |