Граф коммитов

83226 Коммитов

Автор SHA1 Сообщение Дата
Samuel Williams 2554c5d3b8
Don't wait in `io_binwrite_string` if not necessary. (#9792) 2024-02-01 15:27:44 +13:00
KJ Tsanaktsidis da33c5ac9f Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns"
This reverts commit 673ed41c81cf5a6951bcb2c3dec82d7bd6ea7440.
2024-02-01 11:09:54 +11:00
KJ Tsanaktsidis 67404d657a Revert "always omit test_ai_addrconfig."
This reverts commit abf192eb16.
2024-02-01 11:09:54 +11:00
Stan Lo 6a689e3323 [ruby/irb] Omit 2 encoding error related tests for TruffleRuby
(https://github.com/ruby/irb/pull/854)

They're failing due to an issue in Prism: https://github.com/ruby/prism/issues/2129

So we need to skip them until:
- The issue is fixed in Prism
- TruffleRuby is updated to a version of Prism that includes the fix

https://github.com/ruby/irb/commit/bfafaa5fbc
2024-01-31 23:44:15 +00:00
Benoit Daloze 9fdfdf4fca [ruby/prism] Always return the character width for char_is_identifier_start() and char_is_identifier_utf8()
* This is also faster than calling pm_encoding_utf_8_alpha_char/pm_encoding_utf_8_alnum_char
  as those compute the character width and do extra checks.

https://github.com/ruby/prism/commit/4cb276ac4c
2024-01-31 21:29:16 +00:00
Kevin Newton b5a2c60d0a [PRISM] Support SCRIPT_LINES__ 2024-01-31 15:49:32 -05:00
Jeremy Evans c469799126 Do not modify provided argument splat when using ruby2_keywords with anonymous splat
Previously, this would push the provided keywords onto the argument
splat.  Add ruby2_keywords to the list of other checks for whether
it is safe for treating a given splat as mutable when the called
method accepts an anonymous splat.
2024-01-31 12:44:38 -08:00
Kevin Newton 71f16d498d Raise errors for dumping prism parse tree 2024-01-31 14:54:39 -05:00
Kevin Newton b4880af0e2 [PRISM] Fix test_bug_reporter with prism 2024-01-31 14:20:51 -05:00
Peter Zhu cb98b018c0 [PRISM] Fix else with rescue
Fixes ruby/prism#2307.
2024-01-31 14:11:14 -05:00
David Rodriguez 95c9711d6e [rubygems/rubygems] Fix musl platform not being added to the lockfile
https://github.com/rubygems/rubygems/commit/235f7b4266
2024-01-31 19:07:39 +00:00
Étienne Barrié c28ee91263 [PRISM] Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat
This copies the changes from 771a2f039b.
Fixes ruby/prism#2310.
2024-01-31 13:41:49 -05:00
Kevin Newton 610636fd6b [PRISM] Mirror iseq APIs
Before this commit, we were mixing a lot of concerns with the prism
compile between RubyVM::InstructionSequence and the general entry
points to the prism parser/compiler.

This commit makes all of the various prism-related APIs mirror
their corresponding APIs in the existing parser/compiler. This means
we now have the correct frame naming, and it's much easier to follow
where the logic actually flows. Furthermore this consolidates a lot
of the prism initialization, making it easier to see where we could
potentially be raising errors.
2024-01-31 13:41:36 -05:00
Takashi Kokubun 21031f0a84 YJIT: Float arithmetics are actually leaf
with these guards in YJIT.

The previous commit was to fix "conflict" between two PRs, but I
actually wanted to use it here, which is why I filed the other one.
2024-01-31 10:13:27 -08:00
Takashi Kokubun 2220c4cf42 YJIT: s/jit_prepare_routine_call/jit_prepare_non_leaf_call/ 2024-01-31 10:10:03 -08:00
Takashi Kokubun 09427f51a2
YJIT: Add codegen for Float arithmetics (#9774)
* YJIT: Add codegen for Float arithmetics

* Add Flonum and Fixnum tests
2024-01-31 17:58:47 +00:00
Takashi Kokubun cc9bbbdd80
YJIT: Add jit_prepare_for_gc function (#9775)
* YJIT: Add jit_prepare_for_gc function

* s/jit_prepare_routine_call/jit_prepare_non_leaf_call/

* s/jit_prepare_for_gc/jit_prepare_call_with_gc/

* Use jit_prepare_call_with_gc for leaf builtin
2024-01-31 17:54:10 +00:00
David Rodriguez 06732d4956 [rubygems/rubygems] Remove truffleruby specific stuff no longer needed
We're already testing with truffleruby 23.

https://github.com/rubygems/rubygems/commit/cd0494d628
2024-01-31 16:54:15 +00:00
Takashi Kokubun 51753ec7fa
Annotate Symbol#to_s as leaf (#9769) 2024-01-31 10:47:35 -05:00
David Rodriguez a322b2faa4 [rubygems/rubygems] Make slow perf specs more stable
This seems worse to detect performance regressions, but at least should
not have many false positives.

https://github.com/rubygems/rubygems/commit/0b28e55415
2024-01-31 13:22:38 +00:00
Hiroshi SHIBATA c70052e5d9 [rubygems/rubygems] WEBrick:Utils::TimeoutHandler is always provided after webrick gem
https://github.com/rubygems/rubygems/commit/b0502a0c50
2024-01-31 13:21:13 +00:00
Andrew Konchin 5808c86965 [ruby/prism] Fix description of line parsing option and state it's 1-indexed
https://github.com/ruby/prism/commit/b2d2b91222
2024-01-31 12:43:50 +00:00
David Rodriguez 171d4bec25 [rubygems/rubygems] Fix some flaky test failures on Windows
Some specs assert empty output, but sometimes they print warnings about
redefinition warnings. Ignore those until they are fixed upstream.

https://github.com/rubygems/rubygems/commit/0cd3b6dbae
2024-01-31 12:14:03 +00:00
Jun Aruga 816ce53a8a Revert ".travis.yml: Drop s390x temporarily."
This reverts commit 7ded31d36dc78c1495b03a45ec1a3235fdd81f1e.

I was told from Travis CI support that their infra team has deployed a fix for
the issue we encountered with the s390x build environment.
2024-01-31 09:56:39 +01:00
dependabot[bot] 2deb105a31 Bump ruby/setup-ruby from 1.169.0 to 1.170.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.169.0 to 1.170.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](5daca16544...bd03e04863)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 16:15:19 +09:00
Naoto Ono a7ebe467a7 Add newline between end and def 2024-01-31 16:14:50 +09:00
Naoto Ono 45b53dd897 Add the ability to generate Launchable test reports 2024-01-31 16:14:50 +09:00
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