Skip to main content

Crate lex_bytecode

Crate lex_bytecode 

Source
Expand description

M4: bytecode definition, compiler, VM (pure subset). See spec §8.

Re-exports§

pub use compiler::compile_program;
pub use op::Const;
pub use op::Op;
pub use program::Function;
pub use program::Program;
pub use value::MapKey;
pub use value::Value;
pub use vm::Vm;
pub use vm::VmError;
pub use vm::MAX_CALL_DEPTH;
pub use verify::verify_program;
pub use verify::StackError;
pub use escape::analyze_program as analyze_escapes;
pub use escape::EscapeReport;
pub use escape::EscapeSite;
pub use escape::Policy;
pub use escape::SiteKind;
pub use arena::analyze_program as analyze_arena;
pub use arena::build_arena_index;
pub use arena::ArenaReport;
pub use arena::ArenaSite;
pub use jit_hook::JitHook;

Modules§

arena
Request-scope arena-eligibility analysis (#463 slice 1).
compiler
M4 compiler: canonical AST → bytecode.
conc_registry
Process-global named-actor registry (#444).
escape
Escape analysis for stack-allocatable aggregate sites — Op::MakeRecord and Op::MakeTuple (#464 + tuple widening).
jit_hook
JIT hook trait — the seam through which lex-bytecode’s dispatch loop can delegate eligible Op::Call invocations to a JIT tier without taking a compile-time dependency on the JIT crate.
op
Bytecode instruction set per spec §8.2.
parser_runtime
Parser combinator interpreter (#221).
program
Compiled program: a set of functions plus a constant pool.
shape_registry
Process-global record-shape registry (#462 slice 3).
value
Runtime values.
verify
Bytecode stack-depth verifier — the third --strict check from #347 A2.
vm
M5: bytecode VM. Stack machine with effect dispatch through a host handler.