1014 B
1014 B
Phase‑33 — Execution Plan (Native LLVM AOT)
Milestones
- 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)
- 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)
- 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
- 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+