From fdd5ce8fac8f306f71f336f07f0a537b8626e6d6 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 13 Oct 2018 00:31:13 +0900 Subject: Fixed a bug caused by too much optimization; fix #4137 --- mrbgems/mruby-compiler/core/codegen.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 4ebd4cd93..8ab1b9bc3 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -1969,9 +1969,9 @@ codegen(codegen_scope *s, node *tree, int val) } } /* copy receiver and arguments */ - gen_move(s, cursp(), base, 0); + gen_move(s, cursp(), base, 1); for (i=0; i= 0) { - gen_move(s, vsp, cursp(), 0); + gen_move(s, vsp, cursp(), 1); } pos = genjmp2(s, name[0]=='|'?OP_JMPIF:OP_JMPNOT, cursp(), 0, val); } @@ -1998,7 +1998,7 @@ codegen(codegen_scope *s, node *tree, int val) codegen(s, tree->cdr->cdr->car, VAL); pop(); if (val && vsp >= 0) { - gen_move(s, vsp, cursp(), 0); + gen_move(s, vsp, cursp(), 1); } if (nint(tree->car->car) == NODE_CALL) { if (callargs == CALL_MAXARGS) { -- cgit v1.2.3