83249 Commits

Author SHA1 Message Date
Hiroshi SHIBATA
3de2ab7fdb [ruby/yaml] Make PStore support as optional
https://github.com/ruby/yaml/commit/da421ce46f
2024-01-31 05:56:39 +00:00
Hiroshi SHIBATA
7c8f9603b1 [flori/json] Make OpenStruct support as optional
https://github.com/flori/json/commit/202ffe2335
2024-01-31 14:56:00 +09:00
S.H
f3df218f48
Introduced rb_node_const_decl_val function
Introduce `rb_node_const_decl_val` function to allow `rb_ary_join` and
`rb_ary_reverse` functions to be removed from Universal Parser.
2024-01-31 13:31:38 +09:00
Matt Valentine-House
8041b7d967 [PRISM] pm_compile_logical: Fix OrNode in IfNode predicate
Fixes: https://github.com/ruby/prism/issues/2294
2024-01-30 22:22:39 +00:00
Matt Valentine-House
1142ed2f50 [PRISM] Remove unneccessary uses of cond_seq
As this is compiled into only on the recursive call and then added, we
can just use `ret` directly
2024-01-30 22:22:39 +00:00
Peter Zhu
dddef93bbd Fix memory leak in File.expand_path
File.expand_path leaks the dir if the encodings are not compatible.

For example:

    Encoding.default_external = Encoding::UTF_16BE

    10.times do
      100_000.times do
        File.expand_path("./a")
      rescue
      end

      puts `ps -o rss= -p #{$$}`
    end

Before:

    12288
    15488
    18656
    21872
    25056
    28240
    31392
    34688
    37856
    41056

After:

    9680
    9728
    9728
    9792
    9792
    9792
    9792
    9792
    9792
2024-01-30 16:43:44 -05:00
Takashi Kokubun
c1f8d974a8
YJIT: Specialize splatkw on T_HASH (#9764)
* YJIT: Specialize splatkw on T_HASH

* Fix a typo

Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

* Fix a few more comments

---------

Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
2024-01-30 14:59:53 -05:00
Maxime Chevalier-Boisvert
fe5590e464
YJIT: add specialized codegen for fixnum XOR (#9763) 2024-01-30 14:57:13 -05:00
Kevin Newton
731367d0ab [ruby/prism] Fix up CI
https://github.com/ruby/prism/commit/224ea85565
2024-01-30 18:45:19 +00:00
Aaron Patterson
8e708e4a07 Update forwarding locals for prism 2024-01-30 13:19:06 -05:00
Takashi Kokubun
6b350bc6e4 [DOC] Note about the ticket number 2024-01-30 09:54:04 -08:00
Takashi Kokubun
1891b4b6c3 [DOC] Add a NEWS entry about Array#each
in response to [Bug #20227]
2024-01-30 09:49:27 -08:00
Jeremy Evans
20732cadfd Make compile_array first_chunk argument bool instead of int 2024-01-30 08:47:48 -08:00
Jeremy Evans
332e0db675 Avoid unnecessary array allocation for ARGSCAT with LIST body
Previously, this would use newarray followed by concattoarray.
This now uses pushtoarray instead, avoiding the unnecessary
array allocation.

This is implemented by making compile_array take a first_chunk
argument, passing in 1 in the normal array case, and 0 in the
ARGSCAT with LIST body case.
2024-01-30 08:47:48 -08:00
Kevin Newton
ba06a8259a [ruby/prism] Better error messages for unexpected tokens in prefix
https://github.com/ruby/prism/commit/a35b8e45ee
2024-01-30 16:10:08 +00:00
Peter Zhu
c85e28d12a [PRISM] Remove unused variable 2024-01-30 10:29:11 -05:00
Jun Aruga
846f87ee0a .travis.yml: Drop s390x temporarily.
The s390x pipelines are timeout (50 minutes) on both master and ruby_3_3
branches. Drop it temporarily.

* https://app.travis-ci.com/github/ruby/ruby/builds/268617296
* https://app.travis-ci.com/github/ruby/ruby/builds/268615249
2024-01-30 16:22:05 +01:00
Nobuyoshi Nakada
4e72c9af87
rbinstall.rb: Fix a closing parenthesis [ci skip] 2024-01-30 23:45:43 +09:00
yui-knk
928f388415 [DOC] Fix Ripper DSL input example
'!' suffix is needed for event dispatch.
2024-01-30 22:49:22 +09:00
Nobuyoshi Nakada
64fa4c7587
rbinstall.rb: Show types to install in the help [ci skip] 2024-01-30 22:36:47 +09:00
tomoya ishida
fd44b42fb3 [ruby/irb] Fix undef and alias indent
(https://github.com/ruby/irb/pull/838)

https://github.com/ruby/irb/commit/a641746b18
2024-01-30 12:55:47 +00:00
Yusuke Endoh
f73ae05819 Prefer sa_handler to sa_sigaction in Wasm
Previously the code assigns `handler` function pointer, which accepts
one argument, to `sigact.sa_sigaction`, which accepts three argument.
This mismatch is not allowed in Wasm.

I don't see the reason to use `sa_sigaction` here, so this change
assigns to `sa_handler`, which accepts one argument, in Wasm.
2024-01-30 21:18:48 +09:00
Nobuyoshi Nakada
86547fd69d
[ruby/io-console] Move the condition to omit to command line option
https://github.com/ruby/io-console/commit/32583460e1
2024-01-30 19:19:23 +09:00
Nobuyoshi Nakada
c2cb5b4463
[ruby/io-console] Move the condition to omit outside the method
https://github.com/ruby/io-console/commit/8b9b5b611a
2024-01-30 19:19:23 +09:00
Hiroshi SHIBATA
2f54422d03 [rubygems/rubygems] Update namespace Gem::Resolver::Molinillo to Gem::Molinillo
https://github.com/rubygems/rubygems/commit/6c4caf3ab0
2024-01-30 09:26:54 +00:00
Hiroshi SHIBATA
b31995d882 [rubygems/rubygems] Rename molinillo wrapper file to vendored_molinillo.rb
https://github.com/rubygems/rubygems/commit/d7c15f6fd7
2024-01-30 09:26:54 +00:00
Nobuyoshi Nakada
361b3efe16
Use UNDEF_P 2024-01-30 14:48:59 +09:00
Hiroshi SHIBATA
03246171cc
Move molinillo under the vendor directory 2024-01-30 14:07:51 +09:00
Hiroshi SHIBATA
dfa8e696f2
Move tsort under the vendor directory 2024-01-30 14:07:18 +09:00
Hiroshi SHIBATA
881e76cef3
Move timeout under the vendor directory 2024-01-30 14:06:38 +09:00
Hiroshi SHIBATA
04dbdc81d1
Move net-http under the vendor directory 2024-01-30 14:05:59 +09:00
Hiroshi SHIBATA
6933aee9eb
Move net-protocol under the vendor directory 2024-01-30 14:05:07 +09:00
Hiroshi SHIBATA
898090ada1
Move optparse under the vendor directory 2024-01-30 14:03:52 +09:00
Hiroshi SHIBATA
5a0302d222
Move resolv under the vendor directory 2024-01-30 14:01:59 +09:00
Hiroshi SHIBATA
d187e06dc7 [rubygems/rubygems] Load wrapper file for vendored timeout
https://github.com/rubygems/rubygems/commit/deb1b6d293
2024-01-30 13:02:32 +09:00
Kevin Newton
83966a57fe [PRISM] Method location for calls 2024-01-29 22:22:30 -05:00
Alan Wu
db5d9429a0 YJIT: No need to RESTORE_REG now that we reject tailcalls
Thanks to Kokubun for noticing.

Follow-up: b0711b1cf152afad0a480ee2f9bedd142a0d24ac
2024-01-29 22:19:25 -05:00
Peter Zhu
bbb7ab906e [PRISM] Fix crash when multiple underscores
Fixes ruby/prism#2295.
2024-01-29 17:15:33 -05:00
Alan Wu
4cf3c026de Fix RegExp warning causing flaky Ripper failure
Sometimes this file get picked up and break Ripper tests:

    TestRipper::Generic#test_parse_files:test/ruby
    assert_separately failed with error message
    pid 63392 exit 0
    | test_regexp.rb:2025: warning: character class has duplicated range

https://github.com/ruby/ruby/actions/runs/7699956651/job/20982702553#step:12:103
2024-01-29 17:11:08 -05:00
Kevin Newton
2d6f7d0864 Fix test/ruby/test_rubyoptions.rb + --parser=prism 2024-01-29 17:05:23 -05:00
Kevin Newton
3fb741069d [PRISM] Fix rescue frame label 2024-01-29 16:38:11 -05:00
Peter Zhu
8e1fe15b4a [PRISM] Implement opt_str_uminus 2024-01-29 16:34:25 -05:00
Maxime Chevalier-Boisvert
bc10b958d2
YJIT: print warning when disasm options used without a dev build (#9744)
* YJIT: print warning when disasm options used without a dev build

I was confused for a few minutes the other way then
--yjit-dump-disasm printed nothing, so I figured this would be
useful for end-users (and future me).

* Fix lone extraneous space
2024-01-29 16:17:12 -05:00
Peter Zhu
32bbf47500 [PRISM] Use opt_str_freeze instruction
Fixes ruby/prism#2290.
2024-01-29 14:53:34 -05:00
Matt Valentine-House
d7501c4031 [PRISM] Fix InterpolatedStringNode
If the first element of an interpolated string node is an embedded
statement, CRuby "pre-initializes" the interpolation with a string of
known encoding to concat into.

This patch replicates thate behaviour in Prism
2024-01-29 19:13:53 +00:00
Peter Zhu
3d3d9e8397 [PRISM] Support US-ASCII symbols 2024-01-29 13:56:54 -05:00
Peter Zhu
d980c89273 [PRISM] Support ASCII-8BIT symbols 2024-01-29 13:56:54 -05:00
Peter Zhu
f634c7a268 [PRISM] Support UTF-8 symbols
Fixes ruby/prism#2242.
2024-01-29 13:56:54 -05:00
Kevin Newton
d39d9e066f [ruby/prism] Fix binding power for modifier rescue
https://github.com/ruby/prism/commit/f614863d79
2024-01-29 18:42:47 +00:00
Takashi Kokubun
1005b7d29f Revert "Provisionally ignore panics that happen in these days often"
This reverts commit e0f4c4e410a0e4c6cda67e9000696c8f1f01d8aa.

We expect https://github.com/ruby/ruby/pull/9729 to address the failure.
2024-01-29 09:23:39 -08:00