Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Side by Side Diff: src/interpreter/bytecodes.h

Issue 2084623002: Reland: [Interpreter] Map runtime id's to intrinsic id's in InvokeIntrinsic bytecode. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Reland Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/interpreter/bytecode-array-iterator.cc ('k') | src/interpreter/bytecodes.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 12 matching lines...) Expand all
23 V(Reg, OperandTypeInfo::kScalableSignedByte) \ 23 V(Reg, OperandTypeInfo::kScalableSignedByte) \
24 V(RegPair, OperandTypeInfo::kScalableSignedByte) 24 V(RegPair, OperandTypeInfo::kScalableSignedByte)
25 25
26 #define REGISTER_OUTPUT_OPERAND_TYPE_LIST(V) \ 26 #define REGISTER_OUTPUT_OPERAND_TYPE_LIST(V) \
27 V(RegOut, OperandTypeInfo::kScalableSignedByte) \ 27 V(RegOut, OperandTypeInfo::kScalableSignedByte) \
28 V(RegOutPair, OperandTypeInfo::kScalableSignedByte) \ 28 V(RegOutPair, OperandTypeInfo::kScalableSignedByte) \
29 V(RegOutTriple, OperandTypeInfo::kScalableSignedByte) 29 V(RegOutTriple, OperandTypeInfo::kScalableSignedByte)
30 30
31 #define SCALAR_OPERAND_TYPE_LIST(V) \ 31 #define SCALAR_OPERAND_TYPE_LIST(V) \
32 V(Flag8, OperandTypeInfo::kFixedUnsignedByte) \ 32 V(Flag8, OperandTypeInfo::kFixedUnsignedByte) \
33 V(IntrinsicId, OperandTypeInfo::kFixedUnsignedByte) \
33 V(Idx, OperandTypeInfo::kScalableUnsignedByte) \ 34 V(Idx, OperandTypeInfo::kScalableUnsignedByte) \
34 V(Imm, OperandTypeInfo::kScalableSignedByte) \ 35 V(Imm, OperandTypeInfo::kScalableSignedByte) \
35 V(RegCount, OperandTypeInfo::kScalableUnsignedByte) \ 36 V(RegCount, OperandTypeInfo::kScalableUnsignedByte) \
36 V(RuntimeId, OperandTypeInfo::kFixedUnsignedShort) 37 V(RuntimeId, OperandTypeInfo::kFixedUnsignedShort)
37 38
38 #define REGISTER_OPERAND_TYPE_LIST(V) \ 39 #define REGISTER_OPERAND_TYPE_LIST(V) \
39 REGISTER_INPUT_OPERAND_TYPE_LIST(V) \ 40 REGISTER_INPUT_OPERAND_TYPE_LIST(V) \
40 REGISTER_OUTPUT_OPERAND_TYPE_LIST(V) 41 REGISTER_OUTPUT_OPERAND_TYPE_LIST(V)
41 42
42 #define NON_REGISTER_OPERAND_TYPE_LIST(V) \ 43 #define NON_REGISTER_OPERAND_TYPE_LIST(V) \
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 V(TailCall, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kReg, \ 174 V(TailCall, AccumulatorUse::kWrite, OperandType::kReg, OperandType::kReg, \
174 OperandType::kRegCount, OperandType::kIdx) \ 175 OperandType::kRegCount, OperandType::kIdx) \
175 V(CallRuntime, AccumulatorUse::kWrite, OperandType::kRuntimeId, \ 176 V(CallRuntime, AccumulatorUse::kWrite, OperandType::kRuntimeId, \
176 OperandType::kMaybeReg, OperandType::kRegCount) \ 177 OperandType::kMaybeReg, OperandType::kRegCount) \
177 V(CallRuntimeForPair, AccumulatorUse::kNone, OperandType::kRuntimeId, \ 178 V(CallRuntimeForPair, AccumulatorUse::kNone, OperandType::kRuntimeId, \
178 OperandType::kMaybeReg, OperandType::kRegCount, OperandType::kRegOutPair) \ 179 OperandType::kMaybeReg, OperandType::kRegCount, OperandType::kRegOutPair) \
179 V(CallJSRuntime, AccumulatorUse::kWrite, OperandType::kIdx, \ 180 V(CallJSRuntime, AccumulatorUse::kWrite, OperandType::kIdx, \
180 OperandType::kReg, OperandType::kRegCount) \ 181 OperandType::kReg, OperandType::kRegCount) \
181 \ 182 \
182 /* Intrinsics */ \ 183 /* Intrinsics */ \
183 V(InvokeIntrinsic, AccumulatorUse::kWrite, OperandType::kRuntimeId, \ 184 V(InvokeIntrinsic, AccumulatorUse::kWrite, OperandType::kIntrinsicId, \
184 OperandType::kMaybeReg, OperandType::kRegCount) \ 185 OperandType::kMaybeReg, OperandType::kRegCount) \
185 \ 186 \
186 /* New operator */ \ 187 /* New operator */ \
187 V(New, AccumulatorUse::kReadWrite, OperandType::kReg, \ 188 V(New, AccumulatorUse::kReadWrite, OperandType::kReg, \
188 OperandType::kMaybeReg, OperandType::kRegCount) \ 189 OperandType::kMaybeReg, OperandType::kRegCount) \
189 \ 190 \
190 /* Test Operators */ \ 191 /* Test Operators */ \
191 V(TestEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ 192 V(TestEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \
192 V(TestNotEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \ 193 V(TestNotEqual, AccumulatorUse::kReadWrite, OperandType::kReg) \
193 V(TestEqualStrict, AccumulatorUse::kReadWrite, OperandType::kReg) \ 194 V(TestEqualStrict, AccumulatorUse::kReadWrite, OperandType::kReg) \
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 std::ostream& operator<<(std::ostream& os, const AccumulatorUse& use); 675 std::ostream& operator<<(std::ostream& os, const AccumulatorUse& use);
675 std::ostream& operator<<(std::ostream& os, const OperandScale& operand_scale); 676 std::ostream& operator<<(std::ostream& os, const OperandScale& operand_scale);
676 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_size); 677 std::ostream& operator<<(std::ostream& os, const OperandSize& operand_size);
677 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type); 678 std::ostream& operator<<(std::ostream& os, const OperandType& operand_type);
678 679
679 } // namespace interpreter 680 } // namespace interpreter
680 } // namespace internal 681 } // namespace internal
681 } // namespace v8 682 } // namespace v8
682 683
683 #endif // V8_INTERPRETER_BYTECODES_H_ 684 #endif // V8_INTERPRETER_BYTECODES_H_
OLDNEW
« no previous file with comments | « src/interpreter/bytecode-array-iterator.cc ('k') | src/interpreter/bytecodes.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698