Category
php-in-php · runtime-shrink (#1492, re-#20028 / #13360)
Problem
lib/JIT/Builtin/StringParseStr.php still gates user-script AOT through UserScriptAotDeferNestedJit::shouldDefer(). Peer builtins (StringRename #20028, StringBin2hex #20011, MathFpow #20034) already route thin standalone via Context::isThinStandaloneAotMain() so NestedJIT defer is not a per-builtin gate.
php-src reference
PHP implementation target
lib/JIT/Builtin/StringParseStr.php — replace UserScriptAotDeferNestedJit::shouldDefer with $context->isThinStandaloneAotMain() → ParseStrRuntime::ensureUserScriptLinked
test/unit/ParseStrRuntimeShrinkTest.php — assert no UserScriptAotDeferNestedJit; require isThinStandaloneAotMain
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
vendor/bin/phpunit test/unit/ParseStrRuntimeShrinkTest.php
'
Done when
Refs #1492, #13360, #20028, #18855
Category
php-in-php· runtime-shrink (#1492, re-#20028 / #13360)Problem
lib/JIT/Builtin/StringParseStr.phpstill gates user-script AOT throughUserScriptAotDeferNestedJit::shouldDefer(). Peer builtins (StringRename#20028,StringBin2hex#20011,MathFpow#20034) already route thin standalone viaContext::isThinStandaloneAotMain()so NestedJIT defer is not a per-builtin gate.php-src reference
PHP_FUNCTION(parse_str)PHP implementation target
lib/JIT/Builtin/StringParseStr.php— replaceUserScriptAotDeferNestedJit::shouldDeferwith$context->isThinStandaloneAotMain()→ParseStrRuntime::ensureUserScriptLinkedtest/unit/ParseStrRuntimeShrinkTest.php— assert noUserScriptAotDeferNestedJit; requireisThinStandaloneAotMainRepro
Done when
UserScriptAotDeferNestedJitremoved fromStringParseStr.phpisThinStandaloneAotMain+ParseStrRuntime::ensureUserScriptLinkedParseStrRuntimeShrinkTestgreenmake bootstrap-selfhost-vm-driver-execute-probegreenRefs #1492, #13360, #20028, #18855