ruby/ext
Jean Boussier 3abdd4241f Turn rb_classext_t.fields into a T_IMEMO/class_fields
This behave almost exactly as a T_OBJECT, the layout is entirely
compatible.

This aims to solve two problems.

First, it solves the problem of namspaced classes having
a single `shape_id`. Now each namespaced classext
has an object that can hold the namespace specific
shape.

Second, it open the door to later make class instance variable
writes atomics, hence be able to read class variables
without locking the VM.
In the future, in multi-ractor mode, we can do the write
on a copy of the `fields_obj` and then atomically swap it.

Considerations:

  - Right now the `RClass` shape_id is always synchronized,
    but with namespace we should likely mark classes that have
    multiple namespace with a specific shape flag.
2025-06-12 07:58:16 +02:00
..
-test- Make waiting_fd behaviour per-IO. (#13127) 2025-05-13 19:02:03 +09:00
cgi/escape Support require 'cgi/escape' with extracting CGI::Escape from CGI::Util 2025-05-09 14:27:28 +09:00
continuation ruby tool/update-deps --fix 2024-04-27 21:55:28 +09:00
coverage namespace on read 2025-05-11 23:32:50 +09:00
date [ruby/date] Update zonetab.h at 2025-06-11 2025-06-11 10:05:39 +00:00
digest [ruby/digest] stringop-overread warning is since GCC 11 2025-05-05 10:20:31 +00:00
erb/escape [ruby/erb] [DOC] Make documentation 100% 2025-05-12 13:57:24 +00:00
etc [ruby/etc] Suppress unused function warning 2025-04-13 22:03:59 +00:00
fcntl [ruby/fcntl] Fixup gemspec files 2024-11-07 18:45:05 +09:00
io [ruby/io-console] Bump up 0.8.0 2024-12-03 05:05:14 +00:00
json [ruby/json] Release 2.12.2 2025-05-26 11:46:12 +09:00
monitor [DOC] Monitor 2024-12-25 13:16:14 +09:00
objspace Turn rb_classext_t.fields into a T_IMEMO/class_fields 2025-06-12 07:58:16 +02:00
openssl [ruby/openssl] ssl: fix potential memory leak in SSLContext#setup 2025-05-15 16:51:15 +00:00
pathname [ruby/pathname] Bump up v0.4.0 2024-11-06 07:09:08 +00:00
psych [ruby/psych] Bump version for release 2025-05-12 16:21:41 +00:00
pty Update common.mk dependencies 2025-05-11 23:32:50 +09:00
rbconfig/sizeof ruby tool/update-deps --fix 2024-04-27 21:55:28 +09:00
ripper namespace on read 2025-05-11 23:32:50 +09:00
rubyvm
socket Suppress warnings by gcc-13 with -Og 2025-06-05 22:33:02 +09:00
stringio [ruby/stringio] Extract internal part as the function 2025-06-05 08:06:51 +00:00
strscan [ruby/strscan] Update extconf.rb 2025-06-12 10:34:31 +09:00
win32 [ruby/resolv] quote registry value name properly 2025-04-17 23:48:55 +00:00
zlib [ruby/zlib] Bump up v3.2.1 2024-12-13 00:33:58 +00:00
.document [ruby/io-console] [DOC] Split .document files to sync with ruby/ruby 2023-10-22 11:09:06 +09:00
extmk.rb [Bug #21092] Fallback variables after execonf has done 2025-01-30 14:52:01 +09:00
Setup Clean up removed directories in ext/Setup* [ci skip] 2023-01-18 12:02:27 +09:00
Setup.atheos racc/cparse is extracted from ruby/ruby repository 2023-06-08 18:05:07 +09:00
Setup.nt racc/cparse is extracted from ruby/ruby repository 2023-06-08 18:05:07 +09:00