![]() |
v8 13.6.233 (node 24.1.0)
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) |
![]() | |
Local< T > | Get (Isolate *isolate) const |
template<class S> | |
V8_INLINE BasicTracedReference< S > & | As () const |
![]() | |
V8_INLINE void | Reset () |
V8_INLINE Local< Data > | Get (Isolate *isolate) const |
bool | IsEmptyThreadSafe () const |
![]() | |
V8_INLINE bool | IsEmpty () const |
V8_INLINE void | Clear () |
Additional Inherited Members | |
![]() | |
V8_INLINE | TracedReferenceBase ()=default |
void | SetSlotThreadSafe (internal::Address *new_val) |
const internal::Address * | GetSlotThreadSafe () const |
V8_EXPORT void | CheckValue () const |
![]() | |
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 |
V8_INLINE internal::ValueHelper::InternalRepresentationType | repr () 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 165 of file v8-traced-handle.h.
|
default |
An empty TracedReference without storage cell.
References V8_INLINE.
Referenced by As(), operator=(), operator=(), operator=(), operator=(), TracedReference(), TracedReference(), TracedReference(), and TracedReference().
|
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 183 of file v8-traced-handle.h.
References BasicTracedReference< T >::BasicTracedReference, IndirectHandleBase::IsEmpty(), v8::internal::kDefault, v8::internal::kInitializingStore, BasicTracedReference< T >::Local, IndirectHandleBase::slot(), 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 203 of file v8-traced-handle.h.
References BasicTracedReference< T >::BasicTracedReference, IndirectHandleBase::IsEmpty(), v8::internal::kDroppable, v8::internal::kInitializingStore, BasicTracedReference< T >::Local, IndirectHandleBase::slot(), and V8_UNLIKELY.
|
inlinenoexcept |
Move constructor initializing TracedReference from an existing one.
Definition at line 219 of file v8-traced-handle.h.
References TracedReference(), and V8_INLINE.
|
inlinenoexcept |
Move constructor initializing TracedReference from an existing one.
Definition at line 229 of file v8-traced-handle.h.
References TracedReference(), and V8_INLINE.
|
inline |
Copy constructor initializing TracedReference from an existing one.
Definition at line 238 of file v8-traced-handle.h.
References TracedReference(), and V8_INLINE.
|
inline |
Copy constructor initializing TracedReference from an existing one.
Definition at line 248 of file v8-traced-handle.h.
References TracedReference(), and V8_INLINE.
Definition at line 290 of file v8-traced-handle.h.
References TracedReference(), and V8_INLINE.
Referenced by operator=(), and operator=().
TracedReference< T > & operator= | ( | const TracedReference< T > & | rhs | ) |
Copy assignment operator initializing TracedReference from an existing one.
Definition at line 408 of file v8-traced-handle.h.
References v8::internal::CopyTracedReference(), IndirectHandleBase::IsEmpty(), Reset(), IndirectHandleBase::slot(), and TracedReference().
V8_INLINE TracedReference & operator= | ( | const TracedReference< S > & | rhs | ) |
Copy assignment operator initializing TracedReference from an existing one.
References TracedReference(), and V8_INLINE.
TracedReference< T > & operator= | ( | const TracedReference< S > & | rhs | ) |
Definition at line 391 of file v8-traced-handle.h.
References As(), and TracedReference().
|
noexcept |
Move assignment operator initializing TracedReference from an existing one.
Definition at line 399 of file v8-traced-handle.h.
References v8::internal::MoveTracedReference(), and TracedReference().
|
noexcept |
Move assignment operator initializing TracedReference from an existing one.
References TracedReference(), and V8_INLINE.
|
noexcept |
Definition at line 382 of file v8-traced-handle.h.
References As(), and TracedReference().
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.
References BasicTracedReference< T >::Local, and V8_INLINE.
Referenced by operator=(), Reset(), and Reset().
Definition at line 353 of file v8-traced-handle.h.
References IndirectHandleBase::IsEmpty(), v8::internal::kAssigningStore, v8::internal::kDefault, BasicTracedReference< T >::Local, Reset(), TracedReferenceBase::SetSlotThreadSafe(), 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.
References BasicTracedReference< T >::Local, and V8_INLINE.
void Reset | ( | Isolate * | isolate, |
const Local< S > & | other, | ||
IsDroppable | ) |
Definition at line 367 of file v8-traced-handle.h.
References IndirectHandleBase::IsEmpty(), v8::internal::kAssigningStore, v8::internal::kDroppable, BasicTracedReference< T >::Local, Reset(), TracedReferenceBase::SetSlotThreadSafe(), and V8_UNLIKELY.