V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::wasm::ModuleDecoderImpl Class Reference
Inheritance diagram for v8::internal::wasm::ModuleDecoderImpl:
v8::internal::wasm::Decoder

Public Member Functions

 ModuleDecoderImpl (const WasmFeatures &enabled, ModuleOrigin origin)
 
 ModuleDecoderImpl (const WasmFeatures &enabled, const byte *module_start, const byte *module_end, ModuleOrigin origin)
 
void onFirstError () override
 
void DumpModule (const Vector< const byte > module_bytes)
 
void StartDecoding (Counters *counters, AccountingAllocator *allocator)
 
void DecodeModuleHeader (Vector< const uint8_t > bytes, uint8_t offset)
 
void DecodeSection (SectionCode section_code, Vector< const uint8_t > bytes, uint32_t offset, bool verify_functions=true)
 
void DecodeTypeSection ()
 
void DecodeImportSection ()
 
void DecodeFunctionSection ()
 
void DecodeTableSection ()
 
void DecodeMemorySection ()
 
void DecodeGlobalSection ()
 
void DecodeExportSection ()
 
void DecodeStartSection ()
 
void DecodeElementSection ()
 
void DecodeCodeSection (bool verify_functions)
 
bool CheckFunctionsCount (uint32_t functions_count, uint32_t offset)
 
void DecodeFunctionBody (uint32_t index, uint32_t length, uint32_t offset, bool verify_functions)
 
void DecodeDataSection ()
 
void DecodeNameSection ()
 
void DecodeSourceMappingURLSection ()
 
void DecodeExceptionSection ()
 
ModuleResult FinishDecoding (bool verify_functions=true)
 
ModuleResult DecodeModule (Counters *counters, AccountingAllocator *allocator, bool verify_functions=true)
 
FunctionResult DecodeSingleFunction (Zone *zone, const ModuleWireBytes &wire_bytes, const WasmModule *module, std::unique_ptr< WasmFunction > function)
 
FunctionSigDecodeFunctionSignature (Zone *zone, const byte *start)
 
WasmInitExpr DecodeInitExpr (const byte *start)
 
const std::shared_ptr< WasmModule > & shared_module () const
 
CountersGetCounters () const
 
void SetCounters (Counters *counters)
 
- Public Member Functions inherited from v8::internal::wasm::Decoder
 Decoder (const byte *start, const byte *end, uint32_t buffer_offset=0)
 
 Decoder (const Vector< const byte > bytes, uint32_t buffer_offset=0)
 
 Decoder (const byte *start, const byte *pc, const byte *end, uint32_t buffer_offset=0)
 
bool validate_size (const byte *pc, uint32_t length, const char *msg)
 
template<ValidateFlag validate>
uint8_t read_u8 (const byte *pc, const char *msg="expected 1 byte")
 
template<ValidateFlag validate>
uint16_t read_u16 (const byte *pc, const char *msg="expected 2 bytes")
 
template<ValidateFlag validate>
uint32_t read_u32 (const byte *pc, const char *msg="expected 4 bytes")
 
template<ValidateFlag validate>
uint64_t read_u64 (const byte *pc, const char *msg="expected 8 bytes")
 
template<ValidateFlag validate>
uint32_t read_u32v (const byte *pc, uint32_t *length, const char *name="LEB32")
 
template<ValidateFlag validate>
int32_t read_i32v (const byte *pc, uint32_t *length, const char *name="signed LEB32")
 
template<ValidateFlag validate>
uint64_t read_u64v (const byte *pc, uint32_t *length, const char *name="LEB64")
 
template<ValidateFlag validate>
int64_t read_i64v (const byte *pc, uint32_t *length, const char *name="signed LEB64")
 
uint8_t consume_u8 (const char *name="uint8_t")
 
uint16_t consume_u16 (const char *name="uint16_t")
 
uint32_t consume_u32 (const char *name="uint32_t")
 
uint32_t consume_u32v (const char *name=nullptr)
 
int32_t consume_i32v (const char *name=nullptr)
 
void consume_bytes (uint32_t size, const char *name="skip")
 
bool checkAvailable (uint32_t size)
 
void error (const char *msg)
 
void error (const byte *pc, const char *msg)
 
void PRINTF_FORMAT (3, 4) errorf(const byte *pc
 
 va_start (arguments, format)
 
 CHECK_LT (0, len)
 
 va_end (arguments)
 
error_msg_ assign (buffer.start(), len)
 
 DCHECK_GE (pc, start_)
 
 onFirstError ()
 
void traceByteRange (const byte *start, const byte *end)
 
void traceOffEnd ()
 
template<typename T , typename U = typename std::remove_reference<T>::type>
Result< U > toResult (T &&val)
 
void Reset (const byte *start, const byte *end, uint32_t buffer_offset=0)
 
void Reset (Vector< const uint8_t > bytes, uint32_t buffer_offset=0)
 
bool ok () const
 
bool failed () const
 
bool more () const
 
const byte * start () const
 
const byte * pc () const
 
uint32_t position () const
 
uint32_t pc_offset () const
 
uint32_t buffer_offset () const
 
uint32_t GetBufferRelativeOffset (uint32_t offset) const
 
const byte * end () const
 

Additional Inherited Members

- Public Types inherited from v8::internal::wasm::Decoder
enum  ValidateFlag : bool { kValidate = true, kNoValidate = false }
 
enum  AdvancePCFlag : bool { kAdvancePc = true, kNoAdvancePc = false }
 
enum  TraceFlag : bool { kTrace = true, kNoTrace = false }
 
- Public Attributes inherited from v8::internal::wasm::Decoder
void const charformat
 
void const char constexpr int kMaxErrorMsg = 256
 
EmbeddedVector< char, kMaxErrorMsg > buffer
 
va_list arguments
 
int len = VSNPrintF(buffer, format, arguments)
 
 error_offset_ = static_cast<uint32_t>(pc - start_) + buffer_offset_
 
- Protected Attributes inherited from v8::internal::wasm::Decoder
const byte * start_
 
const byte * pc_
 
const byte * end_
 
uint32_t buffer_offset_
 
uint32_t error_offset_ = 0
 
std::string error_msg_
 

Detailed Description

Definition at line 252 of file module-decoder.cc.


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