Revision: 23351
Author: [email protected]
Date: Mon Aug 25 11:47:31 2014 UTC
Log: Remove HolderIsNonGlobalHiddenPrototype since OWN* now also
checks globals
BUG=
[email protected]
Review URL: https://codereview.chromium.org/502903002
https://code.google.com/p/v8/source/detail?r=23351
Modified:
/branches/bleeding_edge/src/lookup-inl.h
/branches/bleeding_edge/src/lookup.cc
/branches/bleeding_edge/src/lookup.h
/branches/bleeding_edge/src/objects.cc
=======================================
--- /branches/bleeding_edge/src/lookup-inl.h Mon Aug 25 11:34:43 2014 UTC
+++ /branches/bleeding_edge/src/lookup-inl.h Mon Aug 25 11:47:31 2014 UTC
@@ -23,7 +23,7 @@
!(check_hidden() && next->map()->is_hidden_prototype()) &&
// Always lookup behind the JSGlobalProxy into the JSGlobalObject,
even
// when not checking other hidden prototypes.
- !(map->IsJSGlobalProxyMap() && next->IsJSGlobalObject())) {
+ !map->IsJSGlobalProxyMap()) {
return NULL;
}
=======================================
--- /branches/bleeding_edge/src/lookup.cc Mon Aug 25 11:34:43 2014 UTC
+++ /branches/bleeding_edge/src/lookup.cc Mon Aug 25 11:47:31 2014 UTC
@@ -271,16 +271,6 @@
} while (!iter.IsAtEnd(PrototypeIterator::END_AT_NON_HIDDEN));
return false;
}
-
-
-bool LookupIterator::HolderIsNonGlobalHiddenPrototype() const {
- if (!HolderIsReceiverOrHiddenPrototype()) return false;
- Handle<Object> receiver = GetReceiver();
- Handle<JSReceiver> holder = GetHolder<JSReceiver>();
- if (receiver.is_identical_to(holder)) return false;
- if (receiver->IsJSGlobalProxy()) return !holder->IsJSGlobalObject();
- return true;
-}
Handle<Object> LookupIterator::FetchValue() const {
=======================================
--- /branches/bleeding_edge/src/lookup.h Mon Aug 25 11:34:43 2014 UTC
+++ /branches/bleeding_edge/src/lookup.h Mon Aug 25 11:47:31 2014 UTC
@@ -100,7 +100,6 @@
state_ = NOT_FOUND;
}
- Heap* heap() const { return isolate_->heap(); }
Factory* factory() const { return isolate_->factory(); }
Handle<Object> GetReceiver() const {
return maybe_receiver_.ToHandleChecked();
@@ -118,7 +117,6 @@
}
Handle<JSReceiver> GetRoot() const;
bool HolderIsReceiverOrHiddenPrototype() const;
- bool HolderIsNonGlobalHiddenPrototype() const;
/* ACCESS_CHECK */
bool HasAccess(v8::AccessType access_type) const;
=======================================
--- /branches/bleeding_edge/src/objects.cc Mon Aug 25 11:34:43 2014 UTC
+++ /branches/bleeding_edge/src/objects.cc Mon Aug 25 11:47:31 2014 UTC
@@ -3812,7 +3812,7 @@
PropertyAttributes attributes,
ExecutableAccessorInfoHandling handling) {
DCHECK(!value->IsTheHole());
- LookupIterator it(object, name, LookupIterator::HIDDEN_SKIP_INTERCEPTOR);
+ LookupIterator it(object, name, LookupIterator::OWN_SKIP_INTERCEPTOR);
bool is_observed = object->map()->is_observed() &&
*name != it.isolate()->heap()->hidden_string();
for (; it.IsFound(); it.Next()) {
@@ -3831,7 +3831,6 @@
case LookupIterator::PROPERTY: {
if (!it.HasProperty()) break;
- if (it.HolderIsNonGlobalHiddenPrototype()) break;
PropertyDetails details = it.property_details();
Handle<Object> old_value =
it.isolate()->factory()->the_hole_value();
switch (it.property_kind()) {
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.