Category
php-in-php · runtime-shrink (#1492, peer StreamIo #20229 / ParseStr #20132 / VarExport #20077)
Problem
IncludePathRuntime still gates thin/user-script stubs on StreamIoRuntime::shouldDeferHeavyStreamIoEmitters() (inventory-emit + NestedJit defer bag). Peer builtins already use Context::isThinStandaloneAotMain() for the same thin-standalone constraint (#16075).
| Mode |
Today |
Target |
| Embed / non-thin |
IncludePathJitHelper NestedJIT bridges |
unchanged |
| User-script / bootstrap thin AOT |
shouldDeferHeavyStreamIoEmitters → thin stubs |
isThinStandaloneAotMain() → same thin stubs |
| Inventory emit / M3 driver |
deferred via StreamIo defer bag |
thin only when isThinStandaloneAotMain (honest NestedJIT otherwise) |
php-src reference
PHP implementation target
lib/JIT/Builtin/IncludePathRuntime.php — gate thin stubs on $context->isThinStandaloneAotMain(); drop shouldDeferHeavyStreamIoEmitters call
test/unit/IncludePathRuntimeShrinkTest.php — assert isThinStandaloneAotMain, no shouldDeferHeavyStreamIoEmitters
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
vendor/bin/phpunit test/unit/IncludePathRuntimeShrinkTest.php
make bootstrap-selfhost-vm-driver-execute-probe
'
Done when
Refs #1492, #13678, #9245, #20229, #20132
Category
php-in-php· runtime-shrink (#1492, peer StreamIo #20229 / ParseStr #20132 / VarExport #20077)Problem
IncludePathRuntimestill gates thin/user-script stubs onStreamIoRuntime::shouldDeferHeavyStreamIoEmitters()(inventory-emit + NestedJit defer bag). Peer builtins already useContext::isThinStandaloneAotMain()for the same thin-standalone constraint (#16075).IncludePathJitHelperNestedJIT bridgesshouldDeferHeavyStreamIoEmitters→ thin stubsisThinStandaloneAotMain()→ same thin stubsisThinStandaloneAotMain(honest NestedJIT otherwise)php-src reference
php_get_include_path/php_set_include_pathphp_stream_resolve_include_pathPHP implementation target
lib/JIT/Builtin/IncludePathRuntime.php— gate thin stubs on$context->isThinStandaloneAotMain(); dropshouldDeferHeavyStreamIoEmitterscalltest/unit/IncludePathRuntimeShrinkTest.php— assertisThinStandaloneAotMain, noshouldDeferHeavyStreamIoEmittersRepro
Done when
shouldDeferHeavyStreamIoEmittersremoved from IncludePathRuntimeisThinStandaloneAotMainonly (thin stubs retained)make bootstrap-selfhost-vm-driver-execute-probegreenRefs #1492, #13678, #9245, #20229, #20132