Skip to content

bench: fix the two wasm jitstats diffs #1960 landed with - #1971

Merged
youknowone merged 1 commit into
mainfrom
wasm-jit
Sep 26, 2026
Merged

youknowone merged 1 commit into
mainfrom
wasm-jit

Conversation

@youknowone

@youknowone youknowone commented Sep 26, 2026 •

Copy link
Copy Markdown
Owner

#1960 merged with two wasm snapshot diffs on its ubuntu pyre/check.py dynasm job (which also runs the wasm backend); main has carried them since.

  • pickle_terminal_raise_resume: wasm now reads loops_compiled=24, loops_aborted=4, guard_failures=139 on ubuntu-24.04 and darwin-arm64, identical to the native baseline, so the wasm overlay is deleted.
  • gc_pypy_frontend: guard_failures counts GuardClass failures over gc.get_rpy_roots(), a per-runner root-population figure under the fixture's jitstats-band=guard_failures=8. The wasm run reads 375 (ubuntu) / 377 (darwin) after wasm: dead frame, guard cells and residual-call signatures on their upstream owners #1960, 331 before; loops_compiled/bridges_compiled are unchanged. The overlay takes the ubuntu reading.

More wasm backend orthodoxy work (propagate-exception exit reader, CALL_RELEASE_GIL errno, stack check, label targets on the token) will be stacked on this branch.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated benchmark reporting data: one benchmark records a higher guard-failure count, while another no longer includes JIT statistics. No changes to end-user features or application behavior are described.

…frontend's wasm overlay

#1960 landed with two wasm snapshot diffs on its ubuntu check.py job.

pickle_terminal_raise_resume on wasm reads loops_compiled=24,
loops_aborted=4, guard_failures=139 on ubuntu-24.04 and darwin-arm64,
which is the native baseline, so the wasm overlay is deleted.

gc_pypy_frontend's guard_failures counts GuardClass failures over the
gc.get_rpy_roots() list, which the fixture header documents as a
per-runner root-population figure under a band of 8. After #1960 the wasm
run reads 375 on ubuntu-24.04 and 377 on darwin-arm64 (331 before);
loops_compiled=2 and bridges_compiled=1 are unchanged. The overlay takes
the ubuntu reading.

Assisted-by: Claude Opus 5.5
@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: f17d4d12-0aad-4b1d-a75b-331c604586b2

📥 Commits

Reviewing files that changed from the base of the PR and between 17c8884 and 7f0aa78.

📒 Files selected for processing (2)
  • pyre/bench/synth/gc_pypy_frontend.wasm.jitstats
  • pyre/bench/synth/pickle_terminal_raise_resume.wasm.jitstats
💤 Files with no reviewable changes (1)
  • pyre/bench/synth/pickle_terminal_raise_resume.wasm.jitstats

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 0 remain after this review.


Walkthrough

Two synthesized benchmark JIT statistics files changed. One guard_failures value increased from 331 to 375. The other file’s recorded JIT statistics were removed.

Changes

Synthesized benchmark statistics

Layer / File(s) Summary
Update benchmark statistics snapshots
pyre/bench/synth/gc_pypy_frontend.wasm.jitstats, pyre/bench/synth/pickle_terminal_raise_resume.wasm.jitstats
The gc_pypy_frontend snapshot records 375 guard failures instead of 331. The pickle_terminal_raise_resume file no longer contains its recorded JIT statistics.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Merge Risk: 🟡 Moderate · up to 7f0aa

The required Linux wasm benchmark job now compares this fixture against native JIT stats after its wasm snapshot was deleted. The last wasm snapshot differs on unbanded counters, including one classified as a regression if those readings persist; verify the current wasm baseline before merging.

Architecture Summary

Architecture risk: 🔵 Low · up to 7f0aa

The change affects 1 system.

Changed systems: pyre

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — pyre (service) was modified; 2 changed files map to changed impact.

Before / after behavior

  • observed — Modified behavior in pyre/bench/synth/gc_pypy_frontend.wasm.jitstats: The recorded guard_failures value changed from 331 to 375.
  • observed — Modified behavior in pyre/bench/synth/pickle_terminal_raise_resume.wasm.jitstats: Removed all recorded JIT statistics, including compile and retrace counts, guard failures, loop counts, and fallback and rollback counters.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the benchmark JIT-stat snapshot fixes and matches the two changed wasm files. It is concise and related to the main change, although the phrase "#1960 landed with" is slig…
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the figures bright
One guard count hops up in flight
A stats page clears its rows away
The benchmark notes are changed today
Then off I bound through clover green

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

🤖 Codex parity review

Static analysis of this diff vs the local RPython/PyPy sources (commit 7f0aa78).
Updated: 2026-09-26T06:47:23.844Z

The diff against the review base changes only generated jit-stats baselines (2 file(s)); nothing to review.

@codspeed

codspeed Bot commented Sep 26, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 10 untouched benchmarks
⏩ 6 skipped benchmarks1


Comparing wasm-jit (7f0aa78) with main (17c8884)

Open in CodSpeed

Footnotes

  1. 6 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@youknowone
youknowone merged commit f84adc2 into main Sep 26, 2026
17 of 19 checks passed
@youknowone
youknowone deleted the wasm-jit branch September 26, 2026 09:57
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