[pull] master from ruby:master#774
Merged
pull[bot] merged 5 commits intoturkdevops:masterfrom Feb 13, 2026
Merged
Conversation
[Feature #21788] It allows monitor to access internal routines and remove some overhead. Before: ``` ruby 4.0.0dev (2025-12-13T04:52:13Z master 71dd272) +YJIT +PRISM [arm64-darwin25] Warming up -------------------------------------- Mutex 2.111M i/100ms Monitor 1.736M i/100ms Calculating ------------------------------------- Mutex 25.050M (± 0.4%) i/s (39.92 ns/i) - 126.631M in 5.055208s Monitor 19.809M (± 0.1%) i/s (50.48 ns/i) - 100.672M in 5.082015s ``` After: ``` ruby 4.0.0dev (2025-12-13T06:49:18Z core-monitor 6fabf38) +YJIT +PRISM [arm64-darwin25] Warming up -------------------------------------- Mutex 2.144M i/100ms Monitor 1.859M i/100ms Calculating ------------------------------------- Mutex 24.771M (± 0.4%) i/s (40.37 ns/i) - 124.342M in 5.019716s Monitor 23.722M (± 0.4%) i/s (42.15 ns/i) - 118.998M in 5.016361s ``` Bench: ```ruby require 'bundler/inline' gemfile do gem "benchmark-ips" end mutex = Mutex.new require "monitor" monitor = Monitor.new Benchmark.ips do |x| x.report("Mutex") { mutex.synchronize { } } x.report("Monitor") { monitor.synchronize { } } end ```
* Revert "Revert pack/unpack support for LEB128" This reverts commit 77c3a9e. * Update specs for LEB128
…5647) [Feature #21796] unpack variant `^` that returns the current offset
Make `ruby_modular_gc_init()` print all symbol import errors instead of bailing on the first one. That way, GC authors don't have to fix one symbol at a time. Also accumulates and prints the total error count across all imports. Eg. On a sample GC ripped from the built-in GC implementation, renamed to "testgc", with the symbols `rb_gc_impl_gc_enable` and `rb_gc_impl_gc_disable` removed: **Before:** ``` λ batify build → 74a4e2e → ~/.rubies/modgc/bin/ruby ruby_modular_gc_init: rb_gc_impl_gc_enable function not exported by library /Users/prajjwal/.rubies/modgc/lib/ruby/gc/librubygc.testgc.bundle ``` **After:** ``` λ batify build → master → ~/.rubies/modgc/bin/ruby ruby_modular_gc_init: rb_gc_impl_gc_enable function not exported by library /Users/prajjwal/.rubies/modgc/lib/ruby/gc/librubygc.testgc.bundle ruby_modular_gc_init: rb_gc_impl_gc_disable function not exported by library /Users/prajjwal/.rubies/modgc/lib/ruby/gc/librubygc.testgc.bundle ruby_modular_gc_init: found 2 missing exports in library /Users/prajjwal/.rubies/modgc/lib/ruby/gc/librubygc.testgc.bundle ```
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )