Problem
The compiler runs on PHP today; compile times dominate JIT benchmarks. Long-term, the compiler should compile a subset of itself to native code.
Goal (stretch)
bin/compile.php successfully builds a native binary from a defined subset of lib/Compiler.php + dependencies.
Phased approach
Phase A — Inventory
Phase B — Subset compiler
Phase C — Run native VM
Non-goals (initially)
- Full FFI/LLVM pipeline self-hosted
- Compiling all of vendor/
Dependencies
Most Phase 2 language issues, #174 LLVM stability
Tracking
Link progress in #78 roadmap; do not block #67 on this.
Problem
The compiler runs on PHP today; compile times dominate JIT benchmarks. Long-term, the compiler should compile a subset of itself to native code.
Goal (stretch)
bin/compile.phpsuccessfully builds a native binary from a defined subset oflib/Compiler.php+ dependencies.Phased approach
Phase A — Inventory
bin/vm.phpminimal pathPhase B — Subset compiler
compile.php -lon bootstrap file listPhase C — Run native VM
000-HelloWorldexampleNon-goals (initially)
Dependencies
Most Phase 2 language issues, #174 LLVM stability
Tracking
Link progress in #78 roadmap; do not block #67 on this.