Fix wasm loader handle op_br_table and op_drop (#2864)

- Fix op_br_table arity type check when the dest block is loop block
- Fix op_drop issue when the stack is polymorphic and it is to drop
  an ANY type value in the stack
This commit is contained in:
Wenyong Huang
2023-12-05 16:59:13 +08:00
committed by GitHub
parent 7308b1eb00
commit 23c1343fb3
2 changed files with 10 additions and 2 deletions

View File

@ -6100,7 +6100,8 @@ re_scan:
&& !cur_block->is_stack_polymorphic));
if (available_stack_cell > 0) {
if (is_32bit_type(*(loader_ctx->frame_ref - 1))) {
if (is_32bit_type(*(loader_ctx->frame_ref - 1))
|| *(loader_ctx->frame_ref - 1) == VALUE_TYPE_ANY) {
loader_ctx->frame_ref--;
loader_ctx->stack_cell_num--;
#if WASM_ENABLE_FAST_INTERP != 0