v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode > Class Template Reference

#include <function-body-decoder-impl.h>

Inheritance diagram for v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >:
Collaboration diagram for v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >:

Classes

class  TraceLine
 

Public Member Functions

template<typename... InterfaceArgs>
 WasmFullDecoder (Zone *zone, const WasmModule *module, WasmEnabledFeatures enabled, WasmDetectedFeatures *detected, const FunctionBody &body, InterfaceArgs &&... interface_args)
 
 ~WasmFullDecoder ()
 
Interface & interface ()
 
void Decode ()
 
void TraceFailed ()
 
const char * SafeOpcodeNameAt (const uint8_t *pc)
 
WasmCodePosition position () const
 
uint32_t control_depth () const
 
Controlcontrol_at (uint32_t depth)
 
uint32_t stack_size () const
 
Valuestack_value (uint32_t depth) const
 
int32_t current_catch () const
 
uint32_t control_depth_of_current_catch () const
 
uint32_t pc_relative_offset () const
 
bool is_local_initialized (uint32_t local_index)
 
void set_local_initialized (uint32_t local_index)
 
uint32_t locals_initialization_stack_depth () const
 
void RollbackLocalsInitialization (Control *c)
 
void InitializeInitializedLocalsTracking (int non_defaultable_locals)
 
void DecodeFunctionBody ()
 
bool HasCatchAll (Control *block) const
 
- Public Member Functions inherited from v8::internal::wasm::WasmDecoder< ValidationTag, kFunctionBody >
 WasmDecoder (Zone *zone, const WasmModule *module, WasmEnabledFeatures enabled, WasmDetectedFeatures *detected, const FunctionSig *sig, bool is_shared, const uint8_t *start, const uint8_t *end, uint32_t buffer_offset=0)
 
Zonezone () const
 
uint32_t num_locals () const
 
base::Vector< ValueTypelocal_types () const
 
ValueType local_type (uint32_t index) const
 
uint32_t DecodeLocals (const uint8_t *pc)
 
V8_INLINE void DecodeError (Args... args)
 
bool Validate (const uint8_t *pc, TagIndexImmediate &imm)
 
bool Validate (const uint8_t *pc, GlobalIndexImmediate &imm)
 
bool Validate (const uint8_t *pc, SigIndexImmediate &imm)
 
bool Validate (const uint8_t *pc, StructIndexImmediate &imm)
 
bool Validate (const uint8_t *pc, FieldImmediate &imm)
 
bool Validate (const uint8_t *pc, ArrayIndexImmediate &imm)
 
bool Validate (const uint8_t *pc, CallFunctionImmediate &imm)
 
bool Validate (const uint8_t *pc, CallIndirectImmediate &imm)
 
bool Validate (const uint8_t *pc, BranchDepthImmediate &imm, size_t control_depth)
 
bool Validate (const uint8_t *pc, BranchTableImmediate &imm)
 
bool Validate (const uint8_t *pc, WasmOpcode opcode, SimdLaneImmediate &imm)
 
bool Validate (const uint8_t *pc, Simd128Immediate &imm)
 
bool Validate (const uint8_t *pc, BlockTypeImmediate &imm)
 
bool Validate (const uint8_t *pc, MemoryIndexImmediate &imm)
 
bool Validate (const uint8_t *pc, MemoryAccessImmediate &imm)
 
bool Validate (const uint8_t *pc, MemoryInitImmediate &imm)
 
bool Validate (const uint8_t *pc, MemoryCopyImmediate &imm)
 
bool Validate (const uint8_t *pc, TableInitImmediate &imm)
 
bool Validate (const uint8_t *pc, TableCopyImmediate &imm)
 
bool Validate (const uint8_t *pc, StringConstImmediate &imm)
 
bool Validate (const uint8_t *pc, TableIndexImmediate &imm)
 
bool Validate (const uint8_t *pc, SelectTypeImmediate &imm)
 
bool Validate (const uint8_t *pc, HeapTypeImmediate &imm)
 
bool CanReturnCall (const FunctionSig *target_sig)
 
bool ValidateElementSegment (const uint8_t *pc, IndexImmediate &imm)
 
bool ValidateLocal (const uint8_t *pc, IndexImmediate &imm)
 
bool ValidateFunction (const uint8_t *pc, IndexImmediate &imm)
 
bool ValidateCont (const uint8_t *pc, ContIndexImmediate &imm)
 
bool ValidateDataSegment (const uint8_t *pc, IndexImmediate &imm)
 
bool ValidateValueType (const uint8_t *pc, ValueType type)
 
bool ValidateHeapType (const uint8_t *pc, HeapType type)
 
- Public Member Functions inherited from v8::internal::wasm::Decoder
 Decoder (const uint8_t *start, const uint8_t *end, uint32_t buffer_offset=0)
 
 Decoder (const base::Vector< const uint8_t > bytes, uint32_t buffer_offset=0)
 
 Decoder (const uint8_t *start, const uint8_t *pc, const uint8_t *end, uint32_t buffer_offset=0)
 
virtual ~Decoder ()=default
 
template<typename ValidationTag >
uint8_t read_u8 (const uint8_t *pc, Name< ValidationTag > msg="expected 1 byte")
 
template<typename ValidationTag >
uint16_t read_u16 (const uint8_t *pc, Name< ValidationTag > msg="expected 2 bytes")
 
template<typename ValidationTag >
uint32_t read_u32 (const uint8_t *pc, Name< ValidationTag > msg="expected 4 bytes")
 
template<typename ValidationTag >
uint64_t read_u64 (const uint8_t *pc, Name< ValidationTag > msg="expected 8 bytes")
 
template<typename ValidationTag >
std::pair< uint32_t, uint32_t > read_u32v (const uint8_t *pc, Name< ValidationTag > name="LEB32")
 
template<typename ValidationTag >
std::pair< int32_t, uint32_t > read_i32v (const uint8_t *pc, Name< ValidationTag > name="signed LEB32")
 
template<typename ValidationTag >
std::pair< uint64_t, uint32_t > read_u64v (const uint8_t *pc, Name< ValidationTag > name="LEB64")
 
template<typename ValidationTag >
std::pair< int64_t, uint32_t > read_i64v (const uint8_t *pc, Name< ValidationTag > name="signed LEB64")
 
template<typename ValidationTag >
std::pair< int64_t, uint32_t > read_i33v (const uint8_t *pc, Name< ValidationTag > name="signed LEB33")
 
template<typename ValidationTag >
std::pair< WasmOpcode, uint32_t > read_prefixed_opcode (const uint8_t *pc, Name< ValidationTag > name="prefixed opcode")
 
uint8_t consume_u8 (const char *name="uint8_t")
 
uint8_t consume_u8 (const char *name, ITracer *tracer)
 
uint16_t consume_u16 (const char *name="uint16_t")
 
uint32_t consume_u32 (const char *name, ITracer *tracer)
 
uint32_t consume_u32v (const char *name="var_uint32")
 
uint32_t consume_u32v (const char *name, ITracer *tracer)
 
int32_t consume_i32v (const char *name="var_int32")
 
uint64_t consume_u64v (const char *name, ITracer *tracer)
 
int64_t consume_i64v (const char *name="var_int64")
 
void consume_bytes (uint32_t size, const char *name="skip")
 
void consume_bytes (uint32_t size, const char *name, ITracer *tracer)
 
uint32_t available_bytes () const
 
bool checkAvailable (uint32_t size)
 
void V8_NOINLINE V8_PRESERVE_MOST error (const char *msg)
 
void V8_NOINLINE V8_PRESERVE_MOST error (const uint8_t *pc, const char *msg)
 
void V8_NOINLINE V8_PRESERVE_MOST error (uint32_t offset, const char *msg)
 
template<typename... Args>
void V8_NOINLINE V8_PRESERVE_MOST errorf (const char *format, Args... args)
 
template<typename... Args>
void V8_NOINLINE V8_PRESERVE_MOST errorf (const uint8_t *pc, const char *format, Args... args)
 
template<typename... Args>
void V8_NOINLINE V8_PRESERVE_MOST errorf (uint32_t offset, const char *format, Args... args)
 
void traceByteRange (const uint8_t *start, const uint8_t *end)
 
void traceOffEnd ()
 
template<typename T , typename R = std::decay_t<T>>
Result< R > toResult (T &&val)
 
void Reset (const uint8_t *start, const uint8_t *end, uint32_t buffer_offset=0)
 
void Reset (base::Vector< const uint8_t > bytes, uint32_t buffer_offset=0)
 
bool ok () const
 
bool failed () const
 
bool more () const
 
const WasmErrorerror () const
 
const uint8_t * start () const
 
const uint8_t * pc () const
 
uint32_t V8_INLINE position () const
 
uint32_t V8_INLINE pc_offset (const uint8_t *pc) const
 
uint32_t pc_offset () const
 
uint32_t buffer_offset () const
 
uint32_t GetBufferRelativeOffset (uint32_t offset) const
 
const uint8_t * end () const
 
void set_end (const uint8_t *end)
 
bool lookahead (int offset, uint8_t expected)
 

Private Types

enum class  WasmArrayAccess { kRead , kWrite }
 
enum  StackElementsCountMode : bool { kNonStrictCounting = false , kStrictCounting = true }
 
enum  MergeType { kBranchMerge , kReturnMerge , kFallthroughMerge , kInitExprMerge }
 
enum class  PushBranchValues : bool { kNo = false , kYes = true }
 
enum class  RewriteStackTypes : bool { kNo = false , kYes = true }
 
using Value = typename Interface::Value
 
using Control = typename Interface::Control
 
using ArgVector = base::Vector<Value>
 
using PoppedArgVector
 
using ReturnVector = base::SmallVector<Value, 2>
 
using OpcodeHandler = int (*)(WasmFullDecoder*, WasmOpcode)
 

Private Member Functions

 ASSERT_TRIVIALLY_COPYABLE (Value)
 
void SetSucceedingCodeDynamicallyUnreachable ()
 
void MarkMightThrow ()
 
V8_INLINE ValueType TableAddressType (const WasmTable *table)
 
V8_INLINE ValueType MemoryAddressType (const WasmMemory *memory)
 
V8_INLINE MemoryAccessImmediate MakeMemoryAccessImmediate (uint32_t pc_offset, uint32_t max_alignment)
 
 DECODE (Nop)
 
 DECODE (NopForTestingUnsupportedInLiftoff)
 
 DECODE (Block)
 
 DECODE (Rethrow)
 
 DECODE (Throw)
 
 DECODE (Try)
 
 DECODE (Catch)
 
 DECODE (Delegate)
 
 DECODE (CatchAll)
 
 DECODE (TryTable)
 
 DECODE (ThrowRef)
 
 DECODE (BrOnNull)
 
 DECODE (BrOnNonNull)
 
 DECODE (Loop)
 
 DECODE (If)
 
 DECODE (Else)
 
 DECODE (End)
 
 DECODE (Select)
 
 DECODE (SelectWithType)
 
 DECODE (Br)
 
 DECODE (BrIf)
 
 DECODE (BrTable)
 
 DECODE (Return)
 
 DECODE (Unreachable)
 
 DECODE (I32Const)
 
 DECODE (I64Const)
 
 DECODE (F32Const)
 
 DECODE (F64Const)
 
 DECODE (RefNull)
 
 DECODE (RefIsNull)
 
 DECODE (RefFunc)
 
 DECODE (RefAsNonNull)
 
V8_INLINE DECODE (LocalGet)
 
 DECODE (LocalSet)
 
 DECODE (LocalTee)
 
 DECODE (Drop)
 
 DECODE (GlobalGet)
 
 DECODE (GlobalSet)
 
 DECODE (TableGet)
 
 DECODE (TableSet)
 
 DECODE (LoadMem)
 
 DECODE (StoreMem)
 
 DECODE (MemoryGrow)
 
 DECODE (MemorySize)
 
 DECODE (CallFunction)
 
 DECODE (CallIndirect)
 
 DECODE (ReturnCall)
 
 DECODE (ReturnCallIndirect)
 
 DECODE (CallRef)
 
 DECODE (ReturnCallRef)
 
 DECODE (RefEq)
 
 DECODE (ContNew)
 
 DECODE (Resume)
 
 DECODE (Suspend)
 
 DECODE (Numeric)
 
 DECODE (AsmJs)
 
 DECODE (Simd)
 
 DECODE (Atomic)
 
 DECODE (GC)
 
OpcodeHandler GetOpcodeHandler (uint8_t opcode)
 
void EndControl ()
 
template<typename func >
V8_INLINE void InitMerge (Merge< Value > *merge, uint32_t arity, func get_val)
 
V8_INLINE int EnsureStackArguments (int count)
 
V8_NOINLINE V8_PRESERVE_MOST int EnsureStackArguments_Slow (int count)
 
V8_INLINE void ValidateParameters (const FunctionSig *sig)
 
V8_INLINE void DropArgs (const FunctionSig *sig)
 
V8_INLINE PoppedArgVector PopArgs (const StructType *type)
 
V8_INLINE void DropArgs (const StructType *type)
 
V8_INLINE PoppedArgVector PopArgs (const FunctionSig *sig)
 
ControlPushControl (ControlKind kind, const BlockTypeImmediate &imm)
 
void PopControl ()
 
int DecodeLoadMem (LoadType type, int prefix_len=1)
 
int DecodeLoadTransformMem (LoadType type, LoadTransformationKind transform, uint32_t opcode_length)
 
int DecodeLoadLane (WasmOpcode opcode, LoadType type, uint32_t opcode_length)
 
int DecodeStoreLane (WasmOpcode opcode, StoreType type, uint32_t opcode_length)
 
bool CheckStaticallyOutOfBounds (const WasmMemory *memory, uint64_t size, uint64_t offset)
 
int DecodeStoreMem (StoreType store, int prefix_len=1)
 
uint32_t SimdConstOp (uint32_t opcode_length)
 
uint32_t SimdExtractLane (WasmOpcode opcode, ValueType type, uint32_t opcode_length)
 
uint32_t SimdReplaceLane (WasmOpcode opcode, ValueType type, uint32_t opcode_length)
 
uint32_t Simd8x16ShuffleOp (uint32_t opcode_length)
 
uint32_t DecodeSimdOpcode (WasmOpcode opcode, uint32_t opcode_length)
 
bool TypeCheckAlwaysFails (Value obj, HeapType expected_type, bool null_succeeds)
 
bool TypeCheckAlwaysSucceeds (Value obj, HeapType type)
 
Value PopDescriptor (ModuleTypeIndex described_index)
 
int DecodeGCOpcode (WasmOpcode opcode, uint32_t opcode_length)
 
int ParseBrOnCast (WasmOpcode opcode, uint32_t pc_offset)
 
int DecodeStringNewWtf8 (unibrow::Utf8Variant variant, uint32_t opcode_length)
 
int DecodeStringMeasureWtf8 (unibrow::Utf8Variant variant, uint32_t opcode_length)
 
int DecodeStringEncodeWtf8 (unibrow::Utf8Variant variant, uint32_t opcode_length)
 
int DecodeStringViewWtf8Encode (unibrow::Utf8Variant variant, uint32_t opcode_length)
 
int DecodeStringNewWtf8Array (unibrow::Utf8Variant variant, uint32_t opcode_length)
 
int DecodeStringEncodeWtf8Array (unibrow::Utf8Variant variant, uint32_t opcode_length)
 
int DecodeStringRefOpcode (WasmOpcode opcode, uint32_t opcode_length)
 
uint32_t DecodeAtomicOpcode (WasmOpcode opcode, uint32_t opcode_length)
 
unsigned DecodeNumericOpcode (WasmOpcode opcode, uint32_t opcode_length)
 
unsigned DecodeAsmJsOpcode (WasmOpcode opcode, uint32_t opcode_length)
 
V8_INLINE Value CreateValue (ValueType type)
 
V8_INLINE ValuePush (Value value)
 
V8_INLINE ValuePush (ValueType type)
 
void PushMergeValues (Control *c, Merge< Value > *merge)
 
V8_INLINE void PushReturns (ReturnVector values)
 
ValuePushReturns (const FunctionSig *sig)
 
V8_NOINLINE V8_PRESERVE_MOST void PopTypeError (int index, Value val, const char *expected)
 
V8_NOINLINE V8_PRESERVE_MOST void PopTypeError (int index, Value val, std::string expected)
 
V8_NOINLINE V8_PRESERVE_MOST void PopTypeError (int index, Value val, ValueType expected)
 
V8_NOINLINE V8_PRESERVE_MOST void NotEnoughArgumentsError (int needed, int actual)
 
V8_INLINE Value Pop (int index, ValueType expected)
 
V8_INLINE void ValidateStackValue (int index, Value value, ValueType expected)
 
V8_INLINE Value Pop ()
 
V8_INLINE Value Peek (int depth, int index, ValueType expected)
 
V8_INLINE Value Peek (int depth=0)
 
V8_INLINE Value Peek (ValueType expected)
 
template<typename... ValueTypes>
requires ((std::is_same_v<ValueType, ValueTypes> || std::is_base_of_v<IndependentValueType, ValueTypes>) && ...)
V8_INLINE std::conditional_t< sizeof...(ValueTypes)==1, Value, std::array< Value, sizeof...(ValueTypes)> > Pop (ValueTypes... expected_types)
 
Value PopPackedArray (uint32_t operand_index, ValueType expected_element_type, WasmArrayAccess access)
 
V8_INLINE void Drop (int count=1)
 
V8_INLINE void Drop (const Value &)
 
template<StackElementsCountMode strict_count, PushBranchValues push_branch_values, MergeType merge_type, RewriteStackTypes rewrite_types>
V8_INLINE bool TypeCheckStackAgainstMerge (Merge< Value > *merge)
 
template<StackElementsCountMode strict_count, PushBranchValues push_branch_values, MergeType merge_type, RewriteStackTypes rewrite_types>
V8_PRESERVE_MOST V8_NOINLINE bool TypeCheckStackAgainstMerge_Slow (Merge< Value > *merge)
 
template<StackElementsCountMode strict_count, MergeType merge_type>
bool DoReturn ()
 
int startrel (const uint8_t *ptr)
 
void FallThrough ()
 
bool TypeCheckOneArmedIf (Control *c)
 
bool TypeCheckFallThru ()
 
template<PushBranchValues push_branch_values, RewriteStackTypes rewrite_types>
bool TypeCheckBranch (Control *c)
 
void onFirstError () override
 
int BuildSimplePrototypeOperator (WasmOpcode opcode)
 
int BuildSimpleOperator (WasmOpcode opcode, const FunctionSig *sig)
 
int BuildSimpleOperator (WasmOpcode opcode, ValueType return_type, ValueType arg_type)
 
int BuildSimpleOperator (WasmOpcode opcode, ValueType return_type, ValueType lhs_type, ValueType rhs_type)
 

Static Private Member Functions

static Value UnreachableValue (const uint8_t *pc)
 
static int NonConstError (WasmFullDecoder *decoder, WasmOpcode opcode)
 
static int UnknownOpcodeError (WasmFullDecoder *decoder, WasmOpcode opcode)
 
static constexpr OpcodeHandler GetOpcodeHandlerTableEntry (size_t idx)
 

Private Attributes

uint32_t locals_offset_ = 0
 
Interface interface_
 
FastZoneVector< Valuestack_
 
boolinitialized_locals_
 
FastZoneVector< uint32_t > locals_initializers_stack_
 
FastZoneVector< Controlcontrol_
 
bool current_code_reachable_and_ok_ = true
 
bool has_nondefaultable_locals_ = true
 
int32_t current_catch_ = -1
 

Static Private Attributes

static constexpr ValidationTag validate = {}
 

Additional Inherited Members

- Public Types inherited from v8::internal::wasm::Decoder
enum  TraceFlag : bool { kTrace = true , kNoTrace = false }
 
template<typename ValidationTag >
using Name = std::conditional_t<ValidationTag::validate, const char*, NoName>
 
- Static Public Member Functions inherited from v8::internal::wasm::WasmDecoder< ValidationTag, kFunctionBody >
static BitVectorAnalyzeLoopAssignment (WasmDecoder *decoder, const uint8_t *pc, uint32_t locals_count, Zone *zone, bool *loop_is_innermost=nullptr)
 
static uint32_t OpcodeLength (WasmDecoder *decoder, const uint8_t *pc, ImmediateObservers &... ios)
 
- Public Attributes inherited from v8::internal::wasm::WasmDecoder< ValidationTag, kFunctionBody >
Zone *const zone_
 
ValueTypelocal_types_
 
uint32_t num_locals_
 
const WasmModulemodule_
 
const WasmEnabledFeatures enabled_
 
WasmDetectedFeaturesdetected_
 
const FunctionSigsig_
 
bool is_shared_
 
const std::pair< uint32_t, uint32_t > * current_inst_trace_
 
- Static Public Attributes inherited from v8::internal::wasm::WasmDecoder< ValidationTag, kFunctionBody >
static constexpr ValidationTag validate
 
- Static Public Attributes inherited from v8::internal::wasm::Decoder
static constexpr struct v8::internal::wasm::Decoder::NoValidationTag kNoValidation = {}
 
static constexpr struct v8::internal::wasm::Decoder::FullValidationTag kFullValidation = {}
 
- Protected Attributes inherited from v8::internal::wasm::Decoder
const uint8_t * start_
 
const uint8_t * pc_
 
const uint8_t * end_
 
uint32_t buffer_offset_
 
WasmError error_
 

Detailed Description

template<typename ValidationTag, typename Interface, DecodingMode decoding_mode = kFunctionBody>
class v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >

Definition at line 2875 of file function-body-decoder-impl.h.

Member Typedef Documentation

◆ ArgVector

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
using v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::ArgVector = base::Vector<Value>
private

Definition at line 2878 of file function-body-decoder-impl.h.

◆ Control

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
using v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Control = typename Interface::Control
private

Definition at line 2877 of file function-body-decoder-impl.h.

◆ OpcodeHandler

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
using v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::OpcodeHandler = int (*)(WasmFullDecoder*, WasmOpcode)
private

Definition at line 4512 of file function-body-decoder-impl.h.

◆ PoppedArgVector

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
using v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PoppedArgVector
private
Initial value:
std::conditional_t<Interface::kUsesPoppedArgs,
base::SmallVector<Value, 8>, NoVector>

Definition at line 2879 of file function-body-decoder-impl.h.

◆ ReturnVector

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
using v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::ReturnVector = base::SmallVector<Value, 2>
private

Definition at line 2882 of file function-body-decoder-impl.h.

◆ Value

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
using v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Value = typename Interface::Value
private

Definition at line 2876 of file function-body-decoder-impl.h.

Member Enumeration Documentation

◆ MergeType

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
enum v8::internal::wasm::WasmFullDecoder::MergeType
private
Enumerator
kBranchMerge 
kReturnMerge 
kFallthroughMerge 
kInitExprMerge 

Definition at line 6870 of file function-body-decoder-impl.h.

◆ PushBranchValues

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
enum class v8::internal::wasm::WasmFullDecoder::PushBranchValues : bool
strongprivate
Enumerator
kNo 
kYes 

Definition at line 6877 of file function-body-decoder-impl.h.

◆ RewriteStackTypes

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
enum class v8::internal::wasm::WasmFullDecoder::RewriteStackTypes : bool
strongprivate
Enumerator
kNo 
kYes 

Definition at line 6881 of file function-body-decoder-impl.h.

◆ StackElementsCountMode

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
enum v8::internal::wasm::WasmFullDecoder::StackElementsCountMode : bool
private
Enumerator
kNonStrictCounting 
kStrictCounting 

Definition at line 6865 of file function-body-decoder-impl.h.

◆ WasmArrayAccess

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
enum class v8::internal::wasm::WasmFullDecoder::WasmArrayAccess
strongprivate
Enumerator
kRead 
kWrite 

Definition at line 5878 of file function-body-decoder-impl.h.

Constructor & Destructor Documentation

◆ WasmFullDecoder()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
template<typename... InterfaceArgs>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::WasmFullDecoder ( Zone * zone,
const WasmModule * module,
WasmEnabledFeatures enabled,
WasmDetectedFeatures * detected,
const FunctionBody & body,
InterfaceArgs &&... interface_args )
inline

Definition at line 2890 of file function-body-decoder-impl.h.

◆ ~WasmFullDecoder()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::~WasmFullDecoder ( )
inline

Definition at line 2900 of file function-body-decoder-impl.h.

Member Function Documentation

◆ ASSERT_TRIVIALLY_COPYABLE()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::ASSERT_TRIVIALLY_COPYABLE ( Value )
private

◆ BuildSimpleOperator() [1/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::BuildSimpleOperator ( WasmOpcode opcode,
const FunctionSig * sig )
inlineprivate

Definition at line 7066 of file function-body-decoder-impl.h.

◆ BuildSimpleOperator() [2/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::BuildSimpleOperator ( WasmOpcode opcode,
ValueType return_type,
ValueType arg_type )
inlineprivate

Definition at line 7080 of file function-body-decoder-impl.h.

◆ BuildSimpleOperator() [3/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::BuildSimpleOperator ( WasmOpcode opcode,
ValueType return_type,
ValueType lhs_type,
ValueType rhs_type )
inlineprivate

Definition at line 7089 of file function-body-decoder-impl.h.

◆ BuildSimplePrototypeOperator()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::BuildSimplePrototypeOperator ( WasmOpcode opcode)
inlineprivate

Definition at line 7061 of file function-body-decoder-impl.h.

◆ CheckStaticallyOutOfBounds()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::CheckStaticallyOutOfBounds ( const WasmMemory * memory,
uint64_t size,
uint64_t offset )
inlineprivate

Definition at line 4875 of file function-body-decoder-impl.h.

◆ control_at()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
Control * v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::control_at ( uint32_t depth)
inline

Definition at line 2987 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ control_depth()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::control_depth ( ) const
inline

Definition at line 2983 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ control_depth_of_current_catch()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::control_depth_of_current_catch ( ) const
inline

Definition at line 3002 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ CreateValue()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE Value v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::CreateValue ( ValueType type)
inlineprivate

Definition at line 6661 of file function-body-decoder-impl.h.

◆ current_catch()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::current_catch ( ) const
inline

Definition at line 3000 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ DECODE() [1/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( AsmJs )
inlineprivate

Definition at line 4437 of file function-body-decoder-impl.h.

◆ DECODE() [2/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Atomic )
inlineprivate

Definition at line 4466 of file function-body-decoder-impl.h.

◆ DECODE() [3/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Block )
inlineprivate

Definition at line 3359 of file function-body-decoder-impl.h.

◆ DECODE() [4/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Br )
inlineprivate

Definition at line 3877 of file function-body-decoder-impl.h.

◆ DECODE() [5/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( BrIf )
inlineprivate

Definition at line 3894 of file function-body-decoder-impl.h.

◆ DECODE() [6/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( BrOnNonNull )
inlineprivate

Definition at line 3639 of file function-body-decoder-impl.h.

◆ DECODE() [7/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( BrOnNull )
inlineprivate

Definition at line 3601 of file function-body-decoder-impl.h.

◆ DECODE() [8/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( BrTable )
inlineprivate

Definition at line 3911 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [9/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( CallFunction )
inlineprivate

Definition at line 4179 of file function-body-decoder-impl.h.

◆ DECODE() [10/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( CallIndirect )
inlineprivate

Definition at line 4189 of file function-body-decoder-impl.h.

◆ DECODE() [11/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( CallRef )
inlineprivate

Definition at line 4242 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [12/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Catch )
inlineprivate

Definition at line 3413 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [13/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( CatchAll )
inlineprivate

Definition at line 3489 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [14/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( ContNew )
inlineprivate

Definition at line 4306 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [15/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Delegate )
inlineprivate

Definition at line 3457 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [16/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Drop )
inlineprivate

Definition at line 4108 of file function-body-decoder-impl.h.

◆ DECODE() [17/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Else )
inlineprivate

Definition at line 3714 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [18/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( End )
inlineprivate

Definition at line 3736 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [19/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( F32Const )
inlineprivate

Definition at line 3989 of file function-body-decoder-impl.h.

◆ DECODE() [20/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( F64Const )
inlineprivate

Definition at line 3996 of file function-body-decoder-impl.h.

◆ DECODE() [21/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( GC )
inlineprivate

Definition at line 4475 of file function-body-decoder-impl.h.

◆ DECODE() [22/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( GlobalGet )
inlineprivate

Definition at line 4114 of file function-body-decoder-impl.h.

◆ DECODE() [23/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( GlobalSet )
inlineprivate

Definition at line 4122 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [24/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( I32Const )
inlineprivate

Definition at line 3975 of file function-body-decoder-impl.h.

◆ DECODE() [25/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( I64Const )
inlineprivate

Definition at line 3982 of file function-body-decoder-impl.h.

◆ DECODE() [26/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( If )
inlineprivate

Definition at line 3705 of file function-body-decoder-impl.h.

◆ DECODE() [27/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( LoadMem )
inlineprivate

Definition at line 4154 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [28/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( LocalGet )
inlineprivate

Definition at line 4075 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [29/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( LocalSet )
inlineprivate

Definition at line 4088 of file function-body-decoder-impl.h.

◆ DECODE() [30/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( LocalTee )
inlineprivate

Definition at line 4097 of file function-body-decoder-impl.h.

◆ DECODE() [31/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Loop )
inlineprivate

Definition at line 3692 of file function-body-decoder-impl.h.

◆ DECODE() [32/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( MemoryGrow )
inlineprivate

Definition at line 4158 of file function-body-decoder-impl.h.

◆ DECODE() [33/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( MemorySize )
inlineprivate

Definition at line 4170 of file function-body-decoder-impl.h.

◆ DECODE() [34/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Nop )
inlineprivate

Definition at line 3328 of file function-body-decoder-impl.h.

◆ DECODE() [35/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( NopForTestingUnsupportedInLiftoff )
inlineprivate

Definition at line 3330 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [36/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Numeric )
inlineprivate

Definition at line 4425 of file function-body-decoder-impl.h.

◆ DECODE() [37/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( RefAsNonNull )
inlineprivate

Definition at line 4053 of file function-body-decoder-impl.h.

◆ DECODE() [38/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( RefEq )
inlineprivate

Definition at line 4273 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [39/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( RefFunc )
inlineprivate

Definition at line 4040 of file function-body-decoder-impl.h.

◆ DECODE() [40/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( RefIsNull )
inlineprivate

Definition at line 4018 of file function-body-decoder-impl.h.

◆ DECODE() [41/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( RefNull )
inlineprivate

Definition at line 4003 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [42/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Resume )
inlineprivate

Definition at line 4326 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [43/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Rethrow )
inlineprivate

Definition at line 3367 of file function-body-decoder-impl.h.

◆ DECODE() [44/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Return )
inlineprivate

Definition at line 3965 of file function-body-decoder-impl.h.

◆ DECODE() [45/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( ReturnCall )
inlineprivate

Definition at line 4205 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [46/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( ReturnCallIndirect )
inlineprivate

Definition at line 4220 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [47/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( ReturnCallRef )
inlineprivate

Definition at line 4255 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [48/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Select )
inlineprivate

Definition at line 3849 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [49/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( SelectWithType )
inlineprivate

Definition at line 3867 of file function-body-decoder-impl.h.

◆ DECODE() [50/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Simd )
inlineprivate

Definition at line 4445 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [51/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( StoreMem )
inlineprivate

Definition at line 4156 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [52/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Suspend )
inlineprivate

Definition at line 4404 of file function-body-decoder-impl.h.

◆ DECODE() [53/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( TableGet )
inlineprivate

Definition at line 4134 of file function-body-decoder-impl.h.

◆ DECODE() [54/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( TableSet )
inlineprivate

Definition at line 4144 of file function-body-decoder-impl.h.

◆ DECODE() [55/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Throw )
inlineprivate

Definition at line 3382 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [56/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( ThrowRef )
inlineprivate

Definition at line 3592 of file function-body-decoder-impl.h.

◆ DECODE() [57/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Try )
inlineprivate

Definition at line 3402 of file function-body-decoder-impl.h.

◆ DECODE() [58/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( TryTable )
inlineprivate

Definition at line 3518 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DECODE() [59/59]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DECODE ( Unreachable )
inlineprivate

Definition at line 3969 of file function-body-decoder-impl.h.

◆ Decode()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Decode ( )
inline

Definition at line 2908 of file function-body-decoder-impl.h.

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

◆ DecodeAsmJsOpcode()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
unsigned v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeAsmJsOpcode ( WasmOpcode opcode,
uint32_t opcode_length )
inlineprivate

Definition at line 6635 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DecodeAtomicOpcode()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeAtomicOpcode ( WasmOpcode opcode,
uint32_t opcode_length )
inlineprivate

Definition at line 6428 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DecodeFunctionBody()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeFunctionBody ( )
inline

Definition at line 3057 of file function-body-decoder-impl.h.

◆ DecodeGCOpcode()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeGCOpcode ( WasmOpcode opcode,
uint32_t opcode_length )
inlineprivate

Definition at line 5172 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DecodeLoadLane()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeLoadLane ( WasmOpcode opcode,
LoadType type,
uint32_t opcode_length )
inlineprivate

Definition at line 4837 of file function-body-decoder-impl.h.

◆ DecodeLoadMem()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeLoadMem ( LoadType type,
int prefix_len = 1 )
inlineprivate

Definition at line 4802 of file function-body-decoder-impl.h.

◆ DecodeLoadTransformMem()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeLoadTransformMem ( LoadType type,
LoadTransformationKind transform,
uint32_t opcode_length )
inlineprivate

Definition at line 4816 of file function-body-decoder-impl.h.

◆ DecodeNumericOpcode()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
unsigned v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeNumericOpcode ( WasmOpcode opcode,
uint32_t opcode_length )
inlineprivate

Definition at line 6495 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DecodeSimdOpcode()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeSimdOpcode ( WasmOpcode opcode,
uint32_t opcode_length )
inlineprivate

Definition at line 4938 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DecodeStoreLane()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeStoreLane ( WasmOpcode opcode,
StoreType type,
uint32_t opcode_length )
inlineprivate

Definition at line 4856 of file function-body-decoder-impl.h.

◆ DecodeStoreMem()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeStoreMem ( StoreType store,
int prefix_len = 1 )
inlineprivate

Definition at line 4886 of file function-body-decoder-impl.h.

◆ DecodeStringEncodeWtf8()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeStringEncodeWtf8 ( unibrow::Utf8Variant variant,
uint32_t opcode_length )
inlineprivate

Definition at line 6101 of file function-body-decoder-impl.h.

◆ DecodeStringEncodeWtf8Array()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeStringEncodeWtf8Array ( unibrow::Utf8Variant variant,
uint32_t opcode_length )
inlineprivate

Definition at line 6143 of file function-body-decoder-impl.h.

◆ DecodeStringMeasureWtf8()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeStringMeasureWtf8 ( unibrow::Utf8Variant variant,
uint32_t opcode_length )
inlineprivate

Definition at line 6092 of file function-body-decoder-impl.h.

◆ DecodeStringNewWtf8()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeStringNewWtf8 ( unibrow::Utf8Variant variant,
uint32_t opcode_length )
inlineprivate

Definition at line 6077 of file function-body-decoder-impl.h.

◆ DecodeStringNewWtf8Array()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeStringNewWtf8Array ( unibrow::Utf8Variant variant,
uint32_t opcode_length )
inlineprivate

Definition at line 6129 of file function-body-decoder-impl.h.

◆ DecodeStringRefOpcode()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeStringRefOpcode ( WasmOpcode opcode,
uint32_t opcode_length )
inlineprivate

Definition at line 6155 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DecodeStringViewWtf8Encode()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DecodeStringViewWtf8Encode ( unibrow::Utf8Variant variant,
uint32_t opcode_length )
inlineprivate

Definition at line 6114 of file function-body-decoder-impl.h.

◆ DoReturn()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
template<StackElementsCountMode strict_count, MergeType merge_type>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DoReturn ( )
inlineprivate

Definition at line 6985 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ Drop() [1/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Drop ( const Value & )
inlineprivate

Definition at line 6863 of file function-body-decoder-impl.h.

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

◆ Drop() [2/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Drop ( int count = 1)
inlineprivate

Definition at line 6852 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ DropArgs() [1/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DropArgs ( const FunctionSig * sig)
inlineprivate

Definition at line 4694 of file function-body-decoder-impl.h.

◆ DropArgs() [2/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::DropArgs ( const StructType * type)
inlineprivate

Definition at line 4715 of file function-body-decoder-impl.h.

◆ EndControl()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::EndControl ( )
inlineprivate

Definition at line 4618 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ EnsureStackArguments()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::EnsureStackArguments ( int count)
inlineprivate

Definition at line 4645 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ EnsureStackArguments_Slow()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_NOINLINE V8_PRESERVE_MOST int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::EnsureStackArguments_Slow ( int count)
inlineprivate

Definition at line 4651 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ FallThrough()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::FallThrough ( )
inlineprivate

Definition at line 7003 of file function-body-decoder-impl.h.

◆ GetOpcodeHandler()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
OpcodeHandler v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::GetOpcodeHandler ( uint8_t opcode)
inlineprivate

Definition at line 4612 of file function-body-decoder-impl.h.

◆ GetOpcodeHandlerTableEntry()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
static constexpr OpcodeHandler v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::GetOpcodeHandlerTableEntry ( size_t idx)
inlinestaticconstexprprivate

Definition at line 4533 of file function-body-decoder-impl.h.

◆ HasCatchAll()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::HasCatchAll ( Control * block) const
inline

Definition at line 3154 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ InitializeInitializedLocalsTracking()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::InitializeInitializedLocalsTracking ( int non_defaultable_locals)
inline

Definition at line 3040 of file function-body-decoder-impl.h.

◆ InitMerge()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
template<typename func >
V8_INLINE void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::InitMerge ( Merge< Value > * merge,
uint32_t arity,
func get_val )
inlineprivate

Definition at line 4627 of file function-body-decoder-impl.h.

◆ interface()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
Interface & v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::interface ( )
inline

Definition at line 2906 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ is_local_initialized()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::is_local_initialized ( uint32_t local_index)
inline

Definition at line 3010 of file function-body-decoder-impl.h.

◆ locals_initialization_stack_depth()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::locals_initialization_stack_depth ( ) const
inline

Definition at line 3026 of file function-body-decoder-impl.h.

◆ MakeMemoryAccessImmediate()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE MemoryAccessImmediate v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::MakeMemoryAccessImmediate ( uint32_t pc_offset,
uint32_t max_alignment )
inlineprivate

Definition at line 3223 of file function-body-decoder-impl.h.

◆ MarkMightThrow()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::MarkMightThrow ( )
inlineprivate

Definition at line 3209 of file function-body-decoder-impl.h.

◆ MemoryAddressType()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE ValueType v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::MemoryAddressType ( const WasmMemory * memory)
inlineprivate

Definition at line 3218 of file function-body-decoder-impl.h.

◆ NonConstError()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
static int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::NonConstError ( WasmFullDecoder< ValidationTag, Interface, decoding_mode > * decoder,
WasmOpcode opcode )
inlinestaticprivate

Definition at line 4501 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ NotEnoughArgumentsError()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_NOINLINE V8_PRESERVE_MOST void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::NotEnoughArgumentsError ( int needed,
int actual )
inlineprivate

Definition at line 6731 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ onFirstError()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::onFirstError ( )
inlineoverrideprivatevirtual

Reimplemented from v8::internal::wasm::Decoder.

Definition at line 7052 of file function-body-decoder-impl.h.

◆ ParseBrOnCast()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::ParseBrOnCast ( WasmOpcode opcode,
uint32_t pc_offset )
inlineprivate

Definition at line 5880 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ pc_relative_offset()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::pc_relative_offset ( ) const
inline

Definition at line 3006 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ Peek() [1/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE Value v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Peek ( int depth,
int index,
ValueType expected )
inlineprivate

Definition at line 6770 of file function-body-decoder-impl.h.

◆ Peek() [2/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE Value v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Peek ( int depth = 0)
inlineprivate

Definition at line 6776 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ Peek() [3/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE Value v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Peek ( ValueType expected)
inlineprivate

Definition at line 6791 of file function-body-decoder-impl.h.

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

◆ Pop() [1/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE Value v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Pop ( )
inlineprivate

Definition at line 6755 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ Pop() [2/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE Value v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Pop ( int index,
ValueType expected )
inlineprivate

Definition at line 6741 of file function-body-decoder-impl.h.

◆ Pop() [3/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
template<typename... ValueTypes>
requires ((std::is_same_v<ValueType, ValueTypes> || std::is_base_of_v<IndependentValueType, ValueTypes>) && ...)
V8_INLINE std::conditional_t< sizeof...(ValueTypes)==1, Value, std::array< Value, sizeof...(ValueTypes)> > v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Pop ( ValueTypes... expected_types)
inlineprivate

Definition at line 6803 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PopArgs() [1/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE PoppedArgVector v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PopArgs ( const FunctionSig * sig)
inlineprivate

Definition at line 4721 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PopArgs() [2/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE PoppedArgVector v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PopArgs ( const StructType * type)
inlineprivate

Definition at line 4699 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PopControl()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PopControl ( )
inlineprivate

Definition at line 4774 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PopDescriptor()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
Value v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PopDescriptor ( ModuleTypeIndex described_index)
inlineprivate

Definition at line 5163 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PopPackedArray()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
Value v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PopPackedArray ( uint32_t operand_index,
ValueType expected_element_type,
WasmArrayAccess access )
inlineprivate

Definition at line 6818 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PopTypeError() [1/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_NOINLINE V8_PRESERVE_MOST void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PopTypeError ( int index,
Value val,
const char * expected )
inlineprivate

Definition at line 6714 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PopTypeError() [2/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_NOINLINE V8_PRESERVE_MOST void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PopTypeError ( int index,
Value val,
std::string expected )
inlineprivate

Definition at line 6721 of file function-body-decoder-impl.h.

◆ PopTypeError() [3/3]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_NOINLINE V8_PRESERVE_MOST void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PopTypeError ( int index,
Value val,
ValueType expected )
inlineprivate

Definition at line 6726 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ position()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
WasmCodePosition v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::position ( ) const
inline

Definition at line 2977 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ Push() [1/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE Value * v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Push ( Value value)
inlineprivate

Definition at line 6663 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ Push() [2/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE Value * v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Push ( ValueType type)
inlineprivate

Definition at line 6677 of file function-body-decoder-impl.h.

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

◆ PushControl()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
Control * v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PushControl ( ControlKind kind,
const BlockTypeImmediate & imm )
inlineprivate

Definition at line 4736 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PushMergeValues()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PushMergeValues ( Control * c,
Merge< Value > * merge )
inlineprivate

Definition at line 6679 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PushReturns() [1/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
Value * v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PushReturns ( const FunctionSig * sig)
inlineprivate

Definition at line 6702 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ PushReturns() [2/2]

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::PushReturns ( ReturnVector values)
inlineprivate

Definition at line 6697 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ RollbackLocalsInitialization()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::RollbackLocalsInitialization ( Control * c)
inline

Definition at line 3030 of file function-body-decoder-impl.h.

◆ SafeOpcodeNameAt()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
const char * v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::SafeOpcodeNameAt ( const uint8_t * pc)
inline

Definition at line 2965 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ set_local_initialized()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::set_local_initialized ( uint32_t local_index)
inline

Definition at line 3016 of file function-body-decoder-impl.h.

◆ SetSucceedingCodeDynamicallyUnreachable()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::SetSucceedingCodeDynamicallyUnreachable ( )
inlineprivate

Definition at line 3199 of file function-body-decoder-impl.h.

◆ Simd8x16ShuffleOp()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::Simd8x16ShuffleOp ( uint32_t opcode_length)
inlineprivate

Definition at line 4928 of file function-body-decoder-impl.h.

◆ SimdConstOp()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::SimdConstOp ( uint32_t opcode_length)
inlineprivate

Definition at line 4899 of file function-body-decoder-impl.h.

◆ SimdExtractLane()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::SimdExtractLane ( WasmOpcode opcode,
ValueType type,
uint32_t opcode_length )
inlineprivate

Definition at line 4906 of file function-body-decoder-impl.h.

◆ SimdReplaceLane()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::SimdReplaceLane ( WasmOpcode opcode,
ValueType type,
uint32_t opcode_length )
inlineprivate

Definition at line 4917 of file function-body-decoder-impl.h.

◆ stack_size()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::stack_size ( ) const
inline

Definition at line 2992 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ stack_value()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
Value * v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::stack_value ( uint32_t depth) const
inline

Definition at line 2994 of file function-body-decoder-impl.h.

Here is the caller graph for this function:

◆ startrel()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::startrel ( const uint8_t * ptr)
inlineprivate

Definition at line 6999 of file function-body-decoder-impl.h.

◆ TableAddressType()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE ValueType v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::TableAddressType ( const WasmTable * table)
inlineprivate

Definition at line 3214 of file function-body-decoder-impl.h.

◆ TraceFailed()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::TraceFailed ( )
inline

Definition at line 2955 of file function-body-decoder-impl.h.

◆ TypeCheckAlwaysFails()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::TypeCheckAlwaysFails ( Value obj,
HeapType expected_type,
bool null_succeeds )
inlineprivate

Definition at line 5129 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ TypeCheckAlwaysSucceeds()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::TypeCheckAlwaysSucceeds ( Value obj,
HeapType type )
inlineprivate

Definition at line 5152 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ TypeCheckBranch()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
template<PushBranchValues push_branch_values, RewriteStackTypes rewrite_types>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::TypeCheckBranch ( Control * c)
inlineprivate

Definition at line 7046 of file function-body-decoder-impl.h.

◆ TypeCheckFallThru()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::TypeCheckFallThru ( )
inlineprivate

Definition at line 7030 of file function-body-decoder-impl.h.

◆ TypeCheckOneArmedIf()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::TypeCheckOneArmedIf ( Control * c)
inlineprivate

Definition at line 7011 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ TypeCheckStackAgainstMerge()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
template<StackElementsCountMode strict_count, PushBranchValues push_branch_values, MergeType merge_type, RewriteStackTypes rewrite_types>
V8_INLINE bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::TypeCheckStackAgainstMerge ( Merge< Value > * merge)
inlineprivate

Definition at line 6901 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ TypeCheckStackAgainstMerge_Slow()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
template<StackElementsCountMode strict_count, PushBranchValues push_branch_values, MergeType merge_type, RewriteStackTypes rewrite_types>
V8_PRESERVE_MOST V8_NOINLINE bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::TypeCheckStackAgainstMerge_Slow ( Merge< Value > * merge)
inlineprivate

Definition at line 6919 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ UnknownOpcodeError()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
static int v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::UnknownOpcodeError ( WasmFullDecoder< ValidationTag, Interface, decoding_mode > * decoder,
WasmOpcode opcode )
inlinestaticprivate

Definition at line 4507 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ UnreachableValue()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
static Value v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::UnreachableValue ( const uint8_t * pc)
inlinestaticprivate

Definition at line 3195 of file function-body-decoder-impl.h.

◆ ValidateParameters()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::ValidateParameters ( const FunctionSig * sig)
inlineprivate

Definition at line 4683 of file function-body-decoder-impl.h.

Here is the call graph for this function:

◆ ValidateStackValue()

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
V8_INLINE void v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::ValidateStackValue ( int index,
Value value,
ValueType expected )
inlineprivate

Definition at line 6747 of file function-body-decoder-impl.h.

Here is the call graph for this function:

Member Data Documentation

◆ control_

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
FastZoneVector<Control> v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::control_
private

Definition at line 3182 of file function-body-decoder-impl.h.

◆ current_catch_

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
int32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::current_catch_ = -1
private

Definition at line 3193 of file function-body-decoder-impl.h.

◆ current_code_reachable_and_ok_

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::current_code_reachable_and_ok_ = true
private

Definition at line 3186 of file function-body-decoder-impl.h.

◆ has_nondefaultable_locals_

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::has_nondefaultable_locals_ = true
private

Definition at line 3190 of file function-body-decoder-impl.h.

◆ initialized_locals_

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
bool* v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::initialized_locals_
private

Definition at line 3174 of file function-body-decoder-impl.h.

◆ interface_

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
Interface v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::interface_
private

Definition at line 3165 of file function-body-decoder-impl.h.

◆ locals_initializers_stack_

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
FastZoneVector<uint32_t> v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::locals_initializers_stack_
private

Definition at line 3179 of file function-body-decoder-impl.h.

◆ locals_offset_

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
uint32_t v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::locals_offset_ = 0
private

Definition at line 3164 of file function-body-decoder-impl.h.

◆ stack_

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
FastZoneVector<Value> v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::stack_
private

Definition at line 3168 of file function-body-decoder-impl.h.

◆ validate

template<typename ValidationTag , typename Interface , DecodingMode decoding_mode = kFunctionBody>
ValidationTag v8::internal::wasm::WasmFullDecoder< ValidationTag, Interface, decoding_mode >::validate = {}
staticconstexprprivate

Definition at line 7104 of file function-body-decoder-impl.h.


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