summaryrefslogtreecommitdiff
path: root/chapter18/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'chapter18/src/main/java/com')
-rw-r--r--chapter18/src/main/java/com/seaofnodes/simple/node/StoreNode.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/chapter18/src/main/java/com/seaofnodes/simple/node/StoreNode.java b/chapter18/src/main/java/com/seaofnodes/simple/node/StoreNode.java
index ee6832ad..6032de48 100644
--- a/chapter18/src/main/java/com/seaofnodes/simple/node/StoreNode.java
+++ b/chapter18/src/main/java/com/seaofnodes/simple/node/StoreNode.java
@@ -92,9 +92,10 @@ public class StoreNode extends MemOpNode {
// Folding away a broken store
err()==null ) {
nnn.setDef(nnn.findAlias(_alias),val());
- // Must retype the NewNode
- nnn .setType(nnn .compute());
- mem().setType(mem().compute());
+ // Must *retype* the NewNode, this is not monotonic in isolation
+ // but is monotonic counting from this Store to the New.
+ nnn ._type = nnn .compute();
+ mem()._type = mem().compute();
return mem();
}