| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 897c52ade6b9003b309307e939e9456267cd8e2e..47c629e1e147f602d82c5aa38644ffe16b12e539 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -5190,8 +5190,7 @@ Handle<Object> JSObject::DeleteElement(Handle<JSObject> object,
|
| if (object->GetLocalElementAccessorPair(index) != NULL) {
|
| old_value = Handle<Object>::cast(factory->the_hole_value());
|
| } else {
|
| - old_value = Object::GetElement(isolate, object, index);
|
| - CHECK_NOT_EMPTY_HANDLE(isolate, old_value);
|
| + old_value = Object::GetElementNoExceptionThrown(isolate, object, index);
|
| }
|
| }
|
| }
|
| @@ -6360,8 +6359,7 @@ void JSObject::DefineAccessor(Handle<JSObject> object,
|
| if (is_element) {
|
| preexists = HasLocalElement(object, index);
|
| if (preexists && object->GetLocalElementAccessorPair(index) == NULL) {
|
| - old_value = Object::GetElement(isolate, object, index);
|
| - CHECK_NOT_EMPTY_HANDLE(isolate, old_value);
|
| + old_value = Object::GetElementNoExceptionThrown(isolate, object, index);
|
| }
|
| } else {
|
| LookupResult lookup(isolate);
|
| @@ -11343,8 +11341,7 @@ static bool GetOldValue(Isolate* isolate,
|
| if (object->GetLocalElementAccessorPair(index) != NULL) {
|
| value = Handle<Object>::cast(isolate->factory()->the_hole_value());
|
| } else {
|
| - value = Object::GetElement(isolate, object, index);
|
| - CHECK_NOT_EMPTY_HANDLE(isolate, value);
|
| + value = Object::GetElementNoExceptionThrown(isolate, object, index);
|
| }
|
| old_values->Add(value);
|
| indices->Add(index);
|
| @@ -12564,8 +12561,7 @@ Handle<Object> JSObject::SetElement(Handle<JSObject> object,
|
|
|
| if (old_attributes != ABSENT) {
|
| if (object->GetLocalElementAccessorPair(index) == NULL) {
|
| - old_value = Object::GetElement(isolate, object, index);
|
| - CHECK_NOT_EMPTY_HANDLE(isolate, old_value);
|
| + old_value = Object::GetElementNoExceptionThrown(isolate, object, index);
|
| }
|
| } else if (object->IsJSArray()) {
|
| // Store old array length in case adding an element grows the array.
|
| @@ -12611,8 +12607,8 @@ Handle<Object> JSObject::SetElement(Handle<JSObject> object,
|
| } else if (old_value->IsTheHole()) {
|
| EnqueueChangeRecord(object, "reconfigure", name, old_value);
|
| } else {
|
| - Handle<Object> new_value = Object::GetElement(isolate, object, index);
|
| - CHECK_NOT_EMPTY_HANDLE(isolate, new_value);
|
| + Handle<Object> new_value =
|
| + Object::GetElementNoExceptionThrown(isolate, object, index);
|
| bool value_changed = !old_value->SameValue(*new_value);
|
| if (old_attributes != new_attributes) {
|
| if (!value_changed) old_value = isolate->factory()->the_hole_value();
|
|
|