In the PR above, we have decoupled IMEMO from rb_ast_t. This means we could lift the five-words-restriction of the structure that forced us to unionize rb_ast_t * and FIXNUM in one field.
I will remove a code that assigns -1 to line_count, in rb_binding_add_dynavars() of vm.c, because I don't think it is necessary. But I will make another PR for this so that we can atomically revert in case I was wrong (See the comment on the code)
Add line_count field to rb_ast_body_t
This patch adds
int line_countfield torb_ast_body_tstructure.Instead, we no longer cast
script_linesto Fixnum.Background¶
Ref https://github.com/ruby/ruby/pull/10618
In the PR above, we have decoupled IMEMO from
rb_ast_t.This means we could lift the five-words-restriction of the structure
that forced us to unionize
rb_ast_t *andFIXNUMin one field.Relating refactor¶
rb_ruby_ast_new()functionAttention¶
I will remove a code that assigns -1 to line_count, in
rb_binding_add_dynavars()of vm.c, because I don't think it is necessary.
But I will make another PR for this so that we can atomically revert
in case I was wrong (See the comment on the code)