design-md-consolidation 2.3: delete Decision 10 §Migration plan (7-point completed-iter list)
This commit is contained in:
@@ -1333,38 +1333,6 @@ monomorphised copies resolve to concrete drop fns).
|
||||
shared by Iter A and the pre-tail-call shallow-dec arm; closing it is a propagation pass
|
||||
through let-bindings that has not shipped yet.
|
||||
|
||||
### Migration plan
|
||||
|
||||
1. **`(borrow T)` / `(own T)` annotations** as a
|
||||
language feature. Schema, parser, JSON, typechecker. No
|
||||
codegen change. `(con T)` ≡ `(own T)`. Existing fixtures
|
||||
unchanged.
|
||||
2. **RC runtime.** `runtime/rc.c` with header layout +
|
||||
alloc/inc/dec. Codegen `--alloc=rc` routes allocation through
|
||||
`rc_alloc`; **no inc/dec yet**. `--alloc=gc` remains default.
|
||||
3. **Uniqueness inference + codegen inc/dec
|
||||
instrumentation.** Combines mode annotations with intra-fn
|
||||
dataflow. Linear-by-default enforcement turns on. `(clone X)`
|
||||
in the `Term` schema.
|
||||
4. **Reuse hints + reuse analysis.** `(reuse-as ...)`
|
||||
form. Codegen rewrites dec+malloc into in-place overwrite when
|
||||
the precondition holds.
|
||||
5. **`(drop-iterative)` data attr.** Worklist-based
|
||||
free for annotated types.
|
||||
6. **RC validation bench.** RC validated within target
|
||||
on `bench/run.sh` (live=0; tail latency 23× better than Boehm;
|
||||
RSS lower). Retirement of Boehm executes in two steps: first a
|
||||
default-flip (`--alloc=rc` is the CLI default,
|
||||
GC retained as parity oracle; see Decision 9 above); second a
|
||||
full removal once the oracle stops paying its keep (gating
|
||||
condition: a few iter families with no GC-only diagnostic
|
||||
wins).
|
||||
7. **Advisory `over-strict-mode` lint** + precise sub-binder
|
||||
analysis with heap-type filter +
|
||||
`FnDef.suppress` suppression mechanism with mandatory-reason.
|
||||
First `Severity::Warning` diagnostic; CLI exit gated on Error
|
||||
only. Decision 10's mandatory-annotation rule is unchanged.
|
||||
|
||||
### Adjacent extensions for mutability (out of Decision 10's scope)
|
||||
|
||||
If future workloads need mutable arrays, hash tables, or other
|
||||
|
||||
Reference in New Issue
Block a user