Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: src/unicode.cc

Issue 10975: Case folding mappings (Closed)
Patch Set: Replaced case folding with canonicalization Created 12 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2007-2008 the V8 project authors. All rights reserved. 1 // Copyright 2007-2008 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
11 // with the distribution. 11 // with the distribution.
12 // * Neither the name of Google Inc. nor the names of its 12 // * Neither the name of Google Inc. nor the names of its
13 // contributors may be used to endorse or promote products derived 13 // contributors may be used to endorse or promote products derived
14 // from this software without specific prior written permission. 14 // from this software without specific prior written permission.
15 // 15 //
16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 18 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 // 27 //
28 // This file was generated at 2008-10-01 18:05:45.480436 28 // This file was generated at 2008-11-17 10:21:10.113455
29 29
30 #include "unicode-inl.h" 30 #include "unicode-inl.h"
31 #include <cstdlib> 31 #include <cstdlib>
32 #include <cstdio> 32 #include <cstdio>
33 33
34 namespace unibrow { 34 namespace unibrow {
35 35
36 /** 36 /**
37 * \file 37 * \file
38 * Implementations of functions for working with unicode. 38 * Implementations of functions for working with unicode.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 high = mid - 1; 89 high = mid - 1;
90 } 90 }
91 } 91 }
92 uint16_t field = TableGet<kEntryDist>(table, low); 92 uint16_t field = TableGet<kEntryDist>(table, low);
93 return (GetEntry(field) == value) || 93 return (GetEntry(field) == value) ||
94 (GetEntry(field) < value && IsStart(field)); 94 (GetEntry(field) < value && IsStart(field));
95 } 95 }
96 96
97 struct MultiCharacterSpecialCase { 97 struct MultiCharacterSpecialCase {
98 uint16_t length; 98 uint16_t length;
99 uchar chars[kMaxCaseConvertedSize]; 99 uchar chars[kMaxMappingSize];
100 }; 100 };
101 101
102 // Look up the mapping for the given character in the specified table, 102 // Look up the mapping for the given character in the specified table,
103 // which is of the specified length and uses the specified special case 103 // which is of the specified length and uses the specified special case
104 // mapping for multi-char mappings. The next parameter is the character 104 // mapping for multi-char mappings. The next parameter is the character
105 // following the one to map. The result will be written in to the result 105 // following the one to map. The result will be written in to the result
106 // buffer and the number of characters written will be returned. Finally, 106 // buffer and the number of characters written will be returned. Finally,
107 // if the allow_caching_ptr is non-null then false will be stored in 107 // if the allow_caching_ptr is non-null then false will be stored in
108 // it if the result contains multiple characters or depends on the 108 // it if the result contains multiple characters or depends on the
109 // context. 109 // context.
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 bool Space::Is(uchar c) { 424 bool Space::Is(uchar c) {
425 int chunk_index = c >> 15; 425 int chunk_index = c >> 15;
426 switch (chunk_index) { 426 switch (chunk_index) {
427 case 0: return LookupPredicate(kSpaceTable0, 427 case 0: return LookupPredicate(kSpaceTable0,
428 kSpaceTable0Size, 428 kSpaceTable0Size,
429 c); 429 c);
430 default: return false; 430 default: return false;
431 } 431 }
432 } 432 }
433 433
434 // Titlecase: point.category == 'Lt'
435
436 static const uint16_t kTitlecaseTable0Size = 13;
437 static const uint16_t kTitlecaseTable0[13] = { 453, 456, 459, 498, 40840, 8079, 40856, 8095, 40872, 8111, 8124, 8140, 8188 }; // NOLINT
438 bool Titlecase::Is(uchar c) {
439 int chunk_index = c >> 15;
440 switch (chunk_index) {
441 case 0: return LookupPredicate(kTitlecaseTable0,
442 kTitlecaseTable0Size,
443 c);
444 default: return false;
445 }
446 }
447
448 // Number: point.category in ['Nd', 'Nl', 'No' ] 434 // Number: point.category in ['Nd', 'Nl', 'No' ]
449 435
450 static const uint16_t kNumberTable0Size = 86; 436 static const uint16_t kNumberTable0Size = 86;
451 static const uint16_t kNumberTable0[86] = { 32816, 57, 32946, 179, 185, 32956, 1 90, 34400, 1641, 34544, 1785, 34752, 1993, 35174, 2415, 35302, 2543, 35316, 2553 , 35430, 2671, 35558, 2799, 35686, 2927, 35814, 3058, 35942, 3183, 36070, 3311, 36198, 3439, 36432, 3673, 36560, 3801, 36640, 3891, 36928, 4169, 37737, 4988, 38 638, 5872, 38880, 6121, 38896, 6137, 38928, 6169, 39238, 6479, 39376, 6617, 3976 0, 7001, 8304, 41076, 8313, 41088, 8329, 41299, 8578, 42080, 9371, 42218, 9471, 42870, 10131, 11517, 12295, 45089, 12329, 45112, 12346, 45458, 12693, 45600, 128 41, 45649, 12895, 45696, 12937, 45745, 12991 }; // NOLINT 437 static const uint16_t kNumberTable0[86] = { 32816, 57, 32946, 179, 185, 32956, 1 90, 34400, 1641, 34544, 1785, 34752, 1993, 35174, 2415, 35302, 2543, 35316, 2553 , 35430, 2671, 35558, 2799, 35686, 2927, 35814, 3058, 35942, 3183, 36070, 3311, 36198, 3439, 36432, 3673, 36560, 3801, 36640, 3891, 36928, 4169, 37737, 4988, 38 638, 5872, 38880, 6121, 38896, 6137, 38928, 6169, 39238, 6479, 39376, 6617, 3976 0, 7001, 8304, 41076, 8313, 41088, 8329, 41299, 8578, 42080, 9371, 42218, 9471, 42870, 10131, 11517, 12295, 45089, 12329, 45112, 12346, 45458, 12693, 45600, 128 41, 45649, 12895, 45696, 12937, 45745, 12991 }; // NOLINT
452 static const uint16_t kNumberTable1Size = 2; 438 static const uint16_t kNumberTable1Size = 2;
453 static const uint16_t kNumberTable1[2] = { 65296, 32537 }; // NOLINT 439 static const uint16_t kNumberTable1[2] = { 65296, 32537 }; // NOLINT
454 static const uint16_t kNumberTable2Size = 19; 440 static const uint16_t kNumberTable2Size = 19;
455 static const uint16_t kNumberTable2[19] = { 33031, 307, 33088, 376, 394, 33568, 803, 833, 842, 33745, 981, 33952, 1193, 35094, 2329, 35392, 2631, 41984, 9314 }; // NOLINT 441 static const uint16_t kNumberTable2[19] = { 33031, 307, 33088, 376, 394, 33568, 803, 833, 842, 33745, 981, 33952, 1193, 35094, 2329, 35392, 2631, 41984, 9314 }; // NOLINT
456 static const uint16_t kNumberTable3Size = 4; 442 static const uint16_t kNumberTable3Size = 4;
457 static const uint16_t kNumberTable3[4] = { 54112, 21361, 55246, 22527 }; // NOLI NT 443 static const uint16_t kNumberTable3[4] = { 54112, 21361, 55246, 22527 }; // NOLI NT
458 bool Number::Is(uchar c) { 444 bool Number::Is(uchar c) {
459 int chunk_index = c >> 15; 445 int chunk_index = c >> 15;
460 switch (chunk_index) { 446 switch (chunk_index) {
461 case 0: return LookupPredicate(kNumberTable0, 447 case 0: return LookupPredicate(kNumberTable0,
462 kNumberTable0Size, 448 kNumberTable0Size,
463 c); 449 c);
464 case 1: return LookupPredicate(kNumberTable1, 450 case 1: return LookupPredicate(kNumberTable1,
465 kNumberTable1Size, 451 kNumberTable1Size,
466 c); 452 c);
467 case 2: return LookupPredicate(kNumberTable2, 453 case 2: return LookupPredicate(kNumberTable2,
468 kNumberTable2Size, 454 kNumberTable2Size,
469 c); 455 c);
470 case 3: return LookupPredicate(kNumberTable3, 456 case 3: return LookupPredicate(kNumberTable3,
471 kNumberTable3Size, 457 kNumberTable3Size,
472 c); 458 c);
473 default: return false; 459 default: return false;
474 } 460 }
475 } 461 }
476 462
477 // DecimalDigit: point.category == 'Nd'
478
479 static const uint16_t kDecimalDigitTable0Size = 44;
480 static const uint16_t kDecimalDigitTable0[44] = { 32816, 57, 34400, 1641, 34544, 1785, 34752, 1993, 35174, 2415, 35302, 2543, 35430, 2671, 35558, 2799, 35686, 2 927, 35814, 3055, 35942, 3183, 36070, 3311, 36198, 3439, 36432, 3673, 36560, 380 1, 36640, 3881, 36928, 4169, 38880, 6121, 38928, 6169, 39238, 6479, 39376, 6617, 39760, 7001 }; // NOLINT
481 static const uint16_t kDecimalDigitTable1Size = 2;
482 static const uint16_t kDecimalDigitTable1[2] = { 65296, 32537 }; // NOLINT
483 static const uint16_t kDecimalDigitTable2Size = 2;
484 static const uint16_t kDecimalDigitTable2[2] = { 33952, 1193 }; // NOLINT
485 static const uint16_t kDecimalDigitTable3Size = 2;
486 static const uint16_t kDecimalDigitTable3[2] = { 55246, 22527 }; // NOLINT
487 bool DecimalDigit::Is(uchar c) {
488 int chunk_index = c >> 15;
489 switch (chunk_index) {
490 case 0: return LookupPredicate(kDecimalDigitTable0,
491 kDecimalDigitTable0Size,
492 c);
493 case 1: return LookupPredicate(kDecimalDigitTable1,
494 kDecimalDigitTable1Size,
495 c);
496 case 2: return LookupPredicate(kDecimalDigitTable2,
497 kDecimalDigitTable2Size,
498 c);
499 case 3: return LookupPredicate(kDecimalDigitTable3,
500 kDecimalDigitTable3Size,
501 c);
502 default: return false;
503 }
504 }
505
506 // Ideographic: 'Id' in point.properties
507
508 static const uint16_t kIdeographicTable0Size = 10;
509 static const uint16_t kIdeographicTable0[10] = { 45062, 12295, 45089, 12329, 451 12, 12346, 46080, 19893, 52736, 32767 }; // NOLINT
510 static const uint16_t kIdeographicTable1Size = 6;
511 static const uint16_t kIdeographicTable1[6] = { 32768, 8123, 63744, 31277, 64112 , 31449 }; // NOLINT
512 static const uint16_t kIdeographicTable4Size = 2;
513 static const uint16_t kIdeographicTable4[2] = { 32768, 32767 }; // NOLINT
514 static const uint16_t kIdeographicTable5Size = 4;
515 static const uint16_t kIdeographicTable5[4] = { 32768, 9942, 63488, 31261 }; // NOLINT
516 bool Ideographic::Is(uchar c) {
517 int chunk_index = c >> 15;
518 switch (chunk_index) {
519 case 0: return LookupPredicate(kIdeographicTable0,
520 kIdeographicTable0Size,
521 c);
522 case 1: return LookupPredicate(kIdeographicTable1,
523 kIdeographicTable1Size,
524 c);
525 case 4: return LookupPredicate(kIdeographicTable4,
526 kIdeographicTable4Size,
527 c);
528 case 5: return LookupPredicate(kIdeographicTable5,
529 kIdeographicTable5Size,
530 c);
531 default: return false;
532 }
533 }
534
535 // WhiteSpace: 'Ws' in point.properties 463 // WhiteSpace: 'Ws' in point.properties
536 464
537 static const uint16_t kWhiteSpaceTable0Size = 14; 465 static const uint16_t kWhiteSpaceTable0Size = 14;
538 static const uint16_t kWhiteSpaceTable0[14] = { 32777, 13, 32, 133, 160, 5760, 6 158, 40960, 8202, 41000, 8233, 8239, 8287, 12288 }; // NOLINT 466 static const uint16_t kWhiteSpaceTable0[14] = { 32777, 13, 32, 133, 160, 5760, 6 158, 40960, 8202, 41000, 8233, 8239, 8287, 12288 }; // NOLINT
539 bool WhiteSpace::Is(uchar c) { 467 bool WhiteSpace::Is(uchar c) {
540 int chunk_index = c >> 15; 468 int chunk_index = c >> 15;
541 switch (chunk_index) { 469 switch (chunk_index) {
542 case 0: return LookupPredicate(kWhiteSpaceTable0, 470 case 0: return LookupPredicate(kWhiteSpaceTable0,
543 kWhiteSpaceTable0Size, 471 kWhiteSpaceTable0Size,
544 c); 472 c);
545 default: return false; 473 default: return false;
546 } 474 }
547 } 475 }
548 476
549 // HexDigit: 'Hd' in point.properties
550
551 static const uint16_t kHexDigitTable0Size = 6;
552 static const uint16_t kHexDigitTable0[6] = { 32816, 57, 32833, 70, 32865, 102 }; // NOLINT
553 static const uint16_t kHexDigitTable1Size = 6;
554 static const uint16_t kHexDigitTable1[6] = { 65296, 32537, 65313, 32550, 65345, 32582 }; // NOLINT
555 bool HexDigit::Is(uchar c) {
556 int chunk_index = c >> 15;
557 switch (chunk_index) {
558 case 0: return LookupPredicate(kHexDigitTable0,
559 kHexDigitTable0Size,
560 c);
561 case 1: return LookupPredicate(kHexDigitTable1,
562 kHexDigitTable1Size,
563 c);
564 default: return false;
565 }
566 }
567
568 // AsciiHexDigit: 'Ah' in point.properties
569
570 static const uint16_t kAsciiHexDigitTable0Size = 6;
571 static const uint16_t kAsciiHexDigitTable0[6] = { 32816, 57, 32833, 70, 32865, 1 02 }; // NOLINT
572 bool AsciiHexDigit::Is(uchar c) {
573 int chunk_index = c >> 15;
574 switch (chunk_index) {
575 case 0: return LookupPredicate(kAsciiHexDigitTable0,
576 kAsciiHexDigitTable0Size,
577 c);
578 default: return false;
579 }
580 }
581
582 // BidiControl: 'Bc' in point.properties
583
584 static const uint16_t kBidiControlTable0Size = 4;
585 static const uint16_t kBidiControlTable0[4] = { 40974, 8207, 41002, 8238 }; // N OLINT
586 bool BidiControl::Is(uchar c) {
587 int chunk_index = c >> 15;
588 switch (chunk_index) {
589 case 0: return LookupPredicate(kBidiControlTable0,
590 kBidiControlTable0Size,
591 c);
592 default: return false;
593 }
594 }
595
596 // JoinControl: 'Jc' in point.properties
597
598 static const uint16_t kJoinControlTable0Size = 2;
599 static const uint16_t kJoinControlTable0[2] = { 40972, 8205 }; // NOLINT
600 bool JoinControl::Is(uchar c) {
601 int chunk_index = c >> 15;
602 switch (chunk_index) {
603 case 0: return LookupPredicate(kJoinControlTable0,
604 kJoinControlTable0Size,
605 c);
606 default: return false;
607 }
608 }
609
610 // Dash: 'Dh' in point.properties
611
612 static const uint16_t kDashTable0Size = 14;
613 static const uint16_t kDashTable0[14] = { 45, 1418, 1470, 6150, 40976, 8213, 827 5, 8315, 8331, 8722, 11799, 12316, 12336, 12448 }; // NOLINT
614 static const uint16_t kDashTable1Size = 5;
615 static const uint16_t kDashTable1[5] = { 65073, 32306, 32344, 32355, 32525 }; // NOLINT
616 bool Dash::Is(uchar c) {
617 int chunk_index = c >> 15;
618 switch (chunk_index) {
619 case 0: return LookupPredicate(kDashTable0,
620 kDashTable0Size,
621 c);
622 case 1: return LookupPredicate(kDashTable1,
623 kDashTable1Size,
624 c);
625 default: return false;
626 }
627 }
628
629 // Hyphen: 'Hp' in point.properties
630
631 static const uint16_t kHyphenTable0Size = 8;
632 static const uint16_t kHyphenTable0[8] = { 45, 173, 1418, 6150, 40976, 8209, 117 99, 12539 }; // NOLINT
633 static const uint16_t kHyphenTable1Size = 3;
634 static const uint16_t kHyphenTable1[3] = { 32355, 32525, 32613 }; // NOLINT
635 bool Hyphen::Is(uchar c) {
636 int chunk_index = c >> 15;
637 switch (chunk_index) {
638 case 0: return LookupPredicate(kHyphenTable0,
639 kHyphenTable0Size,
640 c);
641 case 1: return LookupPredicate(kHyphenTable1,
642 kHyphenTable1Size,
643 c);
644 default: return false;
645 }
646 }
647
648 // LineTerminator: 'Lt' in point.properties 477 // LineTerminator: 'Lt' in point.properties
649 478
650 static const uint16_t kLineTerminatorTable0Size = 4; 479 static const uint16_t kLineTerminatorTable0Size = 4;
651 static const uint16_t kLineTerminatorTable0[4] = { 10, 13, 41000, 8233 }; // NOL INT 480 static const uint16_t kLineTerminatorTable0[4] = { 10, 13, 41000, 8233 }; // NOL INT
652 bool LineTerminator::Is(uchar c) { 481 bool LineTerminator::Is(uchar c) {
653 int chunk_index = c >> 15; 482 int chunk_index = c >> 15;
654 switch (chunk_index) { 483 switch (chunk_index) {
655 case 0: return LookupPredicate(kLineTerminatorTable0, 484 case 0: return LookupPredicate(kLineTerminatorTable0,
656 kLineTerminatorTable0Size, 485 kLineTerminatorTable0Size,
657 c); 486 c);
658 default: return false; 487 default: return false;
659 } 488 }
660 } 489 }
661 490
662 // RegExpSpecialChar: 'Rx' in point.properties
663
664 static const uint16_t kRegExpSpecialCharTable0Size = 9;
665 static const uint16_t kRegExpSpecialCharTable0[9] = { 36, 32808, 43, 46, 63, 328 59, 94, 32891, 125 }; // NOLINT
666 bool RegExpSpecialChar::Is(uchar c) {
667 int chunk_index = c >> 15;
668 switch (chunk_index) {
669 case 0: return LookupPredicate(kRegExpSpecialCharTable0,
670 kRegExpSpecialCharTable0Size,
671 c);
672 default: return false;
673 }
674 }
675
676 // CombiningMark: point.category in ['Mn', 'Mc'] 491 // CombiningMark: point.category in ['Mn', 'Mc']
677 492
678 static const uint16_t kCombiningMarkTable0Size = 214; 493 static const uint16_t kCombiningMarkTable0Size = 214;
679 static const uint16_t kCombiningMarkTable0[214] = { 33536, 879, 33923, 1158, 341 93, 1469, 1471, 34241, 1474, 34244, 1477, 1479, 34320, 1557, 34379, 1630, 1648, 34518, 1756, 34527, 1764, 34535, 1768, 34538, 1773, 1809, 34608, 1866, 34726, 19 68, 34795, 2035, 35073, 2307, 2364, 35134, 2381, 35153, 2388, 35170, 2403, 35201 , 2435, 2492, 35262, 2500, 35271, 2504, 35275, 2509, 2519, 35298, 2531, 35329, 2 563, 2620, 35390, 2626, 35399, 2632, 35403, 2637, 35440, 2673, 35457, 2691, 2748 , 35518, 2757, 35527, 2761, 35531, 2765, 35554, 2787, 35585, 2819, 2876, 35646, 2883, 35655, 2888, 35659, 2893, 35670, 2903, 2946, 35774, 3010, 35782, 3016, 357 86, 3021, 3031, 35841, 3075, 35902, 3140, 35910, 3144, 35914, 3149, 35925, 3158, 35970, 3203, 3260, 36030, 3268, 36038, 3272, 36042, 3277, 36053, 3286, 36066, 3 299, 36098, 3331, 36158, 3395, 36166, 3400, 36170, 3405, 3415, 36226, 3459, 3530 , 36303, 3540, 3542, 36312, 3551, 36338, 3571, 3633, 36404, 3642, 36423, 3662, 3 761, 36532, 3769, 36539, 3772, 36552, 3789, 36632, 3865, 3893, 3895, 3897, 36670 , 3903, 36721, 3972, 36742, 3975, 36752, 3991, 36761, 4028, 4038, 36908, 4146, 3 6918, 4153, 36950, 4185, 4959, 38674, 5908, 38706, 5940, 38738, 5971, 38770, 600 3, 38838, 6099, 6109, 38923, 6157, 6313, 39200, 6443, 39216, 6459, 39344, 6592, 39368, 6601, 39447, 6683, 39680, 6916, 39732, 6980, 39787, 7027, 40384, 7626, 40 446, 7679, 41168, 8412, 8417, 41189, 8431, 45098, 12335, 45209, 12442 }; // NOLI NT 494 static const uint16_t kCombiningMarkTable0[214] = { 33536, 879, 33923, 1158, 341 93, 1469, 1471, 34241, 1474, 34244, 1477, 1479, 34320, 1557, 34379, 1630, 1648, 34518, 1756, 34527, 1764, 34535, 1768, 34538, 1773, 1809, 34608, 1866, 34726, 19 68, 34795, 2035, 35073, 2307, 2364, 35134, 2381, 35153, 2388, 35170, 2403, 35201 , 2435, 2492, 35262, 2500, 35271, 2504, 35275, 2509, 2519, 35298, 2531, 35329, 2 563, 2620, 35390, 2626, 35399, 2632, 35403, 2637, 35440, 2673, 35457, 2691, 2748 , 35518, 2757, 35527, 2761, 35531, 2765, 35554, 2787, 35585, 2819, 2876, 35646, 2883, 35655, 2888, 35659, 2893, 35670, 2903, 2946, 35774, 3010, 35782, 3016, 357 86, 3021, 3031, 35841, 3075, 35902, 3140, 35910, 3144, 35914, 3149, 35925, 3158, 35970, 3203, 3260, 36030, 3268, 36038, 3272, 36042, 3277, 36053, 3286, 36066, 3 299, 36098, 3331, 36158, 3395, 36166, 3400, 36170, 3405, 3415, 36226, 3459, 3530 , 36303, 3540, 3542, 36312, 3551, 36338, 3571, 3633, 36404, 3642, 36423, 3662, 3 761, 36532, 3769, 36539, 3772, 36552, 3789, 36632, 3865, 3893, 3895, 3897, 36670 , 3903, 36721, 3972, 36742, 3975, 36752, 3991, 36761, 4028, 4038, 36908, 4146, 3 6918, 4153, 36950, 4185, 4959, 38674, 5908, 38706, 5940, 38738, 5971, 38770, 600 3, 38838, 6099, 6109, 38923, 6157, 6313, 39200, 6443, 39216, 6459, 39344, 6592, 39368, 6601, 39447, 6683, 39680, 6916, 39732, 6980, 39787, 7027, 40384, 7626, 40 446, 7679, 41168, 8412, 8417, 41189, 8431, 45098, 12335, 45209, 12442 }; // NOLI NT
680 static const uint16_t kCombiningMarkTable1Size = 10; 495 static const uint16_t kCombiningMarkTable1Size = 10;
681 static const uint16_t kCombiningMarkTable1[10] = { 10242, 10246, 10251, 43043, 1 0279, 31518, 65024, 32271, 65056, 32291 }; // NOLINT 496 static const uint16_t kCombiningMarkTable1[10] = { 10242, 10246, 10251, 43043, 1 0279, 31518, 65024, 32271, 65056, 32291 }; // NOLINT
682 static const uint16_t kCombiningMarkTable2Size = 9; 497 static const uint16_t kCombiningMarkTable2Size = 9;
683 static const uint16_t kCombiningMarkTable2[9] = { 35329, 2563, 35333, 2566, 3534 0, 2575, 35384, 2618, 2623 }; // NOLINT 498 static const uint16_t kCombiningMarkTable2[9] = { 35329, 2563, 35333, 2566, 3534 0, 2575, 35384, 2618, 2623 }; // NOLINT
684 static const uint16_t kCombiningMarkTable3Size = 12; 499 static const uint16_t kCombiningMarkTable3Size = 12;
685 static const uint16_t kCombiningMarkTable3[12] = { 53605, 20841, 53613, 20850, 5 3627, 20866, 53637, 20875, 53674, 20909, 53826, 21060 }; // NOLINT 500 static const uint16_t kCombiningMarkTable3[12] = { 53605, 20841, 53613, 20850, 5 3627, 20866, 53637, 20875, 53674, 20909, 53826, 21060 }; // NOLINT
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
799 kToUppercaseTable2Size, 614 kToUppercaseTable2Size,
800 kToUppercaseMultiStrings2, 615 kToUppercaseMultiStrings2,
801 c, 616 c,
802 n, 617 n,
803 result, 618 result,
804 allow_caching_ptr); 619 allow_caching_ptr);
805 default: return 0; 620 default: return 0;
806 } 621 }
807 } 622 }
808 623
624 static const MultiCharacterSpecialCase kEcma262CanonicalizeMultiStrings0[] = { { 0, {0}} }; // NOLINT
625 static const uint16_t kEcma262CanonicalizeTable0Size = 530;
626 static const uint16_t kEcma262CanonicalizeTable0[1060] = { 32865, static_cast<ui nt16_t>(-128), 122, static_cast<uint16_t>(-128), 181, 2972, 32992, static_cast<u int16_t>(-128), 246, static_cast<uint16_t>(-128), 33016, static_cast<uint16_t>(- 128), 254, static_cast<uint16_t>(-128), 255, 484, 257, static_cast<uint16_t>(-4) , 259, static_cast<uint16_t>(-4), 261, static_cast<uint16_t>(-4), 263, static_ca st<uint16_t>(-4), 265, static_cast<uint16_t>(-4), 267, static_cast<uint16_t>(-4) , 269, static_cast<uint16_t>(-4), 271, static_cast<uint16_t>(-4), 273, static_ca st<uint16_t>(-4), 275, static_cast<uint16_t>(-4), 277, static_cast<uint16_t>(-4) , 279, static_cast<uint16_t>(-4), 281, static_cast<uint16_t>(-4), 283, static_ca st<uint16_t>(-4), 285, static_cast<uint16_t>(-4), 287, static_cast<uint16_t>(-4) , 289, static_cast<uint16_t>(-4), 291, static_cast<uint16_t>(-4), 293, static_ca st<uint16_t>(-4), 295, static_cast<uint16_t>(-4), 297, static_cast<uint16_t>(-4) , 299, static_cast<uint16_t>(-4), 301, static_cast<uint16_t>(-4), 303, static_ca st<uint16_t>(-4), 304, 0, 307, static_cast<uint16_t>(-4), 309, static_cast<uint1 6_t>(-4), 311, static_cast<uint16_t>(-4), 314, static_cast<uint16_t>(-4), 316, s tatic_cast<uint16_t>(-4), 318, static_cast<uint16_t>(-4), 320, static_cast<uint1 6_t>(-4), 322, static_cast<uint16_t>(-4), 324, static_cast<uint16_t>(-4), 326, s tatic_cast<uint16_t>(-4), 328, static_cast<uint16_t>(-4), 331, static_cast<uint1 6_t>(-4), 333, static_cast<uint16_t>(-4), 335, static_cast<uint16_t>(-4), 337, s tatic_cast<uint16_t>(-4), 339, static_cast<uint16_t>(-4), 341, static_cast<uint1 6_t>(-4), 343, static_cast<uint16_t>(-4), 345, static_cast<uint16_t>(-4), 347, s tatic_cast<uint16_t>(-4), 349, static_cast<uint16_t>(-4), 351, static_cast<uint1 6_t>(-4), 353, static_cast<uint16_t>(-4), 355, static_cast<uint16_t>(-4), 357, s tatic_cast<uint16_t>(-4), 359, static_cast<uint16_t>(-4), 361, static_cast<uint1 6_t>(-4), 363, static_cast<uint16_t>(-4), 365, static_cast<uint16_t>(-4), 367, s tatic_cast<uint16_t>(-4), 369, static_cast<uint16_t>(-4), 371, static_cast<uint1 6_t>(-4), 373, static_cast<uint16_t>(-4), 375, static_cast<uint16_t>(-4), 378, s tatic_cast<uint16_t>(-4), 380, static_cast<uint16_t>(-4), 382, static_cast<uint1 6_t>(-4), 384, 780, 387, static_cast<uint16_t>(-4), 389, static_cast<uint16_t>(- 4), 392, static_cast<uint16_t>(-4), 396, static_cast<uint16_t>(-4), 402, static_ cast<uint16_t>(-4), 405, 388, 409, static_cast<uint16_t>(-4), 410, 652, 414, 520 , 417, static_cast<uint16_t>(-4), 419, static_cast<uint16_t>(-4), 421, static_ca st<uint16_t>(-4), 424, static_cast<uint16_t>(-4), 429, static_cast<uint16_t>(-4) , 432, static_cast<uint16_t>(-4), 436, static_cast<uint16_t>(-4), 438, static_ca st<uint16_t>(-4), 441, static_cast<uint16_t>(-4), 445, static_cast<uint16_t>(-4) , 447, 224, 453, static_cast<uint16_t>(-4), 454, static_cast<uint16_t>(-8), 456, static_cast<uint16_t>(-4), 457, static_cast<uint16_t>(-8), 459, static_cast<uin t16_t>(-4), 460, static_cast<uint16_t>(-8), 462, static_cast<uint16_t>(-4), 464, static_cast<uint16_t>(-4), 466, static_cast<uint16_t>(-4), 468, static_cast<uin t16_t>(-4), 470, static_cast<uint16_t>(-4), 472, static_cast<uint16_t>(-4), 474, static_cast<uint16_t>(-4), 476, static_cast<uint16_t>(-4), 477, static_cast<uin t16_t>(-316), 479, static_cast<uint16_t>(-4), 481, static_cast<uint16_t>(-4), 48 3, static_cast<uint16_t>(-4), 485, static_cast<uint16_t>(-4), 487, static_cast<u int16_t>(-4), 489, static_cast<uint16_t>(-4), 491, static_cast<uint16_t>(-4), 49 3, static_cast<uint16_t>(-4), 495, static_cast<uint16_t>(-4), 498, static_cast<u int16_t>(-4), 499, static_cast<uint16_t>(-8), 501, static_cast<uint16_t>(-4), 50 5, static_cast<uint16_t>(-4), 507, static_cast<uint16_t>(-4), 509, static_cast<u int16_t>(-4), 511, static_cast<uint16_t>(-4), 513, static_cast<uint16_t>(-4), 51 5, static_cast<uint16_t>(-4), 517, static_cast<uint16_t>(-4), 519, static_cast<u int16_t>(-4), 521, static_cast<uint16_t>(-4), 523, static_cast<uint16_t>(-4), 52 5, static_cast<uint16_t>(-4), 527, static_cast<uint16_t>(-4), 529, static_cast<u int16_t>(-4), 531, static_cast<uint16_t>(-4), 533, static_cast<uint16_t>(-4), 53 5, static_cast<uint16_t>(-4), 537, static_cast<uint16_t>(-4), 539, static_cast<u int16_t>(-4), 541, static_cast<uint16_t>(-4), 543, static_cast<uint16_t>(-4), 54 7, static_cast<uint16_t>(-4), 549, static_cast<uint16_t>(-4), 551, static_cast<u int16_t>(-4), 553, static_cast<uint16_t>(-4), 555, static_cast<uint16_t>(-4), 55 7, static_cast<uint16_t>(-4), 559, static_cast<uint16_t>(-4), 561, static_cast<u int16_t>(-4), 563, static_cast<uint16_t>(-4), 572, static_cast<uint16_t>(-4), 57 8, static_cast<uint16_t>(-4), 583, static_cast<uint16_t>(-4), 585, static_cast<u int16_t>(-4), 587, static_cast<uint16_t>(-4), 589, static_cast<uint16_t>(-4), 59 1, static_cast<uint16_t>(-4), 595, static_cast<uint16_t>(-840), 596, static_cast <uint16_t>(-824), 33366, static_cast<uint16_t>(-820), 599, static_cast<uint16_t> (-820), 601, static_cast<uint16_t>(-808), 603, static_cast<uint16_t>(-812), 608, static_cast<uint16_t>(-820), 611, static_cast<uint16_t>(-828), 616, static_cast <uint16_t>(-836), 617, static_cast<uint16_t>(-844), 619, 42972, 623, static_cast <uint16_t>(-844), 626, static_cast<uint16_t>(-852), 629, static_cast<uint16_t>(- 856), 637, 42908, 640, static_cast<uint16_t>(-872), 643, static_cast<uint16_t>(- 872), 648, static_cast<uint16_t>(-872), 649, static_cast<uint16_t>(-276), 33418, static_cast<uint16_t>(-868), 651, static_cast<uint16_t>(-868), 652, static_cast <uint16_t>(-284), 658, static_cast<uint16_t>(-876), 837, 336, 33659, 520, 893, 5 20, 940, static_cast<uint16_t>(-152), 33709, static_cast<uint16_t>(-148), 943, s tatic_cast<uint16_t>(-148), 33713, static_cast<uint16_t>(-128), 961, static_cast <uint16_t>(-128), 962, static_cast<uint16_t>(-124), 33731, static_cast<uint16_t> (-128), 971, static_cast<uint16_t>(-128), 972, static_cast<uint16_t>(-256), 3374 1, static_cast<uint16_t>(-252), 974, static_cast<uint16_t>(-252), 976, static_ca st<uint16_t>(-248), 977, static_cast<uint16_t>(-228), 981, static_cast<uint16_t> (-188), 982, static_cast<uint16_t>(-216), 985, static_cast<uint16_t>(-4), 987, s tatic_cast<uint16_t>(-4), 989, static_cast<uint16_t>(-4), 991, static_cast<uint1 6_t>(-4), 993, static_cast<uint16_t>(-4), 995, static_cast<uint16_t>(-4), 997, s tatic_cast<uint16_t>(-4), 999, static_cast<uint16_t>(-4), 1001, static_cast<uint 16_t>(-4), 1003, static_cast<uint16_t>(-4), 1005, static_cast<uint16_t>(-4), 100 7, static_cast<uint16_t>(-4), 1008, static_cast<uint16_t>(-344), 1009, static_ca st<uint16_t>(-320), 1010, 28, 1013, static_cast<uint16_t>(-384), 1016, static_ca st<uint16_t>(-4), 1019, static_cast<uint16_t>(-4), 33840, static_cast<uint16_t>( -128), 1103, static_cast<uint16_t>(-128), 33872, static_cast<uint16_t>(-320), 11 19, static_cast<uint16_t>(-320), 1121, static_cast<uint16_t>(-4), 1123, static_c ast<uint16_t>(-4), 1125, static_cast<uint16_t>(-4), 1127, static_cast<uint16_t>( -4), 1129, static_cast<uint16_t>(-4), 1131, static_cast<uint16_t>(-4), 1133, sta tic_cast<uint16_t>(-4), 1135, static_cast<uint16_t>(-4), 1137, static_cast<uint1 6_t>(-4), 1139, static_cast<uint16_t>(-4), 1141, static_cast<uint16_t>(-4), 1143 , static_cast<uint16_t>(-4), 1145, static_cast<uint16_t>(-4), 1147, static_cast< uint16_t>(-4), 1149, static_cast<uint16_t>(-4), 1151, static_cast<uint16_t>(-4), 1153, static_cast<uint16_t>(-4), 1163, static_cast<uint16_t>(-4), 1165, static_ cast<uint16_t>(-4), 1167, static_cast<uint16_t>(-4), 1169, static_cast<uint16_t> (-4), 1171, static_cast<uint16_t>(-4), 1173, static_cast<uint16_t>(-4), 1175, st atic_cast<uint16_t>(-4), 1177, static_cast<uint16_t>(-4), 1179, static_cast<uint 16_t>(-4), 1181, static_cast<uint16_t>(-4), 1183, static_cast<uint16_t>(-4), 118 5, static_cast<uint16_t>(-4), 1187, static_cast<uint16_t>(-4), 1189, static_cast <uint16_t>(-4), 1191, static_cast<uint16_t>(-4), 1193, static_cast<uint16_t>(-4) , 1195, static_cast<uint16_t>(-4), 1197, static_cast<uint16_t>(-4), 1199, static _cast<uint16_t>(-4), 1201, static_cast<uint16_t>(-4), 1203, static_cast<uint16_t >(-4), 1205, static_cast<uint16_t>(-4), 1207, static_cast<uint16_t>(-4), 1209, s tatic_cast<uint16_t>(-4), 1211, static_cast<uint16_t>(-4), 1213, static_cast<uin t16_t>(-4), 1215, static_cast<uint16_t>(-4), 1218, static_cast<uint16_t>(-4), 12 20, static_cast<uint16_t>(-4), 1222, static_cast<uint16_t>(-4), 1224, static_cas t<uint16_t>(-4), 1226, static_cast<uint16_t>(-4), 1228, static_cast<uint16_t>(-4 ), 1230, static_cast<uint16_t>(-4), 1231, static_cast<uint16_t>(-60), 1233, stat ic_cast<uint16_t>(-4), 1235, static_cast<uint16_t>(-4), 1237, static_cast<uint16 _t>(-4), 1239, static_cast<uint16_t>(-4), 1241, static_cast<uint16_t>(-4), 1243, static_cast<uint16_t>(-4), 1245, static_cast<uint16_t>(-4), 1247, static_cast<u int16_t>(-4), 1249, static_cast<uint16_t>(-4), 1251, static_cast<uint16_t>(-4), 1253, static_cast<uint16_t>(-4), 1255, static_cast<uint16_t>(-4), 1257, static_c ast<uint16_t>(-4), 1259, static_cast<uint16_t>(-4), 1261, static_cast<uint16_t>( -4), 1263, static_cast<uint16_t>(-4), 1265, static_cast<uint16_t>(-4), 1267, sta tic_cast<uint16_t>(-4), 1269, static_cast<uint16_t>(-4), 1271, static_cast<uint1 6_t>(-4), 1273, static_cast<uint16_t>(-4), 1275, static_cast<uint16_t>(-4), 1277 , static_cast<uint16_t>(-4), 1279, static_cast<uint16_t>(-4), 1281, static_cast< uint16_t>(-4), 1283, static_cast<uint16_t>(-4), 1285, static_cast<uint16_t>(-4), 1287, static_cast<uint16_t>(-4), 1289, static_cast<uint16_t>(-4), 1291, static_ cast<uint16_t>(-4), 1293, static_cast<uint16_t>(-4), 1295, static_cast<uint16_t> (-4), 1297, static_cast<uint16_t>(-4), 1299, static_cast<uint16_t>(-4), 34145, s tatic_cast<uint16_t>(-192), 1414, static_cast<uint16_t>(-192), 7549, 15256, 7681 , static_cast<uint16_t>(-4), 7683, static_cast<uint16_t>(-4), 7685, static_cast< uint16_t>(-4), 7687, static_cast<uint16_t>(-4), 7689, static_cast<uint16_t>(-4), 7691, static_cast<uint16_t>(-4), 7693, static_cast<uint16_t>(-4), 7695, static_ cast<uint16_t>(-4), 7697, static_cast<uint16_t>(-4), 7699, static_cast<uint16_t> (-4), 7701, static_cast<uint16_t>(-4), 7703, static_cast<uint16_t>(-4), 7705, st atic_cast<uint16_t>(-4), 7707, static_cast<uint16_t>(-4), 7709, static_cast<uint 16_t>(-4), 7711, static_cast<uint16_t>(-4), 7713, static_cast<uint16_t>(-4), 771 5, static_cast<uint16_t>(-4), 7717, static_cast<uint16_t>(-4), 7719, static_cast <uint16_t>(-4), 7721, static_cast<uint16_t>(-4), 7723, static_cast<uint16_t>(-4) , 7725, static_cast<uint16_t>(-4), 7727, static_cast<uint16_t>(-4), 7729, static _cast<uint16_t>(-4), 7731, static_cast<uint16_t>(-4), 7733, static_cast<uint16_t >(-4), 7735, static_cast<uint16_t>(-4), 7737, static_cast<uint16_t>(-4), 7739, s tatic_cast<uint16_t>(-4), 7741, static_cast<uint16_t>(-4), 7743, static_cast<uin t16_t>(-4), 7745, static_cast<uint16_t>(-4), 7747, static_cast<uint16_t>(-4), 77 49, static_cast<uint16_t>(-4), 7751, static_cast<uint16_t>(-4), 7753, static_cas t<uint16_t>(-4), 7755, static_cast<uint16_t>(-4), 7757, static_cast<uint16_t>(-4 ), 7759, static_cast<uint16_t>(-4), 7761, static_cast<uint16_t>(-4), 7763, stati c_cast<uint16_t>(-4), 7765, static_cast<uint16_t>(-4), 7767, static_cast<uint16_ t>(-4), 7769, static_cast<uint16_t>(-4), 7771, static_cast<uint16_t>(-4), 7773, static_cast<uint16_t>(-4), 7775, static_cast<uint16_t>(-4), 7777, static_cast<ui nt16_t>(-4), 7779, static_cast<uint16_t>(-4), 7781, static_cast<uint16_t>(-4), 7 783, static_cast<uint16_t>(-4), 7785, static_cast<uint16_t>(-4), 7787, static_ca st<uint16_t>(-4), 7789, static_cast<uint16_t>(-4), 7791, static_cast<uint16_t>(- 4), 7793, static_cast<uint16_t>(-4), 7795, static_cast<uint16_t>(-4), 7797, stat ic_cast<uint16_t>(-4), 7799, static_cast<uint16_t>(-4), 7801, static_cast<uint16 _t>(-4), 7803, static_cast<uint16_t>(-4), 7805, static_cast<uint16_t>(-4), 7807, static_cast<uint16_t>(-4), 7809, static_cast<uint16_t>(-4), 7811, static_cast<u int16_t>(-4), 7813, static_cast<uint16_t>(-4), 7815, static_cast<uint16_t>(-4), 7817, static_cast<uint16_t>(-4), 7819, static_cast<uint16_t>(-4), 7821, static_c ast<uint16_t>(-4), 7823, static_cast<uint16_t>(-4), 7825, static_cast<uint16_t>( -4), 7827, static_cast<uint16_t>(-4), 7829, static_cast<uint16_t>(-4), 7835, sta tic_cast<uint16_t>(-236), 7841, static_cast<uint16_t>(-4), 7843, static_cast<uin t16_t>(-4), 7845, static_cast<uint16_t>(-4), 7847, static_cast<uint16_t>(-4), 78 49, static_cast<uint16_t>(-4), 7851, static_cast<uint16_t>(-4), 7853, static_cas t<uint16_t>(-4), 7855, static_cast<uint16_t>(-4), 7857, static_cast<uint16_t>(-4 ), 7859, static_cast<uint16_t>(-4), 7861, static_cast<uint16_t>(-4), 7863, stati c_cast<uint16_t>(-4), 7865, static_cast<uint16_t>(-4), 7867, static_cast<uint16_ t>(-4), 7869, static_cast<uint16_t>(-4), 7871, static_cast<uint16_t>(-4), 7873, static_cast<uint16_t>(-4), 7875, static_cast<uint16_t>(-4), 7877, static_cast<ui nt16_t>(-4), 7879, static_cast<uint16_t>(-4), 7881, static_cast<uint16_t>(-4), 7 883, static_cast<uint16_t>(-4), 7885, static_cast<uint16_t>(-4), 7887, static_ca st<uint16_t>(-4), 7889, static_cast<uint16_t>(-4), 7891, static_cast<uint16_t>(- 4), 7893, static_cast<uint16_t>(-4), 7895, static_cast<uint16_t>(-4), 7897, stat ic_cast<uint16_t>(-4), 7899, static_cast<uint16_t>(-4), 7901, static_cast<uint16 _t>(-4), 7903, static_cast<uint16_t>(-4), 7905, static_cast<uint16_t>(-4), 7907, static_cast<uint16_t>(-4), 7909, static_cast<uint16_t>(-4), 7911, static_cast<u int16_t>(-4), 7913, static_cast<uint16_t>(-4), 7915, static_cast<uint16_t>(-4), 7917, static_cast<uint16_t>(-4), 7919, static_cast<uint16_t>(-4), 7921, static_c ast<uint16_t>(-4), 7923, static_cast<uint16_t>(-4), 7925, static_cast<uint16_t>( -4), 7927, static_cast<uint16_t>(-4), 7929, static_cast<uint16_t>(-4), 40704, 32 , 7943, 32, 40720, 32, 7957, 32, 40736, 32, 7975, 32, 40752, 32, 7991, 32, 40768 , 32, 8005, 32, 8017, 32, 8019, 32, 8021, 32, 8023, 32, 40800, 32, 8039, 32, 408 16, 296, 8049, 296, 40818, 344, 8053, 344, 40822, 400, 8055, 400, 40824, 512, 80 57, 512, 40826, 448, 8059, 448, 40828, 504, 8061, 504, 40880, 32, 8113, 32, 8126 , static_cast<uint16_t>(-28820), 40912, 32, 8145, 32, 40928, 32, 8161, 32, 8165, 28, 8526, static_cast<uint16_t>(-112), 41328, static_cast<uint16_t>(-64), 8575, static_cast<uint16_t>(-64), 8580, static_cast<uint16_t>(-4), 42192, static_cast <uint16_t>(-104), 9449, static_cast<uint16_t>(-104), 44080, static_cast<uint16_t >(-192), 11358, static_cast<uint16_t>(-192), 11361, static_cast<uint16_t>(-4), 1 1365, static_cast<uint16_t>(-43180), 11366, static_cast<uint16_t>(-43168), 11368 , static_cast<uint16_t>(-4), 11370, static_cast<uint16_t>(-4), 11372, static_cas t<uint16_t>(-4), 11382, static_cast<uint16_t>(-4), 11393, static_cast<uint16_t>( -4), 11395, static_cast<uint16_t>(-4), 11397, static_cast<uint16_t>(-4), 11399, static_cast<uint16_t>(-4), 11401, static_cast<uint16_t>(-4), 11403, static_cast< uint16_t>(-4), 11405, static_cast<uint16_t>(-4), 11407, static_cast<uint16_t>(-4 ), 11409, static_cast<uint16_t>(-4), 11411, static_cast<uint16_t>(-4), 11413, st atic_cast<uint16_t>(-4), 11415, static_cast<uint16_t>(-4), 11417, static_cast<ui nt16_t>(-4), 11419, static_cast<uint16_t>(-4), 11421, static_cast<uint16_t>(-4), 11423, static_cast<uint16_t>(-4), 11425, static_cast<uint16_t>(-4), 11427, stat ic_cast<uint16_t>(-4), 11429, static_cast<uint16_t>(-4), 11431, static_cast<uint 16_t>(-4), 11433, static_cast<uint16_t>(-4), 11435, static_cast<uint16_t>(-4), 1 1437, static_cast<uint16_t>(-4), 11439, static_cast<uint16_t>(-4), 11441, static _cast<uint16_t>(-4), 11443, static_cast<uint16_t>(-4), 11445, static_cast<uint16 _t>(-4), 11447, static_cast<uint16_t>(-4), 11449, static_cast<uint16_t>(-4), 114 51, static_cast<uint16_t>(-4), 11453, static_cast<uint16_t>(-4), 11455, static_c ast<uint16_t>(-4), 11457, static_cast<uint16_t>(-4), 11459, static_cast<uint16_t >(-4), 11461, static_cast<uint16_t>(-4), 11463, static_cast<uint16_t>(-4), 11465 , static_cast<uint16_t>(-4), 11467, static_cast<uint16_t>(-4), 11469, static_cas t<uint16_t>(-4), 11471, static_cast<uint16_t>(-4), 11473, static_cast<uint16_t>( -4), 11475, static_cast<uint16_t>(-4), 11477, static_cast<uint16_t>(-4), 11479, static_cast<uint16_t>(-4), 11481, static_cast<uint16_t>(-4), 11483, static_cast< uint16_t>(-4), 11485, static_cast<uint16_t>(-4), 11487, static_cast<uint16_t>(-4 ), 11489, static_cast<uint16_t>(-4), 11491, static_cast<uint16_t>(-4), 44288, st atic_cast<uint16_t>(-29056), 11557, static_cast<uint16_t>(-29056) }; // NOLINT
627 static const MultiCharacterSpecialCase kEcma262CanonicalizeMultiStrings1[] = { { 0, {0}} }; // NOLINT
628 static const uint16_t kEcma262CanonicalizeTable1Size = 2;
629 static const uint16_t kEcma262CanonicalizeTable1[4] = { 65345, static_cast<uint1 6_t>(-128), 32602, static_cast<uint16_t>(-128) }; // NOLINT
630 static const MultiCharacterSpecialCase kEcma262CanonicalizeMultiStrings2[] = { { 0, {0}} }; // NOLINT
631 static const uint16_t kEcma262CanonicalizeTable2Size = 2;
632 static const uint16_t kEcma262CanonicalizeTable2[4] = { 33832, static_cast<uint1 6_t>(-160), 1103, static_cast<uint16_t>(-160) }; // NOLINT
633 int Ecma262Canonicalize::Convert(uchar c,
634 uchar n,
635 uchar* result,
636 bool* allow_caching_ptr) {
637 int chunk_index = c >> 15;
638 switch (chunk_index) {
639 case 0: return LookupMapping(kEcma262CanonicalizeTable0,
640 kEcma262CanonicalizeTable0Size,
641 kEcma262CanonicalizeMultiStrings0,
642 c,
643 n,
644 result,
645 allow_caching_ptr);
646 case 1: return LookupMapping(kEcma262CanonicalizeTable1,
647 kEcma262CanonicalizeTable1Size,
648 kEcma262CanonicalizeMultiStrings1,
649 c,
650 n,
651 result,
652 allow_caching_ptr);
653 case 2: return LookupMapping(kEcma262CanonicalizeTable2,
654 kEcma262CanonicalizeTable2Size,
655 kEcma262CanonicalizeMultiStrings2,
656 c,
657 n,
658 result,
659 allow_caching_ptr);
660 default: return 0;
661 }
662 }
663
664 static const MultiCharacterSpecialCase kEcma262UnCanonicalizeMultiStrings0[] = { {2, {65, 97}}, {2, {66, 98}}, {2, {67, 99}}, {2, {68, 100}}, {2, {69, 101}}, {2 , {70, 102}}, {2, {71, 103}}, {2, {72, 104}}, {2, {73, 105}}, {2, {74, 106}}, {2 , {75, 107}}, {2, {76, 108}}, {2, {77, 109}}, {2, {78, 110}}, {2, {79, 111}}, {2 , {80, 112}}, {2, {81, 113}}, {2, {82, 114}}, {2, {83, 115}}, {2, {84, 116}}, {2 , {85, 117}}, {2, {86, 118}}, {2, {87, 119}}, {2, {88, 120}}, {2, {89, 121}}, {2 , {90, 122}}, {2, {181, 924}}, {2, {192, 224}}, {2, {193, 225}}, {2, {194, 226}} , {2, {195, 227}}, {2, {196, 228}}, {2, {197, 229}}, {2, {198, 230}}, {2, {199, 231}}, {2, {200, 232}}, {2, {201, 233}}, {2, {202, 234}}, {2, {203, 235}}, {2, { 204, 236}}, {2, {205, 237}}, {2, {206, 238}}, {2, {207, 239}}, {2, {208, 240}}, {2, {209, 241}}, {2, {210, 242}}, {2, {211, 243}}, {2, {212, 244}}, {2, {213, 24 5}}, {2, {214, 246}}, {2, {216, 248}}, {2, {217, 249}}, {2, {218, 250}}, {2, {21 9, 251}}, {2, {220, 252}}, {2, {221, 253}}, {2, {222, 254}}, {2, {255, 376}}, {2 , {256, 257}}, {2, {258, 259}}, {2, {260, 261}}, {2, {262, 263}}, {2, {264, 265} }, {2, {266, 267}}, {2, {268, 269}}, {2, {270, 271}}, {2, {272, 273}}, {2, {274, 275}}, {2, {276, 277}}, {2, {278, 279}}, {2, {280, 281}}, {2, {282, 283}}, {2, {284, 285}}, {2, {286, 287}}, {2, {288, 289}}, {2, {290, 291}}, {2, {292, 293}}, {2, {294, 295}}, {2, {296, 297}}, {2, {298, 299}}, {2, {300, 301}}, {2, {302, 3 03}}, {2, {304, 304}}, {2, {306, 307}}, {2, {308, 309}}, {2, {310, 311}}, {2, {3 13, 314}}, {2, {315, 316}}, {2, {317, 318}}, {2, {319, 320}}, {2, {321, 322}}, { 2, {323, 324}}, {2, {325, 326}}, {2, {327, 328}}, {2, {330, 331}}, {2, {332, 333 }}, {2, {334, 335}}, {2, {336, 337}}, {2, {338, 339}}, {2, {340, 341}}, {2, {342 , 343}}, {2, {344, 345}}, {2, {346, 347}}, {2, {348, 349}}, {2, {350, 351}}, {2, {352, 353}}, {2, {354, 355}}, {2, {356, 357}}, {2, {358, 359}}, {2, {360, 361}} , {2, {362, 363}}, {2, {364, 365}}, {2, {366, 367}}, {2, {368, 369}}, {2, {370, 371}}, {2, {372, 373}}, {2, {374, 375}}, {2, {377, 378}}, {2, {379, 380}}, {2, { 381, 382}}, {2, {384, 579}}, {2, {386, 387}}, {2, {388, 389}}, {2, {391, 392}}, {2, {395, 396}}, {2, {401, 402}}, {2, {405, 502}}, {2, {408, 409}}, {2, {410, 57 3}}, {2, {414, 544}}, {2, {416, 417}}, {2, {418, 419}}, {2, {420, 421}}, {2, {42 3, 424}}, {2, {428, 429}}, {2, {431, 432}}, {2, {435, 436}}, {2, {437, 438}}, {2 , {440, 441}}, {2, {444, 445}}, {2, {447, 503}}, {2, {452, 453}}, {2, {452, 454} }, {2, {455, 456}}, {2, {455, 457}}, {2, {458, 459}}, {2, {458, 460}}, {2, {461, 462}}, {2, {463, 464}}, {2, {465, 466}}, {2, {467, 468}}, {2, {469, 470}}, {2, {471, 472}}, {2, {473, 474}}, {2, {475, 476}}, {2, {398, 477}}, {2, {478, 479}}, {2, {480, 481}}, {2, {482, 483}}, {2, {484, 485}}, {2, {486, 487}}, {2, {488, 4 89}}, {2, {490, 491}}, {2, {492, 493}}, {2, {494, 495}}, {2, {497, 498}}, {2, {4 97, 499}}, {2, {500, 501}}, {2, {504, 505}}, {2, {506, 507}}, {2, {508, 509}}, { 2, {510, 511}}, {2, {512, 513}}, {2, {514, 515}}, {2, {516, 517}}, {2, {518, 519 }}, {2, {520, 521}}, {2, {522, 523}}, {2, {524, 525}}, {2, {526, 527}}, {2, {528 , 529}}, {2, {530, 531}}, {2, {532, 533}}, {2, {534, 535}}, {2, {536, 537}}, {2, {538, 539}}, {2, {540, 541}}, {2, {542, 543}}, {2, {546, 547}}, {2, {548, 549}} , {2, {550, 551}}, {2, {552, 553}}, {2, {554, 555}}, {2, {556, 557}}, {2, {558, 559}}, {2, {560, 561}}, {2, {562, 563}}, {2, {571, 572}}, {2, {577, 578}}, {2, { 582, 583}}, {2, {584, 585}}, {2, {586, 587}}, {2, {588, 589}}, {2, {590, 591}}, {2, {385, 595}}, {2, {390, 596}}, {2, {393, 598}}, {2, {394, 599}}, {2, {399, 60 1}}, {2, {400, 603}}, {2, {403, 608}}, {2, {404, 611}}, {2, {407, 616}}, {2, {40 6, 617}}, {2, {619, 11362}}, {2, {412, 623}}, {2, {413, 626}}, {2, {415, 629}}, {2, {637, 11364}}, {2, {422, 640}}, {2, {425, 643}}, {2, {430, 648}}, {2, {580, 649}}, {2, {433, 650}}, {2, {434, 651}}, {2, {581, 652}}, {2, {439, 658}}, {2, { 837, 921}}, {2, {891, 1021}}, {2, {892, 1022}}, {2, {893, 1023}}, {2, {902, 940} }, {2, {904, 941}}, {2, {905, 942}}, {2, {906, 943}}, {2, {913, 945}}, {2, {914, 946}}, {2, {915, 947}}, {2, {916, 948}}, {2, {917, 949}}, {2, {918, 950}}, {2, {919, 951}}, {2, {920, 952}}, {2, {921, 953}}, {2, {922, 954}}, {2, {923, 955}}, {2, {924, 956}}, {2, {925, 957}}, {2, {926, 958}}, {2, {927, 959}}, {2, {928, 9 60}}, {2, {929, 961}}, {2, {931, 962}}, {2, {931, 963}}, {2, {932, 964}}, {2, {9 33, 965}}, {2, {934, 966}}, {2, {935, 967}}, {2, {936, 968}}, {2, {937, 969}}, { 2, {938, 970}}, {2, {939, 971}}, {2, {908, 972}}, {2, {910, 973}}, {2, {911, 974 }}, {2, {914, 976}}, {2, {920, 977}}, {2, {934, 981}}, {2, {928, 982}}, {2, {984 , 985}}, {2, {986, 987}}, {2, {988, 989}}, {2, {990, 991}}, {2, {992, 993}}, {2, {994, 995}}, {2, {996, 997}}, {2, {998, 999}}, {2, {1000, 1001}}, {2, {1002, 10 03}}, {2, {1004, 1005}}, {2, {1006, 1007}}, {2, {922, 1008}}, {2, {929, 1009}}, {2, {1010, 1017}}, {2, {917, 1013}}, {2, {1015, 1016}}, {2, {1018, 1019}}, {2, { 1040, 1072}}, {2, {1041, 1073}}, {2, {1042, 1074}}, {2, {1043, 1075}}, {2, {1044 , 1076}}, {2, {1045, 1077}}, {2, {1046, 1078}}, {2, {1047, 1079}}, {2, {1048, 10 80}}, {2, {1049, 1081}}, {2, {1050, 1082}}, {2, {1051, 1083}}, {2, {1052, 1084}} , {2, {1053, 1085}}, {2, {1054, 1086}}, {2, {1055, 1087}}, {2, {1056, 1088}}, {2 , {1057, 1089}}, {2, {1058, 1090}}, {2, {1059, 1091}}, {2, {1060, 1092}}, {2, {1 061, 1093}}, {2, {1062, 1094}}, {2, {1063, 1095}}, {2, {1064, 1096}}, {2, {1065, 1097}}, {2, {1066, 1098}}, {2, {1067, 1099}}, {2, {1068, 1100}}, {2, {1069, 110 1}}, {2, {1070, 1102}}, {2, {1071, 1103}}, {2, {1024, 1104}}, {2, {1025, 1105}}, {2, {1026, 1106}}, {2, {1027, 1107}}, {2, {1028, 1108}}, {2, {1029, 1109}}, {2, {1030, 1110}}, {2, {1031, 1111}}, {2, {1032, 1112}}, {2, {1033, 1113}}, {2, {10 34, 1114}}, {2, {1035, 1115}}, {2, {1036, 1116}}, {2, {1037, 1117}}, {2, {1038, 1118}}, {2, {1039, 1119}}, {2, {1120, 1121}}, {2, {1122, 1123}}, {2, {1124, 1125 }}, {2, {1126, 1127}}, {2, {1128, 1129}}, {2, {1130, 1131}}, {2, {1132, 1133}}, {2, {1134, 1135}}, {2, {1136, 1137}}, {2, {1138, 1139}}, {2, {1140, 1141}}, {2, {1142, 1143}}, {2, {1144, 1145}}, {2, {1146, 1147}}, {2, {1148, 1149}}, {2, {115 0, 1151}}, {2, {1152, 1153}}, {2, {1162, 1163}}, {2, {1164, 1165}}, {2, {1166, 1 167}}, {2, {1168, 1169}}, {2, {1170, 1171}}, {2, {1172, 1173}}, {2, {1174, 1175} }, {2, {1176, 1177}}, {2, {1178, 1179}}, {2, {1180, 1181}}, {2, {1182, 1183}}, { 2, {1184, 1185}}, {2, {1186, 1187}}, {2, {1188, 1189}}, {2, {1190, 1191}}, {2, { 1192, 1193}}, {2, {1194, 1195}}, {2, {1196, 1197}}, {2, {1198, 1199}}, {2, {1200 , 1201}}, {2, {1202, 1203}}, {2, {1204, 1205}}, {2, {1206, 1207}}, {2, {1208, 12 09}}, {2, {1210, 1211}}, {2, {1212, 1213}}, {2, {1214, 1215}}, {2, {1217, 1218}} , {2, {1219, 1220}}, {2, {1221, 1222}}, {2, {1223, 1224}}, {2, {1225, 1226}}, {2 , {1227, 1228}}, {2, {1229, 1230}}, {2, {1216, 1231}}, {2, {1232, 1233}}, {2, {1 234, 1235}}, {2, {1236, 1237}}, {2, {1238, 1239}}, {2, {1240, 1241}}, {2, {1242, 1243}}, {2, {1244, 1245}}, {2, {1246, 1247}}, {2, {1248, 1249}}, {2, {1250, 125 1}}, {2, {1252, 1253}}, {2, {1254, 1255}}, {2, {1256, 1257}}, {2, {1258, 1259}}, {2, {1260, 1261}}, {2, {1262, 1263}}, {2, {1264, 1265}}, {2, {1266, 1267}}, {2, {1268, 1269}}, {2, {1270, 1271}}, {2, {1272, 1273}}, {2, {1274, 1275}}, {2, {12 76, 1277}}, {2, {1278, 1279}}, {2, {1280, 1281}}, {2, {1282, 1283}}, {2, {1284, 1285}}, {2, {1286, 1287}}, {2, {1288, 1289}}, {2, {1290, 1291}}, {2, {1292, 1293 }}, {2, {1294, 1295}}, {2, {1296, 1297}}, {2, {1298, 1299}}, {2, {1329, 1377}}, {2, {1330, 1378}}, {2, {1331, 1379}}, {2, {1332, 1380}}, {2, {1333, 1381}}, {2, {1334, 1382}}, {2, {1335, 1383}}, {2, {1336, 1384}}, {2, {1337, 1385}}, {2, {133 8, 1386}}, {2, {1339, 1387}}, {2, {1340, 1388}}, {2, {1341, 1389}}, {2, {1342, 1 390}}, {2, {1343, 1391}}, {2, {1344, 1392}}, {2, {1345, 1393}}, {2, {1346, 1394} }, {2, {1347, 1395}}, {2, {1348, 1396}}, {2, {1349, 1397}}, {2, {1350, 1398}}, { 2, {1351, 1399}}, {2, {1352, 1400}}, {2, {1353, 1401}}, {2, {1354, 1402}}, {2, { 1355, 1403}}, {2, {1356, 1404}}, {2, {1357, 1405}}, {2, {1358, 1406}}, {2, {1359 , 1407}}, {2, {1360, 1408}}, {2, {1361, 1409}}, {2, {1362, 1410}}, {2, {1363, 14 11}}, {2, {1364, 1412}}, {2, {1365, 1413}}, {2, {1366, 1414}}, {2, {7549, 11363} }, {2, {7680, 7681}}, {2, {7682, 7683}}, {2, {7684, 7685}}, {2, {7686, 7687}}, { 2, {7688, 7689}}, {2, {7690, 7691}}, {2, {7692, 7693}}, {2, {7694, 7695}}, {2, { 7696, 7697}}, {2, {7698, 7699}}, {2, {7700, 7701}}, {2, {7702, 7703}}, {2, {7704 , 7705}}, {2, {7706, 7707}}, {2, {7708, 7709}}, {2, {7710, 7711}}, {2, {7712, 77 13}}, {2, {7714, 7715}}, {2, {7716, 7717}}, {2, {7718, 7719}}, {2, {7720, 7721}} , {2, {7722, 7723}}, {2, {7724, 7725}}, {2, {7726, 7727}}, {2, {7728, 7729}}, {2 , {7730, 7731}}, {2, {7732, 7733}}, {2, {7734, 7735}}, {2, {7736, 7737}}, {2, {7 738, 7739}}, {2, {7740, 7741}}, {2, {7742, 7743}}, {2, {7744, 7745}}, {2, {7746, 7747}}, {2, {7748, 7749}}, {2, {7750, 7751}}, {2, {7752, 7753}}, {2, {7754, 775 5}}, {2, {7756, 7757}}, {2, {7758, 7759}}, {2, {7760, 7761}}, {2, {7762, 7763}}, {2, {7764, 7765}}, {2, {7766, 7767}}, {2, {7768, 7769}}, {2, {7770, 7771}}, {2, {7772, 7773}}, {2, {7774, 7775}}, {2, {7776, 7777}}, {2, {7778, 7779}}, {2, {77 80, 7781}}, {2, {7782, 7783}}, {2, {7784, 7785}}, {2, {7786, 7787}}, {2, {7788, 7789}}, {2, {7790, 7791}}, {2, {7792, 7793}}, {2, {7794, 7795}}, {2, {7796, 7797 }}, {2, {7798, 7799}}, {2, {7800, 7801}}, {2, {7802, 7803}}, {2, {7804, 7805}}, {2, {7806, 7807}}, {2, {7808, 7809}}, {2, {7810, 7811}}, {2, {7812, 7813}}, {2, {7814, 7815}}, {2, {7816, 7817}}, {2, {7818, 7819}}, {2, {7820, 7821}}, {2, {782 2, 7823}}, {2, {7824, 7825}}, {2, {7826, 7827}}, {2, {7828, 7829}}, {2, {7776, 7 835}}, {2, {7840, 7841}}, {2, {7842, 7843}}, {2, {7844, 7845}}, {2, {7846, 7847} }, {2, {7848, 7849}}, {2, {7850, 7851}}, {2, {7852, 7853}}, {2, {7854, 7855}}, { 2, {7856, 7857}}, {2, {7858, 7859}}, {2, {7860, 7861}}, {2, {7862, 7863}}, {2, { 7864, 7865}}, {2, {7866, 7867}}, {2, {7868, 7869}}, {2, {7870, 7871}}, {2, {7872 , 7873}}, {2, {7874, 7875}}, {2, {7876, 7877}}, {2, {7878, 7879}}, {2, {7880, 78 81}}, {2, {7882, 7883}}, {2, {7884, 7885}}, {2, {7886, 7887}}, {2, {7888, 7889}} , {2, {7890, 7891}}, {2, {7892, 7893}}, {2, {7894, 7895}}, {2, {7896, 7897}}, {2 , {7898, 7899}}, {2, {7900, 7901}}, {2, {7902, 7903}}, {2, {7904, 7905}}, {2, {7 906, 7907}}, {2, {7908, 7909}}, {2, {7910, 7911}}, {2, {7912, 7913}}, {2, {7914, 7915}}, {2, {7916, 7917}}, {2, {7918, 7919}}, {2, {7920, 7921}}, {2, {7922, 792 3}}, {2, {7924, 7925}}, {2, {7926, 7927}}, {2, {7928, 7929}}, {2, {7936, 7944}}, {2, {7937, 7945}}, {2, {7938, 7946}}, {2, {7939, 7947}}, {2, {7940, 7948}}, {2, {7941, 7949}}, {2, {7942, 7950}}, {2, {7943, 7951}}, {2, {7952, 7960}}, {2, {79 53, 7961}}, {2, {7954, 7962}}, {2, {7955, 7963}}, {2, {7956, 7964}}, {2, {7957, 7965}}, {2, {7968, 7976}}, {2, {7969, 7977}}, {2, {7970, 7978}}, {2, {7971, 7979 }}, {2, {7972, 7980}}, {2, {7973, 7981}}, {2, {7974, 7982}}, {2, {7975, 7983}}, {2, {7984, 7992}}, {2, {7985, 7993}}, {2, {7986, 7994}}, {2, {7987, 7995}}, {2, {7988, 7996}}, {2, {7989, 7997}}, {2, {7990, 7998}}, {2, {7991, 7999}}, {2, {800 0, 8008}}, {2, {8001, 8009}}, {2, {8002, 8010}}, {2, {8003, 8011}}, {2, {8004, 8 012}}, {2, {8005, 8013}}, {2, {8017, 8025}}, {2, {8019, 8027}}, {2, {8021, 8029} }, {2, {8023, 8031}}, {2, {8032, 8040}}, {2, {8033, 8041}}, {2, {8034, 8042}}, { 2, {8035, 8043}}, {2, {8036, 8044}}, {2, {8037, 8045}}, {2, {8038, 8046}}, {2, { 8039, 8047}}, {2, {8048, 8122}}, {2, {8049, 8123}}, {2, {8050, 8136}}, {2, {8051 , 8137}}, {2, {8052, 8138}}, {2, {8053, 8139}}, {2, {8054, 8154}}, {2, {8055, 81 55}}, {2, {8056, 8184}}, {2, {8057, 8185}}, {2, {8058, 8170}}, {2, {8059, 8171}} , {2, {8060, 8186}}, {2, {8061, 8187}}, {2, {8112, 8120}}, {2, {8113, 8121}}, {2 , {921, 8126}}, {2, {8144, 8152}}, {2, {8145, 8153}}, {2, {8160, 8168}}, {2, {81 61, 8169}}, {2, {8165, 8172}}, {2, {8498, 8526}}, {2, {8544, 8560}}, {2, {8545, 8561}}, {2, {8546, 8562}}, {2, {8547, 8563}}, {2, {8548, 8564}}, {2, {8549, 8565 }}, {2, {8550, 8566}}, {2, {8551, 8567}}, {2, {8552, 8568}}, {2, {8553, 8569}}, {2, {8554, 8570}}, {2, {8555, 8571}}, {2, {8556, 8572}}, {2, {8557, 8573}}, {2, {8558, 8574}}, {2, {8559, 8575}}, {2, {8579, 8580}}, {2, {9398, 9424}}, {2, {939 9, 9425}}, {2, {9400, 9426}}, {2, {9401, 9427}}, {2, {9402, 9428}}, {2, {9403, 9 429}}, {2, {9404, 9430}}, {2, {9405, 9431}}, {2, {9406, 9432}}, {2, {9407, 9433} }, {2, {9408, 9434}}, {2, {9409, 9435}}, {2, {9410, 9436}}, {2, {9411, 9437}}, { 2, {9412, 9438}}, {2, {9413, 9439}}, {2, {9414, 9440}}, {2, {9415, 9441}}, {2, { 9416, 9442}}, {2, {9417, 9443}}, {2, {9418, 9444}}, {2, {9419, 9445}}, {2, {9420 , 9446}}, {2, {9421, 9447}}, {2, {9422, 9448}}, {2, {9423, 9449}}, {2, {11264, 1 1312}}, {2, {11265, 11313}}, {2, {11266, 11314}}, {2, {11267, 11315}}, {2, {1126 8, 11316}}, {2, {11269, 11317}}, {2, {11270, 11318}}, {2, {11271, 11319}}, {2, { 11272, 11320}}, {2, {11273, 11321}}, {2, {11274, 11322}}, {2, {11275, 11323}}, { 2, {11276, 11324}}, {2, {11277, 11325}}, {2, {11278, 11326}}, {2, {11279, 11327} }, {2, {11280, 11328}}, {2, {11281, 11329}}, {2, {11282, 11330}}, {2, {11283, 11 331}}, {2, {11284, 11332}}, {2, {11285, 11333}}, {2, {11286, 11334}}, {2, {11287 , 11335}}, {2, {11288, 11336}}, {2, {11289, 11337}}, {2, {11290, 11338}}, {2, {1 1291, 11339}}, {2, {11292, 11340}}, {2, {11293, 11341}}, {2, {11294, 11342}}, {2 , {11295, 11343}}, {2, {11296, 11344}}, {2, {11297, 11345}}, {2, {11298, 11346}} , {2, {11299, 11347}}, {2, {11300, 11348}}, {2, {11301, 11349}}, {2, {11302, 113 50}}, {2, {11303, 11351}}, {2, {11304, 11352}}, {2, {11305, 11353}}, {2, {11306, 11354}}, {2, {11307, 11355}}, {2, {11308, 11356}}, {2, {11309, 11357}}, {2, {11 310, 11358}}, {2, {11360, 11361}}, {2, {570, 11365}}, {2, {574, 11366}}, {2, {11 367, 11368}}, {2, {11369, 11370}}, {2, {11371, 11372}}, {2, {11381, 11382}}, {2, {11392, 11393}}, {2, {11394, 11395}}, {2, {11396, 11397}}, {2, {11398, 11399}}, {2, {11400, 11401}}, {2, {11402, 11403}}, {2, {11404, 11405}}, {2, {11406, 1140 7}}, {2, {11408, 11409}}, {2, {11410, 11411}}, {2, {11412, 11413}}, {2, {11414, 11415}}, {2, {11416, 11417}}, {2, {11418, 11419}}, {2, {11420, 11421}}, {2, {114 22, 11423}}, {2, {11424, 11425}}, {2, {11426, 11427}}, {2, {11428, 11429}}, {2, {11430, 11431}}, {2, {11432, 11433}}, {2, {11434, 11435}}, {2, {11436, 11437}}, {2, {11438, 11439}}, {2, {11440, 11441}}, {2, {11442, 11443}}, {2, {11444, 11445 }}, {2, {11446, 11447}}, {2, {11448, 11449}}, {2, {11450, 11451}}, {2, {11452, 1 1453}}, {2, {11454, 11455}}, {2, {11456, 11457}}, {2, {11458, 11459}}, {2, {1146 0, 11461}}, {2, {11462, 11463}}, {2, {11464, 11465}}, {2, {11466, 11467}}, {2, { 11468, 11469}}, {2, {11470, 11471}}, {2, {11472, 11473}}, {2, {11474, 11475}}, { 2, {11476, 11477}}, {2, {11478, 11479}}, {2, {11480, 11481}}, {2, {11482, 11483} }, {2, {11484, 11485}}, {2, {11486, 11487}}, {2, {11488, 11489}}, {2, {11490, 11 491}}, {2, {4256, 11520}}, {2, {4257, 11521}}, {2, {4258, 11522}}, {2, {4259, 11 523}}, {2, {4260, 11524}}, {2, {4261, 11525}}, {2, {4262, 11526}}, {2, {4263, 11 527}}, {2, {4264, 11528}}, {2, {4265, 11529}}, {2, {4266, 11530}}, {2, {4267, 11 531}}, {2, {4268, 11532}}, {2, {4269, 11533}}, {2, {4270, 11534}}, {2, {4271, 11 535}}, {2, {4272, 11536}}, {2, {4273, 11537}}, {2, {4274, 11538}}, {2, {4275, 11 539}}, {2, {4276, 11540}}, {2, {4277, 11541}}, {2, {4278, 11542}}, {2, {4279, 11 543}}, {2, {4280, 11544}}, {2, {4281, 11545}}, {2, {4282, 11546}}, {2, {4283, 11 547}}, {2, {4284, 11548}}, {2, {4285, 11549}}, {2, {4286, 11550}}, {2, {4287, 11 551}}, {2, {4288, 11552}}, {2, {4289, 11553}}, {2, {4290, 11554}}, {2, {4291, 11 555}}, {2, {4292, 11556}}, {2, {4293, 11557}}, {0, {0}} }; // NOLINT
665 static const uint16_t kEcma262UnCanonicalizeTable0Size = 837;
666 static const uint16_t kEcma262UnCanonicalizeTable0[1674] = { 97, 1, 98, 5, 99, 9 , 100, 13, 101, 17, 102, 21, 103, 25, 104, 29, 105, 33, 106, 37, 107, 41, 108, 4 5, 109, 49, 110, 53, 111, 57, 112, 61, 113, 65, 114, 69, 115, 73, 116, 77, 117, 81, 118, 85, 119, 89, 120, 93, 121, 97, 122, 101, 181, 105, 224, 109, 225, 113, 226, 117, 227, 121, 228, 125, 229, 129, 230, 133, 231, 137, 232, 141, 233, 145, 234, 149, 235, 153, 236, 157, 237, 161, 238, 165, 239, 169, 240, 173, 241, 177, 242, 181, 243, 185, 244, 189, 245, 193, 246, 197, 248, 201, 249, 205, 250, 209, 251, 213, 252, 217, 253, 221, 254, 225, 255, 229, 257, 233, 259, 237, 261, 241, 263, 245, 265, 249, 267, 253, 269, 257, 271, 261, 273, 265, 275, 269, 277, 273, 279, 277, 281, 281, 283, 285, 285, 289, 287, 293, 289, 297, 291, 301, 293, 305, 295, 309, 297, 313, 299, 317, 301, 321, 303, 325, 304, 329, 307, 333, 309, 337, 311, 341, 314, 345, 316, 349, 318, 353, 320, 357, 322, 361, 324, 365, 326, 369, 328, 373, 331, 377, 333, 381, 335, 385, 337, 389, 339, 393, 341, 397, 343, 401, 345, 405, 347, 409, 349, 413, 351, 417, 353, 421, 355, 425, 357, 429, 359, 433, 361, 437, 363, 441, 365, 445, 367, 449, 369, 453, 371, 457, 373, 461, 375, 465, 378, 469, 380, 473, 382, 477, 384, 481, 387, 485, 389, 489, 392, 493, 396, 497, 402, 501, 405, 505, 409, 509, 410, 513, 414, 517, 417, 521, 419, 525, 421, 529, 424, 533, 429, 537, 432, 541, 436, 545, 438, 549, 441, 553, 445, 557, 447, 561, 453, 565, 454, 569, 456, 573, 457, 577, 459, 581, 460, 585, 462, 589, 464, 593, 466, 597, 468, 601, 470, 605, 472, 609, 474, 613, 476, 617, 477, 621, 479, 625, 481, 629, 483, 633, 485, 637, 487, 641, 489, 645, 491, 649, 493, 653, 495, 657, 498, 661, 499, 665, 501, 669, 505, 673, 507, 677, 509, 681, 511, 685, 513, 689, 515, 693, 517, 697, 519, 701, 521, 705, 523, 709, 525, 713, 527, 717, 529, 721, 531, 725, 533, 729, 535, 733, 537, 737, 539, 741, 541, 745, 543, 749, 547, 753, 549, 757, 551, 761, 553, 765, 555, 769, 557, 773, 559, 777, 561, 781, 563, 785, 572, 789, 578, 793, 583, 797, 585, 801, 587, 805, 589, 809, 591, 813, 595, 817, 596, 821, 598, 825, 599, 829, 601, 833, 603, 837, 608, 841, 611, 845, 616, 849, 617, 853, 619, 857, 623, 861, 626, 865, 629, 869, 637, 873, 640, 877, 643, 881, 648, 885, 649, 889, 650, 893, 651, 897, 652, 901, 658, 905, 837, 909, 891, 913, 892, 917, 893, 921, 940, 925, 941, 929, 942, 933, 943, 937, 945, 941, 946, 945, 947, 949, 948, 953, 949, 957, 950, 961, 951, 965, 952, 969, 953, 973, 954, 977, 955, 981, 956, 985, 957, 989, 958, 993, 959, 997, 960, 1001, 961, 1005, 962, 100 9, 963, 1013, 964, 1017, 965, 1021, 966, 1025, 967, 1029, 968, 1033, 969, 1037, 970, 1041, 971, 1045, 972, 1049, 973, 1053, 974, 1057, 976, 1061, 977, 1065, 981 , 1069, 982, 1073, 985, 1077, 987, 1081, 989, 1085, 991, 1089, 993, 1093, 995, 1 097, 997, 1101, 999, 1105, 1001, 1109, 1003, 1113, 1005, 1117, 1007, 1121, 1008, 1125, 1009, 1129, 1010, 1133, 1013, 1137, 1016, 1141, 1019, 1145, 1072, 1149, 1 073, 1153, 1074, 1157, 1075, 1161, 1076, 1165, 1077, 1169, 1078, 1173, 1079, 117 7, 1080, 1181, 1081, 1185, 1082, 1189, 1083, 1193, 1084, 1197, 1085, 1201, 1086, 1205, 1087, 1209, 1088, 1213, 1089, 1217, 1090, 1221, 1091, 1225, 1092, 1229, 1 093, 1233, 1094, 1237, 1095, 1241, 1096, 1245, 1097, 1249, 1098, 1253, 1099, 125 7, 1100, 1261, 1101, 1265, 1102, 1269, 1103, 1273, 1104, 1277, 1105, 1281, 1106, 1285, 1107, 1289, 1108, 1293, 1109, 1297, 1110, 1301, 1111, 1305, 1112, 1309, 1 113, 1313, 1114, 1317, 1115, 1321, 1116, 1325, 1117, 1329, 1118, 1333, 1119, 133 7, 1121, 1341, 1123, 1345, 1125, 1349, 1127, 1353, 1129, 1357, 1131, 1361, 1133, 1365, 1135, 1369, 1137, 1373, 1139, 1377, 1141, 1381, 1143, 1385, 1145, 1389, 1 147, 1393, 1149, 1397, 1151, 1401, 1153, 1405, 1163, 1409, 1165, 1413, 1167, 141 7, 1169, 1421, 1171, 1425, 1173, 1429, 1175, 1433, 1177, 1437, 1179, 1441, 1181, 1445, 1183, 1449, 1185, 1453, 1187, 1457, 1189, 1461, 1191, 1465, 1193, 1469, 1 195, 1473, 1197, 1477, 1199, 1481, 1201, 1485, 1203, 1489, 1205, 1493, 1207, 149 7, 1209, 1501, 1211, 1505, 1213, 1509, 1215, 1513, 1218, 1517, 1220, 1521, 1222, 1525, 1224, 1529, 1226, 1533, 1228, 1537, 1230, 1541, 1231, 1545, 1233, 1549, 1 235, 1553, 1237, 1557, 1239, 1561, 1241, 1565, 1243, 1569, 1245, 1573, 1247, 157 7, 1249, 1581, 1251, 1585, 1253, 1589, 1255, 1593, 1257, 1597, 1259, 1601, 1261, 1605, 1263, 1609, 1265, 1613, 1267, 1617, 1269, 1621, 1271, 1625, 1273, 1629, 1 275, 1633, 1277, 1637, 1279, 1641, 1281, 1645, 1283, 1649, 1285, 1653, 1287, 165 7, 1289, 1661, 1291, 1665, 1293, 1669, 1295, 1673, 1297, 1677, 1299, 1681, 1377, 1685, 1378, 1689, 1379, 1693, 1380, 1697, 1381, 1701, 1382, 1705, 1383, 1709, 1 384, 1713, 1385, 1717, 1386, 1721, 1387, 1725, 1388, 1729, 1389, 1733, 1390, 173 7, 1391, 1741, 1392, 1745, 1393, 1749, 1394, 1753, 1395, 1757, 1396, 1761, 1397, 1765, 1398, 1769, 1399, 1773, 1400, 1777, 1401, 1781, 1402, 1785, 1403, 1789, 1 404, 1793, 1405, 1797, 1406, 1801, 1407, 1805, 1408, 1809, 1409, 1813, 1410, 181 7, 1411, 1821, 1412, 1825, 1413, 1829, 1414, 1833, 7549, 1837, 7681, 1841, 7683, 1845, 7685, 1849, 7687, 1853, 7689, 1857, 7691, 1861, 7693, 1865, 7695, 1869, 7 697, 1873, 7699, 1877, 7701, 1881, 7703, 1885, 7705, 1889, 7707, 1893, 7709, 189 7, 7711, 1901, 7713, 1905, 7715, 1909, 7717, 1913, 7719, 1917, 7721, 1921, 7723, 1925, 7725, 1929, 7727, 1933, 7729, 1937, 7731, 1941, 7733, 1945, 7735, 1949, 7 737, 1953, 7739, 1957, 7741, 1961, 7743, 1965, 7745, 1969, 7747, 1973, 7749, 197 7, 7751, 1981, 7753, 1985, 7755, 1989, 7757, 1993, 7759, 1997, 7761, 2001, 7763, 2005, 7765, 2009, 7767, 2013, 7769, 2017, 7771, 2021, 7773, 2025, 7775, 2029, 7 777, 2033, 7779, 2037, 7781, 2041, 7783, 2045, 7785, 2049, 7787, 2053, 7789, 205 7, 7791, 2061, 7793, 2065, 7795, 2069, 7797, 2073, 7799, 2077, 7801, 2081, 7803, 2085, 7805, 2089, 7807, 2093, 7809, 2097, 7811, 2101, 7813, 2105, 7815, 2109, 7 817, 2113, 7819, 2117, 7821, 2121, 7823, 2125, 7825, 2129, 7827, 2133, 7829, 213 7, 7835, 2141, 7841, 2145, 7843, 2149, 7845, 2153, 7847, 2157, 7849, 2161, 7851, 2165, 7853, 2169, 7855, 2173, 7857, 2177, 7859, 2181, 7861, 2185, 7863, 2189, 7 865, 2193, 7867, 2197, 7869, 2201, 7871, 2205, 7873, 2209, 7875, 2213, 7877, 221 7, 7879, 2221, 7881, 2225, 7883, 2229, 7885, 2233, 7887, 2237, 7889, 2241, 7891, 2245, 7893, 2249, 7895, 2253, 7897, 2257, 7899, 2261, 7901, 2265, 7903, 2269, 7 905, 2273, 7907, 2277, 7909, 2281, 7911, 2285, 7913, 2289, 7915, 2293, 7917, 229 7, 7919, 2301, 7921, 2305, 7923, 2309, 7925, 2313, 7927, 2317, 7929, 2321, 7936, 2325, 7937, 2329, 7938, 2333, 7939, 2337, 7940, 2341, 7941, 2345, 7942, 2349, 7 943, 2353, 7952, 2357, 7953, 2361, 7954, 2365, 7955, 2369, 7956, 2373, 7957, 237 7, 7968, 2381, 7969, 2385, 7970, 2389, 7971, 2393, 7972, 2397, 7973, 2401, 7974, 2405, 7975, 2409, 7984, 2413, 7985, 2417, 7986, 2421, 7987, 2425, 7988, 2429, 7 989, 2433, 7990, 2437, 7991, 2441, 8000, 2445, 8001, 2449, 8002, 2453, 8003, 245 7, 8004, 2461, 8005, 2465, 8017, 2469, 8019, 2473, 8021, 2477, 8023, 2481, 8032, 2485, 8033, 2489, 8034, 2493, 8035, 2497, 8036, 2501, 8037, 2505, 8038, 2509, 8 039, 2513, 8048, 2517, 8049, 2521, 8050, 2525, 8051, 2529, 8052, 2533, 8053, 253 7, 8054, 2541, 8055, 2545, 8056, 2549, 8057, 2553, 8058, 2557, 8059, 2561, 8060, 2565, 8061, 2569, 8112, 2573, 8113, 2577, 8126, 2581, 8144, 2585, 8145, 2589, 8 160, 2593, 8161, 2597, 8165, 2601, 8526, 2605, 8560, 2609, 8561, 2613, 8562, 261 7, 8563, 2621, 8564, 2625, 8565, 2629, 8566, 2633, 8567, 2637, 8568, 2641, 8569, 2645, 8570, 2649, 8571, 2653, 8572, 2657, 8573, 2661, 8574, 2665, 8575, 2669, 8 580, 2673, 9424, 2677, 9425, 2681, 9426, 2685, 9427, 2689, 9428, 2693, 9429, 269 7, 9430, 2701, 9431, 2705, 9432, 2709, 9433, 2713, 9434, 2717, 9435, 2721, 9436, 2725, 9437, 2729, 9438, 2733, 9439, 2737, 9440, 2741, 9441, 2745, 9442, 2749, 9 443, 2753, 9444, 2757, 9445, 2761, 9446, 2765, 9447, 2769, 9448, 2773, 9449, 277 7, 11312, 2781, 11313, 2785, 11314, 2789, 11315, 2793, 11316, 2797, 11317, 2801, 11318, 2805, 11319, 2809, 11320, 2813, 11321, 2817, 11322, 2821, 11323, 2825, 1 1324, 2829, 11325, 2833, 11326, 2837, 11327, 2841, 11328, 2845, 11329, 2849, 113 30, 2853, 11331, 2857, 11332, 2861, 11333, 2865, 11334, 2869, 11335, 2873, 11336 , 2877, 11337, 2881, 11338, 2885, 11339, 2889, 11340, 2893, 11341, 2897, 11342, 2901, 11343, 2905, 11344, 2909, 11345, 2913, 11346, 2917, 11347, 2921, 11348, 29 25, 11349, 2929, 11350, 2933, 11351, 2937, 11352, 2941, 11353, 2945, 11354, 2949 , 11355, 2953, 11356, 2957, 11357, 2961, 11358, 2965, 11361, 2969, 11365, 2973, 11366, 2977, 11368, 2981, 11370, 2985, 11372, 2989, 11382, 2993, 11393, 2997, 11 395, 3001, 11397, 3005, 11399, 3009, 11401, 3013, 11403, 3017, 11405, 3021, 1140 7, 3025, 11409, 3029, 11411, 3033, 11413, 3037, 11415, 3041, 11417, 3045, 11419, 3049, 11421, 3053, 11423, 3057, 11425, 3061, 11427, 3065, 11429, 3069, 11431, 3 073, 11433, 3077, 11435, 3081, 11437, 3085, 11439, 3089, 11441, 3093, 11443, 309 7, 11445, 3101, 11447, 3105, 11449, 3109, 11451, 3113, 11453, 3117, 11455, 3121, 11457, 3125, 11459, 3129, 11461, 3133, 11463, 3137, 11465, 3141, 11467, 3145, 1 1469, 3149, 11471, 3153, 11473, 3157, 11475, 3161, 11477, 3165, 11479, 3169, 114 81, 3173, 11483, 3177, 11485, 3181, 11487, 3185, 11489, 3189, 11491, 3193, 11520 , 3197, 11521, 3201, 11522, 3205, 11523, 3209, 11524, 3213, 11525, 3217, 11526, 3221, 11527, 3225, 11528, 3229, 11529, 3233, 11530, 3237, 11531, 3241, 11532, 32 45, 11533, 3249, 11534, 3253, 11535, 3257, 11536, 3261, 11537, 3265, 11538, 3269 , 11539, 3273, 11540, 3277, 11541, 3281, 11542, 3285, 11543, 3289, 11544, 3293, 11545, 3297, 11546, 3301, 11547, 3305, 11548, 3309, 11549, 3313, 11550, 3317, 11 551, 3321, 11552, 3325, 11553, 3329, 11554, 3333, 11555, 3337, 11556, 3341, 1155 7, 3345 }; // NOLINT
667 static const MultiCharacterSpecialCase kEcma262UnCanonicalizeMultiStrings1[] = { {2, {65313, 65345}}, {2, {65314, 65346}}, {2, {65315, 65347}}, {2, {65316, 6534 8}}, {2, {65317, 65349}}, {2, {65318, 65350}}, {2, {65319, 65351}}, {2, {65320, 65352}}, {2, {65321, 65353}}, {2, {65322, 65354}}, {2, {65323, 65355}}, {2, {653 24, 65356}}, {2, {65325, 65357}}, {2, {65326, 65358}}, {2, {65327, 65359}}, {2, {65328, 65360}}, {2, {65329, 65361}}, {2, {65330, 65362}}, {2, {65331, 65363}}, {2, {65332, 65364}}, {2, {65333, 65365}}, {2, {65334, 65366}}, {2, {65335, 65367 }}, {2, {65336, 65368}}, {2, {65337, 65369}}, {2, {65338, 65370}}, {0, {0}} }; / / NOLINT
668 static const uint16_t kEcma262UnCanonicalizeTable1Size = 26;
669 static const uint16_t kEcma262UnCanonicalizeTable1[52] = { 32577, 1, 32578, 5, 3 2579, 9, 32580, 13, 32581, 17, 32582, 21, 32583, 25, 32584, 29, 32585, 33, 32586 , 37, 32587, 41, 32588, 45, 32589, 49, 32590, 53, 32591, 57, 32592, 61, 32593, 6 5, 32594, 69, 32595, 73, 32596, 77, 32597, 81, 32598, 85, 32599, 89, 32600, 93, 32601, 97, 32602, 101 }; // NOLINT
670 static const MultiCharacterSpecialCase kEcma262UnCanonicalizeMultiStrings2[] = { {2, {66560, 66600}}, {2, {66561, 66601}}, {2, {66562, 66602}}, {2, {66563, 6660 3}}, {2, {66564, 66604}}, {2, {66565, 66605}}, {2, {66566, 66606}}, {2, {66567, 66607}}, {2, {66568, 66608}}, {2, {66569, 66609}}, {2, {66570, 66610}}, {2, {665 71, 66611}}, {2, {66572, 66612}}, {2, {66573, 66613}}, {2, {66574, 66614}}, {2, {66575, 66615}}, {2, {66576, 66616}}, {2, {66577, 66617}}, {2, {66578, 66618}}, {2, {66579, 66619}}, {2, {66580, 66620}}, {2, {66581, 66621}}, {2, {66582, 66622 }}, {2, {66583, 66623}}, {2, {66584, 66624}}, {2, {66585, 66625}}, {2, {66586, 6 6626}}, {2, {66587, 66627}}, {2, {66588, 66628}}, {2, {66589, 66629}}, {2, {6659 0, 66630}}, {2, {66591, 66631}}, {2, {66592, 66632}}, {2, {66593, 66633}}, {2, { 66594, 66634}}, {2, {66595, 66635}}, {2, {66596, 66636}}, {2, {66597, 66637}}, { 2, {66598, 66638}}, {2, {66599, 66639}}, {0, {0}} }; // NOLINT
671 static const uint16_t kEcma262UnCanonicalizeTable2Size = 40;
672 static const uint16_t kEcma262UnCanonicalizeTable2[80] = { 1064, 1, 1065, 5, 106 6, 9, 1067, 13, 1068, 17, 1069, 21, 1070, 25, 1071, 29, 1072, 33, 1073, 37, 1074 , 41, 1075, 45, 1076, 49, 1077, 53, 1078, 57, 1079, 61, 1080, 65, 1081, 69, 1082 , 73, 1083, 77, 1084, 81, 1085, 85, 1086, 89, 1087, 93, 1088, 97, 1089, 101, 109 0, 105, 1091, 109, 1092, 113, 1093, 117, 1094, 121, 1095, 125, 1096, 129, 1097, 133, 1098, 137, 1099, 141, 1100, 145, 1101, 149, 1102, 153, 1103, 157 }; // NOLI NT
673 int Ecma262UnCanonicalize::Convert(uchar c,
674 uchar n,
675 uchar* result,
676 bool* allow_caching_ptr) {
677 int chunk_index = c >> 15;
678 switch (chunk_index) {
679 case 0: return LookupMapping(kEcma262UnCanonicalizeTable0,
680 kEcma262UnCanonicalizeTable0Size,
681 kEcma262UnCanonicalizeMultiStrings0,
682 c,
683 n,
684 result,
685 allow_caching_ptr);
686 case 1: return LookupMapping(kEcma262UnCanonicalizeTable1,
687 kEcma262UnCanonicalizeTable1Size,
688 kEcma262UnCanonicalizeMultiStrings1,
689 c,
690 n,
691 result,
692 allow_caching_ptr);
693 case 2: return LookupMapping(kEcma262UnCanonicalizeTable2,
694 kEcma262UnCanonicalizeTable2Size,
695 kEcma262UnCanonicalizeMultiStrings2,
696 c,
697 n,
698 result,
699 allow_caching_ptr);
700 default: return 0;
701 }
702 }
703
809 704
810 uchar UnicodeData::kMaxCodePoint = 1114109; 705 uchar UnicodeData::kMaxCodePoint = 1114109;
811 706
812 int UnicodeData::GetByteCount() { 707 int UnicodeData::GetByteCount() {
813 return 0 + (sizeof(uint16_t) * kUppercaseTable0Size) + (sizeof(uint16_t) * kUp percaseTable1Size) + (sizeof(uint16_t) * kUppercaseTable2Size) + (sizeof(uint16_ t) * kUppercaseTable3Size) + (sizeof(uint16_t) * kLowercaseTable0Size) + (sizeof (uint16_t) * kLowercaseTable1Size) + (sizeof(uint16_t) * kLowercaseTable2Size) + (sizeof(uint16_t) * kLowercaseTable3Size) + (sizeof(uint16_t) * kLetterTable0Si ze) + (sizeof(uint16_t) * kLetterTable1Size) + (sizeof(uint16_t) * kLetterTable2 Size) + (sizeof(uint16_t) * kLetterTable3Size) + (sizeof(uint16_t) * kLetterTabl e4Size) + (sizeof(uint16_t) * kLetterTable5Size) + (sizeof(uint16_t) * kSpaceTab le0Size) + (sizeof(uint16_t) * kTitlecaseTable0Size) + (sizeof(uint16_t) * kNumb erTable0Size) + (sizeof(uint16_t) * kNumberTable1Size) + (sizeof(uint16_t) * kNu mberTable2Size) + (sizeof(uint16_t) * kNumberTable3Size) + (sizeof(uint16_t) * k DecimalDigitTable0Size) + (sizeof(uint16_t) * kDecimalDigitTable1Size) + (sizeof (uint16_t) * kDecimalDigitTable2Size) + (sizeof(uint16_t) * kDecimalDigitTable3S ize) + (sizeof(uint16_t) * kIdeographicTable0Size) + (sizeof(uint16_t) * kIdeogr aphicTable1Size) + (sizeof(uint16_t) * kIdeographicTable4Size) + (sizeof(uint16_ t) * kIdeographicTable5Size) + (sizeof(uint16_t) * kWhiteSpaceTable0Size) + (siz eof(uint16_t) * kHexDigitTable0Size) + (sizeof(uint16_t) * kHexDigitTable1Size) + (sizeof(uint16_t) * kAsciiHexDigitTable0Size) + (sizeof(uint16_t) * kBidiContr olTable0Size) + (sizeof(uint16_t) * kJoinControlTable0Size) + (sizeof(uint16_t) * kDashTable0Size) + (sizeof(uint16_t) * kDashTable1Size) + (sizeof(uint16_t) * kHyphenTable0Size) + (sizeof(uint16_t) * kHyphenTable1Size) + (sizeof(uint16_t) * kLineTerminatorTable0Size) + (sizeof(uint16_t) * kRegExpSpecialCharTable0Size) + (sizeof(uint16_t) * kCombiningMarkTable0Size) + (sizeof(uint16_t) * kCombinin gMarkTable1Size) + (sizeof(uint16_t) * kCombiningMarkTable2Size) + (sizeof(uint1 6_t) * kCombiningMarkTable3Size) + (sizeof(uint16_t) * kCombiningMarkTable28Size ) + (sizeof(uint16_t) * kConnectorPunctuationTable0Size) + (sizeof(uint16_t) * k ConnectorPunctuationTable1Size) + (sizeof(uint16_t) * kToLowercaseTable0Size) + (sizeof(uint16_t) * kToLowercaseTable1Size) + (sizeof(uint16_t) * kToLowercaseTa ble2Size) + (sizeof(uint16_t) * kToUppercaseTable0Size) + (sizeof(uint16_t) * kT oUppercaseTable1Size) + (sizeof(uint16_t) * kToUppercaseTable2Size); // NOLINT 708 return 0 + (sizeof(uint16_t) * kUppercaseTable0Size) + (sizeof(uint16_t) * kUp percaseTable1Size) + (sizeof(uint16_t) * kUppercaseTable2Size) + (sizeof(uint16_ t) * kUppercaseTable3Size) + (sizeof(uint16_t) * kLowercaseTable0Size) + (sizeof (uint16_t) * kLowercaseTable1Size) + (sizeof(uint16_t) * kLowercaseTable2Size) + (sizeof(uint16_t) * kLowercaseTable3Size) + (sizeof(uint16_t) * kLetterTable0Si ze) + (sizeof(uint16_t) * kLetterTable1Size) + (sizeof(uint16_t) * kLetterTable2 Size) + (sizeof(uint16_t) * kLetterTable3Size) + (sizeof(uint16_t) * kLetterTabl e4Size) + (sizeof(uint16_t) * kLetterTable5Size) + (sizeof(uint16_t) * kSpaceTab le0Size) + (sizeof(uint16_t) * kNumberTable0Size) + (sizeof(uint16_t) * kNumberT able1Size) + (sizeof(uint16_t) * kNumberTable2Size) + (sizeof(uint16_t) * kNumbe rTable3Size) + (sizeof(uint16_t) * kWhiteSpaceTable0Size) + (sizeof(uint16_t) * kLineTerminatorTable0Size) + (sizeof(uint16_t) * kCombiningMarkTable0Size) + (si zeof(uint16_t) * kCombiningMarkTable1Size) + (sizeof(uint16_t) * kCombiningMarkT able2Size) + (sizeof(uint16_t) * kCombiningMarkTable3Size) + (sizeof(uint16_t) * kCombiningMarkTable28Size) + (sizeof(uint16_t) * kConnectorPunctuationTable0Siz e) + (sizeof(uint16_t) * kConnectorPunctuationTable1Size) + (sizeof(uint16_t) * kToLowercaseTable0Size) + (sizeof(uint16_t) * kToLowercaseTable1Size) + (sizeof( uint16_t) * kToLowercaseTable2Size) + (sizeof(uint16_t) * kToUppercaseTable0Size ) + (sizeof(uint16_t) * kToUppercaseTable1Size) + (sizeof(uint16_t) * kToUpperca seTable2Size) + (sizeof(uint16_t) * kEcma262CanonicalizeTable0Size) + (sizeof(ui nt16_t) * kEcma262CanonicalizeTable1Size) + (sizeof(uint16_t) * kEcma262Canonica lizeTable2Size) + (sizeof(uint16_t) * kEcma262UnCanonicalizeTable0Size) + (sizeo f(uint16_t) * kEcma262UnCanonicalizeTable1Size) + (sizeof(uint16_t) * kEcma262Un CanonicalizeTable2Size); // NOLINT
814 } 709 }
815 710
816 } // namespace unicode 711 } // namespace unicode
OLDNEW
« no previous file with comments | « src/unicode.h ('k') | test/cctest/test-regexp.cc » ('j') | test/cctest/test-regexp.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698