|
| | 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) |
| |
| virtual void | onFirstError () |
| |
| 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) |
| |
|
| void V8_NOINLINE | PRINTF_FORMAT (3, 4) verrorf(uint32_t offset |
| |
| | va_start (args, format) |
| |
| | va_end (args) |
| |
| | CHECK_LT (0, len) |
| |
| | onFirstError () |
| |
| template<typename IntType , typename ValidationTag > |
| IntType | read_little_endian (const uint8_t *pc, Name< ValidationTag > msg) |
| |
| template<typename IntType , TraceFlag trace> |
| IntType | consume_little_endian (const char *name) |
| |
| template<typename IntType , typename ValidationTag , TraceFlag trace, size_t size_in_bits = 8 * sizeof(IntType)> |
| V8_INLINE std::pair< IntType, uint32_t > | read_leb (const uint8_t *pc, Name< ValidationTag > name="varint") |
| |
| template<typename IntType , typename ValidationTag , TraceFlag trace, size_t size_in_bits = 8 * sizeof(IntType)> |
| V8_NOINLINE V8_PRESERVE_MOST std::pair< IntType, uint32_t > | read_leb_slowpath (const uint8_t *pc, Name< ValidationTag > name) |
| |
| template<typename IntType , typename ValidationTag , TraceFlag trace, size_t size_in_bits, int byte_index> |
| V8_INLINE std::pair< IntType, uint32_t > | read_leb_tail (const uint8_t *pc, Name< ValidationTag > name, IntType intermediate_result) |
| |
Definition at line 88 of file decoder.h.