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

#include <embedder-data-slot.h>

Inheritance diagram for v8::internal::EmbedderDataSlot:
Collaboration diagram for v8::internal::EmbedderDataSlot:

Public Types

using RawData = Address
 
- Public Types inherited from v8::internal::SlotBase< EmbedderDataSlot, Address, kTaggedSize >
using TData
 

Public Member Functions

 EmbedderDataSlot ()
 
V8_INLINE EmbedderDataSlot (Tagged< EmbedderDataArray > array, int entry_index)
 
V8_INLINE EmbedderDataSlot (Tagged< JSObject > object, int embedder_field_index)
 
V8_INLINE void Initialize (Tagged< Object > initial_value)
 
V8_INLINE Tagged< Objectload_tagged () const
 
V8_INLINE void store_smi (Tagged< Smi > value)
 
V8_INLINE bool ToAlignedPointer (IsolateForSandbox isolate, void **out_result) const
 
V8_INLINE V8_WARN_UNUSED_RESULT bool store_aligned_pointer (IsolateForSandbox isolate, Tagged< HeapObject > host, void *ptr)
 
V8_INLINE bool MustClearDuringSerialization (const DisallowGarbageCollection &no_gc)
 
V8_INLINE RawData load_raw (IsolateForSandbox isolate, const DisallowGarbageCollection &no_gc) const
 
V8_INLINE void store_raw (IsolateForSandbox isolate, RawData data, const DisallowGarbageCollection &no_gc)
 
- Public Member Functions inherited from v8::internal::SlotBase< EmbedderDataSlot, Address, kTaggedSize >
EmbedderDataSlotoperator++ ()
 
EmbedderDataSlot operator++ (int)
 
EmbedderDataSlotoperator-- ()
 
EmbedderDataSlot 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
 
EmbedderDataSlot operator- (int i) const
 
EmbedderDataSlot operator- (int i)
 
EmbedderDataSlot operator+ (int i) const
 
EmbedderDataSlotoperator+= (int i)
 
EmbedderDataSlotoperator-= (int i)
 
void * ToVoidPtr () const
 
Address address () const
 
TDatalocation () const
 

Static Public Member Functions

static V8_INLINE void store_tagged (Tagged< EmbedderDataArray > array, int entry_index, Tagged< Object > value)
 
static V8_INLINE void store_tagged (Tagged< JSObject > object, int embedder_field_index, Tagged< Object > value)
 

Static Public Attributes

static constexpr int kTaggedPayloadOffset = 0
 
static constexpr int kExternalPointerOffset = 0
 
static constexpr int kRequiredPtrAlignment = kSmiTagSize
 
- Static Public Attributes inherited from v8::internal::SlotBase< EmbedderDataSlot, Address, kTaggedSize >
static constexpr size_t kSlotDataSize
 
static constexpr size_t kSlotDataAlignment
 

Private Member Functions

V8_INLINE void gc_safe_store (IsolateForSandbox isolate, Address value)
 

Additional Inherited Members

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

Detailed Description

Definition at line 33 of file embedder-data-slot.h.

Member Typedef Documentation

◆ RawData

Constructor & Destructor Documentation

◆ EmbedderDataSlot() [1/3]

v8::internal::EmbedderDataSlot::EmbedderDataSlot ( )
inline

Definition at line 93 of file embedder-data-slot.h.

◆ EmbedderDataSlot() [2/3]

v8::internal::EmbedderDataSlot::EmbedderDataSlot ( Tagged< EmbedderDataArray > array,
int entry_index )

Definition at line 26 of file embedder-data-slot-inl.h.

◆ EmbedderDataSlot() [3/3]

v8::internal::EmbedderDataSlot::EmbedderDataSlot ( Tagged< JSObject > object,
int embedder_field_index )

Definition at line 31 of file embedder-data-slot-inl.h.

Member Function Documentation

◆ gc_safe_store()

void v8::internal::EmbedderDataSlot::gc_safe_store ( IsolateForSandbox isolate,
Address value )
private

Definition at line 175 of file embedder-data-slot-inl.h.

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

◆ Initialize()

void v8::internal::EmbedderDataSlot::Initialize ( Tagged< Object > initial_value)

Definition at line 36 of file embedder-data-slot-inl.h.

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

◆ load_raw()

EmbedderDataSlot::RawData v8::internal::EmbedderDataSlot::load_raw ( IsolateForSandbox isolate,
const DisallowGarbageCollection & no_gc ) const

Definition at line 152 of file embedder-data-slot-inl.h.

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

◆ load_tagged()

Tagged< Object > v8::internal::EmbedderDataSlot::load_tagged ( ) const

Definition at line 47 of file embedder-data-slot-inl.h.

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

◆ MustClearDuringSerialization()

bool v8::internal::EmbedderDataSlot::MustClearDuringSerialization ( const DisallowGarbageCollection & no_gc)

Definition at line 202 of file embedder-data-slot-inl.h.

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

◆ store_aligned_pointer()

bool v8::internal::EmbedderDataSlot::store_aligned_pointer ( IsolateForSandbox isolate,
Tagged< HeapObject > host,
void * ptr )

Definition at line 126 of file embedder-data-slot-inl.h.

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

◆ store_raw()

void v8::internal::EmbedderDataSlot::store_raw ( IsolateForSandbox isolate,
EmbedderDataSlot::RawData data,
const DisallowGarbageCollection & no_gc )

Definition at line 169 of file embedder-data-slot-inl.h.

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

◆ store_smi()

void v8::internal::EmbedderDataSlot::store_smi ( Tagged< Smi > value)

Definition at line 51 of file embedder-data-slot-inl.h.

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

◆ store_tagged() [1/2]

void v8::internal::EmbedderDataSlot::store_tagged ( Tagged< EmbedderDataArray > array,
int entry_index,
Tagged< Object > value )
static

Definition at line 60 of file embedder-data-slot-inl.h.

Here is the call graph for this function:

◆ store_tagged() [2/2]

void v8::internal::EmbedderDataSlot::store_tagged ( Tagged< JSObject > object,
int embedder_field_index,
Tagged< Object > value )
static

Definition at line 79 of file embedder-data-slot-inl.h.

Here is the call graph for this function:

◆ ToAlignedPointer()

bool v8::internal::EmbedderDataSlot::ToAlignedPointer ( IsolateForSandbox isolate,
void ** out_result ) const

Definition at line 98 of file embedder-data-slot-inl.h.

Here is the call graph for this function:

Member Data Documentation

◆ kExternalPointerOffset

int v8::internal::EmbedderDataSlot::kExternalPointerOffset = 0
staticconstexpr

Definition at line 88 of file embedder-data-slot.h.

◆ kRequiredPtrAlignment

int v8::internal::EmbedderDataSlot::kRequiredPtrAlignment = kSmiTagSize
staticconstexpr

Definition at line 91 of file embedder-data-slot.h.

◆ kTaggedPayloadOffset

int v8::internal::EmbedderDataSlot::kTaggedPayloadOffset = 0
staticconstexpr

Definition at line 87 of file embedder-data-slot.h.


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