Skip to content

Parity backlog snapshot 2026-06-17 — enum preservation + php-in-PHP JIT (refs #1492) #9350

Description

@PurHur

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

  1. 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)
  2. 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
  3. 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
  4. 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
  5. 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)

  • Run 2 top-5 issues closed or superseded
  • Run 1 enum/php-in-PHP items closed or superseded
  • #1492 body updated with run-2 summary
  • No duplicate implementation-ready repro for same symptom

Workers: claim labeled implementation-ready issues above. Enum cluster: #8746 / #5547; LLVM migration: #1492 PHP-in-PHP strategy.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions