Skip to content

php-in-php: lazy Stream*/FunctionStatic from ensureFull (#35086) - #35088

Merged
PurHur merged 1 commit into
masterfrom
agent/php-in-php-ensurefull-stream-lazy-35086
Aug 26, 2026
Merged

php-in-php: lazy Stream*/FunctionStatic from ensureFull (#35086)#35088
PurHur merged 1 commit into
masterfrom
agent/php-in-php-ensurefull-stream-lazy-35086

Conversation

@PurHur

@PurHur PurHur commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

php-src

  • main/streams/streams.c — fclose/feof/fflush/fgetc/fgets lifecycle
  • main/streams/userspace.c — stream_bucket_* / brigade
  • Zend/zend_compile.c — function-static locals

Test plan

  • ./script/aot-smoke.sh8 passed, 0 failed
  • ./script/phpunit.sh --filter 'ContextFullStandaloneLazyStream|ContextMinimalStandaloneLazyStream|ContextFullStandaloneLazyAssertGc|FunctionStaticRuntimeStandalone|FunctionStaticRuntimeShrink'OK (15 tests, 116 assertions)
  • AOT repro: echo "hi", feof/fclose on php://memoryeof, function-static counter → 12

Made with Cursor

…es (#35086)

Drop always-on NestedJIT of StreamLifecycle/StreamRead/StreamFilter/StreamBucket
and FunctionStatic during full standalone init — call sites already ensureLinked
(peer ensureMinimal #34836). Avoids #32122 .1 mint class ABI drift.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 0600d9a into master Aug 26, 2026
1 check failed
@PurHur
PurHur deleted the agent/php-in-php-ensurefull-stream-lazy-35086 branch August 26, 2026 11:41
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 StreamLifecycle/StreamRead/StreamFilter/StreamBucket + FunctionStatic from ensureFullStandaloneBodies (Context.php)

1 participant