CHECKPOINT-COMPILER-API: THE WALL broken — dedicated Type TypeId wired end-to-end
This commit is contained in:
@@ -26,10 +26,16 @@ with ONE welded mechanism. Branch: `reify` (off `master`). Update after every st
|
||||
> breaks cross-compilation — host vs target layout — and loses the sandbox. A
|
||||
> flat-memory VM keeps both while getting native bytes + speed.)
|
||||
>
|
||||
> **Next action (2026-06-18) — PAUSED at a clean boundary; next step decided.** Phase 3 READ
|
||||
> and WRITE sides are DONE, and the VM is now WIRED at the lowering-time comptime site
|
||||
> (hardened, with legacy fallback). The first **HANDLED** lowering-time type-fn is gated on a
|
||||
> **dedicated `Type` builtin TypeId** — that is the next focused effort (see "THE WALL" below).
|
||||
> **Next action (2026-06-18) — THE WALL IS BROKEN; paused at a clean 3-commit boundary.** The
|
||||
> dedicated **`Type` builtin TypeId** (8B, distinct from the 16-byte `.any`) now exists and is
|
||||
> wired end-to-end: foundation (`6844fb9`), resolver flip + full `.any`-ref migration (`94f60c5`),
|
||||
> and the VM models `.type_value` natively (`554871b`). **697/0 BOTH gates + 494 unit tests.**
|
||||
> `first_user` is now **100** (slots 20–99 reserved builtin headroom so future builtins don't
|
||||
> renumber user TypeIds / churn snapshots). What remains is the PAYOFF, no longer gated on the WALL:
|
||||
> port the **WRITE side** (declare_type / register_type / pointer_to) into `Vm.callCompilerFn` +
|
||||
> give the lowering-time path a **REAL Context** (CAllocator thunk func-refs, not zeroed) → the
|
||||
> first **HANDLED** lowering-time type-fn end-to-end on the VM. Today those type-fns run partway on
|
||||
> the VM then bail cleanly at the `define`/`register_type` `call_builtin` → legacy mints (parity).
|
||||
>
|
||||
> Done so far in Phase 3:
|
||||
> - **READ side (7 readers, dual-path):** `find_type`/`type_kind`/`type_field_count`/
|
||||
|
||||
Reference in New Issue
Block a user