5 #ifndef V8_BASE_FLAGS_H_
6 #define V8_BASE_FLAGS_H_
22 template <
typename T,
typename S =
int>
67 #define DEFINE_OPERATORS_FOR_FLAGS(Type) \
68 inline Type operator&(Type::flag_type lhs, \
69 Type::flag_type rhs)ALLOW_UNUSED WARN_UNUSED_RESULT; \
70 inline Type operator&(Type::flag_type lhs, Type::flag_type rhs) { \
71 return Type(lhs) & rhs; \
73 inline Type operator&(Type::flag_type lhs, \
74 const Type& rhs)ALLOW_UNUSED WARN_UNUSED_RESULT; \
75 inline Type operator&(Type::flag_type lhs, const Type& rhs) { \
78 inline void operator&(Type::flag_type lhs, Type::mask_type rhs)ALLOW_UNUSED; \
79 inline void operator&(Type::flag_type lhs, Type::mask_type rhs) {} \
80 inline Type operator|(Type::flag_type lhs, Type::flag_type rhs) \
81 ALLOW_UNUSED WARN_UNUSED_RESULT; \
82 inline Type operator|(Type::flag_type lhs, Type::flag_type rhs) { \
83 return Type(lhs) | rhs; \
85 inline Type operator|(Type::flag_type lhs, const Type& rhs) \
86 ALLOW_UNUSED WARN_UNUSED_RESULT; \
87 inline Type operator|(Type::flag_type lhs, const Type& rhs) { \
90 inline void operator|(Type::flag_type lhs, Type::mask_type rhs) \
92 inline void operator|(Type::flag_type lhs, Type::mask_type rhs) {} \
93 inline Type operator^(Type::flag_type lhs, Type::flag_type rhs) \
94 ALLOW_UNUSED WARN_UNUSED_RESULT; \
95 inline Type operator^(Type::flag_type lhs, Type::flag_type rhs) { \
96 return Type(lhs) ^ rhs; \
97 } inline Type operator^(Type::flag_type lhs, const Type& rhs) \
98 ALLOW_UNUSED WARN_UNUSED_RESULT; \
99 inline Type operator^(Type::flag_type lhs, const Type& rhs) { \
101 } inline void operator^(Type::flag_type lhs, Type::mask_type rhs) \
103 inline void operator^(Type::flag_type lhs, Type::mask_type rhs) {}
Flags operator&(const Flags &flags) const
Flags & operator&=(flag_type flag)
Flags operator|(flag_type flag) const
Flags operator^(flag_type flag) const
Flags operator&(flag_type flag) const
Flags & operator^=(const Flags &flags)
Flags operator^(const Flags &flags) const
Flags & operator^=(flag_type flag)
Flags & operator&=(const Flags &flags)
Flags operator|(const Flags &flags) const
Flags & operator|=(flag_type flag)
Flags & operator|=(const Flags &flags)
kFeedbackVectorOffset flag
Debugger support for the V8 JavaScript engine.
#define T(name, string, precedence)