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

Side by Side Diff: src/compiler/opcodes.h

Issue 2035383003: [turbofan] Type feedback for numeric comparisons. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase, pure ops Created 4 years, 6 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/compiler/js-typed-lowering.cc ('k') | src/compiler/representation-change.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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_OPCODES_H_ 5 #ifndef V8_COMPILER_OPCODES_H_
6 #define V8_COMPILER_OPCODES_H_ 6 #define V8_COMPILER_OPCODES_H_
7 7
8 #include <iosfwd> 8 #include <iosfwd>
9 9
10 // Opcodes for control operators. 10 // Opcodes for control operators.
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 // Opcodes for VirtuaMachine-level operators. 166 // Opcodes for VirtuaMachine-level operators.
167 #define SIMPLIFIED_COMPARE_BINOP_LIST(V) \ 167 #define SIMPLIFIED_COMPARE_BINOP_LIST(V) \
168 V(NumberEqual) \ 168 V(NumberEqual) \
169 V(NumberLessThan) \ 169 V(NumberLessThan) \
170 V(NumberLessThanOrEqual) \ 170 V(NumberLessThanOrEqual) \
171 V(ReferenceEqual) \ 171 V(ReferenceEqual) \
172 V(StringEqual) \ 172 V(StringEqual) \
173 V(StringLessThan) \ 173 V(StringLessThan) \
174 V(StringLessThanOrEqual) 174 V(StringLessThanOrEqual)
175 175
176 #define SIMPLIFIED_OP_LIST(V) \ 176 #define SIMPLIFIED_OP_LIST(V) \
177 SIMPLIFIED_COMPARE_BINOP_LIST(V) \ 177 SIMPLIFIED_COMPARE_BINOP_LIST(V) \
178 V(PlainPrimitiveToNumber) \ 178 V(PlainPrimitiveToNumber) \
179 V(PlainPrimitiveToWord32) \ 179 V(PlainPrimitiveToWord32) \
180 V(PlainPrimitiveToFloat64) \ 180 V(PlainPrimitiveToFloat64) \
181 V(BooleanNot) \ 181 V(BooleanNot) \
182 V(BooleanToNumber) \ 182 V(BooleanToNumber) \
183 V(SpeculativeNumberAdd) \ 183 V(SpeculativeNumberAdd) \
184 V(SpeculativeNumberSubtract) \ 184 V(SpeculativeNumberSubtract) \
185 V(NumberAdd) \ 185 V(SpeculativeNumberEqual) \
186 V(NumberSubtract) \ 186 V(SpeculativeNumberLessThan) \
187 V(NumberMultiply) \ 187 V(SpeculativeNumberLessThanOrEqual) \
188 V(NumberDivide) \ 188 V(NumberAdd) \
189 V(NumberModulus) \ 189 V(NumberSubtract) \
190 V(NumberBitwiseOr) \ 190 V(NumberMultiply) \
191 V(NumberBitwiseXor) \ 191 V(NumberDivide) \
192 V(NumberBitwiseAnd) \ 192 V(NumberModulus) \
193 V(NumberShiftLeft) \ 193 V(NumberBitwiseOr) \
194 V(NumberShiftRight) \ 194 V(NumberBitwiseXor) \
195 V(NumberShiftRightLogical) \ 195 V(NumberBitwiseAnd) \
196 V(NumberImul) \ 196 V(NumberShiftLeft) \
197 V(NumberClz32) \ 197 V(NumberShiftRight) \
198 V(NumberCeil) \ 198 V(NumberShiftRightLogical) \
199 V(NumberFloor) \ 199 V(NumberImul) \
200 V(NumberFround) \ 200 V(NumberClz32) \
201 V(NumberAtan) \ 201 V(NumberCeil) \
202 V(NumberAtan2) \ 202 V(NumberFloor) \
203 V(NumberLog) \ 203 V(NumberFround) \
204 V(NumberLog1p) \ 204 V(NumberAtan) \
205 V(NumberRound) \ 205 V(NumberAtan2) \
206 V(NumberSqrt) \ 206 V(NumberLog) \
207 V(NumberTrunc) \ 207 V(NumberLog1p) \
208 V(NumberToInt32) \ 208 V(NumberRound) \
209 V(NumberToUint32) \ 209 V(NumberSqrt) \
210 V(NumberSilenceNaN) \ 210 V(NumberTrunc) \
211 V(StringFromCharCode) \ 211 V(NumberToInt32) \
212 V(StringToNumber) \ 212 V(NumberToUint32) \
213 V(ChangeTaggedSignedToInt32) \ 213 V(NumberSilenceNaN) \
214 V(ChangeTaggedToInt32) \ 214 V(StringFromCharCode) \
215 V(ChangeTaggedToUint32) \ 215 V(StringToNumber) \
216 V(ChangeTaggedToFloat64) \ 216 V(ChangeTaggedSignedToInt32) \
217 V(ChangeInt31ToTaggedSigned) \ 217 V(ChangeTaggedToInt32) \
218 V(ChangeInt32ToTagged) \ 218 V(ChangeTaggedToUint32) \
219 V(ChangeUint32ToTagged) \ 219 V(ChangeTaggedToFloat64) \
220 V(ChangeFloat64ToTagged) \ 220 V(ChangeInt31ToTaggedSigned) \
221 V(ChangeTaggedToBit) \ 221 V(ChangeInt32ToTagged) \
222 V(ChangeBitToTagged) \ 222 V(ChangeUint32ToTagged) \
223 V(CheckBounds) \ 223 V(ChangeFloat64ToTagged) \
224 V(CheckedUint32ToInt32) \ 224 V(ChangeTaggedToBit) \
225 V(CheckedFloat64ToInt32) \ 225 V(ChangeBitToTagged) \
226 V(CheckedTaggedToInt32) \ 226 V(CheckBounds) \
227 V(CheckedTaggedToFloat64) \ 227 V(CheckedUint32ToInt32) \
228 V(CheckFloat64Hole) \ 228 V(CheckedFloat64ToInt32) \
229 V(CheckTaggedHole) \ 229 V(CheckedTaggedToInt32) \
230 V(CheckIf) \ 230 V(CheckedTaggedToFloat64) \
231 V(TruncateTaggedToWord32) \ 231 V(CheckFloat64Hole) \
232 V(TruncateTaggedToFloat64) \ 232 V(CheckTaggedHole) \
233 V(Allocate) \ 233 V(CheckIf) \
234 V(LoadField) \ 234 V(TruncateTaggedToWord32) \
235 V(LoadBuffer) \ 235 V(TruncateTaggedToFloat64) \
236 V(LoadElement) \ 236 V(Allocate) \
237 V(StoreField) \ 237 V(LoadField) \
238 V(StoreBuffer) \ 238 V(LoadBuffer) \
239 V(StoreElement) \ 239 V(LoadElement) \
240 V(ObjectIsCallable) \ 240 V(StoreField) \
241 V(ObjectIsNumber) \ 241 V(StoreBuffer) \
242 V(ObjectIsReceiver) \ 242 V(StoreElement) \
243 V(ObjectIsSmi) \ 243 V(ObjectIsCallable) \
244 V(ObjectIsString) \ 244 V(ObjectIsNumber) \
245 V(ObjectIsUndetectable) \ 245 V(ObjectIsReceiver) \
246 V(ObjectIsSmi) \
247 V(ObjectIsString) \
248 V(ObjectIsUndetectable) \
246 V(TypeGuard) 249 V(TypeGuard)
247 250
248 // Opcodes for Machine-level operators. 251 // Opcodes for Machine-level operators.
249 #define MACHINE_COMPARE_BINOP_LIST(V) \ 252 #define MACHINE_COMPARE_BINOP_LIST(V) \
250 V(Word32Equal) \ 253 V(Word32Equal) \
251 V(Word64Equal) \ 254 V(Word64Equal) \
252 V(Int32LessThan) \ 255 V(Int32LessThan) \
253 V(Int32LessThanOrEqual) \ 256 V(Int32LessThanOrEqual) \
254 V(Uint32LessThan) \ 257 V(Uint32LessThan) \
255 V(Uint32LessThanOrEqual) \ 258 V(Uint32LessThanOrEqual) \
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 } 662 }
660 }; 663 };
661 664
662 std::ostream& operator<<(std::ostream&, IrOpcode::Value); 665 std::ostream& operator<<(std::ostream&, IrOpcode::Value);
663 666
664 } // namespace compiler 667 } // namespace compiler
665 } // namespace internal 668 } // namespace internal
666 } // namespace v8 669 } // namespace v8
667 670
668 #endif // V8_COMPILER_OPCODES_H_ 671 #endif // V8_COMPILER_OPCODES_H_
OLDNEW
« no previous file with comments | « src/compiler/js-typed-lowering.cc ('k') | src/compiler/representation-change.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698