| Index: src/compiler/type-hints.h
|
| diff --git a/src/compiler/type-hints.h b/src/compiler/type-hints.h
|
| index be8f6f75829d2334188da5bac301662b233800a5..f1cc64036c16ccc63b5dca4952d5accdbc5df0ab 100644
|
| --- a/src/compiler/type-hints.h
|
| +++ b/src/compiler/type-hints.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef V8_COMPILER_TYPE_HINTS_H_
|
| #define V8_COMPILER_TYPE_HINTS_H_
|
|
|
| +#include "src/base/flags.h"
|
| #include "src/utils.h"
|
|
|
| namespace v8 {
|
| @@ -51,6 +52,31 @@ class BinaryOperationHints final {
|
| std::ostream& operator<<(std::ostream&, BinaryOperationHints::Hint);
|
| std::ostream& operator<<(std::ostream&, BinaryOperationHints);
|
|
|
| +
|
| +// Type hints for the ToBoolean type conversion.
|
| +enum class ToBooleanHint : uint16_t {
|
| + kNone = 0u,
|
| + kUndefined = 1u << 0,
|
| + kBoolean = 1u << 1,
|
| + kNull = 1u << 2,
|
| + kSmallInteger = 1u << 3,
|
| + kReceiver = 1u << 4,
|
| + kString = 1u << 5,
|
| + kSymbol = 1u << 6,
|
| + kHeapNumber = 1u << 7,
|
| + kSimdValue = 1u << 8,
|
| + kAny = kUndefined | kBoolean | kNull | kSmallInteger | kReceiver | kString |
|
| + kSymbol | kHeapNumber | kSimdValue
|
| +};
|
| +
|
| +std::ostream& operator<<(std::ostream&, ToBooleanHint);
|
| +
|
| +typedef base::Flags<ToBooleanHint, uint16_t> ToBooleanHints;
|
| +
|
| +std::ostream& operator<<(std::ostream&, ToBooleanHints);
|
| +
|
| +DEFINE_OPERATORS_FOR_FLAGS(ToBooleanHints)
|
| +
|
| } // namespace compiler
|
| } // namespace internal
|
| } // namespace v8
|
|
|