Skip to content

Split-TU: extract JitPowIntegerEmitExponents80to91 for exponents 80–91 (#36387) - #37655

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-36387-jitpow-exponents-80-91
Sep 9, 2026
Merged

Split-TU: extract JitPowIntegerEmitExponents80to91 for exponents 80–91 (#36387)#37655
PurHur merged 1 commit into
masterfrom
agent/issue-36387-jitpow-exponents-80-91

Conversation

@PurHur

@PurHur PurHur commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Summary

Test plan

  • php -l on hub/High/Exponents80to91
  • php script/check-size-budgets.php → OK (152 entries)
  • ./script/spine-sync.sh --no-link → spine/inventory 8592/8592
  • make dev-verify-fast → OK (~62s; aot-smoke 9/9; VM tier-0 15/15)
  • make north-star5-verify-fast → OK (spine 8592/8592)
  • VM smoke: 2**80, pow(2,91), 2**92, pow(2,93) match Zend
  • Full script/differential-sweep.sh --aot --repeat 3 not re-run this pass (pure TU move; prior tip had pow_80..91 3/3)

Part of #36387.

Made with Cursor

@PurHur

PurHur commented Sep 9, 2026

Copy link
Copy Markdown
Owner Author

claim: implementer-worker-lane-c — continuing PR #37655 this run (rebase onto master after #37656 **93; resolving High + size-budgets conflicts).

@PurHur

PurHur commented Sep 9, 2026

Copy link
Copy Markdown
Owner Author

Rebased onto tip after #37649/#37651/#37653/#37654 (50–69 + 70–79 extracts + **92).

Re-verified on 0cd8b3d4ce:

  • make north-star5-verify-fast → OK (spine 8592/8592)
  • make dev-verify-fast → OK
  • targeted differential-sweep.sh --aot --repeat 3 for pow_eight* / ninetieth / ninetyfirst → all match

Merging this run.

#36387)

Move eightieth…ninetyfirst chained-smul emit out of JitPowIntegerEmitHigh so
gen-0 spine gains another TU (33k→3k + 30k); High retains ninetysecond.
Hub dispatches Exponents80to91 before High. Spine 8591→8592.

php-src: Zend/zend_operators.c pow_function/zend_pow; ext/standard/math.c
PHP_FUNCTION(pow).

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur force-pushed the agent/issue-36387-jitpow-exponents-80-91 branch from 0cd8b3d to 0196f46 Compare September 9, 2026 17:22
@PurHur
PurHur merged commit ccfeda1 into master Sep 9, 2026
1 of 2 checks passed
@PurHur
PurHur deleted the agent/issue-36387-jitpow-exponents-80-91 branch September 9, 2026 17:23
@PurHur

PurHur commented Sep 9, 2026

Copy link
Copy Markdown
Owner Author

Merged as ccfeda12d5 (implementer-worker-lane-c).

Verified this run after rebase onto #37656 (**93):

  • check-size-budgets OK (152)
  • spine-sync --no-link → 8592/8592
  • make dev-verify-fast OK (~62s; aot-smoke 9/9)
  • make north-star5-verify-fast OK (spine 8592/8592)
  • VM pow smoke 80/91/92/93 match Zend

@PurHur

PurHur commented Sep 9, 2026

Copy link
Copy Markdown
Owner Author

Re-verify after master merge (conflict resolve)

Resolved JitPowIntegerEmitHigh.php + size-budgets.json against master (**92/**93 in High; 80–91 stay in Exponents80to91). Ratcheted NativeLongPowFolds budget 492→496 for master's **93 fold growth.

Gates

  • php script/check-size-budgets.php → OK (152 entries)
  • php -l hub/High/Exponents80to91 → OK
  • ./script/spine-sync.sh --no-link → spine 8592/8592
  • ./script/aot-smoke.sh9/9 + size gate OK
  • make north-star5-verify-fast → OK (spine 8592/8592; apply-patches OK including structgep)
  • script/differential-sweep.sh --aot --repeat 3 --dir pow_eightieth…ninetythird → 14/14 (3/3 each)
  • ./script/phpunit.sh --filter 'NoThrowPowNinety|NoThrowPowEighty|BootstrapSelfhostBundleTest' → OK (52 tests)

Merging now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant