fibers: carve Stream B1 (PLAN-FIBERS + CHECKPOINT-FIBERS)
Carve the async-runtime fibers stream off PLAN-POST-METATYPE Stream B, mirroring the atomics carve. Grounds the B1 compiler floor against the tree: - abi(.pure) exists in the ABI enum but is inert (type_resolver maps it to .default CC, emit emits no naked attr) -> B1.0 makes it emit LLVM naked + skip prologue/ctx. Corrected the design's callconv(.naked) spelling to the real abi(.pure). - context is already an implicit *Context param (slot 0) + push Context is a stack alloca -> fiber-local for free; only shared root is the __sx_default_context global. B1.1 grounded as likely library-only (probe-first). - B1.0 snapshot story corrected: naked body is raw per-arch asm -> two arch-gated examples (aarch64 + x86_64), not one host .ir. Full xfail->green step detail + a B1.0a kickoff prompt. Baseline green (721/0). No code change; first implementation step is B1.0a.
This commit is contained in:
@@ -60,7 +60,7 @@ differently — x86 vs LL/SC). **Out of snapshot scope, state loudly:** ordering
|
||||
The colorblind, stackful, pure-sx async runtime (design §4). Compiler floor is small;
|
||||
the runtime is sx lib. Likely carved as two PLANs:
|
||||
|
||||
### B1 — Fibers + Io + M:1 (the runtime; `PLAN-FIBERS.md`)
|
||||
### B1 — Fibers + Io + M:1 (the runtime; `PLAN-FIBERS.md`) · 🚧 **CARVED** (not started; first step B1.0a)
|
||||
- B1.0 **`abi(.naked)` — make the EXISTING `.pure` ABI actually naked.** The enum
|
||||
already carries `.pure` (ast.zig:142, documented "pure/naked, no prologue/epilogue"),
|
||||
but it is an **inert label today**: `type_resolver.zig:237` maps `.pure → .default`
|
||||
|
||||
Reference in New Issue
Block a user