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

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: Fixes 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
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(BooleanNot) \ 178 V(BooleanNot) \
179 V(BooleanToNumber) \ 179 V(BooleanToNumber) \
180 V(SpeculativeNumberAdd) \ 180 V(SpeculativeNumberAdd) \
181 V(SpeculativeNumberSubtract) \ 181 V(SpeculativeNumberSubtract) \
182 V(NumberAdd) \ 182 V(SpeculativeNumberEqual) \
183 V(NumberSubtract) \ 183 V(SpeculativeNumberLessThan) \
184 V(NumberMultiply) \ 184 V(SpeculativeNumberLessThanOrEqual) \
185 V(NumberDivide) \ 185 V(NumberAdd) \
186 V(NumberModulus) \ 186 V(NumberSubtract) \
187 V(NumberBitwiseOr) \ 187 V(NumberMultiply) \
188 V(NumberBitwiseXor) \ 188 V(NumberDivide) \
189 V(NumberBitwiseAnd) \ 189 V(NumberModulus) \
190 V(NumberShiftLeft) \ 190 V(NumberBitwiseOr) \
191 V(NumberShiftRight) \ 191 V(NumberBitwiseXor) \
192 V(NumberShiftRightLogical) \ 192 V(NumberBitwiseAnd) \
193 V(NumberImul) \ 193 V(NumberShiftLeft) \
194 V(NumberClz32) \ 194 V(NumberShiftRight) \
195 V(NumberCeil) \ 195 V(NumberShiftRightLogical) \
196 V(NumberFloor) \ 196 V(NumberImul) \
197 V(NumberLog) \ 197 V(NumberClz32) \
198 V(NumberRound) \ 198 V(NumberCeil) \
199 V(NumberTrunc) \ 199 V(NumberFloor) \
200 V(NumberToInt32) \ 200 V(NumberLog) \
201 V(NumberToUint32) \ 201 V(NumberRound) \
202 V(NumberIsHoleNaN) \ 202 V(NumberTrunc) \
203 V(StringFromCharCode) \ 203 V(NumberToInt32) \
204 V(StringToNumber) \ 204 V(NumberToUint32) \
205 V(ChangeTaggedSignedToInt32) \ 205 V(NumberIsHoleNaN) \
206 V(ChangeTaggedToInt32) \ 206 V(StringFromCharCode) \
207 V(ChangeTaggedToUint32) \ 207 V(StringToNumber) \
208 V(ChangeTaggedToFloat64) \ 208 V(ChangeTaggedSignedToInt32) \
209 V(ChangeInt31ToTaggedSigned) \ 209 V(ChangeTaggedToInt32) \
210 V(ChangeInt32ToTagged) \ 210 V(ChangeTaggedToUint32) \
211 V(ChangeUint32ToTagged) \ 211 V(ChangeTaggedToFloat64) \
212 V(ChangeFloat64ToTagged) \ 212 V(ChangeInt31ToTaggedSigned) \
213 V(ChangeTaggedToBit) \ 213 V(ChangeInt32ToTagged) \
214 V(ChangeBitToTagged) \ 214 V(ChangeUint32ToTagged) \
215 V(CheckedUint32ToInt32) \ 215 V(ChangeFloat64ToTagged) \
216 V(CheckedFloat64ToInt32) \ 216 V(ChangeTaggedToBit) \
217 V(CheckedTaggedToInt32) \ 217 V(ChangeBitToTagged) \
218 V(CheckedTaggedToFloat64) \ 218 V(CheckedUint32ToInt32) \
219 V(TruncateTaggedToWord32) \ 219 V(CheckedFloat64ToInt32) \
220 V(TruncateTaggedToFloat64) \ 220 V(CheckedTaggedToInt32) \
221 V(Allocate) \ 221 V(CheckedTaggedToFloat64) \
222 V(LoadField) \ 222 V(TruncateTaggedToWord32) \
223 V(LoadBuffer) \ 223 V(TruncateTaggedToFloat64) \
224 V(LoadElement) \ 224 V(Allocate) \
225 V(StoreField) \ 225 V(LoadField) \
226 V(StoreBuffer) \ 226 V(LoadBuffer) \
227 V(StoreElement) \ 227 V(LoadElement) \
228 V(ObjectIsCallable) \ 228 V(StoreField) \
229 V(ObjectIsNumber) \ 229 V(StoreBuffer) \
230 V(ObjectIsReceiver) \ 230 V(StoreElement) \
231 V(ObjectIsSmi) \ 231 V(ObjectIsCallable) \
232 V(ObjectIsString) \ 232 V(ObjectIsNumber) \
233 V(ObjectIsUndetectable) \ 233 V(ObjectIsReceiver) \
234 V(ObjectIsSmi) \
235 V(ObjectIsString) \
236 V(ObjectIsUndetectable) \
234 V(TypeGuard) 237 V(TypeGuard)
235 238
236 // Opcodes for Machine-level operators. 239 // Opcodes for Machine-level operators.
237 #define MACHINE_COMPARE_BINOP_LIST(V) \ 240 #define MACHINE_COMPARE_BINOP_LIST(V) \
238 V(Word32Equal) \ 241 V(Word32Equal) \
239 V(Word64Equal) \ 242 V(Word64Equal) \
240 V(Int32LessThan) \ 243 V(Int32LessThan) \
241 V(Int32LessThanOrEqual) \ 244 V(Int32LessThanOrEqual) \
242 V(Uint32LessThan) \ 245 V(Uint32LessThan) \
243 V(Uint32LessThanOrEqual) \ 246 V(Uint32LessThanOrEqual) \
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 } 645 }
643 }; 646 };
644 647
645 std::ostream& operator<<(std::ostream&, IrOpcode::Value); 648 std::ostream& operator<<(std::ostream&, IrOpcode::Value);
646 649
647 } // namespace compiler 650 } // namespace compiler
648 } // namespace internal 651 } // namespace internal
649 } // namespace v8 652 } // namespace v8
650 653
651 #endif // V8_COMPILER_OPCODES_H_ 654 #endif // V8_COMPILER_OPCODES_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698