changeset 14990:a0200c215fb2

Include the visited state in BranchProfile#toString, so it shows up in printed ASTs.
author Chris Seaton <chris.seaton@oracle.com>
date Sun, 06 Apr 2014 02:01:19 +0100
parents a0dbb3628f2a
children 602c090252e0
files graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/utilities/BranchProfileTest.java graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/BranchProfile.java
diffstat 2 files changed, 19 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/utilities/BranchProfileTest.java	Sat Apr 05 19:35:30 2014 +0200
+++ b/graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/utilities/BranchProfileTest.java	Sun Apr 06 02:01:19 2014 +0100
@@ -22,6 +22,8 @@
  */
 package com.oracle.truffle.api.test.utilities;
 
+import static org.junit.Assert.*;
+
 import org.junit.*;
 
 import com.oracle.truffle.api.utilities.*;
@@ -35,4 +37,16 @@
         profile.enter();
     }
 
+    @Test
+    public void testToString() {
+        BranchProfile profile = new BranchProfile();
+        assertTrue(profile.toString().contains(profile.getClass().getSimpleName()));
+        assertTrue(profile.toString().contains("not-visited"));
+        assertTrue(profile.toString().contains(Integer.toHexString(profile.hashCode())));
+        profile.enter();
+        assertTrue(profile.toString().contains(profile.getClass().getSimpleName()));
+        assertTrue(profile.toString().contains("visited"));
+        assertTrue(profile.toString().contains(Integer.toHexString(profile.hashCode())));
+    }
+
 }
--- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/BranchProfile.java	Sat Apr 05 19:35:30 2014 +0200
+++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/utilities/BranchProfile.java	Sun Apr 06 02:01:19 2014 +0100
@@ -44,4 +44,9 @@
         }
     }
 
+    @Override
+    public String toString() {
+        return String.format("%s(%s)@%x", getClass().getSimpleName(), visited ? "visited" : "not-visited", hashCode());
+    }
+
 }