lust/jit/codegen/
mod.rs

1pub(super) use super::trace::InlineTrace;
2pub(super) use super::trace::ValueType;
3pub(super) use super::{CompiledTrace, Guard, GuardKind, Trace, TraceId, TraceOp};
4pub(super) use crate::bytecode::{Function, Value, ValueTag};
5pub(super) use crate::jit;
6pub(super) use crate::Result;
7pub(super) use alloc::vec::Vec;
8pub(super) use core::mem;
9pub(super) use dynasmrt::{dynasm, x64::Assembler, DynasmApi, DynasmLabelApi};
10mod arithmetic;
11mod builder;
12mod comparisons;
13mod guards;
14mod logic;
15mod memory;
16mod registers;
17pub struct JitCompiler {
18    pub(super) ops: Assembler,
19    pub(super) leaked_constants: Vec<*const Value>,
20    fail_stack: Vec<dynasmrt::DynamicLabel>,
21    exit_stack: Vec<dynasmrt::DynamicLabel>,
22    inline_depth: usize,
23}
24
25impl Default for JitCompiler {
26    fn default() -> Self {
27        Self::new()
28    }
29}