<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/tool/ruby_vm, branch v4.0.3</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Explicitly declare VM instruction dependencies (#14509)</title>
<updated>2025-09-10T21:18:44+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-09-10T21:18:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bd4de1245f9899463a817d43863bcee520741e50'/>
<id>bd4de1245f9899463a817d43863bcee520741e50</id>
<content type='text'>
instead of mutating RubyVM::Instructions and letting the order of
`require` impact its behavior.

Now that we have both RubyVM::TraceInstruction and
RubyVM::ZJITInstruction, it feels too much of a tight coupling to rely
on `require` to be ordered properly.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
instead of mutating RubyVM::Instructions and letting the order of
`require` impact its behavior.

Now that we have both RubyVM::TraceInstruction and
RubyVM::ZJITInstruction, it feels too much of a tight coupling to rely
on `require` to be ordered properly.</pre>
</div>
</content>
</entry>
<entry>
<title>Rename VM instruction classes to singular names (#14507)</title>
<updated>2025-09-10T21:04:33+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-09-10T21:04:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0cec87399df1cdff47f5b7bcfa6a804a2ebd7868'/>
<id>0cec87399df1cdff47f5b7bcfa6a804a2ebd7868</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Invalidate local variables on EP escape (#14448)</title>
<updated>2025-09-05T18:26:01+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-09-05T18:26:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4f030951f28aad7080d8b60a28148ec0b3636d58'/>
<id>4f030951f28aad7080d8b60a28148ec0b3636d58</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark leaf defined instructions as leaf</title>
<updated>2025-09-05T17:29:17+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2025-09-05T17:29:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ce20d68dae210aab2df8078014a563530321e7db'/>
<id>ce20d68dae210aab2df8078014a563530321e7db</id>
<content type='text'>
For example, `defined?(yield)` never calls a method, so it's leaf.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For example, `defined?(yield)` never calls a method, so it's leaf.</pre>
</div>
</content>
</entry>
<entry>
<title>bare_instructions.rb: Remove unused always_leaf?</title>
<updated>2025-09-05T16:24:56+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-09-05T16:24:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=30f32a048cdb5d854a413675b8b94b8feffc628e'/>
<id>30f32a048cdb5d854a413675b8b94b8feffc628e</id>
<content type='text'>
83bc6ced920c51ffc3783b03f2e1c7f89f5c2fd5 was the last use of it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
83bc6ced920c51ffc3783b03f2e1c7f89f5c2fd5 was the last use of it.
</pre>
</div>
</content>
</entry>
<entry>
<title>insns.def: Drop unused leafness_of_check_ints</title>
<updated>2025-09-05T16:15:00+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-09-05T16:14:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=799d57bd0178168c977cc0c2b45ff3a5f01d1297'/>
<id>799d57bd0178168c977cc0c2b45ff3a5f01d1297</id>
<content type='text'>
It was used to let MJIT override the leafness of the instruction when it
decides to remove check_ints for it. Now that MJIT is gone, nobody needs
to "override" the leafness using this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was used to let MJIT override the leafness of the instruction when it
decides to remove check_ints for it. Now that MJIT is gone, nobody needs
to "override" the leafness using this.
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop unused tool/ruby_vm/views/_insn_sp_pc_dependency.erb</title>
<updated>2025-09-04T23:42:47+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-09-04T23:42:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=83bc6ced920c51ffc3783b03f2e1c7f89f5c2fd5'/>
<id>83bc6ced920c51ffc3783b03f2e1c7f89f5c2fd5</id>
<content type='text'>
MJIT was probably the last user of it. It's not even part of
build dependencies now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MJIT was probably the last user of it. It's not even part of
build dependencies now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add an include guard for insns_info.inc</title>
<updated>2025-05-02T14:47:57+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2025-05-01T08:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=aafd10616d8b0b3331d80d69e8001651d9e30c91'/>
<id>aafd10616d8b0b3331d80d69e8001651d9e30c91</id>
<content type='text'>
The JIT bindgens need this.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The JIT bindgens need this.
</pre>
</div>
</content>
</entry>
<entry>
<title>Explain a missing USE_ZJIT check on rb_vm_max_insn_name_size</title>
<updated>2025-04-29T18:10:49+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-04-29T18:10:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9cdc46587d8dbe55201acbf90e20523479b6c03c'/>
<id>9cdc46587d8dbe55201acbf90e20523479b6c03c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ZJIT: Disable ZJIT instructions when USE_ZJIT is 0 (#13199)</title>
<updated>2025-04-29T18:03:13+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2025-04-29T18:03:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0f3d6ee57825f6ecbcbab797ef8e9ca9f84bc095'/>
<id>0f3d6ee57825f6ecbcbab797ef8e9ca9f84bc095</id>
<content type='text'>
* ZJIT: Disable ZJIT instructions when USE_ZJIT is 0

* Test the order of ZJIT instructions

* Add more jobs that disable JITs

* Show instruction names in the message</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* ZJIT: Disable ZJIT instructions when USE_ZJIT is 0

* Test the order of ZJIT instructions

* Add more jobs that disable JITs

* Show instruction names in the message</pre>
</div>
</content>
</entry>
</feed>
