mirjit

mirjit — complete D bindings to MIR (https://github.com/vnmakarov/mir), Vladimir Makarov's lightweight JIT compiler.

import mirjit; pulls in the core API, the JIT generator, and the value types. The C11->MIR frontend lives in mirjit.c2mir and is only linkable when MIR is built with c2mir (see README / the :c2mir dub configuration).

These are raw 1:1 bindings. See README.md for build/linking and a usage example.

Modules

c2mir
module mirjit.c2mir

mirjit.c2mir — bindings to c2mir/c2mir.h (the C11 -> MIR frontend).

cjit
module mirjit.cjit

mirjit.cjit — an idiomatic D layer over the c2mir C11->MIR frontend.

core
module mirjit.core

mirjit.core — bindings to mir.h (the MIR core API).

gen
module mirjit.gen

mirjit.gen — bindings to mir-gen.h (the MIR JIT generator).

tests
module mirjit.tests

Functional tests — compiled only under -unittest (i.e. dub test), never shipped in normal builds. Requires the MIR objects to be linked.

types
module mirjit.types

mirjit.types — MIR core types, enums, and value structs.

Public Imports

mirjit.types
public import mirjit.types;
Undocumented in source.
mirjit.core
public import mirjit.core;
Undocumented in source.
mirjit.gen
public import mirjit.gen;
Undocumented in source.
mirjit.c2mir
public import mirjit.c2mir;
Undocumented in source.
mirjit.cjit
public import mirjit.cjit;
Undocumented in source.