Category
php-in-php · runtime-shrink · Pillar Trust (#32122 .1 mint class)
Problem
Context::ensureFullStandaloneBodies still eagerly NestedJITs stdlib ABIs during every full standalone init — peers already made these lazy on the minimal path (#34578) and on Type::initialize (#34474 / #34423):
StringUtf8Latin1::ensureStandaloneBodies
RewriteVarsRuntime::ensureStandaloneBodies
DefineRuntime::ensureStandaloneBodies
StringStrspn::ensureStandaloneBodies
StringFileGetContents::ensureStandaloneBodies (comment cites BootstrapCompileSmokeM3Emit #15604 — that call site must ensureLinked before lookup)
StringReadfile::ensureStandaloneBodies
Leftover Context NestedJIT vs Runtime ABI drift mints utf8_*.1 / define.1 / file_get_contents.1 / readfile.1 / strspn.1 (#31894 / #32122). Call sites already ensureLinked before lookup (JitUtf8Latin1 / JitDefine / JitFileGetContents / readfile.php / SpnJitLowering / RewriteVarsRuntime).
php-src reference
PHP implementation target
lib/JIT/Context.php — drop always-on NestedJIT from ensureFullStandaloneBodies
lib/JIT/BootstrapCompileSmokeM3Emit.php — StringFileGetContents::ensureLinked before __compiler_file_get_contents lookup
- Unit shrink guards mirroring
ContextFullStandaloneLazyStreamRuntimeShrinkTest / ContextMinimalStandaloneLazyStdlibRuntimeShrinkTest
Done when
Parent
Category
php-in-php· runtime-shrink · Pillar Trust (#32122.1mint class)Problem
Context::ensureFullStandaloneBodiesstill eagerly NestedJITs stdlib ABIs during every full standalone init — peers already made these lazy on the minimal path (#34578) and on Type::initialize (#34474 / #34423):StringUtf8Latin1::ensureStandaloneBodiesRewriteVarsRuntime::ensureStandaloneBodiesDefineRuntime::ensureStandaloneBodiesStringStrspn::ensureStandaloneBodiesStringFileGetContents::ensureStandaloneBodies(comment cites BootstrapCompileSmokeM3Emit#15604— that call site mustensureLinkedbefore lookup)StringReadfile::ensureStandaloneBodiesLeftover Context NestedJIT vs Runtime ABI drift mints
utf8_*.1/define.1/file_get_contents.1/readfile.1/strspn.1(#31894 / #32122). Call sites alreadyensureLinkedbefore lookup (JitUtf8Latin1 / JitDefine / JitFileGetContents / readfile.php / SpnJitLowering / RewriteVarsRuntime).php-src reference
ext/standard/file.c— file_get_contents / readfileext/standard/basic_functions.c— define / utf8_encode/decodeext/standard/string.c— strspn / strcspnPHP implementation target
lib/JIT/Context.php— drop always-on NestedJIT fromensureFullStandaloneBodieslib/JIT/BootstrapCompileSmokeM3Emit.php—StringFileGetContents::ensureLinkedbefore__compiler_file_get_contentslookupContextFullStandaloneLazyStreamRuntimeShrinkTest/ContextMinimalStandaloneLazyStdlibRuntimeShrinkTestDone when
ensureFullStandaloneBodiesdoes not call the six ensures above./script/aot-smoke.shstays 8/8./script/phpunit.sh --filter ContextFullStandaloneLazyStdlib|ContextMinimalStandaloneLazyStdlib|ContextFullStandaloneLazyStreamruntime/*.c/lib/AOT/runtime/*.cParent
.1mint: #32122 / #31894