v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::BasicTracedReference< T > Class Template Reference

#include <v8-traced-handle.h>

Inheritance diagram for v8::BasicTracedReference< T >:
Collaboration diagram for v8::BasicTracedReference< T >:

Public Member Functions

Local< TGet (Isolate *isolate) const
 
template<class S >
V8_INLINE BasicTracedReference< S > & As () const
 
- Public Member Functions inherited from v8::TracedReferenceBase
V8_INLINE void Reset ()
 
V8_INLINE Local< DataGet (Isolate *isolate) const
 
bool IsEmptyThreadSafe () const
 
- Public Member Functions inherited from v8::api_internal::IndirectHandleBase
V8_INLINE bool IsEmpty () const
 
V8_INLINE void Clear ()
 

Private Member Functions

 BasicTracedReference ()=default
 

Static Private Member Functions

static V8_INLINE internal::AddressNewFromNonEmptyValue (Isolate *isolate, T *that, internal::Address **slot, internal::TracedReferenceStoreMode store_mode, internal::TracedReferenceHandling reference_handling)
 

Friends

template<typename F >
class Local
 
class Object
 
template<typename F >
class TracedReference
 
template<typename F >
class BasicTracedReference
 
template<typename F >
class ReturnValue
 

Additional Inherited Members

- Protected Member Functions inherited from v8::TracedReferenceBase
V8_INLINE TracedReferenceBase ()=default
 
void SetSlotThreadSafe (internal::Address *new_val)
 
const internal::AddressGetSlotThreadSafe () const
 
V8_EXPORT void CheckValue () const
 
- Protected Member Functions inherited from v8::api_internal::IndirectHandleBase
V8_INLINE IndirectHandleBase ()=default
 
V8_INLINE IndirectHandleBase (const IndirectHandleBase &other)=default
 
V8_INLINE IndirectHandleBaseoperator= (const IndirectHandleBase &that)=default
 
V8_INLINE IndirectHandleBase (internal::Address *location)
 
V8_INLINE internal::Address ptr () const
 
V8_INLINE internal::Address *const & slot () const
 
V8_INLINE internal::Address *& slot ()
 
template<typename T , bool check_null = false>
V8_INLINE Tvalue () const
 
V8_INLINE internal::ValueHelper::InternalRepresentationType repr () const
 

Detailed Description

template<typename T>
class v8::BasicTracedReference< T >

A traced handle with copy and move semantics. The handle is to be used together as part of GarbageCollected objects (see v8-cppgc.h) or from stack and specifies edges from C++ objects to JavaScript.

The exact semantics are:

  • Tracing garbage collections using CppHeap.
  • Non-tracing garbage collections refer to |v8::EmbedderRootsHandler::IsRoot()| whether the handle should be treated as root or not.

Note that the base class cannot be instantiated itself, use |TracedReference| instead.

Definition at line 124 of file v8-traced-handle.h.

Constructor & Destructor Documentation

◆ BasicTracedReference()

template<typename T >
v8::BasicTracedReference< T >::BasicTracedReference ( )
privatedefault

An empty BasicTracedReference without storage cell.

Member Function Documentation

◆ As()

template<typename T >
template<class S >
V8_INLINE BasicTracedReference< S > & v8::BasicTracedReference< T >::As ( ) const
inline

Definition at line 132 of file v8-traced-handle.h.

◆ Get()

template<typename T >
Local< T > v8::BasicTracedReference< T >::Get ( Isolate * isolate) const
inline

Construct a Local<T> from this handle.

Definition at line 129 of file v8-traced-handle.h.

Here is the call graph for this function:

◆ NewFromNonEmptyValue()

template<class T >
internal::Address * v8::BasicTracedReference< T >::NewFromNonEmptyValue ( Isolate * isolate,
T * that,
internal::Address ** slot,
internal::TracedReferenceStoreMode store_mode,
internal::TracedReferenceHandling reference_handling )
staticprivate

Definition at line 298 of file v8-traced-handle.h.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ BasicTracedReference

template<typename T >
template<typename F >
friend class BasicTracedReference
friend

Definition at line 154 of file v8-traced-handle.h.

◆ Local

template<typename T >
template<typename F >
friend class Local
friend

Definition at line 149 of file v8-traced-handle.h.

◆ Object

template<typename T >
friend class Object
friend

Definition at line 150 of file v8-traced-handle.h.

◆ ReturnValue

template<typename T >
template<typename F >
friend class ReturnValue
friend

Definition at line 156 of file v8-traced-handle.h.

◆ TracedReference

template<typename T >
template<typename F >
friend class TracedReference
friend

Definition at line 152 of file v8-traced-handle.h.


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