pub enum Format {
Show 20 variants
None,
A,
AB,
ACapture,
ABC,
AInt,
ABInt,
AConst,
Key,
AKey,
ABKey,
ACount,
ABRange,
AChild,
Call,
Jump,
AJump,
ABJump,
AShortJump,
AWide,
}Expand description
How an instruction’s a, b, c and imm fields are read. The
validator, the disassembler and the builder’s checks all go through it.
Variants§
None
No operand.
A
a register.
AB
a, b registers.
ACapture
a register, imm an index into the running function’s captures.
ABC
a, b, c registers.
AInt
a register, imm an i32 literal.
ABInt
a, b registers, imm an i32 literal.
AConst
a register, imm a constant-pool index.
Key
imm a PropertyKey.
AKey
a register, imm a PropertyKey.
ABKey
a, b registers, imm a PropertyKey.
ACount
a register, imm a count (object slots).
ABRange
a register, b the first of imm consecutive registers.
AChild
a register, imm an index into the unit’s children.
Call
a destination, b callee, c argument count: the callee is in b,
the receiver in b + 1, the arguments in b + 2 ..= b + 1 + c.
Jump
imm a jump target.
AJump
a register, imm a jump target.
ABJump
a, b registers, imm a jump target.
AShortJump
a register, b | c << 8 an i16 literal, imm a jump target.
AWide
a register, imm a register above the 8-bit window.