[前][次][番号順一覧][スレッド一覧]

ruby-changes:48532

From: mame <ko1@a...>
Date: Sat, 4 Nov 2017 22:31:51 +0900 (JST)
Subject: [ruby-changes:48532] mame:r60647 (trunk): parse.y (new_args_tail_gen): returns a NODE instead of imemo

mame	2017-11-04 22:31:46 +0900 (Sat, 04 Nov 2017)

  New Revision: 60647

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=60647

  Log:
    parse.y (new_args_tail_gen): returns a NODE instead of imemo
    
    `new_args_tail_gen` returned imemo, but the value was later accessed as
    `NODE*`.  This prevented change of NODE structure.

  Modified files:
    trunk/parse.y
Index: parse.y
===================================================================
--- parse.y	(revision 60646)
+++ parse.y	(revision 60647)
@@ -876,9 +876,11 @@ new_args_gen(struct parser_params *parse https://github.com/ruby/ruby/blob/trunk/parse.y#L876
 static inline VALUE
 new_args_tail_gen(struct parser_params *parser, VALUE k, VALUE kr, VALUE b)
 {
-    VALUE r = (VALUE)MEMO_NEW(k, kr, b);
-    add_mark_object(r);
-    return r;
+    NODE *t = rb_node_newnode(NODE_ARGS_AUX, k, kr, b);
+    add_mark_object(k);
+    add_mark_object(kr);
+    add_mark_object(b);
+    return (VALUE)t;
 }
 #define new_args_tail(k,kr,b,location) new_args_tail_gen(parser, (k),(kr),(b))
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]