Tracking note for #1492 — GitHub disables new comments on that issue (>2500 comments). This snapshot records maintainer parity runs; updated 2026-06-18 run 2 .
Top gaps filed (implementation-ready) — run 2
Regression: throw expression non-throwing branch returns empty — ?? RHS must yield value (Zend/zend_compile.c) #9447 — Language: throw expression ?? non-throw branch returns empty (Zend/zend_execute.c)
php-in-php: JIT StringStrGetcsvJit/StringFgetcsvJit — route fgetcsv/str_getcsv through VmCsv PHP not ~870-line LLVM (#1492) #9444 — php-in-PHP: CSV JIT (StringStrGetcsvJit/StringFgetcsvJit ~870 LLVM) → VmCsv PHP
php-in-php: JIT SessionLifecycleRuntime — route session_start/write_close/destroy through VmSession PHP not ~460-line LLVM (#1492) #9446 — php-in-PHP: SessionLifecycleRuntime ~460 LLVM → VmSession PHP
php-in-php: JIT StringHtmlspecialchars — route htmlspecialchars/htmlentities through VmString PHP not ~420-line LLVM (#1492) #9445 — php-in-PHP: StringHtmlspecialchars ~420 LLVM → VmString PHP
php-in-php: JIT StreamLifecycleJit — route is_resource/fclose/feof/fflush through VmFs PHP not ~395-line LLVM (#1492) #9442 — php-in-PHP: StreamLifecycleJit ~395 LLVM → VmFs PHP
Also: #9443 (StringHttpBuildQuery JIT → VmHttpBuildQuery).
Run 1 (2026-06-18 earlier)
Specs upgraded (run 2)
Repro (verify before claim)
# Throw expression regression (#9447)
./script/docker-exec.sh -- bash -lc ' source script/php-env.sh && php bin/vm.php -r "
function f(?int \$x): int { return \$x ?? throw new Exception(\"e\"); }
try { f(null); } catch (Throwable \$e) { echo \"caught\n\"; }
echo \"one=\", f(1), PHP_EOL;
"'
# Stream lifecycle VM baseline (#9442)
./script/docker-exec.sh -- bash -lc ' source script/php-env.sh && php bin/vm.php -r "
\$fp=fopen(\"php://memory\",\"w+\"); var_dump(is_resource(\$fp)); fclose(\$fp);
"'
Done when (this snapshot issue can close)
Workers: claim labeled implementation-ready issues above. Enum cluster: #8746 / #5547 ; LLVM migration: #1492 PHP-in-PHP strategy.
Tracking note for #1492 — GitHub disables new comments on that issue (>2500 comments). This snapshot records maintainer parity runs; updated 2026-06-18 run 2.
Top gaps filed (implementation-ready) — run 2
??non-throw branch returns empty (Zend/zend_execute.c)StringStrGetcsvJit/StringFgetcsvJit~870 LLVM) →VmCsvPHPSessionLifecycleRuntime~460 LLVM →VmSessionPHPStringHtmlspecialchars~420 LLVM →VmStringPHPStreamLifecycleJit~395 LLVM →VmFsPHPAlso: #9443 (
StringHttpBuildQueryJIT →VmHttpBuildQuery).Run 1 (2026-06-18 earlier)
$GLOBALSenum case preservationclass_alias()enum case via alias returns scalarnumber_format()5thRoundingModeargSpecs upgraded (run 2)
mb_ltrim/mb_rtrimregistered; blocked on Stdlib: mb_internal_encoding() / mb_language() / mb_http_input() — encoding defaults (ext/mbstring parity) #4636mb_internal_encodingarray_*aliases nowfunction_existstrue (comparator work remains)Repro (verify before claim)
Done when (this snapshot issue can close)
#1492body updated with run-2 summaryimplementation-readyrepro for same symptomWorkers: claim labeled
implementation-readyissues above. Enum cluster: #8746 / #5547; LLVM migration: #1492 PHP-in-PHP strategy.