Phase A cleanup - Safe deletions with zero risk: ## Deleted Files (6 files, 373 lines total) 1. Cranelift/JIT Backend (321 lines): - src/runner/modes/cranelift.rs (45 lines) - src/runner/modes/aot.rs (55 lines) - src/runner/jit_direct.rs (152 lines) - src/tests/core13_smoke_jit.rs (42 lines) - src/tests/core13_smoke_jit_map.rs (27 lines) 2. Legacy MIR Builder (52 lines): - src/mir/builder/exprs_legacy.rs - Functionality inlined into exprs.rs (control flow constructs) ## Module Reference Cleanup - src/backend/mod.rs: Removed cranelift feature gate exports - src/runner/mod.rs: Removed jit_direct module reference - src/runner/modes/mod.rs: Removed aot module reference - src/mir/builder.rs: Removed exprs_legacy module ## Impact Analysis - Build: Success (cargo build --release) - Tests: All passing - Risk Level: None (feature already archived, code unused) - Related: Phase 15 JIT archival (archive/jit-cranelift/) ## BID Copilot Status - Already removed in previous cleanup - Not part of this commit Total Reduction: 373 lines (~0.4% of codebase) Next: Phase B - Dead code investigation Related: #phase-21.0-cleanup Part of: Legacy Code Cleanup Initiative
3.4 KiB
3.4 KiB
Nyash Project – Changelog (Work in progress)
This changelog tracks high‑level milestones while Core MIR and Phase 12 evolve. For detailed per‑file history, see git log and docs under docs/development/roadmap/.
2025‑09‑06
- Core‑13 flip complete: code/tests enforce Core‑13 minimal kernel. Normalizations (Array/Ref→BoxCall, TypeCheck/Cast/Barrier/WeakRef unification) are ON by default via env (NYASH_MIR_CORE13=1). New tests validate normalization.
- Docs synced: step‑50 marked done; DEV quickstart points to Core‑13 reference.
2025‑09‑04
- Phase 12.7‑A complete: peek, continue,
?operator, lambda, field type annotations. Language reference updated. - Phase 12.7‑B (basic) complete: parser‑level desugaring for
|>,?.,??,+=/-=/*=/=,..behindNYASH_SYNTAX_SUGAR_LEVEL. - Docs: language reference and Phase 12.7 README updated to reflect basic completion; extensions tracked under gated plan.
- MIR Core migration: previously enforcing Core‑15 during transition; superseded by 2025‑09‑06 Core‑13 flip.
2025‑09‑03
- Nyash ABI TypeBox integration stabilized across core boxes; differential tests added; loader defaults adjusted (builtin + plugins).
Notes
- Core‑13 is canonical minimal kernel. Historical Core‑15 notes remain under
docs/development/roadmap/for reference. - Phase 12.7‑B desugaring is gated by
NYASH_SYNTAX_SUGAR_LEVEL; tokenizer additions are non‑breaking.
2025‑09‑11 (Phase 15)
- llvm: BoxCall arm cleanup — unreachable legacy block removed; arm now delegates solely to
instructions::lower_boxcall. - llvm/docs: Documented LLVM lowering rules (StringBox i8* fast path, ExternCall ptr/handle selection, minimal fallback policy for string concat).
- docs: Added ARCHITECTURE.md, LOWERING_LLVM.md, EXTERNCALL.md, PLUGIN_ABI.md.
- nyrt: resolved plugin module duplication; build green.
- builder: suppressed StringBox birth (constructed in LLVM path).
2025‑11‑06 — Phase 21.0 (Full Self‑Hosting)
- Full Self‑Hosting achieved (DoD met):
- S1/S2 determinism: v1 emit for const/compare/threeblock‑collect repeats 3× with identical normalized hash.
- PRIMARY no‑fallback (hv1 inline): selfhost_v1 minimal Option‑A/B reps PASS (rc=42).
- S3 (llvmlite + Nyash Kernel link + run): ternary collect (rc=44) / map set→size (rc=1) PASS. Auto‑runs when LLVM18/llvmlite is present.
- Harness/root changes:
- ny_mir_builder.sh routes v1 JSON directly to llvmlite harness; EXE links against libnyash_kernel.a.
- Python LLVM builder fixes: cmp field normalization (Lt/Le/… → < <= …), ret PHI synthesis (avoid ret=0), flat mir_call shape acceptance.
- Using/alias polish (prod): modules mapping preferred; missing module aliases added (StrCast / MethodAliasPolicy). Duplicate using in VM extern_provider cleaned.
- Docs: phase‑21.0 marked COMPLETE (Quick Verify updated). CURRENT_TASK closed.
2025‑11‑06 — Phase 21.1 (LLVM C‑API emit‑only) finalize
- C‑API path green for both reps (ternary rc=44 / map set→size rc=1).
tools/smokes/v2/profiles/quick/core/phase2111/run_all.shruns both. - VM handler cleanup (SSOT): removed duplicated
hostbridge.extern_invokebranches incalls.rs; all externs route throughextern_provider_dispatch. - Trace polish: consolidated
[hb:*]to low‑noise, gated byHAKO_CABI_TRACE=1. - Docs updated: phase‑21.1 README set to COMPLETE with Quick Verify and troubleshooting.