Category
php-in-php · runtime-shrink (#1492, re-#19355 / #20028)
Problem
lib/JIT/Builtin/StringHashAlgos.php and StringHashHmacAlgos.php still gate the thin JitHashAlgosKernel registry behind UserScriptAotDeferNestedJit::shouldDefer() (env PHP_COMPILER_AOT_USER_SCRIPT). #20028 / StringRename replaced that NestedJit defer gate with Context::isThinStandaloneAotMain() so bootstrap thin standalone and user-script AOT share one path without the NestedJit audit surface.
php-src reference
PHP implementation target
lib/JIT/Builtin/StringHashAlgos.php — replace UserScriptAotDeferNestedJit::shouldDefer with $context->isThinStandaloneAotMain(); keep JitHashAlgosKernel::emitAlgosBody for thin path; embed/non-thin stays JitVmHelperLink → HashAlgosJitHelper
lib/JIT/Builtin/StringHashHmacAlgos.php — same for hmac
test/unit/StringHashAlgosRuntimeShrinkTest.php / StringHashHmacAlgosRuntimeShrinkTest.php — assert no UserScriptAotDeferNestedJit; assert isThinStandaloneAotMain
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
vendor/bin/phpunit test/unit/StringHashAlgosRuntimeShrinkTest.php test/unit/StringHashHmacAlgosRuntimeShrinkTest.php
make bootstrap-selfhost-vm-driver-execute-probe
'
Done when
Refs #1492, #19355, #20028, #10533
Category
php-in-php· runtime-shrink (#1492, re-#19355 / #20028)Problem
lib/JIT/Builtin/StringHashAlgos.phpandStringHashHmacAlgos.phpstill gate the thinJitHashAlgosKernelregistry behindUserScriptAotDeferNestedJit::shouldDefer()(envPHP_COMPILER_AOT_USER_SCRIPT).#20028/StringRenamereplaced that NestedJit defer gate withContext::isThinStandaloneAotMain()so bootstrap thin standalone and user-script AOT share one path without the NestedJit audit surface.php-src reference
php_hash_algos()/php_hash_hmac_algos()PHP implementation target
lib/JIT/Builtin/StringHashAlgos.php— replaceUserScriptAotDeferNestedJit::shouldDeferwith$context->isThinStandaloneAotMain(); keepJitHashAlgosKernel::emitAlgosBodyfor thin path; embed/non-thin staysJitVmHelperLink→HashAlgosJitHelperlib/JIT/Builtin/StringHashHmacAlgos.php— same for hmactest/unit/StringHashAlgosRuntimeShrinkTest.php/StringHashHmacAlgosRuntimeShrinkTest.php— assert noUserScriptAotDeferNestedJit; assertisThinStandaloneAotMainRepro
Done when
UserScriptAotDeferNestedJitremoved from both StringHash*Algos.phpisThinStandaloneAotMain(Rename/php-in-php: delete StringRename user-script JitRenameKernel defer — always JitVmHelperLink + RenameJitHelper (re-#19215) #20028 shape)make bootstrap-selfhost-vm-driver-execute-probegreenRefs #1492, #19355, #20028, #10533