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.