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

#include <slots.h>

Inheritance diagram for v8::internal::FullObjectSlot:
Collaboration diagram for v8::internal::FullObjectSlot:

Public Types

using TObject = Tagged<Object>
 
using THeapObjectSlot = FullHeapObjectSlot
 
- Public Types inherited from v8::internal::SlotBase< FullObjectSlot, Address >
using TData
 

Public Member Functions

 FullObjectSlot ()
 
 FullObjectSlot (Address ptr)
 
 FullObjectSlot (const Address *ptr)
 
 FullObjectSlot (TaggedBase *object)
 
template<typename T >
 FullObjectSlot (SlotBase< T, TData, kSlotDataAlignment > slot)
 
bool contains_map_value (Address raw_value) const
 
bool Relaxed_ContainsMapValue (Address raw_value) const
 
Tagged< Objectoperator* () const
 
Tagged< Objectload () const
 
Tagged< Objectload (PtrComprCageBase cage_base) const
 
void store (Tagged< Object > value) const
 
void store_map (Tagged< Map > map) const
 
Tagged< Mapload_map () const
 
Tagged< ObjectAcquire_Load () const
 
Tagged< ObjectAcquire_Load (PtrComprCageBase cage_base) const
 
Tagged< ObjectRelaxed_Load () const
 
Tagged< ObjectRelaxed_Load (PtrComprCageBase cage_base) const
 
Address Relaxed_Load_Raw () const
 
void Relaxed_Store (Tagged< Object > value) const
 
void Release_Store (Tagged< Object > value) const
 
Tagged< ObjectRelaxed_CompareAndSwap (Tagged< Object > old, Tagged< Object > target) const
 
Tagged< ObjectRelease_CompareAndSwap (Tagged< Object > old, Tagged< Object > target) const
 
- Public Member Functions inherited from v8::internal::SlotBase< FullObjectSlot, Address >
FullObjectSlotoperator++ ()
 
FullObjectSlot operator++ (int)
 
FullObjectSlotoperator-- ()
 
FullObjectSlot operator-- (int)
 
bool operator< (const SlotBase &other) const
 
bool operator<= (const SlotBase &other) const
 
bool operator> (const SlotBase &other) const
 
bool operator>= (const SlotBase &other) const
 
bool operator== (const SlotBase &other) const
 
bool operator!= (const SlotBase &other) const
 
size_t operator- (const SlotBase &other) const
 
FullObjectSlot operator- (int i) const
 
FullObjectSlot operator- (int i)
 
FullObjectSlot operator+ (int i) const
 
FullObjectSlotoperator+= (int i)
 
FullObjectSlotoperator-= (int i)
 
void * ToVoidPtr () const
 
Address address () const
 
TDatalocation () const
 

Static Public Member Functions

static Tagged< ObjectRawToTagged (PtrComprCageBase cage_base, Address raw)
 

Static Public Attributes

static constexpr bool kCanBeWeak = false
 
- Static Public Attributes inherited from v8::internal::SlotBase< FullObjectSlot, Address >
static constexpr size_t kSlotDataSize
 
static constexpr size_t kSlotDataAlignment
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::SlotBase< FullObjectSlot, Address >
 SlotBase (Address ptr)
 

Detailed Description

Definition at line 98 of file slots.h.

Member Typedef Documentation

◆ THeapObjectSlot

◆ TObject

Definition at line 100 of file slots.h.

Constructor & Destructor Documentation

◆ FullObjectSlot() [1/5]

v8::internal::FullObjectSlot::FullObjectSlot ( )
inline

Definition at line 106 of file slots.h.

◆ FullObjectSlot() [2/5]

v8::internal::FullObjectSlot::FullObjectSlot ( Address ptr)
inlineexplicit

Definition at line 107 of file slots.h.

◆ FullObjectSlot() [3/5]

v8::internal::FullObjectSlot::FullObjectSlot ( const Address * ptr)
inlineexplicit

Definition at line 108 of file slots.h.

◆ FullObjectSlot() [4/5]

v8::internal::FullObjectSlot::FullObjectSlot ( TaggedBase * object)
inlineexplicit

Definition at line 33 of file slots-inl.h.

◆ FullObjectSlot() [5/5]

template<typename T >
v8::internal::FullObjectSlot::FullObjectSlot ( SlotBase< T, TData, kSlotDataAlignment > slot)
inlineexplicit

Definition at line 117 of file slots.h.

Member Function Documentation

◆ Acquire_Load() [1/2]

Tagged< Object > v8::internal::FullObjectSlot::Acquire_Load ( ) const
inline

Definition at line 74 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Acquire_Load() [2/2]

Tagged< Object > v8::internal::FullObjectSlot::Acquire_Load ( PtrComprCageBase cage_base) const
inline

Definition at line 78 of file slots-inl.h.

Here is the call graph for this function:

◆ contains_map_value()

bool v8::internal::FullObjectSlot::contains_map_value ( Address raw_value) const
inline

Definition at line 36 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ load() [1/2]

Tagged< Object > v8::internal::FullObjectSlot::load ( ) const
inline

Definition at line 48 of file slots-inl.h.

Here is the caller graph for this function:

◆ load() [2/2]

Tagged< Object > v8::internal::FullObjectSlot::load ( PtrComprCageBase cage_base) const
inline

Definition at line 50 of file slots-inl.h.

Here is the call graph for this function:

◆ load_map()

Tagged< Map > v8::internal::FullObjectSlot::load_map ( ) const
inline

Definition at line 66 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator*()

Tagged< Object > v8::internal::FullObjectSlot::operator* ( ) const
inline

Definition at line 44 of file slots-inl.h.

Here is the call graph for this function:

◆ RawToTagged()

Tagged< Object > v8::internal::FullObjectSlot::RawToTagged ( PtrComprCageBase cage_base,
Address raw )
inlinestatic

Definition at line 95 of file slots-inl.h.

◆ Relaxed_CompareAndSwap()

Tagged< Object > v8::internal::FullObjectSlot::Relaxed_CompareAndSwap ( Tagged< Object > old,
Tagged< Object > target ) const
inline

Definition at line 108 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Relaxed_ContainsMapValue()

bool v8::internal::FullObjectSlot::Relaxed_ContainsMapValue ( Address raw_value) const
inline

Definition at line 40 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Relaxed_Load() [1/2]

Tagged< Object > v8::internal::FullObjectSlot::Relaxed_Load ( ) const
inline

Definition at line 82 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Relaxed_Load() [2/2]

Tagged< Object > v8::internal::FullObjectSlot::Relaxed_Load ( PtrComprCageBase cage_base) const
inline

Definition at line 86 of file slots-inl.h.

Here is the call graph for this function:

◆ Relaxed_Load_Raw()

Address v8::internal::FullObjectSlot::Relaxed_Load_Raw ( ) const
inline

Definition at line 90 of file slots-inl.h.

Here is the call graph for this function:

◆ Relaxed_Store()

void v8::internal::FullObjectSlot::Relaxed_Store ( Tagged< Object > value) const
inline

Definition at line 100 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Release_CompareAndSwap()

Tagged< Object > v8::internal::FullObjectSlot::Release_CompareAndSwap ( Tagged< Object > old,
Tagged< Object > target ) const
inline

Definition at line 115 of file slots-inl.h.

Here is the call graph for this function:

◆ Release_Store()

void v8::internal::FullObjectSlot::Release_Store ( Tagged< Object > value) const
inline

Definition at line 104 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ store()

void v8::internal::FullObjectSlot::store ( Tagged< Object > value) const
inline

Definition at line 54 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ store_map()

void v8::internal::FullObjectSlot::store_map ( Tagged< Map > map) const
inline

Definition at line 58 of file slots-inl.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ kCanBeWeak

bool v8::internal::FullObjectSlot::kCanBeWeak = false
staticconstexpr

Definition at line 104 of file slots.h.


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