OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_INTERPRETER_BYTECODES_H_ | 5 #ifndef V8_INTERPRETER_BYTECODES_H_ |
6 #define V8_INTERPRETER_BYTECODES_H_ | 6 #define V8_INTERPRETER_BYTECODES_H_ |
7 | 7 |
8 #include <cstdint> | 8 #include <cstdint> |
9 #include <iosfwd> | 9 #include <iosfwd> |
10 #include <string> | 10 #include <string> |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 V(TestLessThan, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 206 V(TestLessThan, AccumulatorUse::kReadWrite, OperandType::kReg) \ |
207 V(TestGreaterThan, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 207 V(TestGreaterThan, AccumulatorUse::kReadWrite, OperandType::kReg) \ |
208 V(TestLessThanOrEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 208 V(TestLessThanOrEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ |
209 V(TestGreaterThanOrEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 209 V(TestGreaterThanOrEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ |
210 V(TestInstanceOf, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 210 V(TestInstanceOf, AccumulatorUse::kReadWrite, OperandType::kReg) \ |
211 V(TestIn, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 211 V(TestIn, AccumulatorUse::kReadWrite, OperandType::kReg) \ |
212 \ | 212 \ |
213 /* Cast operators */ \ | 213 /* Cast operators */ \ |
214 V(ToName, AccumulatorUse::kRead, OperandType::kRegOut) \ | 214 V(ToName, AccumulatorUse::kRead, OperandType::kRegOut) \ |
215 V(ToNumber, AccumulatorUse::kRead, OperandType::kRegOut) \ | 215 V(ToNumber, AccumulatorUse::kRead, OperandType::kRegOut) \ |
216 V(ToObject, AccumulatorUse::kReadWrite) \ | 216 V(ToObject, AccumulatorUse::kRead, OperandType::kRegOut) \ |
217 \ | 217 \ |
218 /* Literals */ \ | 218 /* Literals */ \ |
219 V(CreateRegExpLiteral, AccumulatorUse::kWrite, OperandType::kIdx, \ | 219 V(CreateRegExpLiteral, AccumulatorUse::kWrite, OperandType::kIdx, \ |
220 OperandType::kIdx, OperandType::kFlag8) \ | 220 OperandType::kIdx, OperandType::kFlag8) \ |
221 V(CreateArrayLiteral, AccumulatorUse::kWrite, OperandType::kIdx, \ | 221 V(CreateArrayLiteral, AccumulatorUse::kWrite, OperandType::kIdx, \ |
222 OperandType::kIdx, OperandType::kFlag8) \ | 222 OperandType::kIdx, OperandType::kFlag8) \ |
223 V(CreateObjectLiteral, AccumulatorUse::kWrite, OperandType::kIdx, \ | 223 V(CreateObjectLiteral, AccumulatorUse::kWrite, OperandType::kIdx, \ |
224 OperandType::kIdx, OperandType::kFlag8) \ | 224 OperandType::kIdx, OperandType::kFlag8) \ |
225 \ | 225 \ |
226 /* Closure allocation */ \ | 226 /* Closure allocation */ \ |
(...skipping 17 matching lines...) Expand all Loading... |
244 V(JumpIfToBooleanFalse, AccumulatorUse::kRead, OperandType::kImm) \ | 244 V(JumpIfToBooleanFalse, AccumulatorUse::kRead, OperandType::kImm) \ |
245 V(JumpIfToBooleanFalseConstant, AccumulatorUse::kRead, OperandType::kIdx) \ | 245 V(JumpIfToBooleanFalseConstant, AccumulatorUse::kRead, OperandType::kIdx) \ |
246 V(JumpIfNull, AccumulatorUse::kRead, OperandType::kImm) \ | 246 V(JumpIfNull, AccumulatorUse::kRead, OperandType::kImm) \ |
247 V(JumpIfNullConstant, AccumulatorUse::kRead, OperandType::kIdx) \ | 247 V(JumpIfNullConstant, AccumulatorUse::kRead, OperandType::kIdx) \ |
248 V(JumpIfUndefined, AccumulatorUse::kRead, OperandType::kImm) \ | 248 V(JumpIfUndefined, AccumulatorUse::kRead, OperandType::kImm) \ |
249 V(JumpIfUndefinedConstant, AccumulatorUse::kRead, OperandType::kIdx) \ | 249 V(JumpIfUndefinedConstant, AccumulatorUse::kRead, OperandType::kIdx) \ |
250 V(JumpIfNotHole, AccumulatorUse::kRead, OperandType::kImm) \ | 250 V(JumpIfNotHole, AccumulatorUse::kRead, OperandType::kImm) \ |
251 V(JumpIfNotHoleConstant, AccumulatorUse::kRead, OperandType::kIdx) \ | 251 V(JumpIfNotHoleConstant, AccumulatorUse::kRead, OperandType::kIdx) \ |
252 \ | 252 \ |
253 /* Complex flow control For..in */ \ | 253 /* Complex flow control For..in */ \ |
254 V(ForInPrepare, AccumulatorUse::kRead, OperandType::kRegOutTriple) \ | 254 V(ForInPrepare, AccumulatorUse::kNone, OperandType::kReg, \ |
| 255 OperandType::kRegOutTriple) \ |
255 V(ForInDone, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kReg) \ | 256 V(ForInDone, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kReg) \ |
256 V(ForInNext, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kReg, \ | 257 V(ForInNext, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kReg, \ |
257 OperandType::kRegPair, OperandType::kIdx) \ | 258 OperandType::kRegPair, OperandType::kIdx) \ |
258 V(ForInStep, AccumulatorUse::kWrite, OperandType::kReg) \ | 259 V(ForInStep, AccumulatorUse::kWrite, OperandType::kReg) \ |
259 \ | 260 \ |
260 /* Perform a stack guard check */ \ | 261 /* Perform a stack guard check */ \ |
261 V(StackCheck, AccumulatorUse::kNone) \ | 262 V(StackCheck, AccumulatorUse::kNone) \ |
262 \ | 263 \ |
263 /* Perform a check to trigger on-stack replacement */ \ | 264 /* Perform a check to trigger on-stack replacement */ \ |
264 V(OsrPoll, AccumulatorUse::kNone, OperandType::kImm) \ | 265 V(OsrPoll, AccumulatorUse::kNone, OperandType::kImm) \ |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
570 std::ostream& operator<<(std::ostream& os, const AccumulatorUse& use); | 571 std::ostream& operator<<(std::ostream& os, const AccumulatorUse& use); |
571 std::ostream& operator<<(std::ostream& os, const OperandScale& operand_scale); | 572 std::ostream& operator<<(std::ostream& os, const OperandScale& operand_scale); |
572 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_size); | 573 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_size); |
573 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type); | 574 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type); |
574 | 575 |
575 } // namespace interpreter | 576 } // namespace interpreter |
576 } // namespace internal | 577 } // namespace internal |
577 } // namespace v8 | 578 } // namespace v8 |
578 | 579 |
579 #endif // V8_INTERPRETER_BYTECODES_H_ | 580 #endif // V8_INTERPRETER_BYTECODES_H_ |
OLD | NEW |