summaryrefslogtreecommitdiffstats
path: root/src/property.h
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-11-30 15:57:28 +0000
committerBen Murdoch <benm@google.com>2011-12-02 17:27:08 +0000
commit257744e915dfc84d6d07a6b2accf8402d9ffc708 (patch)
tree19d8782d5686697f36b1771e7fcd46f290b82c3c /src/property.h
parent92022043ea907575278de828a5c9cf6939b51e5e (diff)
downloadandroid_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.h32
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_;