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

#include <wasm-objects.h>

Inheritance diagram for v8::internal::WasmTableObject:
Collaboration diagram for v8::internal::WasmTableObject:

Public Member Functions

wasm::ValueType type (const wasm::WasmModule *module)
 
wasm::CanonicalValueType canonical_type (const wasm::WasmModule *module)
 
wasm::ValueType unsafe_type ()
 
bool is_in_bounds (uint32_t entry_index)
 
bool is_table64 () const
 
std::optional< uint64_t > maximum_length_u64 () const
 
void ClearDispatchTable (int index)
 

Static Public Member Functions

static V8_EXPORT_PRIVATE int Grow (Isolate *isolate, DirectHandle< WasmTableObject > table, uint32_t count, DirectHandle< Object > init_value)
 
static V8_EXPORT_PRIVATE DirectHandle< WasmTableObjectNew (Isolate *isolate, DirectHandle< WasmTrustedInstanceData > trusted_data, wasm::ValueType type, wasm::CanonicalValueType canonical_type, uint32_t initial, bool has_maximum, uint64_t maximum, DirectHandle< Object > initial_value, wasm::AddressType address_type, DirectHandle< WasmDispatchTable > *out_dispatch_table=nullptr)
 
static MaybeDirectHandle< ObjectJSToWasmElement (Isolate *isolate, DirectHandle< WasmTableObject > table, DirectHandle< Object > entry, const char **error_message)
 
static V8_EXPORT_PRIVATE void Set (Isolate *isolate, DirectHandle< WasmTableObject > table, uint32_t index, DirectHandle< Object > entry)
 
static V8_EXPORT_PRIVATE DirectHandle< ObjectGet (Isolate *isolate, DirectHandle< WasmTableObject > table, uint32_t index)
 
static V8_EXPORT_PRIVATE void Fill (Isolate *isolate, DirectHandle< WasmTableObject > table, uint32_t start, DirectHandle< Object > entry, uint32_t count)
 
static void UpdateDispatchTable (Isolate *isolate, DirectHandle< WasmTableObject > table, int entry_index, const wasm::WasmFunction *func, DirectHandle< WasmTrustedInstanceData > target_instance)
 
static void UpdateDispatchTable (Isolate *isolate, DirectHandle< WasmTableObject > table, int entry_index, DirectHandle< WasmJSFunction > function)
 
static void UpdateDispatchTable (Isolate *isolate, DirectHandle< WasmTableObject > table, int entry_index, DirectHandle< WasmCapiFunction > capi_function)
 
static V8_EXPORT_PRIVATE void SetFunctionTablePlaceholder (Isolate *isolate, DirectHandle< WasmTableObject > table, int entry_index, DirectHandle< WasmTrustedInstanceData > trusted_instance_data, int func_index)
 
static void GetFunctionTableEntry (Isolate *isolate, DirectHandle< WasmTableObject > table, int entry_index, bool *is_valid, bool *is_null, MaybeDirectHandle< WasmTrustedInstanceData > *instance_data, int *function_index, MaybeDirectHandle< WasmJSFunction > *maybe_js_function)
 

Static Private Member Functions

static void SetFunctionTableEntry (Isolate *isolate, DirectHandle< WasmTableObject > table, int entry_index, DirectHandle< Object > entry)
 

Detailed Description

Definition at line 214 of file wasm-objects.h.

Member Function Documentation

◆ canonical_type()

wasm::CanonicalValueType v8::internal::WasmTableObject::canonical_type ( const wasm::WasmModule * module)
inline

Definition at line 594 of file wasm-objects-inl.h.

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

◆ ClearDispatchTable()

void v8::internal::WasmTableObject::ClearDispatchTable ( int index)

Definition at line 751 of file wasm-objects.cc.

Here is the call graph for this function:

◆ Fill()

void v8::internal::WasmTableObject::Fill ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
uint32_t start,
DirectHandle< Object > entry,
uint32_t count )
static

Definition at line 502 of file wasm-objects.cc.

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

◆ Get()

DirectHandle< Object > v8::internal::WasmTableObject::Get ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
uint32_t index )
static

Definition at line 429 of file wasm-objects.cc.

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

◆ GetFunctionTableEntry()

void v8::internal::WasmTableObject::GetFunctionTableEntry ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
int entry_index,
bool * is_valid,
bool * is_null,
MaybeDirectHandle< WasmTrustedInstanceData > * instance_data,
int * function_index,
MaybeDirectHandle< WasmJSFunction > * maybe_js_function )
static

Definition at line 795 of file wasm-objects.cc.

Here is the call graph for this function:

◆ Grow()

int v8::internal::WasmTableObject::Grow ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
uint32_t count,
DirectHandle< Object > init_value )
static

Definition at line 257 of file wasm-objects.cc.

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

◆ is_in_bounds()

bool v8::internal::WasmTableObject::is_in_bounds ( uint32_t entry_index)
inline

Definition at line 614 of file wasm-objects-inl.h.

◆ is_table64()

bool v8::internal::WasmTableObject::is_table64 ( ) const
inline

Definition at line 618 of file wasm-objects-inl.h.

Here is the caller graph for this function:

◆ JSToWasmElement()

MaybeDirectHandle< Object > v8::internal::WasmTableObject::JSToWasmElement ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
DirectHandle< Object > entry,
const char ** error_message )
static

Definition at line 326 of file wasm-objects.cc.

Here is the call graph for this function:

◆ maximum_length_u64()

std::optional< uint64_t > v8::internal::WasmTableObject::maximum_length_u64 ( ) const
inline

Definition at line 622 of file wasm-objects-inl.h.

Here is the call graph for this function:

◆ New()

DirectHandle< WasmTableObject > v8::internal::WasmTableObject::New ( Isolate * isolate,
DirectHandle< WasmTrustedInstanceData > trusted_data,
wasm::ValueType type,
wasm::CanonicalValueType canonical_type,
uint32_t initial,
bool has_maximum,
uint64_t maximum,
DirectHandle< Object > initial_value,
wasm::AddressType address_type,
DirectHandle< WasmDispatchTable > * out_dispatch_table = nullptr )
static

Definition at line 195 of file wasm-objects.cc.

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

◆ Set()

void v8::internal::WasmTableObject::Set ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
uint32_t index,
DirectHandle< Object > entry )
static

Definition at line 377 of file wasm-objects.cc.

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

◆ SetFunctionTableEntry()

void v8::internal::WasmTableObject::SetFunctionTableEntry ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
int entry_index,
DirectHandle< Object > entry )
staticprivate

Definition at line 336 of file wasm-objects.cc.

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

◆ SetFunctionTablePlaceholder()

void v8::internal::WasmTableObject::SetFunctionTablePlaceholder ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
int entry_index,
DirectHandle< WasmTrustedInstanceData > trusted_instance_data,
int func_index )
static

Definition at line 777 of file wasm-objects.cc.

Here is the call graph for this function:

◆ type()

kWasmDispatchTableIndirectPointerTag wasm::ValueType v8::internal::WasmTableObject::type ( const wasm::WasmModule * module)
inline

Definition at line 588 of file wasm-objects-inl.h.

◆ unsafe_type()

wasm::ValueType v8::internal::WasmTableObject::unsafe_type ( )
inline

Definition at line 602 of file wasm-objects-inl.h.

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

◆ UpdateDispatchTable() [1/3]

void v8::internal::WasmTableObject::UpdateDispatchTable ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
int entry_index,
const wasm::WasmFunction * func,
DirectHandle< WasmTrustedInstanceData > target_instance )
static

Definition at line 539 of file wasm-objects.cc.

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

◆ UpdateDispatchTable() [2/3]

void v8::internal::WasmTableObject::UpdateDispatchTable ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
int entry_index,
DirectHandle< WasmCapiFunction > capi_function )
static

Definition at line 704 of file wasm-objects.cc.

Here is the call graph for this function:

◆ UpdateDispatchTable() [3/3]

void v8::internal::WasmTableObject::UpdateDispatchTable ( Isolate * isolate,
DirectHandle< WasmTableObject > table,
int entry_index,
DirectHandle< WasmJSFunction > function )
static

Definition at line 629 of file wasm-objects.cc.

Here is the call graph for this function:

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