Expand description
JAVM guest test vectors — three-way conformance corpus.
A library of pure, deterministic, no_std-friendly test
functions that compile to both host (native Rust) and JAVM (PVM
bytecode). Each operation has a <name>_suite() -> u64
companion that runs the underlying byte-level helper over a
baked corpus of inputs and XOR-folds the results into a single
u64 fingerprint.
The conformance harness (tests/conformance.rs) calls every
suite three ways — host native, the PVM2 interpreter (via
nub::Nub local nub-arch-local), and the JIT recompiler (via
nub::Nub Hyperlight, x86 codegen in javm-recompiler-x86) —
and asserts the fingerprints agree, plus that the two PVM backends
consume identical gas.
Baking the corpus into the guest sidesteps the args-delivery
problem: the kernel can pass event.payload into the
interpreter, but the standalone recompiler has no equivalent.
Returning one u64 also avoids reading guest memory post-halt.
Modules§
Constants§
- SUITE_
TABLE - Endpoint index → suite directory.
Type Aliases§
- Suite
Entry - One row of
SUITE_TABLE: (endpoint index, suite name, host fn).