Skip to content

Stdlib: thin AOT stream_get_meta_data php://memory|temp keys (#27659) - #27833

Merged
PurHur merged 2 commits into
masterfrom
fix/27659-stream-get-meta-data-aot
Aug 5, 2026
Merged

PurHur merged 2 commits into
masterfrom
fix/27659-stream-get-meta-data-aot

Conversation

@PurHur

@PurHur PurHur commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Summary

php-src reference

  • ext/standard/streamsfuncs.c — PHP_FUNCTION(stream_get_meta_data)
  • main/streams/streams.c — php_stream_get_meta_data
  • main/streams/php_stream_temp.c — TEMP meta shape (no timed_out/blocked/eof)

PHP implementation

  • ext/standard/JitStreamMetaThinAot.php (new)
  • ext/standard/JitStreamMetaKernel.php — thin AOT branch
  • AOT fixture test/fixtures/aot/cases/stream_get_meta_data_memory.phpt
  • Spine + bootstrap-inventory sync

Test plan

Not covered: full ci-fast / compliance suite; a+ reported mode still hardcodes w+b under thin AOT (done-when does not require it).

Made with Cursor

PurHur and others added 2 commits August 5, 2026 17:23
NestedJIT VmFs never sees phpc_stream_* slots that JitStreamIoKernel fopen
fills under thin standalone; build the meta HT in LLVM from the path table.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 999fd51 into master Aug 5, 2026
0 of 2 checks passed
@PurHur
PurHur deleted the fix/27659-stream-get-meta-data-aot branch August 5, 2026 17:28
PurHur added a commit that referenced this pull request Aug 5, 2026
…27859)

Restore verified-fresh lowering_source_fingerprint after seven lowering
commits drifted past #27831, unblocking north-star5-fast / user_release_ready.

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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.

Regression: AOT stream_get_meta_data(php://memory) empty keys — VM/JIT match Zend (ext/standard/streams.c)

1 participant