Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 2092859cd55deebe68fbbd54d51bb43a3ff3ac12..ef5a211950d454412616b735617eb20a0c7cfebd 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -745,6 +745,20 @@ Handle<Object> Object::GetProperty(Handle<Object> object, |
} |
+MaybeObject* Object::GetPropertyOrFail(Handle<Object> object, |
+ Handle<Object> receiver, |
+ LookupResult* result, |
+ Handle<Name> key, |
+ PropertyAttributes* attributes) { |
+ Isolate* isolate = object->IsHeapObject() |
+ ? Handle<HeapObject>::cast(object)->GetIsolate() |
+ : Isolate::Current(); |
+ CALL_HEAP_FUNCTION_PASS_EXCEPTION( |
+ isolate, |
+ object->GetProperty(*receiver, result, *key, attributes)); |
+} |
+ |
+ |
MaybeObject* Object::GetProperty(Object* receiver, |
LookupResult* result, |
Name* name, |
@@ -2139,6 +2153,19 @@ Handle<Object> JSReceiver::SetProperty(Handle<JSReceiver> object, |
} |
+MaybeObject* JSReceiver::SetPropertyOrFail( |
+ Handle<JSReceiver> object, |
+ Handle<Name> key, |
+ Handle<Object> value, |
+ PropertyAttributes attributes, |
+ StrictModeFlag strict_mode, |
+ JSReceiver::StoreFromKeyed store_mode) { |
+ CALL_HEAP_FUNCTION_PASS_EXCEPTION( |
+ object->GetIsolate(), |
+ object->SetProperty(*key, *value, attributes, strict_mode, store_mode)); |
+} |
+ |
+ |
MaybeObject* JSReceiver::SetProperty(Name* name, |
Object* value, |
PropertyAttributes attributes, |