diff options
| author | Yusuke Endoh <mame@ruby-lang.org> | 2021-06-18 01:31:50 +0900 |
|---|---|---|
| committer | Yusuke Endoh <mame@ruby-lang.org> | 2021-06-18 02:34:27 +0900 |
| commit | fb01411ae842dbcc16d18dec2216fa2719649dff (patch) | |
| tree | e8dcf2550a7aa8c5579a86b2623b00b96d6f8f8c /vm.c | |
| parent | acae5f363dfaedd9c2873cee68c9498da3c072f5 (diff) | |
node.h: Reduce struct size to fit with Ruby object size (five VALUEs)
by merging `rb_ast_body_t#line_count` and `#script_lines`.
Fortunately `line_count == RARRAY_LEN(script_lines)` was always
satisfied. When script_lines is saved, it has an array of lines, and
when not saved, it has a Fixnum that represents the old line_count.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/4581
Diffstat (limited to 'vm.c')
| -rw-r--r-- | vm.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1223,7 +1223,7 @@ rb_binding_add_dynavars(VALUE bindval, rb_binding_t *bind, int dyncount, const I rb_node_init(&tmp_node, NODE_SCOPE, (VALUE)dyns, 0, 0); ast.root = &tmp_node; ast.compile_option = 0; - ast.line_count = -1; + ast.script_lines = INT2FIX(-1); if (base_iseq) { iseq = rb_iseq_new(&ast, base_iseq->body->location.label, path, realpath, base_iseq, ISEQ_TYPE_EVAL); |
