Fix replacement value not being correct (#3919)

This commit is contained in:
Maks Litskevich 2024-11-22 14:39:33 +03:00 committed by GitHub
parent fbbcd08b3c
commit c3601cc4bd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15217,17 +15217,27 @@ re_scan:
error_buf_size)) {
goto fail;
}
#if WASM_ENABLE_FAST_INTERP != 0
emit_byte(loader_ctx, lane);
#endif
if (replace[opcode1 - SIMD_i8x16_extract_lane_s]) {
#if WASM_ENABLE_FAST_INTERP != 0
if (!(wasm_loader_pop_frame_ref_offset(
loader_ctx,
replace[opcode1
- SIMD_i8x16_extract_lane_s],
error_buf, error_buf_size)))
goto fail;
#else
if (!(wasm_loader_pop_frame_ref(
loader_ctx,
replace[opcode1
- SIMD_i8x16_extract_lane_s],
error_buf, error_buf_size)))
goto fail;
#endif /* end of WASM_ENABLE_FAST_INTERP != 0 */
}
#if WASM_ENABLE_FAST_INTERP != 0
emit_byte(loader_ctx, lane);
#endif
POP_AND_PUSH(
VALUE_TYPE_V128,
push_type[opcode1 - SIMD_i8x16_extract_lane_s]);