OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <sstream> | 5 #include <sstream> |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #include "src/compiler/operator.h" | 9 #include "src/compiler/operator.h" |
10 #include "test/cctest/cctest.h" | 10 #include "test/cctest/cctest.h" |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 | 84 |
85 CHECK_EQ("Flog1", OperatorToString(&op2a).get()); | 85 CHECK_EQ("Flog1", OperatorToString(&op2a).get()); |
86 CHECK_EQ("Flog2", OperatorToString(&op2b).get()); | 86 CHECK_EQ("Flog2", OperatorToString(&op2b).get()); |
87 } | 87 } |
88 | 88 |
89 | 89 |
90 TEST(TestOperator1intHash) { | 90 TEST(TestOperator1intHash) { |
91 Operator1<int> op1a(23, Operator::kNoProperties, 0, 0, "Wolfie", 11); | 91 Operator1<int> op1a(23, Operator::kNoProperties, 0, 0, "Wolfie", 11); |
92 Operator1<int> op1b(23, Operator::kFoldable, 2, 2, "Doggie", 11); | 92 Operator1<int> op1b(23, Operator::kFoldable, 2, 2, "Doggie", 11); |
93 | 93 |
94 CHECK_EQ(op1a.HashCode(), op1b.HashCode()); | 94 CHECK(op1a.HashCode() == op1b.HashCode()); |
95 | 95 |
96 Operator1<int> op2a(24, Operator::kNoProperties, 0, 0, "Arfie", 3); | 96 Operator1<int> op2a(24, Operator::kNoProperties, 0, 0, "Arfie", 3); |
97 Operator1<int> op2b(24, Operator::kNoProperties, 0, 0, "Arfie", 4); | 97 Operator1<int> op2b(24, Operator::kNoProperties, 0, 0, "Arfie", 4); |
98 | 98 |
99 CHECK_NE(op1a.HashCode(), op2a.HashCode()); | 99 CHECK(op1a.HashCode() != op2a.HashCode()); |
100 CHECK_NE(op2a.HashCode(), op2b.HashCode()); | 100 CHECK(op2a.HashCode() != op2b.HashCode()); |
101 } | 101 } |
102 | 102 |
103 | 103 |
104 TEST(TestOperator1intEquals) { | 104 TEST(TestOperator1intEquals) { |
105 Operator1<int> op1a(23, Operator::kNoProperties, 0, 0, "Scratchy", 11); | 105 Operator1<int> op1a(23, Operator::kNoProperties, 0, 0, "Scratchy", 11); |
106 Operator1<int> op1b(23, Operator::kFoldable, 2, 2, "Scratchy", 11); | 106 Operator1<int> op1b(23, Operator::kFoldable, 2, 2, "Scratchy", 11); |
107 | 107 |
108 CHECK(op1a.Equals(&op1a)); | 108 CHECK(op1a.Equals(&op1a)); |
109 CHECK(op1a.Equals(&op1b)); | 109 CHECK(op1a.Equals(&op1b)); |
110 CHECK(op1b.Equals(&op1a)); | 110 CHECK(op1b.Equals(&op1a)); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 | 154 |
155 Operator1<int> op4(12, Operator::kNoProperties, 0, 1, "BarFoo", -879); | 155 Operator1<int> op4(12, Operator::kNoProperties, 0, 1, "BarFoo", -879); |
156 CHECK_EQ("BarFoo[-879]", OperatorToString(&op4).get()); | 156 CHECK_EQ("BarFoo[-879]", OperatorToString(&op4).get()); |
157 } | 157 } |
158 | 158 |
159 | 159 |
160 TEST(TestOperator1doubleHash) { | 160 TEST(TestOperator1doubleHash) { |
161 Operator1<double> op1a(23, Operator::kNoProperties, 0, 0, "Wolfie", 11.77); | 161 Operator1<double> op1a(23, Operator::kNoProperties, 0, 0, "Wolfie", 11.77); |
162 Operator1<double> op1b(23, Operator::kFoldable, 2, 2, "Doggie", 11.77); | 162 Operator1<double> op1b(23, Operator::kFoldable, 2, 2, "Doggie", 11.77); |
163 | 163 |
164 CHECK_EQ(op1a.HashCode(), op1b.HashCode()); | 164 CHECK(op1a.HashCode() == op1b.HashCode()); |
165 | 165 |
166 Operator1<double> op2a(24, Operator::kNoProperties, 0, 0, "Arfie", -6.7); | 166 Operator1<double> op2a(24, Operator::kNoProperties, 0, 0, "Arfie", -6.7); |
167 Operator1<double> op2b(24, Operator::kNoProperties, 0, 0, "Arfie", -6.8); | 167 Operator1<double> op2b(24, Operator::kNoProperties, 0, 0, "Arfie", -6.8); |
168 | 168 |
169 CHECK_NE(op1a.HashCode(), op2a.HashCode()); | 169 CHECK(op1a.HashCode() != op2a.HashCode()); |
170 CHECK_NE(op2a.HashCode(), op2b.HashCode()); | 170 CHECK(op2a.HashCode() != op2b.HashCode()); |
171 } | 171 } |
172 | 172 |
173 | 173 |
174 TEST(TestOperator1doubleEquals) { | 174 TEST(TestOperator1doubleEquals) { |
175 Operator1<double> op1a(23, Operator::kNoProperties, 0, 0, "Scratchy", 11.77); | 175 Operator1<double> op1a(23, Operator::kNoProperties, 0, 0, "Scratchy", 11.77); |
176 Operator1<double> op1b(23, Operator::kFoldable, 2, 2, "Scratchy", 11.77); | 176 Operator1<double> op1b(23, Operator::kFoldable, 2, 2, "Scratchy", 11.77); |
177 | 177 |
178 CHECK(op1a.Equals(&op1a)); | 178 CHECK(op1a.Equals(&op1a)); |
179 CHECK(op1a.Equals(&op1b)); | 179 CHECK(op1a.Equals(&op1b)); |
180 CHECK(op1b.Equals(&op1a)); | 180 CHECK(op1b.Equals(&op1a)); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 CHECK(op4a.Equals(&op4a)); | 216 CHECK(op4a.Equals(&op4a)); |
217 CHECK(op4a.Equals(&op4b)); | 217 CHECK(op4a.Equals(&op4b)); |
218 CHECK(op4b.Equals(&op4a)); | 218 CHECK(op4b.Equals(&op4a)); |
219 CHECK(op4b.Equals(&op4b)); | 219 CHECK(op4b.Equals(&op4b)); |
220 | 220 |
221 CHECK(!op3.Equals(&op4a)); | 221 CHECK(!op3.Equals(&op4a)); |
222 CHECK(!op3.Equals(&op4b)); | 222 CHECK(!op3.Equals(&op4b)); |
223 CHECK(!op3.Equals(&op4a)); | 223 CHECK(!op3.Equals(&op4a)); |
224 CHECK(!op3.Equals(&op4b)); | 224 CHECK(!op3.Equals(&op4b)); |
225 } | 225 } |
OLD | NEW |