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.

Reply via email to