Error handler: void (MIR_error_type_t, const char *fmt, ...).
MIR_error_type_t
MIR_insn_code_t
MIR_item_type_t
MIR_op_mode_t
MIR_type_t
Code relocation entry.
Memory operand: type[base + index*scale + disp].
MIR_module is a public header struct; we expose its layout (verified by unittest) so the module list (e.g. modules created by c2mir) can be walked.
DLIST(MIR_module_t) returned by MIR_get_module_list.
An instruction operand (tagged union).
Counted string.
Function parameter: type + name (+ size for block types).
Argument descriptor used by the foreign-call helper.
mirjit.types — MIR core types, enums, and value structs.
Hand-written D bindings to mir.h (https://github.com/vnmakarov/mir). Enum values are generated from the configured header and verified against a C probe; struct ABI sizes are asserted in unittests below.
Container structs (MIR_func, MIR_item, MIR_module, MIR_insn, …) are treated as opaque handles: the public API hands them back as pointers and provides accessors, so their internal (macro-heavy) layout is not replicated here.