OLD | NEW |
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 14 matching lines...) Expand all Loading... |
25 V(DeoptimizeUnless) \ | 25 V(DeoptimizeUnless) \ |
26 V(Return) \ | 26 V(Return) \ |
27 V(TailCall) \ | 27 V(TailCall) \ |
28 V(Terminate) \ | 28 V(Terminate) \ |
29 V(OsrNormalEntry) \ | 29 V(OsrNormalEntry) \ |
30 V(OsrLoopEntry) \ | 30 V(OsrLoopEntry) \ |
31 V(Throw) \ | 31 V(Throw) \ |
32 V(End) | 32 V(End) |
33 | 33 |
34 // Opcodes for constant operators. | 34 // Opcodes for constant operators. |
35 #define CONSTANT_OP_LIST(V) \ | 35 #define CONSTANT_OP_LIST(V) \ |
36 V(Int32Constant) \ | 36 V(Int32Constant) \ |
37 V(Int64Constant) \ | 37 V(Int64Constant) \ |
38 V(Float32Constant) \ | 38 V(Float32Constant) \ |
39 V(Float64Constant) \ | 39 V(Float64Constant) \ |
40 V(ExternalConstant) \ | 40 V(ExternalConstant) \ |
41 V(NumberConstant) \ | 41 V(NumberConstant) \ |
42 V(HeapConstant) | 42 V(HeapConstant) \ |
| 43 V(RelocatableInt32Constant) \ |
| 44 V(RelocatableInt64Constant) |
43 | 45 |
44 #define INNER_OP_LIST(V) \ | 46 #define INNER_OP_LIST(V) \ |
45 V(Select) \ | 47 V(Select) \ |
46 V(Phi) \ | 48 V(Phi) \ |
47 V(EffectSet) \ | 49 V(EffectSet) \ |
48 V(EffectPhi) \ | 50 V(EffectPhi) \ |
49 V(Guard) \ | 51 V(Guard) \ |
50 V(BeginRegion) \ | 52 V(BeginRegion) \ |
51 V(FinishRegion) \ | 53 V(FinishRegion) \ |
52 V(FrameState) \ | 54 V(FrameState) \ |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 return kStart <= value && value <= kEnd; | 394 return kStart <= value && value <= kEnd; |
393 } | 395 } |
394 | 396 |
395 // Returns true if opcode for JavaScript operator. | 397 // Returns true if opcode for JavaScript operator. |
396 static bool IsJsOpcode(Value value) { | 398 static bool IsJsOpcode(Value value) { |
397 return kJSEqual <= value && value <= kJSStackCheck; | 399 return kJSEqual <= value && value <= kJSStackCheck; |
398 } | 400 } |
399 | 401 |
400 // Returns true if opcode for constant operator. | 402 // Returns true if opcode for constant operator. |
401 static bool IsConstantOpcode(Value value) { | 403 static bool IsConstantOpcode(Value value) { |
402 return kInt32Constant <= value && value <= kHeapConstant; | 404 return kInt32Constant <= value && value <= kRelocatableInt64Constant; |
403 } | 405 } |
404 | 406 |
405 static bool IsPhiOpcode(Value value) { | 407 static bool IsPhiOpcode(Value value) { |
406 return value == kPhi || value == kEffectPhi; | 408 return value == kPhi || value == kEffectPhi; |
407 } | 409 } |
408 | 410 |
409 static bool IsMergeOpcode(Value value) { | 411 static bool IsMergeOpcode(Value value) { |
410 return value == kMerge || value == kLoop; | 412 return value == kMerge || value == kLoop; |
411 } | 413 } |
412 | 414 |
(...skipping 14 matching lines...) Expand all Loading... |
427 } | 429 } |
428 }; | 430 }; |
429 | 431 |
430 std::ostream& operator<<(std::ostream&, IrOpcode::Value); | 432 std::ostream& operator<<(std::ostream&, IrOpcode::Value); |
431 | 433 |
432 } // namespace compiler | 434 } // namespace compiler |
433 } // namespace internal | 435 } // namespace internal |
434 } // namespace v8 | 436 } // namespace v8 |
435 | 437 |
436 #endif // V8_COMPILER_OPCODES_H_ | 438 #endif // V8_COMPILER_OPCODES_H_ |
OLD | NEW |