Category
php-in-php · runtime-shrink (#1492, peer #32879 / #32882; trust class #32122)
Problem
Builtin\Type::register() still addFunctions empty always-on shells for __compiler_addcslashes and __compiler_stripcslashes on every JIT/AOT module. StringCslashes already owns those ABIs (getNamedFunction first + JitVmHelperLink::ensureBridge), but leftover Type empty decls can mint addcslashes.1 when Runtime ABI drift lands (#31894 / #32122 class).
php-src reference
PHP implementation target
lib/JIT/Builtin/Type.php — remove always-on addcslashes/stripcslashes rows; Type::initialize ensureLinkeds StringCslashes (and ensureStripcslashes / ensureStandaloneBodies as needed)
- Keep
StringCslashes / CslashesJitHelper; no new runtime/*.c
- Leave
__compiler_convert_uuencode Type rows alone (sentinel for peer shrink tests)
Repro
grep -n "__compiler_addcslashes\|__compiler_stripcslashes" lib/JIT/Builtin/Type.php
Done when
Parent
Category
php-in-php· runtime-shrink (#1492, peer #32879 / #32882; trust class #32122)Problem
Builtin\Type::register()stilladdFunctions empty always-on shells for__compiler_addcslashesand__compiler_stripcslasheson every JIT/AOT module.StringCslashesalready owns those ABIs (getNamedFunctionfirst +JitVmHelperLink::ensureBridge), but leftover Type empty decls can mintaddcslashes.1when Runtime ABI drift lands (#31894 / #32122 class).php-src reference
ext/standard/string.c—PHP_FUNCTION(addcslashes)/PHP_FUNCTION(stripcslashes)PHP implementation target
lib/JIT/Builtin/Type.php— remove always-on addcslashes/stripcslashes rows;Type::initializeensureLinkedsStringCslashes(andensureStripcslashes/ensureStandaloneBodiesas needed)StringCslashes/CslashesJitHelper; no newruntime/*.c__compiler_convert_uuencodeType rows alone (sentinel for peer shrink tests)Repro
grep -n "__compiler_addcslashes\|__compiler_stripcslashes" lib/JIT/Builtin/Type.phpDone when
./script/aot-smoke.shstays 8/8addcslashes/stripcslashesstill match ZendParent