wasm/decode.py
def decode_bytecode(bytecode):
    """Decodes raw bytecode, yielding `Instruction`s."""
    bytecode_wnd = memoryview(bytecode)
    while bytecode_wnd:
        opcode_id = byte2int(bytecode_wnd[0])
        opcode = OPCODE_MAP[opcode_id]

        if opcode.imm_struct is not None:
            offs, imm, _ = opcode.imm_struct.from_raw(None, bytecode_wnd[1:])
        else:
            imm = None
            offs = 0

        insn_len = 1 + offs
        yield Instruction(opcode, imm, insn_len)
        bytecode_wnd = bytecode_wnd[insn_len:]
def decode_bytecode(bytecode):
    bytecode_wnd = memoryview(bytecode)
    while bytecode_wnd:
        opcode_id = byte2int(bytecode_wnd[0])
        opcode = OPCODE_MAP[opcode_id]

        if opcode.imm_struct is not None:
            offs, imm, _ = opcode.imm_struct.from_raw(None, bytecode_wnd[1:])
        else:
            imm = None
            offs = 0

        insn_len = 1 + offs
        yield Instruction(opcode, imm, insn_len)
        bytecode_wnd = bytecode_wnd[insn_len:]
def decode_bytecode ( bytecode ) : bytecode_wnd = memoryview ( bytecode ) while bytecode_wnd : opcode_id = byte2int ( bytecode_wnd [ 0 ] ) opcode = OPCODE_MAP [ opcode_id ] if opcode . imm_struct is not None : offs , imm , _ = opcode . imm_struct . from_raw ( None , bytecode_wnd [ 1 : ] ) else : imm = None offs = 0 insn_len = 1 + offs yield Instruction ( opcode , imm , insn_len ) bytecode_wnd = bytecode_wnd [ insn_len : ]
Decodes raw bytecode, yielding `Instruction`s.
Decodes raw bytecode yielding Instruction s .