~mmach/netext73/webkit2gtk

« back to all changes in this revision

Viewing changes to Source/ThirdParty/ANGLE/src/compiler/translator/ImmutableString_ESSL_autogen.cpp

  • Committer: mmach
  • Date: 2023-06-16 17:21:37 UTC
  • Revision ID: netbit73@gmail.com-20230616172137-2rqx6yr96ga9g3kp
1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// GENERATED FILE - DO NOT EDIT.
 
2
// Generated by gen_builtin_symbols.py using data from builtin_variables.json and
 
3
// builtin_function_declarations.txt.
 
4
//
 
5
// Copyright 2020 The ANGLE Project Authors. All rights reserved.
 
6
// Use of this source code is governed by a BSD-style license that can be
 
7
// found in the LICENSE file.
 
8
//
 
9
// ImmutableString_ESSL_autogen.cpp: Wrapper for static or pool allocated char arrays, that are
 
10
// guaranteed to be valid and unchanged for the duration of the compilation. Implements
 
11
// mangledNameHash using perfect hash function from gen_builtin_symbols.py
 
12
 
 
13
#include "compiler/translator/ImmutableString.h"
 
14
 
 
15
std::ostream &operator<<(std::ostream &os, const sh::ImmutableString &str)
 
16
{
 
17
    return os.write(str.data(), str.length());
 
18
}
 
19
 
 
20
#if defined(_MSC_VER)
 
21
#    pragma warning(disable : 4309)  // truncation of constant value
 
22
#endif
 
23
 
 
24
namespace
 
25
{
 
26
 
 
27
constexpr int mangledkT1[] = {843,  1411, 1006, 814, 1696, 1696, 363,  1756, 83,  206,
 
28
                              203,  679,  658,  7,   423,  1083, 728,  1753, 519, 221,
 
29
                              22,   265,  1927, 702, 1552, 623,  1283, 1185, 527, 570,
 
30
                              1194, 1669, 842,  353, 1512, 58,   1640};
 
31
constexpr int mangledkT2[] = {908,  1530, 528,  154,  570,  249,  1822, 24,   154,  1693,
 
32
                              337,  1383, 664,  955,  1965, 1327, 501,  1141, 1305, 1740,
 
33
                              72,   215,  1441, 1626, 325,  299,  986,  1478, 1188, 1623,
 
34
                              1858, 179,  1589, 1247, 1628, 1890, 471};
 
35
constexpr int mangledkG[]  = {
 
36
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
37
    0,    966,  0,    0,    0,    0,    0,    0,    170,  448,  0,    0,    0,    0,    0,    0,
 
38
    0,    0,    0,    1479, 0,    0,    0,    200,  0,    0,    0,    0,    0,    0,    0,    0,
 
39
    0,    0,    1139, 0,    0,    376,  0,    0,    0,    0,    0,    0,    744,  0,    0,    0,
 
40
    0,    0,    0,    0,    1888, 0,    1668, 0,    0,    0,    0,    0,    0,    616,  0,    0,
 
41
    0,    0,    0,    0,    0,    852,  0,    0,    0,    0,    814,  0,    0,    0,    0,    0,
 
42
    0,    0,    0,    8,    0,    0,    149,  0,    0,    0,    0,    0,    0,    0,    789,  113,
 
43
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    242,  0,    0,    0,
 
44
    0,    0,    0,    0,    0,    0,    0,    0,    0,    1554, 0,    0,    997,  0,    0,    0,
 
45
    0,    1872, 0,    0,    0,    0,    786,  0,    0,    0,    1121, 0,    748,  0,    0,    409,
 
46
    0,    501,  147,  0,    0,    656,  0,    0,    335,  1603, 274,  0,    1328, 0,    0,    0,
 
47
    0,    0,    355,  0,    0,    0,    910,  0,    0,    248,  845,  0,    0,    0,    1110, 82,
 
48
    0,    1701, 0,    0,    0,    0,    563,  0,    0,    817,  1696, 0,    0,    305,  0,    0,
 
49
    0,    387,  998,  0,    0,    0,    0,    0,    0,    0,    0,    785,  0,    1944, 0,    0,
 
50
    0,    0,    0,    1821, 0,    190,  0,    1830, 0,    0,    0,    0,    0,    0,    0,    0,
 
51
    757,  0,    0,    1891, 0,    0,    29,   143,  0,    1979, 1949, 832,  226,  0,    1872, 0,
 
52
    0,    0,    0,    0,    1716, 0,    1190, 0,    1750, 0,    0,    0,    0,    0,    0,    0,
 
53
    431,  292,  0,    0,    1489, 82,   0,    0,    0,    0,    0,    967,  0,    0,    585,  0,
 
54
    0,    1955, 0,    0,    0,    1646, 670,  0,    0,    0,    0,    398,  0,    313,  0,    0,
 
55
    0,    653,  0,    0,    0,    557,  669,  0,    206,  15,   536,  0,    639,  0,    1310, 0,
 
56
    0,    354,  0,    1887, 0,    0,    1875, 0,    0,    0,    0,    0,    1827, 498,  0,    402,
 
57
    1223, 0,    698,  0,    0,    0,    0,    0,    0,    875,  119,  0,    0,    1635, 1313, 0,
 
58
    870,  0,    0,    0,    0,    0,    0,    744,  89,   0,    0,    0,    345,  964,  0,    438,
 
59
    18,   0,    0,    0,    807,  0,    0,    0,    1669, 0,    0,    0,    0,    1568, 772,  0,
 
60
    522,  926,  0,    923,  0,    0,    0,    0,    1889, 0,    513,  1222, 0,    0,    0,    0,
 
61
    0,    0,    0,    485,  960,  0,    1151, 518,  1202, 0,    0,    7,    0,    0,    1073, 1870,
 
62
    530,  1492, 0,    1854, 0,    0,    326,  0,    0,    665,  1378, 311,  0,    0,    368,  0,
 
63
    0,    122,  1743, 603,  0,    0,    0,    0,    0,    509,  214,  0,    6,    0,    0,    130,
 
64
    938,  1942, 0,    184,  714,  0,    0,    0,    93,   0,    739,  307,  0,    1696, 530,  0,
 
65
    0,    1258, 184,  958,  61,   472,  614,  1953, 0,    1320, 573,  0,    0,    0,    266,  749,
 
66
    0,    441,  845,  805,  0,    441,  570,  0,    0,    0,    0,    89,   718,  187,  748,  35,
 
67
    0,    0,    0,    794,  1993, 0,    149,  0,    0,    592,  0,    0,    1431, 0,    430,  1479,
 
68
    0,    48,   894,  172,  0,    89,   0,    864,  1975, 0,    337,  672,  0,    1738, 0,    1653,
 
69
    0,    139,  0,    690,  0,    0,    0,    813,  0,    1368, 395,  145,  15,   0,    344,  44,
 
70
    0,    0,    0,    211,  0,    0,    0,    634,  1346, 444,  0,    0,    0,    678,  0,    1692,
 
71
    366,  0,    0,    0,    0,    0,    0,    0,    0,    0,    652,  0,    381,  406,  0,    0,
 
72
    0,    0,    547,  1985, 353,  0,    0,    0,    1369, 35,   0,    876,  1803, 0,    206,  0,
 
73
    0,    0,    530,  119,  0,    0,    1714, 207,  0,    0,    0,    0,    0,    0,    0,    0,
 
74
    0,    0,    0,    0,    0,    0,    277,  1660, 0,    695,  0,    1978, 632,  0,    0,    0,
 
75
    0,    0,    0,    0,    0,    0,    711,  0,    1667, 0,    621,  0,    696,  0,    0,    14,
 
76
    725,  0,    512,  0,    459,  713,  34,   0,    0,    883,  0,    1270, 3,    0,    0,    999,
 
77
    0,    947,  679,  0,    0,    0,    0,    1700, 164,  0,    0,    0,    0,    1901, 269,  0,
 
78
    1888, 927,  1815, 0,    1998, 401,  591,  0,    1976, 0,    957,  253,  132,  0,    0,    0,
 
79
    8,    0,    0,    1854, 1447, 229,  0,    363,  1554, 253,  38,   1712, 0,    0,    33,   0,
 
80
    207,  0,    1916, 0,    0,    840,  1651, 0,    213,  0,    489,  57,   0,    0,    0,    820,
 
81
    612,  715,  0,    0,    1252, 0,    0,    0,    220,  1876, 0,    121,  31,   120,  196,  0,
 
82
    867,  924,  1468, 1884, 752,  842,  0,    0,    89,   1951, 11,   0,    329,  1626, 0,    0,
 
83
    0,    0,    731,  0,    0,    487,  0,    0,    1688, 0,    1368, 0,    210,  1616, 1384, 0,
 
84
    1458, 1448, 0,    0,    0,    0,    1076, 380,  184,  344,  0,    405,  248,  0,    0,    0,
 
85
    1368, 820,  517,  0,    0,    190,  1077, 585,  0,    364,  0,    0,    127,  45,   17,   0,
 
86
    0,    0,    0,    4,    0,    1207, 0,    0,    317,  552,  444,  432,  367,  0,    0,    0,
 
87
    0,    320,  311,  554,  0,    443,  1054, 0,    0,    0,    1849, 0,    0,    633,  1437, 0,
 
88
    876,  484,  0,    0,    0,    0,    0,    48,   0,    0,    1926, 718,  0,    0,    0,    164,
 
89
    0,    0,    544,  1784, 800,  0,    0,    1562, 0,    565,  0,    0,    0,    0,    0,    0,
 
90
    0,    0,    905,  798,  0,    1170, 0,    0,    0,    1551, 407,  0,    0,    0,    929,  0,
 
91
    0,    986,  0,    1409, 0,    1999, 1142, 1178, 1042, 114,  0,    0,    362,  964,  56,   0,
 
92
    232,  0,    0,    0,    702,  1561, 0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
93
    1450, 851,  0,    0,    0,    1878, 1635, 0,    1756, 376,  0,    417,  0,    1676, 630,  0,
 
94
    21,   920,  108,  1679, 0,    1770, 160,  0,    829,  1828, 0,    0,    0,    464,  1067, 0,
 
95
    1607, 322,  727,  12,   0,    0,    618,  0,    287,  0,    0,    0,    240,  1593, 531,  449,
 
96
    810,  0,    0,    0,    0,    0,    551,  0,    733,  0,    0,    283,  1796, 0,    192,  0,
 
97
    0,    559,  1213, 0,    0,    0,    0,    204,  146,  28,   236,  1875, 0,    680,  0,    761,
 
98
    410,  0,    0,    0,    934,  638,  0,    0,    849,  0,    1286, 81,   0,    928,  1931, 0,
 
99
    1762, 0,    1485, 1203, 1771, 0,    478,  50,   159,  382,  0,    824,  0,    0,    216,  0,
 
100
    347,  0,    0,    0,    0,    446,  925,  0,    295,  1874, 0,    1142, 0,    0,    908,  0,
 
101
    419,  0,    1394, 80,   0,    0,    1697, 0,    415,  0,    0,    1691, 0,    0,    0,    0,
 
102
    0,    0,    360,  0,    0,    200,  77,   726,  284,  1501, 483,  0,    0,    0,    0,    0,
 
103
    164,  667,  664,  586,  578,  1911, 99,   1737, 0,    0,    950,  0,    361,  0,    0,    0,
 
104
    23,   0,    0,    219,  1677, 0,    462,  0,    0,    0,    0,    732,  54,   248,  548,  1738,
 
105
    0,    0,    0,    0,    0,    0,    308,  0,    0,    0,    274,  0,    0,    0,    123,  0,
 
106
    0,    665,  670,  468,  747,  0,    906,  1407, 0,    257,  1439, 858,  85,   404,  269,  1783,
 
107
    858,  774,  115,  0,    0,    0,    321,  1625, 1621, 298,  0,    224,  0,    0,    369,  707,
 
108
    881,  534,  822,  0,    0,    1794, 488,  0,    0,    0,    655,  743,  0,    965,  472,  1548,
 
109
    564,  0,    0,    306,  1205, 1759, 0,    789,  0,    962,  0,    0,    583,  359,  0,    0,
 
110
    0,    0,    823,  1986, 615,  1120, 257,  709,  0,    0,    0,    1748, 0,    233,  0,    0,
 
111
    0,    0,    0,    1700, 0,    0,    560,  855,  219,  165,  0,    0,    52,   0,    413,  360,
 
112
    0,    0,    0,    0,    722,  126,  231,  0,    0,    0,    808,  0,    0,    0,    0,    0,
 
113
    1487, 1953, 1706, 1474, 0,    1126, 1429, 1790, 0,    659,  0,    0,    1369, 40,   1193, 185,
 
114
    0,    1141, 0,    255,  0,    0,    0,    0,    1671, 0,    0,    1131, 242,  0,    732,  0,
 
115
    0,    0,    1746, 0,    1681, 0,    1505, 0,    0,    0,    515,  0,    0,    0,    1288, 0,
 
116
    343,  0,    0,    0,    217,  0,    88,   1921, 0,    0,    0,    0,    832,  941,  0,    0,
 
117
    180,  0,    161,  0,    0,    153,  233,  0,    700,  0,    205,  209,  1267, 0,    1502, 159,
 
118
    0,    0,    1886, 6,    0,    0,    1809, 0,    126,  1572, 613,  1901, 0,    348,  1853, 0,
 
119
    0,    285,  1081, 0,    1324, 0,    1659, 922,  0,    1622, 0,    0,    464,  229,  913,  0,
 
120
    1136, 335,  248,  0,    138,  0,    0,    0,    393,  0,    779,  820,  144,  0,    0,    531,
 
121
    1,    0,    0,    0,    0,    0,    1833, 1993, 1902, 0,    0,    912,  0,    0,    332,  331,
 
122
    0,    328,  776,  1931, 0,    0,    0,    450,  1837, 0,    0,    0,    158,  0,    411,  0,
 
123
    549,  413,  0,    0,    0,    0,    624,  1412, 0,    0,    353,  361,  0,    1615, 1557, 445,
 
124
    0,    0,    78,   107,  402,  0,    0,    0,    1767, 0,    1709, 600,  0,    735,  810,  0,
 
125
    0,    0,    414,  1102, 193,  224,  0,    0,    0,    431,  1000, 701,  454,  312,  702,  849,
 
126
    224,  1853, 0,    811,  1459, 499,  0,    880,  562,  66,   0,    1520, 0,    0,    0,    0,
 
127
    730,  0,    0,    1189, 590,  404,  0,    0,    0,    210,  136,  0,    0,    687,  789,  256,
 
128
    0,    630,  626,  0,    364,  0,    314,  0,    0,    638,  1645, 0,    1697, 1740, 0,    0,
 
129
    87,   15,   381,  370,  27,   0,    564,  557,  1655, 257,  48,   0,    902,  269,  239,  0,
 
130
    1726, 1214, 1464, 292,  1055, 65,   275,  451,  0,    0,    0,    0,    848,  414,  246,  716,
 
131
    31,   0,    0,    0,    119,  658,  0,    474,  0,    1004, 127,  825,  592,  240,  1249, 0,
 
132
    0,    0,    766,  0,    558,  0,    1656, 0,    1360, 0,    1913, 0,    50,   0,    0,    129,
 
133
    229,  0,    0,    130,  0,    371,  550,  0,    535,  0,    911,  0,    456,  835,  0,    238,
 
134
    0,    878,  0,    617,  0,    810,  1839, 138,  1161, 1347, 0,    906,  214,  265,  0,    796,
 
135
    556,  876,  1852, 262,  1649, 358,  713,  934,  0,    0,    237,  258,  575,  106,  0,    0,
 
136
    821,  1088, 826,  0,    0,    516,  384,  0,    1747, 0,    1397, 808,  366,  0,    252,  145,
 
137
    752,  49,   0,    1976, 521,  0,    0,    1076, 180,  799,  1930, 14,   1046, 510,  0,    0,
 
138
    137,  0,    0,    0,    481,  0,    704,  366,  0,    0,    0,    681,  379,  0,    0,    692,
 
139
    479,  0,    0,    0,    0,    0,    891,  0,    1401, 684,  561,  0,    698,  0,    512,  1930,
 
140
    0,    286,  1460, 0,    0,    0,    614,  0,    563,  0,    0,    0,    0,    0,    0,    730,
 
141
    844,  1220, 0,    124,  605,  1049, 1739, 20,   194,  0,    100,  0,    0,    0,    24,   0,
 
142
    0,    805,  129,  22,   1910, 425,  1857, 530,  870,  243,  0,    590,  492,  850,  1783, 497,
 
143
    1967, 0,    1693, 348,  0,    0,    0,    86,   0,    1698, 799,  677,  48,   0,    0,    0,
 
144
    566,  0,    102,  793,  0,    60,   905,  0,    0,    251,  672,  342,  194,  0,    685,  439,
 
145
    1509, 0,    764,  0,    0,    1277, 0,    1528, 0,    1633, 176,  0,    766,  0,    200,  0,
 
146
    1746, 380,  1014, 288,  1907, 0,    553,  0,    0,    0,    1736, 1607, 0,    0,    21,   615,
 
147
    0,    860,  750,  0,    0,    369,  451,  0,    1993, 669,  123,  0,    0,    841,  96,   1793,
 
148
    0,    964,  153,  595,  192,  0,    583,  666,  0,    0,    0,    0,    280,  27,   0,    0,
 
149
    375,  0,    469,  0,    0,    0,    1594, 595,  1949, 0,    0,    356,  1885, 359,  447,  0,
 
150
    589,  226,  1785, 1298, 0,    480,  0,    0,    0,    1364, 250,  832,  0,    600,  0,    804,
 
151
    234,  149,  395,  0,    0,    188,  1499, 366,  594,  152,  0,    728,  1960, 1824, 0,    0,
 
152
    0,    1413, 401,  620,  0,    1125, 0,    509,  790,  0,    273,  0,    305,  1016, 1409, 0,
 
153
    0,    856,  325,  375,  1609, 0,    317,  788,  375,  0,    0,    379,  1693, 0,    0,    1462,
 
154
    165,  874,  1997, 420,  0,    459,  228,  0,    0,    0,    0,    0,    0,    0,    836,  0,
 
155
    1992, 1922, 0,    849,  0,    1610, 345,  437,  0,    739,  643,  289,  0,    0,    867,  366,
 
156
    0,    1999, 660,  15,   0,    0,    555,  0,    0,    0,    1248, 420,  0,    0,    511,  353,
 
157
    469,  1877, 440,  0,    0,    1960, 755,  819,  426,  814,  92,   0,    1362, 0,    723,  709,
 
158
    1410, 70,   0,    854,  252,  632,  99,   1748, 381,  882,  0,    679,  0,    255,  197,  1000,
 
159
    0,    0,    1584, 1473, 84,   0,    6,    0,    878,  1098, 0,    335,  254,  461,  0,    86,
 
160
    0,    66,   0,    610,  385,  1782, 0,    0,    405,  0,    1872, 0,    1705, 0,    516,  1748};
 
161
 
 
162
int MangledHashG(const char *key, const int *T)
 
163
{
 
164
    int sum = 0;
 
165
 
 
166
    for (int i = 0; key[i] != '\0'; i++)
 
167
    {
 
168
        sum += T[i] * key[i];
 
169
        sum %= 2000;
 
170
    }
 
171
    return mangledkG[sum];
 
172
}
 
173
 
 
174
int MangledPerfectHash(const char *key)
 
175
{
 
176
    if (strlen(key) > 37)
 
177
        return 0;
 
178
 
 
179
    return (MangledHashG(key, mangledkT1) + MangledHashG(key, mangledkT2)) % 2000;
 
180
}
 
181
 
 
182
constexpr int unmangledkT1[] = {106, 74, 160, 233, 129, 60, 173, 200, 22,  250, 77,  232, 216,
 
183
                                212, 46, 117, 211, 120, 41, 5,   26,  229, 270, 162, 1,   143};
 
184
constexpr int unmangledkT2[] = {115, 145, 241, 228, 32,  82,  122, 36, 100, 26, 40,  279, 197,
 
185
                                70,  264, 76,  72,  204, 184, 115, 8,  56,  64, 272, 72,  217};
 
186
constexpr int unmangledkG[]  = {
 
187
    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   227, 0,   0,
 
188
    61,  242, 0,   17,  0,   0,   0,   0,   0,   0,   53,  0,   0,   0,   0,   0,   0,   0,   259,
 
189
    99,  0,   0,   0,   139, 0,   174, 4,   0,   0,   120, 0,   0,   83,  83,  280, 0,   51,  119,
 
190
    44,  0,   0,   0,   0,   212, 0,   0,   125, 240, 79,  42,  0,   224, 268, 0,   165, 120, 168,
 
191
    87,  0,   0,   0,   0,   261, 143, 0,   132, 0,   101, 235, 57,  24,  92,  0,   94,  55,  95,
 
192
    0,   85,  189, 257, 0,   280, 0,   0,   0,   0,   0,   217, 0,   39,  0,   62,  0,   215, 166,
 
193
    0,   182, 13,  0,   243, 121, 110, 228, 239, 84,  0,   0,   0,   0,   160, 9,   0,   0,   0,
 
194
    90,  89,  0,   0,   72,  105, 215, 211, 230, 0,   0,   0,   0,   0,   0,   0,   77,  0,   132,
 
195
    90,  133, 156, 249, 0,   0,   0,   40,  72,  254, 0,   131, 12,  0,   0,   0,   48,  0,   268,
 
196
    0,   0,   116, 182, 80,  0,   2,   131, 133, 0,   0,   0,   47,  0,   0,   114, 129, 0,   0,
 
197
    116, 6,   0,   251, 152, 0,   81,  30,  0,   128, 0,   175, 189, 0,   142, 182, 60,  238, 0,
 
198
    29,  0,   54,  0,   0,   0,   22,  58,  0,   9,   240, 16,  14,  69,  0,   151, 0,   274, 180,
 
199
    18,  188, 2,   3,   217, 91,  0,   3,   200, 125, 0,   21,  51,  0,   0,   21,  68,  136, 0,
 
200
    0,   110, 166, 101, 148, 53,  201, 59,  93,  0,   109, 173, 214, 239, 0,   262, 50,  0,   256,
 
201
    218, 269, 96,  263, 48,  223, 52,  144, 0,   84,  0,   0,   204, 277, 0};
 
202
 
 
203
int UnmangledHashG(const char *key, const int *T)
 
204
{
 
205
    int sum = 0;
 
206
 
 
207
    for (int i = 0; key[i] != '\0'; i++)
 
208
    {
 
209
        sum += T[i] * key[i];
 
210
        sum %= 281;
 
211
    }
 
212
    return unmangledkG[sum];
 
213
}
 
214
 
 
215
int UnmangledPerfectHash(const char *key)
 
216
{
 
217
    if (strlen(key) > 26)
 
218
        return 0;
 
219
 
 
220
    return (UnmangledHashG(key, unmangledkT1) + UnmangledHashG(key, unmangledkT2)) % 281;
 
221
}
 
222
 
 
223
}  // namespace
 
224
 
 
225
namespace sh
 
226
{
 
227
 
 
228
template <>
 
229
const size_t ImmutableString::FowlerNollVoHash<4>::kFnvPrime = 16777619u;
 
230
 
 
231
template <>
 
232
const size_t ImmutableString::FowlerNollVoHash<4>::kFnvOffsetBasis = 0x811c9dc5u;
 
233
 
 
234
template <>
 
235
const size_t ImmutableString::FowlerNollVoHash<8>::kFnvPrime =
 
236
    static_cast<size_t>(1099511628211ull);
 
237
 
 
238
template <>
 
239
const size_t ImmutableString::FowlerNollVoHash<8>::kFnvOffsetBasis =
 
240
    static_cast<size_t>(0xcbf29ce484222325ull);
 
241
 
 
242
uint32_t ImmutableString::mangledNameHash() const
 
243
{
 
244
    return MangledPerfectHash(data());
 
245
}
 
246
 
 
247
uint32_t ImmutableString::unmangledNameHash() const
 
248
{
 
249
    return UnmangledPerfectHash(data());
 
250
}
 
251
 
 
252
}  // namespace sh