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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 V(StaGlobalSloppy, AccumulatorUse::kRead, OperandType::kIdx, \ | 47 V(StaGlobalSloppy, AccumulatorUse::kRead, OperandType::kIdx, \ |
48 OperandType::kIdx) \ | 48 OperandType::kIdx) \ |
49 V(StaGlobalStrict, AccumulatorUse::kRead, OperandType::kIdx, \ | 49 V(StaGlobalStrict, AccumulatorUse::kRead, OperandType::kIdx, \ |
50 OperandType::kIdx) \ | 50 OperandType::kIdx) \ |
51 \ | 51 \ |
52 /* Context operations */ \ | 52 /* Context operations */ \ |
53 V(PushContext, AccumulatorUse::kRead, OperandType::kRegOut) \ | 53 V(PushContext, AccumulatorUse::kRead, OperandType::kRegOut) \ |
54 V(PopContext, AccumulatorUse::kNone, OperandType::kReg) \ | 54 V(PopContext, AccumulatorUse::kNone, OperandType::kReg) \ |
55 V(LdaContextSlot, AccumulatorUse::kWrite, OperandType::kReg, \ | 55 V(LdaContextSlot, AccumulatorUse::kWrite, OperandType::kReg, \ |
56 OperandType::kIdx, OperandType::kUImm) \ | 56 OperandType::kIdx, OperandType::kUImm) \ |
| 57 V(LdaCurrentContextSlot, AccumulatorUse::kWrite, OperandType::kIdx) \ |
57 V(LdrContextSlot, AccumulatorUse::kNone, OperandType::kReg, \ | 58 V(LdrContextSlot, AccumulatorUse::kNone, OperandType::kReg, \ |
58 OperandType::kIdx, OperandType::kUImm, OperandType::kRegOut) \ | 59 OperandType::kIdx, OperandType::kUImm, OperandType::kRegOut) \ |
| 60 V(LdrCurrentContextSlot, AccumulatorUse::kNone, OperandType::kIdx, \ |
| 61 OperandType::kRegOut) \ |
59 V(StaContextSlot, AccumulatorUse::kRead, OperandType::kReg, \ | 62 V(StaContextSlot, AccumulatorUse::kRead, OperandType::kReg, \ |
60 OperandType::kIdx, OperandType::kUImm) \ | 63 OperandType::kIdx, OperandType::kUImm) \ |
| 64 V(StaCurrentContextSlot, AccumulatorUse::kRead, OperandType::kIdx) \ |
61 \ | 65 \ |
62 /* Load-Store lookup slots */ \ | 66 /* Load-Store lookup slots */ \ |
63 V(LdaLookupSlot, AccumulatorUse::kWrite, OperandType::kIdx) \ | 67 V(LdaLookupSlot, AccumulatorUse::kWrite, OperandType::kIdx) \ |
64 V(LdaLookupContextSlot, AccumulatorUse::kWrite, OperandType::kIdx, \ | 68 V(LdaLookupContextSlot, AccumulatorUse::kWrite, OperandType::kIdx, \ |
65 OperandType::kIdx, OperandType::kUImm) \ | 69 OperandType::kIdx, OperandType::kUImm) \ |
66 V(LdaLookupGlobalSlot, AccumulatorUse::kWrite, OperandType::kIdx, \ | 70 V(LdaLookupGlobalSlot, AccumulatorUse::kWrite, OperandType::kIdx, \ |
67 OperandType::kIdx, OperandType::kUImm) \ | 71 OperandType::kIdx, OperandType::kUImm) \ |
68 V(LdaLookupSlotInsideTypeof, AccumulatorUse::kWrite, OperandType::kIdx) \ | 72 V(LdaLookupSlotInsideTypeof, AccumulatorUse::kWrite, OperandType::kIdx) \ |
69 V(LdaLookupContextSlotInsideTypeof, AccumulatorUse::kWrite, \ | 73 V(LdaLookupContextSlotInsideTypeof, AccumulatorUse::kWrite, \ |
70 OperandType::kIdx, OperandType::kIdx, OperandType::kUImm) \ | 74 OperandType::kIdx, OperandType::kIdx, OperandType::kUImm) \ |
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
736 #undef CONSTEXPR | 740 #undef CONSTEXPR |
737 | 741 |
738 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os, | 742 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os, |
739 const Bytecode& bytecode); | 743 const Bytecode& bytecode); |
740 | 744 |
741 } // namespace interpreter | 745 } // namespace interpreter |
742 } // namespace internal | 746 } // namespace internal |
743 } // namespace v8 | 747 } // namespace v8 |
744 | 748 |
745 #endif // V8_INTERPRETER_BYTECODES_H_ | 749 #endif // V8_INTERPRETER_BYTECODES_H_ |
OLD | NEW |