<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/marshal.c, branch v4.0.3</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>[Bug #21652] [DOC] Update unmarshalable object list</title>
<updated>2025-10-29T01:07:32+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-10-29T01:07:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d17ce4bd05dc05d48f5f4bc75171fcebda1678ed'/>
<id>d17ce4bd05dc05d48f5f4bc75171fcebda1678ed</id>
<content type='text'>
The `Data` mentioned here was the old `T_DATA` class, not the current
extended `Struct`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `Data` mentioned here was the old `T_DATA` class, not the current
extended `Struct`.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #21629] Initialize `struct RString`</title>
<updated>2025-10-08T09:19:47+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-10-08T09:19:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=2bb6fe3854e2a4854bb89bfce4eaaea9d848fd1b'/>
<id>2bb6fe3854e2a4854bb89bfce4eaaea9d848fd1b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert `marshal_compat_table` to use `rb_gc_mark_and_move`</title>
<updated>2025-08-07T19:00:00+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-08-07T12:38:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=846b5eec57ad2c030b7136d89193215055529c4a'/>
<id>846b5eec57ad2c030b7136d89193215055529c4a</id>
<content type='text'>
The `p-&gt;field = rb_gc_location(p-&gt;field)` isn't ideal because it means all
references are rewritten on compaction, regardless of whether the referenced
object has moved. This isn't good for caches nor for Copy-on-Write.

`rb_gc_mark_and_move` avoid needless writes, and most of the time allow to
have a single function for both marking and updating references.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `p-&gt;field = rb_gc_location(p-&gt;field)` isn't ideal because it means all
references are rewritten on compaction, regardless of whether the referenced
object has moved. This isn't good for caches nor for Copy-on-Write.

`rb_gc_mark_and_move` avoid needless writes, and most of the time allow to
have a single function for both marking and updating references.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix early write barrier rb_marshal_define_compat</title>
<updated>2025-06-17T22:33:20+00:00</updated>
<author>
<name>John Hawthorn</name>
<email>john@hawthorn.email</email>
</author>
<published>2025-06-10T18:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c6a6645495d849735132162187bd8a69c009b7c6'/>
<id>c6a6645495d849735132162187bd8a69c009b7c6</id>
<content type='text'>
This write barrier occurred before the entry was added to the table, so
if GC occurred when inserting into the table, the write could be missed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This write barrier occurred before the entry was added to the table, so
if GC occurred when inserting into the table, the write could be missed.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bug #20009] Support marshaling non-ASCII name class/module</title>
<updated>2025-05-16T12:22:33+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-05-16T11:45:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=097d742a1ed53afb91e83aef01365d68b763357b'/>
<id>097d742a1ed53afb91e83aef01365d68b763357b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>namespace on read</title>
<updated>2025-05-11T14:32:50+00:00</updated>
<author>
<name>Satoshi Tagomori</name>
<email>tagomoris@gmail.com</email>
</author>
<published>2025-04-30T04:48:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=382645d440d5da66a0c04557f3ff2ca226de3a27'/>
<id>382645d440d5da66a0c04557f3ff2ca226de3a27</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename `RB_OBJ_SHAPE` -&gt; `rb_obj_shape`</title>
<updated>2025-05-09T08:22:51+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-05-09T06:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ea772508470fbde15154c816b36fdf70f4c8735a'/>
<id>ea772508470fbde15154c816b36fdf70f4c8735a</id>
<content type='text'>
As well as `RB_OBJ_SHAPE_ID` -&gt; `rb_obj_shape_id`
and `RSHAPE` is now a simple alias for `rb_shape_lookup`.

I tried to turn all these into `static inline` but I'm having
trouble with `RUBY_EXTERN rb_shape_tree_t *rb_shape_tree_ptr;`
not being exposed as I'd expect.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As well as `RB_OBJ_SHAPE_ID` -&gt; `rb_obj_shape_id`
and `RSHAPE` is now a simple alias for `rb_shape_lookup`.

I tried to turn all these into `static inline` but I'm having
trouble with `RUBY_EXTERN rb_shape_tree_t *rb_shape_tree_ptr;`
not being exposed as I'd expect.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename `rb_shape_get_shape_id` -&gt; `RB_OBJ_SHAPE_ID`</title>
<updated>2025-05-09T08:22:51+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-05-08T19:01:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5782561fc105164baf95037dc5bab44c48ef1e76'/>
<id>5782561fc105164baf95037dc5bab44c48ef1e76</id>
<content type='text'>
And `rb_shape_get_shape` -&gt; `RB_OBJ_SHAPE`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And `rb_shape_get_shape` -&gt; `RB_OBJ_SHAPE`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor `rb_shape_depth` to take an ID rather than a pointer.</title>
<updated>2025-05-09T08:22:51+00:00</updated>
<author>
<name>Jean Boussier</name>
<email>jean.boussier@gmail.com</email>
</author>
<published>2025-05-08T16:20:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=e4f97ce38725a22fb75c60d8114ce47af9c423a8'/>
<id>e4f97ce38725a22fb75c60d8114ce47af9c423a8</id>
<content type='text'>
As well as `rb_shape_edges_count` and `rb_shape_memsize`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As well as `rb_shape_edges_count` and `rb_shape_memsize`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Suppress gcc 15 unterminated-string-initialization warnings</title>
<updated>2025-04-30T11:04:10+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2025-04-30T09:35:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b42afa1dbcbb91e89852b3b3bc72484d7f0a5528'/>
<id>b42afa1dbcbb91e89852b3b3bc72484d7f0a5528</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
