From b3ca9f1eb60fce26983ae365945cf7d17213af90 Mon Sep 17 00:00:00 2001 From: Evan Reichard Date: Tue, 21 Jul 2026 20:42:01 -0400 Subject: [PATCH] docs(wasm32): note per-op TCI needed to isolate store bug --- tcg/wasm32/tcg-target.c.inc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tcg/wasm32/tcg-target.c.inc b/tcg/wasm32/tcg-target.c.inc index 0882f272ef..923b145ad9 100644 --- a/tcg/wasm32/tcg-target.c.inc +++ b/tcg/wasm32/tcg-target.c.inc @@ -3375,8 +3375,9 @@ static void tcg_out_qemu_st(TCGContext *s, TCGOpcode opc, const TCGArg *args, bo /* ponytail: Store-Containing TBs Run on TCI - Upstream qemu-wasm sets this for every guest store; * the compiled restartable-block store path is unfinished upstream (never runs there) and corrupts * state (uzlib inflate reader font prewarm faults; native is fine). Ceiling: store-containing TBs - * interpreted (perf cost, dominates book open). Upgrade path: make compiled stores rewind-safe in - * tcg_wasm_out_qemu_st, then drop this. See docs/wasm-inflate-panic.md. */ + * interpreted (perf cost). Isolation needs per-op TCI (backend is whole-TB only) or reading the + * generated wasm; forcing loads-to-TCI instead also masks it because load TBs superset store TBs. + * Upgrade path: rewind-safe compiled stores, then drop this. See docs/wasm-inflate-panic.md. */ wasm_tci_only_tb = true; } static void tcg_out_deposit_i32(TCGContext *s, TCGOpcode opc, TCGReg dest, TCGReg arg1, TCGReg arg2, int pos, int len)