summaryrefslogtreecommitdiffhomepage
path: root/src/codedump.c
diff options
context:
space:
mode:
authordearblue <[email protected]>2020-05-24 11:44:31 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-10-12 16:21:32 +0900
commitf467b02d4598ab64d98727348e8a9c4f04fc9b83 (patch)
treeb5c4fdda5178b33ce9014054df0c0ec4b6caa93a /src/codedump.c
parenta54a3df32c379a6953664f1d9241c731066915ec (diff)
downloadmruby-f467b02d4598ab64d98727348e8a9c4f04fc9b83.tar.gz
mruby-f467b02d4598ab64d98727348e8a9c4f04fc9b83.zip
Extended `OP_EXCEPT` and `OP_RAISE` (`OP_RAISEIF`) instructions
- `OP_EXCEPT` checks if `mrb->exc` is `NULL`, `MRB_TT_EXCEPTION` or `MRB_TT_BREAK`. If `mrb->exc` is `NULL`, it will be replaced with `nil`. - If `OP_RAISE` is `nil`, it does nothing and the immediately following instruction is executed (like `OP_NOP`). Also, in case of `RBreak` object, it moves to the processing for `break`. With this change, the instruction name is changed from `OP_RAISE` to `OP_RAISEIF`.
Diffstat (limited to 'src/codedump.c')
-rw-r--r--src/codedump.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/codedump.c b/src/codedump.c
index a19d60708..2225da4ce 100644
--- a/src/codedump.c
+++ b/src/codedump.c
@@ -507,8 +507,8 @@ codedump(mrb_state *mrb, const mrb_irep *irep)
printf("OP_RESCUE\tR%d\tR%d", a, b);
print_lv_ab(mrb, irep, a, b);
break;
- CASE(OP_RAISE, B);
- printf("OP_RAISE\tR%d\t\t", a);
+ CASE(OP_RAISEIF, B);
+ printf("OP_RAISEIF\tR%d\t\t", a);
print_lv_a(mrb, irep, a);
break;
CASE(OP_POPERR, B);