[ruby/json] Fix Interoperability with Zlib::GzipReader
GzipReader offers both a read and to_io method. The read method returns the uncompressed file as a string. The to_io method returns the compressed file. The JSON.load method first tests for the to_io method...
[ruby/json] Prevent crashes with non-Proc as_json callbacks
Convert non-Proc callbacks through to_proc and validate the result in both configuration and the as_json setter. rb_convert_type accepts unrelated T_DATA objects without conversion, allowing them to reach Proc APIs and crash....
Re-read the refinement call cache set after growing it
rb_vm_insert_cc_refinement() kept a pointer into the embedded data of vm->cc_refinement_set across the realloc of its entries. Under GC.stress, ruby_xrealloc2_sized() runs a GC first, and when that GC...
Use pthread_sigmask in the GC read barrier signal handler
sigprocmask() is unspecified in multithreaded processes; on macOS it left SIGSEGV/SIGBUS blocked on the faulting thread, so a second read-barrier fault was never delivered and the process hung on the...
Unprotect all objspaces before a global compaction updates references
Match the per-objspace ordering of gc_compact_finish (unprotect, then update) across objspaces, so the update pass never faults on a foreign protected page and abandons that page's moves.
Deprecate RHASH_TBL
[Feature #22232]
Guaranteeing that any hash can be converted into an st_table is limiting the evolution of RHash.
None of the public usages of RHASH_TBL were justified, they all had equivalent rb_hash_* public APIs to perform the same thing...
RHASH_TBL
rb_hash_*
Improve accuracy of ractor_memsize
ractor_memsize is missing accounting of many fields, this commit tries to improve the accuracy of ractor_memsize.
Pend the Array#each replacement test in a box
The with_jit hooks that RubyVM::YJIT.enable runs change only the master box, so the main box keeps the C Array#each once it has called it, as this test does before enabling YJIT.
https://bugs.ruby-lang.org/issues/22306...
Pend the syntax_tree tests that need prism in a box
Under Ruby::Box the statically linked prism loads in only one box, so these tests raise LoadError once another test has required prism first.
https://bugs.ruby-lang.org/issues/22305
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Test Ractor.new with an instance of a class from the main box
Passing such an instance to Ractor.new used to raise undefined class/module under Ruby::Box, and master copies it fine now. Keep it that way.
View all revisions | View revisions
Also available in: Atom