Skip to content

Runtime syscall ownership and ABI boundary

Define execution-level ownership for runtime ABI entrypoints, platform syscalls, and backend neutrality.

  1. Runtime owns platform behavior (syscall, OS API, blocking policy).
  2. JIT and AOT import the same runtime ABI surface.
  3. Frontend/lowering MUST NOT encode backend-specific syscall behavior.
  4. Stdlib-facing APIs remain stable while runtime internals evolve.
  • Language-level Extern syntax and typing: docs/spec/ffi-and-extern.md.
  • Runtime symbol/link/loading behavior: this document.
  • Stdlib API-level contracts: docs/standard-library/.
  • System-facing stdlib operations call stable runtime ABI entrypoints.
  • Runtime implements Linux/OS-specific details internally.
  • Optional interop dispatcher symbols may exist for language/runtime interop boundaries.
  • Backends preserve ABI parity across JIT and AOT.
  • Runtime symbol/signature divergence is a compatibility break.
  • User-facing docs must not expose internal __interop_* implementation details.
  • Runtime ABI surface changes require versioned compatibility handling.
  • Platform-policy changes belong in runtime docs and implementation only.
  • Backend docs may reference runtime ABI usage but must not redefine runtime ownership.
  • docs/execution/runtime/runtime-overview.md
  • docs/execution/runtime/ffi.md
  • docs/execution/architecture/jit-aot-boundary.md