<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/compile.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>merge revision(s) 07b59eee6aa120537d7d72422327cc7b855e9400:</title>
<updated>2025-10-11T09:28:36+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-10-11T09:28:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a4ca3de38e8910d7fc8968036157c08cb2604af5'/>
<id>a4ca3de38e8910d7fc8968036157c08cb2604af5</id>
<content type='text'>
	[PATCH] Fix memory leak when load_from_binary raises

	ibf_load_code will leak memory allocated for the code if an exception is
	raised. The following script reproduces the leak:

	    bin = RubyVM::InstructionSequence.of(1.method(:abs)).to_binary

	    10.times do
	      100_000.times do
	        RubyVM::InstructionSequence.load_from_binary(bin)
	      rescue ArgumentError
	      end
	      puts `ps -o rss= -p #{$$}`
	    end

	Before:

	    18004
	    23380
	    28756
	    34260
	    39892
	    45396
	    50772
	    55892
	    61012
	    66132

	After:

	    12536
	    12920
	    13304
	    13688
	    14072
	    14456
	    14840
	    15352
	    15608
	    15864
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	[PATCH] Fix memory leak when load_from_binary raises

	ibf_load_code will leak memory allocated for the code if an exception is
	raised. The following script reproduces the leak:

	    bin = RubyVM::InstructionSequence.of(1.method(:abs)).to_binary

	    10.times do
	      100_000.times do
	        RubyVM::InstructionSequence.load_from_binary(bin)
	      rescue ArgumentError
	      end
	      puts `ps -o rss= -p #{$$}`
	    end

	Before:

	    18004
	    23380
	    28756
	    34260
	    39892
	    45396
	    50772
	    55892
	    61012
	    66132

	After:

	    12536
	    12920
	    13304
	    13688
	    14072
	    14456
	    14840
	    15352
	    15608
	    15864
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 354d47ae5bc4edcc94db4a5391ed71a8b9844e57: [Backport #21569]</title>
<updated>2025-10-05T10:00:40+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-10-05T10:00:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=62ecd47656e0c8c7f308fc798ab6106d738c211e'/>
<id>62ecd47656e0c8c7f308fc798ab6106d738c211e</id>
<content type='text'>
	Message not found for revision: 354d47ae5bc4edcc94db4a5391ed71a8b9844e57
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Message not found for revision: 354d47ae5bc4edcc94db4a5391ed71a8b9844e57
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) ef2b26cc3eaed06c5c9d4ef2c6d8669ff357afa4: [Backport #21611]</title>
<updated>2025-10-05T00:39:04+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-10-05T00:39:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7a67358006207f525a78775e1417ad4fb7b0484d'/>
<id>7a67358006207f525a78775e1417ad4fb7b0484d</id>
<content type='text'>
	Message not found for revision: ef2b26cc3eaed06c5c9d4ef2c6d8669ff357afa4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Message not found for revision: ef2b26cc3eaed06c5c9d4ef2c6d8669ff357afa4
</pre>
</div>
</content>
</entry>
<entry>
<title>Use write barriers when loading catch table</title>
<updated>2025-10-05T00:37:26+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-06-08T03:10:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b202a1fe034e9e4e77fb778ad032c01d014d677f'/>
<id>b202a1fe034e9e4e77fb778ad032c01d014d677f</id>
<content type='text'>
Found by wbcheck
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Found by wbcheck
</pre>
</div>
</content>
</entry>
<entry>
<title>Add missing write barriers to ibf_load</title>
<updated>2025-10-05T00:37:26+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-06-08T03:05:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7a4c7eac9b262fd7036d86b58d0dc2f188bd5838'/>
<id>7a4c7eac9b262fd7036d86b58d0dc2f188bd5838</id>
<content type='text'>
Found by wbcheck
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Found by wbcheck
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 0d6263bd416338a339651fb97fe4d62701704c4b: [Backport #21220]</title>
<updated>2025-05-17T06:21:08+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-05-17T06:21:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b1b6752fbeb2d23dbea639bd4b331c9e8b56f49c'/>
<id>b1b6752fbeb2d23dbea639bd4b331c9e8b56f49c</id>
<content type='text'>
	Fix coverage measurement for negative line numbers

	Fixes [Bug #21220]

	Co-Authored-By: Mike Bourgeous &lt;mike@mikebourgeous.com&gt;
	Co-Authored-By: Jean Boussier &lt;jean.boussier@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Fix coverage measurement for negative line numbers

	Fixes [Bug #21220]

	Co-Authored-By: Mike Bourgeous &lt;mike@mikebourgeous.com&gt;
	Co-Authored-By: Jean Boussier &lt;jean.boussier@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Silently ignore keyword args for attr-asign method to cease segmentation fault.</title>
<updated>2025-03-16T04:10:13+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@ruby-lang.org</email>
</author>
<published>2025-03-16T04:10:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ac3f355fb33f4ce41df864f2084028610b7b38d1'/>
<id>ac3f355fb33f4ce41df864f2084028610b7b38d1</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) e0d600ec190c64aff76cfcbd6009cffb927da166: [Backport #21012]</title>
<updated>2025-01-15T01:56:25+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-01-15T01:56:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3a986b47cba80bdc081638d5f759a26c1beb8fad'/>
<id>3a986b47cba80bdc081638d5f759a26c1beb8fad</id>
<content type='text'>
	Avoid opt_aset_with optimization inside multiple assignment

	Previously, since the opt_aset_with optimization was introduced,
	use of the opt_aset_with optimization inside multiple assignment
	would result in a segfault or incorrect instructions.

	Fixes [Bug #21012]

	Co-authored-by: Nobuyoshi Nakada &lt;nobu.nakada@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Avoid opt_aset_with optimization inside multiple assignment

	Previously, since the opt_aset_with optimization was introduced,
	use of the opt_aset_with optimization inside multiple assignment
	would result in a segfault or incorrect instructions.

	Fixes [Bug #21012]

	Co-authored-by: Nobuyoshi Nakada &lt;nobu.nakada@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) a3562c2a0abf1c2bdd1d50377b4f929580782594: [Backport #20701]</title>
<updated>2024-09-02T10:19:13+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2024-09-02T10:19:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cf9a6c2b63e6337a3f6ce76527446739e5aceb67'/>
<id>cf9a6c2b63e6337a3f6ce76527446739e5aceb67</id>
<content type='text'>
	Remove incorrect setting of KW_SPLAT_MUT flag

	Fixes [Bug #20701]

	Co-authored-by: Pablo Herrero &lt;pablodherrero@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Remove incorrect setting of KW_SPLAT_MUT flag

	Fixes [Bug #20701]

	Co-authored-by: Pablo Herrero &lt;pablodherrero@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 992596fb7af18a7f472589a607d0eb3fbb03b49a: [Backport #20344]</title>
<updated>2024-09-02T10:10:19+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2024-09-02T10:10:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d83b5633b16f4ddcece4ff924f21c5a5851470cf'/>
<id>d83b5633b16f4ddcece4ff924f21c5a5851470cf</id>
<content type='text'>
	Fix next inside block argument stack underflow

	[Bug #20344]
	Fix compile_next adding removable adjust label
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	Fix next inside block argument stack underflow

	[Bug #20344]
	Fix compile_next adding removable adjust label
</pre>
</div>
</content>
</entry>
</feed>
