summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-09-24 17:10:11 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-09-24 17:10:11 +0900
commitc70159b3562e09a37577b4c6913de3ec7b8f06b4 (patch)
tree363740b58b68a740cd3759e63e9010cc8ecb6bf2 /src
parentab54ca272a65a5612508c9f49555e591c0ab0278 (diff)
downloadmruby-c70159b3562e09a37577b4c6913de3ec7b8f06b4.tar.gz
mruby-c70159b3562e09a37577b4c6913de3ec7b8f06b4.zip
Revert "vm.c: add assertions instead of `mrb_ensure_hash_type()`."
This reverts commit 913a0a5a036664ab0d12a1af40b652412301c89f. In some cases, `OP_HASHADD` operand may not be `Hash`. We should check explicitly in those cases.
Diffstat (limited to 'src')
-rw-r--r--src/vm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm.c b/src/vm.c
index b9957e5f0..abb5d0c85 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -2687,7 +2687,7 @@ RETRY_TRY_BLOCK:
int lim = a+b*2+1;
hash = regs[a];
- mrb_assert(mrb_type(hash) == MRB_TT_HASH);
+ mrb_ensure_hash_type(mrb, hash);
for (i=a+1; i<lim; i+=2) {
mrb_hash_set(mrb, hash, regs[i], regs[i+1]);
}
@@ -2697,7 +2697,7 @@ RETRY_TRY_BLOCK:
CASE(OP_HASHCAT, B) {
mrb_value hash = regs[a];
- mrb_assert(mrb_type(hash) == MRB_TT_HASH);
+ mrb_ensure_hash_type(mrb, hash);
mrb_hash_merge(mrb, hash, regs[a+1]);
mrb_gc_arena_restore(mrb, ai);
NEXT;