diff options
| author | Cliff Click <cliffc@acm.org> | 2024-09-30 11:59:33 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2024-10-06 08:56:22 -0700 |
| commit | e315432bbd1ffa4e2dd562c4f4fc454ea1ba2464 (patch) | |
| tree | ca60b1daba03af9519ea042785592fa54d8cc670 | |
| parent | d443ae219a5d2326e6e39183cdc06d73d65a449d (diff) | |
| download | Simple-e315432bbd1ffa4e2dd562c4f4fc454ea1ba2464.tar.gz Simple-e315432bbd1ffa4e2dd562c4f4fc454ea1ba2464.zip | |
Fix graph viz
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; } |
