Category
php-in-php / runtime-shrink · cold-build surface · peer #34327 / Trust #32122
Problem
Type::initialize() on the non-STANDALONE path still eagerly NestedJITs openssl encrypt/sign/digest/pbkdf2, hash crypto (+ equals/algos), json encode/decode, libcrypt, password crypto/random_bytes, and StringRandomBytes even when the script never calls those builtins. Call sites already ensureLinked before lookup (or need a one-line JitRandomBytes ensureLinked).
php-src reference
PHP implementation target
lib/JIT/Builtin/Type.php — remove eager ensureLinked for listed runtimes
ext/standard/JitRandomBytes.php — StringRandomBytes::ensureLinked before lookup (gap vs other Jit* owners)
- Update
TypeDead*StillEnsureLinks* guards for those ABIs to call-site ownership
- Unit shrink test peer
TypeDeadTypeInitializeLazyCryptoJsonRuntimeShrinkTest
Repro
./script/aot-smoke.sh
./script/docker-exec.sh -- bash -lc './script/cold-build-check.sh'
Done when
Category
php-in-php/ runtime-shrink · cold-build surface · peer #34327 / Trust #32122Problem
Type::initialize()on the non-STANDALONE path still eagerly NestedJITs openssl encrypt/sign/digest/pbkdf2, hash crypto (+ equals/algos), json encode/decode, libcrypt, password crypto/random_bytes, andStringRandomByteseven when the script never calls those builtins. Call sites alreadyensureLinkedbefore lookup (or need a one-lineJitRandomBytesensureLinked).php-src reference
ext/openssl— encrypt/decrypt, sign/verify, digest, pbkdf2ext/hash/hash.c— hash / hash_hmac / hash_equals / hash_*_algosext/json— json_encode / json_decodeext/standard/crypt.c/password.c/random.cPHP implementation target
lib/JIT/Builtin/Type.php— remove eager ensureLinked for listed runtimesext/standard/JitRandomBytes.php—StringRandomBytes::ensureLinkedbefore lookup (gap vs other Jit* owners)TypeDead*StillEnsureLinks*guards for those ABIs to call-site ownershipTypeDeadTypeInitializeLazyCryptoJsonRuntimeShrinkTestRepro
./script/aot-smoke.sh ./script/docker-exec.sh -- bash -lc './script/cold-build-check.sh'Done when
./script/aot-smoke.shstays 8/8runtime/*.c