Index: src/lookup.cc |
diff --git a/src/lookup.cc b/src/lookup.cc |
index 6131ac96d0177c2139dab715212096a497b18cef..5391640ac1f1f1a3e7dc4f6f831b2c6724b039c2 100644 |
--- a/src/lookup.cc |
+++ b/src/lookup.cc |
@@ -53,11 +53,12 @@ bool LookupIterator::NextHolder() { |
Handle<JSReceiver> next(JSReceiver::cast(holder_map_->prototype())); |
if (!check_derived() && |
- // TODO(verwaest): Check if this is actually necessary currently. If it |
- // is, this should be handled by setting is_hidden_prototype on the |
- // global object behind the proxy. |
- !holder_map_->IsJSGlobalProxyMap() && |
- !next->map()->is_hidden_prototype()) { |
+ !(check_hidden() && |
+ // TODO(verwaest): Check if this is actually necessary currently. If it |
+ // is, this should be handled by setting is_hidden_prototype on the |
+ // global object behind the proxy. |
+ (holder_map_->IsJSGlobalProxyMap() || |
+ next->map()->is_hidden_prototype()))) { |
return false; |
} |
@@ -189,8 +190,6 @@ Handle<Object> LookupIterator::GetDataValue() const { |
ASSERT_EQ(DATA, property_kind_); |
Handle<Object> value = FetchValue(); |
if (value->IsTheHole()) { |
- ASSERT_EQ(DICTIONARY, property_encoding_); |
- ASSERT(GetHolder()->IsGlobalObject()); |
ASSERT(property_details_.IsReadOnly()); |
return factory()->undefined_value(); |
} |