|
| 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 FunctionSig * | DecodeFunctionSignatureForTesting (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 |
|
| 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 WasmError & | error () 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) |
|
|
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, bool > | consume_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 FunctionSig * | consume_sig (Zone *zone) |
|
const StructType * | consume_struct (Zone *zone, bool is_descriptor) |
|
const ArrayType * | consume_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) |
|
Definition at line 309 of file module-decoder-impl.h.