Skip to main content

TraceCompiler

Trait TraceCompiler 

Source
pub trait TraceCompiler {
    // Required methods
    fn try_compile_trace(
        &self,
        storage: &mut dyn JitStorage,
        record: &TraceRecord,
        opts: CompileOptions,
    ) -> Option<CompiledTrace>;
    fn last_compile_checkpoint(&self) -> &'static str;
}
Expand description

Trace-JIT backend. Receives a closed TraceRecord from the interpreter’s recorder; returns Some(CompiledTrace) on success or None when the lowerer bailed. last_compile_checkpoint exposes the lowerer’s per-thread last-phase marker used by Vm.trace_compile_failed_reasons.

Required Methods§

Source

fn try_compile_trace( &self, storage: &mut dyn JitStorage, record: &TraceRecord, opts: CompileOptions, ) -> Option<CompiledTrace>

Attempt to lower record into native code under opts. Returns None if the lowerer bailed at any checkpoint.

v2.0 Track J sub-step J-B — storage is the per-Vm JIT cache

  • handle holder; the Cranelift backend uses it to park each compiled trace’s JITModule. NullJitBackend ignores it.
Source

fn last_compile_checkpoint(&self) -> &'static str

Name of the lowerer’s last-reached checkpoint (diagnostic; lets the recorder bucket failures by phase).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§