Files
hakorune/docs/private/roadmap/phases/phase-33/PLAN.md

1014 B
Raw Blame History

Phase33 — Execution Plan (Native LLVM AOT)

Milestones

  1. Skeleton & Contract (this phase)
  • Add C ABI header + stub implementation returning NYI
  • CMake project in c/llvm-native/ without LLVM linkage
  • Document API and error policy; keep defaults unchanged (llvmlite)
  1. Minimal Codegen
  • Implement JSON→IR→OBJ for: const i64 / ret / binop / compare+branch
  • Target: Linux x86_64 only; opt-level configurable
  • Add canaries mirroring existing AOT tests (return/binop/if)
  1. Linking
  • Implement .o + libhako_kernel.a → exe
  • Provide flags for relocation model / LTO (optional)
  • Add canaries to assert rc/last-line parity with VM/llvmlite
  1. Packaging & Toggle
  • Provide --aot-engine native / HAKO_AOT_ENGINE=native, fall back to llvmlite if native unavailable
  • Doc: system LLVM vs. bundled releases; size/perf trade-offs

Acceptance (Phase 33)

  • C ABI skeleton present and isolated; repository builds unchanged by default
  • Plan/README written; follow-up work scoped to Phase 34+