From 2b62a65d7dcf91e1971048012a842f83e54761af Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Tue, 30 Mar 2021 12:31:03 -0700 Subject: [Wasm GC] Heap reads/writes are reads/writes of global state (#3755) We missed that in effects.h, with the result that sets could look like they had no side effects. Fixes #3754 --- src/ir/effects.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ir/effects.h b/src/ir/effects.h index 268a7b4e0..444099fe9 100644 --- a/src/ir/effects.h +++ b/src/ir/effects.h @@ -123,10 +123,11 @@ public: // Changes something in globally-stored state. bool writesGlobalState() const { - return globalsWritten.size() || writesMemory || isAtomic || calls; + return globalsWritten.size() || writesMemory || writesHeap || isAtomic || + calls; } bool readsGlobalState() const { - return globalsRead.size() || readsMemory || isAtomic || calls; + return globalsRead.size() || readsMemory || readsHeap || isAtomic || calls; } bool hasSideEffects() const { -- cgit v1.2.3