![]() |
v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
|
#include <inttypes.h>
#include <optional>
#include "src/base/bounds.h"
#include "src/base/small-vector.h"
#include "src/base/strings.h"
#include "src/base/vector.h"
#include "src/strings/unicode.h"
#include "src/utils/bit-vector.h"
#include "src/wasm/decoder.h"
#include "src/wasm/function-body-decoder.h"
#include "src/wasm/value-type.h"
#include "src/wasm/wasm-features.h"
#include "src/wasm/wasm-limits.h"
#include "src/wasm/wasm-module.h"
#include "src/wasm/wasm-opcodes.h"
#include "src/wasm/wasm-subtyping.h"
Go to the source code of this file.
Namespaces | |
namespace | v8 |
namespace | v8::internal |
namespace | v8::internal::wasm |
namespace | v8::internal::wasm::value_type_reader |
Typedefs | |
using | v8::internal::wasm::TryTableImmediate = BranchTableImmediate |
using | v8::internal::wasm::EffectHandlerTableImmediate = BranchTableImmediate |
Functions | |
static constexpr LoadType | v8::internal::wasm::GetLoadType (WasmOpcode opcode) |
static constexpr StoreType | v8::internal::wasm::GetStoreType (WasmOpcode opcode) |
template<typename ValidationTag , typename... Args> | |
V8_INLINE void | v8::internal::wasm::DecodeError (Decoder *decoder, const uint8_t *pc, const char *str, Args &&... args) |
template<typename ValidationTag , typename... Args> | |
V8_INLINE void | v8::internal::wasm::DecodeError (Decoder *decoder, const char *str, Args &&... args) |
template<typename ValidationTag > | |
std::pair< HeapType, uint32_t > | v8::internal::wasm::value_type_reader::read_heap_type (Decoder *decoder, const uint8_t *pc, WasmEnabledFeatures enabled) |
template<typename ValidationTag > | |
std::pair< ValueType, uint32_t > | v8::internal::wasm::value_type_reader::read_value_type (Decoder *decoder, const uint8_t *pc, WasmEnabledFeatures enabled) |
template<typename ValidationTag > | |
bool | v8::internal::wasm::value_type_reader::ValidateHeapType (Decoder *decoder, const uint8_t *pc, const WasmModule *module, HeapType type) |
template<typename ValidationTag > | |
bool | v8::internal::wasm::value_type_reader::ValidateValueType (Decoder *decoder, const uint8_t *pc, const WasmModule *module, ValueType type) |
static void | v8::internal::wasm::value_type_reader::Populate (HeapType *unfinished_type, const WasmModule *module) |
static void | v8::internal::wasm::value_type_reader::Populate (ValueType *unfinished_type, const WasmModule *module) |
Variables | |
const std::pair< uint32_t, uint32_t > | v8::internal::wasm::invalid_instruction_trace = {0, 0} |
#define ASMJS_CASE | ( | Op, | |
... ) |
#define ATOMIC_OP_LIST | ( | V | ) |
Definition at line 107 of file function-body-decoder-impl.h.
#define ATOMIC_STORE_OP_LIST | ( | V | ) |
Definition at line 168 of file function-body-decoder-impl.h.
#define BUILD_SIMPLE_EXTENDED_CONST_OPCODE | ( | op, | |
... ) |
#define BUILD_SIMPLE_OPCODE | ( | op, | |
_, | |||
sig, | |||
... ) |
Definition at line 3344 of file function-body-decoder-impl.h.
#define BUILD_SIMPLE_OPCODE | ( | op, | |
_, | |||
sig, | |||
... ) |
Definition at line 3344 of file function-body-decoder-impl.h.
#define BUILD_SIMPLE_OPCODE | ( | op, | |
... ) |
Definition at line 3344 of file function-body-decoder-impl.h.
#define CALL_INTERFACE | ( | name, | |
... ) |
Definition at line 2835 of file function-body-decoder-impl.h.
#define CALL_INTERFACE_IF_OK_AND_PARENT_REACHABLE | ( | name, | |
... ) |
Definition at line 2852 of file function-body-decoder-impl.h.
#define CALL_INTERFACE_IF_OK_AND_REACHABLE | ( | name, | |
... ) |
Definition at line 2843 of file function-body-decoder-impl.h.
#define CASE_ATOMIC_OP | ( | Name, | |
Type ) |
#define CASE_ATOMIC_STORE_OP | ( | Name, | |
Type ) |
#define CHECK_PROTOTYPE_OPCODE | ( | feat | ) |
Definition at line 63 of file function-body-decoder-impl.h.
#define DECLARE_OPCODE_CASE | ( | name, | |
... ) |
#define DECODE | ( | name | ) |
Definition at line 3321 of file function-body-decoder-impl.h.
#define DECODE_IMPL | ( | opcode | ) |
Definition at line 4520 of file function-body-decoder-impl.h.
#define DECODE_IMPL2 | ( | opcode, | |
name ) |
Definition at line 4521 of file function-body-decoder-impl.h.
#define DECODE_IMPL_CONST | ( | opcode | ) |
Definition at line 4529 of file function-body-decoder-impl.h.
#define DECODE_IMPL_CONST2 | ( | opcode, | |
name ) |
Definition at line 4530 of file function-body-decoder-impl.h.
#define DECODE_LOAD_MEM | ( | op, | |
... ) |
#define DECODE_STORE_MEM | ( | op, | |
... ) |
#define DEFINE_EMPTY_CALLBACK | ( | name, | |
... ) |
Definition at line 7116 of file function-body-decoder-impl.h.
#define DEFINE_SIMPLE_SIG_OPERATOR | ( | sig, | |
... ) |
Definition at line 7097 of file function-body-decoder-impl.h.
#define INTERFACE_CONSTANT_FUNCTIONS | ( | F | ) |
Definition at line 1288 of file function-body-decoder-impl.h.
#define INTERFACE_FUNCTIONS | ( | F | ) |
Definition at line 1275 of file function-body-decoder-impl.h.
#define INTERFACE_META_FUNCTIONS | ( | F | ) |
Definition at line 1280 of file function-body-decoder-impl.h.
#define INTERFACE_NON_CONSTANT_FUNCTIONS | ( | F | ) |
Definition at line 1317 of file function-body-decoder-impl.h.
#define NON_CONST_ONLY |
Definition at line 5156 of file function-body-decoder-impl.h.
#define SIMPLE_PROTOTYPE_CASE | ( | name, | |
... ) |
Definition at line 4494 of file function-body-decoder-impl.h.
#define SIMPLE_PROTOTYPE_CASE | ( | name, | |
... ) |
Definition at line 4494 of file function-body-decoder-impl.h.
#define TRACE | ( | ... | ) |
Definition at line 39 of file function-body-decoder-impl.h.
#define TRACE_INST_FORMAT " @%-8d #%-30s|" |
Definition at line 44 of file function-body-decoder-impl.h.
#define VALIDATE | ( | condition | ) |
Definition at line 60 of file function-body-decoder-impl.h.