24 lines
1.1 KiB
Markdown
24 lines
1.1 KiB
Markdown
# Phase‑15.7 — Async/Sync Lowering Plan (Short)
|
||
|
||
Scope
|
||
- Stabilize `callAsync` → scheduler → `FutureBox` across backends.
|
||
- Keep LLVM path green via ny‑llvmc (crate) and llvmlite harness for minimal async.
|
||
|
||
Milestones
|
||
1) Docs first (this file; guides/async-model.md; llvm‑hako‑abi async notes) — done
|
||
2) Smokes
|
||
- quick‑selfhost: callable_async, callable_async_parallel — green
|
||
- curated_llvm: async‑await‑min — 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; Fail‑Fast on missing `.o`
|
||
4) Batch timer harness
|
||
- Reduce TimerBox checks (batching+calibration) in fixed‑time suite
|
||
- Optional async‑timer flag for stop‑flag scheduling
|
||
5) Parity sweep
|
||
- Rust VM ↔ Hakorune‑VM ↔ LLVM ops/sec within target bands on fixed‑time suite
|
||
|
||
Policies
|
||
- Sync default; async opt‑in only. No silent fallbacks.
|
||
- Determinism mode denies external IO/threads (futures must be pure compute or error).
|