Category
php-in-php · trust / ABI drift · leftover of #32122 class
Problem
Builtin\Type::register still always-on addFunctions empty __compiler_sprintf / __compiler_printf / __compiler_number_format decls. NestedJIT/AOT bodies are owned by StringFormat (getNamedFunction first, then addFunction if absent; thin AOT already calls implementIfDeclared from JitSprintf / JitPrintf / JitNumberFormat). Leftover Type empty decls risk name.1 vs Runtime ABI drift (#31894 / #32122) — same class as #32897 json / #32902 xmlrpc. These symbols sit on the float→string path (#31963).
php-src reference
PHP implementation target
lib/JIT/Builtin/Type.php — drop always-on format ABI shells; Type::initialize ensureLinkeds StringFormat
- Keep ownership in
lib/JIT/Builtin/StringFormat.php + ext/standard/SprintfJitHelper.php
Done when
Parent
Category
php-in-php· trust / ABI drift · leftover of #32122 classProblem
Builtin\Type::registerstill always-onaddFunctions empty__compiler_sprintf/__compiler_printf/__compiler_number_formatdecls. NestedJIT/AOT bodies are owned byStringFormat(getNamedFunctionfirst, thenaddFunctionif absent; thin AOT already callsimplementIfDeclaredfromJitSprintf/JitPrintf/JitNumberFormat). Leftover Type empty decls riskname.1vs Runtime ABI drift (#31894 / #32122) — same class as #32897 json / #32902 xmlrpc. These symbols sit on the float→string path (#31963).php-src reference
ext/standard/formatted_print.c—PHP_FUNCTION(sprintf)/printf/number_formatPHP implementation target
lib/JIT/Builtin/Type.php— drop always-on format ABI shells;Type::initializeensureLinkedsStringFormatlib/JIT/Builtin/StringFormat.php+ext/standard/SprintfJitHelper.phpDone when
addFunctions__compiler_sprintf/__compiler_printf/__compiler_number_formatsprintf/printf/number_formatstill match Zend./script/aot-smoke.shstays 8/8TypeDeadXmlrpcAbiRuntimeShrinkTest)Parent