<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/builtin.h, 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>Remove MJIT's builtin function compiler</title>
<updated>2023-03-08T07:16:24+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2023-03-08T07:14:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e93e780f3d37705a26a9160c60cc92255c1ff60a'/>
<id>e93e780f3d37705a26a9160c60cc92255c1ff60a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>MJIT: Use a String buffer in builtin compilers</title>
<updated>2022-11-28T05:11:33+00:00</updated>
<author>
<name>Takashi Kokubun</name>
<email>takashikkbn@gmail.com</email>
</author>
<published>2022-11-27T23:15:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6844bcc6b4cdc50def1c0d30d4e8b5045fb43443'/>
<id>6844bcc6b4cdc50def1c0d30d4e8b5045fb43443</id>
<content type='text'>
instead of FILE*.

Using C.fprintf is slower than String manipulation on memory. I'm going
to change the way MJIT writes files, and this is a prerequisite for it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
instead of FILE*.

Using C.fprintf is slower than String manipulation on memory. I'm going
to change the way MJIT writes files, and this is a prerequisite for it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Built-in function table sentinels do not need names</title>
<updated>2022-09-09T05:20:47+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-09-09T02:51:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2dcaeb75ff0e0a2fbafc4df0df9d7be119235415'/>
<id>2dcaeb75ff0e0a2fbafc4df0df9d7be119235415</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Typedef built-in function types</title>
<updated>2022-06-02T07:05:35+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2022-06-02T07:03:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=af90433876556d84809ef5ae82f9161aaf9ce69f'/>
<id>af90433876556d84809ef5ae82f9161aaf9ce69f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>`rb_vm_lvar_exposed()` is PUREFUNC</title>
<updated>2021-11-15T04:11:30+00:00</updated>
<author>
<name>Koichi Sasada</name>
<email>ko1@atdot.net</email>
</author>
<published>2021-11-15T01:18:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1ab6f2b4a232d41199268c6ae019941459ad5e33'/>
<id>1ab6f2b4a232d41199268c6ae019941459ad5e33</id>
<content type='text'>
This function is used in `rb_vm_lvar()` and this function can be
unsed (generated into *.rbinc files automatically).
`rb_vm_lvar()` is already declared as a PUREFUNC, but
`rb_vm_lvar_exposed()` is not a PUREFUNC, so `rb_vm_lvar_exposed()`
is remained even if it is unused.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This function is used in `rb_vm_lvar()` and this function can be
unsed (generated into *.rbinc files automatically).
`rb_vm_lvar()` is already declared as a PUREFUNC, but
`rb_vm_lvar_exposed()` is not a PUREFUNC, so `rb_vm_lvar_exposed()`
is remained even if it is unused.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix trivial -Wundef warnings</title>
<updated>2021-05-04T12:56:55+00:00</updated>
<author>
<name>Benoit Daloze</name>
<email>eregontp@gmail.com</email>
</author>
<published>2021-04-29T12:31:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=68d6bd0873557c12bec6f8e0f8db622f1499d8a7'/>
<id>68d6bd0873557c12bec6f8e0f8db622f1499d8a7</id>
<content type='text'>
* See [Feature #17752]

Co-authored-by: xtkoba (Tee KOBAYASHI) &lt;xtkoba+ruby@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* See [Feature #17752]

Co-authored-by: xtkoba (Tee KOBAYASHI) &lt;xtkoba+ruby@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>skip inlining cexpr! that are not attr! inline</title>
<updated>2020-07-16T02:49:09+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2020-07-13T02:43:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1fb4e28002327c1224c3ed32783160b011f14747'/>
<id>1fb4e28002327c1224c3ed32783160b011f14747</id>
<content type='text'>
Requested by ko1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Requested by ko1.
</pre>
</div>
</content>
</entry>
<entry>
<title>mk_builtin_loader.rb: STACK_ADDR_FROM_TOP unusable</title>
<updated>2020-07-13T03:30:43+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2020-07-13T03:27:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=927fe2422fe8ca3ee50b76c3ee82d3238ea2daca'/>
<id>927fe2422fe8ca3ee50b76c3ee82d3238ea2daca</id>
<content type='text'>
Stacks are emulated in MJIT, must not touch the original VM stack.

See also http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3061353
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stacks are emulated in MJIT, must not touch the original VM stack.

See also http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3061353
</pre>
</div>
</content>
</entry>
<entry>
<title>builtin.h: avoid copy&amp;paste</title>
<updated>2020-07-12T23:56:18+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2020-07-12T05:53:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7e536b3be26ae48738a036a58be8dfa380bd21da'/>
<id>7e536b3be26ae48738a036a58be8dfa380bd21da</id>
<content type='text'>
Instead of doubling the invokebuiltin logic here and there, use the same
insns.def definition for both MJIT/non-JIT situations.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of doubling the invokebuiltin logic here and there, use the same
insns.def definition for both MJIT/non-JIT situations.
</pre>
</div>
</content>
</entry>
<entry>
<title>precalc invokebuiltin destinations</title>
<updated>2020-07-12T23:56:18+00:00</updated>
<author>
<name>卜部昌平</name>
<email>shyouhei@ruby-lang.org</email>
</author>
<published>2020-07-09T12:43:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f66e0212efe4f6572d5e81741e831ab735cc2fee'/>
<id>f66e0212efe4f6572d5e81741e831ab735cc2fee</id>
<content type='text'>
Noticed that struct rb_builtin_function is a purely compile-time
constant.  MJIT can eliminate some runtime calculations by statically
generate dedicated C code generator for each builtin functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Noticed that struct rb_builtin_function is a purely compile-time
constant.  MJIT can eliminate some runtime calculations by statically
generate dedicated C code generator for each builtin functions.
</pre>
</div>
</content>
</entry>
</feed>
