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

#include <constant-expression-interface.h>

Collaboration diagram for v8::internal::wasm::ConstantExpressionInterface:

Classes

struct  Value
 

Public Types

using ValidationTag = Decoder::FullValidationTag
 
using Control = ControlBase<Value, ValidationTag>
 
using FullDecoder
 

Public Member Functions

 ConstantExpressionInterface (const WasmModule *module, Isolate *isolate, DirectHandle< WasmTrustedInstanceData > trusted_instance_data, DirectHandle< WasmTrustedInstanceData > shared_trusted_instance_data)
 
 ConstantExpressionInterface (WasmModule *outer_module)
 
WasmValue computed_value () const
 
bool end_found () const
 
bool has_error () const
 
MessageTemplate error () const
 

Static Public Attributes

static constexpr DecodingMode decoding_mode = kConstantExpression
 
static constexpr bool kUsesPoppedArgs = true
 

Private Member Functions

bool generate_value () const
 
DirectHandle< WasmTrustedInstanceDataGetTrustedInstanceDataForTypeIndex (ModuleTypeIndex index)
 
DirectHandle< MapGetRtt (DirectHandle< WasmTrustedInstanceData > data, ModuleTypeIndex index, const TypeDefinition &type, const Value &descriptor)
 

Private Attributes

bool end_found_ = false
 
WasmValue computed_value_
 
MessageTemplate error_ = MessageTemplate::kNone
 
const WasmModulemodule_
 
WasmModuleouter_module_
 
Isolateisolate_
 
DirectHandle< WasmTrustedInstanceDatatrusted_instance_data_
 
DirectHandle< WasmTrustedInstanceDatashared_trusted_instance_data_
 

Detailed Description

Definition at line 31 of file constant-expression-interface.h.

Member Typedef Documentation

◆ Control

◆ FullDecoder

Initial value:
ConstantExpressionInterface(const WasmModule *module, Isolate *isolate, DirectHandle< WasmTrustedInstanceData > trusted_instance_data, DirectHandle< WasmTrustedInstanceData > shared_trusted_instance_data)

Definition at line 46 of file constant-expression-interface.h.

◆ ValidationTag

Constructor & Destructor Documentation

◆ ConstantExpressionInterface() [1/2]

v8::internal::wasm::ConstantExpressionInterface::ConstantExpressionInterface ( const WasmModule * module,
Isolate * isolate,
DirectHandle< WasmTrustedInstanceData > trusted_instance_data,
DirectHandle< WasmTrustedInstanceData > shared_trusted_instance_data )
inline

Definition at line 50 of file constant-expression-interface.h.

◆ ConstantExpressionInterface() [2/2]

v8::internal::wasm::ConstantExpressionInterface::ConstantExpressionInterface ( WasmModule * outer_module)
inlineexplicit

Definition at line 62 of file constant-expression-interface.h.

Member Function Documentation

◆ computed_value()

WasmValue v8::internal::wasm::ConstantExpressionInterface::computed_value ( ) const
inline

Definition at line 79 of file constant-expression-interface.h.

◆ end_found()

bool v8::internal::wasm::ConstantExpressionInterface::end_found ( ) const
inline

Definition at line 85 of file constant-expression-interface.h.

◆ error()

MessageTemplate v8::internal::wasm::ConstantExpressionInterface::error ( ) const
inline

Definition at line 87 of file constant-expression-interface.h.

◆ generate_value()

bool v8::internal::wasm::ConstantExpressionInterface::generate_value ( ) const
inlineprivate

Definition at line 94 of file constant-expression-interface.h.

◆ GetRtt()

DirectHandle< Map > v8::internal::wasm::ConstantExpressionInterface::GetRtt ( DirectHandle< WasmTrustedInstanceData > data,
ModuleTypeIndex index,
const TypeDefinition & type,
const Value & descriptor )
private

Definition at line 158 of file constant-expression-interface.cc.

Here is the call graph for this function:

◆ GetTrustedInstanceDataForTypeIndex()

DirectHandle< WasmTrustedInstanceData > v8::internal::wasm::ConstantExpressionInterface::GetTrustedInstanceDataForTypeIndex ( ModuleTypeIndex index)
private

Definition at line 473 of file constant-expression-interface.cc.

◆ has_error()

bool v8::internal::wasm::ConstantExpressionInterface::has_error ( ) const
inline

Definition at line 86 of file constant-expression-interface.h.

Member Data Documentation

◆ computed_value_

WasmValue v8::internal::wasm::ConstantExpressionInterface::computed_value_
private

Definition at line 103 of file constant-expression-interface.h.

◆ decoding_mode

DecodingMode v8::internal::wasm::ConstantExpressionInterface::decoding_mode = kConstantExpression
staticconstexpr

Definition at line 34 of file constant-expression-interface.h.

◆ end_found_

bool v8::internal::wasm::ConstantExpressionInterface::end_found_ = false
private

Definition at line 102 of file constant-expression-interface.h.

◆ error_

MessageTemplate v8::internal::wasm::ConstantExpressionInterface::error_ = MessageTemplate::kNone
private

Definition at line 104 of file constant-expression-interface.h.

◆ isolate_

Isolate* v8::internal::wasm::ConstantExpressionInterface::isolate_
private

Definition at line 107 of file constant-expression-interface.h.

◆ kUsesPoppedArgs

bool v8::internal::wasm::ConstantExpressionInterface::kUsesPoppedArgs = true
staticconstexpr

Definition at line 35 of file constant-expression-interface.h.

◆ module_

const WasmModule* v8::internal::wasm::ConstantExpressionInterface::module_
private

Definition at line 105 of file constant-expression-interface.h.

◆ outer_module_

WasmModule* v8::internal::wasm::ConstantExpressionInterface::outer_module_
private

Definition at line 106 of file constant-expression-interface.h.

◆ shared_trusted_instance_data_

DirectHandle<WasmTrustedInstanceData> v8::internal::wasm::ConstantExpressionInterface::shared_trusted_instance_data_
private

Definition at line 109 of file constant-expression-interface.h.

◆ trusted_instance_data_

DirectHandle<WasmTrustedInstanceData> v8::internal::wasm::ConstantExpressionInterface::trusted_instance_data_
private

Definition at line 108 of file constant-expression-interface.h.


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