5 #ifndef V8_COMPILER_OPERATOR_PROPERTIES_INL_H_
6 #define V8_COMPILER_OPERATOR_PROPERTIES_INL_H_
35 if (!FLAG_turbo_deoptimization) {
40 case IrOpcode::kFrameState:
42 case IrOpcode::kJSCallRuntime: {
48 case IrOpcode::kJSStrictEqual:
49 case IrOpcode::kJSStrictNotEqual:
53 case IrOpcode::kJSCallFunction:
54 case IrOpcode::kJSCallConstruct:
57 case IrOpcode::kJSEqual:
58 case IrOpcode::kJSNotEqual:
59 case IrOpcode::kJSLessThan:
60 case IrOpcode::kJSGreaterThan:
61 case IrOpcode::kJSLessThanOrEqual:
62 case IrOpcode::kJSGreaterThanOrEqual:
65 case IrOpcode::kJSBitwiseOr:
66 case IrOpcode::kJSBitwiseXor:
67 case IrOpcode::kJSBitwiseAnd:
68 case IrOpcode::kJSShiftLeft:
69 case IrOpcode::kJSShiftRight:
70 case IrOpcode::kJSShiftRightLogical:
71 case IrOpcode::kJSAdd:
72 case IrOpcode::kJSSubtract:
73 case IrOpcode::kJSMultiply:
74 case IrOpcode::kJSDivide:
75 case IrOpcode::kJSModulus:
76 case IrOpcode::kJSLoadProperty:
77 case IrOpcode::kJSStoreProperty:
78 case IrOpcode::kJSLoadNamed:
79 case IrOpcode::kJSStoreNamed:
100 if (op->
opcode() == IrOpcode::kEffectPhi ||
101 op->
opcode() == IrOpcode::kFinish) {
102 return OpParameter<int>(op);
112 case IrOpcode::kEffectPhi:
113 case IrOpcode::kControlEffect:
115 #define OPCODE_CASE(x) case IrOpcode::k##x:
119 return OpParameter<int>(op);
145 return op->
opcode() == IrOpcode::kStart ||
146 op->
opcode() == IrOpcode::kControlEffect ||
147 op->
opcode() == IrOpcode::kValueEffect ||
172 uint8_t opcode = op->
opcode();
173 return opcode == IrOpcode::kStart || opcode == IrOpcode::kEnd ||
174 opcode == IrOpcode::kDead || opcode == IrOpcode::kLoop ||
175 opcode == IrOpcode::kMerge || opcode == IrOpcode::kIfTrue ||
176 opcode == IrOpcode::kIfFalse;
static bool IsJsOpcode(Value val)
static bool IsControlOpcode(Value val)
static bool NeedsFrameState(Runtime::FunctionId function)
static int GetTotalInputCount(const Operator *op)
static bool HasValueInput(const Operator *op)
static int GetEffectInputCount(const Operator *op)
static int GetFrameStateInputCount(const Operator *op)
static int GetContextInputCount(const Operator *op)
static int GetEffectOutputCount(const Operator *op)
static bool HasControlInput(const Operator *op)
static bool IsBasicBlockBegin(const Operator *op)
static bool HasValueOutput(const Operator *op)
static int GetValueInputCount(const Operator *op)
static bool HasContextInput(const Operator *op)
static bool HasFrameStateInput(const Operator *op)
static bool HasEffectOutput(const Operator *op)
static int GetControlOutputCount(const Operator *op)
static bool HasEffectInput(const Operator *op)
static int GetValueOutputCount(const Operator *op)
static int GetControlInputCount(const Operator *op)
static bool HasControlOutput(const Operator *op)
virtual int OutputCount() const =0
bool HasProperty(Property property) const
virtual int InputCount() const =0
Debugger support for the V8 JavaScript engine.
#define CONTROL_OP_LIST(V)