changeset 9178:a653da473eab

hasNoFinalizer-assumption: check if assumption is recorded
author Bernhard Urban <bernhard.urban@jku.at>
date Wed, 17 Apr 2013 12:04:30 +0200
parents 0b7d9bcc0f44
children 11516ac4fbda
files graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FinalizableSubclassTest.java
diffstat 1 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FinalizableSubclassTest.java	Wed Apr 17 12:04:04 2013 +0200
+++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FinalizableSubclassTest.java	Wed Apr 17 12:04:30 2013 +0200
@@ -27,6 +27,8 @@
 import org.junit.*;
 
 import com.oracle.graal.api.code.*;
+import com.oracle.graal.api.code.Assumptions.Assumption;
+import com.oracle.graal.api.code.Assumptions.NoFinalizableSubclass;
 import com.oracle.graal.api.meta.*;
 import com.oracle.graal.java.*;
 import com.oracle.graal.nodes.*;
@@ -37,20 +39,15 @@
 public class FinalizableSubclassTest extends GraalCompilerTest {
 
     public static class NoFinalizerEver {
-
     }
 
     public static class NoFinalizerYet {
-
     }
 
     public static class WithFinalizer extends NoFinalizerYet {
 
-        static int someCounter = 0;
-
         @Override
         protected void finalize() throws Throwable {
-            someCounter++;
             super.finalize();
         }
     }
@@ -72,6 +69,13 @@
         Assumptions assumptions = new Assumptions(optimistic);
         StructuredGraph graph = parseAndProcess(cl, assumptions);
         Assert.assertTrue(graph.getNodes().filter(RegisterFinalizerNode.class).count() == (shouldContainFinalizer ? 1 : 0));
+        int noFinalizerAssumption = 0;
+        for (Assumption a : assumptions) {
+            if (a instanceof NoFinalizableSubclass) {
+                noFinalizerAssumption++;
+            }
+        }
+        Assert.assertTrue(noFinalizerAssumption == (shouldContainFinalizer ? 0 : 1));
     }
 
     @Test