<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/gc.c, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 61bab1889048f758396acf671c9797d6bc52504b: [Backport #21757]</title>
<updated>2026-01-25T07:41:13+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T07:41:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=28db1b5c3d3a9a5c60762622cb0c3c36c021e8e4'/>
<id>28db1b5c3d3a9a5c60762622cb0c3c36c021e8e4</id>
<content type='text'>
	[PATCH] Rename to `struct rbimpl_size_overflow_tag`

	This struct is used for addition not only for multiplication, so
	remove the word `mul`, and make the member names more descriptive.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Rename to `struct rbimpl_size_overflow_tag`

	This struct is used for addition not only for multiplication, so
	remove the word `mul`, and make the member names more descriptive.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 99ff0224a564b59df3ba8fbd7911dd41a7fdde34: [Backport #21757]</title>
<updated>2026-01-25T07:40:50+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2026-01-25T07:40:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c409e343fb14438c2e5304f10ad4c6919e30ac2e'/>
<id>c409e343fb14438c2e5304f10ad4c6919e30ac2e</id>
<content type='text'>
	[PATCH] Move rbimpl_size_add_overflow from gc.c to memory.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Move rbimpl_size_add_overflow from gc.c to memory.h
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't modify fstrings in rb_str_tmp_frozen_no_embed_acquire (#15104)</title>
<updated>2025-11-08T03:44:56+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-11-08T03:44:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9e426489f00a1b7816e8c6f299daa6116c5f505d'/>
<id>9e426489f00a1b7816e8c6f299daa6116c5f505d</id>
<content type='text'>
[Bug #21671]</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #21671]</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) a084fef9afc7713aa4f4111f7e826c7ca1a607c7: [Backport #21099]</title>
<updated>2025-07-14T20:55:45+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-07-14T20:55:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=58d08abef567dab582ec5f7c3dcd2b8fabdaebd6'/>
<id>58d08abef567dab582ec5f7c3dcd2b8fabdaebd6</id>
<content type='text'>
	[Bug #21099] Fix GC when Ractor list not initialized

	When the Ractor list is not initialized and a GC is ran at boot, then it
	would crash because the newobj_cache of the main Ractor is not cleared.
	This commit changes it to use ruby_single_main_ractor when it's available
	and iterate over the Ractor list when we have multiple Ractors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #21099] Fix GC when Ractor list not initialized

	When the Ractor list is not initialized and a GC is ran at boot, then it
	would crash because the newobj_cache of the main Ractor is not cleared.
	This commit changes it to use ruby_single_main_ractor when it's available
	and iterate over the Ractor list when we have multiple Ractors.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 7df5d65eac86940619f87da7e70bc0911097ae2f: [Backport #20981]</title>
<updated>2025-02-14T01:47:24+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-02-14T01:47:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4bafaef0a55fdc45a7b8275a82ceb0f3e3419d00'/>
<id>4bafaef0a55fdc45a7b8275a82ceb0f3e3419d00</id>
<content type='text'>
	[Bug #20981] Bring back `rb_undefine_finalizer`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[Bug #20981] Bring back `rb_undefine_finalizer`
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable GC during RUBY_INTERNAL_EVENT_NEWOBJ</title>
<updated>2024-12-23T14:03:32+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-12-20T21:48:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f4476f0d07c781c906ed1353d8e1be5a7314d6e7'/>
<id>f4476f0d07c781c906ed1353d8e1be5a7314d6e7</id>
<content type='text'>
We must disable GC when running RUBY_INTERNAL_EVENT_NEWOBJ hooks because
the callback could call xmalloc which could potentially trigger a GC,
and a lot of code is unsafe to trigger a GC right after an object has
been allocated because they perform initialization for the object and
assume that the GC does not trigger before then.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We must disable GC when running RUBY_INTERNAL_EVENT_NEWOBJ hooks because
the callback could call xmalloc which could potentially trigger a GC,
and a lot of code is unsafe to trigger a GC right after an object has
been allocated because they perform initialization for the object and
assume that the GC does not trigger before then.
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow variables in modular_gc_dir</title>
<updated>2024-12-22T13:10:26+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-12-20T07:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2f2530b195008209e1d9e4e9734509d5f956fa49'/>
<id>2f2530b195008209e1d9e4e9734509d5f956fa49</id>
<content type='text'>
Such as `$(ruby_version)`, `$(arch)` and so on.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Such as `$(ruby_version)`, `$(arch)` and so on.
</pre>
</div>
</content>
</entry>
<entry>
<title>Support RUBY_MODULAR_GC with LOAD_RELATIVE</title>
<updated>2024-12-22T13:10:26+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-09-30T02:24:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=626037e143886bb5d15b3c5ebf1e04fc711407fa'/>
<id>626037e143886bb5d15b3c5ebf1e04fc711407fa</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't print bug report in asan_death_callback when no VM</title>
<updated>2024-12-20T20:04:08+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-12-20T19:09:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=97f55466760d89a54e82608e5c7c31fba60158ca'/>
<id>97f55466760d89a54e82608e5c7c31fba60158ca</id>
<content type='text'>
If we don't have the VM (e.g. printing memory leaks in LSAN after shutdown)
then we will crash when we try to print the bug report. This issue was
reported in: https://github.com/ruby/ruby/pull/12309#issuecomment-2555766525
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we don't have the VM (e.g. printing memory leaks in LSAN after shutdown)
then we will crash when we try to print the bug report. This issue was
reported in: https://github.com/ruby/ruby/pull/12309#issuecomment-2555766525
</pre>
</div>
</content>
</entry>
<entry>
<title>Memerror is fatal if VM cannot be unlocked.</title>
<updated>2024-12-20T07:49:30+00:00</updated>
<author>
<name>Matt Valentine-House</name>
<email>matt@eightbitraptor.com</email>
</author>
<published>2024-12-18T22:10:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2f6c694977dc0cdc4766a8a921e74290963c19a7'/>
<id>2f6c694977dc0cdc4766a8a921e74290963c19a7</id>
<content type='text'>
[Bug #20942]

If we've raised a memerror while the VM is locked, and the tag we're
jumping to has been locked at a different level to the current lock (ie.
we've locked the VM again since the tag we're jumping to) then we should
consider this memerror fatal and exit, since the tag cannot unlock the
VM.

Co-Authored-By: Peter Zhu &lt;peter@peterzhu.ca&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bug #20942]

If we've raised a memerror while the VM is locked, and the tag we're
jumping to has been locked at a different level to the current lock (ie.
we've locked the VM again since the tag we're jumping to) then we should
consider this memerror fatal and exit, since the tag cannot unlock the
VM.

Co-Authored-By: Peter Zhu &lt;peter@peterzhu.ca&gt;
</pre>
</div>
</content>
</entry>
</feed>
