summaryrefslogtreecommitdiff
path: root/chapter15/src/main/java/com/seaofnodes
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2024-09-30 11:59:33 -0700
committerCliff Click <cliffc@acm.org>2024-10-06 08:56:22 -0700
commite315432bbd1ffa4e2dd562c4f4fc454ea1ba2464 (patch)
treeca60b1daba03af9519ea042785592fa54d8cc670 /chapter15/src/main/java/com/seaofnodes
parentd443ae219a5d2326e6e39183cdc06d73d65a449d (diff)
downloadSimple-e315432bbd1ffa4e2dd562c4f4fc454ea1ba2464.tar.gz
Simple-e315432bbd1ffa4e2dd562c4f4fc454ea1ba2464.zip
Fix graph viz
Diffstat (limited to 'chapter15/src/main/java/com/seaofnodes')
-rw-r--r--chapter15/src/main/java/com/seaofnodes/simple/node/LoadNode.java6
-rw-r--r--chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java3
-rw-r--r--chapter15/src/main/java/com/seaofnodes/simple/node/NewNode.java4
-rw-r--r--chapter15/src/main/java/com/seaofnodes/simple/node/StoreNode.java4
4 files changed, 13 insertions, 4 deletions
diff --git a/chapter15/src/main/java/com/seaofnodes/simple/node/LoadNode.java b/chapter15/src/main/java/com/seaofnodes/simple/node/LoadNode.java
index 3048e2d9..28aee489 100644
--- a/chapter15/src/main/java/com/seaofnodes/simple/node/LoadNode.java
+++ b/chapter15/src/main/java/com/seaofnodes/simple/node/LoadNode.java
@@ -25,8 +25,10 @@ public class LoadNode extends MemOpNode {
super(name, alias, glb, mem, ptr, off);
}
- @Override public String label() { return _name; }
- @Override public String glabel() { return "."+_name; }
+ // GraphVis DOT code and debugger labels
+ @Override public String label() { return "st_"+mlabel(); }
+ // GraphVis node-internal labels
+ @Override public String glabel() { return _name.equals("[]=") ? "[]=" : "." +_name+"="; }
@Override
StringBuilder _print1(StringBuilder sb, BitSet visited) { return sb.append(".").append(_name); }
diff --git a/chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java b/chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java
index 4d441951..1a819da5 100644
--- a/chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java
+++ b/chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java
@@ -24,6 +24,9 @@ public abstract class MemOpNode extends Node {
addDef(value);
}
+ //
+ String mlabel() { return _name.equals("[]") ? "ary" : (_name.equals("#") ? "len" : _name); }
+
public Node mem() { return in(1); }
public Node ptr() { return in(2); }
public Node off() { return in(3); }
diff --git a/chapter15/src/main/java/com/seaofnodes/simple/node/NewNode.java b/chapter15/src/main/java/com/seaofnodes/simple/node/NewNode.java
index 75db67fd..d7220bdc 100644
--- a/chapter15/src/main/java/com/seaofnodes/simple/node/NewNode.java
+++ b/chapter15/src/main/java/com/seaofnodes/simple/node/NewNode.java
@@ -26,7 +26,9 @@ public class NewNode extends Node implements MultiNode {
_ptr = ptr;
}
- @Override public String label() { return "new_" + _ptr._obj.str(); }
+ @Override public String label() {
+ return "new_" + (_ptr._obj.isAry() ? "ary_"+_ptr._obj._fields[1]._type.str() : _ptr._obj.str());
+ }
@Override
StringBuilder _print1(StringBuilder sb, BitSet visited) {
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 6bdbbc61..b1c74b94 100644
--- a/chapter15/src/main/java/com/seaofnodes/simple/node/StoreNode.java
+++ b/chapter15/src/main/java/com/seaofnodes/simple/node/StoreNode.java
@@ -25,7 +25,9 @@ public class StoreNode extends MemOpNode {
_init = init;
}
- @Override public String label() { return "." +_name+"="; }
+ // GraphVis DOT code and debugger labels
+ @Override public String label() { return "st_"+mlabel(); }
+ // GraphVis node-internal labels
@Override public String glabel() { return "." +_name+"="; }
@Override public boolean isMem() { return true; }