changeset 5313:be1a8ff480db

Visualizer: display long properties correctly, "!InstanceOf" for negated InstanceOfNodes
author Lukas Stadler <lukas.stadler@jku.at>
date Fri, 27 Apr 2012 11:16:17 +0200
parents f8fc624c07a7
children 474ae8316c5a
files graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java
diffstat 2 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java	Fri Apr 27 11:15:16 2012 +0200
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java	Fri Apr 27 11:16:17 2012 +0200
@@ -557,10 +557,12 @@
                     value = unsafe.getInt(node, dataOffsets[i]);
                 } else if (type == Boolean.TYPE) {
                     value = unsafe.getBoolean(node, dataOffsets[i]);
+                } else if (type == Long.TYPE) {
+                    value = unsafe.getLong(node, dataOffsets[i]);
                 } else if (type == Double.TYPE) {
-                    value = String.format(Locale.ENGLISH, "%7.5f", unsafe.getDouble(node, dataOffsets[i]));
+                    value = unsafe.getDouble(node, dataOffsets[i]);
                 } else {
-                    assert false;
+                    assert false : "unhandled property type: " + type;
                 }
             } else {
                 value = unsafe.getObject(node, dataOffsets[i]);
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java	Fri Apr 27 11:15:16 2012 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java	Fri Apr 27 11:16:17 2012 +0200
@@ -24,6 +24,7 @@
 
 import com.oracle.max.cri.ci.*;
 import com.oracle.max.cri.ri.*;
+import com.oracle.graal.graph.Node.*;
 import com.oracle.graal.nodes.*;
 import com.oracle.graal.nodes.calc.*;
 import com.oracle.graal.nodes.spi.*;
@@ -109,6 +110,15 @@
     }
 
     @Override
+    public String toString(Verbosity verbosity) {
+        if (verbosity == Verbosity.Name && negated) {
+            return "!" + super.toString(Verbosity.Name);
+        } else {
+            return super.toString(verbosity);
+        }
+    }
+
+    @Override
     public Result canonical(TypeFeedbackTool tool) {
         ObjectTypeQuery query = tool.queryObject(object());
         if (query.constantBound(Condition.EQ, CiConstant.NULL_OBJECT)) {