diff --git a/js/src/frontend/TokenStream.cpp b/js/src/frontend/TokenStream.cpp index 93b0d0167e6d..bce423f2acc9 100644 --- a/js/src/frontend/TokenStream.cpp +++ b/js/src/frontend/TokenStream.cpp @@ -99,7 +99,7 @@ FindReservedWord(const CharT* s, size_t length) rw = &reservedWords[i]; chars = rw->chars; do { - if (*s++ != (unsigned char)(*chars++)) + if (*s++ != static_cast(*chars++)) goto no_match; } while (--length != 0); return rw; @@ -108,6 +108,13 @@ FindReservedWord(const CharT* s, size_t length) return nullptr; } +template <> +MOZ_ALWAYS_INLINE const ReservedWordInfo* +FindReservedWord(const Utf8Unit* units, size_t length) +{ + return FindReservedWord(Utf8AsUnsignedChars(units), length); +} + static const ReservedWordInfo* FindReservedWord(JSLinearString* str) {