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

#include <constant-expression.h>

Collaboration diagram for v8::internal::wasm::ConstantExpression:

Public Types

enum class  Kind {
  kEmpty , kI32Const , kRefNull , kRefFunc ,
  kWireBytesRef , kLastKind = kWireBytesRef
}
 

Public Member Functions

constexpr ConstantExpression ()=default
 
constexpr Kind kind () const
 
constexpr bool is_set () const
 
constexpr uint32_t index () const
 
constexpr HeapType type () const
 
constexpr int32_t i32_value () const
 
V8_EXPORT_PRIVATE WireBytesRef wire_bytes_ref () const
 

Static Public Member Functions

static constexpr ConstantExpression I32Const (int32_t value)
 
static constexpr ConstantExpression RefFunc (uint32_t index)
 
static constexpr ConstantExpression RefNull (HeapType type)
 
static constexpr ConstantExpression WireBytes (uint32_t offset, uint32_t length)
 

Private Types

using ValueField = base::BitField<uint32_t, 0, kValueBits, uint64_t>
 
using OffsetField = base::BitField<uint32_t, 0, kOffsetBits, uint64_t>
 
using LengthField = OffsetField::Next<uint32_t, kLengthBits>
 
using KindField = LengthField::Next<Kind, kKindBits>
 

Private Member Functions

constexpr ConstantExpression (uint64_t bit_field)
 

Private Attributes

uint64_t bit_field_ = 0
 

Static Private Attributes

static constexpr int kValueBits = 32
 
static constexpr int kLengthBits = 30
 
static constexpr int kOffsetBits = 30
 
static constexpr int kKindBits = 3
 

Detailed Description

Definition at line 33 of file constant-expression.h.

Member Typedef Documentation

◆ KindField

◆ LengthField

◆ OffsetField

Definition at line 95 of file constant-expression.h.

◆ ValueField

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

Member Enumeration Documentation

◆ Kind

Enumerator
kEmpty 
kI32Const 
kRefNull 
kRefFunc 
kWireBytesRef 
kLastKind 

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

Constructor & Destructor Documentation

◆ ConstantExpression() [1/2]

v8::internal::wasm::ConstantExpression::ConstantExpression ( )
constexprdefault
Here is the caller graph for this function:

◆ ConstantExpression() [2/2]

v8::internal::wasm::ConstantExpression::ConstantExpression ( uint64_t bit_field)
inlineexplicitconstexprprivate

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

Member Function Documentation

◆ i32_value()

int32_t v8::internal::wasm::ConstantExpression::i32_value ( ) const
inlineconstexpr

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

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

◆ I32Const()

static constexpr ConstantExpression v8::internal::wasm::ConstantExpression::I32Const ( int32_t value)
inlinestaticconstexpr

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

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

◆ index()

uint32_t v8::internal::wasm::ConstantExpression::index ( ) const
inlineconstexpr

Definition at line 69 of file constant-expression.h.

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

◆ is_set()

bool v8::internal::wasm::ConstantExpression::is_set ( ) const
inlineconstexpr

Definition at line 67 of file constant-expression.h.

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

◆ kind()

Kind v8::internal::wasm::ConstantExpression::kind ( ) const
inlineconstexpr

Definition at line 65 of file constant-expression.h.

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

◆ RefFunc()

static constexpr ConstantExpression v8::internal::wasm::ConstantExpression::RefFunc ( uint32_t index)
inlinestaticconstexpr

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

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

◆ RefNull()

static constexpr ConstantExpression v8::internal::wasm::ConstantExpression::RefNull ( HeapType type)
inlinestaticconstexpr

Definition at line 54 of file constant-expression.h.

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

◆ type()

HeapType v8::internal::wasm::ConstantExpression::type ( ) const
inlineconstexpr

Definition at line 74 of file constant-expression.h.

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

◆ wire_bytes_ref()

WireBytesRef v8::internal::wasm::ConstantExpression::wire_bytes_ref ( ) const

Definition at line 23 of file constant-expression.cc.

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

◆ WireBytes()

static constexpr ConstantExpression v8::internal::wasm::ConstantExpression::WireBytes ( uint32_t offset,
uint32_t length )
inlinestaticconstexpr

Definition at line 58 of file constant-expression.h.

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

Member Data Documentation

◆ bit_field_

uint64_t v8::internal::wasm::ConstantExpression::bit_field_ = 0
private

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

◆ kKindBits

int v8::internal::wasm::ConstantExpression::kKindBits = 3
staticconstexprprivate

Definition at line 90 of file constant-expression.h.

◆ kLengthBits

int v8::internal::wasm::ConstantExpression::kLengthBits = 30
staticconstexprprivate

Definition at line 88 of file constant-expression.h.

◆ kOffsetBits

int v8::internal::wasm::ConstantExpression::kOffsetBits = 30
staticconstexprprivate

Definition at line 89 of file constant-expression.h.

◆ kValueBits

int v8::internal::wasm::ConstantExpression::kValueBits = 32
staticconstexprprivate

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


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