summaryrefslogtreecommitdiff
path: root/chapter15/src/main/java/com/seaofnodes
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2024-09-30 11:40:36 -0700
committerCliff Click <cliffc@acm.org>2024-10-06 08:56:22 -0700
commit10cf538245658e6491ed6a85727ab0c64446ad86 (patch)
tree64b1b93a9cd5b170b709c246d8cf9a14e93dbf3a /chapter15/src/main/java/com/seaofnodes
parentbffc1eec124df7fa4de72c8b0fe48b7ec048da44 (diff)
downloadSimple-10cf538245658e6491ed6a85727ab0c64446ad86.tar.gz
Simple-10cf538245658e6491ed6a85727ab0c64446ad86.zip
store-store opt checks offset
Diffstat (limited to 'chapter15/src/main/java/com/seaofnodes')
-rw-r--r--chapter15/src/main/java/com/seaofnodes/simple/node/StoreNode.java1
1 files changed, 1 insertions, 0 deletions
diff --git a/chapter15/src/main/java/com/seaofnodes/simple/node/StoreNode.java b/chapter15/src/main/java/com/seaofnodes/simple/node/StoreNode.java
index a27aee2b..6bdbbc61 100644
--- a/chapter15/src/main/java/com/seaofnodes/simple/node/StoreNode.java
+++ b/chapter15/src/main/java/com/seaofnodes/simple/node/StoreNode.java
@@ -53,6 +53,7 @@ public class StoreNode extends MemOpNode {
// required init-store being stomped by a first user store.
if( mem() instanceof StoreNode st &&
ptr()==st.ptr() && // Must check same object
+ off()==st.off() && // And same offset
ptr()._type instanceof TypeMemPtr && // No bother if weird dead pointers
// Must have exactly one use of "this" or you get weird
// non-serializable memory effects in the worse case.