diff options
author | Ben Murdoch <benm@google.com> | 2011-11-30 15:57:28 +0000 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-12-02 17:27:08 +0000 |
commit | 257744e915dfc84d6d07a6b2accf8402d9ffc708 (patch) | |
tree | 19d8782d5686697f36b1771e7fcd46f290b82c3c /src/property.h | |
parent | 92022043ea907575278de828a5c9cf6939b51e5e (diff) | |
download | android_external_v8-257744e915dfc84d6d07a6b2accf8402d9ffc708.tar.gz android_external_v8-257744e915dfc84d6d07a6b2accf8402d9ffc708.tar.bz2 android_external_v8-257744e915dfc84d6d07a6b2accf8402d9ffc708.zip |
Upgrade to V8 3.3
Merge V8 at 3.3.10.39
Simple merge required updates to makefiles only.
Bug: 5688872
Change-Id: I14703f418235f5ce6013b9b3e2e502407a9f6dfd
Diffstat (limited to 'src/property.h')
-rw-r--r-- | src/property.h | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/property.h b/src/property.h index ee95ca21..87f9ea3d 100644 --- a/src/property.h +++ b/src/property.h @@ -28,6 +28,8 @@ #ifndef V8_PROPERTY_H_ #define V8_PROPERTY_H_ +#include "allocation.h" + namespace v8 { namespace internal { @@ -155,24 +157,15 @@ class ConstantFunctionDescriptor: public Descriptor { class CallbacksDescriptor: public Descriptor { public: CallbacksDescriptor(String* key, - Object* proxy, + Object* foreign, PropertyAttributes attributes, int index = 0) - : Descriptor(key, proxy, attributes, CALLBACKS, index) {} + : Descriptor(key, foreign, attributes, CALLBACKS, index) {} }; class LookupResult BASE_EMBEDDED { public: - // Where did we find the result; - enum { - NOT_FOUND, - DESCRIPTOR_TYPE, - DICTIONARY_TYPE, - INTERCEPTOR_TYPE, - CONSTANT_TYPE - } lookup_type_; - LookupResult() : lookup_type_(NOT_FOUND), cacheable_(true), @@ -209,6 +202,12 @@ class LookupResult BASE_EMBEDDED { number_ = entry; } + void HandlerResult() { + lookup_type_ = HANDLER_TYPE; + holder_ = NULL; + details_ = PropertyDetails(NONE, HANDLER); + } + void InterceptorResult(JSObject* holder) { lookup_type_ = INTERCEPTOR_TYPE; holder_ = holder; @@ -243,6 +242,7 @@ class LookupResult BASE_EMBEDDED { bool IsDontEnum() { return details_.IsDontEnum(); } bool IsDeleted() { return details_.IsDeleted(); } 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? @@ -343,6 +343,16 @@ class LookupResult BASE_EMBEDDED { } private: + // Where did we find the result; + enum { + NOT_FOUND, + DESCRIPTOR_TYPE, + DICTIONARY_TYPE, + HANDLER_TYPE, + INTERCEPTOR_TYPE, + CONSTANT_TYPE + } lookup_type_; + JSObject* holder_; int number_; bool cacheable_; |