Skip to content

Self-host M5: fold PHP_COMPILER_LIB_SPINE_SMOKE for bin/compile.php AOT (#2600) - #2635

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-2600-bin-compile-constant
May 27, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/issue-2600-bin-compile-constant

Conversation

@PurHur

@PurHur PurHur commented May 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • JIT folds PHP_COMPILER_LIB_SPINE_SMOKE to true in self-host spine bundles (PHP_COMPILER_SELFHOST_AOT=1) and false when compiling the real bin/compile.php driver (matches cli_driver.php early-return guard).
  • Removes the first AOT compile failure on the M5 path (Unknown constant fetch: PHP_COMPILER_LIB_SPINE_SMOKE).
  • Adds BootstrapAotJitCompileTest::testCliDriverLibSpineConstantFoldsForBinCompileDriver regression.

Next blocker (#2600)

Native bin/compile.php AOT now fails at Unsupported expression: Expr_Closure (vendor cli_driver.php / autoload path) — separate lowering work.

Test plan

  • ./script/docker-exec.sh -- bash -lc 'php bin/compile.php -o /tmp/t /tmp/lib_spine_const_test.php' (cli_driver pattern → driver)
  • make bootstrap-selfhost-link / bootstrap-selfhost-compile-smoke-probe (emit_path=native)
  • BootstrapAotJitCompileTest (LLVM group) when vendor/phpunit available on host

Made with Cursor

…OT (#2600)

cli_driver.php references this bundle-only constant; JIT now emits false outside
self-host spine smoke instead of failing compile with unknown constant fetch.
Next blocker for native bin/compile.php: Expr_Closure in vendor/cli path.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit afc56d2 into master May 27, 2026
@PurHur
PurHur deleted the agent/issue-2600-bin-compile-constant branch May 27, 2026 00:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant