Reviewers: mvstanton,

Message:
PTAL

Description:
Remove HolderIsNonGlobalHiddenPrototype since OWN* now also checks globals

BUG=

Please review this at https://codereview.chromium.org/502903002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+1, -14 lines):
  M src/lookup.h
  M src/lookup.cc
  M src/objects.cc


Index: src/lookup.cc
diff --git a/src/lookup.cc b/src/lookup.cc
index 97fd53522a91fbb5bf082d0e3100d31ac0f6f70c..5bce620abd1e0bacdbcfc08b4f7e3bd98d7d4b22 100644
--- a/src/lookup.cc
+++ b/src/lookup.cc
@@ -273,16 +273,6 @@ bool LookupIterator::HolderIsReceiverOrHiddenPrototype() const {
 }


-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 {
   Object* result = NULL;
   Handle<JSObject> holder = GetHolder<JSObject>();
Index: src/lookup.h
diff --git a/src/lookup.h b/src/lookup.h
index 89d3233e4fbd3fae8d0dd2b4e5494c907913ac1f..bf2fb1b59e728d495d01e4721434f54b5c3b1702 100644
--- a/src/lookup.h
+++ b/src/lookup.h
@@ -100,7 +100,6 @@ class LookupIterator V8_FINAL BASE_EMBEDDED {
     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 @@ class LookupIterator V8_FINAL BASE_EMBEDDED {
   }
   Handle<JSReceiver> GetRoot() const;
   bool HolderIsReceiverOrHiddenPrototype() const;
-  bool HolderIsNonGlobalHiddenPrototype() const;

   /* ACCESS_CHECK */
   bool HasAccess(v8::AccessType access_type) const;
Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index 4832f19e4d0ed802c804d525bfad5a87578fd68c..632064397bdec08907fb0a76016c3a9cd790d73e 100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -3812,7 +3812,7 @@ MaybeHandle<Object> JSObject::SetOwnPropertyIgnoreAttributes(
     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 @@ MaybeHandle<Object> JSObject::SetOwnPropertyIgnoreAttributes(

       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