Search in sources :

Example 21 with Graph

use of org.graalvm.compiler.graph.Graph in project graal by oracle.

the class NodeValidationChecksTest method testSuccessorNotAlive.

@Test
public void testSuccessorNotAlive() {
    Graph graph = new Graph(getOptions(), getDebug());
    TestNode node = new TestNode(null, null);
    try {
        graph.add(new TestNode(null, node));
        Assert.fail("Exception expected.");
    } catch (AssertionError e) {
        Assert.assertTrue(e.getMessage().contains("Successor"));
        Assert.assertTrue(e.getMessage().contains("not alive"));
    }
}
Also used : Graph(org.graalvm.compiler.graph.Graph) Test(org.junit.Test)

Example 22 with Graph

use of org.graalvm.compiler.graph.Graph in project graal by oracle.

the class NodeValidationChecksTest method testInputNotAlive.

@Test
public void testInputNotAlive() {
    Graph graph = new Graph(getOptions(), getDebug());
    TestNode node = new TestNode(null, null);
    try {
        graph.add(new TestNode(node, null));
        Assert.fail("Exception expected.");
    } catch (AssertionError e) {
        Assert.assertTrue(e.getMessage().contains("Input"));
        Assert.assertTrue(e.getMessage().contains("not alive"));
    }
}
Also used : Graph(org.graalvm.compiler.graph.Graph) Test(org.junit.Test)

Example 23 with Graph

use of org.graalvm.compiler.graph.Graph in project graal by oracle.

the class TypedNodeIteratorTest method singleNodeTest.

@Test
public void singleNodeTest() {
    OptionValues options = getOptions();
    Graph graph = new Graph(options, getDebug(options));
    graph.add(new TestNode("a"));
    assertTrue(graph.hasNode(TestNode.TYPE));
    assertEquals("a", toString(graph.getNodes(TestNode.TYPE)));
}
Also used : Graph(org.graalvm.compiler.graph.Graph) OptionValues(org.graalvm.compiler.options.OptionValues) Test(org.junit.Test)

Example 24 with Graph

use of org.graalvm.compiler.graph.Graph in project graal by oracle.

the class TypedNodeIteratorTest method deleteAndAddTest.

@Test
public void deleteAndAddTest() {
    TestNode testNode = new TestNode("b");
    OptionValues options = getOptions();
    Graph graph = new Graph(options, getDebug(options));
    graph.add(new TestNode("a"));
    graph.add(testNode);
    testNode.safeDelete();
    assertEquals("a", toString(graph.getNodes(TestNode.TYPE)));
    graph.add(new TestNode("c"));
    assertEquals("ac", toString(graph.getNodes(TestNode.TYPE)));
}
Also used : Graph(org.graalvm.compiler.graph.Graph) OptionValues(org.graalvm.compiler.options.OptionValues) Test(org.junit.Test)

Example 25 with Graph

use of org.graalvm.compiler.graph.Graph in project graal by oracle.

the class TypedNodeIteratorTest method addingNodeDuringIterationTest.

@Test
public void addingNodeDuringIterationTest() {
    OptionValues options = getOptions();
    Graph graph = new Graph(options, getDebug(options));
    graph.add(new TestNode("a"));
    StringBuilder sb = new StringBuilder();
    int z = 0;
    for (TestNode tn : graph.getNodes(TestNode.TYPE)) {
        if (z == 0) {
            graph.add(new TestNode("b"));
        }
        sb.append(tn.getName());
        z++;
    }
    assertEquals(2, z);
    assertEquals("ab", sb.toString());
    z = 0;
    for (TestNode tn : graph.getNodes(TestNode.TYPE)) {
        if (z == 0) {
            graph.add(new TestNode("c"));
        }
        assertNotNull(tn);
        z++;
    }
    assertEquals(3, z);
}
Also used : Graph(org.graalvm.compiler.graph.Graph) OptionValues(org.graalvm.compiler.options.OptionValues) Test(org.junit.Test)

Aggregations

Graph (org.graalvm.compiler.graph.Graph)33 Test (org.junit.Test)22 OptionValues (org.graalvm.compiler.options.OptionValues)21 StructuredGraph (org.graalvm.compiler.nodes.StructuredGraph)8 AbstractBeginNode (org.graalvm.compiler.nodes.AbstractBeginNode)3 AbstractMergeNode (org.graalvm.compiler.nodes.AbstractMergeNode)3 EndNode (org.graalvm.compiler.nodes.EndNode)3 FixedNode (org.graalvm.compiler.nodes.FixedNode)3 ValueNode (org.graalvm.compiler.nodes.ValueNode)3 DebugCloseable (org.graalvm.compiler.debug.DebugCloseable)2 DebugContext (org.graalvm.compiler.debug.DebugContext)2 DuplicationReplacement (org.graalvm.compiler.graph.Graph.DuplicationReplacement)2 Node (org.graalvm.compiler.graph.Node)2 LoopExitNode (org.graalvm.compiler.nodes.LoopExitNode)2 MergeNode (org.graalvm.compiler.nodes.MergeNode)2 Before (org.junit.Before)2 IOException (java.io.IOException)1 ArrayDeque (java.util.ArrayDeque)1 Collections (java.util.Collections)1 Deque (java.util.Deque)1