v8 12.4.254 (node 22.4.1)
V8 is Google's open source JavaScript engine
|
#include <v8-traced-handle.h>
Data Structures | |
struct | IsDroppable |
Public Member Functions | |
V8_INLINE | TracedReference ()=default |
template<class S > | |
TracedReference (Isolate *isolate, Local< S > that) | |
template<class S > | |
TracedReference (Isolate *isolate, Local< S > that, IsDroppable) | |
V8_INLINE | TracedReference (TracedReference &&other) noexcept |
template<typename S > | |
V8_INLINE | TracedReference (TracedReference< S > &&other) noexcept |
V8_INLINE | TracedReference (const TracedReference &other) |
template<typename S > | |
V8_INLINE | TracedReference (const TracedReference< S > &other) |
V8_INLINE TracedReference & | operator= (TracedReference &&rhs) noexcept |
template<class S > | |
V8_INLINE TracedReference & | operator= (TracedReference< S > &&rhs) noexcept |
V8_INLINE TracedReference & | operator= (const TracedReference &rhs) |
template<class S > | |
V8_INLINE TracedReference & | operator= (const TracedReference< S > &rhs) |
template<class S > | |
V8_INLINE void | Reset (Isolate *isolate, const Local< S > &other) |
template<class S > | |
V8_INLINE void | Reset (Isolate *isolate, const Local< S > &other, IsDroppable) |
template<class S > | |
V8_INLINE TracedReference< S > & | As () const |
template<class S > | |
void | Reset (Isolate *isolate, const Local< S > &other) |
template<class S > | |
void | Reset (Isolate *isolate, const Local< S > &other, IsDroppable) |
template<class S > | |
TracedReference< T > & | operator= (TracedReference< S > &&rhs) noexcept |
template<class S > | |
TracedReference< T > & | operator= (const TracedReference< S > &rhs) |
Public Member Functions inherited from BasicTracedReference< T > | |
Local< T > | Get (Isolate *isolate) const |
template<class S > | |
V8_INLINE BasicTracedReference< S > & | As () const |
V8_INLINE T * | operator-> () const |
V8_INLINE T * | operator* () const |
Public Member Functions inherited from TracedReferenceBase | |
V8_INLINE void | Reset () |
V8_INLINE Local< Value > | Get (Isolate *isolate) const |
bool | IsEmptyThreadSafe () const |
Public Member Functions inherited from IndirectHandleBase | |
V8_INLINE bool | IsEmpty () const |
V8_INLINE void | Clear () |
Additional Inherited Members | |
Protected Member Functions inherited from TracedReferenceBase | |
V8_INLINE | TracedReferenceBase ()=default |
void | SetSlotThreadSafe (void *new_val) |
const void * | GetSlotThreadSafe () 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 IndirectHandleBase & | operator= (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 |
A traced handle without destructor that clears the handle. The embedder needs to ensure that the handle is not accessed once the V8 object has been reclaimed. For more details see BasicTracedReference.
Definition at line 177 of file v8-traced-handle.h.
|
default |
An empty TracedReference without storage cell.
|
inline |
Construct a TracedReference from a Local.
When the Local is non-empty, a new storage cell is created pointing to the same object.
Definition at line 195 of file v8-traced-handle.h.
References IndirectHandleBase::IsEmpty(), v8::internal::kDefault, v8::internal::kInitializingStore, and V8_UNLIKELY.
|
inline |
Construct a droppable TracedReference from a Local. Droppable means that V8 is free to reclaim the pointee if it is unmodified and otherwise unreachable
When the Local is non-empty, a new storage cell is created pointing to the same object.
Definition at line 215 of file v8-traced-handle.h.
References IndirectHandleBase::IsEmpty(), v8::internal::kDroppable, v8::internal::kInitializingStore, and V8_UNLIKELY.
|
inlinenoexcept |
Move constructor initializing TracedReference from an existing one.
Definition at line 231 of file v8-traced-handle.h.
|
inlinenoexcept |
Move constructor initializing TracedReference from an existing one.
Definition at line 241 of file v8-traced-handle.h.
|
inline |
Copy constructor initializing TracedReference from an existing one.
Definition at line 250 of file v8-traced-handle.h.
|
inline |
Copy constructor initializing TracedReference from an existing one.
Definition at line 260 of file v8-traced-handle.h.
Definition at line 302 of file v8-traced-handle.h.
TracedReference< T > & operator= | ( | const TracedReference< T > & | rhs | ) |
Copy assignment operator initializing TracedReference from an existing one.
Definition at line 420 of file v8-traced-handle.h.
References v8::internal::CopyTracedReference(), IndirectHandleBase::IsEmpty(), and IndirectHandleBase::slot().
V8_INLINE TracedReference & operator= | ( | const TracedReference< S > & | rhs | ) |
Copy assignment operator initializing TracedReference from an existing one.
TracedReference< T > & operator= | ( | const TracedReference< S > & | rhs | ) |
Definition at line 403 of file v8-traced-handle.h.
|
noexcept |
Move assignment operator initializing TracedReference from an existing one.
Definition at line 411 of file v8-traced-handle.h.
References v8::internal::MoveTracedReference().
|
noexcept |
Move assignment operator initializing TracedReference from an existing one.
|
noexcept |
Definition at line 394 of file v8-traced-handle.h.
V8_INLINE void Reset | ( | Isolate * | isolate, |
const Local< S > & | other | ||
) |
Always resets the reference. Creates a new reference from other
if it is non-empty.
Definition at line 365 of file v8-traced-handle.h.
References IndirectHandleBase::IsEmpty(), v8::internal::kAssigningStore, v8::internal::kDefault, and V8_UNLIKELY.
V8_INLINE void Reset | ( | Isolate * | isolate, |
const Local< S > & | other, | ||
IsDroppable | |||
) |
Always resets the reference. Creates a new reference from other
if it is non-empty. The new reference is droppable, see constructor.
void Reset | ( | Isolate * | isolate, |
const Local< S > & | other, | ||
IsDroppable | |||
) |
Definition at line 379 of file v8-traced-handle.h.
References IndirectHandleBase::IsEmpty(), v8::internal::kAssigningStore, v8::internal::kDroppable, and V8_UNLIKELY.