Category
php-in-php · runtime-shrink (#1492, re-#19430 / #20065)
Problem
lib/JIT/Builtin/StringVarExport.php still gates the thin JitVarExportKernel path behind UserScriptAotDeferNestedJit::shouldDefer() (env PHP_COMPILER_AOT_USER_SCRIPT only). That leaves NestedJit on the audit surface and diverges from #20065 / #20050 / Rename shape where thin standalone AOT (user-script and bootstrap-aot-link) shares one Context::isThinStandaloneAotMain() gate.
Both paths already route through VarExportJitHelper PHP — this slice only retires the NestedJit defer gate.
php-src reference
PHP implementation target
lib/JIT/Builtin/StringVarExport.php — replace UserScriptAotDeferNestedJit::shouldDefer with $context->isThinStandaloneAotMain(); thin → JitVarExportKernel; embed/non-thin stays helper bridge
test/unit/VarExportRuntimeShrinkTest.php — assert no UserScriptAotDeferNestedJit; assert isThinStandaloneAotMain
Repro
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
vendor/bin/phpunit test/unit/VarExportRuntimeShrinkTest.php
make bootstrap-selfhost-vm-driver-execute-probe
'
Done when
Refs #1492, #19430, #20065, #10533
Category
php-in-php· runtime-shrink (#1492, re-#19430 / #20065)Problem
lib/JIT/Builtin/StringVarExport.phpstill gates the thinJitVarExportKernelpath behindUserScriptAotDeferNestedJit::shouldDefer()(envPHP_COMPILER_AOT_USER_SCRIPTonly). That leaves NestedJit on the audit surface and diverges from#20065/#20050/ Rename shape where thin standalone AOT (user-script and bootstrap-aot-link) shares oneContext::isThinStandaloneAotMain()gate.Both paths already route through
VarExportJitHelperPHP — this slice only retires the NestedJit defer gate.php-src reference
php_var_export_exPHP implementation target
lib/JIT/Builtin/StringVarExport.php— replaceUserScriptAotDeferNestedJit::shouldDeferwith$context->isThinStandaloneAotMain(); thin →JitVarExportKernel; embed/non-thin stays helper bridgetest/unit/VarExportRuntimeShrinkTest.php— assert noUserScriptAotDeferNestedJit; assertisThinStandaloneAotMainRepro
Done when
UserScriptAotDeferNestedJitremoved fromStringVarExport.phpisThinStandaloneAotMain(php-in-php: delete StringHashCryptoJit NestedJit defer — thin via isThinStandaloneAotMain + real hash_equals (re-#20050) #20065 / Rename shape)make bootstrap-selfhost-vm-driver-execute-probegreenRefs #1492, #19430, #20065, #10533