1 // This file was generated by KeywordLookupGenerator.py. Do not edit.
3 #if CPU(NEEDS_ALIGNED_ACCESS)
5 #define COMPARE_2CHARS(address, char1, char2) \
6 (((address)[0] == char1) && ((address)[1] == char2))
7 #define COMPARE_4CHARS(address, char1, char2, char3, char4) \
8 (COMPARE_2CHARS(address, char1, char2) && COMPARE_2CHARS((address) + 2, char3, char4))
9 #define COMPARE_2UCHARS(address, char1, char2) \
10 (((address)[0] == char1) && ((address)[1] == char2))
11 #define COMPARE_4UCHARS(address, char1, char2, char3, char4) \
12 (COMPARE_2UCHARS(address, char1, char2) && COMPARE_2UCHARS((address) + 2, char3, char4))
14 #else // CPU(NEEDS_ALIGNED_ACCESS)
18 #define CHARPAIR_TOUINT16(a, b) \
19 ((((uint16_t)(a)) << 8) + (uint16_t)(b))
20 #define CHARQUAD_TOUINT32(a, b, c, d) \
21 ((((uint32_t)(CHARPAIR_TOUINT16(a, b))) << 16) + CHARPAIR_TOUINT16(c, d))
22 #define UCHARPAIR_TOUINT32(a, b) \
23 ((((uint32_t)(a)) << 16) + (uint32_t)(b))
24 #define UCHARQUAD_TOUINT64(a, b, c, d) \
25 ((((uint64_t)(UCHARQUAD_TOUINT64(a, b))) << 32) + UCHARPAIR_TOUINT32(c, d))
27 #else // CPU(BIG_ENDIAN)
29 #define CHARPAIR_TOUINT16(a, b) \
30 ((((uint16_t)(b)) << 8) + (uint16_t)(a))
31 #define CHARQUAD_TOUINT32(a, b, c, d) \
32 ((((uint32_t)(CHARPAIR_TOUINT16(c, d))) << 16) + CHARPAIR_TOUINT16(a, b))
33 #define UCHARPAIR_TOUINT32(a, b) \
34 ((((uint32_t)(b)) << 16) + (uint32_t)(a))
35 #define UCHARQUAD_TOUINT64(a, b, c, d) \
36 ((((uint64_t)(UCHARPAIR_TOUINT32(c, d))) << 32) + UCHARPAIR_TOUINT32(a, b))
38 #endif // CPU(BIG_ENDIAN)
41 #define COMPARE_2CHARS(address, char1, char2) \
42 (((uint16_t*)(address))[0] == CHARPAIR_TOUINT16(char1, char2))
43 #define COMPARE_2UCHARS(address, char1, char2) \
44 (((uint32_t*)(address))[0] == UCHARPAIR_TOUINT32(char1, char2))
48 #define COMPARE_4CHARS(address, char1, char2, char3, char4) \
49 (((uint32_t*)(address))[0] == CHARQUAD_TOUINT32(char1, char2, char3, char4))
50 #define COMPARE_4UCHARS(address, char1, char2, char3, char4) \
51 (((uint64_t*)(address))[0] == UCHARQUAD_TOUINT64(char1, char2, char3, char4))
55 #define COMPARE_4CHARS(address, char1, char2, char3, char4) \
56 (COMPARE_2CHARS(address, char1, char2) && COMPARE_2CHARS((address) + 2, char3, char4))
57 #define COMPARE_4UCHARS(address, char1, char2, char3, char4) \
58 (COMPARE_2UCHARS(address, char1, char2) && COMPARE_2UCHARS((address) + 2, char3, char4))
62 #endif // CPU(NEEDS_ALIGNED_ACCESS)
64 #define COMPARE_3CHARS(address, char1, char2, char3) \
65 (COMPARE_2CHARS(address, char1, char2) && ((address)[2] == (char3)))
66 #define COMPARE_3UCHARS(address, char1, char2, char3) \
67 (COMPARE_2UCHARS(address, char1, char2) && ((address)[2] == (char3)))
68 #define COMPARE_5CHARS(address, char1, char2, char3, char4, char5) \
69 (COMPARE_4CHARS(address, char1, char2, char3, char4) && ((address)[4] == (char5)))
70 #define COMPARE_5UCHARS(address, char1, char2, char3, char4, char5) \
71 (COMPARE_4UCHARS(address, char1, char2, char3, char4) && ((address)[4] == (char5)))
72 #define COMPARE_6CHARS(address, char1, char2, char3, char4, char5, char6) \
73 (COMPARE_4CHARS(address, char1, char2, char3, char4) && COMPARE_2CHARS(address + 4, char5, char6))
74 #define COMPARE_6UCHARS(address, char1, char2, char3, char4, char5, char6) \
75 (COMPARE_4UCHARS(address, char1, char2, char3, char4) && COMPARE_2UCHARS(address + 4, char5, char6))
76 #define COMPARE_7CHARS(address, char1, char2, char3, char4, char5, char6, char7) \
77 (COMPARE_4CHARS(address, char1, char2, char3, char4) && COMPARE_4CHARS(address + 3, char4, char5, char6, char7))
78 #define COMPARE_7UCHARS(address, char1, char2, char3, char4, char5, char6, char7) \
79 (COMPARE_4UCHARS(address, char1, char2, char3, char4) && COMPARE_4UCHARS(address + 3, char4, char5, char6, char7))
80 #define COMPARE_8CHARS(address, char1, char2, char3, char4, char5, char6, char7, char8) \
81 (COMPARE_4CHARS(address, char1, char2, char3, char4) && COMPARE_4CHARS(address + 4, char5, char6, char7, char8))
82 #define COMPARE_8UCHARS(address, char1, char2, char3, char4, char5, char6, char7, char8) \
83 (COMPARE_4UCHARS(address, char1, char2, char3, char4) && COMPARE_4UCHARS(address + 4, char5, char6, char7, char8))
87 static ALWAYS_INLINE bool isIdentPart(int c);
88 static const int maxTokenLength = 11;
91 template <bool shouldCreateIdentifier> ALWAYS_INLINE JSTokenType Lexer<UChar>::parseKeyword(JSTokenData* data)
93 ASSERT(m_codeEnd - m_code >= maxTokenLength);
95 const UChar* code = m_code;
97 if (COMPARE_7UCHARS(code + 1, 'u', 'n', 'c', 't', 'i', 'o', 'n')) {
98 if (!isIdentPart(code[8])) {
100 if (shouldCreateIdentifier)
101 data->ident = &m_globalData->propertyNames->functionKeyword;
104 } else if (COMPARE_2UCHARS(code + 1, 'o', 'r')) {
105 if (!isIdentPart(code[3])) {
107 if (shouldCreateIdentifier)
108 data->ident = &m_globalData->propertyNames->forKeyword;
111 } else if (COMPARE_4UCHARS(code + 1, 'a', 'l', 's', 'e')) {
112 if (!isIdentPart(code[5])) {
114 if (shouldCreateIdentifier)
115 data->ident = &m_globalData->propertyNames->falseKeyword;
118 } else if (COMPARE_6UCHARS(code + 1, 'i', 'n', 'a', 'l', 'l', 'y')) {
119 if (!isIdentPart(code[7])) {
121 if (shouldCreateIdentifier)
122 data->ident = &m_globalData->propertyNames->finallyKeyword;
126 } else if (code[0] == 't') {
127 if (code[1] == 'h') {
128 if (COMPARE_2UCHARS(code + 2, 'i', 's')) {
129 if (!isIdentPart(code[4])) {
131 if (shouldCreateIdentifier)
132 data->ident = &m_globalData->propertyNames->thisKeyword;
135 } else if (COMPARE_4UCHARS(code + 1, 'h', 'r', 'o', 'w')) {
136 if (!isIdentPart(code[5])) {
138 if (shouldCreateIdentifier)
139 data->ident = &m_globalData->propertyNames->throwKeyword;
143 } else if (code[1] == 'r') {
144 if (COMPARE_2UCHARS(code + 2, 'u', 'e')) {
145 if (!isIdentPart(code[4])) {
147 if (shouldCreateIdentifier)
148 data->ident = &m_globalData->propertyNames->trueKeyword;
151 } else if (code[2] == 'y') {
152 if (!isIdentPart(code[3])) {
154 if (shouldCreateIdentifier)
155 data->ident = &m_globalData->propertyNames->tryKeyword;
159 } else if (COMPARE_5UCHARS(code + 1, 'y', 'p', 'e', 'o', 'f')) {
160 if (!isIdentPart(code[6])) {
162 if (shouldCreateIdentifier)
163 data->ident = &m_globalData->propertyNames->typeofKeyword;
167 } else if (code[0] == 'i') {
168 if (code[1] == 'f') {
169 if (!isIdentPart(code[2])) {
171 if (shouldCreateIdentifier)
172 data->ident = &m_globalData->propertyNames->ifKeyword;
175 } else if (code[1] == 'n') {
176 if (!isIdentPart(code[2])) {
178 if (shouldCreateIdentifier)
179 data->ident = &m_globalData->propertyNames->inKeyword;
182 if (COMPARE_7UCHARS(code + 2, 't', 'e', 'r', 'f', 'a', 'c', 'e')) {
183 if (!isIdentPart(code[9])) {
185 if (shouldCreateIdentifier)
186 data->ident = &m_globalData->propertyNames->interfaceKeyword;
187 return RESERVED_IF_STRICT;
189 } else if (COMPARE_8UCHARS(code + 2, 's', 't', 'a', 'n', 'c', 'e', 'o', 'f')) {
190 if (!isIdentPart(code[10])) {
192 if (shouldCreateIdentifier)
193 data->ident = &m_globalData->propertyNames->instanceofKeyword;
197 } else if (COMPARE_2UCHARS(code + 1, 'm', 'p')) {
198 if (COMPARE_4UCHARS(code + 2, 'p', 'o', 'r', 't')) {
199 if (!isIdentPart(code[6])) {
201 if (shouldCreateIdentifier)
202 data->ident = &m_globalData->propertyNames->importKeyword;
205 } else if (COMPARE_7UCHARS(code + 3, 'l', 'e', 'm', 'e', 'n', 't', 's')) {
206 if (!isIdentPart(code[10])) {
208 if (shouldCreateIdentifier)
209 data->ident = &m_globalData->propertyNames->implementsKeyword;
210 return RESERVED_IF_STRICT;
214 } else if (code[0] == 'v') {
215 if (COMPARE_2UCHARS(code + 1, 'a', 'r')) {
216 if (!isIdentPart(code[3])) {
218 if (shouldCreateIdentifier)
219 data->ident = &m_globalData->propertyNames->varKeyword;
222 } else if (COMPARE_4UCHARS(code, 'v', 'o', 'i', 'd')) {
223 if (!isIdentPart(code[4])) {
225 if (shouldCreateIdentifier)
226 data->ident = &m_globalData->propertyNames->voidKeyword;
230 } else if (COMPARE_6UCHARS(code, 'r', 'e', 't', 'u', 'r', 'n')) {
231 if (!isIdentPart(code[6])) {
233 if (shouldCreateIdentifier)
234 data->ident = &m_globalData->propertyNames->returnKeyword;
237 } else if (code[0] == 'n') {
238 if (COMPARE_4UCHARS(code, 'n', 'u', 'l', 'l')) {
239 if (!isIdentPart(code[4])) {
241 if (shouldCreateIdentifier)
242 data->ident = &m_globalData->propertyNames->nullKeyword;
245 } else if (COMPARE_2UCHARS(code + 1, 'e', 'w')) {
246 if (!isIdentPart(code[3])) {
248 if (shouldCreateIdentifier)
249 data->ident = &m_globalData->propertyNames->newKeyword;
253 } else if (code[0] == 'e') {
254 if (COMPARE_4UCHARS(code, 'e', 'l', 's', 'e')) {
255 if (!isIdentPart(code[4])) {
257 if (shouldCreateIdentifier)
258 data->ident = &m_globalData->propertyNames->elseKeyword;
261 } else if (code[1] == 'x') {
262 if (COMPARE_4UCHARS(code + 2, 'p', 'o', 'r', 't')) {
263 if (!isIdentPart(code[6])) {
265 if (shouldCreateIdentifier)
266 data->ident = &m_globalData->propertyNames->exportKeyword;
269 } else if (COMPARE_5UCHARS(code + 2, 't', 'e', 'n', 'd', 's')) {
270 if (!isIdentPart(code[7])) {
272 if (shouldCreateIdentifier)
273 data->ident = &m_globalData->propertyNames->extendsKeyword;
277 } else if (COMPARE_4UCHARS(code, 'e', 'n', 'u', 'm')) {
278 if (!isIdentPart(code[4])) {
280 if (shouldCreateIdentifier)
281 data->ident = &m_globalData->propertyNames->enumKeyword;
285 } else if (code[0] == 'c') {
286 if (code[1] == 'a') {
287 if (COMPARE_4UCHARS(code + 1, 'a', 't', 'c', 'h')) {
288 if (!isIdentPart(code[5])) {
290 if (shouldCreateIdentifier)
291 data->ident = &m_globalData->propertyNames->catchKeyword;
294 } else if (COMPARE_2UCHARS(code + 2, 's', 'e')) {
295 if (!isIdentPart(code[4])) {
297 if (shouldCreateIdentifier)
298 data->ident = &m_globalData->propertyNames->caseKeyword;
302 } else if (COMPARE_2UCHARS(code + 1, 'o', 'n')) {
303 if (COMPARE_5UCHARS(code + 3, 't', 'i', 'n', 'u', 'e')) {
304 if (!isIdentPart(code[8])) {
306 if (shouldCreateIdentifier)
307 data->ident = &m_globalData->propertyNames->continueKeyword;
310 } else if (COMPARE_2UCHARS(code + 3, 's', 't')) {
311 if (!isIdentPart(code[5])) {
313 if (shouldCreateIdentifier)
314 data->ident = &m_globalData->propertyNames->constKeyword;
318 } else if (COMPARE_4UCHARS(code + 1, 'l', 'a', 's', 's')) {
319 if (!isIdentPart(code[5])) {
321 if (shouldCreateIdentifier)
322 data->ident = &m_globalData->propertyNames->classKeyword;
326 } else if (COMPARE_5UCHARS(code, 'b', 'r', 'e', 'a', 'k')) {
327 if (!isIdentPart(code[5])) {
329 if (shouldCreateIdentifier)
330 data->ident = &m_globalData->propertyNames->breakKeyword;
333 } else if (code[0] == 'w') {
334 if (COMPARE_4UCHARS(code + 1, 'h', 'i', 'l', 'e')) {
335 if (!isIdentPart(code[5])) {
337 if (shouldCreateIdentifier)
338 data->ident = &m_globalData->propertyNames->whileKeyword;
341 } else if (COMPARE_4UCHARS(code, 'w', 'i', 't', 'h')) {
342 if (!isIdentPart(code[4])) {
344 if (shouldCreateIdentifier)
345 data->ident = &m_globalData->propertyNames->withKeyword;
349 } else if (code[0] == 'd') {
350 if (code[1] == 'e') {
351 if (COMPARE_5UCHARS(code + 2, 'f', 'a', 'u', 'l', 't')) {
352 if (!isIdentPart(code[7])) {
354 if (shouldCreateIdentifier)
355 data->ident = &m_globalData->propertyNames->defaultKeyword;
358 } else if (COMPARE_6UCHARS(code + 2, 'b', 'u', 'g', 'g', 'e', 'r')) {
359 if (!isIdentPart(code[8])) {
361 if (shouldCreateIdentifier)
362 data->ident = &m_globalData->propertyNames->debuggerKeyword;
365 } else if (COMPARE_4UCHARS(code + 2, 'l', 'e', 't', 'e')) {
366 if (!isIdentPart(code[6])) {
368 if (shouldCreateIdentifier)
369 data->ident = &m_globalData->propertyNames->deleteKeyword;
373 } else if (code[1] == 'o') {
374 if (!isIdentPart(code[2])) {
376 if (shouldCreateIdentifier)
377 data->ident = &m_globalData->propertyNames->doKeyword;
381 } else if (COMPARE_5UCHARS(code, 'y', 'i', 'e', 'l', 'd')) {
382 if (!isIdentPart(code[5])) {
384 if (shouldCreateIdentifier)
385 data->ident = &m_globalData->propertyNames->yieldKeyword;
386 return RESERVED_IF_STRICT;
388 } else if (code[0] == 'p') {
389 if (code[1] == 'r') {
390 if (COMPARE_5UCHARS(code + 2, 'i', 'v', 'a', 't', 'e')) {
391 if (!isIdentPart(code[7])) {
393 if (shouldCreateIdentifier)
394 data->ident = &m_globalData->propertyNames->privateKeyword;
395 return RESERVED_IF_STRICT;
397 } else if (COMPARE_7UCHARS(code + 2, 'o', 't', 'e', 'c', 't', 'e', 'd')) {
398 if (!isIdentPart(code[9])) {
400 if (shouldCreateIdentifier)
401 data->ident = &m_globalData->propertyNames->protectedKeyword;
402 return RESERVED_IF_STRICT;
405 } else if (COMPARE_5UCHARS(code + 1, 'u', 'b', 'l', 'i', 'c')) {
406 if (!isIdentPart(code[6])) {
408 if (shouldCreateIdentifier)
409 data->ident = &m_globalData->propertyNames->publicKeyword;
410 return RESERVED_IF_STRICT;
412 } else if (COMPARE_6UCHARS(code + 1, 'a', 'c', 'k', 'a', 'g', 'e')) {
413 if (!isIdentPart(code[7])) {
415 if (shouldCreateIdentifier)
416 data->ident = &m_globalData->propertyNames->packageKeyword;
417 return RESERVED_IF_STRICT;
420 } else if (code[0] == 's') {
421 if (COMPARE_5UCHARS(code + 1, 'w', 'i', 't', 'c', 'h')) {
422 if (!isIdentPart(code[6])) {
424 if (shouldCreateIdentifier)
425 data->ident = &m_globalData->propertyNames->switchKeyword;
428 } else if (COMPARE_5UCHARS(code + 1, 't', 'a', 't', 'i', 'c')) {
429 if (!isIdentPart(code[6])) {
431 if (shouldCreateIdentifier)
432 data->ident = &m_globalData->propertyNames->staticKeyword;
433 return RESERVED_IF_STRICT;
435 } else if (COMPARE_4UCHARS(code + 1, 'u', 'p', 'e', 'r')) {
436 if (!isIdentPart(code[5])) {
438 if (shouldCreateIdentifier)
439 data->ident = &m_globalData->propertyNames->superKeyword;
443 } else if (COMPARE_3UCHARS(code, 'l', 'e', 't')) {
444 if (!isIdentPart(code[3])) {
446 if (shouldCreateIdentifier)
447 data->ident = &m_globalData->propertyNames->letKeyword;
448 return RESERVED_IF_STRICT;
455 template <bool shouldCreateIdentifier> ALWAYS_INLINE JSTokenType Lexer<LChar>::parseKeyword(JSTokenData* data)
457 ASSERT(m_codeEnd - m_code >= maxTokenLength);
459 const LChar* code = m_code;
460 if (code[0] == 'f') {
461 if (COMPARE_7CHARS(code + 1, 'u', 'n', 'c', 't', 'i', 'o', 'n')) {
462 if (!isIdentPart(code[8])) {
464 if (shouldCreateIdentifier)
465 data->ident = &m_globalData->propertyNames->functionKeyword;
468 } else if (COMPARE_2CHARS(code + 1, 'o', 'r')) {
469 if (!isIdentPart(code[3])) {
471 if (shouldCreateIdentifier)
472 data->ident = &m_globalData->propertyNames->forKeyword;
475 } else if (COMPARE_4CHARS(code + 1, 'a', 'l', 's', 'e')) {
476 if (!isIdentPart(code[5])) {
478 if (shouldCreateIdentifier)
479 data->ident = &m_globalData->propertyNames->falseKeyword;
482 } else if (COMPARE_6CHARS(code + 1, 'i', 'n', 'a', 'l', 'l', 'y')) {
483 if (!isIdentPart(code[7])) {
485 if (shouldCreateIdentifier)
486 data->ident = &m_globalData->propertyNames->finallyKeyword;
490 } else if (code[0] == 't') {
491 if (code[1] == 'h') {
492 if (COMPARE_2CHARS(code + 2, 'i', 's')) {
493 if (!isIdentPart(code[4])) {
495 if (shouldCreateIdentifier)
496 data->ident = &m_globalData->propertyNames->thisKeyword;
499 } else if (COMPARE_4CHARS(code + 1, 'h', 'r', 'o', 'w')) {
500 if (!isIdentPart(code[5])) {
502 if (shouldCreateIdentifier)
503 data->ident = &m_globalData->propertyNames->throwKeyword;
507 } else if (code[1] == 'r') {
508 if (COMPARE_2CHARS(code + 2, 'u', 'e')) {
509 if (!isIdentPart(code[4])) {
511 if (shouldCreateIdentifier)
512 data->ident = &m_globalData->propertyNames->trueKeyword;
515 } else if (code[2] == 'y') {
516 if (!isIdentPart(code[3])) {
518 if (shouldCreateIdentifier)
519 data->ident = &m_globalData->propertyNames->tryKeyword;
523 } else if (COMPARE_5CHARS(code + 1, 'y', 'p', 'e', 'o', 'f')) {
524 if (!isIdentPart(code[6])) {
526 if (shouldCreateIdentifier)
527 data->ident = &m_globalData->propertyNames->typeofKeyword;
531 } else if (code[0] == 'i') {
532 if (code[1] == 'f') {
533 if (!isIdentPart(code[2])) {
535 if (shouldCreateIdentifier)
536 data->ident = &m_globalData->propertyNames->ifKeyword;
539 } else if (code[1] == 'n') {
540 if (!isIdentPart(code[2])) {
542 if (shouldCreateIdentifier)
543 data->ident = &m_globalData->propertyNames->inKeyword;
546 if (COMPARE_7CHARS(code + 2, 't', 'e', 'r', 'f', 'a', 'c', 'e')) {
547 if (!isIdentPart(code[9])) {
549 if (shouldCreateIdentifier)
550 data->ident = &m_globalData->propertyNames->interfaceKeyword;
551 return RESERVED_IF_STRICT;
553 } else if (COMPARE_8CHARS(code + 2, 's', 't', 'a', 'n', 'c', 'e', 'o', 'f')) {
554 if (!isIdentPart(code[10])) {
556 if (shouldCreateIdentifier)
557 data->ident = &m_globalData->propertyNames->instanceofKeyword;
561 } else if (COMPARE_2CHARS(code + 1, 'm', 'p')) {
562 if (COMPARE_4CHARS(code + 2, 'p', 'o', 'r', 't')) {
563 if (!isIdentPart(code[6])) {
565 if (shouldCreateIdentifier)
566 data->ident = &m_globalData->propertyNames->importKeyword;
569 } else if (COMPARE_7CHARS(code + 3, 'l', 'e', 'm', 'e', 'n', 't', 's')) {
570 if (!isIdentPart(code[10])) {
572 if (shouldCreateIdentifier)
573 data->ident = &m_globalData->propertyNames->implementsKeyword;
574 return RESERVED_IF_STRICT;
578 } else if (code[0] == 'v') {
579 if (COMPARE_2CHARS(code + 1, 'a', 'r')) {
580 if (!isIdentPart(code[3])) {
582 if (shouldCreateIdentifier)
583 data->ident = &m_globalData->propertyNames->varKeyword;
586 } else if (COMPARE_4CHARS(code, 'v', 'o', 'i', 'd')) {
587 if (!isIdentPart(code[4])) {
589 if (shouldCreateIdentifier)
590 data->ident = &m_globalData->propertyNames->voidKeyword;
594 } else if (COMPARE_6CHARS(code, 'r', 'e', 't', 'u', 'r', 'n')) {
595 if (!isIdentPart(code[6])) {
597 if (shouldCreateIdentifier)
598 data->ident = &m_globalData->propertyNames->returnKeyword;
601 } else if (code[0] == 'n') {
602 if (COMPARE_4CHARS(code, 'n', 'u', 'l', 'l')) {
603 if (!isIdentPart(code[4])) {
605 if (shouldCreateIdentifier)
606 data->ident = &m_globalData->propertyNames->nullKeyword;
609 } else if (COMPARE_2CHARS(code + 1, 'e', 'w')) {
610 if (!isIdentPart(code[3])) {
612 if (shouldCreateIdentifier)
613 data->ident = &m_globalData->propertyNames->newKeyword;
617 } else if (code[0] == 'e') {
618 if (COMPARE_4CHARS(code, 'e', 'l', 's', 'e')) {
619 if (!isIdentPart(code[4])) {
621 if (shouldCreateIdentifier)
622 data->ident = &m_globalData->propertyNames->elseKeyword;
625 } else if (code[1] == 'x') {
626 if (COMPARE_4CHARS(code + 2, 'p', 'o', 'r', 't')) {
627 if (!isIdentPart(code[6])) {
629 if (shouldCreateIdentifier)
630 data->ident = &m_globalData->propertyNames->exportKeyword;
633 } else if (COMPARE_5CHARS(code + 2, 't', 'e', 'n', 'd', 's')) {
634 if (!isIdentPart(code[7])) {
636 if (shouldCreateIdentifier)
637 data->ident = &m_globalData->propertyNames->extendsKeyword;
641 } else if (COMPARE_4CHARS(code, 'e', 'n', 'u', 'm')) {
642 if (!isIdentPart(code[4])) {
644 if (shouldCreateIdentifier)
645 data->ident = &m_globalData->propertyNames->enumKeyword;
649 } else if (code[0] == 'c') {
650 if (code[1] == 'a') {
651 if (COMPARE_4CHARS(code + 1, 'a', 't', 'c', 'h')) {
652 if (!isIdentPart(code[5])) {
654 if (shouldCreateIdentifier)
655 data->ident = &m_globalData->propertyNames->catchKeyword;
658 } else if (COMPARE_2CHARS(code + 2, 's', 'e')) {
659 if (!isIdentPart(code[4])) {
661 if (shouldCreateIdentifier)
662 data->ident = &m_globalData->propertyNames->caseKeyword;
666 } else if (COMPARE_2CHARS(code + 1, 'o', 'n')) {
667 if (COMPARE_5CHARS(code + 3, 't', 'i', 'n', 'u', 'e')) {
668 if (!isIdentPart(code[8])) {
670 if (shouldCreateIdentifier)
671 data->ident = &m_globalData->propertyNames->continueKeyword;
674 } else if (COMPARE_2CHARS(code + 3, 's', 't')) {
675 if (!isIdentPart(code[5])) {
677 if (shouldCreateIdentifier)
678 data->ident = &m_globalData->propertyNames->constKeyword;
682 } else if (COMPARE_4CHARS(code + 1, 'l', 'a', 's', 's')) {
683 if (!isIdentPart(code[5])) {
685 if (shouldCreateIdentifier)
686 data->ident = &m_globalData->propertyNames->classKeyword;
690 } else if (COMPARE_5CHARS(code, 'b', 'r', 'e', 'a', 'k')) {
691 if (!isIdentPart(code[5])) {
693 if (shouldCreateIdentifier)
694 data->ident = &m_globalData->propertyNames->breakKeyword;
697 } else if (code[0] == 'w') {
698 if (COMPARE_4CHARS(code + 1, 'h', 'i', 'l', 'e')) {
699 if (!isIdentPart(code[5])) {
701 if (shouldCreateIdentifier)
702 data->ident = &m_globalData->propertyNames->whileKeyword;
705 } else if (COMPARE_4CHARS(code, 'w', 'i', 't', 'h')) {
706 if (!isIdentPart(code[4])) {
708 if (shouldCreateIdentifier)
709 data->ident = &m_globalData->propertyNames->withKeyword;
713 } else if (code[0] == 'd') {
714 if (code[1] == 'e') {
715 if (COMPARE_5CHARS(code + 2, 'f', 'a', 'u', 'l', 't')) {
716 if (!isIdentPart(code[7])) {
718 if (shouldCreateIdentifier)
719 data->ident = &m_globalData->propertyNames->defaultKeyword;
722 } else if (COMPARE_6CHARS(code + 2, 'b', 'u', 'g', 'g', 'e', 'r')) {
723 if (!isIdentPart(code[8])) {
725 if (shouldCreateIdentifier)
726 data->ident = &m_globalData->propertyNames->debuggerKeyword;
729 } else if (COMPARE_4CHARS(code + 2, 'l', 'e', 't', 'e')) {
730 if (!isIdentPart(code[6])) {
732 if (shouldCreateIdentifier)
733 data->ident = &m_globalData->propertyNames->deleteKeyword;
737 } else if (code[1] == 'o') {
738 if (!isIdentPart(code[2])) {
740 if (shouldCreateIdentifier)
741 data->ident = &m_globalData->propertyNames->doKeyword;
745 } else if (COMPARE_5CHARS(code, 'y', 'i', 'e', 'l', 'd')) {
746 if (!isIdentPart(code[5])) {
748 if (shouldCreateIdentifier)
749 data->ident = &m_globalData->propertyNames->yieldKeyword;
750 return RESERVED_IF_STRICT;
752 } else if (code[0] == 'p') {
753 if (code[1] == 'r') {
754 if (COMPARE_5CHARS(code + 2, 'i', 'v', 'a', 't', 'e')) {
755 if (!isIdentPart(code[7])) {
757 if (shouldCreateIdentifier)
758 data->ident = &m_globalData->propertyNames->privateKeyword;
759 return RESERVED_IF_STRICT;
761 } else if (COMPARE_7CHARS(code + 2, 'o', 't', 'e', 'c', 't', 'e', 'd')) {
762 if (!isIdentPart(code[9])) {
764 if (shouldCreateIdentifier)
765 data->ident = &m_globalData->propertyNames->protectedKeyword;
766 return RESERVED_IF_STRICT;
769 } else if (COMPARE_5CHARS(code + 1, 'u', 'b', 'l', 'i', 'c')) {
770 if (!isIdentPart(code[6])) {
772 if (shouldCreateIdentifier)
773 data->ident = &m_globalData->propertyNames->publicKeyword;
774 return RESERVED_IF_STRICT;
776 } else if (COMPARE_6CHARS(code + 1, 'a', 'c', 'k', 'a', 'g', 'e')) {
777 if (!isIdentPart(code[7])) {
779 if (shouldCreateIdentifier)
780 data->ident = &m_globalData->propertyNames->packageKeyword;
781 return RESERVED_IF_STRICT;
784 } else if (code[0] == 's') {
785 if (COMPARE_5CHARS(code + 1, 'w', 'i', 't', 'c', 'h')) {
786 if (!isIdentPart(code[6])) {
788 if (shouldCreateIdentifier)
789 data->ident = &m_globalData->propertyNames->switchKeyword;
792 } else if (COMPARE_5CHARS(code + 1, 't', 'a', 't', 'i', 'c')) {
793 if (!isIdentPart(code[6])) {
795 if (shouldCreateIdentifier)
796 data->ident = &m_globalData->propertyNames->staticKeyword;
797 return RESERVED_IF_STRICT;
799 } else if (COMPARE_4CHARS(code + 1, 'u', 'p', 'e', 'r')) {
800 if (!isIdentPart(code[5])) {
802 if (shouldCreateIdentifier)
803 data->ident = &m_globalData->propertyNames->superKeyword;
807 } else if (COMPARE_3CHARS(code, 'l', 'e', 't')) {
808 if (!isIdentPart(code[3])) {
810 if (shouldCreateIdentifier)
811 data->ident = &m_globalData->propertyNames->letKeyword;
812 return RESERVED_IF_STRICT;