Skip to content
View source

entelechy-jitGenerated

Layer: backends · Lines of code: 7,787 · Integration test files: 3

JIT backend: compiles Entelechy IR to native code through Cranelift, or to WebAssembly where Entelechy is WebAssembly, and runs it on the CPU

JIT backend.

Compiles a Validated module’s functions with Cranelift when the Kernel is prepared and runs them on as many threads as pay off. The contract is the CPU interpreter’s, bit for bit: word layout, integer checks, reads through the scope’s gate, and libm. Native operations run on the wrapped CPU backend.

When Entelechy is itself WebAssembly, the code is WebAssembly (wasm), loaded into Entelechy’s function table; a table index stands for a function pointer.

Internal dependencies entelechy-abi, entelechy-ir, entelechy-rules
External dependencies —
Source crates/backends/jit
Name Brief
View One input as the compiled code sees it: its memory and its extent.
Ctx What the compiled entry reads besides its arguments: inputs, parameters as words, context, output domain, and the failure slot.
JitBackend The JIT backend: a target ISA to compile for.

crates/backends/jit/src/lib.rs#L38

One input as the compiled code sees it: its memory and its extent.


crates/backends/jit/src/lib.rs#L68

What the compiled entry reads besides its arguments: inputs, parameters as words, context, output domain, and the failure slot.


crates/backends/jit/src/lib.rs#L132

The JIT backend: a target ISA to compile for.

Methods

Function Description
fn new() -> Result<Self, String> Opens the backend for this machine.
fn target(&self) -> String The target the code is compiled for, for diagnostics.

Implemented traits: Backend, Debug