| Index: src/lookup.h
 | 
| diff --git a/src/lookup.h b/src/lookup.h
 | 
| index 923e8107fd3a36c159b4396b458de7962baca666..2d609c5f666c6b77851cf3917f000e18e8d5b6e0 100644
 | 
| --- a/src/lookup.h
 | 
| +++ b/src/lookup.h
 | 
| @@ -47,7 +47,7 @@ class LookupIterator V8_FINAL BASE_EMBEDDED {
 | 
|    LookupIterator(Handle<Object> receiver,
 | 
|                   Handle<Name> name,
 | 
|                   Configuration configuration = CHECK_ALL)
 | 
| -      : configuration_(configuration),
 | 
| +      : configuration_(ComputeConfiguration(configuration, name)),
 | 
|          state_(NOT_FOUND),
 | 
|          property_kind_(DATA),
 | 
|          property_encoding_(DESCRIPTOR),
 | 
| @@ -66,7 +66,7 @@ class LookupIterator V8_FINAL BASE_EMBEDDED {
 | 
|                   Handle<Name> name,
 | 
|                   Handle<JSReceiver> holder,
 | 
|                   Configuration configuration = CHECK_ALL)
 | 
| -      : configuration_(configuration),
 | 
| +      : configuration_(ComputeConfiguration(configuration, name)),
 | 
|          state_(NOT_FOUND),
 | 
|          property_kind_(DATA),
 | 
|          property_encoding_(DESCRIPTOR),
 | 
| @@ -187,6 +187,15 @@ class LookupIterator V8_FINAL BASE_EMBEDDED {
 | 
|      return number_;
 | 
|    }
 | 
|  
 | 
| +  static Configuration ComputeConfiguration(
 | 
| +      Configuration configuration, Handle<Name> name) {
 | 
| +    if (name->IsOwn()) {
 | 
| +      return static_cast<Configuration>(configuration & CHECK_OWN);
 | 
| +    } else {
 | 
| +      return configuration;
 | 
| +    }
 | 
| +  }
 | 
| +
 | 
|    Configuration configuration_;
 | 
|    State state_;
 | 
|    bool has_property_;
 | 
| 
 |