v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PersistentBase< T > Class Template Reference

#include <v8.h>

Inheritance diagram for PersistentBase< T >:

Public Member Functions

V8_INLINE void Reset ()
 
template<class S >
V8_INLINE void Reset (Isolate *isolate, const Handle< S > &other)
 
template<class S >
V8_INLINE void Reset (Isolate *isolate, const PersistentBase< S > &other)
 
V8_INLINE bool IsEmpty () const
 
template<class S >
V8_INLINE bool operator== (const PersistentBase< S > &that) const
 
template<class S >
V8_INLINE bool operator== (const Handle< S > &that) const
 
template<class S >
V8_INLINE bool operator!= (const PersistentBase< S > &that) const
 
template<class S >
V8_INLINE bool operator!= (const Handle< S > &that) const
 
template<typename P >
V8_INLINE void SetWeak (P *parameter, typename WeakCallbackData< T, P >::Callback callback)
 
template<typename S , typename P >
V8_INLINE void SetWeak (P *parameter, typename WeakCallbackData< S, P >::Callback callback)
 
template<typename P >
V8_INLINE P * ClearWeak ()
 
V8_INLINE void ClearWeak ()
 
V8_INLINE void MarkIndependent ()
 
V8_INLINE void MarkPartiallyDependent ()
 
V8_INLINE bool IsIndependent () const
 
V8_INLINE bool IsNearDeath () const
 
V8_INLINE bool IsWeak () const
 
V8_INLINE void SetWrapperClassId (uint16_t class_id)
 
V8_INLINE uint16_t WrapperClassId () const
 
template<class S >
void Reset (Isolate *isolate, const Handle< S > &other)
 
template<class S >
void Reset (Isolate *isolate, const PersistentBase< S > &other)
 
template<typename S , typename P >
void SetWeak (P *parameter, typename WeakCallbackData< S, P >::Callback callback)
 
template<typename P >
void SetWeak (P *parameter, typename WeakCallbackData< T, P >::Callback callback)
 

Friends

class Isolate
 
class Utils
 
template<class F >
class Handle
 
template<class F >
class Local
 
template<class F1 , class F2 >
class Persistent
 
template<class F >
class UniquePersistent
 
template<class F >
class PersistentBase
 
template<class F >
class ReturnValue
 
template<class F1 , class F2 , class F3 >
class PersistentValueMap
 
class Object
 

Detailed Description

template<class T>
class v8::PersistentBase< T >

An object reference that is independent of any handle scope. Where a Local handle only lives as long as the HandleScope in which it was allocated, a PersistentBase handle remains valid until it is explicitly disposed.

A persistent handle contains a reference to a storage cell within the v8 engine which holds an object value and which is updated by the garbage collector whenever the object is moved. A new storage cell can be created using the constructor or PersistentBase::Reset and existing handles can be disposed using PersistentBase::Reset.

Definition at line 127 of file v8.h.

Member Function Documentation

V8_INLINE P* ClearWeak ( )
P * ClearWeak ( )
inline

Definition at line 539 of file v8.h.

V8_INLINE bool IsEmpty ( ) const
inline

Definition at line 497 of file v8.h.

Referenced by LocalContext::IsReady(), main(), TEST(), and THREADED_TEST().

bool IsIndependent ( ) const

Definition at line 5779 of file v8.h.

References I.

Referenced by THREADED_TEST().

bool IsNearDeath ( ) const

Checks if the handle holds the only reference to an object.

Definition at line 5788 of file v8.h.

References I.

bool IsWeak ( ) const

Returns true if the handle's reference is weak.

Definition at line 5799 of file v8.h.

References I.

void MarkIndependent ( )

Marks the reference to this object independent. Garbage collector is free to ignore any object groups containing this object. Weak callback for an independent handle should not assume that it will be preceded by a global GC prologue callback or followed by a global GC epilogue callback.

Definition at line 5867 of file v8.h.

References I.

Referenced by THREADED_TEST().

void MarkPartiallyDependent ( )

Marks the reference to this object partially dependent. Partially dependent handles only depend on other partially dependent handles and these dependencies are provided through object groups. It provides a way to build smaller object groups for young objects that represent only a subset of all external dependencies. This mark is automatically cleared after each garbage collection.

Definition at line 5877 of file v8.h.

References I.

V8_INLINE bool operator!= ( const PersistentBase< S > &  that) const
inline

Definition at line 517 of file v8.h.

V8_INLINE bool operator!= ( const Handle< S > &  that) const
inline

Definition at line 521 of file v8.h.

V8_INLINE bool operator== ( const PersistentBase< S > &  that) const
inline

Definition at line 500 of file v8.h.

Referenced by PersistentBase< Function >::operator!=().

V8_INLINE bool operator== ( const Handle< S > &  that) const
inline

Definition at line 508 of file v8.h.

V8_INLINE void Reset ( Isolate isolate,
const Handle< S > &  other 
)

If non-empty, destroy the underlying storage cell and create a new one with the contents of other if other is non empty

V8_INLINE void Reset ( Isolate isolate,
const PersistentBase< S > &  other 
)

If non-empty, destroy the underlying storage cell and create a new one with the contents of other if other is non empty

void Reset ( Isolate isolate,
const Handle< S > &  other 
)

Definition at line 5817 of file v8.h.

References S, T, and TYPE_CHECK.

void Reset ( Isolate isolate,
const PersistentBase< S > &  other 
)

Definition at line 5827 of file v8.h.

References S, T, and TYPE_CHECK.

V8_INLINE void SetWeak ( P *  parameter,
typename WeakCallbackData< T, P >::Callback  callback 
)

Referenced by TEST(), and THREADED_TEST().

V8_INLINE void SetWeak ( P *  parameter,
typename WeakCallbackData< S, P >::Callback  callback 
)
void SetWeak ( P *  parameter,
typename WeakCallbackData< S, P >::Callback  callback 
)

Definition at line 5838 of file v8.h.

References S, T, and TYPE_CHECK.

void SetWeak ( P *  parameter,
typename WeakCallbackData< T, P >::Callback  callback 
)

Definition at line 5851 of file v8.h.

void SetWrapperClassId ( uint16_t  class_id)

Assigns a wrapper class ID to the handle. See RetainedObjectInfo interface description in v8-profiler.h for details.

Definition at line 5896 of file v8.h.

References I, and obj.

Referenced by TEST().

uint16_t WrapperClassId ( ) const

Returns the class ID previously assigned to this handle or 0 if no class ID was previously assigned.

Definition at line 5906 of file v8.h.

References I, and obj.

Referenced by TEST().

Friends And Related Function Documentation

friend class Handle
friend

Definition at line 582 of file v8.h.

friend class Isolate
friend

Definition at line 580 of file v8.h.

friend class Local
friend

Definition at line 583 of file v8.h.

friend class Object
friend

Definition at line 589 of file v8.h.

friend class Persistent
friend

Definition at line 584 of file v8.h.

friend class PersistentBase
friend

Definition at line 586 of file v8.h.

friend class PersistentValueMap
friend

Definition at line 588 of file v8.h.

friend class ReturnValue
friend

Definition at line 587 of file v8.h.

friend class UniquePersistent
friend

Definition at line 585 of file v8.h.

friend class Utils
friend

Definition at line 581 of file v8.h.


The documentation for this class was generated from the following file: