| Index: src/objects.cc | 
| diff --git a/src/objects.cc b/src/objects.cc | 
| index 3f3e8ce93cc19d5938c0cfd4388a8f34fb1b5b7b..37827033a8c66f317f40854928964963413d8934 100644 | 
| --- a/src/objects.cc | 
| +++ b/src/objects.cc | 
| @@ -720,9 +720,14 @@ MaybeHandle<Object> Object::GetProperty(LookupIterator* it) { | 
| case LookupIterator::NOT_FOUND: | 
| case LookupIterator::TRANSITION: | 
| UNREACHABLE(); | 
| -      case LookupIterator::JSPROXY: | 
| -        return JSProxy::GetProperty(it->isolate(), it->GetHolder<JSProxy>(), | 
| -                                    it->GetName(), it->GetReceiver()); | 
| +      case LookupIterator::JSPROXY: { | 
| +        bool was_found; | 
| +        MaybeHandle<Object> result = | 
| +            JSProxy::GetProperty(it->isolate(), it->GetHolder<JSProxy>(), | 
| +                                 it->GetName(), it->GetReceiver(), &was_found); | 
| +        if (!was_found) it->NotFound(); | 
| +        return result; | 
| +      } | 
| case LookupIterator::INTERCEPTOR: { | 
| bool done; | 
| Handle<Object> result; | 
| @@ -762,7 +767,9 @@ MaybeHandle<Object> Object::GetProperty(LookupIterator* it) { | 
| MaybeHandle<Object> JSProxy::GetProperty(Isolate* isolate, | 
| Handle<JSProxy> proxy, | 
| Handle<Name> name, | 
| -                                         Handle<Object> receiver) { | 
| +                                         Handle<Object> receiver, | 
| +                                         bool* was_found) { | 
| +  *was_found = true; | 
| if (receiver->IsJSGlobalObject()) { | 
| THROW_NEW_ERROR( | 
| isolate, | 
| @@ -795,7 +802,9 @@ MaybeHandle<Object> JSProxy::GetProperty(Isolate* isolate, | 
| // 7.a Return target.[[Get]](P, Receiver). | 
| LookupIterator it = | 
| LookupIterator::PropertyOrElement(isolate, receiver, name, target); | 
| -    return Object::GetProperty(&it); | 
| +    MaybeHandle<Object> result = Object::GetProperty(&it); | 
| +    *was_found = it.IsFound(); | 
| +    return result; | 
| } | 
| // 8. Let trapResult be ? Call(trap, handler, «target, P, Receiver»). | 
| Handle<Object> trap_result; | 
|  |