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 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 | 153 |
154 #define JS_CONTEXT_OP_LIST(V) \ | 154 #define JS_CONTEXT_OP_LIST(V) \ |
155 V(JSLoadContext) \ | 155 V(JSLoadContext) \ |
156 V(JSStoreContext) \ | 156 V(JSStoreContext) \ |
157 V(JSCreateFunctionContext) \ | 157 V(JSCreateFunctionContext) \ |
158 V(JSCreateCatchContext) \ | 158 V(JSCreateCatchContext) \ |
159 V(JSCreateWithContext) \ | 159 V(JSCreateWithContext) \ |
160 V(JSCreateBlockContext) \ | 160 V(JSCreateBlockContext) \ |
161 V(JSCreateScriptContext) | 161 V(JSCreateScriptContext) |
162 | 162 |
| 163 #define JS_CALL_OP_LIST(V) \ |
| 164 V(JSConstruct) \ |
| 165 V(JSConstructForwardVarargs) \ |
| 166 V(JSConstructWithArrayLike) \ |
| 167 V(JSConstructWithSpread) \ |
| 168 V(JSCall) \ |
| 169 V(JSCallForwardVarargs) \ |
| 170 V(JSCallVarargs) \ |
| 171 V(JSCallWithArrayLike) \ |
| 172 V(JSCallWithSpread) \ |
| 173 V(JSCallRuntime) |
| 174 |
163 #define JS_OTHER_OP_LIST(V) \ | 175 #define JS_OTHER_OP_LIST(V) \ |
164 V(JSConstructForwardVarargs) \ | |
165 V(JSConstruct) \ | |
166 V(JSConstructWithArrayLike) \ | |
167 V(JSConstructWithSpread) \ | |
168 V(JSCallForwardVarargs) \ | |
169 V(JSCall) \ | |
170 V(JSCallWithArrayLike) \ | |
171 V(JSCallWithSpread) \ | |
172 V(JSCallRuntime) \ | |
173 V(JSConvertReceiver) \ | 176 V(JSConvertReceiver) \ |
174 V(JSForInNext) \ | 177 V(JSForInNext) \ |
175 V(JSForInPrepare) \ | 178 V(JSForInPrepare) \ |
176 V(JSLoadMessage) \ | 179 V(JSLoadMessage) \ |
177 V(JSStoreMessage) \ | 180 V(JSStoreMessage) \ |
178 V(JSLoadModule) \ | 181 V(JSLoadModule) \ |
179 V(JSStoreModule) \ | 182 V(JSStoreModule) \ |
180 V(JSGeneratorStore) \ | 183 V(JSGeneratorStore) \ |
181 V(JSGeneratorRestoreContinuation) \ | 184 V(JSGeneratorRestoreContinuation) \ |
182 V(JSGeneratorRestoreRegister) \ | 185 V(JSGeneratorRestoreRegister) \ |
183 V(JSStackCheck) \ | 186 V(JSStackCheck) \ |
184 V(JSStringConcat) \ | 187 V(JSStringConcat) \ |
185 V(JSDebugger) | 188 V(JSDebugger) |
186 | 189 |
187 #define JS_OP_LIST(V) \ | 190 #define JS_OP_LIST(V) \ |
188 JS_SIMPLE_BINOP_LIST(V) \ | 191 JS_SIMPLE_BINOP_LIST(V) \ |
189 JS_SIMPLE_UNOP_LIST(V) \ | 192 JS_SIMPLE_UNOP_LIST(V) \ |
190 JS_OBJECT_OP_LIST(V) \ | 193 JS_OBJECT_OP_LIST(V) \ |
191 JS_CONTEXT_OP_LIST(V) \ | 194 JS_CONTEXT_OP_LIST(V) \ |
| 195 JS_CALL_OP_LIST(V) \ |
192 JS_OTHER_OP_LIST(V) | 196 JS_OTHER_OP_LIST(V) |
193 | 197 |
194 // Opcodes for VirtuaMachine-level operators. | 198 // Opcodes for VirtuaMachine-level operators. |
195 #define SIMPLIFIED_CHANGE_OP_LIST(V) \ | 199 #define SIMPLIFIED_CHANGE_OP_LIST(V) \ |
196 V(ChangeTaggedSignedToInt32) \ | 200 V(ChangeTaggedSignedToInt32) \ |
197 V(ChangeTaggedToInt32) \ | 201 V(ChangeTaggedToInt32) \ |
198 V(ChangeTaggedToUint32) \ | 202 V(ChangeTaggedToUint32) \ |
199 V(ChangeTaggedToFloat64) \ | 203 V(ChangeTaggedToFloat64) \ |
200 V(ChangeTaggedToTaggedSigned) \ | 204 V(ChangeTaggedToTaggedSigned) \ |
201 V(ChangeInt31ToTaggedSigned) \ | 205 V(ChangeInt31ToTaggedSigned) \ |
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
800 } | 804 } |
801 }; | 805 }; |
802 | 806 |
803 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream&, IrOpcode::Value); | 807 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream&, IrOpcode::Value); |
804 | 808 |
805 } // namespace compiler | 809 } // namespace compiler |
806 } // namespace internal | 810 } // namespace internal |
807 } // namespace v8 | 811 } // namespace v8 |
808 | 812 |
809 #endif // V8_COMPILER_OPCODES_H_ | 813 #endif // V8_COMPILER_OPCODES_H_ |
OLD | NEW |