module JParseCode:sig..end
Low level (un)parsing of bytecode instructions.
val parse_code : JLib.IO.input -> int -> JClassLow.opcode arrayParse a sequence of instructions of given size (in bytes) and returns an array of instructions.
val unparse_code : 'a JLib.IO.output -> JClassLow.opcode array -> unitUnparse a sequence of instructions.
OpcodeLengthError if an opcode cannot be encoded in the allocated
place.exception OpcodeLengthError of int * JClassLow.opcode
OpcodeLengthError takes as argument the opcode and the excepted
length that cannot be matched by unparsing the opcode.
val parse_full_opcode : JLib.IO.input -> (unit -> int) -> JClassLow.opcode
val unparse_instruction : 'a JLib.IO.output -> (unit -> int) -> int -> JClassLow.opcode -> unitunparse_instruction ch count length opcode output on ch the
opcode opcode in the length byte(s) format. E.g OpLoad can be encoded on 4 bytes (
(`Int,1)wide iload 0x0001), 2 bytes
(iload 0x01) or 1 byte (iload_1).
OpcodeLengthError if the length provided cannot be matched.