Files
hakorune/docs/private/roadmap/phases/phase-15.7/async-sync-lowering.md

1.1 KiB
Raw Blame History

Phase15.7 — Async/Sync Lowering Plan (Short)

Scope

  • Stabilize callAsync → scheduler → FutureBox across backends.
  • Keep LLVM path green via nyllvmc (crate) and llvmlite harness for minimal async.

Milestones

  1. Docs first (this file; guides/async-model.md; llvmhakoabi async notes) — done
  2. Smokes
    • quickselfhost: callable_async, callable_async_parallel — green
    • curated_llvm: asyncawaitmin — keep green; spawn -> SKIP until builder fix
  3. Builder fixes (llvmlite)
    • Implement _resolve_arg in Python builder to support spawn/instance
    • Add timeouts for harness subprocess; FailFast on missing .o
  4. Batch timer harness
    • Reduce TimerBox checks (batching+calibration) in fixedtime suite
    • Optional asynctimer flag for stopflag scheduling
  5. Parity sweep
    • Rust VM ↔ HakoruneVM ↔ LLVM ops/sec within target bands on fixedtime suite

Policies

  • Sync default; async optin only. No silent fallbacks.
  • Determinism mode denies external IO/threads (futures must be pure compute or error).