v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
TracedReferenceBase Class Reference

#include <v8-traced-handle.h>

Inheritance diagram for TracedReferenceBase:
Collaboration diagram for TracedReferenceBase:

Public Member Functions

V8_INLINE void Reset ()
 
V8_INLINE Local< DataGet (Isolate *isolate) const
 
bool IsEmptyThreadSafe () const
 
- Public Member Functions inherited from IndirectHandleBase
V8_INLINE bool IsEmpty () const
 
V8_INLINE void Clear ()
 

Protected Member Functions

V8_INLINE TracedReferenceBase ()=default
 
void SetSlotThreadSafe (internal::Address *new_val)
 
const internal::AddressGetSlotThreadSafe () const
 
V8_EXPORT void CheckValue () const
 
- Protected Member Functions inherited from 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 T * value () const
 
V8_INLINE internal::ValueHelper::InternalRepresentationType repr () const
 

Friends

class internal::BasicTracedReferenceExtractor
 
template<typename F>
class Local
 
template<typename U>
bool operator== (const TracedReferenceBase &lhs, const Local< U > &rhs)
 
bool operator== (const TracedReferenceBase &lhs, const TracedReferenceBase &rhs)
 

Detailed Description

An indirect handle, where the indirect pointer points to a GlobalHandles node.

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

Constructor & Destructor Documentation

◆ TracedReferenceBase()

V8_INLINE TracedReferenceBase ( )
protecteddefault

References V8_INLINE.

Referenced by Local, operator==, and operator==.

Member Function Documentation

◆ CheckValue()

V8_EXPORT void CheckValue ( ) const
protected

References V8_EXPORT.

◆ Get()

V8_INLINE Local< Data > Get ( Isolate * isolate) const
inline

Construct a Local<Data> from this handle.

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

References IndirectHandleBase::IsEmpty(), Local, Local< T >::New(), V8_INLINE, and IndirectHandleBase::value().

◆ GetSlotThreadSafe()

const internal::Address * GetSlotThreadSafe ( ) const
inlineprotected

Get this reference in a thread-safe way

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

References IndirectHandleBase::slot().

Referenced by IsEmptyThreadSafe().

◆ IsEmptyThreadSafe()

bool IsEmptyThreadSafe ( ) const
inline

Returns true if this TracedReference is empty, i.e., has not been assigned an object. This version of IsEmpty is thread-safe.

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

References GetSlotThreadSafe().

Referenced by JSVisitor::Trace().

◆ Reset()

void Reset ( )

If non-empty, destroy the underlying storage cell. |IsEmpty| will return true after this call.

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

References v8::internal::DisposeTracedReference(), IndirectHandleBase::IsEmpty(), SetSlotThreadSafe(), IndirectHandleBase::slot(), and V8_UNLIKELY.

◆ SetSlotThreadSafe()

void SetSlotThreadSafe ( internal::Address * new_val)
inlineprotected

Update this reference in a thread-safe way.

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

References IndirectHandleBase::slot().

Referenced by TracedReference< T >::Reset(), TracedReference< T >::Reset(), and Reset().

Friends And Related Symbol Documentation

◆ internal::BasicTracedReferenceExtractor

friend class internal::BasicTracedReferenceExtractor
friend

◆ Local

template<typename F>
friend class Local
friend

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

References Local, and TracedReferenceBase().

Referenced by Get(), and Local.

◆ operator== [1/2]

template<typename U>
bool operator== ( const TracedReferenceBase & lhs,
const Local< U > & rhs )
friend

◆ operator== [2/2]

bool operator== ( const TracedReferenceBase & lhs,
const TracedReferenceBase & rhs )
friend

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