summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler/core/codegen.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-03-11 16:32:29 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-03-12 00:50:38 +0900
commit26169f9e25788caf2781a92087f489e5e5fdc0c9 (patch)
tree08fd028dc6857486eb470a057269d77b5fcd9356 /mrbgems/mruby-compiler/core/codegen.c
parent000c68da97ec0bfbd93e3969a2eef21081569a72 (diff)
downloadmruby-26169f9e25788caf2781a92087f489e5e5fdc0c9.tar.gz
mruby-26169f9e25788caf2781a92087f489e5e5fdc0c9.zip
Enhance OP_RESCUE to take B operand fas matching exception; ref #3487
Diffstat (limited to 'mrbgems/mruby-compiler/core/codegen.c')
-rw-r--r--mrbgems/mruby-compiler/core/codegen.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index 780a60ea2..31d66d22c 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -1294,7 +1294,7 @@ codegen(codegen_scope *s, node *tree, int val)
node *n2 = tree->car;
int exc = cursp();
- genop(s, MKOP_AB(OP_RESCUE, exc, 0));
+ genop(s, MKOP_ABC(OP_RESCUE, exc, 0, 0));
push();
while (n2) {
node *n3 = n2->car;
@@ -1788,7 +1788,11 @@ codegen(codegen_scope *s, node *tree, int val)
genop(s, MKOP_A(OP_POPERR, 1));
noexc = genop(s, MKOP_Bx(OP_JMP, 0));
dispatch(s, onerr);
+<<<<<<< HEAD
genop(s, MKOP_AB(OP_RESCUE, exc, 0));
+=======
+ genop(s, MKOP_ABC(OP_RESCUE, exc, 0, 0));
+>>>>>>> 55d89bd... Enhance OP_RESCUE to take B operand fas matching exception; ref #3487
genop(s, MKOP_A(OP_LOADF, exc));
dispatch(s, noexc);
loop_pop(s, NOVAL);