v8
5.5.372 (node 7.10.1)
V8 is Google's open source JavaScript engine
|
#include <v8.h>
Public Member Functions | |
V8_INLINE void | Reset () |
template<class S > | |
V8_INLINE void | Reset (Isolate *isolate, const Local< S > &other) |
template<class S > | |
V8_INLINE void | Reset (Isolate *isolate, const PersistentBase< S > &other) |
V8_INLINE bool | IsEmpty () const |
V8_INLINE void | Empty () |
V8_INLINE Local< T > | Get (Isolate *isolate) const |
template<class S > | |
V8_INLINE bool | operator== (const PersistentBase< S > &that) const |
template<class S > | |
V8_INLINE bool | operator== (const Local< S > &that) const |
template<class S > | |
V8_INLINE bool | operator!= (const PersistentBase< S > &that) const |
template<class S > | |
V8_INLINE bool | operator!= (const Local< S > &that) const |
template<typename P > | |
V8_INLINE void | SetWeak (P *parameter, typename WeakCallbackInfo< P >::Callback callback, WeakCallbackType type) |
V8_INLINE void | SetWeak () |
template<typename P > | |
V8_INLINE P * | ClearWeak () |
V8_INLINE void | ClearWeak () |
V8_INLINE void | RegisterExternalReference (Isolate *isolate) const |
V8_INLINE void | RegisterExternalReference (EmbedderReachableReferenceReporter *reporter) const |
V8_INLINE void | MarkIndependent () |
V8_INLINE | V8_DEPRECATED ("deprecated optimization, do not use partially dependent groups", void MarkPartiallyDependent()) |
V8_INLINE void | MarkActive () |
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 |
PersistentBase (const PersistentBase &other)=delete | |
void | operator= (const PersistentBase &)=delete |
template<class S > | |
void | Reset (Isolate *isolate, const Local< S > &other) |
template<class S > | |
void | Reset (Isolate *isolate, const PersistentBase< S > &other) |
Friends | |
class | Isolate |
class | Utils |
template<class F > | |
class | Local |
template<class F1 , class F2 > | |
class | Persistent |
template<class F > | |
class | Global |
template<class F > | |
class | PersistentBase |
template<class F > | |
class | ReturnValue |
template<class F1 , class F2 , class F3 > | |
class | PersistentValueMapBase |
template<class F1 , class F2 > | |
class | PersistentValueVector |
class | Object |
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.
|
delete |
V8_INLINE P* ClearWeak | ( | ) |
Definition at line 517 of file v8.h.
References Local< T >::Local.
|
inline |
Definition at line 514 of file v8.h.
Referenced by PersistentBase< T >::RegisterExternalReference().
bool IsIndependent |
Definition at line 8489 of file v8.h.
References Internals::GetNodeFlag(), and Internals::kNodeIsIndependentShift.
bool IsNearDeath |
Checks if the handle holds the only reference to an object.
Definition at line 8498 of file v8.h.
References Internals::GetNodeState(), Internals::kNodeStateIsNearDeathValue, and Internals::kNodeStateIsPendingValue.
bool IsWeak |
Returns true if the handle's reference is weak.
Definition at line 8509 of file v8.h.
References Internals::GetNodeState(), and Internals::kNodeStateIsWeakValue.
void MarkActive |
Marks the reference to this object as active. The scavenge garbage collection should not reclaim the objects marked as active. This bit is cleared after the each garbage collection pass.
Definition at line 8596 of file v8.h.
References Internals::kNodeIsActiveShift, and Internals::UpdateNodeFlag().
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 8576 of file v8.h.
References Internals::kNodeIsIndependentShift, and Internals::UpdateNodeFlag().
|
inline |
|
delete |
|
inline |
void RegisterExternalReference | ( | EmbedderReachableReferenceReporter * | reporter | ) | const |
Allows the embedder to tell the v8 garbage collector that a certain object is alive. Only allowed when the embedder is asked to trace its heap by EmbedderHeapTracer.
Definition at line 8569 of file v8.h.
References PersistentBase< T >::IsEmpty(), and EmbedderReachableReferenceReporter::ReportExternalReference().
void Reset |
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 PersistentBase< S > & | other | ||
) |
void SetWeak |
Turns this handle into a weak phantom handle without finalization callback. The handle will be reset automatically when the garbage collector detects that the object is no longer reachable. A related function Isolate::NumberOfPhantomHandleResetsSinceLastCall returns how many phantom handles were reset by the garbage collector.
V8_INLINE void SetWeak | ( | P * | parameter, |
typename WeakCallbackInfo< P >::Callback | callback, | ||
WeakCallbackType | type | ||
) |
Install a finalization callback on this object. NOTE: There is no guarantee as to when or even if the callback is invoked. The invocation is performed solely on a best effort basis. As always, GC-based finalization should not be relied upon for any critical form of resource management!
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 8605 of file v8.h.
References Internals::kNodeClassIdOffset.
V8_INLINE V8_DEPRECATED | ( | "deprecated | optimization, |
do not use partially dependent groups" | , | ||
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.
uint16_t WrapperClassId |
Returns the class ID previously assigned to this handle or 0 if no class ID was previously assigned.
Definition at line 8615 of file v8.h.
References Internals::kNodeClassIdOffset.
|
friend |
Definition at line 646 of file v8.h.
Referenced by PersistentValueVector< V, Traits >::Append(), PersistentValueVector< V, Traits >::Clear(), Global< T >::Pass(), PersistentValueMapBase< K, V, Traits >::Release(), PersistentValueMapBase< K, V, Traits >::RemoveWeak(), PersistentValueMap< K, V, Traits >::Set(), and GlobalValueMap< K, V, Traits >::Set().
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |