Commit graph

90973 commits

Author SHA1 Message Date
Takashi Kokubun
d06ec25be4 Revert "* remove trailing spaces. [ci skip]"
This reverts commit 6062c904ae.

tompng said animation becomes weird if you remove trailing spaces.
We fixed auto-style instead
a8635a4cd9.
2025-04-18 06:48:30 +09:00
Samuel Williams
06a7b3c144
Only test on known good platforms. (#13123) 2025-04-17 16:19:05 +00:00
Samuel Williams
c4ae6cb500
Prefer th->ec for stack base/size. (#13101) 2025-04-17 13:21:51 +00:00
git
6062c904ae * remove trailing spaces. [ci skip] 2025-04-17 10:59:30 +00:00
Yusuke Endoh
6556a7be26 Temporarily stop the trailing-space check in CI
I will restore the check after the preview release
2025-04-17 19:59:19 +09:00
Yusuke Endoh
25efd09c71 sample/trick2025/: adds the top-five entries of TRICK 2025
See https://github.com/tric/trick2025 for TRICK 2025.
2025-04-17 19:59:19 +09:00
Hiroshi SHIBATA
7e2ba5a91b Don't use admin grant 2025-04-17 08:08:37 +09:00
Hiroshi SHIBATA
9b5ae69aac Use uutils-coreutils 2025-04-17 08:08:37 +09:00
Hiroshi SHIBATA
b4c29b7af6 Use coreutils instead of msys2 because msys2 is not provided windows-11-arm 2025-04-17 08:08:37 +09:00
Kazuki Yamaguchi
0a8a641d0a [ruby/openssl] ssl: fix SSLSocket#syswrite with String-convertible objects
Correctly pass the new object assigned by StringValue() to
ossl_ssl_write_internal_safe().

This is a follow-up to commit 0d8c17aa85 (Reduce
OpenSSL::Buffering#do_write overhead, 2024-12-21).

3ff096196a
2025-04-16 15:16:50 +00:00
NARUSE, Yui
bbf873521a Add description about edge cases of Enumerable#size
[Bug #21152]
2025-04-16 16:55:38 +09:00
Samuel Williams
8d21f666b8
Introduce enum rb_io_mode. (#7894) 2025-04-16 07:50:37 +00:00
Nobuyoshi Nakada
d842554769
rbinstall.rb: Note about no_write [ci skip]
Since RubyGems 3.0.0 `dir_mode` option is supported, but using `File`
method to apply it, not `FileUtils`.  To reduce overwriting existing
methods (especially built-in class), and to record making directories,
keep using `no_write` method.
2025-04-16 15:45:08 +09:00
Hiroshi SHIBATA
51952929e1
[rubygems/rubygems] Fixed rubocop issue: Layout/SpaceInsideBlockBraces
77a52b011a
2025-04-16 14:10:36 +09:00
Hiroshi SHIBATA
a4eb81a083 Revert advanced-security/filter-sarif update for v1.0.1 2025-04-16 11:40:11 +09:00
Hiroshi SHIBATA
02152501a4 Bump up to msys2/setup-msys2 to v2.27.0 2025-04-16 11:40:11 +09:00
Hiroshi SHIBATA
49c29cff47 Bump up to the latest versions of actions 2025-04-16 11:40:11 +09:00
Nobuyoshi Nakada
2cf95e2e04
Run the proper version of rake 2025-04-16 08:29:23 +09:00
Samuel Williams
28491e53cd [ruby/stringio] Support for rb_io_mode_t
(https://github.com/ruby/stringio/pull/129)

Companion PR to <https://github.com/ruby/ruby/pull/7894>.

2d3988e12f
2025-04-15 11:15:35 +00:00
dependabot[bot]
f6fddbd337 Bump crossbeam-channel from 0.5.13 to 0.5.15 in /gc/mmtk
Bumps [crossbeam-channel](https://github.com/crossbeam-rs/crossbeam) from 0.5.13 to 0.5.15.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases)
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-channel-0.5.13...crossbeam-channel-0.5.15)

---
updated-dependencies:
- dependency-name: crossbeam-channel
  dependency-version: 0.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 17:14:26 +09:00
Jean Boussier
77a52787a6 [ruby/json] Cleanup Kernel#JSON
573ebdca89
2025-04-15 16:48:22 +09:00
Jean Boussier
26a9ccbf83 [ruby/json] Deprecate Kernel#j and Kernel#jj
27155b6500
2025-04-15 16:48:22 +09:00
Jean Boussier
1afc539900 [ruby/json] Get rid of JSONError.wrap
3e7e661ef5
2025-04-15 16:48:21 +09:00
Jean Boussier
62b7ae955a [ruby/json] Don't create custom NaN and Infinity objects.
ff8e18392d
2025-04-15 16:48:20 +09:00
David Rodríguez
b8b4c15695 [rubygems/rubygems] Let bundle lock --normalize-platforms remove invalid platforms
c39d2f84fd
2025-04-15 16:47:22 +09:00
David Rodríguez
1929e73a36 [rubygems/rubygems] Raise an error if bundle lock target platform is incompatible
282e4a8593
2025-04-15 16:47:21 +09:00
David Rodríguez
1b18810ed9 [rubygems/rubygems] Rename resolution_packages to resolution_base
It handles resolution packages but also other stuff.

4baec92c20
2025-04-15 16:47:21 +09:00
David Rodríguez
c910e85b02 [rubygems/rubygems] Extract some logic to a method and expand comment
ed31e888fd
2025-04-15 16:47:19 +09:00
David Rodríguez
0ad7cf17a0 [rubygems/rubygems] Clarify comment
42534e746b
2025-04-15 16:47:19 +09:00
David Rodríguez
806fbb1e47 [rubygems/rubygems] Comparing platforms is only needed for dependency validation
If we materialized to a different platform, then the dependencies may
actually be different so the validation does not really make sense.

68fad98e6f
2025-04-15 16:47:18 +09:00
David Rodríguez
3cb573ee55 [rubygems/rubygems] Only platforms are relevant here
4b6f07f634
2025-04-15 16:47:17 +09:00
David Rodríguez
00389b664b [rubygems/rubygems] Fix false positive warning about insecurely materialized gem
In frozen mode, the previous logic would not set the platform locked
originally in the materialized specification, and that would trigger the
warning about insecure materialization incorrectly.

a18001e10c
2025-04-15 16:47:16 +09:00
Luke Gruber
72dc16aa65 Add a test for moving composite object parts 2025-04-15 16:34:22 +09:00
Tanaka Akira
698ef864a5 IO.select accepts +Float::INFINITY+ as a timeout argument.
matz accepted at the developper meeting 2024-07-11.
2025-04-15 15:55:40 +09:00
Étienne Barrié
e1f544c1cf Always look for the top-level RBasic in LLDB scripts
`rp` and other commands were broken for me because they always showed
the object as a T_NONE.

The reason was that instead of returning the type `struct RBasic`,
FindFirstType("struct RBasic") was returning
`yjit::cruby::autogened::RBasic`.

Explicitly asking for the top-level RBasic by prefixing it with `::` is
enough to fix those commands.
2025-04-15 11:50:48 +09:00
Étienne Barrié
6e184ebb5a Fix LLDB heap_page command
Move _append_command_output and _append_expression to LLDBInterface, and
use it from HeapPageCommand after setting result.
2025-04-15 11:50:48 +09:00
Jean Boussier
0606046c1a Lazily create objspace->id_to_obj_tbl
This inverse table is only useful if `ObjectSpace._id2ref` is used,
which is extremely rare. The only notable exception is the `drb` gem
and even then it has an option not to rely on `_id2ref`.

So if we assume this table will never be looked up, we can just
not maintain it, and if it turns out `_id2ref` is called, we
can lock the VM and re-build it.

```
compare-ruby: ruby 3.5.0dev (2025-04-10T09:44:40Z master 684cfa42d7) +YJIT +PRISM [arm64-darwin24]
built-ruby: ruby 3.5.0dev (2025-04-10T10:13:43Z lazy-id-to-obj d3aa9626cc) +YJIT +PRISM [arm64-darwin24]
warming up..

|           |compare-ruby|built-ruby|
|:----------|-----------:|---------:|
|baseline   |     26.364M|   25.974M|
|           |       1.01x|         -|
|object_id  |     10.293M|   14.202M|
|           |           -|     1.38x|
```
2025-04-15 07:57:39 +09:00
ydah
b68172caad Rename f_optarg to f_opt_arg for consistency in parser rules 2025-04-15 00:39:12 +09:00
ydah
1c8154e5c9 Use call_op2 instead of call_op and tCOLON2 2025-04-14 23:13:57 +09:00
Samuel Williams
c13ac4d615 Assert the GVL is held when performing various rb_ functions.
[Feature #20877]
2025-04-14 18:28:09 +09:00
Samuel Williams
4e970c5d5a Expose ruby_thread_has_gvl_p. 2025-04-14 18:28:09 +09:00
Samuel Williams
22667fcc38 Add RUBY_VERSION_IS_3_5. 2025-04-14 18:28:09 +09:00
git
bef59edea0 Update default gems list at ad8cb532d5 [ci skip] 2025-04-14 07:31:25 +00:00
Sutou Kouhei
ad8cb532d5 [ruby/strscan] Bump version
7b1eb1e4ed
2025-04-14 16:18:48 +09:00
Jean byroot Boussier
0db87b8943 [ruby/strscan] Allow parsing strings larger than 2GiB
(https://github.com/ruby/strscan/pull/147)

For a reason unknown, even though `pos` is stored as a `long`, the
`#pos` and `#pos=` treat it as an `int`, which prevent seeking into
strings larger than 2GiB.

b76368416e

Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
2025-04-14 16:18:47 +09:00
David Rodríguez
38024772ca [rubygems/rubygems] Refine bundle update --verbose logs
Don't mention "Found changes from the lockfile" because that's not
really true in general.

0181c278e8
2025-04-14 16:17:50 +09:00
David Rodríguez
ce2640dde8 [rubygems/rubygems] Fix edge case making bundle update behave incorrectly
If both a native and a generic version are locked, but the native
version is incompatible with the running Ruby, Bundler will still keep
the native version in the lockfile, since it could be potentially useful
when using other rubies.

However, when `bundle update` is run, this was not the case because the
locked native gems were not using the right source when materializing.
They were using the lockfile source instead of the Gemfile source, and
that meant they could not be found when materializing, because the
lockfile source always uses local mode so does not see them.

The effect of this was normally that they were incorrectly removed from
the lockfile and a strange "this spec has been possibly yanked" was
printed in verbose mode. However, in certain situations (i.e., when the
generic gem would bring extra dependencies), it could also make `bundle
update` crash.

The solution is, when adding this extra locked specs to the result after
resolving, maybe sure they inherit the source from the resolved specs,
so they can be found when materializing.

`bundle install` did not have the issue because it passes locked specs
to the resolver, and assigns the right source to them in
`Definition#converge_locked_specs`.

91ce881fda
2025-04-14 16:17:50 +09:00
David Rodríguez
66aa713980 [rubygems/rubygems] Materialize specs just once in installer
`Definition#specs` does the same thing but memoizes the result.

b62bf9fe41
2025-04-14 16:17:49 +09:00
David Rodríguez
c4a2f72b1b [rubygems/rubygems] Fix bundle lock --normalize-platforms regression
458fa5dc4c
2025-04-14 16:17:48 +09:00
git
8ad5dd7998 Update bundled gems list at f65aad61f7 [ci skip] 2025-04-14 02:21:17 +00:00