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

ruby-changes:65974

From: Yusuke <ko1@a...>
Date: Tue, 27 Apr 2021 17:05:44 +0900 (JST)
Subject: [ruby-changes:65974] e48109d86f (master): Partially revert 2c7d3b3a722c4636ab1e9d289cbca47ddd168d3e

https://git.ruby-lang.org/ruby.git/commit/?id=e48109d86f

From e48109d86fa06584a79610ecd5cb16f0bbd64e8c Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Tue, 27 Apr 2021 15:31:19 +0900
Subject: Partially revert 2c7d3b3a722c4636ab1e9d289cbca47ddd168d3e

to make imemo_ast WB-protected again. Only the test is kept.
---
 gc.c             | 7 -------
 internal/imemo.h | 1 -
 node.c           | 2 +-
 3 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/gc.c b/gc.c
index c7e9754..4d78b85 100644
--- a/gc.c
+++ b/gc.c
@@ -2435,13 +2435,6 @@ rb_imemo_new(enum imemo_type type, VALUE v1, VALUE v2, VALUE v3, VALUE v0) https://github.com/ruby/ruby/blob/trunk/gc.c#L2435
     return newobj_of(v0, flags, v1, v2, v3, TRUE);
 }
 
-rb_ast_t *
-rb_imemo_ast_new(VALUE node_buffer)
-{
-    VALUE flags = T_IMEMO | (imemo_ast << FL_USHIFT);
-    return (rb_ast_t *)newobj_of(node_buffer, flags, 0, 0, 0, FALSE);
-}
-
 static VALUE
 rb_imemo_tmpbuf_new(VALUE v1, VALUE v2, VALUE v3, VALUE v0)
 {
diff --git a/internal/imemo.h b/internal/imemo.h
index 102356c..a9e2136 100644
--- a/internal/imemo.h
+++ b/internal/imemo.h
@@ -130,7 +130,6 @@ struct MEMO { https://github.com/ruby/ruby/blob/trunk/internal/imemo.h#L130
 
 typedef struct rb_imemo_tmpbuf_struct rb_imemo_tmpbuf_t;
 VALUE rb_imemo_new(enum imemo_type type, VALUE v1, VALUE v2, VALUE v3, VALUE v0);
-struct rb_ast_struct *rb_imemo_ast_new(VALUE node_buffer);
 rb_imemo_tmpbuf_t *rb_imemo_tmpbuf_parser_heap(void *buf, rb_imemo_tmpbuf_t *old_heap, size_t cnt);
 struct vm_ifunc *rb_vm_ifunc_new(rb_block_call_func_t func, const void *data, int min_argc, int max_argc);
 void rb_strterm_mark(VALUE obj);
diff --git a/node.c b/node.c
index 2392d5b..bef9d7b 100644
--- a/node.c
+++ b/node.c
@@ -1299,7 +1299,7 @@ rb_ast_t * https://github.com/ruby/ruby/blob/trunk/node.c#L1299
 rb_ast_new(void)
 {
     node_buffer_t *nb = rb_node_buffer_new();
-    rb_ast_t *ast = rb_imemo_ast_new((VALUE)nb);
+    rb_ast_t *ast = (rb_ast_t *)rb_imemo_new(imemo_ast, 0, 0, 0, (VALUE)nb);
     return ast;
 }
 
-- 
cgit v1.1


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

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