OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 "src/compiler/change-lowering.h" | 5 #include "src/compiler/change-lowering.h" |
6 #include "src/compiler/compiler-test-utils.h" | 6 #include "src/compiler/compiler-test-utils.h" |
7 #include "src/compiler/graph-unittest.h" | 7 #include "src/compiler/graph-unittest.h" |
8 #include "src/compiler/js-graph.h" | 8 #include "src/compiler/js-graph.h" |
9 #include "src/compiler/node-properties-inl.h" | 9 #include "src/compiler/node-properties-inl.h" |
10 #include "src/compiler/simplified-operator.h" | 10 #include "src/compiler/simplified-operator.h" |
11 #include "src/compiler/typer.h" | 11 #include "src/compiler/typer.h" |
12 #include "testing/gmock-support.h" | 12 #include "testing/gmock-support.h" |
13 | 13 |
14 using testing::_; | 14 using testing::_; |
15 using testing::AllOf; | 15 using testing::AllOf; |
16 using testing::Capture; | 16 using testing::Capture; |
17 using testing::CaptureEq; | 17 using testing::CaptureEq; |
18 | 18 |
19 namespace v8 { | 19 namespace v8 { |
20 namespace internal { | 20 namespace internal { |
21 namespace compiler { | 21 namespace compiler { |
22 | 22 |
23 // TODO(bmeurer): Find a new home for these functions. | |
24 inline std::ostream& operator<<(std::ostream& os, const MachineType& type) { | |
25 OStringStream ost; | |
26 ost << type; | |
27 return os << ost.c_str(); | |
28 } | |
29 | |
30 | |
31 class ChangeLoweringTest : public GraphTest { | 23 class ChangeLoweringTest : public GraphTest { |
32 public: | 24 public: |
33 ChangeLoweringTest() : simplified_(zone()) {} | 25 ChangeLoweringTest() : simplified_(zone()) {} |
34 virtual ~ChangeLoweringTest() {} | 26 virtual ~ChangeLoweringTest() {} |
35 | 27 |
36 virtual MachineType WordRepresentation() const = 0; | 28 virtual MachineType WordRepresentation() const = 0; |
37 | 29 |
38 protected: | 30 protected: |
39 int HeapNumberValueOffset() const { | 31 int HeapNumberValueOffset() const { |
40 STATIC_ASSERT(HeapNumber::kValueOffset % kApiPointerSize == 0); | 32 STATIC_ASSERT(HeapNumber::kValueOffset % kApiPointerSize == 0); |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
467 IsIfTrue(AllOf(CaptureEq(&branch), | 459 IsIfTrue(AllOf(CaptureEq(&branch), |
468 IsBranch(IsUint32LessThanOrEqual( | 460 IsBranch(IsUint32LessThanOrEqual( |
469 val, IsInt32Constant(SmiMaxValue())), | 461 val, IsInt32Constant(SmiMaxValue())), |
470 graph()->start()))), | 462 graph()->start()))), |
471 AllOf(CaptureEq(&if_false), IsIfFalse(CaptureEq(&branch)))))); | 463 AllOf(CaptureEq(&if_false), IsIfFalse(CaptureEq(&branch)))))); |
472 } | 464 } |
473 | 465 |
474 } // namespace compiler | 466 } // namespace compiler |
475 } // namespace internal | 467 } // namespace internal |
476 } // namespace v8 | 468 } // namespace v8 |
OLD | NEW |