Commit graph

77079 commits

Author SHA1 Message Date
Peter Zhu
056e7a0154 Make all of the references of iseq movable 2023-01-20 08:51:39 -05:00
tompng
76e3d853ab [ruby/reline] Add autoindent test for indent after bracket and newline
3f3da7d0e2
2023-01-20 13:40:16 +00:00
tompng
4241b3cf2d [ruby/reline] accept new_indent > cursor_max
61cc580da4
2023-01-20 13:40:15 +00:00
Josh Nichols
0cc91871a8 [rubygems/rubygems] Update bundle-exec man page for with_unbundled_env
`with_clean_env` has been deprecated in `with_unbundled_env`. It already generates a deprecation warning when it uses, but this man page was still referring to it.
2023-01-20 13:06:58 +00:00
Shugo Maeda
c948a08136
Add a NEWS entry for [Feature #19314] [ci skip] 2023-01-20 21:41:40 +09:00
Nobuyoshi Nakada
53cd5796c5 [rubygems/rubygems] Clean test output
The output from the command is mixed in this test, even when
successful.
Use the output as a part of the message on failure instead.

960509a133
2023-01-20 10:39:57 +00:00
Shugo Maeda
cce3960964 [Feature #19314] Add new arguments of String#bytesplice
bytesplice(index, length, str, str_index, str_length) -> string
  bytesplice(range, str, str_range) -> string

In these forms, the content of +self+ is replaced by str.byteslice(str_index, str_length) or str.byteslice(str_range); however the substring of +str+ is not allocated as a new string.
2023-01-20 18:02:37 +09:00
Hiroshi SHIBATA
845f6275b2
OpenSSL, libyaml and zlib is always required to build. see test/test_extlibs.rb 2023-01-20 17:54:34 +09:00
Hiroshi SHIBATA
231b09f195
Added supported versions to OpenSSL and libyaml 2023-01-20 17:54:34 +09:00
Hiroshi SHIBATA
1edef08dda
Added version policy of BASERUBY
[Misc #16671]
2023-01-20 17:54:22 +09:00
Hiroshi SHIBATA
6aa9c84500
Separate dependencies section from quick start 2023-01-20 17:42:50 +09:00
Hiroshi SHIBATA
ea10dea6c7
fixed wrong version of baseruby 2023-01-20 17:38:29 +09:00
Soutaro Matsumoto
a0626e11aa
Bundle RBS 2.8.4 (#7159) 2023-01-20 17:13:56 +09:00
git
d80a574a04 Update bundled gems list at 2023-01-20 2023-01-20 07:05:11 +00:00
Peter Zhu
0949cd7107 [ci skip] Add ticket label to test 2023-01-19 16:26:32 -05:00
lukeg
f66804e6f7 don't allow setting class variable on module that's frozen [Bug #19341] 2023-01-19 16:25:20 -05:00
Jimmy Miller
bf3940a306 YJIT: Refactor side_exits 2023-01-19 16:10:58 -05:00
Takashi Kokubun
5ce0c13f18
YJIT: Remove duplicated information in BranchTarget (#7151)
Note: On the new code of yjit/src/core.rs:2178, we no longer leave the state `.block=None` but `.address=Some...`, which might be important.

We assume it's actually not needed and take a risk here to minimize heap allocations, but in case it turns out to be necessary, we could signal/resurrect that state by introducing a new BranchTarget (or BranchShape) variant dedicated to it.
2023-01-19 12:02:25 -08:00
Burdette Lamar
401aa9ddd1 [ruby/net-http] [DOC] Header doc
(https://github.com/ruby/net-http/pull/104)

3308362d9b
2023-01-19 18:58:40 +00:00
Jimmy Miller
762a3d80f7
Implement splat for cfuncs. Split exit exit cases to better capture where we are exiting (#6929)
YJIT: Implement splat for cfuncs. Split exit cases

This also implements a new check for ruby2keywords as the last
argument of a splat. This does mean that we generate more code, but in
actual benchmarks where we gained speed from this (binarytrees) I
don't see any significant slow down. I did have to struggle here with
the register allocator to find code that didn't allocate too many
registers. It's a bit hard when everything is implicit. But I think I
got to the minimal amount of copying and stuff given our current
allocation strategy.
2023-01-19 13:42:49 -05:00
Peter Zhu
8872ebec6a Fix compilation warnings in thread_sync.c
Fixes the following compilation warnings:

thread_sync.c:908:48: warning: taking address of packed member of `struct rb_queue` may result in an unaligned pointer value [-Waddress-of-packed-member]

thread_sync.c:1181:48: warning: taking address of packed member of `struct rb_queue` may result in an unaligned pointer value [-Waddress-of-packed-member]
2023-01-19 12:22:02 -05:00
Peter Zhu
9af84c95d7 Combine code paths for marking cc
This commit avoids a separate code path for marking and moving the
callcache of the iseq.
2023-01-19 11:23:35 -05:00
Peter Zhu
41bf2354e3 Add rb_gc_mark_and_move and implement on iseq
This commit adds rb_gc_mark_and_move which takes a pointer to an object
and marks it during marking phase and updates references during compaction.
This allows for marking and reference updating to be combined into a
single function, which reduces code duplication and prevents bugs if
marking and reference updating goes out of sync.

This commit also implements rb_gc_mark_and_move on iseq as an example.
2023-01-19 11:23:35 -05:00
Nobuyoshi Nakada
6f3aff3961
[Bug #19289] Retain ruby_abi_version function
A few extension libraries, to hide all symbols except for necessary to
load, hardcode the symbols to be exported in symbol list files for
linker without even checking by `have_func`.  As a workaround for such
libraries, retain `ruby_abi_version` symbol always even in released
versions for now.
2023-01-20 00:26:52 +09:00
Nobuyoshi Nakada
569fbf229b
Run after-update in the same main make process [ci skip] 2023-01-20 00:21:53 +09:00
Nobuyoshi Nakada
f36178006b
Fix a typo in BUG message [ci skip] 2023-01-20 00:20:27 +09:00
Peter Zhu
dcc676a86e ci in iseq can only be object or null
It looks like rb_callinfo in iseq can only be either a Ruby object or
null, since it cannot be allocated on the stack.
2023-01-19 09:47:21 -05:00
Shugo Maeda
f7b72462aa
String#bytesplice should return self
In Feature #19314, we concluded that the return value of String#bytesplice
should be changed from the source string to the receiver, because the source
string is useless and confusing when extra arguments are added.

This change should be included in Ruby 3.2.1.
2023-01-19 17:13:07 +09:00
Alan Wu
4b42392f8e YJIT: Use .as_side_exit() for jumps to counted exits
Fewer cycles running nops when these jumps are not taken. Fixing all
these so when they get copy pasted in the future we save on padding.
2023-01-18 20:52:19 -05:00
Takashi Kokubun
4cf1d9b3b3
YJIT: Set RUST_BACKTRACE=1 on YJIT GitHub Actions (#7152) 2023-01-18 17:23:11 -08:00
Samuel Williams
edd00697a8
Test some missing coverage too. (#7041) 2023-01-19 11:59:51 +13:00
Burdette Lamar
308942920f [ruby/net-http] [DOC] Enhanced RDoc for set_form
(https://github.com/ruby/net-http/pull/103)

f6506ff889
2023-01-18 21:03:58 +00:00
Maxime Chevalier-Boisvert
6bb576fe75
YJIT: implement codegen for String#empty? (#7148)
YJIT: implement codegen for String#empty?
2023-01-18 15:41:28 -05:00
Peter Zhu
0fd5a664e7 Remove macro RHASH_ITER_LEV
The function rb_hash_iter_lev doesn't exist as it was removed.
2023-01-18 11:54:34 -05:00
Maxime Chevalier-Boisvert
cd97976328
Add stats so we can keep track of x86 rel32 vs register calls (#7142)
* Add stats so we can keep track of x86 rel32 vs register calls

To know if we get that "prime real estate" as Alan put it.

* Fix bug pointed by Alan
2023-01-18 11:08:55 -05:00
Nobuyoshi Nakada
03f5db01e6
Make installation messages verbose a little [ci skip] 2023-01-18 23:55:25 +09:00
tompng
8e53f09baa [ruby/reline] Add constant MINIMUM_SCROLLBAR_HEIGHT for scrollbar rendering when dialog content is very long
d4c95f89ec
2023-01-18 14:49:29 +00:00
tompng
976d72a9f5 [ruby/reline] Add scrollbar scroll-to-bottom test and fix existing scrollbar rendeing test
268e02b155
2023-01-18 14:49:28 +00:00
tompng
a712f2a2a0 [ruby/reline] Fix dialog scrollbar rendering position and disappearing bug
e21b69ade4
2023-01-18 14:49:28 +00:00
Peter Zhu
4fa7d38324 Don't redefine RB_OBJ_WRITE
RB_OBJ_WRITE already exists in rgengc.h, so we shouldn't redefine it in
gc.h.
2023-01-18 08:49:32 -05:00
Nobuyoshi Nakada
e3336e0929 Define RUBY_VERSION_IS_3_3 macro in rubyspec.h 2023-01-18 21:59:41 +09:00
Hiroshi SHIBATA
d275adde78 Pin simplecov-0.20.0 2023-01-18 20:19:08 +09:00
Hiroshi SHIBATA
18d8333c30 Switch to use gem version of simplecov, not git clone 2023-01-18 20:19:08 +09:00
Hiroshi SHIBATA
ba45be3c43
Supressing warnings messages like:
Ignoring debug-1.7.1 because its extensions are not built. Try: gem pristine debug --version 1.7.

  Revert "Clear gem paths for each test"

  This reverts commit 6698b580dd.
2023-01-18 16:14:00 +09:00
Takashi Kokubun
5fc97f34c6 benchmark_driver v0.16.3
Some chruby-related features and bug fixes.
2023-01-17 22:26:45 -08:00
Soutaro Matsumoto
7e97e2bae4
Update RBS commit hash (#7143)
Use a commit at the top of RBS 2.8.3, not 3.0.0.dev.N.
2023-01-18 14:31:55 +09:00
tomoya ishida
2d7e639549 [ruby/reline] multiline_repl do not need to depend on RubyLex
(https://github.com/ruby/reline/pull/502)

* multiline_repl do not need to depend on RubyLex

* Add auto indent test
2023-01-18 05:28:18 +00:00
Kaíque Kandy Koga
46066d0b96
Change ArgumentError message when Comparable#clamp receives min value higher than max value 2023-01-17 21:25:11 -08:00
git
5ce3855d90 Update default gems list at 8a771efec2 [ci skip] 2023-01-18 04:53:47 +00:00
Hiroshi SHIBATA
8a771efec2 [ruby/psych] Bump up 5.0.2
a170b8eb46
2023-01-18 04:53:12 +00:00