Category
php-in-php · runtime-shrink (#1492, peer IncludePath #20308 / JitEnv #20499 / ObOutput #20443)
Problem
RequestParseBodyRuntime and ext/standard/request_parse_body.php still gate user-script / thin AOT 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 |
RequestParseBodyJitHelper NestedJIT |
unchanged |
| User-script / bootstrap thin AOT |
shouldDeferHeavyStreamIoEmitters → JitRequestParseBodyKernel |
isThinStandaloneAotMain() → same kernel |
| Inventory emit / M3 driver |
deferred via StreamIo defer bag (skips NestedJIT) |
NestedJIT when not thin-standalone |
php-src reference
PHP implementation target
lib/JIT/Builtin/RequestParseBodyRuntime.php — drop shouldDeferHeavyStreamIoEmitters; gate thin/user-script on isThinStandaloneAotMain()
ext/standard/request_parse_body.php — same gate for kernel vs NestedJIT helper
test/unit/RequestParseBodyRuntimeShrinkTest.php — assert isThinStandaloneAotMain, no shouldDeferHeavyStreamIoEmitters
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
vendor/bin/phpunit test/unit/RequestParseBodyRuntimeShrinkTest.php
make bootstrap-selfhost-vm-driver-execute-probe
'
Done when
Refs #1492, #16927, #19466, #5965, #20308, #20499
Category
php-in-php· runtime-shrink (#1492, peer IncludePath #20308 / JitEnv #20499 / ObOutput #20443)Problem
RequestParseBodyRuntimeandext/standard/request_parse_body.phpstill gate user-script / thin AOT onStreamIoRuntime::shouldDeferHeavyStreamIoEmitters()(inventory-emit + NestedJit defer bag). Peer builtins already useContext::isThinStandaloneAotMain()for the same thin-standalone constraint (#16075).RequestParseBodyJitHelperNestedJITshouldDeferHeavyStreamIoEmitters→JitRequestParseBodyKernelisThinStandaloneAotMain()→ same kernelphp-src reference
PHP_FUNCTION(request_parse_body)PHP implementation target
lib/JIT/Builtin/RequestParseBodyRuntime.php— dropshouldDeferHeavyStreamIoEmitters; gate thin/user-script onisThinStandaloneAotMain()ext/standard/request_parse_body.php— same gate for kernel vs NestedJIT helpertest/unit/RequestParseBodyRuntimeShrinkTest.php— assertisThinStandaloneAotMain, noshouldDeferHeavyStreamIoEmittersRepro
Done when
shouldDeferHeavyStreamIoEmittersremoved from RequestParseBodyRuntime + request_parse_body.phpisThinStandaloneAotMainonly (kernel retained)make bootstrap-selfhost-vm-driver-execute-probegreenRefs #1492, #16927, #19466, #5965, #20308, #20499