<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ruby.git/node.c, branch maximecb-patch-2</title>
<subtitle>github.com: ruby/ruby.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/'/>
<entry>
<title>Show node IDs in dump</title>
<updated>2021-07-12T03:10:16+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-07-12T03:10:16+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=6504ca006b4a97ca875d629b5dcf942b3b8fd72a'/>
<id>6504ca006b4a97ca875d629b5dcf942b3b8fd72a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ast.rb: RubyVM::AST.parse and .of accepts `save_script_lines: true`</title>
<updated>2021-06-17T17:34:27+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2021-06-17T14:43:08+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=acae5f363dfaedd9c2873cee68c9498da3c072f5'/>
<id>acae5f363dfaedd9c2873cee68c9498da3c072f5</id>
<content type='text'>
This option makes the parser keep the original source as an array of
the original code lines. This feature exploits the mechanism of
`SCRIPT_LINES__` but records only the specified code that is passed to
RubyVM::AST.of or .parse, instead of recording all parsed program texts.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This option makes the parser keep the original source as an array of
the original code lines. This feature exploits the mechanism of
`SCRIPT_LINES__` but records only the specified code that is passed to
RubyVM::AST.of or .parse, instead of recording all parsed program texts.
</pre>
</div>
</content>
</entry>
<entry>
<title>Partially revert 2c7d3b3a722c4636ab1e9d289cbca47ddd168d3e</title>
<updated>2021-04-27T08:05:19+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2021-04-27T06:31:19+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=e48109d86fa06584a79610ecd5cb16f0bbd64e8c'/>
<id>e48109d86fa06584a79610ecd5cb16f0bbd64e8c</id>
<content type='text'>
to make imemo_ast WB-protected again. Only the test is kept.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
to make imemo_ast WB-protected again. Only the test is kept.
</pre>
</div>
</content>
</entry>
<entry>
<title>node.c (rb_ast_new): imemo_ast is WB-unprotected</title>
<updated>2021-04-26T13:46:51+00:00</updated>
<author>
<name>Yusuke Endoh</name>
<email>mame@ruby-lang.org</email>
</author>
<published>2021-04-26T09:11:46+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=2c7d3b3a722c4636ab1e9d289cbca47ddd168d3e'/>
<id>2c7d3b3a722c4636ab1e9d289cbca47ddd168d3e</id>
<content type='text'>
Previously imemo_ast was handled as WB-protected which caused a segfault
of the following code:

    # shareable_constant_value: literal
    M0 = {}
    M1 = {}
    ...
    M100000 = {}

My analysis is here: `shareable_constant_value: literal` creates many
Hash instances during parsing, and add them to node_buffer of imemo_ast.
However, the contents are missed because imemo_ast is incorrectly
WB-protected.

This changeset makes imemo_ast as WB-unprotected.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously imemo_ast was handled as WB-protected which caused a segfault
of the following code:

    # shareable_constant_value: literal
    M0 = {}
    M1 = {}
    ...
    M100000 = {}

My analysis is here: `shareable_constant_value: literal` creates many
Hash instances during parsing, and add them to node_buffer of imemo_ast.
However, the contents are missed because imemo_ast is incorrectly
WB-protected.

This changeset makes imemo_ast as WB-unprotected.
</pre>
</div>
</content>
</entry>
<entry>
<title>NODE markability should not change by nd_set_type</title>
<updated>2021-01-14T07:12:02+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2021-01-14T06:42:45+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=c060bdc2b4ab8eeef5374f4174f5de48ab936d74'/>
<id>c060bdc2b4ab8eeef5374f4174f5de48ab936d74</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change NODE layout for pattern matching</title>
<updated>2020-11-01T07:19:07+00:00</updated>
<author>
<name>Kazuki Tsujimoto</name>
<email>kazuki@callcc.net</email>
</author>
<published>2020-11-01T07:19:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=e03e1982bdc2d815298b211d44534908d79aec4e'/>
<id>e03e1982bdc2d815298b211d44534908d79aec4e</id>
<content type='text'>
I prefer pconst to be the first element of NODE.

  Before:

       | ARYPTN | FNDPTN | HSHPTN
    ---+--------+--------+-----------
    u1 | imemo  | imemo  | pkwargs
    u2 | pconst | pconst | pconst
    u3 | apinfo | fpinfo | pkwrestarg

  After:

       | ARYPTN | FNDPTN | HSHPTN
    ---+--------+--------+-----------
    u1 | pconst | pconst | pconst
    u2 | imemo  | imemo  | pkwargs
    u3 | apinfo | fpinfo | pkwrestarg
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I prefer pconst to be the first element of NODE.

  Before:

       | ARYPTN | FNDPTN | HSHPTN
    ---+--------+--------+-----------
    u1 | imemo  | imemo  | pkwargs
    u2 | pconst | pconst | pconst
    u3 | apinfo | fpinfo | pkwrestarg

  After:

       | ARYPTN | FNDPTN | HSHPTN
    ---+--------+--------+-----------
    u1 | pconst | pconst | pconst
    u2 | imemo  | imemo  | pkwargs
    u3 | apinfo | fpinfo | pkwrestarg
</pre>
</div>
</content>
</entry>
<entry>
<title>Dump FrozenCore specially</title>
<updated>2020-10-20T14:52:19+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2020-10-20T10:32:10+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=081cc4eb283cb01ddffb364397e5175dbfacab66'/>
<id>081cc4eb283cb01ddffb364397e5175dbfacab66</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Unfreeze string-literal-only interpolated string-literal</title>
<updated>2020-09-30T13:15:28+00:00</updated>
<author>
<name>Nobuyoshi Nakada</name>
<email>nobu@ruby-lang.org</email>
</author>
<published>2020-09-02T14:12:22+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=7b2bea42a245f2e80b5d2700963fd6b143f6d6b8'/>
<id>7b2bea42a245f2e80b5d2700963fd6b143f6d6b8</id>
<content type='text'>
[Feature #17104]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Feature #17104]
</pre>
</div>
</content>
</entry>
<entry>
<title>rb_{ary,fnd}_pattern_info: Remove imemo member to reduce memory usage</title>
<updated>2020-08-01T16:04:06+00:00</updated>
<author>
<name>Kazuki Tsujimoto</name>
<email>kazuki@callcc.net</email>
</author>
<published>2020-08-01T16:03:43+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=fcdbdff631a1a6bcc2229d448ed7c76041fe3258'/>
<id>fcdbdff631a1a6bcc2229d448ed7c76041fe3258</id>
<content type='text'>
This is a partial revert commit of 8f096226e1b76f95f4d853d3dea2bc75eeeb5244.

NODE layout:

  Before:

       | ARYPTN | FNDPTN | HSHPTN
    ---+--------+--------+-----------
    u1 | pconst | pconst | pconst
    u2 | unused | unused | pkwargs
    u3 | apinfo | fpinfo | pkwrestarg

  After:

       | ARYPTN | FNDPTN | HSHPTN
    ---+--------+--------+-----------
    u1 | imemo  | imemo  | pkwargs
    u2 | pconst | pconst | pconst
    u3 | apinfo | fpinfo | pkwrestarg
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a partial revert commit of 8f096226e1b76f95f4d853d3dea2bc75eeeb5244.

NODE layout:

  Before:

       | ARYPTN | FNDPTN | HSHPTN
    ---+--------+--------+-----------
    u1 | pconst | pconst | pconst
    u2 | unused | unused | pkwargs
    u3 | apinfo | fpinfo | pkwrestarg

  After:

       | ARYPTN | FNDPTN | HSHPTN
    ---+--------+--------+-----------
    u1 | imemo  | imemo  | pkwargs
    u2 | pconst | pconst | pconst
    u3 | apinfo | fpinfo | pkwrestarg
</pre>
</div>
</content>
</entry>
<entry>
<title>NODE_MATCH needs reference updating</title>
<updated>2020-07-30T18:11:13+00:00</updated>
<author>
<name>Aaron Patterson</name>
<email>aaron.patterson@gmail.com</email>
</author>
<published>2020-07-28T19:56:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby.git/commit/?id=753351999052034c70f740cddb310428d79beb7d'/>
<id>753351999052034c70f740cddb310428d79beb7d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
