[#122643] [Ruby Bug#21498] Windows - Ruby Overrides C Library APIs thus breaking them — "cfis (Charlie Savage) via ruby-core" <ruby-core@...>

Issue #21498 has been reported by cfis (Charlie Savage).

9 messages 2025/07/02

[#122658] [Ruby Feature#21501] Include native filenames in backtraces as sources for native methods — "ivoanjo (Ivo Anjo) via ruby-core" <ruby-core@...>

Issue #21501 has been reported by ivoanjo (Ivo Anjo).

10 messages 2025/07/05

[#122665] [Ruby Bug#21503] \p{Word} does not match on \p{Join_Control} while docs say it does — "procmarco (Marco Concetto Rudilosso) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxNTAzIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IHByb2NtYXJjbyAoTWFyY28gQ29uY2V0

8 messages 2025/07/07

[#122734] [Ruby Bug#21511] Use-after-free of the execution context after the fiber object carrying it is freed in GC — "tuonigou (tianyang sun) via ruby-core" <ruby-core@...>

Issue #21511 has been reported by tuonigou (tianyang sun).

10 messages 2025/07/14

[#122797] [Ruby Feature#21515] Add `&return` as sugar for `x=my_calculation; return x if x` — "nhorton (Noah Horton) via ruby-core" <ruby-core@...>

Issue #21515 has been reported by nhorton (Noah Horton).

13 messages 2025/07/16

[#122842] [Ruby Feature#21518] Statistical helpers to `Enumerable` — "Amitleshed (Amit Leshed) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxNTE4IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IEFtaXRsZXNoZWQgKEFtaXQgTGVzaGVk

12 messages 2025/07/23

[#122847] [Ruby Feature#21520] Feature Proposal: Enumerator::Lazy#peek — "nuzair46 (Nuzair Rasheed) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxNTIwIGhhcyBiZWVuIHJlcG9ydGVkIGJ5IG51emFpcjQ2IChOdXphaXIgUmFzaGVl

12 messages 2025/07/24

[ruby-core:122713] [Ruby Bug#21452] ARGS_SPLAT bytecode regression between 3.3 and 3.4

From: "matz (Yukihiro Matsumoto) via ruby-core" <ruby-core@...>
Date: 2025-07-10 08:53:28 UTC
List: ruby-core #122713
Issue #21452 has been updated by matz (Yukihiro Matsumoto).

Status changed from Open to Rejected

I agree with @jeremyevans0 here. I consider this as an optimization.

Matz.


----------------------------------------
Bug #21452: ARGS_SPLAT bytecode regression between 3.3 and 3.4
https://bugs.ruby-lang.org/issues/21452#change-113990

* Author: tekknolagi (Maxwell Bernstein)
* Status: Rejected
* ruby -v: ruby 3.4.3 (2025-04-14 revision d0b7e5b6a0) +PRISM [arm64-darwin24]
* Backport: 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN
----------------------------------------
On Ruby 3.3, `f(1, 2, *[3, 4])` splats all arguments to the stack and uses `ARGS_SIMPLE`:

```
plum% ruby --version
ruby 3.3.2 (2024-05-30 revision e5a195edf6) [arm64-darwin24]
plum% ruby --dump=insns -e 'f(1, 2, *[3, 4])'
== disasm: #<ISeq:<main>@-e:1 (1,0)-(1,16)>
0000 putself                                                          (   1)[Li]
0001 putobject_INT2FIX_1_
0002 putobject                              2
0004 putobject                              3
0006 putobject                              4
0008 opt_send_without_block                 <calldata!mid:f, argc:4, FCALL|ARGS_SIMPLE>
0010 leave
plum%
```

On Ruby 3.4, the same expression results in creating a new array and using `ARGS_SPLAT`:

```
plum% ruby --version
ruby 3.4.3 (2025-04-14 revision d0b7e5b6a0) +PRISM [arm64-darwin24]
plum% ruby --dump=insns -e 'f(1, 2, *[3, 4])'
== disasm: #<ISeq:<main>@-e:1 (1,0)-(1,16)>
0000 putself                                                          (   1)[Li]
0001 putobject_INT2FIX_1_
0002 putobject                              2
0004 duparray                               [3, 4]
0006 opt_send_without_block                 <calldata!mid:f, argc:3, ARGS_SPLAT|FCALL>
0008 leave
plum%
```

I think we should keep the behavior of 3.3.



-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread

Prev Next