1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Partially revert 2c7d3b3a72

to make imemo_ast WB-protected again. Only the test is kept.
This commit is contained in:
Yusuke Endoh 2021-04-27 15:31:19 +09:00
parent ede2616990
commit e48109d86f
Notes: git 2021-04-27 17:05:46 +09:00
3 changed files with 1 additions and 9 deletions

7
gc.c
View file

@ -2435,13 +2435,6 @@ rb_imemo_new(enum imemo_type type, VALUE v1, VALUE v2, VALUE v3, VALUE v0)
return newobj_of(v0, flags, v1, v2, v3, TRUE); 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 static VALUE
rb_imemo_tmpbuf_new(VALUE v1, VALUE v2, VALUE v3, VALUE v0) rb_imemo_tmpbuf_new(VALUE v1, VALUE v2, VALUE v3, VALUE v0)
{ {

View file

@ -130,7 +130,6 @@ struct MEMO {
typedef struct rb_imemo_tmpbuf_struct rb_imemo_tmpbuf_t; 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); 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); 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); 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); void rb_strterm_mark(VALUE obj);

2
node.c
View file

@ -1299,7 +1299,7 @@ rb_ast_t *
rb_ast_new(void) rb_ast_new(void)
{ {
node_buffer_t *nb = rb_node_buffer_new(); 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; return ast;
} }