Hiroshi SHIBATA [Sun, 1 Jun 2025 23:50:54 +0000 (2 08:50 +0900)]
Handle test failure of mock object
Fixup
4c26a38ed3c
https://rubyci.s3.amazonaws.com/amazon2/ruby-master/log/20250601T213003Z.fail.html.gz
```
1)
An exception occurred during: Mock.verify_count
File.birthtime accepts an object that has a #to_path method FAILED
Mock 'path' expected to receive to_path(:any_args) exactly 1 times
but received it 0 times
/home/chkbuild/chkbuild/tmp/build/20250601T213003Z/ruby/spec/ruby/core/file/birthtime_spec.rb:4:in 'block in <top (required)>'
/home/chkbuild/chkbuild/tmp/build/20250601T213003Z/ruby/spec/ruby/core/file/birthtime_spec.rb:3:in '<top (required)>'
```
git [Sun, 1 Jun 2025 07:03:33 +0000 (1 07:03 +0000)]
Update bundled gems list as of 2025-06-01
Nobuyoshi Nakada [Sun, 1 Jun 2025 05:22:51 +0000 (1 14:22 +0900)]
Skip birthtime failures on old linux
`statx(2)` is available since Linux 4.11 and glibc 2.28.
Nobuyoshi Nakada [Sat, 31 May 2025 10:02:32 +0000 (31 19:02 +0900)]
Win: Use `VsDevCmd.bat` instead of old `vcvarsall.bat`
Nobuyoshi Nakada [Sat, 31 May 2025 10:01:53 +0000 (31 19:01 +0900)]
Win: Fix `winget` command to `install`
Nobuyoshi Nakada [Sat, 31 May 2025 11:56:00 +0000 (31 20:56 +0900)]
Update rake version in bundler tests
Nobuyoshi Nakada [Sat, 31 May 2025 10:21:14 +0000 (31 19:21 +0900)]
Update rake version in lock files
git [Sat, 31 May 2025 09:43:52 +0000 (31 09:43 +0000)]
Update bundled gems list as of 2025-05-31
tomoya ishida [Sat, 31 May 2025 09:31:17 +0000 (31 18:31 +0900)]
Bump bundled bigdecimal to 3.2.1 (#13482)
Daisuke Aritomo [Sat, 31 May 2025 01:12:41 +0000 (31 10:12 +0900)]
Fix typo (s/ractore/ractor/)
Koichi Sasada [Sat, 31 May 2025 04:13:38 +0000 (31 13:13 +0900)]
prepare IDs for `Ractor::monitor`
To prevent the following strange error, prepare IDs at first.
```
<internal:ractor>:596:in 'Ractor#monitor': symbol :exited is already registered with 98610c (fatal)
from <internal:ractor>:550:in 'Ractor#join'
from <internal:ractor>:574:in 'Ractor#value'
from bootstraptest.test_ractor.rb_2013_1309.rb:12:in '<main>'
```
BTW, the error should be fixed on ID management system.
Koichi Sasada [Sat, 31 May 2025 06:23:10 +0000 (31 15:23 +0900)]
rake 13.3.0 -> 13.2.1
`make test-bundler-parallel` prints many errors, so try to
downgrade rake version.
```
219) bundle install --standalone run in a subdirectory with --binstubs creates stubs that can be symlinked
Failure/Error:
raise <<~ERROR
#{error_header}
----------------------------------------------------------------------
#{stdboth}
----------------------------------------------------------------------
ERROR
RuntimeError:
Commands:
$ /home/ko1/ruby/build/trunk/ruby -I/home/ko1/ruby/src/trunk/spec/bundler -r/home/ko1/ruby/src/trunk/spec/bundler/support/artifice/compact_index.rb -r/home/ko1/ruby/src/trunk/spec/bundler/support/hax.rb /home/ko1/ruby/src/trunk/tmp/2.13/gems/system/bin/bundle config set --local path /home/ko1/ruby/src/trunk/tmp/2.13/bundled_app/bundle
# $? => 0
Invoking `/home/ko1/ruby/build/trunk/ruby -I/home/ko1/ruby/src/trunk/spec/bundler -r/home/ko1/ruby/src/trunk/spec/bundler/support/artifice/compact_index.rb -r/home/ko1/ruby/src/trunk/spec/bundler/support/hax.rb /home/ko1/ruby/src/trunk/tmp/2.13/gems/system/bin/bundle install --standalone --binstubs` failed with output:
----------------------------------------------------------------------
[DEPRECATED] The --binstubs option will be removed in favor of `bundle binstubs --all`
Could not find compatible versions
Because every version of rails depends on rake = 13.3.0
and rake = 13.3.0 could not be found in rubygems repository https://gem.repo1/ or installed locally,
rails cannot be used.
So, because Gemfile depends on rails >= 0,
version solving has failed.
Fetching gem metadata from https://gem.repo1/...
Resolving dependencies...
----------------------------------------------------------------------
Shared Example Group: "bundle install --standalone" called from ./spec/bundler/install/gems/standalone_spec.rb:532
# /home/ko1/ruby/src/trunk/spec/bundler/support/command_execution.rb:26:in 'Spec::CommandExecution#raise_error!'
# /home/ko1/ruby/src/trunk/spec/bundler/support/subprocess.rb:66:in 'Spec::Subprocess#sh'
# /home/ko1/ruby/src/trunk/spec/bundler/support/helpers.rb:216:in 'Spec::Helpers#sys_exec'
# /home/ko1/ruby/src/trunk/spec/bundler/support/helpers.rb:107:in 'Spec::Helpers#bundle'
# /home/ko1/ruby/src/trunk/spec/bundler/install/gems/standalone_spec.rb:482:in 'block (3 levels) in <top (required)>'
# /home/ko1/ruby/src/trunk/spec/bundler/spec_helper.rb:107:in 'block (4 levels) in <top (required)>'
# /home/ko1/ruby/src/trunk/spec/bundler/spec_helper.rb:107:in 'block (3 levels) in <top (required)>'
# /home/ko1/ruby/src/trunk/spec/bundler/support/helpers.rb:355:in 'block in Spec::Helpers#with_gem_path_as'
# /home/ko1/ruby/src/trunk/spec/bundler/support/helpers.rb:369:in 'Spec::Helpers#without_env_side_effects'
# /home/ko1/ruby/src/trunk/spec/bundler/support/helpers.rb:350:in 'Spec::Helpers#with_gem_path_as'
# /home/ko1/ruby/src/trunk/spec/bundler/spec_helper.rb:106:in 'block (2 levels) in <top (required)>'
```
Nobuyoshi Nakada [Mon, 19 May 2025 13:49:22 +0000 (19 22:49 +0900)]
[DOC] Fix indentation
RDoc markdown parser requires exact 4 spaces or tab as indentation.
Also the first nested bullet list must be separated from the enclosing
bullet list item by a blank line.
Koichi Sasada [Sat, 31 May 2025 01:27:31 +0000 (31 10:27 +0900)]
NEWS entries for `Ractor::Port`
Koichi Sasada [Fri, 30 May 2025 23:38:58 +0000 (31 08:38 +0900)]
skip failing test in a week
```
1) Failure:
TestGc#test_gc_stress_at_startup [/home/chkbuild/chkbuild/tmp/build/20250530T213003Z/ruby/test/ruby/test_gc.rb:799]:
[Bug #15784]
pid
1748790 killed by SIGSEGV (signal 11) (core dumped).
1. [3/3] Assertion for "success?"
| Expected #<Process::Status: pid
1748790 SIGSEGV (signal 11) (core dumped)> to be success?.
```
Koichi Sasada [Fri, 30 May 2025 23:17:36 +0000 (31 08:17 +0900)]
skip flaky test
```
1) Failure:
TestProcess#test_warmup_frees_pages [/tmp/ruby/src/trunk-random1/test/ruby/test_process.rb:2772]:
<164348> expected but was
<165985>.
```
can someone investigate it?
git [Fri, 30 May 2025 19:14:14 +0000 (30 19:14 +0000)]
Update bundled gems list as of 2025-05-30
Koichi Sasada [Fri, 30 May 2025 17:38:41 +0000 (31 02:38 +0900)]
skip tests for BigDecimal 3.2.0
Koichi Sasada [Thu, 29 May 2025 10:19:29 +0000 (29 19:19 +0900)]
fix for test-bundled-gems to catch up new API
Koichi Sasada [Mon, 26 May 2025 18:58:04 +0000 (27 03:58 +0900)]
`Ractor::Port`
* Added `Ractor::Port`
* `Ractor::Port#receive` (support multi-threads)
* `Rcator::Port#close`
* `Ractor::Port#closed?`
* Added some methods
* `Ractor#join`
* `Ractor#value`
* `Ractor#monitor`
* `Ractor#unmonitor`
* Removed some methods
* `Ractor#take`
* `Ractor.yield`
* Change the spec
* `Racotr.select`
You can wait for multiple sequences of messages with `Ractor::Port`.
```ruby
ports = 3.times.map{ Ractor::Port.new }
ports.map.with_index do |port, ri|
Ractor.new port,ri do |port, ri|
3.times{|i| port << "r#{ri}-#{i}"}
end
end
p ports.each{|port| pp 3.times.map{port.receive}}
```
In this example, we use 3 ports, and 3 Ractors send messages to them respectively.
We can receive a series of messages from each port.
You can use `Ractor#value` to get the last value of a Ractor's block:
```ruby
result = Ractor.new do
heavy_task()
end.value
```
You can wait for the termination of a Ractor with `Ractor#join` like this:
```ruby
Ractor.new do
some_task()
end.join
```
`#value` and `#join` are similar to `Thread#value` and `Thread#join`.
To implement `#join`, `Ractor#monitor` (and `Ractor#unmonitor`) is introduced.
This commit changes `Ractor.select()` method.
It now only accepts ports or Ractors, and returns when a port receives a message or a Ractor terminates.
We removes `Ractor.yield` and `Ractor#take` because:
* `Ractor::Port` supports most of similar use cases in a simpler manner.
* Removing them significantly simplifies the code.
We also change the internal thread scheduler code (thread_pthread.c):
* During barrier synchronization, we keep the `ractor_sched` lock to avoid deadlocks.
This lock is released by `rb_ractor_sched_barrier_end()`
which is called at the end of operations that require the barrier.
* fix potential deadlock issues by checking interrupts just before setting UBF.
https://bugs.ruby-lang.org/issues/21262
Kunshan Wang [Wed, 28 May 2025 08:21:09 +0000 (28 16:21 +0800)]
[ruby/mmtk] Fix environment variable parsing
Ues more idiomatic rust approaches.
https://github.com/ruby/mmtk/commit/
ef125f9eae
Kunshan Wang [Wed, 28 May 2025 06:28:19 +0000 (28 14:28 +0800)]
[ruby/mmtk] Fix clippy warnings and formatting.
We also enable `#![warn(unsafe_op_in_unsafe_fn)]` in the whole mmtk_ruby
crate.
https://github.com/ruby/mmtk/commit/
8b8025f71a
Kunshan Wang [Tue, 27 May 2025 08:57:21 +0000 (27 16:57 +0800)]
[ruby/mmtk] Bump MMTk and dependencies version
https://github.com/ruby/mmtk/commit/
de252637ec
Kunshan Wang [Tue, 27 May 2025 08:31:54 +0000 (27 16:31 +0800)]
[ruby/mmtk] Remove unused constant
Remove the unused constant HAS_MOVED_GFIELDSTBL and related methods.
In the mmtk/mmtk-ruby repo, we are now able to find the global field
(IV) table of a moved object during copying GC without using the
HAS_MOVED_GFIELDSTBL bit. We synchronize some of the code, although we
haven't implemented moving GC in ruby/mmtk, yet.
See: https://github.com/mmtk/mmtk-ruby/commit/
13080acdf553f20a88a7ea9ab9f6877611017136
https://github.com/ruby/mmtk/commit/
400ba4e747
Tavian Barnes [Fri, 30 May 2025 14:27:00 +0000 (30 10:27 -0400)]
ZJIT: Fold more fixnum operations (#13465)
Max Bernstein [Fri, 30 May 2025 14:23:26 +0000 (30 10:23 -0400)]
ZJIT: Assert that we're compiling a specific YARV insn to HIR (#13471)
Nobuyoshi Nakada [Sat, 10 May 2025 06:40:24 +0000 (10 15:40 +0900)]
[Feature #21205] Fix up birthtime in ruby/spec
Nobuyoshi Nakada [Fri, 9 May 2025 13:16:34 +0000 (9 22:16 +0900)]
[Feature #21205] Define File::Stat#birthtime by statx
Nobuyoshi Nakada [Thu, 29 May 2025 11:09:47 +0000 (29 20:09 +0900)]
Win: Add scripts to install and setup
Peter Zhu [Wed, 28 May 2025 18:48:02 +0000 (28 14:48 -0400)]
Fix memory leak with invalid yield in prism
[Bug #21383]
The following script leaks memory:
10.times do
20_000.times do
eval("class C; yield; end")
rescue SyntaxError
end
puts `ps -o rss= -p #{$$}`
end
Before:
16464
25536
29424
35904
39552
44576
46736
51600
56096
59824
After:
13488
16160
18240
20528
19760
21808
21680
22272
22064
22336
John Hawthorn [Fri, 23 May 2025 17:49:21 +0000 (23 10:49 -0700)]
Read {max_iv,variation}_count from prime classext
MAX_IV_COUNT is a hint which determines the size of variable width
allocation we should use for a given class. We don't need to scope this
by namespace, if we end up with larger builtin objects on some
namespaces that isn't a user-visible problem, just extra memory use.
Similarly variation_count is used to track if a given object has had too
many branches in shapes it has used, and to use too_complex when that
happens. That's also just a hint, so we can use the same value across
namespaces without it being visible to users.
Previously variation_count was being incremented (written to) on the
RCLASS_EXT_READABLE ext, which seems incorrect if we wanted it to be
different across namespaces
Luke Gruber [Thu, 29 May 2025 15:40:57 +0000 (29 11:40 -0400)]
Take VM lock around manipulation of fiber pool for vacant stacks
When creating fibers in multiple ractors at the same time there were
issues with the manipulation of this structure, causing segfaults.
I didn't add any tests for this because I'm making a more general
PR in the very near future to be able to run test methods (test-all suite)
inside multiple ractors at the same time. This is how this bug was
caught, running test/ruby/test_fiber.rb inside 10 ractors at once.
Peter Zhu [Thu, 29 May 2025 14:46:22 +0000 (29 10:46 -0400)]
[ruby/mmtk] Remove dependance on internal/object.h
https://github.com/ruby/mmtk/commit/
fdc13963f0
Hiroshi SHIBATA [Thu, 29 May 2025 08:52:58 +0000 (29 17:52 +0900)]
Removed needless components of BuildTools
Nobuyoshi Nakada [Wed, 28 May 2025 21:11:08 +0000 (29 06:11 +0900)]
[ruby/prism] [DOC] No RDoc in include/prism/ast.h
https://github.com/ruby/prism/commit/
1cae6e3b02
Nobuyoshi Nakada [Wed, 28 May 2025 10:49:45 +0000 (28 19:49 +0900)]
[ruby/prism] [DOC] Simply use `String#ljust`
https://github.com/ruby/prism/commit/
ba019ab4b4
Nobuyoshi Nakada [Wed, 28 May 2025 10:47:22 +0000 (28 19:47 +0900)]
[ruby/prism] [DOC] Markup `__FILE__` as code, not emphasis
https://github.com/ruby/prism/commit/
571ba378f5
Nobuyoshi Nakada [Wed, 28 May 2025 10:40:53 +0000 (28 19:40 +0900)]
[ruby/prism] [DOC] Stop rdoc from processing non-rdoc comments
https://github.com/ruby/prism/commit/
de1faa1680
Nobuyoshi Nakada [Wed, 28 May 2025 10:26:54 +0000 (28 19:26 +0900)]
[ruby/prism] [DOC] Add code fences
https://github.com/ruby/prism/commit/
641775e5fe
Nobuyoshi Nakada [Wed, 28 May 2025 10:25:48 +0000 (28 19:25 +0900)]
[ruby/prism] [DOC] Specify markdown mode to RDoc
https://github.com/ruby/prism/commit/
12af4e144e
Hiroshi SHIBATA [Thu, 29 May 2025 04:15:08 +0000 (29 13:15 +0900)]
Added VS2022 BuildTools instructions
Hiroshi SHIBATA [Thu, 29 May 2025 04:08:09 +0000 (29 13:08 +0900)]
VS2022 17.13.x and winsdk-10.0.26100 issues are resolved now
Hiroshi SHIBATA [Thu, 29 May 2025 04:05:22 +0000 (29 13:05 +0900)]
Added instruction for installing gcc toolchain with ridk
Nobuyoshi Nakada [Tue, 27 May 2025 13:24:28 +0000 (27 22:24 +0900)]
[Bug #21380] Prohibit modification in String#split block
Reported at https://hackerone.com/reports/
3163876
David RodrÃguez [Wed, 28 May 2025 12:09:55 +0000 (28 14:09 +0200)]
Remove unnecessary `GEM_PATH` modification
David RodrÃguez [Wed, 28 May 2025 12:18:44 +0000 (28 14:18 +0200)]
Initialize `gems` tmp when initializing bundled_gems_spec suite
That way it works even if no Bundler specs have run before.
John Bampton [Wed, 28 May 2025 19:37:51 +0000 (29 05:37 +1000)]
[ruby/resolv] Update resolv.rb - fix spelling
https://github.com/ruby/resolv/commit/
65ce7f214b
Takashi Kokubun [Wed, 28 May 2025 21:20:10 +0000 (28 17:20 -0400)]
ZJIT: Add --enable-zjit=dev_nodebug (#13456)
Max Bernstein [Wed, 28 May 2025 20:59:51 +0000 (28 16:59 -0400)]
ZJIT: Add CallableMethodEntry to type lattice (GH-13459)
This will be useful when we split Send into Lookup+Call.
For reasoning about various method types during optimization.
Peter Zhu [Wed, 28 May 2025 15:24:40 +0000 (28 11:24 -0400)]
Set iclass_is_origin flag for FrozenCore
We don't free the method table for FrozenCore since it is converted to
an iclass and doesn't have the iclass_is_origin flag set. This causes a
memory leak to be reported during RUBY_FREE_AT_EXIT:
14 dyld 0x19f13ab98 start + 6076
13 miniruby 0x100644928 main + 96 main.c:62
12 miniruby 0x10064498c rb_main + 48 main.c:42
11 miniruby 0x10073be0c ruby_init + 16 eval.c:98
10 miniruby 0x10073bc6c ruby_setup + 232 eval.c:87
9 miniruby 0x100786b98 rb_call_inits + 168 inits.c:63
8 miniruby 0x1009b5010 Init_VM + 212 vm.c:4017
7 miniruby 0x10067aae8 rb_class_new + 44 class.c:834
6 miniruby 0x10067a04c rb_class_boot + 48 class.c:748
5 miniruby 0x10067a250 class_initialize_method_table + 32 class.c:721
4 miniruby 0x1009412a8 rb_id_table_create + 24 id_table.c:98
3 miniruby 0x100759fac ruby_xmalloc + 24 gc.c:5201
2 miniruby 0x10075fc14 ruby_xmalloc_body + 52 gc.c:5211
1 miniruby 0x1007726b4 rb_gc_impl_malloc + 92 default.c:8141
0 libsystem_malloc.dylib 0x19f30d12c _malloc_zone_malloc_instrumented_or_legacy + 152
John Hawthorn [Mon, 26 May 2025 18:48:41 +0000 (26 11:48 -0700)]
Use flag for RCLASS_IS_INITIALIZED
Previously we used a flag to set whether a module was uninitialized.
When checked whether a class was initialized, we first had to check that
it had a non-zero superclass, as well as that it wasn't BasicObject.
With the advent of namespaces, RCLASS_SUPER is now an expensive
operation, and though we could just check for the prime superclass, we
might as well take this opportunity to use a flag so that we can perform
the initialized check with as few instructions as possible.
It's possible in the future that we could prevent uninitialized classes
from being available to the user, but currently there are a few ways to
do that.
John Hawthorn [Sun, 25 May 2025 05:49:54 +0000 (24 22:49 -0700)]
Make class_alloc only accept type
If any other flags were passed other than type they were ignored, so we
might as well be more explicit that that's all this accepts. This also
fixes the incorrect (internal) documentation.
It also turns out type is always known in the caller, so I made it
explicit in the two places additional flags were being passed.
Jean Boussier [Wed, 28 May 2025 10:39:21 +0000 (28 12:39 +0200)]
Refactor attr_index_t caches
Ensure the same helpers are used for packing and unpacking.
Jean Boussier [Wed, 28 May 2025 10:28:42 +0000 (28 12:28 +0200)]
Get rid of `vm_cc_attr_index` and `vm_cc_attr_index_dest_shape_id`
Jean Boussier [Wed, 28 May 2025 10:20:37 +0000 (28 12:20 +0200)]
Get rid of unused `vm_ic_attr_index_dest_shape_id`
John Bampton [Tue, 27 May 2025 00:45:53 +0000 (27 10:45 +1000)]
[rubygems/rubygems] test(ruby): fix spelling
https://github.com/rubygems/rubygems/commit/
398bc1365e
Tang Rufus [Sun, 25 May 2025 19:24:17 +0000 (25 20:24 +0100)]
[rubygems/rubygems] Fix example name typo
https://github.com/rubygems/rubygems/commit/
2d0cf3c31e
Hiroshi SHIBATA [Wed, 28 May 2025 00:03:17 +0000 (28 09:03 +0900)]
Use the latest version of Windows SDK
https://github.com/ruby/ruby/commit/
72bda0f981c7136f50254c433bbfb97a953f634b
Jean Boussier [Tue, 27 May 2025 12:08:30 +0000 (27 14:08 +0200)]
Rename `rb_shape_id_canonical_p` -> `rb_shape_canonical_p`
Jean Boussier [Tue, 27 May 2025 12:07:50 +0000 (27 14:07 +0200)]
Rename `rb_shape_frozen_shape_p` -> `shape_frozen_p`
Jean Boussier [Tue, 27 May 2025 11:53:14 +0000 (27 13:53 +0200)]
Rename `rb_shape_set_shape_id` in `rb_obj_set_shape_id`
Jean Boussier [Tue, 27 May 2025 11:32:55 +0000 (27 13:32 +0200)]
Refactor `rb_shape_too_complex_p` to take a `shape_id_t`.
Jean Boussier [Tue, 27 May 2025 11:20:58 +0000 (27 13:20 +0200)]
Refactor `rb_shape_has_object_id`
Now takes a `shape_id_t` and the version that takes a `rb_shape_t *`
is private.
Jean Boussier [Tue, 27 May 2025 11:16:50 +0000 (27 13:16 +0200)]
Refactor `rb_obj_shape` out.
It still exists but only in `shape.c`.
Jean Boussier [Tue, 27 May 2025 10:58:24 +0000 (27 12:58 +0200)]
Get rid of rb_shape_set_shape
Jean Boussier [Tue, 27 May 2025 10:57:03 +0000 (27 12:57 +0200)]
Refactor `rb_shape_get_iv_index` to take a `shape_id_t`
Further reduce exposure of `rb_shape_t`.
Jean Boussier [Tue, 27 May 2025 09:51:29 +0000 (27 11:51 +0200)]
Get rid of `rb_shape_id(rb_shape_t *)`
We should avoid conversions from `rb_shape_t *` into `shape_id_t`
outside of `shape.c` as the short term goal is to have `shape_id_t`
contain tags.
Jean Boussier [Tue, 27 May 2025 09:46:02 +0000 (27 11:46 +0200)]
Get rid of `rb_shape_canonical_p`
Jean Boussier [Tue, 27 May 2025 07:36:33 +0000 (27 09:36 +0200)]
Refactor `rb_shape_rebuild_shape` to stop exposing `rb_shape_t`
Soutaro Matsumoto [Tue, 27 May 2025 06:54:22 +0000 (27 15:54 +0900)]
bundle rbs-3.9.4 to fix test failure (#13287)
* Skip CGI tests
* Bundle rbs-3.9.4
Nobuyoshi Nakada [Mon, 26 May 2025 11:37:14 +0000 (26 20:37 +0900)]
[Bug #21255] Win32: Do not export `__declspec(selectany)` symbols
```
x64-vcruntime140-ruby350.def : error LNK2001: unresolved external symbol Avx2WmemEnabledWeakValue
```
Nobuyoshi Nakada [Mon, 26 May 2025 11:11:41 +0000 (26 20:11 +0900)]
Win: Suppress false warnings from Visual C 17.14.1
https://developercommunity.visualstudio.com/t/warning-C5287:-operands-are-different-e/
10877942?
It is not able to silence "operands are different enum types"
warnings, even using an explicit cast, as the message says.
Peter Zhu [Mon, 26 May 2025 19:05:02 +0000 (26 15:05 -0400)]
Fix reference updating for id2ref table
The id2ref table could contain dead entries which should not be passed
into rb_gc_location. Also, we already update references in gc_update_references
using rb_gc_vm_weak_table_foreach so we do not need to update it again.
Jeremy Evans [Sun, 25 May 2025 05:56:49 +0000 (24 22:56 -0700)]
Remove set library from maintainers doc, as Set is now a core class
Peter Zhu [Mon, 26 May 2025 18:11:51 +0000 (26 14:11 -0400)]
Don't copy FL_PROMOTED to new object in Ractor move
We should not copy the FL_PROMOTED flag when we move an object in Ractor#send(move: true)
because the newly created object may not be old.
BurdetteLamar [Sun, 25 May 2025 14:59:52 +0000 (25 09:59 -0500)]
[DOC] More tweaks for String#byteindex
John Hawthorn [Wed, 14 May 2025 18:06:46 +0000 (14 11:06 -0700)]
Add shape_id to RBasic under 32 bit
This makes `RBobject` `4B` larger on 32 bit systems
but simplifies the implementation a lot.
[Feature #21353]
Co-authored-by: Jean Boussier <[email protected]>
git [Mon, 26 May 2025 02:47:26 +0000 (26 02:47 +0000)]
Update default gems list at
874469e7cefc6a08afb8fb30556786 [ci skip]
dependabot[bot] [Wed, 21 May 2025 20:19:00 +0000 (21 20:19 +0000)]
[rubygems/rubygems] Bump the rb-sys group across 2 directories with 1 update
Bumps the rb-sys group with 1 update in the /test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib directory: [rb-sys](https://github.com/oxidize-rb/rb-sys).
Bumps the rb-sys group with 1 update in the /test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example directory: [rb-sys](https://github.com/oxidize-rb/rb-sys).
Updates `rb-sys` from 0.9.111 to 0.9.115
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.111...v0.9.115)
Updates `rb-sys` from 0.9.111 to 0.9.115
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.111...v0.9.115)
---
updated-dependencies:
- dependency-name: rb-sys
dependency-version: 0.9.115
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rb-sys
- dependency-name: rb-sys
dependency-version: 0.9.115
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rb-sys
...
Signed-off-by: dependabot[bot] <[email protected]>
https://github.com/rubygems/rubygems/commit/
a7c0ff5641
Samuel Giddins [Sat, 17 May 2025 14:58:37 +0000 (17 10:58 -0400)]
[rubygems/rubygems] Remove backport of LATEST_RUBY_WITHOUT_PATCH_VERSIONS
Signed-off-by: Samuel Giddins <[email protected]>
https://github.com/rubygems/rubygems/commit/
24c8073b24
Samuel Giddins [Wed, 14 May 2025 20:31:43 +0000 (14 13:31 -0700)]
[rubygems/rubygems] Remove platform backports from bundler
Signed-off-by: Samuel Giddins <[email protected]>
https://github.com/rubygems/rubygems/commit/
9336d3811c
Samuel Giddins [Wed, 14 May 2025 20:31:24 +0000 (14 13:31 -0700)]
[rubygems/rubygems] Remove reference to validate_rust_builder_rubygems_version
Signed-off-by: Samuel Giddins <[email protected]>
https://github.com/rubygems/rubygems/commit/
f8baf13ab0
Samuel Giddins [Mon, 14 Apr 2025 07:39:52 +0000 (14 16:39 +0900)]
[rubygems/rubygems] Bump required_ruby_version to 3.2
Ruby 3.1 was EOL March 2025
Signed-off-by: Samuel Giddins <[email protected]>
https://github.com/rubygems/rubygems/commit/
29c21b1e78
Jean Boussier [Fri, 23 May 2025 15:07:39 +0000 (23 17:07 +0200)]
[ruby/json] Release 2.12.2
https://github.com/ruby/json/commit/
a29cb77d52
Jean Boussier [Fri, 23 May 2025 09:36:41 +0000 (23 11:36 +0200)]
[ruby/json] Release 2.12.1
https://github.com/ruby/json/commit/
8603a57a91
Jean Boussier [Fri, 23 May 2025 09:27:29 +0000 (23 11:27 +0200)]
[ruby/json] fbuffer.c: add debug mode with bound checks.
This would have caught https://github.com/ruby/json/pull/808
on CI.
https://github.com/ruby/json/commit/
8109421fb4
Jean Boussier [Fri, 23 May 2025 07:28:56 +0000 (23 09:28 +0200)]
[ruby/json] Fix: generate_json_float to reserve enough memory for large negative floats.
Fix: https://github.com/ruby/json/issues/807
Since https://github.com/ruby/json/pull/800, `fpconv_dtoa` can actually
generate up to 28 chars.
https://github.com/ruby/json/commit/
d73ae93d3c
git [Mon, 26 May 2025 02:44:58 +0000 (26 02:44 +0000)]
* remove trailing spaces. [ci skip]
Nobuyoshi Nakada [Fri, 23 May 2025 11:14:20 +0000 (23 20:14 +0900)]
Use RB_VM_LOCKING
Nobuyoshi Nakada [Wed, 27 Oct 2021 02:45:59 +0000 (27 11:45 +0900)]
Delimit the scopes using encoding/symbol tables
Nobuyoshi Nakada [Wed, 27 Oct 2021 02:44:29 +0000 (27 11:44 +0900)]
Add RB_VM_LOCKING macro which delimits the variable scope
Max Bernstein [Fri, 23 May 2025 20:17:16 +0000 (23 16:17 -0400)]
ZJIT: Parse branchnil into HIR
Max Bernstein [Fri, 23 May 2025 19:05:19 +0000 (23 15:05 -0400)]
ZJIT: Parse opt_aref into HIR
Max Bernstein [Fri, 23 May 2025 18:21:07 +0000 (23 14:21 -0400)]
ZJIT: Add fast-paths for Array#length and Array#size
Luke Gruber [Fri, 23 May 2025 17:53:00 +0000 (23 13:53 -0400)]
ractor_wakeup was broken when compiled with USE_RUBY_DEBUG_LOG
The `ractor_wakeup` function takes an optional `th` argument, so it can be NULL.
There is a macro call to RUBY_DEBUG_LOG that dereferences `th` without checking
if it's NULL first. To fix this, we never dereference `th` in this macro call.
Max Bernstein [Fri, 23 May 2025 18:08:08 +0000 (23 14:08 -0400)]
ZJIT: Implement find for Defined
Max Bernstein [Fri, 23 May 2025 17:47:57 +0000 (23 13:47 -0400)]
ZJIT: Mark SideExit as terminator
Max Bernstein [Fri, 23 May 2025 17:45:38 +0000 (23 13:45 -0400)]
ZJIT: Side-exit into the interpreter on unknown call types
Max Bernstein [Fri, 23 May 2025 17:41:01 +0000 (23 13:41 -0400)]
ZJIT: Side-exit into the interpreter on unknown opt_newarray_send
Max Bernstein [Fri, 23 May 2025 17:27:19 +0000 (23 13:27 -0400)]
ZJIT: Side-exit into the interpreter on unknown opcodes
No need to bail out of compilation completely; we can compile all the
code up until that point.