OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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_EFFECT_CONTROL_LINEARIZER_H_ | 5 #ifndef V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ |
6 #define V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ | 6 #define V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ |
7 | 7 |
8 #include "src/compiler/common-operator.h" | 8 #include "src/compiler/common-operator.h" |
9 #include "src/compiler/node.h" | 9 #include "src/compiler/node.h" |
10 #include "src/compiler/simplified-operator.h" | 10 #include "src/compiler/simplified-operator.h" |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 ValueEffectControl LowerChangeFloat64ToTagged(Node* node, Node* effect, | 53 ValueEffectControl LowerChangeFloat64ToTagged(Node* node, Node* effect, |
54 Node* control); | 54 Node* control); |
55 ValueEffectControl LowerChangeTaggedSignedToInt32(Node* node, Node* effect, | 55 ValueEffectControl LowerChangeTaggedSignedToInt32(Node* node, Node* effect, |
56 Node* control); | 56 Node* control); |
57 ValueEffectControl LowerChangeTaggedToBit(Node* node, Node* effect, | 57 ValueEffectControl LowerChangeTaggedToBit(Node* node, Node* effect, |
58 Node* control); | 58 Node* control); |
59 ValueEffectControl LowerChangeTaggedToInt32(Node* node, Node* effect, | 59 ValueEffectControl LowerChangeTaggedToInt32(Node* node, Node* effect, |
60 Node* control); | 60 Node* control); |
61 ValueEffectControl LowerChangeTaggedToUint32(Node* node, Node* effect, | 61 ValueEffectControl LowerChangeTaggedToUint32(Node* node, Node* effect, |
62 Node* control); | 62 Node* control); |
| 63 ValueEffectControl LowerCheckedUint32ToInt32(Node* node, Node* effect, |
| 64 Node* control); |
| 65 ValueEffectControl LowerCheckedFloat64ToInt32(Node* node, Node* effect, |
| 66 Node* control); |
| 67 ValueEffectControl LowerCheckedTaggedToInt32(Node* node, Node* effect, |
| 68 Node* control); |
| 69 ValueEffectControl LowerCheckedTaggedToFloat64(Node* node, Node* effect, |
| 70 Node* control); |
63 ValueEffectControl LowerChangeTaggedToFloat64(Node* node, Node* effect, | 71 ValueEffectControl LowerChangeTaggedToFloat64(Node* node, Node* effect, |
64 Node* control); | 72 Node* control); |
65 ValueEffectControl LowerTruncateTaggedToWord32(Node* node, Node* effect, | 73 ValueEffectControl LowerTruncateTaggedToWord32(Node* node, Node* effect, |
66 Node* control); | 74 Node* control); |
67 ValueEffectControl LowerObjectIsCallable(Node* node, Node* effect, | 75 ValueEffectControl LowerObjectIsCallable(Node* node, Node* effect, |
68 Node* control); | 76 Node* control); |
69 ValueEffectControl LowerObjectIsNumber(Node* node, Node* effect, | 77 ValueEffectControl LowerObjectIsNumber(Node* node, Node* effect, |
70 Node* control); | 78 Node* control); |
71 ValueEffectControl LowerObjectIsReceiver(Node* node, Node* effect, | 79 ValueEffectControl LowerObjectIsReceiver(Node* node, Node* effect, |
72 Node* control); | 80 Node* control); |
73 ValueEffectControl LowerObjectIsSmi(Node* node, Node* effect, Node* control); | 81 ValueEffectControl LowerObjectIsSmi(Node* node, Node* effect, Node* control); |
74 ValueEffectControl LowerObjectIsString(Node* node, Node* effect, | 82 ValueEffectControl LowerObjectIsString(Node* node, Node* effect, |
75 Node* control); | 83 Node* control); |
76 ValueEffectControl LowerObjectIsUndetectable(Node* node, Node* effect, | 84 ValueEffectControl LowerObjectIsUndetectable(Node* node, Node* effect, |
77 Node* control); | 85 Node* control); |
78 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect, | 86 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect, |
79 Node* control); | 87 Node* control); |
80 | 88 ValueEffectControl BuildCheckedFloat64ToInt32(Node* value, Node* frame_state, |
| 89 Node* effect, Node* control); |
| 90 ValueEffectControl BuildCheckedHeapNumberOrOddballToFloat64(Node* value, |
| 91 Node* frame_state, |
| 92 Node* effect, |
| 93 Node* control); |
81 Node* ChangeInt32ToSmi(Node* value); | 94 Node* ChangeInt32ToSmi(Node* value); |
82 Node* ChangeUint32ToSmi(Node* value); | 95 Node* ChangeUint32ToSmi(Node* value); |
83 Node* ChangeInt32ToFloat64(Node* value); | 96 Node* ChangeInt32ToFloat64(Node* value); |
84 Node* ChangeUint32ToFloat64(Node* value); | 97 Node* ChangeUint32ToFloat64(Node* value); |
85 Node* ChangeSmiToInt32(Node* value); | 98 Node* ChangeSmiToInt32(Node* value); |
86 Node* ObjectIsSmi(Node* value); | 99 Node* ObjectIsSmi(Node* value); |
87 | 100 |
88 Node* SmiMaxValueConstant(); | 101 Node* SmiMaxValueConstant(); |
89 Node* SmiShiftBitsConstant(); | 102 Node* SmiShiftBitsConstant(); |
90 | 103 |
91 JSGraph* jsgraph() const { return js_graph_; } | 104 JSGraph* jsgraph() const { return js_graph_; } |
92 Graph* graph() const; | 105 Graph* graph() const; |
93 Schedule* schedule() const { return schedule_; } | 106 Schedule* schedule() const { return schedule_; } |
94 Zone* temp_zone() const { return temp_zone_; } | 107 Zone* temp_zone() const { return temp_zone_; } |
95 CommonOperatorBuilder* common() const; | 108 CommonOperatorBuilder* common() const; |
96 SimplifiedOperatorBuilder* simplified() const; | 109 SimplifiedOperatorBuilder* simplified() const; |
97 MachineOperatorBuilder* machine() const; | 110 MachineOperatorBuilder* machine() const; |
98 | 111 |
99 JSGraph* js_graph_; | 112 JSGraph* js_graph_; |
100 Schedule* schedule_; | 113 Schedule* schedule_; |
101 Zone* temp_zone_; | 114 Zone* temp_zone_; |
102 }; | 115 }; |
103 | 116 |
104 } // namespace compiler | 117 } // namespace compiler |
105 } // namespace internal | 118 } // namespace internal |
106 } // namespace v8 | 119 } // namespace v8 |
107 | 120 |
108 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ | 121 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ |
OLD | NEW |