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

#include <wasm-init-expr.h>

Inheritance diagram for v8::internal::wasm::WasmInitExpr:
Collaboration diagram for v8::internal::wasm::WasmInitExpr:

Classes

union  Immediate
 

Public Types

enum  Operator {
  kGlobalGet , kI32Const , kI64Const , kF32Const ,
  kF64Const , kS128Const , kI32Add , kI32Sub ,
  kI32Mul , kI64Add , kI64Sub , kI64Mul ,
  kRefNullConst , kRefFuncConst , kStructNew , kStructNewDefault ,
  kArrayNew , kArrayNewDefault , kArrayNewFixed , kRefI31 ,
  kStringConst , kAnyConvertExtern , kExternConvertAny
}
 

Public Member Functions

 WasmInitExpr (int32_t v)
 
 WasmInitExpr (int64_t v)
 
 WasmInitExpr (float v)
 
 WasmInitExpr (double v)
 
 WasmInitExpr (uint8_t v[kSimd128Size])
 
HeapType heap_type () const
 
Immediate immediate () const
 
Operator kind () const
 
const ZoneVector< WasmInitExpr > * operands () const
 
bool operator== (const WasmInitExpr &other) const
 
- Public Member Functions inherited from v8::internal::ZoneObject
void * operator new (size_t, Zone *)=delete
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *, size_t)
 
void operator delete (void *pointer, Zone *zone)=delete
 

Static Public Member Functions

static WasmInitExpr Binop (Zone *zone, Operator op, WasmInitExpr lhs, WasmInitExpr rhs)
 
static WasmInitExpr GlobalGet (uint32_t index)
 
static WasmInitExpr RefFuncConst (uint32_t index)
 
static WasmInitExpr RefNullConst (HeapType heap_type)
 
static WasmInitExpr StructNew (ModuleTypeIndex index, ZoneVector< WasmInitExpr > *elements)
 
static WasmInitExpr StructNewDefault (ModuleTypeIndex index)
 
static WasmInitExpr ArrayNew (Zone *zone, ModuleTypeIndex index, WasmInitExpr initial, WasmInitExpr length)
 
static WasmInitExpr ArrayNewDefault (Zone *zone, ModuleTypeIndex index, WasmInitExpr length)
 
static WasmInitExpr ArrayNewFixed (ModuleTypeIndex index, ZoneVector< WasmInitExpr > *elements)
 
static WasmInitExpr RefI31 (Zone *zone, WasmInitExpr value)
 
static WasmInitExpr StringConst (uint32_t index)
 
static WasmInitExpr AnyConvertExtern (Zone *zone, WasmInitExpr arg)
 
static WasmInitExpr ExternConvertAny (Zone *zone, WasmInitExpr arg)
 
static WasmInitExpr DefaultValue (ValueType type)
 

Private Member Functions

 WasmInitExpr (Operator kind, const ZoneVector< WasmInitExpr > *operands)
 
 WasmInitExpr (Operator kind)
 
 WasmInitExpr (Zone *zone, Operator kind, std::initializer_list< WasmInitExpr > operands)
 

Private Attributes

Immediate immediate_
 
Operator kind_
 
const ZoneVector< WasmInitExpr > * operands_
 

Detailed Description

Definition at line 26 of file wasm-init-expr.h.

Member Enumeration Documentation

◆ Operator

Enumerator
kGlobalGet 
kI32Const 
kI64Const 
kF32Const 
kF64Const 
kS128Const 
kI32Add 
kI32Sub 
kI32Mul 
kI64Add 
kI64Sub 
kI64Mul 
kRefNullConst 
kRefFuncConst 
kStructNew 
kStructNewDefault 
kArrayNew 
kArrayNewDefault 
kArrayNewFixed 
kRefI31 
kStringConst 
kAnyConvertExtern 
kExternConvertAny 

Definition at line 28 of file wasm-init-expr.h.

Constructor & Destructor Documentation

◆ WasmInitExpr() [1/8]

v8::internal::wasm::WasmInitExpr::WasmInitExpr ( int32_t v)
inlineexplicit

Definition at line 64 of file wasm-init-expr.h.

Here is the caller graph for this function:

◆ WasmInitExpr() [2/8]

v8::internal::wasm::WasmInitExpr::WasmInitExpr ( int64_t v)
inlineexplicit

Definition at line 67 of file wasm-init-expr.h.

◆ WasmInitExpr() [3/8]

v8::internal::wasm::WasmInitExpr::WasmInitExpr ( float v)
inlineexplicit

Definition at line 70 of file wasm-init-expr.h.

◆ WasmInitExpr() [4/8]

v8::internal::wasm::WasmInitExpr::WasmInitExpr ( double v)
inlineexplicit

Definition at line 73 of file wasm-init-expr.h.

◆ WasmInitExpr() [5/8]

v8::internal::wasm::WasmInitExpr::WasmInitExpr ( uint8_t v[kSimd128Size])
inlineexplicit

Definition at line 76 of file wasm-init-expr.h.

◆ WasmInitExpr() [6/8]

v8::internal::wasm::WasmInitExpr::WasmInitExpr ( Operator kind,
const ZoneVector< WasmInitExpr > * operands )
inlineprivate

Definition at line 247 of file wasm-init-expr.h.

◆ WasmInitExpr() [7/8]

v8::internal::wasm::WasmInitExpr::WasmInitExpr ( Operator kind)
inlineexplicitprivate

Definition at line 249 of file wasm-init-expr.h.

◆ WasmInitExpr() [8/8]

v8::internal::wasm::WasmInitExpr::WasmInitExpr ( Zone * zone,
Operator kind,
std::initializer_list< WasmInitExpr > operands )
inlineprivate

Definition at line 250 of file wasm-init-expr.h.

Member Function Documentation

◆ AnyConvertExtern()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::AnyConvertExtern ( Zone * zone,
WasmInitExpr arg )
inlinestatic

Definition at line 155 of file wasm-init-expr.h.

Here is the call graph for this function:

◆ ArrayNew()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::ArrayNew ( Zone * zone,
ModuleTypeIndex index,
WasmInitExpr initial,
WasmInitExpr length )
inlinestatic

Definition at line 123 of file wasm-init-expr.h.

◆ ArrayNewDefault()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::ArrayNewDefault ( Zone * zone,
ModuleTypeIndex index,
WasmInitExpr length )
inlinestatic

Definition at line 130 of file wasm-init-expr.h.

◆ ArrayNewFixed()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::ArrayNewFixed ( ModuleTypeIndex index,
ZoneVector< WasmInitExpr > * elements )
inlinestatic

Definition at line 137 of file wasm-init-expr.h.

◆ Binop()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::Binop ( Zone * zone,
Operator op,
WasmInitExpr lhs,
WasmInitExpr rhs )
inlinestatic

Definition at line 85 of file wasm-init-expr.h.

Here is the call graph for this function:

◆ DefaultValue()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::DefaultValue ( ValueType type)
inlinestatic

Definition at line 218 of file wasm-init-expr.h.

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

◆ ExternConvertAny()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::ExternConvertAny ( Zone * zone,
WasmInitExpr arg )
inlinestatic

Definition at line 159 of file wasm-init-expr.h.

Here is the call graph for this function:

◆ GlobalGet()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::GlobalGet ( uint32_t index)
inlinestatic

Definition at line 92 of file wasm-init-expr.h.

◆ heap_type()

HeapType v8::internal::wasm::WasmInitExpr::heap_type ( ) const
inline

Definition at line 81 of file wasm-init-expr.h.

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

◆ immediate()

Immediate v8::internal::wasm::WasmInitExpr::immediate ( ) const
inline

Definition at line 163 of file wasm-init-expr.h.

Here is the caller graph for this function:

◆ kind()

Operator v8::internal::wasm::WasmInitExpr::kind ( ) const
inline

Definition at line 164 of file wasm-init-expr.h.

Here is the caller graph for this function:

◆ operands()

const ZoneVector< WasmInitExpr > * v8::internal::wasm::WasmInitExpr::operands ( ) const
inline

Definition at line 165 of file wasm-init-expr.h.

Here is the caller graph for this function:

◆ operator==()

bool v8::internal::wasm::WasmInitExpr::operator== ( const WasmInitExpr & other) const
inline

Definition at line 167 of file wasm-init-expr.h.

Here is the call graph for this function:

◆ RefFuncConst()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::RefFuncConst ( uint32_t index)
inlinestatic

Definition at line 98 of file wasm-init-expr.h.

◆ RefI31()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::RefI31 ( Zone * zone,
WasmInitExpr value )
inlinestatic

Definition at line 144 of file wasm-init-expr.h.

◆ RefNullConst()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::RefNullConst ( HeapType heap_type)
inlinestatic

Definition at line 104 of file wasm-init-expr.h.

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

◆ StringConst()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::StringConst ( uint32_t index)
inlinestatic

Definition at line 149 of file wasm-init-expr.h.

◆ StructNew()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::StructNew ( ModuleTypeIndex index,
ZoneVector< WasmInitExpr > * elements )
inlinestatic

Definition at line 110 of file wasm-init-expr.h.

◆ StructNewDefault()

static WasmInitExpr v8::internal::wasm::WasmInitExpr::StructNewDefault ( ModuleTypeIndex index)
inlinestatic

Definition at line 117 of file wasm-init-expr.h.

Member Data Documentation

◆ immediate_

Immediate v8::internal::wasm::WasmInitExpr::immediate_
private

Definition at line 254 of file wasm-init-expr.h.

◆ kind_

Operator v8::internal::wasm::WasmInitExpr::kind_
private

Definition at line 255 of file wasm-init-expr.h.

◆ operands_

const ZoneVector<WasmInitExpr>* v8::internal::wasm::WasmInitExpr::operands_
private

Definition at line 256 of file wasm-init-expr.h.


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