changeset 11256:e38a3c10005a

additional test in EscapeAnalysisTest
author Lukas Stadler <lukas.stadler@jku.at>
date Wed, 07 Aug 2013 18:37:53 +0200
parents fe5ce6520b6c
children 27a415148090
files graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java
diffstat 1 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java	Wed Aug 07 18:36:15 2013 +0200
+++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java	Wed Aug 07 18:37:53 2013 +0200
@@ -30,8 +30,10 @@
 import com.oracle.graal.api.meta.*;
 import com.oracle.graal.compiler.test.*;
 import com.oracle.graal.debug.*;
+import com.oracle.graal.graph.*;
 import com.oracle.graal.java.*;
 import com.oracle.graal.nodes.*;
+import com.oracle.graal.nodes.calc.*;
 import com.oracle.graal.nodes.java.*;
 import com.oracle.graal.nodes.virtual.*;
 import com.oracle.graal.phases.*;
@@ -207,6 +209,20 @@
         return obj2.o instanceof TestObject2;
     }
 
+    @SuppressWarnings("unused")
+    public static void testNewNodeSnippet() {
+        new IntegerAddNode(Kind.Int, null, null);
+    }
+
+    /**
+     * This test makes sure that the allocation of a {@link Node} can be removed. It therefore also
+     * tests the intrinsification of {@link Object#getClass()}.
+     */
+    @Test
+    public void testNewNode() {
+        testEscapeAnalysis("testNewNodeSnippet", null, false);
+    }
+
     private ReturnNode testEscapeAnalysis(String snippet, final Constant expectedConstantResult, final boolean iterativeEscapeAnalysis) {
         ResolvedJavaMethod method = runtime.lookupJavaMethod(getMethod(snippet));
         final StructuredGraph graph = new StructuredGraph(method);