Category
php-in-php · runtime-shrink · Pillar Trust (#32122 .1 mint class)
Problem
Context::ensureMinimalUserStandaloneBodies still eagerly NestedJITs StreamLifecycleRuntime / StreamReadRuntime / StreamBucket when !$this->isUserScriptAot() — i.e. the bootstrap-aot path that calls ensureMinimal via ensureBootstrapAotStandaloneBodies.
User-script AOT already skips that block. Call sites already ensureLinked before lookup (JitFclose / JitFgetc / JitStreamBucket / JitIsResource / … — peer Type::initialize drop #34439). Eager NestedJIT during thin init vs Runtime ABI drift mints feof.1 / stream_bucket_*.1 (#31894 / #32122).
Full standalone still links Stream* from ensureFullStandaloneBodies.
PHP implementation target
lib/JIT/Context.php — remove the if (!$this->isUserScriptAot()) { StreamLifecycle/StreamRead/StreamBucket::ensureLinked } block from ensureMinimalUserStandaloneBodies
- Unit shrink test peer
ContextMinimalStandaloneLazyCliArgvRuntimeShrinkTest
- Do not add
runtime/*.c
php-src reference
Done when
Parent
Category
php-in-php· runtime-shrink · Pillar Trust (#32122.1mint class)Problem
Context::ensureMinimalUserStandaloneBodiesstill eagerly NestedJITsStreamLifecycleRuntime/StreamReadRuntime/StreamBucketwhen!$this->isUserScriptAot()— i.e. the bootstrap-aot path that callsensureMinimalviaensureBootstrapAotStandaloneBodies.User-script AOT already skips that block. Call sites already
ensureLinkedbefore lookup (JitFclose/JitFgetc/JitStreamBucket/JitIsResource/ … — peer Type::initialize drop #34439). Eager NestedJIT during thin init vs Runtime ABI drift mintsfeof.1/stream_bucket_*.1(#31894 / #32122).Full standalone still links Stream* from
ensureFullStandaloneBodies.PHP implementation target
lib/JIT/Context.php— remove theif (!$this->isUserScriptAot()) { StreamLifecycle/StreamRead/StreamBucket::ensureLinked }block fromensureMinimalUserStandaloneBodiesContextMinimalStandaloneLazyCliArgvRuntimeShrinkTestruntime/*.cphp-src reference
main/streams/streams.c— stream lifecyclemain/streams/userspace.c— stream_bucket_*Done when
ensureMinimalUserStandaloneBodieshas no StreamLifecycle/StreamRead/StreamBucket ensureLinked./script/aot-smoke.shstays 8/8Parent