Category
php-in-php · Trust / #32122-class leftover Type always-on ABI shell
Problem
After #33245 dropped __compiler_assert_options, Builtin\Type still always-on addFunction/registerFunction for __compiler_undefined_array_key_warning_cstr / __compiler_undefined_array_key_warning_long. Leftover empty Type decls vs Runtime ABI drift mint undefined_array_key_warning_*.1 (#31894 / #32122). Sentinel after #33245.
| Path |
Owner today |
__compiler_trigger_error |
StringTriggerError / JitTriggerErrorKernel (#33234) |
__compiler_undefined_array_key_warning_* |
still Type always-on; kernel fills body if Type already declared |
php-src reference
PHP implementation target
ext/standard/JitTriggerErrorKernel.php — declare both undef-key ABIs module-locally (getNamedFunction first); ensure bridges even when trigger_error body already present
lib/JIT/Builtin/Type.php — remove always-on empty decls; keep StringTriggerError::ensureLinked
lib/JIT/Builtin/StringTriggerError.php / StringTriggerErrorJit.php — ownership markers
- No new
runtime/*.c
Repro / gate
./script/phpunit.sh --filter TypeDeadUndefinedArrayKeyAbiRuntimeShrinkTest
./script/aot-smoke.sh
Done when
Category
php-in-php· Trust / #32122-class leftover Type always-on ABI shellProblem
After #33245 dropped
__compiler_assert_options,Builtin\Typestill always-onaddFunction/registerFunctionfor__compiler_undefined_array_key_warning_cstr/__compiler_undefined_array_key_warning_long. Leftover empty Type decls vs Runtime ABI drift mintundefined_array_key_warning_*.1(#31894 / #32122). Sentinel after #33245.__compiler_trigger_errorStringTriggerError/JitTriggerErrorKernel(#33234)__compiler_undefined_array_key_warning_*php-src reference
Zend/zend_execute.c— undefined array key warning pathZend/zend_execute_API.c—php_error_cb/ user error pathPHP implementation target
ext/standard/JitTriggerErrorKernel.php— declare both undef-key ABIs module-locally (getNamedFunctionfirst); ensure bridges even when trigger_error body already presentlib/JIT/Builtin/Type.php— remove always-on empty decls; keepStringTriggerError::ensureLinkedlib/JIT/Builtin/StringTriggerError.php/StringTriggerErrorJit.php— ownership markersruntime/*.cRepro / gate
Done when
__compiler_undefined_array_key_warning_*add/register