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 #ifndef V8_COMPILER_INT64_LOWERING_H_ | 5 #ifndef V8_COMPILER_INT64_LOWERING_H_ |
6 #define V8_COMPILER_INT64_LOWERING_H_ | 6 #define V8_COMPILER_INT64_LOWERING_H_ |
7 | 7 |
8 #include "src/compiler/common-operator.h" | 8 #include "src/compiler/common-operator.h" |
9 #include "src/compiler/graph.h" | 9 #include "src/compiler/graph.h" |
10 #include "src/compiler/machine-operator.h" | 10 #include "src/compiler/machine-operator.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 void LowerNode(Node* node); | 40 void LowerNode(Node* node); |
41 bool DefaultLowering(Node* node); | 41 bool DefaultLowering(Node* node); |
42 void LowerComparison(Node* node, const Operator* signed_op, | 42 void LowerComparison(Node* node, const Operator* signed_op, |
43 const Operator* unsigned_op); | 43 const Operator* unsigned_op); |
44 | 44 |
45 void ReplaceNode(Node* old, Node* new_low, Node* new_high); | 45 void ReplaceNode(Node* old, Node* new_low, Node* new_high); |
46 bool HasReplacementLow(Node* node); | 46 bool HasReplacementLow(Node* node); |
47 Node* GetReplacementLow(Node* node); | 47 Node* GetReplacementLow(Node* node); |
48 bool HasReplacementHigh(Node* node); | 48 bool HasReplacementHigh(Node* node); |
49 Node* GetReplacementHigh(Node* node); | 49 Node* GetReplacementHigh(Node* node); |
| 50 void PreparePhiReplacement(Node* phi); |
50 | 51 |
51 struct NodeState { | 52 struct NodeState { |
52 Node* node; | 53 Node* node; |
53 int input_index; | 54 int input_index; |
54 }; | 55 }; |
55 | 56 |
56 Zone* zone_; | 57 Zone* zone_; |
57 Graph* const graph_; | 58 Graph* const graph_; |
58 MachineOperatorBuilder* machine_; | 59 MachineOperatorBuilder* machine_; |
59 CommonOperatorBuilder* common_; | 60 CommonOperatorBuilder* common_; |
60 NodeMarker<State> state_; | 61 NodeMarker<State> state_; |
61 ZoneStack<NodeState> stack_; | 62 ZoneDeque<NodeState> stack_; |
62 Replacement* replacements_; | 63 Replacement* replacements_; |
63 Signature<MachineRepresentation>* signature_; | 64 Signature<MachineRepresentation>* signature_; |
| 65 Node* placeholder_; |
64 }; | 66 }; |
65 | 67 |
66 } // namespace compiler | 68 } // namespace compiler |
67 } // namespace internal | 69 } // namespace internal |
68 } // namespace v8 | 70 } // namespace v8 |
69 | 71 |
70 #endif // V8_COMPILER_INT64_LOWERING_H_ | 72 #endif // V8_COMPILER_INT64_LOWERING_H_ |
OLD | NEW |