comparison graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/SpecializationGroupingTest.java @ 18761:a665483c3881

Truffle-DSL: new node layout implementation.
author Christian Humer <christian.humer@gmail.com>
date Mon, 29 Dec 2014 23:38:54 +0100
parents 5148aab962af
children 08aa0372dad4
comparison
equal deleted inserted replaced
18760:6fa3999631d8 18761:a665483c3881
43 public class SpecializationGroupingTest { 43 public class SpecializationGroupingTest {
44 44
45 @Test 45 @Test
46 public void testGrouping() { 46 public void testGrouping() {
47 MockAssumption a1 = new MockAssumption(true); 47 MockAssumption a1 = new MockAssumption(true);
48 MockAssumption a2 = new MockAssumption(false);
49 MockAssumption a3 = new MockAssumption(true); 48 MockAssumption a3 = new MockAssumption(true);
50 49
51 TestRootNode<TestGrouping> root = TestHelper.createRoot(TestGroupingFactory.getInstance(), a1, a2, a3); 50 TestRootNode<TestGrouping> root = TestHelper.createRoot(TestGroupingFactory.getInstance(), a1, a3);
52 51
53 SimpleTypes.intCast = 0; 52 SimpleTypes.intCast = 0;
54 SimpleTypes.intCheck = 0; 53 SimpleTypes.intCheck = 0;
55 TestGrouping.true1 = 0; 54 TestGrouping.true1 = 0;
56 TestGrouping.false1 = 0; 55 TestGrouping.false1 = 0;
62 Assert.assertEquals(4, TestGrouping.true1); 61 Assert.assertEquals(4, TestGrouping.true1);
63 Assert.assertEquals(0, TestGrouping.false1); 62 Assert.assertEquals(0, TestGrouping.false1);
64 Assert.assertEquals(4, TestGrouping.true2); 63 Assert.assertEquals(4, TestGrouping.true2);
65 Assert.assertEquals(5, TestGrouping.false2); 64 Assert.assertEquals(5, TestGrouping.false2);
66 Assert.assertEquals(5, TestGrouping.true3); 65 Assert.assertEquals(5, TestGrouping.true3);
67 Assert.assertEquals(8, SimpleTypes.intCheck); 66 Assert.assertEquals(10, SimpleTypes.intCheck);
68 Assert.assertEquals(8, SimpleTypes.intCast); 67 Assert.assertEquals(8, SimpleTypes.intCast);
69 Assert.assertEquals(4, a1.checked); 68 Assert.assertEquals(4, a1.checked);
70 Assert.assertEquals(0, a2.checked);
71 Assert.assertEquals(4, a3.checked); 69 Assert.assertEquals(4, a3.checked);
72 70
73 Assert.assertEquals(42, TestHelper.executeWith(root, 21, 21)); 71 Assert.assertEquals(42, TestHelper.executeWith(root, 21, 21));
74 Assert.assertEquals(5, TestGrouping.true1); 72 Assert.assertEquals(5, TestGrouping.true1);
75 Assert.assertEquals(0, TestGrouping.false1); 73 Assert.assertEquals(0, TestGrouping.false1);
76 Assert.assertEquals(5, TestGrouping.true2); 74 Assert.assertEquals(5, TestGrouping.true2);
77 Assert.assertEquals(6, TestGrouping.false2); 75 Assert.assertEquals(6, TestGrouping.false2);
78 Assert.assertEquals(6, TestGrouping.true3); 76 Assert.assertEquals(6, TestGrouping.true3);
79 77
80 Assert.assertEquals(5, a1.checked); 78 Assert.assertEquals(5, a1.checked);
81 Assert.assertEquals(0, a2.checked);
82 Assert.assertEquals(5, a3.checked); 79 Assert.assertEquals(5, a3.checked);
83 Assert.assertEquals(8, SimpleTypes.intCheck); 80 Assert.assertEquals(10, SimpleTypes.intCheck);
84 Assert.assertEquals(8, SimpleTypes.intCast); 81 Assert.assertEquals(8, SimpleTypes.intCast);
85 82
86 } 83 }
87 84
88 @SuppressWarnings("unused") 85 @SuppressWarnings("unused")
89 @NodeChildren({@NodeChild, @NodeChild}) 86 @NodeChildren({@NodeChild, @NodeChild})
90 @NodeAssumptions({"a1", "a2", "a3"}) 87 @NodeAssumptions({"a1", "a3"})
91 public abstract static class TestGrouping extends ValueNode { 88 public abstract static class TestGrouping extends ValueNode {
92 89
93 private static int true1; 90 private static int true1;
94 private static int false1; 91 private static int false1;
95 private static int true2; 92 private static int true2;