summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-09-19 23:17:19 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-09-19 23:17:19 +0900
commit938af8a8ff8f3031f2a6100dcba705ae5d43be0b (patch)
tree6bf058c261842c9bf357d2dd1f83a2c2ec364706 /src
parent8bfa99975c8fc9ed171549b0710cab7a395116c5 (diff)
downloadmruby-938af8a8ff8f3031f2a6100dcba705ae5d43be0b.tar.gz
mruby-938af8a8ff8f3031f2a6100dcba705ae5d43be0b.zip
vm.c: add array assertions.
Diffstat (limited to 'src')
-rw-r--r--src/vm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index b50354061..abb5d0c85 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -2540,6 +2540,7 @@ RETRY_TRY_BLOCK:
regs[a] = splat;
}
else {
+ mrb_assert(mrb_type(regs[a]) == MRB_TT_ARRAY);
mrb_ary_concat(mrb, regs[a], splat);
}
mrb_gc_arena_restore(mrb, ai);
@@ -2547,6 +2548,7 @@ RETRY_TRY_BLOCK:
}
CASE(OP_ARYPUSH, BB) {
+ mrb_assert(mrb_type(regs[a]) == MRB_TT_ARRAY);
for (mrb_int i=0; i<b; i++) {
mrb_ary_push(mrb, regs[a], regs[a+i+1]);
}
@@ -2584,6 +2586,7 @@ RETRY_TRY_BLOCK:
}
CASE(OP_ASET, BBB) {
+ mrb_assert(mrb_type(regs[a]) == MRB_TT_ARRAY);
mrb_ary_set(mrb, regs[b], c, regs[a]);
NEXT;
}