Category
php-in-php · runtime-shrink (#1492)
Problem
#18548 restored ~1052-line ParseStrUserScriptDelimitedJit.php because StringMultipartStandaloneLlvm linked __phpc_parse_str_* subhelpers. #18615 deleted StringMultipartStandaloneLlvm and routes user-script multipart through MultipartNativeJitHelper + ParseStrNativeJitHelper PHP.
ParseStrRuntimeShrinkTest and SuperglobalRefreshRuntimeShrinkTest still expect the hand-LLVM file deleted; current master has 4 failing assertions.
| Path |
Registry |
Delimited parse |
| User-script AOT (target) |
ParseStrNativeJitHelper PHP |
parseDelimitedIntoNative PHP |
| Current (regression) |
ParseStrUserScriptDelimitedJit ~1052 LOC LLVM |
__phpc_parse_str_parse_delimited_pairs etc. |
php-src reference
PHP implementation target
- Delete
lib/JIT/Builtin/ParseStrUserScriptDelimitedJit.php
lib/JIT/Builtin/ParseStrRuntime.php — drop ensureSubhelpers call; keep ParseStrNativeJitHelper bridge
test/unit/JIT/SuperglobalsBracketRuntimeStandaloneTest.php — expect PHP bridges, not __phpc_parse_str_* LLVM
test/selfhost/compiler_lib_spine_smoke/main.php — remove require
Repro
php vendor/bin/phpunit test/unit/ParseStrRuntimeShrinkTest.php
# 4 failures: file exists, spine includes require, ParseStrRuntime references class
Done when
Category
php-in-php· runtime-shrink (#1492)Problem
#18548 restored ~1052-line
ParseStrUserScriptDelimitedJit.phpbecauseStringMultipartStandaloneLlvmlinked__phpc_parse_str_*subhelpers. #18615 deletedStringMultipartStandaloneLlvmand routes user-script multipart throughMultipartNativeJitHelper+ParseStrNativeJitHelperPHP.ParseStrRuntimeShrinkTestandSuperglobalRefreshRuntimeShrinkTeststill expect the hand-LLVM file deleted; current master has 4 failing assertions.ParseStrNativeJitHelperPHPparseDelimitedIntoNativePHPParseStrUserScriptDelimitedJit~1052 LOC LLVM__phpc_parse_str_parse_delimited_pairsetc.php-src reference
PHP_FUNCTION(parse_str)PHP implementation target
lib/JIT/Builtin/ParseStrUserScriptDelimitedJit.phplib/JIT/Builtin/ParseStrRuntime.php— dropensureSubhelperscall; keepParseStrNativeJitHelperbridgetest/unit/JIT/SuperglobalsBracketRuntimeStandaloneTest.php— expect PHP bridges, not__phpc_parse_str_*LLVMtest/selfhost/compiler_lib_spine_smoke/main.php— remove requireRepro
php vendor/bin/phpunit test/unit/ParseStrRuntimeShrinkTest.php # 4 failures: file exists, spine includes require, ParseStrRuntime references classDone when
ParseStrUserScriptDelimitedJit.phpdeleted (~1052 LOC LLVM removed)ParseStrRuntimeShrinkTest+SuperglobalRefreshRuntimeShrinkTestgreen./script/check-aot-build-smoke.shgreenmake bootstrap-selfhost-vm-driver-execute-probegreen