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

#include <tagged-field.h>

Inheritance diagram for v8::internal::TaggedMember< T, CompressionScheme >:
Collaboration diagram for v8::internal::TaggedMember< T, CompressionScheme >:

Public Member Functions

constexpr TaggedMember ()=default
 
Tagged< Tload () const
 
void store (HeapObjectLayout *host, Tagged< T > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void store_no_write_barrier (Tagged< T > value)
 
Tagged< TRelaxed_Load () const
 
void Relaxed_Store (HeapObjectLayout *host, Tagged< T > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void Relaxed_Store_no_write_barrier (Tagged< T > value)
 
Tagged< TAcquire_Load () const
 
void Release_Store (HeapObjectLayout *host, Tagged< T > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void Release_Store_no_write_barrier (Tagged< T > value)
 
Tagged< TSeqCst_Load () const
 
void SeqCst_Store (HeapObjectLayout *host, Tagged< T > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void SeqCst_Store_no_write_barrier (Tagged< T > value)
 
Tagged< TSeqCst_Swap (HeapObjectLayout *host, Tagged< T > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
Tagged< TSeqCst_CompareAndSwap (HeapObjectLayout *host, Tagged< T > expected_value, Tagged< T > value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
- Public Member Functions inherited from v8::internal::TaggedImpl< HeapObjectReferenceType::WEAK, Tagged_t >
V8_INLINE constexpr TaggedImpl ()
 
V8_INLINE constexpr TaggedImpl (Tagged_t ptr)
 
 operator bool () const=delete
 
constexpr bool operator== (TaggedImpl< kOtherRefType, U > other) const
 
constexpr bool operator!= (TaggedImpl< kOtherRefType, U > other) const
 
constexpr bool SafeEquals (TaggedImpl< kOtherRefType, Tagged_t > other) const
 
constexpr bool operator< (TaggedImpl other) const
 
V8_INLINE constexpr Tagged_t ptr () const
 
constexpr bool IsObject () const
 
constexpr bool IsSmi () const
 
bool ToSmi (Tagged< Smi > *value) const
 
Tagged< SmiToSmi () const
 
constexpr bool IsHeapObject () const
 
constexpr bool IsCleared () const
 
constexpr bool IsStrongOrWeak () const
 
constexpr bool IsStrong () const
 
constexpr bool IsStrongOrSmi () const
 
constexpr bool IsWeak () const
 
constexpr bool IsWeakOrCleared () const
 
bool GetHeapObjectIfStrong (Tagged< HeapObject > *result) const
 
bool GetHeapObjectIfStrong (Isolate *isolate, Tagged< HeapObject > *result) const
 
Tagged< HeapObjectGetHeapObjectAssumeStrong () const
 
Tagged< HeapObjectGetHeapObjectAssumeStrong (Isolate *isolate) const
 
bool GetHeapObjectIfWeak (Tagged< HeapObject > *result) const
 
bool GetHeapObjectIfWeak (Isolate *isolate, Tagged< HeapObject > *result) const
 
Tagged< HeapObjectGetHeapObjectAssumeWeak () const
 
Tagged< HeapObjectGetHeapObjectAssumeWeak (Isolate *isolate) const
 
bool GetHeapObject (Tagged< HeapObject > *result) const
 
bool GetHeapObject (Isolate *isolate, Tagged< HeapObject > *result) const
 
bool GetHeapObject (Tagged< HeapObject > *result, HeapObjectReferenceType *reference_type) const
 
bool GetHeapObject (Isolate *isolate, Tagged< HeapObject > *result, HeapObjectReferenceType *reference_type) const
 
Tagged< HeapObjectGetHeapObject () const
 
Tagged< HeapObjectGetHeapObject (Isolate *isolate) const
 
Tagged< ObjectGetHeapObjectOrSmi () const
 
Tagged< ObjectGetHeapObjectOrSmi (Isolate *isolate) const
 
Tagged< Tcast () const
 

Private Member Functions

void WriteBarrier (HeapObjectLayout *host, Tagged< T > value, WriteBarrierMode mode)
 

Static Private Member Functions

static Address tagged_to_full (Tagged_t tagged_value)
 
static Tagged_t full_to_tagged (Address value)
 

Additional Inherited Members

- Static Public Attributes inherited from v8::internal::TaggedImpl< HeapObjectReferenceType::WEAK, Tagged_t >
static const bool kIsFull
 
static const bool kCanBeWeak
 
- Protected Member Functions inherited from v8::internal::TaggedImpl< HeapObjectReferenceType::WEAK, Tagged_t >
Tagged_tptr_location ()
 
const Tagged_tptr_location () const
 

Detailed Description

template<typename T, typename CompressionScheme>
class v8::internal::TaggedMember< T, CompressionScheme >

Definition at line 30 of file tagged-field.h.

Constructor & Destructor Documentation

◆ TaggedMember()

template<typename T , typename CompressionScheme >
v8::internal::TaggedMember< T, CompressionScheme >::TaggedMember ( )
constexprdefault

Member Function Documentation

◆ Acquire_Load()

template<typename T , typename CompressionScheme >
Tagged< T > v8::internal::TaggedMember< T, CompressionScheme >::Acquire_Load ( ) const
inline

Definition at line 73 of file tagged-field-inl.h.

Here is the call graph for this function:

◆ full_to_tagged()

template<typename T , typename CompressionScheme >
Tagged_t v8::internal::TaggedMember< T, CompressionScheme >::full_to_tagged ( Address value)
inlinestaticprivate

Definition at line 37 of file tagged-field-inl.h.

◆ load()

template<typename T , typename CompressionScheme >
Tagged< T > v8::internal::TaggedMember< T, CompressionScheme >::load ( ) const
inline

Definition at line 46 of file tagged-field-inl.h.

◆ Relaxed_Load()

template<typename T , typename CompressionScheme >
Tagged< T > v8::internal::TaggedMember< T, CompressionScheme >::Relaxed_Load ( ) const
inline

Definition at line 59 of file tagged-field-inl.h.

◆ Relaxed_Store()

template<typename T , typename CompressionScheme >
void v8::internal::TaggedMember< T, CompressionScheme >::Relaxed_Store ( HeapObjectLayout * host,
Tagged< T > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 65 of file tagged-field-inl.h.

◆ Relaxed_Store_no_write_barrier()

template<typename T , typename CompressionScheme >
void v8::internal::TaggedMember< T, CompressionScheme >::Relaxed_Store_no_write_barrier ( Tagged< T > value)
inline

Definition at line 133 of file tagged-field-inl.h.

Here is the call graph for this function:

◆ Release_Store()

template<typename T , typename CompressionScheme >
void v8::internal::TaggedMember< T, CompressionScheme >::Release_Store ( HeapObjectLayout * host,
Tagged< T > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 79 of file tagged-field-inl.h.

◆ Release_Store_no_write_barrier()

template<typename T , typename CompressionScheme >
void v8::internal::TaggedMember< T, CompressionScheme >::Release_Store_no_write_barrier ( Tagged< T > value)
inline

Definition at line 140 of file tagged-field-inl.h.

Here is the call graph for this function:

◆ SeqCst_CompareAndSwap()

template<typename T , typename CompressionScheme >
Tagged< T > v8::internal::TaggedMember< T, CompressionScheme >::SeqCst_CompareAndSwap ( HeapObjectLayout * host,
Tagged< T > expected_value,
Tagged< T > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 110 of file tagged-field-inl.h.

Here is the call graph for this function:

◆ SeqCst_Load()

template<typename T , typename CompressionScheme >
Tagged< T > v8::internal::TaggedMember< T, CompressionScheme >::SeqCst_Load ( ) const
inline

Definition at line 87 of file tagged-field-inl.h.

Here is the call graph for this function:

◆ SeqCst_Store()

template<typename T , typename CompressionScheme >
void v8::internal::TaggedMember< T, CompressionScheme >::SeqCst_Store ( HeapObjectLayout * host,
Tagged< T > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 93 of file tagged-field-inl.h.

◆ SeqCst_Store_no_write_barrier()

template<typename T , typename CompressionScheme >
void v8::internal::TaggedMember< T, CompressionScheme >::SeqCst_Store_no_write_barrier ( Tagged< T > value)
inline

Definition at line 147 of file tagged-field-inl.h.

Here is the call graph for this function:

◆ SeqCst_Swap()

template<typename T , typename CompressionScheme >
Tagged< T > v8::internal::TaggedMember< T, CompressionScheme >::SeqCst_Swap ( HeapObjectLayout * host,
Tagged< T > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 101 of file tagged-field-inl.h.

Here is the call graph for this function:

◆ store()

template<typename T , typename CompressionScheme >
void v8::internal::TaggedMember< T, CompressionScheme >::store ( HeapObjectLayout * host,
Tagged< T > value,
WriteBarrierMode mode = UPDATE_WRITE_BARRIER )
inline

Definition at line 51 of file tagged-field-inl.h.

◆ store_no_write_barrier()

template<typename T , typename CompressionScheme >
void v8::internal::TaggedMember< T, CompressionScheme >::store_no_write_barrier ( Tagged< T > value)
inline

Definition at line 123 of file tagged-field-inl.h.

◆ tagged_to_full()

template<typename T , typename CompressionScheme >
Address v8::internal::TaggedMember< T, CompressionScheme >::tagged_to_full ( Tagged_t tagged_value)
inlinestaticprivate

Definition at line 20 of file tagged-field-inl.h.

◆ WriteBarrier()

template<typename T , typename CompressionScheme >
void v8::internal::TaggedMember< T, CompressionScheme >::WriteBarrier ( HeapObjectLayout * host,
Tagged< T > value,
WriteBarrierMode mode )
inlineprivate

Definition at line 154 of file tagged-field-inl.h.

Here is the call graph for this function:

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