<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/vm_exec.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>Add ISEQ_BODY macro</title>
<updated>2022-03-24T14:03:51+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2022-03-23T19:19:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5f10bd634fb6ae8f74a4ea730176233b0ca96954'/>
<id>5f10bd634fb6ae8f74a4ea730176233b0ca96954</id>
<content type='text'>
Use ISEQ_BODY macro to get the rb_iseq_constant_body of the ISeq. Using
this macro will make it easier for us to change the allocation strategy
of rb_iseq_constant_body when using Variable Width Allocation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use ISEQ_BODY macro to get the rb_iseq_constant_body of the ISeq. Using
this macro will make it easier for us to change the allocation strategy
of rb_iseq_constant_body when using Variable Width Allocation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the scraper</title>
<updated>2021-10-20T22:19:38+00:00</updated>
<author>
<name>Aaron Patterson</name>
<email>tenderlove@ruby-lang.org</email>
</author>
<published>2021-07-15T21:30:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=41f405c486a01c1a16c3f102c11d41c8fbbafe60'/>
<id>41f405c486a01c1a16c3f102c11d41c8fbbafe60</id>
<content type='text'>
Now that we're using the jit function entry point, we don't need the
scraper.  Thank you for your service, scraper. ❤️
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that we're using the jit function entry point, we don't need the
scraper.  Thank you for your service, scraper. ❤️
</pre>
</div>
</content>
</entry>
<entry>
<title>Yet Another Ruby JIT!</title>
<updated>2021-10-20T22:19:31+00:00</updated>
<author>
<name>Jose Narvaez</name>
<email>goyox86@gmail.com</email>
</author>
<published>2021-03-06T23:46:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4e2eb7695e9b45cb5d2ae757bdb5c2043d78be78'/>
<id>4e2eb7695e9b45cb5d2ae757bdb5c2043d78be78</id>
<content type='text'>
Renaming uJIT to YJIT. AKA s/ujit/yjit/g.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Renaming uJIT to YJIT. AKA s/ujit/yjit/g.
</pre>
</div>
</content>
</entry>
<entry>
<title>Restore interpreter regs in ujit hook. Implement leave bytecode.</title>
<updated>2021-10-20T22:19:28+00:00</updated>
<author>
<name>Maxime Chevalier-Boisvert</name>
<email>maxime.chevalierboisvert@shopify.com</email>
</author>
<published>2021-01-28T21:58:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2e561ff255ea69e50f2d53240332cfd96463ef06'/>
<id>2e561ff255ea69e50f2d53240332cfd96463ef06</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compilation for -DUSE_INSNS_COUNTER</title>
<updated>2021-10-20T22:19:24+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2020-10-01T19:16:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1159034cae1b6cd96639247a2e4892b32aae25dc'/>
<id>1159034cae1b6cd96639247a2e4892b32aae25dc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove printf family from the mjit header</title>
<updated>2021-09-10T23:41:32+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-09-09T14:21:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cd829bb078e6a3486d9b5ea57fc5111d289c1860'/>
<id>cd829bb078e6a3486d9b5ea57fc5111d289c1860</id>
<content type='text'>
Linking printf family functions makes mjit objects to link
unnecessary code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Linking printf family functions makes mjit objects to link
unnecessary code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Suppress unused-label warnings</title>
<updated>2021-08-22T11:16:44+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-08-22T11:16:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=877bfd1b44e7b95ea02f6d8805a35093903cd073'/>
<id>877bfd1b44e7b95ea02f6d8805a35093903cd073</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>RUBY_CONST_ASSERT: use STATIC_ASSERT instead</title>
<updated>2020-07-10T03:23:41+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2020-07-06T06:39:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=215c6fa3d012221d89420cbdf1416f65d7179a24'/>
<id>215c6fa3d012221d89420cbdf1416f65d7179a24</id>
<content type='text'>
Static assertions shall be done using STATIC_ASSERT these days.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Static assertions shall be done using STATIC_ASSERT these days.
</pre>
</div>
</content>
</entry>
<entry>
<title>add #include guard hack</title>
<updated>2020-04-13T07:06:00+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2020-04-10T05:11:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4ff3f205408ff8bb413d69151105d301858136ba'/>
<id>4ff3f205408ff8bb413d69151105d301858136ba</id>
<content type='text'>
According to MSVC manual (*1), cl.exe can skip including a header file
when that:

- contains #pragma once, or
- starts with #ifndef, or
- starts with #if ! defined.

GCC has a similar trick (*2), but it acts more stricter (e. g. there
must be _no tokens_ outside of #ifndef...#endif).

Sun C lacked #pragma once for a looong time.  Oracle Developer Studio
12.5 finally implemented it, but we cannot assume such recent version.

This changeset modifies header files so that each of them include
strictly one #ifndef...#endif.  I believe this is the most portable way
to trigger compiler optimizations. [Bug #16770]

*1: https://docs.microsoft.com/en-us/cpp/preprocessor/once
*2: https://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to MSVC manual (*1), cl.exe can skip including a header file
when that:

- contains #pragma once, or
- starts with #ifndef, or
- starts with #if ! defined.

GCC has a similar trick (*2), but it acts more stricter (e. g. there
must be _no tokens_ outside of #ifndef...#endif).

Sun C lacked #pragma once for a looong time.  Oracle Developer Studio
12.5 finally implemented it, but we cannot assume such recent version.

This changeset modifies header files so that each of them include
strictly one #ifndef...#endif.  I believe this is the most portable way
to trigger compiler optimizations. [Bug #16770]

*1: https://docs.microsoft.com/en-us/cpp/preprocessor/once
*2: https://gcc.gnu.org/onlinedocs/cppinternals/Guard-Macros.html
</pre>
</div>
</content>
</entry>
<entry>
<title>Add VM insns counter like debug_counter (#2789)</title>
<updated>2019-12-28T08:44:09+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2019-12-28T08:44:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a994b0aee73a78de1137f195fb252b3660199f0b'/>
<id>a994b0aee73a78de1137f195fb252b3660199f0b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
