should not restore builtin_inline_index
`builtin_inline_index` is restored because THEN clause on `Primitive.mandatory_only?` was compiled twice. However, f29c9d6d36 skips to compile THEN clause so we don't need to restore `builtin_inline_index`.
This commit is contained in:
parent
fee9044b25
commit
e5a5e43c36
Notes:
git
2023-03-23 05:03:45 +00:00
@ -8348,15 +8348,12 @@ compile_builtin_mandatory_only_method(rb_iseq_t *iseq, const NODE *node, const N
|
|||||||
.script_lines = ISEQ_BODY(iseq)->variable.script_lines,
|
.script_lines = ISEQ_BODY(iseq)->variable.script_lines,
|
||||||
};
|
};
|
||||||
|
|
||||||
int prev_inline_index = GET_VM()->builtin_inline_index;
|
|
||||||
|
|
||||||
ISEQ_BODY(iseq)->mandatory_only_iseq =
|
ISEQ_BODY(iseq)->mandatory_only_iseq =
|
||||||
rb_iseq_new_with_opt(&ast, rb_iseq_base_label(iseq),
|
rb_iseq_new_with_opt(&ast, rb_iseq_base_label(iseq),
|
||||||
rb_iseq_path(iseq), rb_iseq_realpath(iseq),
|
rb_iseq_path(iseq), rb_iseq_realpath(iseq),
|
||||||
nd_line(line_node), NULL, 0,
|
nd_line(line_node), NULL, 0,
|
||||||
ISEQ_TYPE_METHOD, ISEQ_COMPILE_DATA(iseq)->option);
|
ISEQ_TYPE_METHOD, ISEQ_COMPILE_DATA(iseq)->option);
|
||||||
|
|
||||||
GET_VM()->builtin_inline_index = prev_inline_index;
|
|
||||||
ALLOCV_END(idtmp);
|
ALLOCV_END(idtmp);
|
||||||
return COMPILE_OK;
|
return COMPILE_OK;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user