From e315432bbd1ffa4e2dd562c4f4fc454ea1ba2464 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Mon, 30 Sep 2024 11:59:33 -0700 Subject: Fix graph viz --- chapter15/src/main/java/com/seaofnodes/simple/node/LoadNode.java | 6 ++++-- chapter15/src/main/java/com/seaofnodes/simple/node/MemOpNode.java | 3 +++ chapter15/src/main/java/com/seaofnodes/simple/node/NewNode.java | 4 +++- chapter15/src/main/java/com/seaofnodes/simple/node/StoreNode.java | 4 +++- 4 files changed, 13 insertions(+), 4 deletions(-) (limited to 'chapter15/src/main/java/com/seaofnodes') 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; } -- cgit v1.2.3