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

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

Issue 2107783004: [turbofan] Disallow typing for change/checked operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@TurboFan_RepresentationSelection_Typer
Patch Set: ReferenceEqual foo Created 4 years, 5 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/simplified-operator-reducer.h » ('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 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 V(JSStackCheck) 156 V(JSStackCheck)
157 157
158 #define JS_OP_LIST(V) \ 158 #define JS_OP_LIST(V) \
159 JS_SIMPLE_BINOP_LIST(V) \ 159 JS_SIMPLE_BINOP_LIST(V) \
160 JS_SIMPLE_UNOP_LIST(V) \ 160 JS_SIMPLE_UNOP_LIST(V) \
161 JS_OBJECT_OP_LIST(V) \ 161 JS_OBJECT_OP_LIST(V) \
162 JS_CONTEXT_OP_LIST(V) \ 162 JS_CONTEXT_OP_LIST(V) \
163 JS_OTHER_OP_LIST(V) 163 JS_OTHER_OP_LIST(V)
164 164
165 // Opcodes for VirtuaMachine-level operators. 165 // Opcodes for VirtuaMachine-level operators.
166 #define SIMPLIFIED_CHANGE_OP_LIST(V) \
167 V(ChangeTaggedSignedToInt32) \
168 V(ChangeTaggedToInt32) \
169 V(ChangeTaggedToUint32) \
170 V(ChangeTaggedToFloat64) \
171 V(ChangeInt31ToTaggedSigned) \
172 V(ChangeInt32ToTagged) \
173 V(ChangeUint32ToTagged) \
174 V(ChangeFloat64ToTagged) \
175 V(ChangeTaggedToBit) \
176 V(ChangeBitToTagged) \
177 V(TruncateTaggedToWord32) \
178 V(TruncateTaggedToFloat64)
179
180 #define SIMPLIFIED_CHECKED_OP_LIST(V) \
181 V(CheckedInt32Add) \
182 V(CheckedInt32Sub) \
183 V(CheckedUint32ToInt32) \
184 V(CheckedFloat64ToInt32) \
185 V(CheckedTaggedToInt32) \
186 V(CheckedTaggedToFloat64)
187
166 #define SIMPLIFIED_COMPARE_BINOP_LIST(V) \ 188 #define SIMPLIFIED_COMPARE_BINOP_LIST(V) \
167 V(NumberEqual) \ 189 V(NumberEqual) \
168 V(NumberLessThan) \ 190 V(NumberLessThan) \
169 V(NumberLessThanOrEqual) \ 191 V(NumberLessThanOrEqual) \
170 V(ReferenceEqual) \ 192 V(ReferenceEqual) \
171 V(StringEqual) \ 193 V(StringEqual) \
172 V(StringLessThan) \ 194 V(StringLessThan) \
173 V(StringLessThanOrEqual) 195 V(StringLessThanOrEqual)
174 196
175 #define SIMPLIFIED_OP_LIST(V) \ 197 #define SIMPLIFIED_OTHER_OP_LIST(V) \
176 SIMPLIFIED_COMPARE_BINOP_LIST(V) \
177 V(PlainPrimitiveToNumber) \ 198 V(PlainPrimitiveToNumber) \
178 V(PlainPrimitiveToWord32) \ 199 V(PlainPrimitiveToWord32) \
179 V(PlainPrimitiveToFloat64) \ 200 V(PlainPrimitiveToFloat64) \
180 V(BooleanNot) \ 201 V(BooleanNot) \
181 V(BooleanToNumber) \ 202 V(BooleanToNumber) \
182 V(SpeculativeNumberAdd) \ 203 V(SpeculativeNumberAdd) \
183 V(SpeculativeNumberSubtract) \ 204 V(SpeculativeNumberSubtract) \
184 V(SpeculativeNumberMultiply) \ 205 V(SpeculativeNumberMultiply) \
185 V(SpeculativeNumberDivide) \ 206 V(SpeculativeNumberDivide) \
186 V(SpeculativeNumberModulus) \ 207 V(SpeculativeNumberModulus) \
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 V(NumberRound) \ 240 V(NumberRound) \
220 V(NumberSin) \ 241 V(NumberSin) \
221 V(NumberSqrt) \ 242 V(NumberSqrt) \
222 V(NumberTan) \ 243 V(NumberTan) \
223 V(NumberTrunc) \ 244 V(NumberTrunc) \
224 V(NumberToInt32) \ 245 V(NumberToInt32) \
225 V(NumberToUint32) \ 246 V(NumberToUint32) \
226 V(NumberSilenceNaN) \ 247 V(NumberSilenceNaN) \
227 V(StringFromCharCode) \ 248 V(StringFromCharCode) \
228 V(StringToNumber) \ 249 V(StringToNumber) \
229 V(ChangeTaggedSignedToInt32) \
230 V(ChangeTaggedToInt32) \
231 V(ChangeTaggedToUint32) \
232 V(ChangeTaggedToFloat64) \
233 V(ChangeInt31ToTaggedSigned) \
234 V(ChangeInt32ToTagged) \
235 V(ChangeUint32ToTagged) \
236 V(ChangeFloat64ToTagged) \
237 V(ChangeTaggedToBit) \
238 V(ChangeBitToTagged) \
239 V(CheckBounds) \ 250 V(CheckBounds) \
240 V(CheckNumber) \ 251 V(CheckNumber) \
241 V(CheckTaggedPointer) \ 252 V(CheckTaggedPointer) \
242 V(CheckTaggedSigned) \ 253 V(CheckTaggedSigned) \
243 V(CheckedInt32Add) \
244 V(CheckedInt32Sub) \
245 V(CheckedUint32ToInt32) \
246 V(CheckedFloat64ToInt32) \
247 V(CheckedTaggedToInt32) \
248 V(CheckedTaggedToFloat64) \
249 V(CheckFloat64Hole) \ 254 V(CheckFloat64Hole) \
250 V(CheckTaggedHole) \ 255 V(CheckTaggedHole) \
251 V(TruncateTaggedToWord32) \
252 V(TruncateTaggedToFloat64) \
253 V(Allocate) \ 256 V(Allocate) \
254 V(LoadField) \ 257 V(LoadField) \
255 V(LoadBuffer) \ 258 V(LoadBuffer) \
256 V(LoadElement) \ 259 V(LoadElement) \
257 V(StoreField) \ 260 V(StoreField) \
258 V(StoreBuffer) \ 261 V(StoreBuffer) \
259 V(StoreElement) \ 262 V(StoreElement) \
260 V(ObjectIsCallable) \ 263 V(ObjectIsCallable) \
261 V(ObjectIsNumber) \ 264 V(ObjectIsNumber) \
262 V(ObjectIsReceiver) \ 265 V(ObjectIsReceiver) \
263 V(ObjectIsSmi) \ 266 V(ObjectIsSmi) \
264 V(ObjectIsString) \ 267 V(ObjectIsString) \
265 V(ObjectIsUndetectable) 268 V(ObjectIsUndetectable)
266 269
270 #define SIMPLIFIED_OP_LIST(V) \
271 SIMPLIFIED_CHANGE_OP_LIST(V) \
272 SIMPLIFIED_CHECKED_OP_LIST(V) \
273 SIMPLIFIED_COMPARE_BINOP_LIST(V) \
274 SIMPLIFIED_OTHER_OP_LIST(V)
275
267 // Opcodes for Machine-level operators. 276 // Opcodes for Machine-level operators.
268 #define MACHINE_COMPARE_BINOP_LIST(V) \ 277 #define MACHINE_COMPARE_BINOP_LIST(V) \
269 V(Word32Equal) \ 278 V(Word32Equal) \
270 V(Word64Equal) \ 279 V(Word64Equal) \
271 V(Int32LessThan) \ 280 V(Int32LessThan) \
272 V(Int32LessThanOrEqual) \ 281 V(Int32LessThanOrEqual) \
273 V(Uint32LessThan) \ 282 V(Uint32LessThan) \
274 V(Uint32LessThanOrEqual) \ 283 V(Uint32LessThanOrEqual) \
275 V(Int64LessThan) \ 284 V(Int64LessThan) \
276 V(Int64LessThanOrEqual) \ 285 V(Int64LessThanOrEqual) \
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 } 697 }
689 }; 698 };
690 699
691 std::ostream& operator<<(std::ostream&, IrOpcode::Value); 700 std::ostream& operator<<(std::ostream&, IrOpcode::Value);
692 701
693 } // namespace compiler 702 } // namespace compiler
694 } // namespace internal 703 } // namespace internal
695 } // namespace v8 704 } // namespace v8
696 705
697 #endif // V8_COMPILER_OPCODES_H_ 706 #endif // V8_COMPILER_OPCODES_H_
OLDNEW
« no previous file with comments | « src/compiler/js-typed-lowering.cc ('k') | src/compiler/simplified-operator-reducer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698