Expand description
PVM recompiler — compiles PVM bytecode to native x86-64 machine code.
This crate is the no_std bytes-producer: it emits x86-64 machine
code into a Vec<u8> (or directly into an mmap region when run
under the std-gated paths in asm.rs / codegen.rs that are
currently dormant). The runtime substrate that loads + executes
the emitted code lives in nub-arch-x86, which compiles this
crate with default-features = false and supplies its own
per-invocation page table.
Public surface:
JitContext—#[repr(C)]execution context, written by the driver before entry and read after exit. Layout is mirrored by the codegen-sideCTX_*offset constants injavm-recompiler-x86::codegen.asm,codegen,predecode— codegen pipeline.
Modules§
- asm
- x86-64 assembler for PVM recompiler.
- codegen
- PVM-to-x86-64 code generation.
- predecode
- Pre-decode PVM bytecode into a flat instruction stream for fast codegen.
Structs§
- JitContext
- JIT execution context passed to compiled code via R15.
Must be
#[repr(C)]with exact field ordering matching theCTX_*offset constants incodegen.