<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/cont.c, branch v3_3_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Backport WASI setjmp handler memory leak fixes to Ruby 3.3</title>
<updated>2025-10-11T09:27:37+00:00</updated>
<author>
<name>刘皓</name>
<email>whiteaxe@tuta.io</email>
</author>
<published>2025-10-09T00:45:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7e31d3c0229095b6b256ba04288869a6373938b6'/>
<id>7e31d3c0229095b6b256ba04288869a6373938b6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 6ade36c06b7cef948099b8f5f483763498705d12: [Backport #20414]</title>
<updated>2024-05-29T22:47:26+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2024-05-29T22:47:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5c06e930748ef6bdb4ac4751ba16b7b604da3db0'/>
<id>5c06e930748ef6bdb4ac4751ba16b7b604da3db0</id>
<content type='text'>
	`Fiber#raise` recursively raises on nested resuming_fiber. (#10482)

	* Improve consistency of `Fiber.current.raise`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	`Fiber#raise` recursively raises on nested resuming_fiber. (#10482)

	* Improve consistency of `Fiber.current.raise`.
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 5d1702e01a36e11b183fe29ce10780a9b1a41cf0: [Backport #20413]</title>
<updated>2024-05-29T22:43:01+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2024-05-29T22:43:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5688bcb54a640b353bed4ff49032ea00f947e1aa'/>
<id>5688bcb54a640b353bed4ff49032ea00f947e1aa</id>
<content type='text'>
	Enumerator should use a non-blocking fiber, change `rb_fiber_new` to be non-blocking by default. (#10481)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Enumerator should use a non-blocking fiber, change `rb_fiber_new` to be non-blocking by default. (#10481)
</pre>
</div>
</content>
</entry>
<entry>
<title>FREE_AT_EXIT: Don't free main stack post-fork</title>
<updated>2023-12-23T02:07:22+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2023-12-22T20:15:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f1b7424cbed00a27532a053949f524eaaf4be1ba'/>
<id>f1b7424cbed00a27532a053949f524eaaf4be1ba</id>
<content type='text'>
When a forked process was started in a thread, this would result in a
double-free during the child process exit.

    RUBY_FREE_AT_EXIT=1 ./miniruby -e 'Thread.new { fork { } }.join; Process.waitpid'

This is because the main thread in the forked process was not the
initial VM thread, and the new thread's stack was freed as part of
objectspace iteration.

This change also allows rb_threadptr_root_fiber_release to run without
EC being available.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a forked process was started in a thread, this would result in a
double-free during the child process exit.

    RUBY_FREE_AT_EXIT=1 ./miniruby -e 'Thread.new { fork { } }.join; Process.waitpid'

This is because the main thread in the forked process was not the
initial VM thread, and the new thread's stack was freed as part of
objectspace iteration.

This change also allows rb_threadptr_root_fiber_release to run without
EC being available.
</pre>
</div>
</content>
</entry>
<entry>
<title>[DOC] Small fixes for documentation rendering</title>
<updated>2023-12-09T04:54:33+00:00</updated>
<author>
<name>Victor Shepelev</name>
<email>zverok.offline@gmail.com</email>
</author>
<published>2023-12-09T04:54:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=07734b51c66756c4a7a512ebb4736763542d99f3'/>
<id>07734b51c66756c4a7a512ebb4736763542d99f3</id>
<content type='text'>
Mostly just fixing RDoc's incorrect treatment of `+`</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mostly just fixing RDoc's incorrect treatment of `+`</pre>
</div>
</content>
</entry>
<entry>
<title>Improve Fiber#kill docs and simplify the NEWS entry to let the documentation explain</title>
<updated>2023-12-08T12:59:40+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2023-12-06T21:44:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0204523fe7ccafba30a4d2465946095f2603c7eb'/>
<id>0204523fe7ccafba30a4d2465946095f2603c7eb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Free everything at shutdown</title>
<updated>2023-12-07T20:52:35+00:00</updated>
<author>
<name>Adam Hess</name>
<email>adamhess1991@gmail.com</email>
</author>
<published>2023-10-12T18:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6816e8efcff3be75f8020cd1b0ea57d3cd664bbc'/>
<id>6816e8efcff3be75f8020cd1b0ea57d3cd664bbc</id>
<content type='text'>
when the RUBY_FREE_ON_SHUTDOWN environment variable is set, manually free memory at shutdown.

Co-authored-by: Nobuyoshi Nakada &lt;nobu@ruby-lang.org&gt;
Co-authored-by: Peter Zhu &lt;peter@peterzhu.ca&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when the RUBY_FREE_ON_SHUTDOWN environment variable is set, manually free memory at shutdown.

Co-authored-by: Nobuyoshi Nakada &lt;nobu@ruby-lang.org&gt;
Co-authored-by: Peter Zhu &lt;peter@peterzhu.ca&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>YJIT: Cancel on-stack jit_return on invalidation (#9086)</title>
<updated>2023-12-01T02:35:55+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2023-12-01T02:35:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ba1cdadfc8ad6f284efeefbcebef1ca85bae178c'/>
<id>ba1cdadfc8ad6f284efeefbcebef1ca85bae178c</id>
<content type='text'>
* YJIT: Cancel on-stack jit_return on invalidation

Co-authored-by: Alan Wu &lt;alansi.xingwu@shopify.com&gt;

* Use RUBY_VM_CONTROL_FRAME_STACK_OVERFLOW_P

---------

Co-authored-by: Alan Wu &lt;alansi.xingwu@shopify.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* YJIT: Cancel on-stack jit_return on invalidation

Co-authored-by: Alan Wu &lt;alansi.xingwu@shopify.com&gt;

* Use RUBY_VM_CONTROL_FRAME_STACK_OVERFLOW_P

---------

Co-authored-by: Alan Wu &lt;alansi.xingwu@shopify.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Call rb_jit_cont_init() even earlier</title>
<updated>2023-10-20T00:12:09+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2023-10-20T00:12:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=985370406d2c5150fa3e0f23cdae605ec1a60fdb'/>
<id>985370406d2c5150fa3e0f23cdae605ec1a60fdb</id>
<content type='text'>
To fix https://github.com/ruby/ruby/actions/runs/6581593578/job/17881779994
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To fix https://github.com/ruby/ruby/actions/runs/6581593578/job/17881779994
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid initializing jit_cont_lock multiple times</title>
<updated>2023-10-20T00:06:23+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2023-10-20T00:04:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a9d7525fb420e721da38c0959dcc8980cd0cf38e'/>
<id>a9d7525fb420e721da38c0959dcc8980cd0cf38e</id>
<content type='text'>
Contrary to my initial assumption, rb_threadptr_root_fiber_setup() is
called for each Ractor, not just once at boot. I changed the place to
call rb_jit_cont_init() to avoid calling it multiple times.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Contrary to my initial assumption, rb_threadptr_root_fiber_setup() is
called for each Ractor, not just once at boot. I changed the place to
call rb_jit_cont_init() to avoid calling it multiple times.
</pre>
</div>
</content>
</entry>
</feed>
