Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: src/compiler/effect-control-linearizer.h

Issue 2363333003: [turbofan] Lower StringEqual and friends in EffectControlLinearizer. (Closed)
Patch Set: Preinitialize interface descriptors and drop TODO. Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/code-stubs.cc ('k') | src/compiler/effect-control-linearizer.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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_
OLDNEW
« no previous file with comments | « src/code-stubs.cc ('k') | src/compiler/effect-control-linearizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698