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

#include <module-decoder-impl.h>

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

Classes

struct  DataSegmentHeader
 
struct  LimitsByte
 

Public Member Functions

 ModuleDecoderImpl (WasmEnabledFeatures enabled_features, base::Vector< const uint8_t > wire_bytes, ModuleOrigin origin, WasmDetectedFeatures *detected_features, ITracer *tracer=ITracer::NoTrace)
 
void onFirstError () override
 
void DecodeModuleHeader (base::Vector< const uint8_t > bytes)
 
bool CheckSectionOrder (SectionCode section_code)
 
void DecodeSection (SectionCode section_code, base::Vector< const uint8_t > bytes, uint32_t offset)
 
TypeDefinition consume_base_type_definition (bool is_descriptor)
 
TypeDefinition consume_described_type (bool is_descriptor)
 
TypeDefinition consume_describing_type (size_t current_type_index)
 
TypeDefinition consume_shared_type (size_t current_type_index)
 
TypeDefinition consume_subtype_definition (size_t current_type_index)
 
void DecodeTypeSection ()
 
void FinalizeRecgroup (uint32_t group_size, TypeCanonicalizer *type_canon)
 
void DecodeImportSection ()
 
void DecodeFunctionSection ()
 
void DecodeTableSection ()
 
void DecodeMemorySection ()
 
void UpdateComputedMemoryInformation ()
 
void DecodeGlobalSection ()
 
void DecodeExportSection ()
 
void DecodeStartSection ()
 
void DecodeElementSection ()
 
void DecodeCodeSection ()
 
void StartCodeSection (WireBytesRef section_bytes)
 
bool CheckFunctionsCount (uint32_t functions_count, uint32_t error_offset)
 
void DecodeFunctionBody (uint32_t func_index, uint32_t length, uint32_t offset)
 
bool CheckDataSegmentsCount (uint32_t data_segments_count)
 
void DecodeDataSection ()
 
void DecodeNameSection ()
 
void DecodeSourceMappingURLSection ()
 
void DecodeExternalDebugInfoSection ()
 
void DecodeBuildIdSection ()
 
void DecodeInstTraceSection ()
 
void DecodeCompilationHintsSection ()
 
void DecodeBranchHintsSection ()
 
void DecodeDataCountSection ()
 
void DecodeTagSection ()
 
void DecodeStringRefSection ()
 
bool CheckMismatchedCounts ()
 
ModuleResult FinishDecoding ()
 
ModuleResult DecodeModule (bool validate_functions)
 
FunctionResult DecodeSingleFunctionForTesting (Zone *zone, ModuleWireBytes wire_bytes, const WasmModule *module)
 
const FunctionSigDecodeFunctionSignatureForTesting (Zone *zone, const uint8_t *start)
 
ConstantExpression DecodeInitExprForTesting (ValueType expected)
 
ConstantExpression consume_element_segment_entry (WasmModule *module, const WasmElemSegment &segment)
 
const std::shared_ptr< WasmModule > & shared_module () const
 
- 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)
 

Static Public Member Functions

static constexpr const char * TypeKindName (uint8_t kind)
 

Private Types

enum  LimitsByteType { kMemory , kTable }
 
enum  ResizableLimitsType : bool { k32BitLimits , k64BitLimits }
 

Private Member Functions

bool has_seen_unordered_section (SectionCode section_code)
 
void set_seen_unordered_section (SectionCode section_code)
 
uint32_t off (const uint8_t *ptr)
 
void CalculateGlobalOffsets (WasmModule *module)
 
ModuleTypeIndex consume_sig_index (WasmModule *module, const FunctionSig **sig)
 
ModuleTypeIndex consume_tag_sig_index (WasmModule *module, const FunctionSig **sig)
 
uint32_t consume_count (const char *name, size_t maximum)
 
uint32_t consume_func_index (WasmModule *module, WasmFunction **func)
 
uint32_t consume_global_index (WasmModule *module, WasmGlobal **global)
 
uint32_t consume_table_index (WasmModule *module, WasmTable **table)
 
uint32_t consume_tag_index (WasmModule *module, WasmTag **tag)
 
template<typename T >
uint32_t consume_index (const char *name, std::vector< T > *vector, T **ptr)
 
template<LimitsByteType limits_type>
LimitsByte consume_limits_byte ()
 
void consume_table_flags (WasmTable *table)
 
void consume_memory_flags (WasmMemory *memory)
 
std::pair< bool, boolconsume_global_flags ()
 
void consume_resizable_limits (const char *name, const char *units, uint32_t max_initial, uint32_t *initial, bool has_maximum, uint64_t max_maximum, uint64_t *maximum, ResizableLimitsType type)
 
bool expect_u8 (const char *name, uint8_t expected)
 
ConstantExpression consume_init_expr (WasmModule *module, ValueType expected, bool is_shared)
 
bool consume_mutability ()
 
ValueType consume_value_type (const WasmModule *module=nullptr)
 
HeapType consume_heap_type ()
 
ValueType consume_storage_type ()
 
const FunctionSigconsume_sig (Zone *zone)
 
const StructTypeconsume_struct (Zone *zone, bool is_descriptor)
 
const ArrayTypeconsume_array (Zone *zone)
 
uint32_t consume_exception_attribute ()
 
WasmElemSegment consume_element_segment_header ()
 
DataSegmentHeader consume_data_segment_header ()
 
uint32_t consume_element_func_index (WasmModule *module, ValueType expected)
 

Private Attributes

const WasmEnabledFeatures enabled_features_
 
WasmDetectedFeatures *const detected_features_
 
const std::shared_ptr< WasmModulemodule_
 
const uint8_t * module_start_ = nullptr
 
const uint8_t * module_end_ = nullptr
 
ITracertracer_
 
uint8_t next_ordered_section_ = kFirstSectionInModule
 
uint32_t seen_unordered_sections_ = 0
 
AccountingAllocator allocator_
 
Zone init_expr_zone_ {&allocator_, "constant expr. zone"}
 
std::vector< std::tuple< uint32_t, uint32_t, uint32_t > > inst_traces_
 

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 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

Definition at line 309 of file module-decoder-impl.h.

Member Enumeration Documentation

◆ LimitsByteType

Enumerator
kMemory 
kTable 

Definition at line 2174 of file module-decoder-impl.h.

◆ ResizableLimitsType

Enumerator
k32BitLimits 
k64BitLimits 

Definition at line 2259 of file module-decoder-impl.h.

Constructor & Destructor Documentation

◆ ModuleDecoderImpl()

v8::internal::wasm::ModuleDecoderImpl::ModuleDecoderImpl ( WasmEnabledFeatures enabled_features,
base::Vector< const uint8_t > wire_bytes,
ModuleOrigin origin,
WasmDetectedFeatures * detected_features,
ITracer * tracer = ITracer::NoTrace )
inline

Definition at line 311 of file module-decoder-impl.h.

Member Function Documentation

◆ CalculateGlobalOffsets()

void v8::internal::wasm::ModuleDecoderImpl::CalculateGlobalOffsets ( WasmModule * module)
inlineprivate

Definition at line 2046 of file module-decoder-impl.h.

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

◆ CheckDataSegmentsCount()

bool v8::internal::wasm::ModuleDecoderImpl::CheckDataSegmentsCount ( uint32_t data_segments_count)
inline

Definition at line 1479 of file module-decoder-impl.h.

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

◆ CheckFunctionsCount()

bool v8::internal::wasm::ModuleDecoderImpl::CheckFunctionsCount ( uint32_t functions_count,
uint32_t error_offset )
inline

Definition at line 1457 of file module-decoder-impl.h.

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

◆ CheckMismatchedCounts()

bool v8::internal::wasm::ModuleDecoderImpl::CheckMismatchedCounts ( )
inline

Definition at line 1884 of file module-decoder-impl.h.

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

◆ CheckSectionOrder()

bool v8::internal::wasm::ModuleDecoderImpl::CheckSectionOrder ( SectionCode section_code)
inline

Definition at line 356 of file module-decoder-impl.h.

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

◆ consume_array()

const ArrayType * v8::internal::wasm::ModuleDecoderImpl::consume_array ( Zone * zone)
inlineprivate

Definition at line 2579 of file module-decoder-impl.h.

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

◆ consume_base_type_definition()

TypeDefinition v8::internal::wasm::ModuleDecoderImpl::consume_base_type_definition ( bool is_descriptor)
inline

Definition at line 558 of file module-decoder-impl.h.

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

◆ consume_count()

uint32_t v8::internal::wasm::ModuleDecoderImpl::consume_count ( const char * name,
size_t maximum )
inlineprivate

Definition at line 2107 of file module-decoder-impl.h.

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

◆ consume_data_segment_header()

DataSegmentHeader v8::internal::wasm::ModuleDecoderImpl::consume_data_segment_header ( )
inlineprivate

Definition at line 2741 of file module-decoder-impl.h.

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

◆ consume_described_type()

TypeDefinition v8::internal::wasm::ModuleDecoderImpl::consume_described_type ( bool is_descriptor)
inline

Definition at line 620 of file module-decoder-impl.h.

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

◆ consume_describing_type()

TypeDefinition v8::internal::wasm::ModuleDecoderImpl::consume_describing_type ( size_t current_type_index)
inline

Definition at line 649 of file module-decoder-impl.h.

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

◆ consume_element_func_index()

uint32_t v8::internal::wasm::ModuleDecoderImpl::consume_element_func_index ( WasmModule * module,
ValueType expected )
inlineprivate

Definition at line 2807 of file module-decoder-impl.h.

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

◆ consume_element_segment_entry()

ConstantExpression v8::internal::wasm::ModuleDecoderImpl::consume_element_segment_entry ( WasmModule * module,
const WasmElemSegment & segment )
inline

Definition at line 2015 of file module-decoder-impl.h.

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

◆ consume_element_segment_header()

WasmElemSegment v8::internal::wasm::ModuleDecoderImpl::consume_element_segment_header ( )
inlineprivate

Definition at line 2599 of file module-decoder-impl.h.

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

◆ consume_exception_attribute()

uint32_t v8::internal::wasm::ModuleDecoderImpl::consume_exception_attribute ( )
inlineprivate

Definition at line 2588 of file module-decoder-impl.h.

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

◆ consume_func_index()

uint32_t v8::internal::wasm::ModuleDecoderImpl::consume_func_index ( WasmModule * module,
WasmFunction ** func )
inlineprivate

Definition at line 2125 of file module-decoder-impl.h.

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

◆ consume_global_flags()

std::pair< bool, bool > v8::internal::wasm::ModuleDecoderImpl::consume_global_flags ( )
inlineprivate

Definition at line 2236 of file module-decoder-impl.h.

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

◆ consume_global_index()

uint32_t v8::internal::wasm::ModuleDecoderImpl::consume_global_index ( WasmModule * module,
WasmGlobal ** global )
inlineprivate

Definition at line 2129 of file module-decoder-impl.h.

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

◆ consume_heap_type()

HeapType v8::internal::wasm::ModuleDecoderImpl::consume_heap_type ( )
inlineprivate

Definition at line 2495 of file module-decoder-impl.h.

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

◆ consume_index()

template<typename T >
uint32_t v8::internal::wasm::ModuleDecoderImpl::consume_index ( const char * name,
std::vector< T > * vector,
T ** ptr )
inlineprivate

Definition at line 2142 of file module-decoder-impl.h.

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

◆ consume_init_expr()

ConstantExpression v8::internal::wasm::ModuleDecoderImpl::consume_init_expr ( WasmModule * module,
ValueType expected,
bool is_shared )
inlineprivate

Definition at line 2319 of file module-decoder-impl.h.

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

◆ consume_limits_byte()

template<LimitsByteType limits_type>
LimitsByte v8::internal::wasm::ModuleDecoderImpl::consume_limits_byte ( )
inlineprivate

Definition at line 2177 of file module-decoder-impl.h.

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

◆ consume_memory_flags()

void v8::internal::wasm::ModuleDecoderImpl::consume_memory_flags ( WasmMemory * memory)
inlineprivate

Definition at line 2226 of file module-decoder-impl.h.

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

◆ consume_mutability()

bool v8::internal::wasm::ModuleDecoderImpl::consume_mutability ( )
inlineprivate

Definition at line 2464 of file module-decoder-impl.h.

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

◆ consume_resizable_limits()

void v8::internal::wasm::ModuleDecoderImpl::consume_resizable_limits ( const char * name,
const char * units,
uint32_t max_initial,
uint32_t * initial,
bool has_maximum,
uint64_t max_maximum,
uint64_t * maximum,
ResizableLimitsType type )
inlineprivate

Definition at line 2260 of file module-decoder-impl.h.

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

◆ consume_shared_type()

TypeDefinition v8::internal::wasm::ModuleDecoderImpl::consume_shared_type ( size_t current_type_index)
inline

Definition at line 678 of file module-decoder-impl.h.

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

◆ consume_sig()

const FunctionSig * v8::internal::wasm::ModuleDecoderImpl::consume_sig ( Zone * zone)
inlineprivate

Definition at line 2527 of file module-decoder-impl.h.

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

◆ consume_sig_index()

ModuleTypeIndex v8::internal::wasm::ModuleDecoderImpl::consume_sig_index ( WasmModule * module,
const FunctionSig ** sig )
inlineprivate

Definition at line 2074 of file module-decoder-impl.h.

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

◆ consume_storage_type()

ValueType v8::internal::wasm::ModuleDecoderImpl::consume_storage_type ( )
inlineprivate

Definition at line 2512 of file module-decoder-impl.h.

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

◆ consume_struct()

const StructType * v8::internal::wasm::ModuleDecoderImpl::consume_struct ( Zone * zone,
bool is_descriptor )
inlineprivate

Definition at line 2560 of file module-decoder-impl.h.

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

◆ consume_subtype_definition()

TypeDefinition v8::internal::wasm::ModuleDecoderImpl::consume_subtype_definition ( size_t current_type_index)
inline

Definition at line 699 of file module-decoder-impl.h.

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

◆ consume_table_flags()

void v8::internal::wasm::ModuleDecoderImpl::consume_table_flags ( WasmTable * table)
inlineprivate

Definition at line 2217 of file module-decoder-impl.h.

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

◆ consume_table_index()

uint32_t v8::internal::wasm::ModuleDecoderImpl::consume_table_index ( WasmModule * module,
WasmTable ** table )
inlineprivate

Definition at line 2133 of file module-decoder-impl.h.

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

◆ consume_tag_index()

uint32_t v8::internal::wasm::ModuleDecoderImpl::consume_tag_index ( WasmModule * module,
WasmTag ** tag )
inlineprivate

Definition at line 2137 of file module-decoder-impl.h.

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

◆ consume_tag_sig_index()

ModuleTypeIndex v8::internal::wasm::ModuleDecoderImpl::consume_tag_sig_index ( WasmModule * module,
const FunctionSig ** sig )
inlineprivate

Definition at line 2093 of file module-decoder-impl.h.

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

◆ consume_value_type()

ValueType v8::internal::wasm::ModuleDecoderImpl::consume_value_type ( const WasmModule * module = nullptr)
inlineprivate

Definition at line 2478 of file module-decoder-impl.h.

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

◆ DecodeBranchHintsSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeBranchHintsSection ( )
inline

Definition at line 1768 of file module-decoder-impl.h.

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

◆ DecodeBuildIdSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeBuildIdSection ( )
inline

Definition at line 1596 of file module-decoder-impl.h.

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

◆ DecodeCodeSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeCodeSection ( )
inline

Definition at line 1387 of file module-decoder-impl.h.

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

◆ DecodeCompilationHintsSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeCompilationHintsSection ( )
inline

Definition at line 1672 of file module-decoder-impl.h.

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

◆ DecodeDataCountSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeDataCountSection ( )
inline

Definition at line 1845 of file module-decoder-impl.h.

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

◆ DecodeDataSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeDataSection ( )
inline

Definition at line 1496 of file module-decoder-impl.h.

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

◆ DecodeElementSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeElementSection ( )
inline

Definition at line 1366 of file module-decoder-impl.h.

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

◆ DecodeExportSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeExportSection ( )
inline

Definition at line 1240 of file module-decoder-impl.h.

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

◆ DecodeExternalDebugInfoSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeExternalDebugInfoSection ( )
inline

Definition at line 1584 of file module-decoder-impl.h.

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

◆ DecodeFunctionBody()

void v8::internal::wasm::ModuleDecoderImpl::DecodeFunctionBody ( uint32_t func_index,
uint32_t length,
uint32_t offset )
inline

Definition at line 1466 of file module-decoder-impl.h.

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

◆ DecodeFunctionSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeFunctionSection ( )
inline

Definition at line 1070 of file module-decoder-impl.h.

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

◆ DecodeFunctionSignatureForTesting()

const FunctionSig * v8::internal::wasm::ModuleDecoderImpl::DecodeFunctionSignatureForTesting ( Zone * zone,
const uint8_t * start )
inline

Definition at line 2000 of file module-decoder-impl.h.

Here is the call graph for this function:

◆ DecodeGlobalSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeGlobalSection ( )
inline

Definition at line 1208 of file module-decoder-impl.h.

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

◆ DecodeImportSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeImportSection ( )
inline

Definition at line 919 of file module-decoder-impl.h.

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

◆ DecodeInitExprForTesting()

ConstantExpression v8::internal::wasm::ModuleDecoderImpl::DecodeInitExprForTesting ( ValueType expected)
inline

Definition at line 2008 of file module-decoder-impl.h.

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

◆ DecodeInstTraceSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeInstTraceSection ( )
inline

Definition at line 1607 of file module-decoder-impl.h.

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

◆ DecodeMemorySection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeMemorySection ( )
inline

Definition at line 1164 of file module-decoder-impl.h.

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

◆ DecodeModule()

ModuleResult v8::internal::wasm::ModuleDecoderImpl::DecodeModule ( bool validate_functions)
inline

Definition at line 1922 of file module-decoder-impl.h.

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

◆ DecodeModuleHeader()

void v8::internal::wasm::ModuleDecoderImpl::DecodeModuleHeader ( base::Vector< const uint8_t > bytes)
inline

Definition at line 327 of file module-decoder-impl.h.

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

◆ DecodeNameSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeNameSection ( )
inline

Definition at line 1530 of file module-decoder-impl.h.

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

◆ DecodeSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeSection ( SectionCode section_code,
base::Vector< const uint8_t > bytes,
uint32_t offset )
inline

Definition at line 423 of file module-decoder-impl.h.

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

◆ DecodeSingleFunctionForTesting()

FunctionResult v8::internal::wasm::ModuleDecoderImpl::DecodeSingleFunctionForTesting ( Zone * zone,
ModuleWireBytes wire_bytes,
const WasmModule * module )
inline

Definition at line 1975 of file module-decoder-impl.h.

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

◆ DecodeSourceMappingURLSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeSourceMappingURLSection ( )
inline

Definition at line 1570 of file module-decoder-impl.h.

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

◆ DecodeStartSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeStartSection ( )
inline

Definition at line 1354 of file module-decoder-impl.h.

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

◆ DecodeStringRefSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeStringRefSection ( )
inline

Definition at line 1864 of file module-decoder-impl.h.

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

◆ DecodeTableSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeTableSection ( )
inline

Definition at line 1100 of file module-decoder-impl.h.

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

◆ DecodeTagSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeTagSection ( )
inline

Definition at line 1851 of file module-decoder-impl.h.

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

◆ DecodeTypeSection()

void v8::internal::wasm::ModuleDecoderImpl::DecodeTypeSection ( )
inline

Definition at line 731 of file module-decoder-impl.h.

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

◆ expect_u8()

bool v8::internal::wasm::ModuleDecoderImpl::expect_u8 ( const char * name,
uint8_t expected )
inlineprivate

Definition at line 2309 of file module-decoder-impl.h.

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

◆ FinalizeRecgroup()

void v8::internal::wasm::ModuleDecoderImpl::FinalizeRecgroup ( uint32_t group_size,
TypeCanonicalizer * type_canon )
inline

Definition at line 770 of file module-decoder-impl.h.

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

◆ FinishDecoding()

ModuleResult v8::internal::wasm::ModuleDecoderImpl::FinishDecoding ( )
inline

Definition at line 1907 of file module-decoder-impl.h.

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

◆ has_seen_unordered_section()

bool v8::internal::wasm::ModuleDecoderImpl::has_seen_unordered_section ( SectionCode section_code)
inlineprivate

Definition at line 2028 of file module-decoder-impl.h.

Here is the caller graph for this function:

◆ off()

uint32_t v8::internal::wasm::ModuleDecoderImpl::off ( const uint8_t * ptr)
inlineprivate

Definition at line 2036 of file module-decoder-impl.h.

Here is the caller graph for this function:

◆ onFirstError()

void v8::internal::wasm::ModuleDecoderImpl::onFirstError ( )
inlineoverridevirtual

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

Definition at line 323 of file module-decoder-impl.h.

◆ set_seen_unordered_section()

void v8::internal::wasm::ModuleDecoderImpl::set_seen_unordered_section ( SectionCode section_code)
inlineprivate

Definition at line 2032 of file module-decoder-impl.h.

Here is the caller graph for this function:

◆ shared_module()

const std::shared_ptr< WasmModule > & v8::internal::wasm::ModuleDecoderImpl::shared_module ( ) const
inline

Definition at line 2025 of file module-decoder-impl.h.

◆ StartCodeSection()

void v8::internal::wasm::ModuleDecoderImpl::StartCodeSection ( WireBytesRef section_bytes)
inline

Definition at line 1449 of file module-decoder-impl.h.

Here is the call graph for this function:

◆ TypeKindName()

static constexpr const char * v8::internal::wasm::ModuleDecoderImpl::TypeKindName ( uint8_t kind)
inlinestaticconstexpr

Definition at line 546 of file module-decoder-impl.h.

Here is the caller graph for this function:

◆ UpdateComputedMemoryInformation()

void v8::internal::wasm::ModuleDecoderImpl::UpdateComputedMemoryInformation ( )
inline

Definition at line 1202 of file module-decoder-impl.h.

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

Member Data Documentation

◆ allocator_

AccountingAllocator v8::internal::wasm::ModuleDecoderImpl::allocator_
private

Definition at line 2851 of file module-decoder-impl.h.

◆ detected_features_

WasmDetectedFeatures* const v8::internal::wasm::ModuleDecoderImpl::detected_features_
private

Definition at line 2833 of file module-decoder-impl.h.

◆ enabled_features_

const WasmEnabledFeatures v8::internal::wasm::ModuleDecoderImpl::enabled_features_
private

Definition at line 2832 of file module-decoder-impl.h.

◆ init_expr_zone_

Zone v8::internal::wasm::ModuleDecoderImpl::init_expr_zone_ {&allocator_, "constant expr. zone"}
private

Definition at line 2856 of file module-decoder-impl.h.

◆ inst_traces_

std::vector<std::tuple<uint32_t, uint32_t, uint32_t> > v8::internal::wasm::ModuleDecoderImpl::inst_traces_
private

Definition at line 2862 of file module-decoder-impl.h.

◆ module_

const std::shared_ptr<WasmModule> v8::internal::wasm::ModuleDecoderImpl::module_
private

Definition at line 2834 of file module-decoder-impl.h.

◆ module_end_

const uint8_t* v8::internal::wasm::ModuleDecoderImpl::module_end_ = nullptr
private

Definition at line 2836 of file module-decoder-impl.h.

◆ module_start_

const uint8_t* v8::internal::wasm::ModuleDecoderImpl::module_start_ = nullptr
private

Definition at line 2835 of file module-decoder-impl.h.

◆ next_ordered_section_

uint8_t v8::internal::wasm::ModuleDecoderImpl::next_ordered_section_ = kFirstSectionInModule
private

Definition at line 2839 of file module-decoder-impl.h.

◆ seen_unordered_sections_

uint32_t v8::internal::wasm::ModuleDecoderImpl::seen_unordered_sections_ = 0
private

Definition at line 2846 of file module-decoder-impl.h.

◆ tracer_

ITracer* v8::internal::wasm::ModuleDecoderImpl::tracer_
private

Definition at line 2837 of file module-decoder-impl.h.


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