<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/tool/lib/envutil.rb, 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>Don't enable GC.auto_compact in EnvUtil.under_gc_compact_stress when not supported</title>
<updated>2024-10-11T21:00:30+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-10-11T19:42:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2e6ddd968d5601689f59c029bb401d7cdabab3b7'/>
<id>2e6ddd968d5601689f59c029bb401d7cdabab3b7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compile issue with a short-circuited if/unless condition and `defined?`</title>
<updated>2024-09-30T17:12:56+00:00</updated>
<author>
<name>Luke Gruber</name>
<email>luke.gru@gmail.com</email>
</author>
<published>2024-09-29T16:39:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d592ddd5e619ffe1691b8050de2ccc3e1bd6e080'/>
<id>d592ddd5e619ffe1691b8050de2ccc3e1bd6e080</id>
<content type='text'>
This caused an issue when `defined?` was in the `if` condition. Its
instructions weren't appended to the instruction sequence even though it was compiled
if a compile-time known logical short-circuit happened before the `defined?`. The catch table
entry (`defined?` compilation produces a catch table entry) was still on the iseq even though the
instructions weren't there. This caused faulty exception handling in the method.
The solution is to no add the catch table entry for `defined?` after a compile-time known logical
short circuit.

This shouldn't touch much code, it's only for cases like the following,
which can occur during debugging:

    if false &amp;&amp; defined?(Some::CONSTANT)
    "more code..."
    end

Fixes [Bug #20501]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This caused an issue when `defined?` was in the `if` condition. Its
instructions weren't appended to the instruction sequence even though it was compiled
if a compile-time known logical short-circuit happened before the `defined?`. The catch table
entry (`defined?` compilation produces a catch table entry) was still on the iseq even though the
instructions weren't there. This caused faulty exception handling in the method.
The solution is to no add the catch table entry for `defined?` after a compile-time known logical
short circuit.

This shouldn't touch much code, it's only for cases like the following,
which can occur during debugging:

    if false &amp;&amp; defined?(Some::CONSTANT)
    "more code..."
    end

Fixes [Bug #20501]
</pre>
</div>
</content>
</entry>
<entry>
<title>[Feature #20293] Add `Warning.categories`</title>
<updated>2024-03-14T08:56:55+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-02-22T13:25:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1ad366134ded1667745dd9fa70919051869f8d6c'/>
<id>1ad366134ded1667745dd9fa70919051869f8d6c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Skip under_gc_compact_stress on s390x (#10073)</title>
<updated>2024-02-22T22:34:19+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2024-02-22T22:34:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bccf4b30fa251dd4394d4ad477bad53c624d2aba'/>
<id>bccf4b30fa251dd4394d4ad477bad53c624d2aba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjust indent [ci skip]</title>
<updated>2024-02-22T13:22:56+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-02-22T13:22:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5f7f229ae73e4b49a8db8a378826c17bf1348b28'/>
<id>5f7f229ae73e4b49a8db8a378826c17bf1348b28</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Save the performance warning flag</title>
<updated>2024-02-22T13:05:04+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2024-02-22T13:05:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=183c574d54c000e77004b5873ba2c492e4819853'/>
<id>183c574d54c000e77004b5873ba2c492e4819853</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 create T_MATCH object if /regexp/.match(string) doesn't match</title>
<updated>2024-01-01T21:28:26+00:00</updated>
<author>
<name>Luke Gruber</name>
<email>luke.gru@gmail.com</email>
</author>
<published>2023-12-30T18:26:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e12d4c654e3cb7a4473014610bc3bae41aaf811e'/>
<id>e12d4c654e3cb7a4473014610bc3bae41aaf811e</id>
<content type='text'>
Fixes [Bug #20104]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes [Bug #20104]
</pre>
</div>
</content>
</entry>
<entry>
<title>Support `GC.auto_compact = :empty` on debug builds</title>
<updated>2023-12-19T23:29:36+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2023-12-18T21:55:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=32ecda354f1556edbfdba4723716fa523acbc94d'/>
<id>32ecda354f1556edbfdba4723716fa523acbc94d</id>
<content type='text'>
This commit adds `GC.auto_compact = :empty` which will run
auto-compaction sorting pages by empty slots so the most amount of
objects will be moved. This will make it easier to write tests for
auto-compaction.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds `GC.auto_compact = :empty` which will run
auto-compaction sorting pages by empty slots so the most amount of
objects will be moved. This will make it easier to write tests for
auto-compaction.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compaction during ary_make_partial</title>
<updated>2023-11-27T17:40:26+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2023-11-27T16:30:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=150ed44d87e2d5b00f38019a487e05a67a303482'/>
<id>150ed44d87e2d5b00f38019a487e05a67a303482</id>
<content type='text'>
The ary_make_shared call may allocate, which can trigger a GC
compaction. This can cause the array to be embedded because it has a
length of 0.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ary_make_shared call may allocate, which can trigger a GC
compaction. This can cause the array to be embedded because it has a
length of 0.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prefer RbConfig.ruby over the 3.times fallback (#8691)</title>
<updated>2023-10-18T00:57:39+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2023-10-18T00:57:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6c46ccf226bc6440743b51af713864c062eba27f'/>
<id>6c46ccf226bc6440743b51af713864c062eba27f</id>
<content type='text'>
It seems saner to use RbConfig.ruby than using ruby in a random ancestor
directory.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It seems saner to use RbConfig.ruby than using ruby in a random ancestor
directory.</pre>
</div>
</content>
</entry>
</feed>
