| Index: src/type-hints.h
 | 
| diff --git a/src/type-hints.h b/src/type-hints.h
 | 
| index cdf470956f6c0830ed46f22cba7b0548ba70c1b7..e6138c771dfba73b449c4d8b49e916992920a959 100644
 | 
| --- a/src/type-hints.h
 | 
| +++ b/src/type-hints.h
 | 
| @@ -55,7 +55,9 @@ enum class ToBooleanHint : uint16_t {
 | 
|    kHeapNumber = 1u << 7,
 | 
|    kSimdValue = 1u << 8,
 | 
|    kAny = kUndefined | kBoolean | kNull | kSmallInteger | kReceiver | kString |
 | 
| -         kSymbol | kHeapNumber | kSimdValue
 | 
| +         kSymbol | kHeapNumber | kSimdValue,
 | 
| +  kNeedsMap = kReceiver | kString | kSymbol | kHeapNumber | kSimdValue,
 | 
| +  kCanBeUndetectable = kReceiver,
 | 
|  };
 | 
|  
 | 
|  std::ostream& operator<<(std::ostream&, ToBooleanHint);
 | 
| @@ -66,6 +68,23 @@ std::ostream& operator<<(std::ostream&, ToBooleanHints);
 | 
|  
 | 
|  DEFINE_OPERATORS_FOR_FLAGS(ToBooleanHints)
 | 
|  
 | 
| +enum StringAddFlags {
 | 
| +  // Omit both parameter checks.
 | 
| +  STRING_ADD_CHECK_NONE = 0,
 | 
| +  // Check left parameter.
 | 
| +  STRING_ADD_CHECK_LEFT = 1 << 0,
 | 
| +  // Check right parameter.
 | 
| +  STRING_ADD_CHECK_RIGHT = 1 << 1,
 | 
| +  // Check both parameters.
 | 
| +  STRING_ADD_CHECK_BOTH = STRING_ADD_CHECK_LEFT | STRING_ADD_CHECK_RIGHT,
 | 
| +  // Convert parameters when check fails (instead of throwing an exception).
 | 
| +  STRING_ADD_CONVERT = 1 << 2,
 | 
| +  STRING_ADD_CONVERT_LEFT = STRING_ADD_CHECK_LEFT | STRING_ADD_CONVERT,
 | 
| +  STRING_ADD_CONVERT_RIGHT = STRING_ADD_CHECK_RIGHT | STRING_ADD_CONVERT
 | 
| +};
 | 
| +
 | 
| +std::ostream& operator<<(std::ostream& os, const StringAddFlags& flags);
 | 
| +
 | 
|  }  // namespace internal
 | 
|  }  // namespace v8
 | 
|  
 | 
| 
 |