Category
php-in-php · Trust / #32122-class leftover Type always-on ABI shell
Problem
After #33237 dropped __compiler_assert_fail, Builtin\Type still always-on addFunction/registerFunction for __compiler_assert_fail_string. Leftover empty Type decls vs Runtime ABI drift mint assert_fail_string.1 (#31894 / #32122). Sentinel after #33237.
| Path |
Owner today |
__compiler_assert_fail |
AssertFail module-local (#33237) |
__compiler_assert_fail_string |
still Type always-on |
php-src reference
PHP implementation target
lib/JIT/Builtin/AssertFail.php — declare __compiler_assert_fail_string module-locally (getNamedFunction first, then addFunction if absent)
lib/JIT/Builtin/Type.php — remove always-on empty decl; keep AssertFail::ensureLinked
ext/standard/JitAssert.php — ensureLinked before lookup (already)
- No new
runtime/*.c
Repro / gate
./script/phpunit.sh --filter TypeDeadAssertFailStringAbiRuntimeShrinkTest
./script/aot-smoke.sh
Done when
Category
php-in-php· Trust / #32122-class leftover Type always-on ABI shellProblem
After #33237 dropped
__compiler_assert_fail,Builtin\Typestill always-onaddFunction/registerFunctionfor__compiler_assert_fail_string. Leftover empty Type decls vs Runtime ABI drift mintassert_fail_string.1(#31894 / #32122). Sentinel after #33237.__compiler_assert_failAssertFailmodule-local (#33237)__compiler_assert_fail_stringphp-src reference
ext/standard/assert.c— assert() failure / string description pathPHP implementation target
lib/JIT/Builtin/AssertFail.php— declare__compiler_assert_fail_stringmodule-locally (getNamedFunctionfirst, thenaddFunctionif absent)lib/JIT/Builtin/Type.php— remove always-on empty decl; keepAssertFail::ensureLinkedext/standard/JitAssert.php— ensureLinked before lookup (already)runtime/*.cRepro / gate
Done when
__compiler_assert_fail_stringadd/register