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

83193 Коммитов

Автор SHA1 Сообщение Дата
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: b0711b1cf1
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 e0f4c4e410.

We expect https://github.com/ruby/ruby/pull/9729 to address the failure.
2024-01-29 09:23:39 -08:00
Willian Tenfen W d42330d702 [rubygems/rubygems] Improve gem login scope selection
https://github.com/rubygems/rubygems/commit/26c7abe5f6
2024-01-29 17:22:01 +00:00
Alan Wu b0711b1cf1
YJIT: Fix tailcall and JIT entry eating up FINISH frames (#9729)
Suppose YJIT runs a rb_vm_opt_send_without_block()
fallback and the control frame stack looks like:

```
will_tailcall_bar [FINISH]
caller_that_used_fallback
```

will_tailcall_bar() runs in the interpreter and sets up a tailcall.
Right before JIT_EXEC() in the `send` instruction, the stack will look like:

```
bar [FINISH]
caller_that_used_fallback
```

Previously, JIT_EXEC() ran bar() in JIT code, which caused the `FINISH`
flag to return to the interpreter instead of to the JIT code running
caller_that_used_fallback(), causing code to run twice and probably
crash. Recent flaky failures on CI about "each stub expects a particular
iseq" are probably due to leaving methods twice in
`test_optimizations.rb`.

Only run JIT code from the interpreter if a new frame is pushed.
2024-01-29 12:21:17 -05:00
Peter Zhu 9a5a11f3d0 [PRISM] Use the splatkw instruction
Fixes ruby/prism#2272.
2024-01-29 11:42:40 -05:00
Kevin Newton e050097beb [ruby/prism] Raise diagnostics for parser
https://github.com/ruby/prism/commit/102b4a16f5
2024-01-29 16:09:47 +00:00
Maxime Chevalier-Boisvert adf29c9a98
YJIT: add asm comment when we clear local types (#9713)
Small PR to add a comment when we clear local variable types,
so we can be aware that it's happening when looking at the disasm.
2024-01-29 15:36:34 +00:00
Peter Zhu fde3d065e6 Add removable and refcnt output to labels
Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
2024-01-29 10:05:32 -05:00