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 <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 // Clients of this interface shouldn't depend on lots of interpreter internals. | 10 // Clients of this interface shouldn't depend on lots of interpreter internals. |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
134 V(DeletePropertySloppy, OperandType::kReg8) \ | 134 V(DeletePropertySloppy, OperandType::kReg8) \ |
135 V(DeleteLookupSlot, OperandType::kNone) \ | 135 V(DeleteLookupSlot, OperandType::kNone) \ |
136 \ | 136 \ |
137 /* Call operations */ \ | 137 /* Call operations */ \ |
138 V(Call, OperandType::kReg8, OperandType::kReg8, OperandType::kCount8, \ | 138 V(Call, OperandType::kReg8, OperandType::kReg8, OperandType::kCount8, \ |
139 OperandType::kIdx8) \ | 139 OperandType::kIdx8) \ |
140 V(CallWide, OperandType::kReg8, OperandType::kReg8, OperandType::kCount16, \ | 140 V(CallWide, OperandType::kReg8, OperandType::kReg8, OperandType::kCount16, \ |
141 OperandType::kIdx16) \ | 141 OperandType::kIdx16) \ |
142 V(CallRuntime, OperandType::kIdx16, OperandType::kMaybeReg8, \ | 142 V(CallRuntime, OperandType::kIdx16, OperandType::kMaybeReg8, \ |
143 OperandType::kCount8) \ | 143 OperandType::kCount8) \ |
144 V(CallRuntimePair, OperandType::kIdx16, OperandType::kMaybeReg8, \ | |
145 OperandType::kCount8, OperandType::kReg8) \ | |
oth
2016/01/06 16:26:07
The problem with this bytecode is that the set of
rmcilroy
2016/01/06 16:48:34
We should talk about this when your back in the of
rmcilroy
2016/01/07 17:21:43
As discussed offline, I've changed this to use a n
| |
144 V(CallJSRuntime, OperandType::kIdx16, OperandType::kReg8, \ | 146 V(CallJSRuntime, OperandType::kIdx16, OperandType::kReg8, \ |
145 OperandType::kCount8) \ | 147 OperandType::kCount8) \ |
146 \ | 148 \ |
147 /* New operator */ \ | 149 /* New operator */ \ |
148 V(New, OperandType::kReg8, OperandType::kMaybeReg8, OperandType::kCount8) \ | 150 V(New, OperandType::kReg8, OperandType::kMaybeReg8, OperandType::kCount8) \ |
149 \ | 151 \ |
150 /* Test Operators */ \ | 152 /* Test Operators */ \ |
151 V(TestEqual, OperandType::kReg8) \ | 153 V(TestEqual, OperandType::kReg8) \ |
152 V(TestNotEqual, OperandType::kReg8) \ | 154 V(TestNotEqual, OperandType::kReg8) \ |
153 V(TestEqualStrict, OperandType::kReg8) \ | 155 V(TestEqualStrict, OperandType::kReg8) \ |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
386 | 388 |
387 std::ostream& operator<<(std::ostream& os, const Bytecode& bytecode); | 389 std::ostream& operator<<(std::ostream& os, const Bytecode& bytecode); |
388 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type); | 390 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type); |
389 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_type); | 391 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_type); |
390 | 392 |
391 } // namespace interpreter | 393 } // namespace interpreter |
392 } // namespace internal | 394 } // namespace internal |
393 } // namespace v8 | 395 } // namespace v8 |
394 | 396 |
395 #endif // V8_INTERPRETER_BYTECODES_H_ | 397 #endif // V8_INTERPRETER_BYTECODES_H_ |
OLD | NEW |