mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Refactor to reduce "swap" instruction of pattern matching
This commit is contained in:
parent
5c40c88a3e
commit
3a4be429b5
1 changed files with 1 additions and 2 deletions
|
@ -6333,6 +6333,7 @@ compile_case3(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const orig_no
|
|||
INIT_ANCHOR(body_seq);
|
||||
INIT_ANCHOR(cond_seq);
|
||||
|
||||
ADD_INSN(head, line, putnil); /* allocate stack for cached #deconstruct value */
|
||||
CHECK(COMPILE(head, "case base", node->nd_head));
|
||||
|
||||
branches = decl_branch_base(iseq, node, "case");
|
||||
|
@ -6345,8 +6346,6 @@ compile_case3(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const orig_no
|
|||
endlabel = NEW_LABEL(line);
|
||||
elselabel = NEW_LABEL(line);
|
||||
|
||||
ADD_INSN(head, line, putnil); /* allocate stack for cached #deconstruct value */
|
||||
ADD_INSN(head, line, swap);
|
||||
ADD_SEQ(ret, head); /* case VAL */
|
||||
|
||||
while (type == NODE_IN) {
|
||||
|
|
Loading…
Add table
Reference in a new issue