tcg/wasm32: restore blanket store-TCI default after benchmark
The 32-bit-only store-TCI fallback passes reader-open when it works, but a 3-run benchmark hit an app-init watchdog once. Restore the upstream blanket store-TCI fallback for reliability; keep ?nostoretci as the all-compiled repro.
This commit is contained in:
@@ -3378,11 +3378,10 @@ static void tcg_out_qemu_st(TCGContext *s, TCGOpcode opc, const TCGArg *args, bo
|
||||
wasm_tb_had_store = true;
|
||||
tcg_tci_out_qemu_ldst(s, opc, args);
|
||||
tcg_wasm_out_qemu_st(s, args, is_64);
|
||||
/* ponytail: 32-bit Store TBs Stay TCI - The corruption needs compiled 8-bit and 32-bit store
|
||||
* populations together; interpreting either width breaks the bad interaction. Keep the smaller
|
||||
* 32-bit subset on TCI and compile the rest. ?nostoretci remains the all-compiled repro path. */
|
||||
MemOp store_memop = get_memop(args[2]);
|
||||
bool store_tci = !wasm_store_tci_disabled && ((store_memop & MO_SIZE) == MO_32);
|
||||
/* ponytail: Store TBs Stay TCI - All-compiled stores still reproduce the 0x4201e210 panic.
|
||||
* The narrower 32-bit-only fallback passed reader-open but hit an app-init watchdog in benchmark,
|
||||
* so keep the upstream blanket fallback until the cross-width bug is fully fixed. */
|
||||
bool store_tci = !wasm_store_tci_disabled;
|
||||
if (wasm_diff_mode != 2 && store_tci) {
|
||||
wasm_tci_only_tb = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user