Problem
After #1818 hygiene, 3 open m2-spine-unit issues remain — all AOT lint blockers for spine growth:
| Issue |
File |
| #1540 |
ext/standard/VmPregReplaceCallback.php |
| #1543 |
ext/standard/VmSplAutoload.php |
| #1544 |
ext/standard/VmString.php |
compiler_lib_spine_smoke is 578/586 inventory files on master. These three units block closing the M2 spine gap toward full lib/ link (#1419, #1492).
Goal
Bundle PR adds all three files to test/selfhost/compiler_lib_spine_smoke/main.php with:
array_multisort remains deferred (#1809 notes Expr_Closure in comparator) — separate from this bundle.
Implementation hints
| Step |
Command |
| Lint one file |
php bin/compile.php -l ext/standard/VmString.php |
| Lint spine |
php bin/compile.php -l test/selfhost/compiler_lib_spine_smoke/main.php |
| Native link |
BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke |
| Inventory |
php script/bootstrap-inventory.php --check |
Likely touch: lib/JIT/Builtin/, SelfHostBuiltinPolicy, spine require_once list.
Acceptance criteria
make bootstrap-wave-check
BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke
M2_SPINE_ISSUE_HYGIENE_GATE=1 php script/check-m2-spine-issue-hygiene.php
grep -c '^require_once' test/selfhost/compiler_lib_spine_smoke/main.php # 586
Docker:
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
bash -lc 'BOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smoke'
Dependencies
Links
Problem
After #1818 hygiene, 3 open
m2-spine-unitissues remain — all AOT lint blockers for spine growth:ext/standard/VmPregReplaceCallback.phpext/standard/VmSplAutoload.phpext/standard/VmString.phpcompiler_lib_spine_smokeis 578/586 inventory files onmaster. These three units block closing the M2 spine gap toward fulllib/link (#1419, #1492).Goal
Bundle PR adds all three files to
test/selfhost/compiler_lib_spine_smoke/main.phpwith:php bin/compile.php -lgreen on the spine bundleBOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smokelink OKext/standard/VmPregReplaceCallback.phpto compiler_lib_spine_smoke #1540, M2 spine: addext/standard/VmSplAutoload.phpto compiler_lib_spine_smoke #1543, M2 spine: addext/standard/VmString.phpto compiler_lib_spine_smoke #1544BootstrapSelfhostBundleTest,docs/bootstrap-inventory.md, ROADMAP 🗺️ ROADMAP: Self-host + web-capable PHP subset (living) #78array_multisortremains deferred (#1809 notesExpr_Closurein comparator) — separate from this bundle.Implementation hints
php bin/compile.php -l ext/standard/VmString.phpphp bin/compile.php -l test/selfhost/compiler_lib_spine_smoke/main.phpBOOTSTRAP_LIB_SPINE_SMOKE=1 make bootstrap-selfhost-lib-spine-smokephp script/bootstrap-inventory.php --checkLikely touch:
lib/JIT/Builtin/,SelfHostBuiltinPolicy, spinerequire_oncelist.Acceptance criteria
Docker:
Dependencies
Links