Expand description
Background JIT and AOT compilation workers.
Each worker thread owns a long-lived EvmCompiler instance tied to its
thread-local LLVM context.
With ORCv2, JIT code lifetime is managed per-module via ResourceTrackers.
Each successful JIT compilation extracts the committed moduleβs tracker and
returns it as a JitCodeBacking, which frees the machine code on drop.
Workers no longer need to stay alive for code lifetime β they exit as soon
as the job channel closes.
StructsΒ§
- AotSuccess π
- Successful AOT compilation output.
- Compile
Job π - A compilation job sent from the backend to a worker.
- Compiler
State πllvm - JitCode
Backing π - Owns JIT-compiled machine code via an ORCv2
ResourceTrackerand a [JitDylibGuard]. - JitSuccess π
- Successful JIT compilation output.
- Sync
Notifier π - Notifier for synchronous compilation requests.
- Worker
Pool π - Handle to the worker pool.
- Worker
Result π - Result of a compilation attempt, sent back from a worker to the backend.
EnumsΒ§
- Worker
Success π - Successful compilation output.
ConstantsΒ§
- AOT_
COMPILER π - JIT_
COMPILER π
FunctionsΒ§
- clear_
thread_ πlocal_ compilers llvm - compile_
aot_ πartifact llvm - Compiles a single bytecode to a shared library and returns the raw bytes.
- compile_
jit_ πartifact llvm - compile_
job πllvm - compile_
with_ πstate llvm - create_
compiler πllvm