Changeset 185437 in webkit for trunk/Source/JavaScriptCore/parser/Lexer.cpp
- Timestamp:
- Jun 10, 2015, 4:43:20 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/Lexer.cpp
r185419 r185437 1041 1041 template<typename CharacterType> template<bool shouldCreateIdentifier> JSTokenType Lexer<CharacterType>::parseIdentifierSlowCase(JSTokenData* tokenData, unsigned lexerFlags, bool strictMode) 1042 1042 { 1043 const ptrdiff_t remaining = m_codeEnd - m_code;1044 1043 auto identifierStart = currentSourcePtr(); 1045 1044 bool bufferRequired = false; … … 1087 1086 tokenData->ident = nullptr; 1088 1087 1089 if (LIKELY(!bufferRequired && !(lexerFlags & LexerFlagsIgnoreReservedWords))) { 1088 m_buffer16.shrink(0); 1089 1090 if (LIKELY(!(lexerFlags & LexerFlagsIgnoreReservedWords))) { 1090 1091 ASSERT(shouldCreateIdentifier); 1091 // Keywords must not be recognized if there was an \uXXXX in the identifier. 1092 if (remaining < maxTokenLength) { 1093 const HashTableValue* entry = m_vm->keywords->getKeyword(*ident); 1094 ASSERT((remaining < maxTokenLength) || !entry); 1095 if (!entry) 1096 return IDENT; 1097 JSTokenType token = static_cast<JSTokenType>(entry->lexerValue()); 1098 return (token != RESERVED_IF_STRICT) || strictMode ? token : IDENT; 1099 } 1100 return IDENT; 1101 } 1102 1103 m_buffer16.shrink(0); 1092 const HashTableValue* entry = m_vm->keywords->getKeyword(*ident); 1093 if (!entry) 1094 return IDENT; 1095 JSTokenType token = static_cast<JSTokenType>(entry->lexerValue()); 1096 return (token != RESERVED_IF_STRICT) || strictMode ? token : IDENT; 1097 } 1098 1104 1099 return IDENT; 1105 1100 }
Note:
See TracChangeset
for help on using the changeset viewer.