| Index: src/property.h
|
| diff --git a/src/property.h b/src/property.h
|
| index 9235c3287dc74a302fb61276d3352c6f4587f2d9..d5efb7f35193f9a5ee36dbe9339e968996aaf4d0 100644
|
| --- a/src/property.h
|
| +++ b/src/property.h
|
| @@ -164,35 +164,6 @@ class CallbacksDescriptor: public Descriptor {
|
| };
|
|
|
|
|
| -template <class T>
|
| -bool IsPropertyDescriptor(T* desc) {
|
| - switch (desc->type()) {
|
| - case NORMAL:
|
| - case FIELD:
|
| - case CONSTANT_FUNCTION:
|
| - case HANDLER:
|
| - case INTERCEPTOR:
|
| - return true;
|
| - case CALLBACKS: {
|
| - Object* callback_object = desc->GetCallbackObject();
|
| - // Non-JavaScript (i.e. native) accessors are always a property, otherwise
|
| - // either the getter or the setter must be an accessor. Put another way:
|
| - // If we only see map transitions and holes in a pair, this is not a
|
| - // property.
|
| - return (!callback_object->IsAccessorPair() ||
|
| - AccessorPair::cast(callback_object)->ContainsAccessor());
|
| - }
|
| - case MAP_TRANSITION:
|
| - case ELEMENTS_TRANSITION:
|
| - case CONSTANT_TRANSITION:
|
| - case NULL_DESCRIPTOR:
|
| - return false;
|
| - }
|
| - UNREACHABLE(); // keep the compiler happy
|
| - return false;
|
| -}
|
| -
|
| -
|
| class LookupResult BASE_EMBEDDED {
|
| public:
|
| explicit LookupResult(Isolate* isolate)
|
| @@ -290,9 +261,10 @@ class LookupResult BASE_EMBEDDED {
|
| bool IsFound() { return lookup_type_ != NOT_FOUND; }
|
| bool IsHandler() { return lookup_type_ == HANDLER_TYPE; }
|
|
|
| - // Is the result is a property excluding transitions and the null descriptor?
|
| + // Is the result is a property excluding transitions and the null
|
| + // descriptor?
|
| bool IsProperty() {
|
| - return IsFound() && IsPropertyDescriptor(this);
|
| + return IsFound() && IsRealProperty(GetPropertyDetails().type());
|
| }
|
|
|
| bool IsCacheable() { return cacheable_; }
|
|
|