<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/darray.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>Remove _with_gc functions in darray</title>
<updated>2022-05-03T13:07:39+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2022-05-02T18:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fe7c02c7444495679ff88f957c327b2d46c8e143'/>
<id>fe7c02c7444495679ff88f957c327b2d46c8e143</id>
<content type='text'>
darray was used in YJIT which required the functions to not trigger GC.
YJIT has now moved to Rust and does not use darray anymore, so we can
remove the functions that don't trigger GC and only keep the ones that
trigger GC.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
darray was used in YJIT which required the functions to not trigger GC.
YJIT has now moved to Rust and does not use darray anymore, so we can
remove the functions that don't trigger GC and only keep the ones that
trigger GC.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change feature_index from fake Array to darray</title>
<updated>2022-02-16T14:50:29+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2022-02-15T14:57:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=969ad5802dfe60c254f2f30514233b05ece8049c'/>
<id>969ad5802dfe60c254f2f30514233b05ece8049c</id>
<content type='text'>
Using a fake (malloc) RArray is not friendly for the garbage
collector. Fake RArray does not have a heap page, so it causes Variable
Width Allocation to crash when we try to implement it on Arrays.

This commit changes feature_index from a RArray to a darray.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using a fake (malloc) RArray is not friendly for the garbage
collector. Fake RArray does not have a heap page, so it causes Variable
Width Allocation to crash when we try to implement it on Arrays.

This commit changes feature_index from a RArray to a darray.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change darray size to size_t and add functions that use GC malloc</title>
<updated>2022-02-16T14:50:29+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2022-02-15T14:55:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=71afa8164d40f18306fc2ee5a1ccc74f2926379b'/>
<id>71afa8164d40f18306fc2ee5a1ccc74f2926379b</id>
<content type='text'>
Changes size and capacity of darray to size_t to support more
elements.

Adds functions to darray that use GC allocation functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes size and capacity of darray to size_t to support more
elements.

Adds functions to darray that use GC allocation functions.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add rb_darray_clear() for Kevin. Fix some warnings.</title>
<updated>2021-10-20T22:19:40+00:00</updated>
<author>
<name>Maxime Chevalier-Boisvert</name>
<email>maxime.chevalierboisvert@shopify.com</email>
</author>
<published>2021-09-09T19:35:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=11599e5e1ebed485089a994753a9c3c79416c037'/>
<id>11599e5e1ebed485089a994753a9c3c79416c037</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Malloc branch entries (#112)</title>
<updated>2021-10-20T22:19:33+00:00</updated>
<author>
<name>Maxime Chevalier-Boisvert</name>
<email>maximechevalierb@gmail.com</email>
</author>
<published>2021-04-19T21:07:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=0cc73ca2a9a2aa5276cd022be9891475a15ecee3'/>
<id>0cc73ca2a9a2aa5276cd022be9891475a15ecee3</id>
<content type='text'>
* Malloc branch entries

* Add ASM comment for stack overflow check

* WIP

* Fix branch GC code. Add rb_darray_remove_unordered().

* Fix block end_pos after branch rewriting. Remove dst_patched bits.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Malloc branch entries

* Add ASM comment for stack overflow check

* WIP

* Fix branch GC code. Add rb_darray_remove_unordered().

* Fix block end_pos after branch rewriting. Remove dst_patched bits.</pre>
</div>
</content>
</entry>
<entry>
<title>Remove trailing whitespaces</title>
<updated>2021-10-20T22:19:31+00:00</updated>
<author>
<name>Maxime Chevalier-Boisvert</name>
<email>maxime.chevalierboisvert@shopify.com</email>
</author>
<published>2021-03-11T19:15:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=fe3bd570072b35e47e03ea23e2bc42a4d8a7681d'/>
<id>fe3bd570072b35e47e03ea23e2bc42a4d8a7681d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>YJIT: Use 2D array to group block versions</title>
<updated>2021-10-20T22:19:31+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2021-03-04T20:31:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7de8ce4efcfd23515d4e4b6a6f80e142438df758'/>
<id>7de8ce4efcfd23515d4e4b6a6f80e142438df758</id>
<content type='text'>
For deferred compilation, we sometimes want to care about the order of
the block versions. Use an array instead of a linked list to do that.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For deferred compilation, we sometimes want to care about the order of
the block versions. Use an array instead of a linked list to do that.
</pre>
</div>
</content>
</entry>
<entry>
<title>darray: fix strict aliasing issue</title>
<updated>2021-10-20T22:19:30+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2021-02-19T16:02:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9ce27716972951ed610d048fbf42db9b1c9f42b4'/>
<id>9ce27716972951ed610d048fbf42db9b1c9f42b4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add rb_darray_make</title>
<updated>2021-10-20T22:19:30+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2021-02-17T01:49:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2240932b6421d15208c85f199199f686ff3b5690'/>
<id>2240932b6421d15208c85f199199f686ff3b5690</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>darray: fix buffer size calculation for element with strict alignment</title>
<updated>2021-10-20T22:19:30+00:00</updated>
<author>
<name>Alan Wu</name>
<email>XrXr@users.noreply.github.com</email>
</author>
<published>2021-02-17T01:48:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=47e05fca10e4a759283849d7ce73ffa1eee40306'/>
<id>47e05fca10e4a759283849d7ce73ffa1eee40306</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
