From f46ca3b386d384c9048d0917985031a7bbae6ac1 Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Wed, 22 Jul 2026 19:47:41 -0400 Subject: [PATCH] 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. --- tcg/wasm32/tcg-target.c.inc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tcg/wasm32/tcg-target.c.inc b/tcg/wasm32/tcg-target.c.inc index a1dcb9bd61..46fc851f19 100644 --- a/tcg/wasm32/tcg-target.c.inc +++ b/tcg/wasm32/tcg-target.c.inc @@ -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; }