Mercurial > hg > graal-compiler
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; |