<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/mjit.h, branch v3_2_11</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>MJIT: Cancel all on disastrous situations (#7019)</title>
<updated>2022-12-24T09:13:40+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-12-24T09:13:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b9332ac8e7126066ac4238443d63eaa4c06789f9'/>
<id>b9332ac8e7126066ac4238443d63eaa4c06789f9</id>
<content type='text'>
I noticed this while running test_yjit with --mjit-call-threshold=1, 
which redefines `Integer#&lt;`. When Ruby is monkey-patched, 
MJIT itself could be broken.

Similarly, Ruby scripts could break MJIT in many different ways. I
prepared the same set of hooks as YJIT so that we could possibly
override it and disable it on those moments. Every constant under
RubyVM::MJIT is private and thus it's an unsupported behavior though.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I noticed this while running test_yjit with --mjit-call-threshold=1, 
which redefines `Integer#&lt;`. When Ruby is monkey-patched, 
MJIT itself could be broken.

Similarly, Ruby scripts could break MJIT in many different ways. I
prepared the same set of hooks as YJIT so that we could possibly
override it and disable it on those moments. Every constant under
RubyVM::MJIT is private and thus it's an unsupported behavior though.</pre>
</div>
</content>
</entry>
<entry>
<title>MJIT: Give a more appropriate name to the initial state</title>
<updated>2022-12-09T06:58:40+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-12-09T06:58:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=97ed056274f4b1f5a174f9ed45aecba4d3c37568'/>
<id>97ed056274f4b1f5a174f9ed45aecba4d3c37568</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MJIT: Drop an obsoleted explanation [ci skip]</title>
<updated>2022-12-09T06:40:56+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-12-09T06:40:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bfc225764e2b52126b1ff6632de9e9ac6a0aa15d'/>
<id>bfc225764e2b52126b1ff6632de9e9ac6a0aa15d</id>
<content type='text'>
There's no MJIT worker thread anymore
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's no MJIT worker thread anymore
</pre>
</div>
</content>
</entry>
<entry>
<title>Use a ruby-lang alias [ci skip]</title>
<updated>2022-12-09T06:40:56+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-12-09T06:38:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=33aa06e3e6570b7549440dbd2908ba5eee2ce19c'/>
<id>33aa06e3e6570b7549440dbd2908ba5eee2ce19c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MJIT: Refactor mjit_wait</title>
<updated>2022-12-07T07:21:19+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-12-07T07:16:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=17d45feeb6291c407e00b20a7f16ac472c7b1ef9'/>
<id>17d45feeb6291c407e00b20a7f16ac472c7b1ef9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MJIT: Remove obsoleted MJIT counters</title>
<updated>2022-12-07T07:05:00+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-12-07T07:01:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=57cb4a817916637eaeb4732f56c5aa5b748a4349'/>
<id>57cb4a817916637eaeb4732f56c5aa5b748a4349</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MJIT: Refactor the jit_func enum for MJIT</title>
<updated>2022-12-07T05:36:58+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-12-07T05:27:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e6b63b382c30cb665d24853f745586a157ae58f3'/>
<id>e6b63b382c30cb665d24853f745586a157ae58f3</id>
<content type='text'>
All values should have a MJIT_ prefix. We could address the warning for
the end mark if we just define the macro for the check next to the enum.
It even simplifies some code for checking the enum.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All values should have a MJIT_ prefix. We could address the warning for
the end mark if we just define the macro for the check next to the enum.
It even simplifies some code for checking the enum.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename --mjit-min-calls to --mjit-call-threshold (#6731)</title>
<updated>2022-11-15T07:38:52+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-11-15T07:38:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d15d1c01c28f63888475f8016adbc8b4f982b573'/>
<id>d15d1c01c28f63888475f8016adbc8b4f982b573</id>
<content type='text'>
for consistency with YJIT</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
for consistency with YJIT</pre>
</div>
</content>
</entry>
<entry>
<title>s/mjit_func_t/jit_func_t/</title>
<updated>2022-11-13T22:41:08+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-11-13T22:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e377875cff5dd93758296180c3bd6a35c3bbbc12'/>
<id>e377875cff5dd93758296180c3bd6a35c3bbbc12</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make mjit_cont sharable with YJIT (#6556)</title>
<updated>2022-10-17T16:27:59+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-10-17T16:27:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e7c71c6c9271b0c29f210769159090e17128e740'/>
<id>e7c71c6c9271b0c29f210769159090e17128e740</id>
<content type='text'>
* Make mjit_cont sharable with YJIT

* Update dependencies

* Update YJIT binding</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Make mjit_cont sharable with YJIT

* Update dependencies

* Update YJIT binding</pre>
</div>
</content>
</entry>
</feed>
