<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/darray.h, branch v3_4_9</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>Fix MEMMOVE in rb_darray_insert</title>
<updated>2024-12-24T14:40:12+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-12-23T15:55:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=07e89bde4693fa6b8da4c152f1cf91686d1823f1'/>
<id>07e89bde4693fa6b8da4c152f1cf91686d1823f1</id>
<content type='text'>
Ruby's MEMMOVE takes in the element data type for the third argument, not
the size of the element. What this did was do sizeof(sizeof( ... )) which
always returned sizeof(size_t).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ruby's MEMMOVE takes in the element data type for the third argument, not
the size of the element. What this did was do sizeof(sizeof( ... )) which
always returned sizeof(size_t).
</pre>
</div>
</content>
</entry>
<entry>
<title>darray.h does not depend on internal/bits.h</title>
<updated>2024-12-05T19:12:56+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-12-05T18:36:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7ccad5b9f81f5184511d0f0445e15a8a089feb00'/>
<id>7ccad5b9f81f5184511d0f0445e15a8a089feb00</id>
<content type='text'>
darray.h no longer depends on internal/bits.h, so we can remove it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
darray.h no longer depends on internal/bits.h, so we can remove it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Switch sorted list of pages in the GC to a darray</title>
<updated>2024-09-09T14:15:21+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-09-04T15:59:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b66d6e48c8832edebcf7e6d667d10702ddbce42c'/>
<id>b66d6e48c8832edebcf7e6d667d10702ddbce42c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unneeded rb_darray_append_impl</title>
<updated>2024-09-06T13:56:59+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-09-04T14:49:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6bf519ba8128a2dfa7f2f2bec92ca6321b39406a'/>
<id>6bf519ba8128a2dfa7f2f2bec92ca6321b39406a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove dependency on gc.h for darray.h</title>
<updated>2024-04-15T17:44:31+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-04-10T19:56:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=733d50f0a5744b87da09e274b23cb0519206b88e'/>
<id>733d50f0a5744b87da09e274b23cb0519206b88e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove with_gc functions in darray</title>
<updated>2024-04-02T17:26:24+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-04-01T18:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=24a740796050b72aa2d35339ba2a317d4eda7b75'/>
<id>24a740796050b72aa2d35339ba2a317d4eda7b75</id>
<content type='text'>
We can wrap in DURING_GC_COULD_MALLOC_REGION instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We can wrap in DURING_GC_COULD_MALLOC_REGION instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace assert with RUBY_ASSERT in darray.h</title>
<updated>2024-02-12T20:07:47+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2024-02-08T14:42:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=11ffee88b5a2ed67b4f181a48cf8eed772ae1c50'/>
<id>11ffee88b5a2ed67b4f181a48cf8eed772ae1c50</id>
<content type='text'>
assert does not print the bug report, only the file and line number of
the assertion that failed. RUBY_ASSERT prints the full bug report, which
makes it much easier to debug.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
assert does not print the bug report, only the file and line number of
the assertion that failed. RUBY_ASSERT prints the full bug report, which
makes it much easier to debug.
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement weak references in the GC</title>
<updated>2023-08-25T13:01:21+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2023-07-24T18:21:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bfb395c620b811b4b3cb7d535d58721268af285d'/>
<id>bfb395c620b811b4b3cb7d535d58721268af285d</id>
<content type='text'>
[Feature #19783]

This commit adds support for weak references in the GC through the
function `rb_gc_mark_weak`. Unlike strong references, weak references
does not mark the object, but rather lets the GC know that an object
refers to another one. If the child object is freed, the pointer from
the parent object is overwritten with `Qundef`.

Co-Authored-By: Jean Boussier &lt;byroot@ruby-lang.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Feature #19783]

This commit adds support for weak references in the GC through the
function `rb_gc_mark_weak`. Unlike strong references, weak references
does not mark the object, but rather lets the GC know that an object
refers to another one. If the child object is freed, the pointer from
the parent object is overwritten with `Qundef`.

Co-Authored-By: Jean Boussier &lt;byroot@ruby-lang.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add _without_gc functions to darray</title>
<updated>2023-08-25T13:01:21+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2023-07-24T14:42:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=633243958c1b19e7d934442e23ed3d7cc3d7691b'/>
<id>633243958c1b19e7d934442e23ed3d7cc3d7691b</id>
<content type='text'>
These functions manipulate darray without the possibility of triggering
GC, which is used for places that cannot trigger GC. These functions
crash when the allocation fails.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These functions manipulate darray without the possibility of triggering
GC, which is used for places that cannot trigger GC. These functions
crash when the allocation fails.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused code in darray.h</title>
<updated>2023-07-21T19:44:24+00:00</updated>
<author>
<name>Peter Zhu</name>
<email>peter@peterzhu.ca</email>
</author>
<published>2023-07-21T19:44:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=11deab7906bd12d3c706aa162cb082e8bccbd2a8'/>
<id>11deab7906bd12d3c706aa162cb082e8bccbd2a8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
