Skip to main content

Crate javm_recompiler_x86

Crate javm_recompiler_x86 

Source
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-side CTX_* offset constants in javm-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 the CTX_* offset constants in codegen.