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 // Opcodes for control operators. | 8 // Opcodes for control operators. |
9 #define CONTROL_OP_LIST(V) \ | 9 #define INNER_CONTROL_OP_LIST(V) \ |
10 V(Start) \ | |
11 V(Dead) \ | 10 V(Dead) \ |
12 V(Loop) \ | 11 V(Loop) \ |
13 V(End) \ | |
14 V(Branch) \ | 12 V(Branch) \ |
15 V(IfTrue) \ | 13 V(IfTrue) \ |
16 V(IfFalse) \ | 14 V(IfFalse) \ |
17 V(Merge) \ | 15 V(Merge) \ |
18 V(Return) \ | 16 V(Return) \ |
19 V(Throw) \ | 17 V(Throw) \ |
20 V(Continuation) \ | 18 V(Continuation) \ |
21 V(LazyDeoptimization) \ | 19 V(LazyDeoptimization) \ |
22 V(Deoptimize) | 20 V(Deoptimize) |
23 | 21 |
| 22 #define CONTROL_OP_LIST(V) \ |
| 23 INNER_CONTROL_OP_LIST(V) \ |
| 24 V(Start) \ |
| 25 V(End) |
| 26 |
24 // Opcodes for common operators. | 27 // Opcodes for common operators. |
25 #define LEAF_OP_LIST(V) \ | 28 #define LEAF_OP_LIST(V) \ |
26 V(Int32Constant) \ | 29 V(Int32Constant) \ |
27 V(Int64Constant) \ | 30 V(Int64Constant) \ |
28 V(Float64Constant) \ | 31 V(Float64Constant) \ |
29 V(ExternalConstant) \ | 32 V(ExternalConstant) \ |
30 V(NumberConstant) \ | 33 V(NumberConstant) \ |
31 V(HeapConstant) | 34 V(HeapConstant) |
32 | 35 |
33 #define INNER_OP_LIST(V) \ | 36 #define INNER_OP_LIST(V) \ |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 | 82 |
80 #define JS_LOGIC_UNOP_LIST(V) V(JSUnaryNot) | 83 #define JS_LOGIC_UNOP_LIST(V) V(JSUnaryNot) |
81 | 84 |
82 #define JS_CONVERSION_UNOP_LIST(V) \ | 85 #define JS_CONVERSION_UNOP_LIST(V) \ |
83 V(JSToBoolean) \ | 86 V(JSToBoolean) \ |
84 V(JSToNumber) \ | 87 V(JSToNumber) \ |
85 V(JSToString) \ | 88 V(JSToString) \ |
86 V(JSToName) \ | 89 V(JSToName) \ |
87 V(JSToObject) | 90 V(JSToObject) |
88 | 91 |
89 #define JS_OTHER_UNOP_LIST(V) V(JSTypeOf) | 92 #define JS_OTHER_UNOP_LIST(V) \ |
| 93 V(JSTypeOf) |
90 | 94 |
91 #define JS_SIMPLE_UNOP_LIST(V) \ | 95 #define JS_SIMPLE_UNOP_LIST(V) \ |
92 JS_LOGIC_UNOP_LIST(V) \ | 96 JS_LOGIC_UNOP_LIST(V) \ |
93 JS_CONVERSION_UNOP_LIST(V) \ | 97 JS_CONVERSION_UNOP_LIST(V) \ |
94 JS_OTHER_UNOP_LIST(V) | 98 JS_OTHER_UNOP_LIST(V) |
95 | 99 |
96 #define JS_OBJECT_OP_LIST(V) \ | 100 #define JS_OBJECT_OP_LIST(V) \ |
97 V(JSCreate) \ | 101 V(JSCreate) \ |
98 V(JSLoadProperty) \ | 102 V(JSLoadProperty) \ |
99 V(JSLoadNamed) \ | 103 V(JSLoadNamed) \ |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 return false; | 299 return false; |
296 } | 300 } |
297 } | 301 } |
298 }; | 302 }; |
299 | 303 |
300 } // namespace compiler | 304 } // namespace compiler |
301 } // namespace internal | 305 } // namespace internal |
302 } // namespace v8 | 306 } // namespace v8 |
303 | 307 |
304 #endif // V8_COMPILER_OPCODES_H_ | 308 #endif // V8_COMPILER_OPCODES_H_ |
OLD | NEW |