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" |
11 | 11 |
12 namespace v8 { | 12 namespace v8 { |
13 namespace internal { | 13 namespace internal { |
14 | 14 |
| 15 // Forward declarations. |
| 16 class Callable; |
15 class Zone; | 17 class Zone; |
16 | 18 |
17 namespace compiler { | 19 namespace compiler { |
18 | 20 |
19 class CommonOperatorBuilder; | 21 class CommonOperatorBuilder; |
20 class SimplifiedOperatorBuilder; | 22 class SimplifiedOperatorBuilder; |
21 class MachineOperatorBuilder; | 23 class MachineOperatorBuilder; |
22 class JSGraph; | 24 class JSGraph; |
23 class Graph; | 25 class Graph; |
24 class Schedule; | 26 class Schedule; |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 ValueEffectControl LowerObjectIsString(Node* node, Node* effect, | 135 ValueEffectControl LowerObjectIsString(Node* node, Node* effect, |
134 Node* control); | 136 Node* control); |
135 ValueEffectControl LowerObjectIsUndetectable(Node* node, Node* effect, | 137 ValueEffectControl LowerObjectIsUndetectable(Node* node, Node* effect, |
136 Node* control); | 138 Node* control); |
137 ValueEffectControl LowerArrayBufferWasNeutered(Node* node, Node* effect, | 139 ValueEffectControl LowerArrayBufferWasNeutered(Node* node, Node* effect, |
138 Node* control); | 140 Node* control); |
139 ValueEffectControl LowerStringCharCodeAt(Node* node, Node* effect, | 141 ValueEffectControl LowerStringCharCodeAt(Node* node, Node* effect, |
140 Node* control); | 142 Node* control); |
141 ValueEffectControl LowerStringFromCharCode(Node* node, Node* effect, | 143 ValueEffectControl LowerStringFromCharCode(Node* node, Node* effect, |
142 Node* control); | 144 Node* control); |
| 145 ValueEffectControl LowerStringEqual(Node* node, Node* effect, Node* control); |
| 146 ValueEffectControl LowerStringLessThan(Node* node, Node* effect, |
| 147 Node* control); |
| 148 ValueEffectControl LowerStringLessThanOrEqual(Node* node, Node* effect, |
| 149 Node* control); |
143 ValueEffectControl LowerCheckFloat64Hole(Node* node, Node* frame_state, | 150 ValueEffectControl LowerCheckFloat64Hole(Node* node, Node* frame_state, |
144 Node* effect, Node* control); | 151 Node* effect, Node* control); |
145 ValueEffectControl LowerCheckTaggedHole(Node* node, Node* frame_state, | 152 ValueEffectControl LowerCheckTaggedHole(Node* node, Node* frame_state, |
146 Node* effect, Node* control); | 153 Node* effect, Node* control); |
147 ValueEffectControl LowerConvertTaggedHoleToUndefined(Node* node, Node* effect, | 154 ValueEffectControl LowerConvertTaggedHoleToUndefined(Node* node, Node* effect, |
148 Node* control); | 155 Node* control); |
149 ValueEffectControl LowerPlainPrimitiveToNumber(Node* node, Node* effect, | 156 ValueEffectControl LowerPlainPrimitiveToNumber(Node* node, Node* effect, |
150 Node* control); | 157 Node* control); |
151 ValueEffectControl LowerPlainPrimitiveToWord32(Node* node, Node* effect, | 158 ValueEffectControl LowerPlainPrimitiveToWord32(Node* node, Node* effect, |
152 Node* control); | 159 Node* control); |
(...skipping 19 matching lines...) Expand all Loading... |
172 Node* control); | 179 Node* control); |
173 | 180 |
174 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect, | 181 ValueEffectControl AllocateHeapNumberWithValue(Node* node, Node* effect, |
175 Node* control); | 182 Node* control); |
176 ValueEffectControl BuildCheckedFloat64ToInt32(CheckForMinusZeroMode mode, | 183 ValueEffectControl BuildCheckedFloat64ToInt32(CheckForMinusZeroMode mode, |
177 Node* value, Node* frame_state, | 184 Node* value, Node* frame_state, |
178 Node* effect, Node* control); | 185 Node* effect, Node* control); |
179 ValueEffectControl BuildCheckedHeapNumberOrOddballToFloat64( | 186 ValueEffectControl BuildCheckedHeapNumberOrOddballToFloat64( |
180 CheckTaggedInputMode mode, Node* value, Node* frame_state, Node* effect, | 187 CheckTaggedInputMode mode, Node* value, Node* frame_state, Node* effect, |
181 Node* control); | 188 Node* control); |
| 189 ValueEffectControl LowerStringComparison(Callable const& callable, Node* node, |
| 190 Node* effect, Node* control); |
182 | 191 |
183 Node* ChangeInt32ToSmi(Node* value); | 192 Node* ChangeInt32ToSmi(Node* value); |
184 Node* ChangeUint32ToSmi(Node* value); | 193 Node* ChangeUint32ToSmi(Node* value); |
185 Node* ChangeInt32ToFloat64(Node* value); | 194 Node* ChangeInt32ToFloat64(Node* value); |
186 Node* ChangeUint32ToFloat64(Node* value); | 195 Node* ChangeUint32ToFloat64(Node* value); |
187 Node* ChangeSmiToInt32(Node* value); | 196 Node* ChangeSmiToInt32(Node* value); |
188 Node* ObjectIsSmi(Node* value); | 197 Node* ObjectIsSmi(Node* value); |
189 | 198 |
190 Node* SmiMaxValueConstant(); | 199 Node* SmiMaxValueConstant(); |
191 Node* SmiShiftBitsConstant(); | 200 Node* SmiShiftBitsConstant(); |
(...skipping 16 matching lines...) Expand all Loading... |
208 RegionObservability region_observability_ = RegionObservability::kObservable; | 217 RegionObservability region_observability_ = RegionObservability::kObservable; |
209 | 218 |
210 SetOncePointer<Operator const> to_number_operator_; | 219 SetOncePointer<Operator const> to_number_operator_; |
211 }; | 220 }; |
212 | 221 |
213 } // namespace compiler | 222 } // namespace compiler |
214 } // namespace internal | 223 } // namespace internal |
215 } // namespace v8 | 224 } // namespace v8 |
216 | 225 |
217 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ | 226 #endif // V8_COMPILER_EFFECT_CONTROL_LINEARIZER_H_ |
OLD | NEW |