Skip to content

chore: extract 10 oversized dispatch arms (ILO-408 partial)#718

Merged
danieljohnmorris merged 1 commit into
mainfrom
chore/extract-dispatch-arms-batch2
May 22, 2026
Merged

chore: extract 10 oversized dispatch arms (ILO-408 partial)#718
danieljohnmorris merged 1 commit into
mainfrom
chore/extract-dispatch-arms-batch2

Conversation

@danieljohnmorris
Copy link
Copy Markdown
Collaborator

Summary

  • Extracts the 10 largest inline arms from call_function into #[inline(never)] helper functions, reducing the debug-build stack frame to prevent stack-overflow on deep-recursion tests
  • Arms extracted: Post (207→1 lines), Chunks (139→9), Ewm (104→10), Cap/Padl/Padr (101→6), Wr (86→1), Clamp+family (80→8), Flt (78→22), Fmt (77→1), Grp (56→17), Uniqby (56→17)
  • Also splits matches!-based multi-verb HTTP clusters (Put/Pat, Del/Hed/Opt) and rolling-window reducers (Rsum/Ravg/Rmin) into explicit per-verb if builtin == guards so check-dispatch-arms can measure them individually
  • Helpers added: clamp_run, chunks_run, ewm_run, cap_run, padl_padr_run, wr_run, fmt_run, flt_run, grp_run, uniqby_run, post_run, put_pat_run, del_hed_opt_run, rolling_window_run, argmax_argmin_run, setops_run
  • Oversized arms: 38 → 28 (down 10). All 3373 lib tests pass.

Closes / partially addresses ILO-408.

Test plan

  • cargo build succeeds
  • cargo test --lib — 3373 passed, 0 failed
  • ./scripts/check-dispatch-arms.sh --threshold 40 — 38 → 28 failures

🤖 Generated with Claude Code

…ial)

Extracts the 10 largest inline arms from call_function into
#[inline(never)] helper functions to keep the debug-build stack frame
small and prevent stack-overflow on deep-recursion tests.

Arms extracted: Post (207→1 lines), Chunks (139→9), Ewm (104→10),
Cap/Padl/Padr (101→6), Wr (86→1), Clamp/Min/Max/Argmax/Argmin (80→8),
Flt (78→22), Fmt (77→1), Grp (56→17), Uniqby (56→17).

Also splits `matches!`-based multi-verb HTTP clusters (Put/Pat,
Del/Hed/Opt) and rolling-window reducers (Rsum/Ravg/Rmin) into
explicit per-verb `if builtin ==` guards so the check-dispatch-arms
script can measure each arm individually.

Helpers added: clamp_run, chunks_run, ewm_run, cap_run, padl_padr_run,
wr_run, fmt_run, flt_run, grp_run, uniqby_run, post_run, put_pat_run,
del_hed_opt_run, rolling_window_run, argmax_argmin_run, setops_run.

Oversized arms reduced from 38 → 28. All 3373 lib tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@danieljohnmorris danieljohnmorris added the mini Created by mini PC autonomous workflow label May 22, 2026
@danieljohnmorris danieljohnmorris merged commit 7b4def9 into main May 22, 2026
9 of 10 checks passed
@danieljohnmorris danieljohnmorris deleted the chore/extract-dispatch-arms-batch2 branch May 22, 2026 08:59
@codecov
Copy link
Copy Markdown

codecov Bot commented May 22, 2026

Codecov Report

❌ Patch coverage is 51.00592% with 414 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/interpreter/mod.rs 51.00% 414 Missing ⚠️

📢 Thoughts on this report? Let us know!

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

Labels

mini Created by mini PC autonomous workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant