docs(wasm32): correct store-TCI comment to upstream root cause

This commit is contained in:
2026-07-21 16:14:22 -04:00
parent 962fc6e71d
commit 7cab93ede7
+5 -6
View File
@@ -3372,12 +3372,11 @@ static void tcg_out_qemu_st(TCGContext *s, TCGOpcode opc, const TCGArg *args, bo
{
tcg_tci_out_qemu_ldst(s, opc, args);
tcg_wasm_out_qemu_st(s, args, is_64);
/* ponytail: Store-Containing TBs Run on TCI - The compiled wasm store path miscompiles a TB
* containing a guest store (corrupts a pointer a later load faults on; reproduces in uzlib
* inflate during reader font prewarm, native is fine). Forcing these TBs to the interpreter is
* the working workaround. Ceiling: every store-containing TB is interpreted (perf cost). Upgrade
* path: localize the miscompiled op in tcg_wasm_out_qemu_st and drop this. See
* docs/wasm-inflate-panic.md. */
/* 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. */
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)