Index: src/globals.h |
diff --git a/src/globals.h b/src/globals.h |
index f2631ff4cc14fe0874d56bf38d1cb861182bee1f..0a5b91928fbc2d16e3702b1db87dd291e159ab1a 100644 |
--- a/src/globals.h |
+++ b/src/globals.h |
@@ -1238,6 +1238,27 @@ enum LiveEditFrameDropMode { |
LIVE_EDIT_CURRENTLY_SET_MODE |
}; |
+enum class UnicodeEncoding : uint8_t { |
+ // Different unicode encodings in a |word32|: |
+ UTF16, // hi 16bits -> trailing surrogate or 0, low 16bits -> lead surrogate |
+ UTF32, // full UTF32 code unit / Unicode codepoint |
+}; |
+ |
+inline size_t hash_value(UnicodeEncoding encoding) { |
+ return static_cast<uint8_t>(encoding); |
+} |
+ |
+inline std::ostream& operator<<(std::ostream& os, UnicodeEncoding encoding) { |
+ switch (encoding) { |
+ case UnicodeEncoding::UTF16: |
+ return os << "UTF16"; |
+ case UnicodeEncoding::UTF32: |
+ return os << "UTF32"; |
+ } |
+ UNREACHABLE(); |
+ return os; |
+} |
+ |
} // namespace internal |
} // namespace v8 |