1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef V8_COMPILER_OPERATOR_PROPERTIES_H_
6 #define V8_COMPILER_OPERATOR_PROPERTIES_H_
14 class OperatorProperties {
16 static inline bool HasValueInput(const Operator* op);
17 static inline bool HasContextInput(const Operator* op);
18 static inline bool HasEffectInput(const Operator* op);
19 static inline bool HasControlInput(const Operator* op);
20 static inline bool HasFrameStateInput(const Operator* op);
22 static inline int GetValueInputCount(const Operator* op);
23 static inline int GetContextInputCount(const Operator* op);
24 static inline int GetEffectInputCount(const Operator* op);
25 static inline int GetControlInputCount(const Operator* op);
26 static inline int GetFrameStateInputCount(const Operator* op);
27 static inline int GetTotalInputCount(const Operator* op);
29 static inline bool HasValueOutput(const Operator* op);
30 static inline bool HasEffectOutput(const Operator* op);
31 static inline bool HasControlOutput(const Operator* op);
33 static inline int GetValueOutputCount(const Operator* op);
34 static inline int GetEffectOutputCount(const Operator* op);
35 static inline int GetControlOutputCount(const Operator* op);
37 static inline bool IsBasicBlockBegin(const Operator* op);
40 } // namespace compiler
41 } // namespace internal
44 #endif // V8_COMPILER_OPERATOR_PROPERTIES_H_