Remove uses of non-handlified GetProperty.
R=ishell@chromium.org Review URL: https://codereview.chromium.org/229373007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
3d427b5599
commit
ea1dc8eeef
@ -1108,11 +1108,6 @@ MaybeObject* Object::GetProperty(Name* key) {
|
||||
}
|
||||
|
||||
|
||||
MaybeObject* Object::GetProperty(Name* key, PropertyAttributes* attributes) {
|
||||
return GetPropertyWithReceiver(this, key, attributes);
|
||||
}
|
||||
|
||||
|
||||
#define FIELD_ADDR(p, offset) \
|
||||
(reinterpret_cast<byte*>(p) + offset - kHeapObjectTag)
|
||||
|
||||
|
@ -5046,13 +5046,15 @@ Object* JSObject::GetHiddenPropertiesHashTable() {
|
||||
return GetHeap()->undefined_value();
|
||||
}
|
||||
} else {
|
||||
PropertyAttributes attributes;
|
||||
// You can't install a getter on a property indexed by the hidden string,
|
||||
// so we can be sure that GetLocalPropertyPostInterceptor returns a real
|
||||
// object.
|
||||
return GetLocalPropertyPostInterceptor(this,
|
||||
GetHeap()->hidden_string(),
|
||||
&attributes)->ToObjectUnchecked();
|
||||
LookupResult result(GetIsolate());
|
||||
LocalLookupRealNamedProperty(GetHeap()->hidden_string(), &result);
|
||||
if (result.IsFound()) {
|
||||
ASSERT(result.IsNormal());
|
||||
ASSERT(result.holder() == this);
|
||||
Object* value = GetNormalizedProperty(&result);
|
||||
if (!value->IsTheHole()) return value;
|
||||
}
|
||||
return GetHeap()->undefined_value();
|
||||
}
|
||||
}
|
||||
|
||||
@ -5854,9 +5856,8 @@ Handle<JSObject> JSObjectWalkVisitor<ContextObject>::StructureWalk(
|
||||
// In particular, don't try to copy the length attribute of
|
||||
// an array.
|
||||
if (attributes != NONE) continue;
|
||||
Handle<Object> value(
|
||||
copy->GetProperty(*key_string, &attributes)->ToObjectUnchecked(),
|
||||
isolate);
|
||||
Handle<Object> value = Object::GetProperty(copy, key_string);
|
||||
CHECK_NOT_EMPTY_HANDLE(isolate, value);
|
||||
if (value->IsJSObject()) {
|
||||
Handle<JSObject> result = VisitElementOrProperty(
|
||||
copy, Handle<JSObject>::cast(value));
|
||||
@ -13314,20 +13315,6 @@ MaybeHandle<Object> JSObject::GetPropertyPostInterceptor(
|
||||
}
|
||||
|
||||
|
||||
MaybeObject* JSObject::GetLocalPropertyPostInterceptor(
|
||||
Object* receiver,
|
||||
Name* name,
|
||||
PropertyAttributes* attributes) {
|
||||
// Check local property in holder, ignore interceptor.
|
||||
LookupResult result(GetIsolate());
|
||||
LocalLookupRealNamedProperty(name, &result);
|
||||
if (result.IsFound()) {
|
||||
return GetProperty(receiver, &result, name, attributes);
|
||||
}
|
||||
return GetHeap()->undefined_value();
|
||||
}
|
||||
|
||||
|
||||
MaybeHandle<Object> JSObject::GetPropertyWithInterceptor(
|
||||
Handle<JSObject> object,
|
||||
Handle<Object> receiver,
|
||||
|
@ -1535,9 +1535,6 @@ class Object : public MaybeObject {
|
||||
|
||||
// Property access.
|
||||
MUST_USE_RESULT inline MaybeObject* GetProperty(Name* key);
|
||||
MUST_USE_RESULT inline MaybeObject* GetProperty(
|
||||
Name* key,
|
||||
PropertyAttributes* attributes);
|
||||
|
||||
// TODO(yangguo): this should eventually replace the non-handlified version.
|
||||
MUST_USE_RESULT static MaybeHandle<Object> GetPropertyWithReceiver(
|
||||
@ -2392,10 +2389,6 @@ class JSObject: public JSReceiver {
|
||||
Handle<Object> receiver,
|
||||
Handle<Name> name,
|
||||
PropertyAttributes* attributes);
|
||||
MUST_USE_RESULT MaybeObject* GetLocalPropertyPostInterceptor(
|
||||
Object* receiver,
|
||||
Name* name,
|
||||
PropertyAttributes* attributes);
|
||||
|
||||
// Returns true if this is an instance of an api function and has
|
||||
// been modified since it was created. May give false positives.
|
||||
|
Loading…
Reference in New Issue
Block a user