Skip to content

php-in-php: lazy Utf8Latin1/RewriteVars/Define/Strspn/FileGetContents/Readfile from ensureFull (#35089) - #35092

Merged
PurHur merged 1 commit into
masterfrom
fix/35089-ensurefull-lazy-stdlib
Aug 26, 2026
Merged

php-in-php: lazy Utf8Latin1/RewriteVars/Define/Strspn/FileGetContents/Readfile from ensureFull (#35089)#35092
PurHur merged 1 commit into
masterfrom
fix/35089-ensurefull-lazy-stdlib

Conversation

@PurHur

@PurHur PurHur commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

php-src

  • ext/standard/file.c — file_get_contents / readfile
  • ext/standard/basic_functions.c — define / utf8_encode/decode
  • ext/standard/string.c — strspn / strcspn

Test plan

  • ./script/aot-smoke.sh8 passed, 0 failed
  • ./script/phpunit.sh --filter 'ContextFullStandaloneLazyStdlib|ContextMinimalStandaloneLazyStdlib|ContextFullStandaloneLazyStream|TypeDeadFileGetContents|TypeDeadReadfile|TypeDeadUtf8Latin1'OK (21 tests)
  • AOT define / strspn / file_get_contents / readfile / echo hi → match
  • PHP_COMPILER_HELPER_RUNTIME_O=0 php bin/compile.php -o /tmp/hw.bin -r 'echo "hi";'hi

Made with Cursor

…/Readfile from ensureFull (#35089)

Drop always-on NestedJIT of those stdlib ABIs from Context::ensureFullStandaloneBodies (peer #34578 / #35086). BootstrapCompileSmokeM3Emit now ensureLinked StringFileGetContents before __compiler_file_get_contents lookup so inventory argv still links (#15604 / #32122 .1 mint).

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 11e1ad6 into master Aug 26, 2026
1 check failed
@PurHur
PurHur deleted the fix/35089-ensurefull-lazy-stdlib branch August 26, 2026 11:54
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.

php-in-php: lazy Utf8Latin1/RewriteVars/Define/Strspn/FileGetContents/Readfile from ensureFullStandaloneBodies (Context.php)

1 participant