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§
Sourcefn try_compile_trace(
&self,
storage: &mut dyn JitStorage,
record: &TraceRecord,
opts: CompileOptions,
) -> Option<CompiledTrace>
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.NullJitBackendignores it.
Sourcefn last_compile_checkpoint(&self) -> &'static str
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".