# HG changeset patch # User Tom Rodriguez # Date 1406681849 25200 # Node ID 0b0726730fbd518616b135b959ddb9ea5ccda9f0 # Parent c164a505fc2347b1537acf90ed9344ccbc6d6153 add some comments to BitOpNodesTest.java diff -r c164a505fc23 -r 0b0726730fbd graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/BitOpNodesTest.java --- a/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/BitOpNodesTest.java Tue Jul 29 17:40:22 2014 -0700 +++ b/graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/BitOpNodesTest.java Tue Jul 29 17:57:29 2014 -0700 @@ -187,6 +187,7 @@ @Test public void testScanReverseInt() { + /* This test isn't valid unless the BitScanReverseNode intrinsic is used. */ ValueNode result = parseAndInline("scanReverseIntSnippet", BitScanReverseNode.class); if (result != null) { Assert.assertEquals(StampFactory.forInteger(Kind.Int, 16, 20), result.stamp()); @@ -211,6 +212,7 @@ @Test public void testScanReverseLong() { + /* This test isn't valid unless the BitScanReverseNode intrinsic is used. */ ValueNode result = parseAndInline("scanReverseLongSnippet", BitScanReverseNode.class); if (result != null) { Assert.assertEquals(StampFactory.forInteger(Kind.Int, 48, 64), result.stamp()); @@ -225,6 +227,7 @@ @Test public void testScanReverseLongEmpty() { + /* This test isn't valid unless the BitScanReverseNode intrinsic is used. */ ValueNode result = parseAndInline("scanReverseLongEmptySnippet", BitScanReverseNode.class); if (result != null) { Assert.assertEquals(StampFactory.forInteger(Kind.Int, 24, 64), result.stamp()); @@ -235,7 +238,15 @@ return parseAndInline(name, null); } - private ValueNode parseAndInline(String name, Class requiredClass) { + /** + * Parse and optimize {@code name}. If {@code expectedClass} is non-null and a node of that type + * isn't found simply return null. Otherwise return the node returned by the graph. + * + * @param name + * @param expectedClass + * @return the returned value or null if {@code expectedClass} is not found in the graph. + */ + private ValueNode parseAndInline(String name, Class expectedClass) { StructuredGraph graph = parse(name); HighTierContext context = new HighTierContext(getProviders(), new Assumptions(false), null, getDefaultGraphBuilderSuite(), OptimisticOptimizations.NONE); CanonicalizerPhase canonicalizer = new CanonicalizerPhase(true); @@ -243,8 +254,8 @@ new InliningPhase(canonicalizer).apply(graph, context); canonicalizer.apply(graph, context); Assert.assertEquals(1, graph.getNodes(ReturnNode.class).count()); - if (requiredClass != null) { - if (graph.getNodes().filter(requiredClass).count() == 0) { + if (expectedClass != null) { + if (graph.getNodes().filter(expectedClass).count() == 0) { return null; } }