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

#include <slots.h>

Inheritance diagram for v8::internal::ExternalPointerSlot:
Collaboration diagram for v8::internal::ExternalPointerSlot:

Public Types

using RawContent = ExternalPointer_t
 
- Public Types inherited from v8::internal::SlotBase< ExternalPointerSlot, ExternalPointer_t, kTaggedSize >
using TData
 

Public Member Functions

 ExternalPointerSlot ()
 
 ExternalPointerSlot (Address ptr, ExternalPointerTag tag_range)
 
 ExternalPointerSlot (Address ptr, ExternalPointerTagRange tag_range)
 
template<ExternalPointerTag tag>
 ExternalPointerSlot (ExternalPointerMember< tag > *member)
 
void init_lazily_initialized ()
 
void init (IsolateForSandbox isolate, Tagged< HeapObject > host, Address value, ExternalPointerTag tag)
 
Address load (IsolateForSandbox isolate)
 
void store (IsolateForSandbox isolate, Address value, ExternalPointerTag tag)
 
RawContent GetAndClearContentForSerialization (const DisallowGarbageCollection &no_gc)
 
void RestoreContentAfterSerialization (RawContent content, const DisallowGarbageCollection &no_gc)
 
void ReplaceContentWithIndexForSerialization (const DisallowGarbageCollection &no_gc, uint32_t index)
 
uint32_t GetContentAsIndexAfterDeserialization (const DisallowGarbageCollection &no_gc)
 
bool ExactTagIsKnown () const
 
ExternalPointerTag exact_tag () const
 
ExternalPointerTagRange tag_range () const
 
- Public Member Functions inherited from v8::internal::SlotBase< ExternalPointerSlot, ExternalPointer_t, kTaggedSize >
ExternalPointerSlotoperator++ ()
 
ExternalPointerSlot operator++ (int)
 
ExternalPointerSlotoperator-- ()
 
ExternalPointerSlot 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
 
ExternalPointerSlot operator- (int i) const
 
ExternalPointerSlot operator- (int i)
 
ExternalPointerSlot operator+ (int i) const
 
ExternalPointerSlotoperator+= (int i)
 
ExternalPointerSlotoperator-= (int i)
 
void * ToVoidPtr () const
 
Address address () const
 
TDatalocation () const
 

Additional Inherited Members

- Static Public Attributes inherited from v8::internal::SlotBase< ExternalPointerSlot, ExternalPointer_t, kTaggedSize >
static constexpr size_t kSlotDataSize
 
static constexpr size_t kSlotDataAlignment
 
- Protected Member Functions inherited from v8::internal::SlotBase< ExternalPointerSlot, ExternalPointer_t, kTaggedSize >
 SlotBase (Address ptr)
 

Detailed Description

Definition at line 319 of file slots.h.

Member Typedef Documentation

◆ RawContent

Constructor & Destructor Documentation

◆ ExternalPointerSlot() [1/4]

v8::internal::ExternalPointerSlot::ExternalPointerSlot ( )
inline

Definition at line 323 of file slots.h.

◆ ExternalPointerSlot() [2/4]

v8::internal::ExternalPointerSlot::ExternalPointerSlot ( Address ptr,
ExternalPointerTag tag_range )
inline

Definition at line 332 of file slots.h.

◆ ExternalPointerSlot() [3/4]

v8::internal::ExternalPointerSlot::ExternalPointerSlot ( Address ptr,
ExternalPointerTagRange tag_range )
inline

Definition at line 341 of file slots.h.

◆ ExternalPointerSlot() [4/4]

template<ExternalPointerTag tag>
v8::internal::ExternalPointerSlot::ExternalPointerSlot ( ExternalPointerMember< tag > * member)
inlineexplicit

Definition at line 351 of file slots.h.

Member Function Documentation

◆ exact_tag()

ExternalPointerTag v8::internal::ExternalPointerSlot::exact_tag ( ) const
inline

Definition at line 419 of file slots.h.

Here is the caller graph for this function:

◆ ExactTagIsKnown()

bool v8::internal::ExternalPointerSlot::ExactTagIsKnown ( ) const
inline

Definition at line 417 of file slots.h.

Here is the caller graph for this function:

◆ GetAndClearContentForSerialization()

ExternalPointerSlot::RawContent v8::internal::ExternalPointerSlot::GetAndClearContentForSerialization ( const DisallowGarbageCollection & no_gc)
inline

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

Here is the call graph for this function:

◆ GetContentAsIndexAfterDeserialization()

uint32_t v8::internal::ExternalPointerSlot::GetContentAsIndexAfterDeserialization ( const DisallowGarbageCollection & no_gc)
inline

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

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

◆ init()

void v8::internal::ExternalPointerSlot::init ( IsolateForSandbox isolate,
Tagged< HeapObject > host,
Address value,
ExternalPointerTag tag )
inline

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

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

◆ init_lazily_initialized()

void v8::internal::ExternalPointerSlot::init_lazily_initialized ( )
inline

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

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

◆ load()

Address v8::internal::ExternalPointerSlot::load ( IsolateForSandbox isolate)
inline

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

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

◆ ReplaceContentWithIndexForSerialization()

void v8::internal::ExternalPointerSlot::ReplaceContentWithIndexForSerialization ( const DisallowGarbageCollection & no_gc,
uint32_t index )
inline

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

Here is the call graph for this function:

◆ RestoreContentAfterSerialization()

void v8::internal::ExternalPointerSlot::RestoreContentAfterSerialization ( ExternalPointerSlot::RawContent content,
const DisallowGarbageCollection & no_gc )
inline

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

Here is the call graph for this function:

◆ store()

void v8::internal::ExternalPointerSlot::store ( IsolateForSandbox isolate,
Address value,
ExternalPointerTag tag )
inline

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

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

◆ tag_range()

ExternalPointerTagRange v8::internal::ExternalPointerSlot::tag_range ( ) const
inline

Definition at line 421 of file slots.h.

Here is the caller graph for this function:

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