mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-06-18 02:59:21 +00:00
fast-interp: Fix dynamic offset error issue in else branch (#3058)
Reported in https://github.com/bytecodealliance/wasm-micro-runtime/issues/3026.
This commit is contained in:
parent
bc35602004
commit
1977ad23ef
|
@ -7400,6 +7400,15 @@ re_scan:
|
||||||
bh_memcpy_s(loader_ctx->frame_offset, size,
|
bh_memcpy_s(loader_ctx->frame_offset, size,
|
||||||
block->param_frame_offsets, size);
|
block->param_frame_offsets, size);
|
||||||
loader_ctx->frame_offset += (size / sizeof(int16));
|
loader_ctx->frame_offset += (size / sizeof(int16));
|
||||||
|
|
||||||
|
/* recover dynamic offset */
|
||||||
|
for (i = 0; i < block->available_param_num; i++) {
|
||||||
|
if (block->param_frame_offsets[i]
|
||||||
|
>= loader_ctx->dynamic_offset) {
|
||||||
|
loader_ctx->dynamic_offset =
|
||||||
|
block->param_frame_offsets[i] + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -5813,6 +5813,15 @@ re_scan:
|
||||||
bh_memcpy_s(loader_ctx->frame_offset, size,
|
bh_memcpy_s(loader_ctx->frame_offset, size,
|
||||||
block->param_frame_offsets, size);
|
block->param_frame_offsets, size);
|
||||||
loader_ctx->frame_offset += (size / sizeof(int16));
|
loader_ctx->frame_offset += (size / sizeof(int16));
|
||||||
|
|
||||||
|
/* recover dynamic offset */
|
||||||
|
for (i = 0; i < block->available_param_num; i++) {
|
||||||
|
if (block->param_frame_offsets[i]
|
||||||
|
>= loader_ctx->dynamic_offset) {
|
||||||
|
loader_ctx->dynamic_offset =
|
||||||
|
block->param_frame_offsets[i] + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user