diff options
author | Ryan <ry@tinyclouds.org> | 2009-06-08 18:34:06 +0200 |
---|---|---|
committer | Ryan <ry@tinyclouds.org> | 2009-06-08 18:34:06 +0200 |
commit | 696f02455792b368249bf9b013dde637b5ec31fd (patch) | |
tree | 95b2dbd6c2537df9df52f6627aac36fcf05f6a7a /deps/v8/src/handles.h | |
parent | f6a7fe26574defaa807a13248102ebe0f23270af (diff) | |
download | node-new-696f02455792b368249bf9b013dde637b5ec31fd.tar.gz |
Upgrade to v8 1.2.7
Diffstat (limited to 'deps/v8/src/handles.h')
-rw-r--r-- | deps/v8/src/handles.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/deps/v8/src/handles.h b/deps/v8/src/handles.h index 652d6c70e5..af638b804b 100644 --- a/deps/v8/src/handles.h +++ b/deps/v8/src/handles.h @@ -30,7 +30,8 @@ #include "apiutils.h" -namespace v8 { namespace internal { +namespace v8 { +namespace internal { // ---------------------------------------------------------------------------- // A Handle provides a reference to an object that survives relocation by @@ -118,15 +119,15 @@ class HandleScope { static int NumberOfHandles(); // Creates a new handle with the given value. - static inline void** CreateHandle(void* value) { + static inline Object** CreateHandle(Object* value) { void** result = current_.next; if (result == current_.limit) result = Extend(); // Update the current next field, set the value in the created // handle, and return the result. ASSERT(result < current_.limit); current_.next = result + 1; - *result = value; - return result; + *reinterpret_cast<Object**>(result) = value; + return reinterpret_cast<Object**>(result); } private: @@ -201,6 +202,9 @@ Handle<Object> ForceSetProperty(Handle<JSObject> object, Handle<Object> value, PropertyAttributes attributes); +Handle<Object> ForceDeleteProperty(Handle<JSObject> object, + Handle<Object> key); + Handle<Object> IgnoreAttributesAndSetLocalProperty(Handle<JSObject> object, Handle<String> key, Handle<Object> value, @@ -228,6 +232,9 @@ Handle<Object> GetPropertyWithInterceptor(Handle<JSObject> receiver, Handle<Object> GetPrototype(Handle<Object> obj); +// Return the object's hidden properties object. If the object has no hidden +// properties and create_if_needed is true, then a new hidden property object +// will be allocated. Otherwise the Heap::undefined_value is returned. Handle<Object> GetHiddenProperties(Handle<JSObject> obj, bool create_if_needed); Handle<Object> DeleteElement(Handle<JSObject> obj, uint32_t index); |