You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
php-in-php: JIT Builtin\Type.php — shrink ~1.4k-line zval type LLVM monolith via VmValue PHP helpers (#1492) #9976
lib/JIT/Builtin/Type.php (~1.4k lines) is the root LLVM type registry for zval/string/object/hashtable lowering. It fans out to Type/Object_.php (~5.8k lines, #9938) and embeds substantial refcount/boxing logic duplicated from VM paths.
Per #1492 PHP-in-PHP strategy: zval type tests, boxing, and coercion should route through shared PHP helpers (VmValue, Variable JIT bridges) with LLVM emitting thin trampolines only.
Activity
PurHur commentedon Jun 25, 2026
claim: PHP Runtime → PHP — batch slice: JitFloatCompare/JitResourceIdString/JitPowNumericOperandGuard → lib/VM/ SSOT (compare operand helpers; Type.php monolith deferred).
php-in-php: route JIT operand helpers through lib/VM SSOT (#9976) (#1…
PurHur commentedon Jun 25, 2026
Merged operand-helper slice via #11663.
LLVM shrink: JitFloatCompare 88→30, JitResourceIdString 82→21, JitPowNumericOperandGuard 135→20 (trampolines); SSOT in lib/VM/VmFloatCompare.php, VmResourceIdString.php, VmPowNumericOperandGuard.php.
Verification: JitOperandHelpersRuntimeShrinkTest + nan_relational_compare compliance OK; spine sync + bootstrap-selfhost-vm-driver-execute-probe OK.
Remaining on #9976: lib/JIT/Builtin/Type.php (~1.4k lines) + Type/* monolith shrink (≥60% target).
PurHur commentedon Jun 25, 2026
claim: PHP Runtime → PHP — batch (issues #9976, #9570): VmNumericDivisionGuard, VmEnumNumericOperandGuard, VmUnaryPlus/Minus operand LLVM shrink
php-in-php: route JIT operand guards through Vm* PHP SSOT (#9976) (#1…
PurHur commentedon Jun 25, 2026
Merged #11671 — VmNumericDivisionGuard, VmEnumNumericOperandGuard, VmUnaryPlus/Minus + JIT trampolines. Verification: JitOperandHelpersRuntimeShrinkTest (14), division/unary/enum filter (28), bootstrap-selfhost-vm-driver-execute-probe OK.