Skip to content

feat(runtime): add out-of-process JIT mode#365

Merged
DaniPopes merged 44 commits into
mainfrom
dani/out-of-process-jit
May 22, 2026
Merged

feat(runtime): add out-of-process JIT mode#365
DaniPopes merged 44 commits into
mainfrom
dani/out-of-process-jit

Conversation

@DaniPopes
Copy link
Copy Markdown
Collaborator

Adds an experimental out-of-process JIT compilation mode. Execution and ORC linking stay in the parent process so compiled EvmCompilerFn pointers remain local and transparent to callers, while translation/object emission can run in a helper process with per-job timeouts and helper respawn on failure.

The mode is disabled by default via RuntimeConfig::jit_mode = JitMode::InProcess. JitMode::OutOfProcess uses a persistent helper process, newline-delimited JSON IPC, and links returned object bytes into the parent ORC instance. This is still draft/prototype work; custom gas params and debug dumps are rejected for now.

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 29, 2026

Merging this PR will not alter performance

✅ 71 untouched benchmarks


Comparing dani/out-of-process-jit (4e6efca) with main (bd333d0)

Open in CodSpeed

@DaniPopes DaniPopes marked this pull request as ready for review May 22, 2026 18:46
@DaniPopes DaniPopes merged commit 4042c2e into main May 22, 2026
21 checks passed
@DaniPopes DaniPopes deleted the dani/out-of-process-jit branch May 22, 2026 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant