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,
|
||||
block->param_frame_offsets, size);
|
||||
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
|
||||
|
||||
|
|
|
@ -5813,6 +5813,15 @@ re_scan:
|
|||
bh_memcpy_s(loader_ctx->frame_offset, size,
|
||||
block->param_frame_offsets, size);
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user