Skip to content

[pull] master from ruby:master#830

Merged
pull[bot] merged 3 commits intoturkdevops:masterfrom
ruby:master
Mar 6, 2026
Merged

[pull] master from ruby:master#830
pull[bot] merged 3 commits intoturkdevops:masterfrom
ruby:master

Conversation

@pull
Copy link

@pull pull bot commented Mar 6, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

swebb and others added 3 commits March 6, 2026 12:27
ZJIT: Constant fold modulus (%) operations (#16168)

Similar to the way ZJIT already folds +, -, and * operations. One
complication is that the / operator behaves differently in Ruby than in
Rust for negative values. For example in Ruby:

```
ruby -e "puts 7 / -3" # => -3
```

vs Rust:

```
println!("{}", 7 / -3); // => -2
```

My solution is to pass this through to cruby rb_fix_div_fix to do the
calculation for us.
## Runtime Counters on lobsters (before/after Jacob's load-store opt)

| Stat | Before | After | Delta |
|------|--------|-------|-------|
| load_field_count | 110,410,542 | 106,547,275 | -3,863,267 (-3.5%) |
| store_field_count | 9,196,747 | 9,196,759 | ~unchanged |
| guard_shape_count | 31,973,410 | 29,743,901 | -2,229,509 (-7.0%) |
Introduce PM_TOKEN_KEYWORD_DO_BLOCK to distinguish do-blocks on
command-style calls from regular `do` keywords. Add
parse_command_do_block to attach these blocks to call nodes. Track
in_endless_def_body to prevent do-block consumption inside endless
method definitions, allowing blocks to correctly bubble up to outer
contexts like `private def f = puts "Hello" do end`.

ruby/prism@7d17fd254b
@pull pull bot locked and limited conversation to collaborators Mar 6, 2026
@pull pull bot added the ⤵️ pull label Mar 6, 2026
@pull pull bot merged commit 9ecac8d into turkdevops:master Mar 6, 2026
1 of 2 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants