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 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 \ | 201 \ |
202 /* Intrinsics */ \ | 202 /* Intrinsics */ \ |
203 V(InvokeIntrinsic, AccumulatorUse::kWrite, OperandType::kIntrinsicId, \ | 203 V(InvokeIntrinsic, AccumulatorUse::kWrite, OperandType::kIntrinsicId, \ |
204 OperandType::kMaybeReg, OperandType::kRegCount) \ | 204 OperandType::kMaybeReg, OperandType::kRegCount) \ |
205 \ | 205 \ |
206 /* New operator */ \ | 206 /* New operator */ \ |
207 V(New, AccumulatorUse::kReadWrite, OperandType::kReg, \ | 207 V(New, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
208 OperandType::kMaybeReg, OperandType::kRegCount) \ | 208 OperandType::kMaybeReg, OperandType::kRegCount) \ |
209 \ | 209 \ |
210 /* Test Operators */ \ | 210 /* Test Operators */ \ |
211 V(TestEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 211 V(TestEqual, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
212 V(TestNotEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 212 OperandType::kIdx) \ |
213 V(TestEqualStrict, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 213 V(TestNotEqual, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
214 V(TestLessThan, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 214 OperandType::kIdx) \ |
215 V(TestGreaterThan, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 215 V(TestEqualStrict, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
216 V(TestLessThanOrEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 216 OperandType::kIdx) \ |
217 V(TestGreaterThanOrEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 217 V(TestLessThan, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
| 218 OperandType::kIdx) \ |
| 219 V(TestGreaterThan, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
| 220 OperandType::kIdx) \ |
| 221 V(TestLessThanOrEqual, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
| 222 OperandType::kIdx) \ |
| 223 V(TestGreaterThanOrEqual, AccumulatorUse::kReadWrite, OperandType::kReg, \ |
| 224 OperandType::kIdx) \ |
218 V(TestInstanceOf, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 225 V(TestInstanceOf, AccumulatorUse::kReadWrite, OperandType::kReg) \ |
219 V(TestIn, AccumulatorUse::kReadWrite, OperandType::kReg) \ | 226 V(TestIn, AccumulatorUse::kReadWrite, OperandType::kReg) \ |
220 \ | 227 \ |
221 /* Cast operators */ \ | 228 /* Cast operators */ \ |
222 V(ToName, AccumulatorUse::kRead, OperandType::kRegOut) \ | 229 V(ToName, AccumulatorUse::kRead, OperandType::kRegOut) \ |
223 V(ToNumber, AccumulatorUse::kRead, OperandType::kRegOut) \ | 230 V(ToNumber, AccumulatorUse::kRead, OperandType::kRegOut) \ |
224 V(ToObject, AccumulatorUse::kRead, OperandType::kRegOut) \ | 231 V(ToObject, AccumulatorUse::kRead, OperandType::kRegOut) \ |
225 \ | 232 \ |
226 /* Literals */ \ | 233 /* Literals */ \ |
227 V(CreateRegExpLiteral, AccumulatorUse::kWrite, OperandType::kIdx, \ | 234 V(CreateRegExpLiteral, AccumulatorUse::kWrite, OperandType::kIdx, \ |
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
588 std::ostream& operator<<(std::ostream& os, const AccumulatorUse& use); | 595 std::ostream& operator<<(std::ostream& os, const AccumulatorUse& use); |
589 std::ostream& operator<<(std::ostream& os, const OperandScale& operand_scale); | 596 std::ostream& operator<<(std::ostream& os, const OperandScale& operand_scale); |
590 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_size); | 597 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_size); |
591 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type); | 598 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type); |
592 | 599 |
593 } // namespace interpreter | 600 } // namespace interpreter |
594 } // namespace internal | 601 } // namespace internal |
595 } // namespace v8 | 602 } // namespace v8 |
596 | 603 |
597 #endif // V8_INTERPRETER_BYTECODES_H_ | 604 #endif // V8_INTERPRETER_BYTECODES_H_ |
OLD | NEW |