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

#include <value-type.h>

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

Public Types

enum  Representation : uint32_t {
  kFunc = kV8MaxWasmTypes , kEq , kI31 , kStruct ,
  kArray , kAny , kExtern , kExternString ,
  kExn , kString , kStringViewWtf8 , kStringViewWtf16 ,
  kStringViewIter , kNone , kNoFunc , kNoExtern ,
  kNoExn , kCont , kContShared , kNoCont ,
  kFuncShared , kEqShared , kI31Shared , kStructShared ,
  kArrayShared , kAnyShared , kExternShared , kExternStringShared ,
  kExnShared , kStringShared , kStringViewWtf8Shared , kStringViewWtf16Shared ,
  kStringViewIterShared , kNoneShared , kNoFuncShared , kNoExternShared ,
  kNoExnShared , kNoContShared , kTop , kBottom
}
 

Public Member Functions

constexpr HeapType AsExact (Exactness exact=Exactness::kExact) const
 
int32_t code () const
 
constexpr ModuleTypeIndex ref_index () const
 
constexpr bool operator== (HeapType other) const
 
std::string name () const
 
constexpr Representation representation () const
 
constexpr bool is_index () const
 
- Public Member Functions inherited from v8::internal::wasm::ValueTypeBase
constexpr ValueTypeBase ()
 
void Populate (bool shared, RefTypeKind kind)
 
constexpr TypeKind type_kind () const
 
constexpr bool has_index () const
 
constexpr bool is_sentinel () const
 
constexpr bool is_numeric () const
 
constexpr bool is_abstract_ref () const
 
constexpr bool is_ref () const
 
constexpr bool is_generic () const
 
constexpr Nullability nullability () const
 
constexpr bool is_nullable () const
 
constexpr bool is_non_nullable () const
 
constexpr Exactness exactness () const
 
constexpr bool is_exact () const
 
constexpr bool is_shared () const
 
constexpr RefTypeKind ref_type_kind () const
 
constexpr StandardType standard_type () const
 
constexpr NumericKind numeric_kind () const
 
constexpr GenericKind generic_kind () const
 
constexpr bool is_bottom () const
 
constexpr bool is_top () const
 
constexpr bool is_void () const
 
constexpr bool is_string_view () const
 
constexpr bool is_packed () const
 
constexpr bool is_reference_to (GenericKind type) const
 
constexpr bool is_defaultable () const
 
constexpr bool is_uninhabited () const
 
constexpr bool use_wasm_null () const
 
constexpr int value_kind_size_log2 () const
 
constexpr int value_kind_size () const
 
constexpr int value_kind_full_size () const
 
constexpr MachineType machine_type () const
 
constexpr MachineRepresentation machine_representation () const
 
ValueTypeCode value_type_code () const
 
constexpr bool encoding_needs_heap_type () const
 
constexpr bool encoding_needs_shared () const
 
constexpr bool encoding_needs_exact () const
 
V8_EXPORT_PRIVATE ValueTypeCode value_type_code_numeric () const
 
V8_EXPORT_PRIVATE ValueTypeCode value_type_code_generic () const
 
constexpr char short_name () const
 
V8_EXPORT_PRIVATE std::string generic_heaptype_name () const
 
V8_EXPORT_PRIVATE std::string name () const
 
constexpr bool is_valid () const
 
constexpr uint32_t raw_bit_field () const
 
size_t hash_value () const
 
constexpr bool is_reference () const
 
constexpr bool is_object_reference () const
 
constexpr ValueKind kind () const
 
constexpr uint32_t raw_heap_representation (bool distinguish_shared) const
 

Static Public Member Functions

static constexpr HeapType Generic (GenericKind kind, bool shared)
 
static constexpr HeapType Index (ModuleTypeIndex index, bool shared, RefTypeKind kind, Exactness exact=Exactness::kAnySubtype)
 
static constexpr HeapType FromBits (uint32_t bits)
 
static constexpr HeapType from_code (uint8_t code, bool is_shared)
 
- Static Public Member Functions inherited from v8::internal::wasm::ValueTypeBase
static constexpr ValueTypeBase Primitive (ValueKind kind)
 

Private Member Functions

constexpr bool is_nullable () const
 
constexpr bool is_non_nullable () const
 
constexpr Nullability nullability () const
 

Additional Inherited Members

- Static Public Attributes inherited from v8::internal::wasm::ValueTypeBase
static const int kNumIndexBits = value_type_impl::PayloadField::kSize
 
static const int kLastUsedBit = value_type_impl::PayloadField::kLastUsedBit
 
static const uint32_t kIsRefBit = value_type_impl::IsRefField::kMask
 
static const uint32_t kIsNullableBit
 
static const uint32_t kHasIndexBit
 
static const uint32_t kRefKindBits = value_type_impl::RefTypeKindField::kMask
 
static const uint32_t kRefKindShift
 
static const uint32_t kIndexBits = value_type_impl::PayloadField::kMask
 
static const uint32_t kIndexShift = value_type_impl::PayloadField::kShift
 
- Protected Member Functions inherited from v8::internal::wasm::ValueTypeBase
constexpr ValueTypeBase (uint32_t bit_field)
 
constexpr ValueTypeBase (NumericKind kind)
 
constexpr ValueTypeBase (GenericKind kind, Nullability nullable, bool is_shared)
 
constexpr ValueTypeBase (TypeIndex index, Nullability nullable, Exactness exact, bool shared, RefTypeKind ref_type_kind)
 
constexpr TypeIndex raw_index () const
 
- Protected Attributes inherited from v8::internal::wasm::ValueTypeBase
uint32_t bit_field_
 

Detailed Description

Definition at line 711 of file value-type.h.

Member Enumeration Documentation

◆ Representation

Enumerator
kFunc 
kEq 
kI31 
kStruct 
kArray 
kAny 
kExtern 
kExternString 
kExn 
kString 
kStringViewWtf8 
kStringViewWtf16 
kStringViewIter 
kNone 
kNoFunc 
kNoExtern 
kNoExn 
kCont 
kContShared 
kNoCont 
kFuncShared 
kEqShared 
kI31Shared 
kStructShared 
kArrayShared 
kAnyShared 
kExternShared 
kExternStringShared 
kExnShared 
kStringShared 
kStringViewWtf8Shared 
kStringViewWtf16Shared 
kStringViewIterShared 
kNoneShared 
kNoFuncShared 
kNoExternShared 
kNoExnShared 
kNoContShared 
kTop 
kBottom 

Definition at line 783 of file value-type.h.

Member Function Documentation

◆ AsExact()

HeapType v8::internal::wasm::HeapType::AsExact ( Exactness exact = Exactness::kExact) const
inlineconstexpr

Definition at line 750 of file value-type.h.

Here is the call graph for this function:

◆ code()

int32_t v8::internal::wasm::HeapType::code ( ) const
inline

Definition at line 755 of file value-type.h.

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

◆ from_code()

static constexpr HeapType v8::internal::wasm::HeapType::from_code ( uint8_t code,
bool is_shared )
inlinestaticconstexpr

Definition at line 727 of file value-type.h.

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

◆ FromBits()

static constexpr HeapType v8::internal::wasm::HeapType::FromBits ( uint32_t bits)
inlinestaticconstexpr

Definition at line 721 of file value-type.h.

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

◆ Generic()

static constexpr HeapType v8::internal::wasm::HeapType::Generic ( GenericKind kind,
bool shared )
inlinestaticconstexpr

Definition at line 713 of file value-type.h.

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

◆ Index()

static constexpr HeapType v8::internal::wasm::HeapType::Index ( ModuleTypeIndex index,
bool shared,
RefTypeKind kind,
Exactness exact = Exactness::kAnySubtype )
inlinestaticconstexpr

Definition at line 716 of file value-type.h.

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

◆ is_index()

bool v8::internal::wasm::HeapType::is_index ( ) const
inlineconstexpr

Definition at line 840 of file value-type.h.

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

◆ is_non_nullable()

bool v8::internal::wasm::HeapType::is_non_nullable ( ) const
constexprprivate

◆ is_nullable()

bool v8::internal::wasm::HeapType::is_nullable ( ) const
constexprprivate

◆ name()

std::string v8::internal::wasm::HeapType::name ( ) const
inline

Definition at line 773 of file value-type.h.

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

◆ nullability()

Nullability v8::internal::wasm::HeapType::nullability ( ) const
constexprprivate

◆ operator==()

bool v8::internal::wasm::HeapType::operator== ( HeapType other) const
inlineconstexpr

Definition at line 766 of file value-type.h.

◆ ref_index()

ModuleTypeIndex v8::internal::wasm::HeapType::ref_index ( ) const
inlineconstexpr

Definition at line 762 of file value-type.h.

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

◆ representation()

Representation v8::internal::wasm::HeapType::representation ( ) const
inlineconstexpr

Definition at line 837 of file value-type.h.

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

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