You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With local StreamIo/StreamMeta helper units warmed + core marker (committed prelink core fingerprint 72a83ee ≠ live aa095c4c, so clean trees otherwise re-emit the whole corpus for ~minutes):
Helper-runtime unit.o and NestedJIT of getMetaDataArgv both still yield missing keys (forcing USER_SCRIPT_INLINE_ONLY for getMetaDataArgv did not fix).
Hardcoding a 3-key HT inside getMetaDataArgv segfaulted under thin AOT — NestedJIT HashTable::add(string,…) for this return path looks unsafe; need LLVM-side string-key HT materialization (or a NestedJIT-safe builder) like other AOT meta/array returns.
Env note: touch build/helper-runtime-cache/core-<livefp>.ok after emitting StreamIo+StreamMeta units, or AOT spends minutes in emit-helper-runtime-object.php before compiling.
Suggested next
Build meta HT in LLVM from scalar NestedJIT returns (wrapper_type/stream_type/mode/… as separate *Argv ints/strings), or find a NestedJIT-safe HashTable string-key write used by a green AOT builtin and reuse it.
Guard: AOT fixture mirroring the issue repro; php://temp TEMP vs MEMORY per done-when.
Resuming from prior handoff on this workspace: NestedJIT HashTable string-key path for getMetaDataArgv; aiming LLVM-side HT materialization or NestedJIT-safe builder.
Resuming on fix/27659-stream-get-meta-data-aot: thin AOT LLVM meta from StreamGlobals paths (JitStreamMetaThinAot). Local probe: PHP/MEMORY/isset(mode)=YES + TEMP; shipping PR after gates.
Activity
PurHur commentedon Aug 5, 2026
claim: PHP Compiler STD Lib Advanced — batch (#27423 merged → #27659 #27573 #27437)
Starting #27659 (AOT stream_get_meta_data php://memory keys).
PurHur commentedon Aug 5, 2026
Handoff — #27659 after #27423 merge
#27423 merged: #27721
#27659 repro (this workspace)
With local StreamIo/StreamMeta helper units warmed + core marker (committed prelink core fingerprint
72a83ee≠ liveaa095c4c, so clean trees otherwise re-emit the whole corpus for ~minutes):PHP/MEMORY/true?/?/NULL(empty/missing meta keys)Findings
JitStreamGetMetaData→__compiler_stream_get_meta_data→StreamMetaJitHelper::getMetaDataArgv→VmFs::streamGetMetaData/VmStreamMeta::buildMetaArray.getMetaDataArgvboth still yield missing keys (forcingUSER_SCRIPT_INLINE_ONLYfor getMetaDataArgv did not fix).getMetaDataArgvsegfaulted under thin AOT — NestedJITHashTable::add(string,…)for this return path looks unsafe; need LLVM-side string-key HT materialization (or a NestedJIT-safe builder) like other AOT meta/array returns.build/helper-runtime-cache/core-<livefp>.okafter emitting StreamIo+StreamMeta units, or AOT spends minutes inemit-helper-runtime-object.phpbefore compiling.Suggested next
*Argvints/strings), or find a NestedJIT-safeHashTablestring-key write used by a green AOT builtin and reuse it.TEMPvsMEMORYper done-when.Branch
fix/27659-stream-get-meta-data-aotlocal only (no push — no fix yet).PurHur commentedon Aug 5, 2026
claim: PHP Compiler STD Lib Advanced — continuing batch (#27659 → #27573 → #27437)
Resuming from prior handoff on this workspace: NestedJIT HashTable string-key path for getMetaDataArgv; aiming LLVM-side HT materialization or NestedJIT-safe builder.
PurHur commentedon Aug 5, 2026
claim: PHP Compiler STD Lib Advanced — continuing batch (#27659 → #27573 → #27437)
Resuming on
fix/27659-stream-get-meta-data-aot: thin AOT LLVM meta from StreamGlobals paths (JitStreamMetaThinAot). Local probe: PHP/MEMORY/isset(mode)=YES + TEMP; shipping PR after gates.Stdlib: thin AOT stream_get_meta_data from StreamGlobals paths (#27659)
Docs: sync bootstrap-inventory after JitStreamMetaThinAot (#27659)
Stdlib: thin AOT stream_get_meta_data php://memory|temp keys (#27659) (…
PurHur commentedon Aug 5, 2026
Merged via #27833
Verification
PHP/MEMORY/isset_mode=YES(ternary; thin AOTvar_export(bool)is Regression: AOT BackedEnum::tryFrom segfaults after build — VM/JIT match Zend (re-#24208, Zend/zend_enum.c) #26855)stream_get_meta_data_memory.phpt: six1lines includingTEMPStreamMetaKernelShrinkTestOK; spine sync OK; inventory OK 7022/7022Next in batch: #27573 → #27437