Home | History | Annotate | Download | only in interpreter

Lines Matching refs:bytecode

10 #include "src/interpreter/bytecode-traits.h"
61 const char* Bytecodes::ToString(Bytecode bytecode) {
62 switch (bytecode) {
64 case Bytecode::k##Name: \
74 std::string Bytecodes::ToString(Bytecode bytecode, OperandScale operand_scale) {
77 std::string value(ToString(bytecode));
79 Bytecode prefix_bytecode = OperandScaleToPrefixBytecode(operand_scale);
88 Bytecode Bytecodes::GetDebugBreak(Bytecode bytecode) {
89 DCHECK(!IsDebugBreak(bytecode));
90 if (bytecode == Bytecode::kWide) {
91 return Bytecode::kDebugBreakWide;
93 if (bytecode == Bytecode::kExtraWide) {
94 return Bytecode::kDebugBreakExtraWide;
96 int bytecode_size = Size(bytecode, OperandScale::kSingle);
98 if (bytecode_size == Size(Bytecode::k##Name, OperandScale::kSingle)) { \
99 return Bytecode::k##Name; \
104 return Bytecode::kIllegal;
108 int Bytecodes::GetOperandOffset(Bytecode bytecode, int i,
110 DCHECK_LT(i, Bytecodes::NumberOfOperands(bytecode));
115 GetOperandSize(bytecode, operand_index, operand_scale);
122 Bytecode Bytecodes::GetJumpWithoutToBoolean(Bytecode bytecode) {
123 switch (bytecode) {
124 case Bytecode::kJumpIfToBooleanTrue:
125 return Bytecode::kJumpIfTrue;
126 case Bytecode::kJumpIfToBooleanFalse:
127 return Bytecode::kJumpIfFalse;
128 case Bytecode::kJumpIfToBooleanTrueConstant:
129 return Bytecode::kJumpIfTrueConstant;
130 case Bytecode::kJumpIfToBooleanFalseConstant:
131 return Bytecode::kJumpIfFalseConstant;
136 return Bytecode::kIllegal;
140 bool Bytecodes::IsDebugBreak(Bytecode bytecode) {
141 switch (bytecode) {
142 #define CASE(Name, ...) case Bytecode::k##Name:
206 bool Bytecodes::IsStarLookahead(Bytecode bytecode, OperandScale operand_scale) {
208 switch (bytecode) {
209 case Bytecode::kLdaZero:
210 case Bytecode::kLdaSmi:
211 case Bytecode::kLdaNull:
212 case Bytecode::kLdaTheHole:
213 case Bytecode::kLdaConstant:
214 case Bytecode::kLdaUndefined:
215 case Bytecode::kLdaGlobal:
216 case Bytecode::kLdaNamedProperty:
217 case Bytecode::kLdaKeyedProperty:
218 case Bytecode::kLdaContextSlot:
219 case Bytecode::kLdaCurrentContextSlot:
220 case Bytecode::kAdd:
221 case Bytecode::kSub:
222 case Bytecode::kMul:
223 case Bytecode::kAddSmi:
224 case Bytecode::kSubSmi:
225 case Bytecode::kInc:
226 case Bytecode::kDec:
227 case Bytecode::kTypeOf:
228 case Bytecode::kCall:
229 case Bytecode::kCallProperty:
230 case Bytecode::kNew:
240 bool Bytecodes::IsBytecodeWithScalableOperands(Bytecode bytecode) {
241 for (int i = 0; i < NumberOfOperands(bytecode); i++) {
242 if (OperandIsScalable(bytecode, i)) return true;
286 bool Bytecodes::BytecodeHasHandler(Bytecode bytecode,
289 Bytecodes::IsBytecodeWithScalableOperands(bytecode);
292 std::ostream& operator<<(std::ostream& os, const Bytecode& bytecode) {
293 return os << Bytecodes::ToString(bytecode);