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

#include <wasm-module.h>

Collaboration diagram for v8::internal::wasm::TypeDefinition:

Public Types

enum  Kind : int8_t { kFunction = static_cast<int8_t>(RefTypeKind::kFunction) , kStruct = static_cast<int8_t>(RefTypeKind::kStruct) , kArray = static_cast<int8_t>(RefTypeKind::kArray) , kCont = static_cast<int8_t>(RefTypeKind::kCont) }
 

Public Member Functions

constexpr TypeDefinition (const FunctionSig *sig, ModuleTypeIndex supertype, bool is_final, bool is_shared)
 
constexpr TypeDefinition (const StructType *type, ModuleTypeIndex supertype, bool is_final, bool is_shared)
 
constexpr TypeDefinition (const ArrayType *type, ModuleTypeIndex supertype, bool is_final, bool is_shared)
 
constexpr TypeDefinition (const ContType *type, ModuleTypeIndex supertype, bool is_final, bool is_shared)
 
constexpr TypeDefinition ()=default
 
bool operator== (const TypeDefinition &other) const
 
bool has_descriptor () const
 
bool is_descriptor () const
 

Public Attributes

union { 
 
   const FunctionSig *   function_sig = nullptr 
 
   const StructType *   struct_type 
 
   const ArrayType *   array_type 
 
   const ContType *   cont_type 
 
};  
 
ModuleTypeIndex supertype {kNoSuperType}
 
ModuleTypeIndex descriptor {kNoType}
 
ModuleTypeIndex describes {kNoType}
 
Kind kind = kFunction
 
bool is_final = false
 
bool is_shared = false
 
uint8_t subtyping_depth = 0
 

Detailed Description

Definition at line 451 of file wasm-module.h.

Member Enumeration Documentation

◆ Kind

Enumerator
kFunction 
kStruct 
kArray 
kCont 

Definition at line 452 of file wasm-module.h.

Constructor & Destructor Documentation

◆ TypeDefinition() [1/5]

v8::internal::wasm::TypeDefinition::TypeDefinition ( const FunctionSig * sig,
ModuleTypeIndex supertype,
bool is_final,
bool is_shared )
inlineconstexpr

Definition at line 459 of file wasm-module.h.

◆ TypeDefinition() [2/5]

v8::internal::wasm::TypeDefinition::TypeDefinition ( const StructType * type,
ModuleTypeIndex supertype,
bool is_final,
bool is_shared )
inlineconstexpr

Definition at line 467 of file wasm-module.h.

◆ TypeDefinition() [3/5]

v8::internal::wasm::TypeDefinition::TypeDefinition ( const ArrayType * type,
ModuleTypeIndex supertype,
bool is_final,
bool is_shared )
inlineconstexpr

Definition at line 475 of file wasm-module.h.

◆ TypeDefinition() [4/5]

v8::internal::wasm::TypeDefinition::TypeDefinition ( const ContType * type,
ModuleTypeIndex supertype,
bool is_final,
bool is_shared )
inlineconstexpr

Definition at line 483 of file wasm-module.h.

◆ TypeDefinition() [5/5]

v8::internal::wasm::TypeDefinition::TypeDefinition ( )
constexprdefault

Member Function Documentation

◆ has_descriptor()

bool v8::internal::wasm::TypeDefinition::has_descriptor ( ) const
inline

Definition at line 506 of file wasm-module.h.

◆ is_descriptor()

bool v8::internal::wasm::TypeDefinition::is_descriptor ( ) const
inline

Definition at line 507 of file wasm-module.h.

Here is the caller graph for this function:

◆ operator==()

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

Definition at line 493 of file wasm-module.h.

Member Data Documentation

◆ [union]

◆ array_type

const ArrayType* v8::internal::wasm::TypeDefinition::array_type

Definition at line 512 of file wasm-module.h.

◆ cont_type

const ContType* v8::internal::wasm::TypeDefinition::cont_type

Definition at line 513 of file wasm-module.h.

◆ describes

ModuleTypeIndex v8::internal::wasm::TypeDefinition::describes {kNoType}

Definition at line 517 of file wasm-module.h.

◆ descriptor

ModuleTypeIndex v8::internal::wasm::TypeDefinition::descriptor {kNoType}

Definition at line 516 of file wasm-module.h.

◆ function_sig

const FunctionSig* v8::internal::wasm::TypeDefinition::function_sig = nullptr

Definition at line 510 of file wasm-module.h.

◆ is_final

bool v8::internal::wasm::TypeDefinition::is_final = false

Definition at line 519 of file wasm-module.h.

◆ is_shared

bool v8::internal::wasm::TypeDefinition::is_shared = false

Definition at line 520 of file wasm-module.h.

◆ kind

Kind v8::internal::wasm::TypeDefinition::kind = kFunction

Definition at line 518 of file wasm-module.h.

◆ struct_type

const StructType* v8::internal::wasm::TypeDefinition::struct_type

Definition at line 511 of file wasm-module.h.

◆ subtyping_depth

uint8_t v8::internal::wasm::TypeDefinition::subtyping_depth = 0

Definition at line 521 of file wasm-module.h.

◆ supertype

ModuleTypeIndex v8::internal::wasm::TypeDefinition::supertype {kNoSuperType}

Definition at line 515 of file wasm-module.h.


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