Files
hakorune/CHANGELOG.md
Selfhosting Dev 89e6fbf010 feat(llvm): Comprehensive LLVM backend improvements by ChatGPT
Major enhancements to LLVM code generation and type handling:

1. String Operations:
   - Added StringBox length fast-path (length/len methods)
   - Converts i8* to handle when needed for len_h call
   - Consistent handle-based string operations

2. Array/Map Fast-paths:
   - ArrayBox: get/set/push/length operations
   - MapBox: get/set/has/size with handle-based keys
   - Optimized paths for common collection operations

3. Field Access:
   - getField/setField implementation with handle conversion
   - Proper i64 handle to pointer conversions

4. NewBox Improvements:
   - StringBox/IntegerBox pass-through optimizations
   - Fallback to env.box.new when type_id unavailable
   - Support for dynamic box creation

5. Documentation:
   - Added ARCHITECTURE.md for overall design
   - Added EXTERNCALL.md for external call specs
   - Added LOWERING_LLVM.md for LLVM lowering rules
   - Added PLUGIN_ABI.md for plugin interface

6. Type System:
   - Added UserBox type registration in nyash_box.toml
   - Consistent handle (i64) representation across system

Results: More robust LLVM code generation with proper type handling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-11 22:30:26 +09:00

1.9 KiB
Raw Blame History

Nyash Project Changelog (Work in progress)

This changelog tracks highlevel milestones while Core MIR and Phase 12 evolve. For detailed perfile history, see git log and docs under docs/development/roadmap/.

20250906

  • Core13 flip complete: code/tests enforce Core13 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: step50 marked done; DEV quickstart points to Core13 reference.

20250904

  • Phase 12.7A complete: peek, continue, ? operator, lambda, field type annotations. Language reference updated.
  • Phase 12.7B (basic) complete: parserlevel desugaring for |>, ?., ??, +=/-=/*=/=, .. behind NYASH_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 Core15 during transition; superseded by 20250906 Core13 flip.

20250903

  • Nyash ABI TypeBox integration stabilized across core boxes; differential tests added; loader defaults adjusted (builtin + plugins).

Notes

  • Core13 is canonical minimal kernel. Historical Core15 notes remain under docs/development/roadmap/ for reference.
  • Phase 12.7B desugaring is gated by NYASH_SYNTAX_SUGAR_LEVEL; tokenizer additions are nonbreaking.

20250911 (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).