1/*
2 * Copyright (c) 2014, 2015, 2016, 2019 Apple Inc. All rights reserved.
3 * Copyright (c) 2014, 2017 -2017 Apple Inc. All rights reserved.
4 * Copyright (c) 2015 Andy VanWagoner <[email protected]>.
5 * Copyright (c) 2015 Jordan Harband. All rights reserved.
6 * Copyright (c) 2015, 2016 -2016 Apple Inc. All rights reserved.
7 * Copyright (c) 2015, 2016 -2016 Yusuke Suzuki <[email protected]>.
8 * Copyright (c) 2015, 2016, 2017 Yusuke Suzuki <[email protected]>.
9 * Copyright (c) 2016 Caitlin Potter <[email protected]>.
10 * Copyright (c) 2016 Yusuke Suzuki <[email protected]>
11 * Copyright (c) 2016, 2017 -2017 Yusuke Suzuki <[email protected]>.
12 * Copyright (c) 2016, 2017, 2018 Oleksandr Skachkov <[email protected]>.
13 * Copyright (c) 2016, 2018 -2018 Apple Inc. All rights reserved.
14 * Copyright (c) 2016, 2019 -2019 Apple Inc. All rights reserved.
15 * Copyright (c) 2017 Caio Lima <[email protected]>.
16 * Copyright (c) 2018 Yusuke Suzuki <[email protected]>.
17 * Copyright (c) 2019 Alexey Shvayka <[email protected]>.
18 *
19 * Redistribution and use in source and binary forms, with or without
20 * modification, are permitted provided that the following conditions
21 * are met:
22 * 1. Redistributions of source code must retain the above copyright
23 * notice, this list of conditions and the following disclaimer.
24 * 2. Redistributions in binary form must reproduce the above copyright
25 * notice, this list of conditions and the following disclaimer in the
26 * documentation and/or other materials provided with the distribution.
27 *
28 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
29 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
32 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
33 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
34 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
35 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
36 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
37 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
38 * THE POSSIBILITY OF SUCH DAMAGE.
39 *
40 */
41
42// DO NOT EDIT THIS FILE. It is automatically generated from JavaScript files for
43// builtins by the script: Source/JavaScriptCore/Scripts/generate-js-builtins.py
44
45#pragma once
46
47namespace JSC {
48class FunctionExecutable;
49class VM;
50
51enum class ConstructAbility : uint8_t;
52enum class ConstructorKind : uint8_t;
53}
54
55namespace JSC {
56
57extern const char s_JSCCombinedCode[];
58
59extern const unsigned s_JSCCombinedCodeLength;
60
61/* ArrayConstructor */
62extern const char* const s_arrayConstructorOfCode;
63extern const int s_arrayConstructorOfCodeLength;
64extern const JSC::ConstructAbility s_arrayConstructorOfCodeConstructAbility;
65extern const JSC::ConstructorKind s_arrayConstructorOfCodeConstructorKind;
66extern const char* const s_arrayConstructorFromCode;
67extern const int s_arrayConstructorFromCodeLength;
68extern const JSC::ConstructAbility s_arrayConstructorFromCodeConstructAbility;
69extern const JSC::ConstructorKind s_arrayConstructorFromCodeConstructorKind;
70extern const char* const s_arrayConstructorIsArrayCode;
71extern const int s_arrayConstructorIsArrayCodeLength;
72extern const JSC::ConstructAbility s_arrayConstructorIsArrayCodeConstructAbility;
73extern const JSC::ConstructorKind s_arrayConstructorIsArrayCodeConstructorKind;
74
75#define JSC_FOREACH_ARRAYCONSTRUCTOR_BUILTIN_DATA(macro) \
76 macro(of, arrayConstructorOf, 0) \
77 macro(from, arrayConstructorFrom, 1) \
78 macro(isArray, arrayConstructorIsArray, 1) \
79
80/* ArrayIteratorPrototype */
81extern const char* const s_arrayIteratorPrototypeNextCode;
82extern const int s_arrayIteratorPrototypeNextCodeLength;
83extern const JSC::ConstructAbility s_arrayIteratorPrototypeNextCodeConstructAbility;
84extern const JSC::ConstructorKind s_arrayIteratorPrototypeNextCodeConstructorKind;
85extern const char* const s_arrayIteratorPrototypeArrayIteratorValueNextCode;
86extern const int s_arrayIteratorPrototypeArrayIteratorValueNextCodeLength;
87extern const JSC::ConstructAbility s_arrayIteratorPrototypeArrayIteratorValueNextCodeConstructAbility;
88extern const JSC::ConstructorKind s_arrayIteratorPrototypeArrayIteratorValueNextCodeConstructorKind;
89extern const char* const s_arrayIteratorPrototypeArrayIteratorKeyNextCode;
90extern const int s_arrayIteratorPrototypeArrayIteratorKeyNextCodeLength;
91extern const JSC::ConstructAbility s_arrayIteratorPrototypeArrayIteratorKeyNextCodeConstructAbility;
92extern const JSC::ConstructorKind s_arrayIteratorPrototypeArrayIteratorKeyNextCodeConstructorKind;
93extern const char* const s_arrayIteratorPrototypeArrayIteratorKeyValueNextCode;
94extern const int s_arrayIteratorPrototypeArrayIteratorKeyValueNextCodeLength;
95extern const JSC::ConstructAbility s_arrayIteratorPrototypeArrayIteratorKeyValueNextCodeConstructAbility;
96extern const JSC::ConstructorKind s_arrayIteratorPrototypeArrayIteratorKeyValueNextCodeConstructorKind;
97
98#define JSC_FOREACH_ARRAYITERATORPROTOTYPE_BUILTIN_DATA(macro) \
99 macro(next, arrayIteratorPrototypeNext, 0) \
100 macro(arrayIteratorValueNext, arrayIteratorPrototypeArrayIteratorValueNext, 0) \
101 macro(arrayIteratorKeyNext, arrayIteratorPrototypeArrayIteratorKeyNext, 0) \
102 macro(arrayIteratorKeyValueNext, arrayIteratorPrototypeArrayIteratorKeyValueNext, 0) \
103
104/* ArrayPrototype */
105extern const char* const s_arrayPrototypeArrayIteratorConstructorCode;
106extern const int s_arrayPrototypeArrayIteratorConstructorCodeLength;
107extern const JSC::ConstructAbility s_arrayPrototypeArrayIteratorConstructorCodeConstructAbility;
108extern const JSC::ConstructorKind s_arrayPrototypeArrayIteratorConstructorCodeConstructorKind;
109extern const char* const s_arrayPrototypeValuesCode;
110extern const int s_arrayPrototypeValuesCodeLength;
111extern const JSC::ConstructAbility s_arrayPrototypeValuesCodeConstructAbility;
112extern const JSC::ConstructorKind s_arrayPrototypeValuesCodeConstructorKind;
113extern const char* const s_arrayPrototypeKeysCode;
114extern const int s_arrayPrototypeKeysCodeLength;
115extern const JSC::ConstructAbility s_arrayPrototypeKeysCodeConstructAbility;
116extern const JSC::ConstructorKind s_arrayPrototypeKeysCodeConstructorKind;
117extern const char* const s_arrayPrototypeEntriesCode;
118extern const int s_arrayPrototypeEntriesCodeLength;
119extern const JSC::ConstructAbility s_arrayPrototypeEntriesCodeConstructAbility;
120extern const JSC::ConstructorKind s_arrayPrototypeEntriesCodeConstructorKind;
121extern const char* const s_arrayPrototypeReduceCode;
122extern const int s_arrayPrototypeReduceCodeLength;
123extern const JSC::ConstructAbility s_arrayPrototypeReduceCodeConstructAbility;
124extern const JSC::ConstructorKind s_arrayPrototypeReduceCodeConstructorKind;
125extern const char* const s_arrayPrototypeReduceRightCode;
126extern const int s_arrayPrototypeReduceRightCodeLength;
127extern const JSC::ConstructAbility s_arrayPrototypeReduceRightCodeConstructAbility;
128extern const JSC::ConstructorKind s_arrayPrototypeReduceRightCodeConstructorKind;
129extern const char* const s_arrayPrototypeEveryCode;
130extern const int s_arrayPrototypeEveryCodeLength;
131extern const JSC::ConstructAbility s_arrayPrototypeEveryCodeConstructAbility;
132extern const JSC::ConstructorKind s_arrayPrototypeEveryCodeConstructorKind;
133extern const char* const s_arrayPrototypeForEachCode;
134extern const int s_arrayPrototypeForEachCodeLength;
135extern const JSC::ConstructAbility s_arrayPrototypeForEachCodeConstructAbility;
136extern const JSC::ConstructorKind s_arrayPrototypeForEachCodeConstructorKind;
137extern const char* const s_arrayPrototypeFilterCode;
138extern const int s_arrayPrototypeFilterCodeLength;
139extern const JSC::ConstructAbility s_arrayPrototypeFilterCodeConstructAbility;
140extern const JSC::ConstructorKind s_arrayPrototypeFilterCodeConstructorKind;
141extern const char* const s_arrayPrototypeMapCode;
142extern const int s_arrayPrototypeMapCodeLength;
143extern const JSC::ConstructAbility s_arrayPrototypeMapCodeConstructAbility;
144extern const JSC::ConstructorKind s_arrayPrototypeMapCodeConstructorKind;
145extern const char* const s_arrayPrototypeSomeCode;
146extern const int s_arrayPrototypeSomeCodeLength;
147extern const JSC::ConstructAbility s_arrayPrototypeSomeCodeConstructAbility;
148extern const JSC::ConstructorKind s_arrayPrototypeSomeCodeConstructorKind;
149extern const char* const s_arrayPrototypeFillCode;
150extern const int s_arrayPrototypeFillCodeLength;
151extern const JSC::ConstructAbility s_arrayPrototypeFillCodeConstructAbility;
152extern const JSC::ConstructorKind s_arrayPrototypeFillCodeConstructorKind;
153extern const char* const s_arrayPrototypeFindCode;
154extern const int s_arrayPrototypeFindCodeLength;
155extern const JSC::ConstructAbility s_arrayPrototypeFindCodeConstructAbility;
156extern const JSC::ConstructorKind s_arrayPrototypeFindCodeConstructorKind;
157extern const char* const s_arrayPrototypeFindIndexCode;
158extern const int s_arrayPrototypeFindIndexCodeLength;
159extern const JSC::ConstructAbility s_arrayPrototypeFindIndexCodeConstructAbility;
160extern const JSC::ConstructorKind s_arrayPrototypeFindIndexCodeConstructorKind;
161extern const char* const s_arrayPrototypeIncludesCode;
162extern const int s_arrayPrototypeIncludesCodeLength;
163extern const JSC::ConstructAbility s_arrayPrototypeIncludesCodeConstructAbility;
164extern const JSC::ConstructorKind s_arrayPrototypeIncludesCodeConstructorKind;
165extern const char* const s_arrayPrototypeSortCode;
166extern const int s_arrayPrototypeSortCodeLength;
167extern const JSC::ConstructAbility s_arrayPrototypeSortCodeConstructAbility;
168extern const JSC::ConstructorKind s_arrayPrototypeSortCodeConstructorKind;
169extern const char* const s_arrayPrototypeConcatSlowPathCode;
170extern const int s_arrayPrototypeConcatSlowPathCodeLength;
171extern const JSC::ConstructAbility s_arrayPrototypeConcatSlowPathCodeConstructAbility;
172extern const JSC::ConstructorKind s_arrayPrototypeConcatSlowPathCodeConstructorKind;
173extern const char* const s_arrayPrototypeConcatCode;
174extern const int s_arrayPrototypeConcatCodeLength;
175extern const JSC::ConstructAbility s_arrayPrototypeConcatCodeConstructAbility;
176extern const JSC::ConstructorKind s_arrayPrototypeConcatCodeConstructorKind;
177extern const char* const s_arrayPrototypeCopyWithinCode;
178extern const int s_arrayPrototypeCopyWithinCodeLength;
179extern const JSC::ConstructAbility s_arrayPrototypeCopyWithinCodeConstructAbility;
180extern const JSC::ConstructorKind s_arrayPrototypeCopyWithinCodeConstructorKind;
181extern const char* const s_arrayPrototypeFlatIntoArrayCode;
182extern const int s_arrayPrototypeFlatIntoArrayCodeLength;
183extern const JSC::ConstructAbility s_arrayPrototypeFlatIntoArrayCodeConstructAbility;
184extern const JSC::ConstructorKind s_arrayPrototypeFlatIntoArrayCodeConstructorKind;
185extern const char* const s_arrayPrototypeFlatCode;
186extern const int s_arrayPrototypeFlatCodeLength;
187extern const JSC::ConstructAbility s_arrayPrototypeFlatCodeConstructAbility;
188extern const JSC::ConstructorKind s_arrayPrototypeFlatCodeConstructorKind;
189extern const char* const s_arrayPrototypeFlatIntoArrayWithCallbackCode;
190extern const int s_arrayPrototypeFlatIntoArrayWithCallbackCodeLength;
191extern const JSC::ConstructAbility s_arrayPrototypeFlatIntoArrayWithCallbackCodeConstructAbility;
192extern const JSC::ConstructorKind s_arrayPrototypeFlatIntoArrayWithCallbackCodeConstructorKind;
193extern const char* const s_arrayPrototypeFlatMapCode;
194extern const int s_arrayPrototypeFlatMapCodeLength;
195extern const JSC::ConstructAbility s_arrayPrototypeFlatMapCodeConstructAbility;
196extern const JSC::ConstructorKind s_arrayPrototypeFlatMapCodeConstructorKind;
197
198#define JSC_FOREACH_ARRAYPROTOTYPE_BUILTIN_DATA(macro) \
199 macro(ArrayIterator, arrayPrototypeArrayIteratorConstructor, 3) \
200 macro(values, arrayPrototypeValues, 0) \
201 macro(keys, arrayPrototypeKeys, 0) \
202 macro(entries, arrayPrototypeEntries, 0) \
203 macro(reduce, arrayPrototypeReduce, 1) \
204 macro(reduceRight, arrayPrototypeReduceRight, 1) \
205 macro(every, arrayPrototypeEvery, 1) \
206 macro(forEach, arrayPrototypeForEach, 1) \
207 macro(filter, arrayPrototypeFilter, 1) \
208 macro(map, arrayPrototypeMap, 1) \
209 macro(some, arrayPrototypeSome, 1) \
210 macro(fill, arrayPrototypeFill, 1) \
211 macro(find, arrayPrototypeFind, 1) \
212 macro(findIndex, arrayPrototypeFindIndex, 1) \
213 macro(includes, arrayPrototypeIncludes, 1) \
214 macro(sort, arrayPrototypeSort, 1) \
215 macro(concatSlowPath, arrayPrototypeConcatSlowPath, 0) \
216 macro(concat, arrayPrototypeConcat, 1) \
217 macro(copyWithin, arrayPrototypeCopyWithin, 2) \
218 macro(flatIntoArray, arrayPrototypeFlatIntoArray, 5) \
219 macro(flat, arrayPrototypeFlat, 0) \
220 macro(flatIntoArrayWithCallback, arrayPrototypeFlatIntoArrayWithCallback, 6) \
221 macro(flatMap, arrayPrototypeFlatMap, 1) \
222
223/* AsyncFromSyncIteratorPrototype */
224extern const char* const s_asyncFromSyncIteratorPrototypeNextCode;
225extern const int s_asyncFromSyncIteratorPrototypeNextCodeLength;
226extern const JSC::ConstructAbility s_asyncFromSyncIteratorPrototypeNextCodeConstructAbility;
227extern const JSC::ConstructorKind s_asyncFromSyncIteratorPrototypeNextCodeConstructorKind;
228extern const char* const s_asyncFromSyncIteratorPrototypeReturnCode;
229extern const int s_asyncFromSyncIteratorPrototypeReturnCodeLength;
230extern const JSC::ConstructAbility s_asyncFromSyncIteratorPrototypeReturnCodeConstructAbility;
231extern const JSC::ConstructorKind s_asyncFromSyncIteratorPrototypeReturnCodeConstructorKind;
232extern const char* const s_asyncFromSyncIteratorPrototypeThrowCode;
233extern const int s_asyncFromSyncIteratorPrototypeThrowCodeLength;
234extern const JSC::ConstructAbility s_asyncFromSyncIteratorPrototypeThrowCodeConstructAbility;
235extern const JSC::ConstructorKind s_asyncFromSyncIteratorPrototypeThrowCodeConstructorKind;
236extern const char* const s_asyncFromSyncIteratorPrototypeCreateAsyncFromSyncIteratorCode;
237extern const int s_asyncFromSyncIteratorPrototypeCreateAsyncFromSyncIteratorCodeLength;
238extern const JSC::ConstructAbility s_asyncFromSyncIteratorPrototypeCreateAsyncFromSyncIteratorCodeConstructAbility;
239extern const JSC::ConstructorKind s_asyncFromSyncIteratorPrototypeCreateAsyncFromSyncIteratorCodeConstructorKind;
240extern const char* const s_asyncFromSyncIteratorPrototypeAsyncFromSyncIteratorConstructorCode;
241extern const int s_asyncFromSyncIteratorPrototypeAsyncFromSyncIteratorConstructorCodeLength;
242extern const JSC::ConstructAbility s_asyncFromSyncIteratorPrototypeAsyncFromSyncIteratorConstructorCodeConstructAbility;
243extern const JSC::ConstructorKind s_asyncFromSyncIteratorPrototypeAsyncFromSyncIteratorConstructorCodeConstructorKind;
244
245#define JSC_FOREACH_ASYNCFROMSYNCITERATORPROTOTYPE_BUILTIN_DATA(macro) \
246 macro(next, asyncFromSyncIteratorPrototypeNext, 1) \
247 macro(return, asyncFromSyncIteratorPrototypeReturn, 1) \
248 macro(throw, asyncFromSyncIteratorPrototypeThrow, 1) \
249 macro(createAsyncFromSyncIterator, asyncFromSyncIteratorPrototypeCreateAsyncFromSyncIterator, 2) \
250 macro(AsyncFromSyncIterator, asyncFromSyncIteratorPrototypeAsyncFromSyncIteratorConstructor, 2) \
251
252/* AsyncFunctionPrototype */
253extern const char* const s_asyncFunctionPrototypeAsyncFunctionResumeCode;
254extern const int s_asyncFunctionPrototypeAsyncFunctionResumeCodeLength;
255extern const JSC::ConstructAbility s_asyncFunctionPrototypeAsyncFunctionResumeCodeConstructAbility;
256extern const JSC::ConstructorKind s_asyncFunctionPrototypeAsyncFunctionResumeCodeConstructorKind;
257
258#define JSC_FOREACH_ASYNCFUNCTIONPROTOTYPE_BUILTIN_DATA(macro) \
259 macro(asyncFunctionResume, asyncFunctionPrototypeAsyncFunctionResume, 4) \
260
261/* AsyncGeneratorPrototype */
262extern const char* const s_asyncGeneratorPrototypeAsyncGeneratorQueueIsEmptyCode;
263extern const int s_asyncGeneratorPrototypeAsyncGeneratorQueueIsEmptyCodeLength;
264extern const JSC::ConstructAbility s_asyncGeneratorPrototypeAsyncGeneratorQueueIsEmptyCodeConstructAbility;
265extern const JSC::ConstructorKind s_asyncGeneratorPrototypeAsyncGeneratorQueueIsEmptyCodeConstructorKind;
266extern const char* const s_asyncGeneratorPrototypeAsyncGeneratorQueueEnqueueCode;
267extern const int s_asyncGeneratorPrototypeAsyncGeneratorQueueEnqueueCodeLength;
268extern const JSC::ConstructAbility s_asyncGeneratorPrototypeAsyncGeneratorQueueEnqueueCodeConstructAbility;
269extern const JSC::ConstructorKind s_asyncGeneratorPrototypeAsyncGeneratorQueueEnqueueCodeConstructorKind;
270extern const char* const s_asyncGeneratorPrototypeAsyncGeneratorQueueDequeueCode;
271extern const int s_asyncGeneratorPrototypeAsyncGeneratorQueueDequeueCodeLength;
272extern const JSC::ConstructAbility s_asyncGeneratorPrototypeAsyncGeneratorQueueDequeueCodeConstructAbility;
273extern const JSC::ConstructorKind s_asyncGeneratorPrototypeAsyncGeneratorQueueDequeueCodeConstructorKind;
274extern const char* const s_asyncGeneratorPrototypeIsExecutionStateCode;
275extern const int s_asyncGeneratorPrototypeIsExecutionStateCodeLength;
276extern const JSC::ConstructAbility s_asyncGeneratorPrototypeIsExecutionStateCodeConstructAbility;
277extern const JSC::ConstructorKind s_asyncGeneratorPrototypeIsExecutionStateCodeConstructorKind;
278extern const char* const s_asyncGeneratorPrototypeIsSuspendYieldStateCode;
279extern const int s_asyncGeneratorPrototypeIsSuspendYieldStateCodeLength;
280extern const JSC::ConstructAbility s_asyncGeneratorPrototypeIsSuspendYieldStateCodeConstructAbility;
281extern const JSC::ConstructorKind s_asyncGeneratorPrototypeIsSuspendYieldStateCodeConstructorKind;
282extern const char* const s_asyncGeneratorPrototypeAsyncGeneratorRejectCode;
283extern const int s_asyncGeneratorPrototypeAsyncGeneratorRejectCodeLength;
284extern const JSC::ConstructAbility s_asyncGeneratorPrototypeAsyncGeneratorRejectCodeConstructAbility;
285extern const JSC::ConstructorKind s_asyncGeneratorPrototypeAsyncGeneratorRejectCodeConstructorKind;
286extern const char* const s_asyncGeneratorPrototypeAsyncGeneratorResolveCode;
287extern const int s_asyncGeneratorPrototypeAsyncGeneratorResolveCodeLength;
288extern const JSC::ConstructAbility s_asyncGeneratorPrototypeAsyncGeneratorResolveCodeConstructAbility;
289extern const JSC::ConstructorKind s_asyncGeneratorPrototypeAsyncGeneratorResolveCodeConstructorKind;
290extern const char* const s_asyncGeneratorPrototypeAsyncGeneratorYieldCode;
291extern const int s_asyncGeneratorPrototypeAsyncGeneratorYieldCodeLength;
292extern const JSC::ConstructAbility s_asyncGeneratorPrototypeAsyncGeneratorYieldCodeConstructAbility;
293extern const JSC::ConstructorKind s_asyncGeneratorPrototypeAsyncGeneratorYieldCodeConstructorKind;
294extern const char* const s_asyncGeneratorPrototypeAwaitValueCode;
295extern const int s_asyncGeneratorPrototypeAwaitValueCodeLength;
296extern const JSC::ConstructAbility s_asyncGeneratorPrototypeAwaitValueCodeConstructAbility;
297extern const JSC::ConstructorKind s_asyncGeneratorPrototypeAwaitValueCodeConstructorKind;
298extern const char* const s_asyncGeneratorPrototypeDoAsyncGeneratorBodyCallCode;
299extern const int s_asyncGeneratorPrototypeDoAsyncGeneratorBodyCallCodeLength;
300extern const JSC::ConstructAbility s_asyncGeneratorPrototypeDoAsyncGeneratorBodyCallCodeConstructAbility;
301extern const JSC::ConstructorKind s_asyncGeneratorPrototypeDoAsyncGeneratorBodyCallCodeConstructorKind;
302extern const char* const s_asyncGeneratorPrototypeAsyncGeneratorResumeNextCode;
303extern const int s_asyncGeneratorPrototypeAsyncGeneratorResumeNextCodeLength;
304extern const JSC::ConstructAbility s_asyncGeneratorPrototypeAsyncGeneratorResumeNextCodeConstructAbility;
305extern const JSC::ConstructorKind s_asyncGeneratorPrototypeAsyncGeneratorResumeNextCodeConstructorKind;
306extern const char* const s_asyncGeneratorPrototypeAsyncGeneratorEnqueueCode;
307extern const int s_asyncGeneratorPrototypeAsyncGeneratorEnqueueCodeLength;
308extern const JSC::ConstructAbility s_asyncGeneratorPrototypeAsyncGeneratorEnqueueCodeConstructAbility;
309extern const JSC::ConstructorKind s_asyncGeneratorPrototypeAsyncGeneratorEnqueueCodeConstructorKind;
310extern const char* const s_asyncGeneratorPrototypeNextCode;
311extern const int s_asyncGeneratorPrototypeNextCodeLength;
312extern const JSC::ConstructAbility s_asyncGeneratorPrototypeNextCodeConstructAbility;
313extern const JSC::ConstructorKind s_asyncGeneratorPrototypeNextCodeConstructorKind;
314extern const char* const s_asyncGeneratorPrototypeReturnCode;
315extern const int s_asyncGeneratorPrototypeReturnCodeLength;
316extern const JSC::ConstructAbility s_asyncGeneratorPrototypeReturnCodeConstructAbility;
317extern const JSC::ConstructorKind s_asyncGeneratorPrototypeReturnCodeConstructorKind;
318extern const char* const s_asyncGeneratorPrototypeThrowCode;
319extern const int s_asyncGeneratorPrototypeThrowCodeLength;
320extern const JSC::ConstructAbility s_asyncGeneratorPrototypeThrowCodeConstructAbility;
321extern const JSC::ConstructorKind s_asyncGeneratorPrototypeThrowCodeConstructorKind;
322
323#define JSC_FOREACH_ASYNCGENERATORPROTOTYPE_BUILTIN_DATA(macro) \
324 macro(asyncGeneratorQueueIsEmpty, asyncGeneratorPrototypeAsyncGeneratorQueueIsEmpty, 1) \
325 macro(asyncGeneratorQueueEnqueue, asyncGeneratorPrototypeAsyncGeneratorQueueEnqueue, 2) \
326 macro(asyncGeneratorQueueDequeue, asyncGeneratorPrototypeAsyncGeneratorQueueDequeue, 1) \
327 macro(isExecutionState, asyncGeneratorPrototypeIsExecutionState, 1) \
328 macro(isSuspendYieldState, asyncGeneratorPrototypeIsSuspendYieldState, 1) \
329 macro(asyncGeneratorReject, asyncGeneratorPrototypeAsyncGeneratorReject, 2) \
330 macro(asyncGeneratorResolve, asyncGeneratorPrototypeAsyncGeneratorResolve, 3) \
331 macro(asyncGeneratorYield, asyncGeneratorPrototypeAsyncGeneratorYield, 3) \
332 macro(awaitValue, asyncGeneratorPrototypeAwaitValue, 3) \
333 macro(doAsyncGeneratorBodyCall, asyncGeneratorPrototypeDoAsyncGeneratorBodyCall, 3) \
334 macro(asyncGeneratorResumeNext, asyncGeneratorPrototypeAsyncGeneratorResumeNext, 1) \
335 macro(asyncGeneratorEnqueue, asyncGeneratorPrototypeAsyncGeneratorEnqueue, 3) \
336 macro(next, asyncGeneratorPrototypeNext, 1) \
337 macro(return, asyncGeneratorPrototypeReturn, 1) \
338 macro(throw, asyncGeneratorPrototypeThrow, 1) \
339
340/* AsyncIteratorPrototype */
341extern const char* const s_asyncIteratorPrototypeSymbolAsyncIteratorGetterCode;
342extern const int s_asyncIteratorPrototypeSymbolAsyncIteratorGetterCodeLength;
343extern const JSC::ConstructAbility s_asyncIteratorPrototypeSymbolAsyncIteratorGetterCodeConstructAbility;
344extern const JSC::ConstructorKind s_asyncIteratorPrototypeSymbolAsyncIteratorGetterCodeConstructorKind;
345
346#define JSC_FOREACH_ASYNCITERATORPROTOTYPE_BUILTIN_DATA(macro) \
347 macro(symbolAsyncIteratorGetter, asyncIteratorPrototypeSymbolAsyncIteratorGetter, 0) \
348
349/* DatePrototype */
350extern const char* const s_datePrototypeToLocaleStringCode;
351extern const int s_datePrototypeToLocaleStringCodeLength;
352extern const JSC::ConstructAbility s_datePrototypeToLocaleStringCodeConstructAbility;
353extern const JSC::ConstructorKind s_datePrototypeToLocaleStringCodeConstructorKind;
354extern const char* const s_datePrototypeToLocaleDateStringCode;
355extern const int s_datePrototypeToLocaleDateStringCodeLength;
356extern const JSC::ConstructAbility s_datePrototypeToLocaleDateStringCodeConstructAbility;
357extern const JSC::ConstructorKind s_datePrototypeToLocaleDateStringCodeConstructorKind;
358extern const char* const s_datePrototypeToLocaleTimeStringCode;
359extern const int s_datePrototypeToLocaleTimeStringCodeLength;
360extern const JSC::ConstructAbility s_datePrototypeToLocaleTimeStringCodeConstructAbility;
361extern const JSC::ConstructorKind s_datePrototypeToLocaleTimeStringCodeConstructorKind;
362
363#define JSC_FOREACH_DATEPROTOTYPE_BUILTIN_DATA(macro) \
364 macro(toLocaleString, datePrototypeToLocaleString, 0) \
365 macro(toLocaleDateString, datePrototypeToLocaleDateString, 0) \
366 macro(toLocaleTimeString, datePrototypeToLocaleTimeString, 0) \
367
368/* FunctionPrototype */
369extern const char* const s_functionPrototypeCallCode;
370extern const int s_functionPrototypeCallCodeLength;
371extern const JSC::ConstructAbility s_functionPrototypeCallCodeConstructAbility;
372extern const JSC::ConstructorKind s_functionPrototypeCallCodeConstructorKind;
373extern const char* const s_functionPrototypeApplyCode;
374extern const int s_functionPrototypeApplyCodeLength;
375extern const JSC::ConstructAbility s_functionPrototypeApplyCodeConstructAbility;
376extern const JSC::ConstructorKind s_functionPrototypeApplyCodeConstructorKind;
377extern const char* const s_functionPrototypeSymbolHasInstanceCode;
378extern const int s_functionPrototypeSymbolHasInstanceCodeLength;
379extern const JSC::ConstructAbility s_functionPrototypeSymbolHasInstanceCodeConstructAbility;
380extern const JSC::ConstructorKind s_functionPrototypeSymbolHasInstanceCodeConstructorKind;
381extern const char* const s_functionPrototypeBindCode;
382extern const int s_functionPrototypeBindCodeLength;
383extern const JSC::ConstructAbility s_functionPrototypeBindCodeConstructAbility;
384extern const JSC::ConstructorKind s_functionPrototypeBindCodeConstructorKind;
385
386#define JSC_FOREACH_FUNCTIONPROTOTYPE_BUILTIN_DATA(macro) \
387 macro(call, functionPrototypeCall, 1) \
388 macro(apply, functionPrototypeApply, 2) \
389 macro(symbolHasInstance, functionPrototypeSymbolHasInstance, 1) \
390 macro(bind, functionPrototypeBind, 1) \
391
392/* GeneratorPrototype */
393extern const char* const s_generatorPrototypeGeneratorResumeCode;
394extern const int s_generatorPrototypeGeneratorResumeCodeLength;
395extern const JSC::ConstructAbility s_generatorPrototypeGeneratorResumeCodeConstructAbility;
396extern const JSC::ConstructorKind s_generatorPrototypeGeneratorResumeCodeConstructorKind;
397extern const char* const s_generatorPrototypeNextCode;
398extern const int s_generatorPrototypeNextCodeLength;
399extern const JSC::ConstructAbility s_generatorPrototypeNextCodeConstructAbility;
400extern const JSC::ConstructorKind s_generatorPrototypeNextCodeConstructorKind;
401extern const char* const s_generatorPrototypeReturnCode;
402extern const int s_generatorPrototypeReturnCodeLength;
403extern const JSC::ConstructAbility s_generatorPrototypeReturnCodeConstructAbility;
404extern const JSC::ConstructorKind s_generatorPrototypeReturnCodeConstructorKind;
405extern const char* const s_generatorPrototypeThrowCode;
406extern const int s_generatorPrototypeThrowCodeLength;
407extern const JSC::ConstructAbility s_generatorPrototypeThrowCodeConstructAbility;
408extern const JSC::ConstructorKind s_generatorPrototypeThrowCodeConstructorKind;
409
410#define JSC_FOREACH_GENERATORPROTOTYPE_BUILTIN_DATA(macro) \
411 macro(generatorResume, generatorPrototypeGeneratorResume, 6) \
412 macro(next, generatorPrototypeNext, 1) \
413 macro(return, generatorPrototypeReturn, 1) \
414 macro(throw, generatorPrototypeThrow, 1) \
415
416/* GlobalObject */
417extern const char* const s_globalObjectIsFiniteCode;
418extern const int s_globalObjectIsFiniteCodeLength;
419extern const JSC::ConstructAbility s_globalObjectIsFiniteCodeConstructAbility;
420extern const JSC::ConstructorKind s_globalObjectIsFiniteCodeConstructorKind;
421extern const char* const s_globalObjectIsNaNCode;
422extern const int s_globalObjectIsNaNCodeLength;
423extern const JSC::ConstructAbility s_globalObjectIsNaNCodeConstructAbility;
424extern const JSC::ConstructorKind s_globalObjectIsNaNCodeConstructorKind;
425
426#define JSC_FOREACH_GLOBALOBJECT_BUILTIN_DATA(macro) \
427 macro(isFinite, globalObjectIsFinite, 1) \
428 macro(isNaN, globalObjectIsNaN, 1) \
429
430/* GlobalOperations */
431extern const char* const s_globalOperationsToIntegerCode;
432extern const int s_globalOperationsToIntegerCodeLength;
433extern const JSC::ConstructAbility s_globalOperationsToIntegerCodeConstructAbility;
434extern const JSC::ConstructorKind s_globalOperationsToIntegerCodeConstructorKind;
435extern const char* const s_globalOperationsToLengthCode;
436extern const int s_globalOperationsToLengthCodeLength;
437extern const JSC::ConstructAbility s_globalOperationsToLengthCodeConstructAbility;
438extern const JSC::ConstructorKind s_globalOperationsToLengthCodeConstructorKind;
439extern const char* const s_globalOperationsIsDictionaryCode;
440extern const int s_globalOperationsIsDictionaryCodeLength;
441extern const JSC::ConstructAbility s_globalOperationsIsDictionaryCodeConstructAbility;
442extern const JSC::ConstructorKind s_globalOperationsIsDictionaryCodeConstructorKind;
443extern const char* const s_globalOperationsSpeciesGetterCode;
444extern const int s_globalOperationsSpeciesGetterCodeLength;
445extern const JSC::ConstructAbility s_globalOperationsSpeciesGetterCodeConstructAbility;
446extern const JSC::ConstructorKind s_globalOperationsSpeciesGetterCodeConstructorKind;
447extern const char* const s_globalOperationsSpeciesConstructorCode;
448extern const int s_globalOperationsSpeciesConstructorCodeLength;
449extern const JSC::ConstructAbility s_globalOperationsSpeciesConstructorCodeConstructAbility;
450extern const JSC::ConstructorKind s_globalOperationsSpeciesConstructorCodeConstructorKind;
451extern const char* const s_globalOperationsCopyDataPropertiesCode;
452extern const int s_globalOperationsCopyDataPropertiesCodeLength;
453extern const JSC::ConstructAbility s_globalOperationsCopyDataPropertiesCodeConstructAbility;
454extern const JSC::ConstructorKind s_globalOperationsCopyDataPropertiesCodeConstructorKind;
455extern const char* const s_globalOperationsCopyDataPropertiesNoExclusionsCode;
456extern const int s_globalOperationsCopyDataPropertiesNoExclusionsCodeLength;
457extern const JSC::ConstructAbility s_globalOperationsCopyDataPropertiesNoExclusionsCodeConstructAbility;
458extern const JSC::ConstructorKind s_globalOperationsCopyDataPropertiesNoExclusionsCodeConstructorKind;
459
460#define JSC_FOREACH_GLOBALOPERATIONS_BUILTIN_DATA(macro) \
461 macro(toInteger, globalOperationsToInteger, 1) \
462 macro(toLength, globalOperationsToLength, 1) \
463 macro(isDictionary, globalOperationsIsDictionary, 1) \
464 macro(speciesGetter, globalOperationsSpeciesGetter, 0) \
465 macro(speciesConstructor, globalOperationsSpeciesConstructor, 2) \
466 macro(copyDataProperties, globalOperationsCopyDataProperties, 3) \
467 macro(copyDataPropertiesNoExclusions, globalOperationsCopyDataPropertiesNoExclusions, 2) \
468
469/* InspectorInstrumentationObject */
470extern const char* const s_inspectorInstrumentationObjectPromiseFulfilledCode;
471extern const int s_inspectorInstrumentationObjectPromiseFulfilledCodeLength;
472extern const JSC::ConstructAbility s_inspectorInstrumentationObjectPromiseFulfilledCodeConstructAbility;
473extern const JSC::ConstructorKind s_inspectorInstrumentationObjectPromiseFulfilledCodeConstructorKind;
474extern const char* const s_inspectorInstrumentationObjectPromiseRejectedCode;
475extern const int s_inspectorInstrumentationObjectPromiseRejectedCodeLength;
476extern const JSC::ConstructAbility s_inspectorInstrumentationObjectPromiseRejectedCodeConstructAbility;
477extern const JSC::ConstructorKind s_inspectorInstrumentationObjectPromiseRejectedCodeConstructorKind;
478
479#define JSC_FOREACH_INSPECTORINSTRUMENTATIONOBJECT_BUILTIN_DATA(macro) \
480 macro(promiseFulfilled, inspectorInstrumentationObjectPromiseFulfilled, 3) \
481 macro(promiseRejected, inspectorInstrumentationObjectPromiseRejected, 3) \
482
483/* InternalPromiseConstructor */
484extern const char* const s_internalPromiseConstructorInternalAllCode;
485extern const int s_internalPromiseConstructorInternalAllCodeLength;
486extern const JSC::ConstructAbility s_internalPromiseConstructorInternalAllCodeConstructAbility;
487extern const JSC::ConstructorKind s_internalPromiseConstructorInternalAllCodeConstructorKind;
488
489#define JSC_FOREACH_INTERNALPROMISECONSTRUCTOR_BUILTIN_DATA(macro) \
490 macro(internalAll, internalPromiseConstructorInternalAll, 1) \
491
492/* IteratorHelpers */
493extern const char* const s_iteratorHelpersPerformIterationCode;
494extern const int s_iteratorHelpersPerformIterationCodeLength;
495extern const JSC::ConstructAbility s_iteratorHelpersPerformIterationCodeConstructAbility;
496extern const JSC::ConstructorKind s_iteratorHelpersPerformIterationCodeConstructorKind;
497
498#define JSC_FOREACH_ITERATORHELPERS_BUILTIN_DATA(macro) \
499 macro(performIteration, iteratorHelpersPerformIteration, 1) \
500
501/* IteratorPrototype */
502extern const char* const s_iteratorPrototypeSymbolIteratorGetterCode;
503extern const int s_iteratorPrototypeSymbolIteratorGetterCodeLength;
504extern const JSC::ConstructAbility s_iteratorPrototypeSymbolIteratorGetterCodeConstructAbility;
505extern const JSC::ConstructorKind s_iteratorPrototypeSymbolIteratorGetterCodeConstructorKind;
506
507#define JSC_FOREACH_ITERATORPROTOTYPE_BUILTIN_DATA(macro) \
508 macro(symbolIteratorGetter, iteratorPrototypeSymbolIteratorGetter, 0) \
509
510/* MapIteratorPrototype */
511extern const char* const s_mapIteratorPrototypeMapIteratorNextCode;
512extern const int s_mapIteratorPrototypeMapIteratorNextCodeLength;
513extern const JSC::ConstructAbility s_mapIteratorPrototypeMapIteratorNextCodeConstructAbility;
514extern const JSC::ConstructorKind s_mapIteratorPrototypeMapIteratorNextCodeConstructorKind;
515extern const char* const s_mapIteratorPrototypeNextCode;
516extern const int s_mapIteratorPrototypeNextCodeLength;
517extern const JSC::ConstructAbility s_mapIteratorPrototypeNextCodeConstructAbility;
518extern const JSC::ConstructorKind s_mapIteratorPrototypeNextCodeConstructorKind;
519
520#define JSC_FOREACH_MAPITERATORPROTOTYPE_BUILTIN_DATA(macro) \
521 macro(mapIteratorNext, mapIteratorPrototypeMapIteratorNext, 2) \
522 macro(next, mapIteratorPrototypeNext, 0) \
523
524/* MapPrototype */
525extern const char* const s_mapPrototypeMapIteratorConstructorCode;
526extern const int s_mapPrototypeMapIteratorConstructorCodeLength;
527extern const JSC::ConstructAbility s_mapPrototypeMapIteratorConstructorCodeConstructAbility;
528extern const JSC::ConstructorKind s_mapPrototypeMapIteratorConstructorCodeConstructorKind;
529extern const char* const s_mapPrototypeValuesCode;
530extern const int s_mapPrototypeValuesCodeLength;
531extern const JSC::ConstructAbility s_mapPrototypeValuesCodeConstructAbility;
532extern const JSC::ConstructorKind s_mapPrototypeValuesCodeConstructorKind;
533extern const char* const s_mapPrototypeKeysCode;
534extern const int s_mapPrototypeKeysCodeLength;
535extern const JSC::ConstructAbility s_mapPrototypeKeysCodeConstructAbility;
536extern const JSC::ConstructorKind s_mapPrototypeKeysCodeConstructorKind;
537extern const char* const s_mapPrototypeEntriesCode;
538extern const int s_mapPrototypeEntriesCodeLength;
539extern const JSC::ConstructAbility s_mapPrototypeEntriesCodeConstructAbility;
540extern const JSC::ConstructorKind s_mapPrototypeEntriesCodeConstructorKind;
541extern const char* const s_mapPrototypeForEachCode;
542extern const int s_mapPrototypeForEachCodeLength;
543extern const JSC::ConstructAbility s_mapPrototypeForEachCodeConstructAbility;
544extern const JSC::ConstructorKind s_mapPrototypeForEachCodeConstructorKind;
545
546#define JSC_FOREACH_MAPPROTOTYPE_BUILTIN_DATA(macro) \
547 macro(MapIterator, mapPrototypeMapIteratorConstructor, 2) \
548 macro(values, mapPrototypeValues, 0) \
549 macro(keys, mapPrototypeKeys, 0) \
550 macro(entries, mapPrototypeEntries, 0) \
551 macro(forEach, mapPrototypeForEach, 1) \
552
553/* ModuleLoader */
554extern const char* const s_moduleLoaderSetStateToMaxCode;
555extern const int s_moduleLoaderSetStateToMaxCodeLength;
556extern const JSC::ConstructAbility s_moduleLoaderSetStateToMaxCodeConstructAbility;
557extern const JSC::ConstructorKind s_moduleLoaderSetStateToMaxCodeConstructorKind;
558extern const char* const s_moduleLoaderNewRegistryEntryCode;
559extern const int s_moduleLoaderNewRegistryEntryCodeLength;
560extern const JSC::ConstructAbility s_moduleLoaderNewRegistryEntryCodeConstructAbility;
561extern const JSC::ConstructorKind s_moduleLoaderNewRegistryEntryCodeConstructorKind;
562extern const char* const s_moduleLoaderEnsureRegisteredCode;
563extern const int s_moduleLoaderEnsureRegisteredCodeLength;
564extern const JSC::ConstructAbility s_moduleLoaderEnsureRegisteredCodeConstructAbility;
565extern const JSC::ConstructorKind s_moduleLoaderEnsureRegisteredCodeConstructorKind;
566extern const char* const s_moduleLoaderForceFulfillPromiseCode;
567extern const int s_moduleLoaderForceFulfillPromiseCodeLength;
568extern const JSC::ConstructAbility s_moduleLoaderForceFulfillPromiseCodeConstructAbility;
569extern const JSC::ConstructorKind s_moduleLoaderForceFulfillPromiseCodeConstructorKind;
570extern const char* const s_moduleLoaderFulfillFetchCode;
571extern const int s_moduleLoaderFulfillFetchCodeLength;
572extern const JSC::ConstructAbility s_moduleLoaderFulfillFetchCodeConstructAbility;
573extern const JSC::ConstructorKind s_moduleLoaderFulfillFetchCodeConstructorKind;
574extern const char* const s_moduleLoaderRequestFetchCode;
575extern const int s_moduleLoaderRequestFetchCodeLength;
576extern const JSC::ConstructAbility s_moduleLoaderRequestFetchCodeConstructAbility;
577extern const JSC::ConstructorKind s_moduleLoaderRequestFetchCodeConstructorKind;
578extern const char* const s_moduleLoaderRequestInstantiateCode;
579extern const int s_moduleLoaderRequestInstantiateCodeLength;
580extern const JSC::ConstructAbility s_moduleLoaderRequestInstantiateCodeConstructAbility;
581extern const JSC::ConstructorKind s_moduleLoaderRequestInstantiateCodeConstructorKind;
582extern const char* const s_moduleLoaderRequestSatisfyCode;
583extern const int s_moduleLoaderRequestSatisfyCodeLength;
584extern const JSC::ConstructAbility s_moduleLoaderRequestSatisfyCodeConstructAbility;
585extern const JSC::ConstructorKind s_moduleLoaderRequestSatisfyCodeConstructorKind;
586extern const char* const s_moduleLoaderLinkCode;
587extern const int s_moduleLoaderLinkCodeLength;
588extern const JSC::ConstructAbility s_moduleLoaderLinkCodeConstructAbility;
589extern const JSC::ConstructorKind s_moduleLoaderLinkCodeConstructorKind;
590extern const char* const s_moduleLoaderModuleEvaluationCode;
591extern const int s_moduleLoaderModuleEvaluationCodeLength;
592extern const JSC::ConstructAbility s_moduleLoaderModuleEvaluationCodeConstructAbility;
593extern const JSC::ConstructorKind s_moduleLoaderModuleEvaluationCodeConstructorKind;
594extern const char* const s_moduleLoaderProvideFetchCode;
595extern const int s_moduleLoaderProvideFetchCodeLength;
596extern const JSC::ConstructAbility s_moduleLoaderProvideFetchCodeConstructAbility;
597extern const JSC::ConstructorKind s_moduleLoaderProvideFetchCodeConstructorKind;
598extern const char* const s_moduleLoaderLoadModuleCode;
599extern const int s_moduleLoaderLoadModuleCodeLength;
600extern const JSC::ConstructAbility s_moduleLoaderLoadModuleCodeConstructAbility;
601extern const JSC::ConstructorKind s_moduleLoaderLoadModuleCodeConstructorKind;
602extern const char* const s_moduleLoaderLinkAndEvaluateModuleCode;
603extern const int s_moduleLoaderLinkAndEvaluateModuleCodeLength;
604extern const JSC::ConstructAbility s_moduleLoaderLinkAndEvaluateModuleCodeConstructAbility;
605extern const JSC::ConstructorKind s_moduleLoaderLinkAndEvaluateModuleCodeConstructorKind;
606extern const char* const s_moduleLoaderLoadAndEvaluateModuleCode;
607extern const int s_moduleLoaderLoadAndEvaluateModuleCodeLength;
608extern const JSC::ConstructAbility s_moduleLoaderLoadAndEvaluateModuleCodeConstructAbility;
609extern const JSC::ConstructorKind s_moduleLoaderLoadAndEvaluateModuleCodeConstructorKind;
610extern const char* const s_moduleLoaderRequestImportModuleCode;
611extern const int s_moduleLoaderRequestImportModuleCodeLength;
612extern const JSC::ConstructAbility s_moduleLoaderRequestImportModuleCodeConstructAbility;
613extern const JSC::ConstructorKind s_moduleLoaderRequestImportModuleCodeConstructorKind;
614extern const char* const s_moduleLoaderDependencyKeysIfEvaluatedCode;
615extern const int s_moduleLoaderDependencyKeysIfEvaluatedCodeLength;
616extern const JSC::ConstructAbility s_moduleLoaderDependencyKeysIfEvaluatedCodeConstructAbility;
617extern const JSC::ConstructorKind s_moduleLoaderDependencyKeysIfEvaluatedCodeConstructorKind;
618
619#define JSC_FOREACH_MODULELOADER_BUILTIN_DATA(macro) \
620 macro(setStateToMax, moduleLoaderSetStateToMax, 2) \
621 macro(newRegistryEntry, moduleLoaderNewRegistryEntry, 1) \
622 macro(ensureRegistered, moduleLoaderEnsureRegistered, 1) \
623 macro(forceFulfillPromise, moduleLoaderForceFulfillPromise, 2) \
624 macro(fulfillFetch, moduleLoaderFulfillFetch, 2) \
625 macro(requestFetch, moduleLoaderRequestFetch, 3) \
626 macro(requestInstantiate, moduleLoaderRequestInstantiate, 3) \
627 macro(requestSatisfy, moduleLoaderRequestSatisfy, 4) \
628 macro(link, moduleLoaderLink, 2) \
629 macro(moduleEvaluation, moduleLoaderModuleEvaluation, 2) \
630 macro(provideFetch, moduleLoaderProvideFetch, 2) \
631 macro(loadModule, moduleLoaderLoadModule, 3) \
632 macro(linkAndEvaluateModule, moduleLoaderLinkAndEvaluateModule, 2) \
633 macro(loadAndEvaluateModule, moduleLoaderLoadAndEvaluateModule, 3) \
634 macro(requestImportModule, moduleLoaderRequestImportModule, 3) \
635 macro(dependencyKeysIfEvaluated, moduleLoaderDependencyKeysIfEvaluated, 1) \
636
637/* NumberConstructor */
638extern const char* const s_numberConstructorIsFiniteCode;
639extern const int s_numberConstructorIsFiniteCodeLength;
640extern const JSC::ConstructAbility s_numberConstructorIsFiniteCodeConstructAbility;
641extern const JSC::ConstructorKind s_numberConstructorIsFiniteCodeConstructorKind;
642extern const char* const s_numberConstructorIsNaNCode;
643extern const int s_numberConstructorIsNaNCodeLength;
644extern const JSC::ConstructAbility s_numberConstructorIsNaNCodeConstructAbility;
645extern const JSC::ConstructorKind s_numberConstructorIsNaNCodeConstructorKind;
646
647#define JSC_FOREACH_NUMBERCONSTRUCTOR_BUILTIN_DATA(macro) \
648 macro(isFinite, numberConstructorIsFinite, 1) \
649 macro(isNaN, numberConstructorIsNaN, 1) \
650
651/* ObjectConstructor */
652extern const char* const s_objectConstructorEntriesCode;
653extern const int s_objectConstructorEntriesCodeLength;
654extern const JSC::ConstructAbility s_objectConstructorEntriesCodeConstructAbility;
655extern const JSC::ConstructorKind s_objectConstructorEntriesCodeConstructorKind;
656extern const char* const s_objectConstructorFromEntriesCode;
657extern const int s_objectConstructorFromEntriesCodeLength;
658extern const JSC::ConstructAbility s_objectConstructorFromEntriesCodeConstructAbility;
659extern const JSC::ConstructorKind s_objectConstructorFromEntriesCodeConstructorKind;
660
661#define JSC_FOREACH_OBJECTCONSTRUCTOR_BUILTIN_DATA(macro) \
662 macro(entries, objectConstructorEntries, 1) \
663 macro(fromEntries, objectConstructorFromEntries, 1) \
664
665/* PromiseConstructor */
666extern const char* const s_promiseConstructorAllCode;
667extern const int s_promiseConstructorAllCodeLength;
668extern const JSC::ConstructAbility s_promiseConstructorAllCodeConstructAbility;
669extern const JSC::ConstructorKind s_promiseConstructorAllCodeConstructorKind;
670extern const char* const s_promiseConstructorAllSettledCode;
671extern const int s_promiseConstructorAllSettledCodeLength;
672extern const JSC::ConstructAbility s_promiseConstructorAllSettledCodeConstructAbility;
673extern const JSC::ConstructorKind s_promiseConstructorAllSettledCodeConstructorKind;
674extern const char* const s_promiseConstructorRaceCode;
675extern const int s_promiseConstructorRaceCodeLength;
676extern const JSC::ConstructAbility s_promiseConstructorRaceCodeConstructAbility;
677extern const JSC::ConstructorKind s_promiseConstructorRaceCodeConstructorKind;
678extern const char* const s_promiseConstructorRejectCode;
679extern const int s_promiseConstructorRejectCodeLength;
680extern const JSC::ConstructAbility s_promiseConstructorRejectCodeConstructAbility;
681extern const JSC::ConstructorKind s_promiseConstructorRejectCodeConstructorKind;
682extern const char* const s_promiseConstructorResolveCode;
683extern const int s_promiseConstructorResolveCodeLength;
684extern const JSC::ConstructAbility s_promiseConstructorResolveCodeConstructAbility;
685extern const JSC::ConstructorKind s_promiseConstructorResolveCodeConstructorKind;
686extern const char* const s_promiseConstructorPromiseConstructorCode;
687extern const int s_promiseConstructorPromiseConstructorCodeLength;
688extern const JSC::ConstructAbility s_promiseConstructorPromiseConstructorCodeConstructAbility;
689extern const JSC::ConstructorKind s_promiseConstructorPromiseConstructorCodeConstructorKind;
690extern const char* const s_promiseConstructorInternalPromiseConstructorCode;
691extern const int s_promiseConstructorInternalPromiseConstructorCodeLength;
692extern const JSC::ConstructAbility s_promiseConstructorInternalPromiseConstructorCodeConstructAbility;
693extern const JSC::ConstructorKind s_promiseConstructorInternalPromiseConstructorCodeConstructorKind;
694
695#define JSC_FOREACH_PROMISECONSTRUCTOR_BUILTIN_DATA(macro) \
696 macro(all, promiseConstructorAll, 1) \
697 macro(allSettled, promiseConstructorAllSettled, 1) \
698 macro(race, promiseConstructorRace, 1) \
699 macro(reject, promiseConstructorReject, 1) \
700 macro(resolve, promiseConstructorResolve, 1) \
701 macro(Promise, promiseConstructorPromiseConstructor, 1) \
702 macro(InternalPromise, promiseConstructorInternalPromiseConstructor, 1) \
703
704/* PromiseOperations */
705extern const char* const s_promiseOperationsNewPromiseReactionCode;
706extern const int s_promiseOperationsNewPromiseReactionCodeLength;
707extern const JSC::ConstructAbility s_promiseOperationsNewPromiseReactionCodeConstructAbility;
708extern const JSC::ConstructorKind s_promiseOperationsNewPromiseReactionCodeConstructorKind;
709extern const char* const s_promiseOperationsNewPromiseCapabilitySlowCode;
710extern const int s_promiseOperationsNewPromiseCapabilitySlowCodeLength;
711extern const JSC::ConstructAbility s_promiseOperationsNewPromiseCapabilitySlowCodeConstructAbility;
712extern const JSC::ConstructorKind s_promiseOperationsNewPromiseCapabilitySlowCodeConstructorKind;
713extern const char* const s_promiseOperationsNewPromiseCapabilityCode;
714extern const int s_promiseOperationsNewPromiseCapabilityCodeLength;
715extern const JSC::ConstructAbility s_promiseOperationsNewPromiseCapabilityCodeConstructAbility;
716extern const JSC::ConstructorKind s_promiseOperationsNewPromiseCapabilityCodeConstructorKind;
717extern const char* const s_promiseOperationsPromiseResolveSlowCode;
718extern const int s_promiseOperationsPromiseResolveSlowCodeLength;
719extern const JSC::ConstructAbility s_promiseOperationsPromiseResolveSlowCodeConstructAbility;
720extern const JSC::ConstructorKind s_promiseOperationsPromiseResolveSlowCodeConstructorKind;
721extern const char* const s_promiseOperationsPromiseRejectSlowCode;
722extern const int s_promiseOperationsPromiseRejectSlowCodeLength;
723extern const JSC::ConstructAbility s_promiseOperationsPromiseRejectSlowCodeConstructAbility;
724extern const JSC::ConstructorKind s_promiseOperationsPromiseRejectSlowCodeConstructorKind;
725extern const char* const s_promiseOperationsNewHandledRejectedPromiseCode;
726extern const int s_promiseOperationsNewHandledRejectedPromiseCodeLength;
727extern const JSC::ConstructAbility s_promiseOperationsNewHandledRejectedPromiseCodeConstructAbility;
728extern const JSC::ConstructorKind s_promiseOperationsNewHandledRejectedPromiseCodeConstructorKind;
729extern const char* const s_promiseOperationsTriggerPromiseReactionsCode;
730extern const int s_promiseOperationsTriggerPromiseReactionsCodeLength;
731extern const JSC::ConstructAbility s_promiseOperationsTriggerPromiseReactionsCodeConstructAbility;
732extern const JSC::ConstructorKind s_promiseOperationsTriggerPromiseReactionsCodeConstructorKind;
733extern const char* const s_promiseOperationsResolvePromiseCode;
734extern const int s_promiseOperationsResolvePromiseCodeLength;
735extern const JSC::ConstructAbility s_promiseOperationsResolvePromiseCodeConstructAbility;
736extern const JSC::ConstructorKind s_promiseOperationsResolvePromiseCodeConstructorKind;
737extern const char* const s_promiseOperationsRejectPromiseCode;
738extern const int s_promiseOperationsRejectPromiseCodeLength;
739extern const JSC::ConstructAbility s_promiseOperationsRejectPromiseCodeConstructAbility;
740extern const JSC::ConstructorKind s_promiseOperationsRejectPromiseCodeConstructorKind;
741extern const char* const s_promiseOperationsFulfillPromiseCode;
742extern const int s_promiseOperationsFulfillPromiseCodeLength;
743extern const JSC::ConstructAbility s_promiseOperationsFulfillPromiseCodeConstructAbility;
744extern const JSC::ConstructorKind s_promiseOperationsFulfillPromiseCodeConstructorKind;
745extern const char* const s_promiseOperationsResolvePromiseWithFirstResolvingFunctionCallCheckCode;
746extern const int s_promiseOperationsResolvePromiseWithFirstResolvingFunctionCallCheckCodeLength;
747extern const JSC::ConstructAbility s_promiseOperationsResolvePromiseWithFirstResolvingFunctionCallCheckCodeConstructAbility;
748extern const JSC::ConstructorKind s_promiseOperationsResolvePromiseWithFirstResolvingFunctionCallCheckCodeConstructorKind;
749extern const char* const s_promiseOperationsRejectPromiseWithFirstResolvingFunctionCallCheckCode;
750extern const int s_promiseOperationsRejectPromiseWithFirstResolvingFunctionCallCheckCodeLength;
751extern const JSC::ConstructAbility s_promiseOperationsRejectPromiseWithFirstResolvingFunctionCallCheckCodeConstructAbility;
752extern const JSC::ConstructorKind s_promiseOperationsRejectPromiseWithFirstResolvingFunctionCallCheckCodeConstructorKind;
753extern const char* const s_promiseOperationsCreateResolvingFunctionsCode;
754extern const int s_promiseOperationsCreateResolvingFunctionsCodeLength;
755extern const JSC::ConstructAbility s_promiseOperationsCreateResolvingFunctionsCodeConstructAbility;
756extern const JSC::ConstructorKind s_promiseOperationsCreateResolvingFunctionsCodeConstructorKind;
757extern const char* const s_promiseOperationsPromiseReactionJobWithoutPromiseCode;
758extern const int s_promiseOperationsPromiseReactionJobWithoutPromiseCodeLength;
759extern const JSC::ConstructAbility s_promiseOperationsPromiseReactionJobWithoutPromiseCodeConstructAbility;
760extern const JSC::ConstructorKind s_promiseOperationsPromiseReactionJobWithoutPromiseCodeConstructorKind;
761extern const char* const s_promiseOperationsResolveWithoutPromiseCode;
762extern const int s_promiseOperationsResolveWithoutPromiseCodeLength;
763extern const JSC::ConstructAbility s_promiseOperationsResolveWithoutPromiseCodeConstructAbility;
764extern const JSC::ConstructorKind s_promiseOperationsResolveWithoutPromiseCodeConstructorKind;
765extern const char* const s_promiseOperationsRejectWithoutPromiseCode;
766extern const int s_promiseOperationsRejectWithoutPromiseCodeLength;
767extern const JSC::ConstructAbility s_promiseOperationsRejectWithoutPromiseCodeConstructAbility;
768extern const JSC::ConstructorKind s_promiseOperationsRejectWithoutPromiseCodeConstructorKind;
769extern const char* const s_promiseOperationsFulfillWithoutPromiseCode;
770extern const int s_promiseOperationsFulfillWithoutPromiseCodeLength;
771extern const JSC::ConstructAbility s_promiseOperationsFulfillWithoutPromiseCodeConstructAbility;
772extern const JSC::ConstructorKind s_promiseOperationsFulfillWithoutPromiseCodeConstructorKind;
773extern const char* const s_promiseOperationsCreateResolvingFunctionsWithoutPromiseCode;
774extern const int s_promiseOperationsCreateResolvingFunctionsWithoutPromiseCodeLength;
775extern const JSC::ConstructAbility s_promiseOperationsCreateResolvingFunctionsWithoutPromiseCodeConstructAbility;
776extern const JSC::ConstructorKind s_promiseOperationsCreateResolvingFunctionsWithoutPromiseCodeConstructorKind;
777extern const char* const s_promiseOperationsPromiseReactionJobCode;
778extern const int s_promiseOperationsPromiseReactionJobCodeLength;
779extern const JSC::ConstructAbility s_promiseOperationsPromiseReactionJobCodeConstructAbility;
780extern const JSC::ConstructorKind s_promiseOperationsPromiseReactionJobCodeConstructorKind;
781extern const char* const s_promiseOperationsPromiseResolveThenableJobFastCode;
782extern const int s_promiseOperationsPromiseResolveThenableJobFastCodeLength;
783extern const JSC::ConstructAbility s_promiseOperationsPromiseResolveThenableJobFastCodeConstructAbility;
784extern const JSC::ConstructorKind s_promiseOperationsPromiseResolveThenableJobFastCodeConstructorKind;
785extern const char* const s_promiseOperationsPromiseResolveThenableJobWithoutPromiseFastCode;
786extern const int s_promiseOperationsPromiseResolveThenableJobWithoutPromiseFastCodeLength;
787extern const JSC::ConstructAbility s_promiseOperationsPromiseResolveThenableJobWithoutPromiseFastCodeConstructAbility;
788extern const JSC::ConstructorKind s_promiseOperationsPromiseResolveThenableJobWithoutPromiseFastCodeConstructorKind;
789extern const char* const s_promiseOperationsPromiseResolveThenableJobCode;
790extern const int s_promiseOperationsPromiseResolveThenableJobCodeLength;
791extern const JSC::ConstructAbility s_promiseOperationsPromiseResolveThenableJobCodeConstructAbility;
792extern const JSC::ConstructorKind s_promiseOperationsPromiseResolveThenableJobCodeConstructorKind;
793
794#define JSC_FOREACH_PROMISEOPERATIONS_BUILTIN_DATA(macro) \
795 macro(newPromiseReaction, promiseOperationsNewPromiseReaction, 3) \
796 macro(newPromiseCapabilitySlow, promiseOperationsNewPromiseCapabilitySlow, 1) \
797 macro(newPromiseCapability, promiseOperationsNewPromiseCapability, 1) \
798 macro(promiseResolveSlow, promiseOperationsPromiseResolveSlow, 2) \
799 macro(promiseRejectSlow, promiseOperationsPromiseRejectSlow, 2) \
800 macro(newHandledRejectedPromise, promiseOperationsNewHandledRejectedPromise, 1) \
801 macro(triggerPromiseReactions, promiseOperationsTriggerPromiseReactions, 3) \
802 macro(resolvePromise, promiseOperationsResolvePromise, 2) \
803 macro(rejectPromise, promiseOperationsRejectPromise, 2) \
804 macro(fulfillPromise, promiseOperationsFulfillPromise, 2) \
805 macro(resolvePromiseWithFirstResolvingFunctionCallCheck, promiseOperationsResolvePromiseWithFirstResolvingFunctionCallCheck, 2) \
806 macro(rejectPromiseWithFirstResolvingFunctionCallCheck, promiseOperationsRejectPromiseWithFirstResolvingFunctionCallCheck, 2) \
807 macro(createResolvingFunctions, promiseOperationsCreateResolvingFunctions, 1) \
808 macro(promiseReactionJobWithoutPromise, promiseOperationsPromiseReactionJobWithoutPromise, 2) \
809 macro(resolveWithoutPromise, promiseOperationsResolveWithoutPromise, 3) \
810 macro(rejectWithoutPromise, promiseOperationsRejectWithoutPromise, 3) \
811 macro(fulfillWithoutPromise, promiseOperationsFulfillWithoutPromise, 3) \
812 macro(createResolvingFunctionsWithoutPromise, promiseOperationsCreateResolvingFunctionsWithoutPromise, 2) \
813 macro(promiseReactionJob, promiseOperationsPromiseReactionJob, 3) \
814 macro(promiseResolveThenableJobFast, promiseOperationsPromiseResolveThenableJobFast, 2) \
815 macro(promiseResolveThenableJobWithoutPromiseFast, promiseOperationsPromiseResolveThenableJobWithoutPromiseFast, 3) \
816 macro(promiseResolveThenableJob, promiseOperationsPromiseResolveThenableJob, 3) \
817
818/* PromisePrototype */
819extern const char* const s_promisePrototypeCatchCode;
820extern const int s_promisePrototypeCatchCodeLength;
821extern const JSC::ConstructAbility s_promisePrototypeCatchCodeConstructAbility;
822extern const JSC::ConstructorKind s_promisePrototypeCatchCodeConstructorKind;
823extern const char* const s_promisePrototypeThenCode;
824extern const int s_promisePrototypeThenCodeLength;
825extern const JSC::ConstructAbility s_promisePrototypeThenCodeConstructAbility;
826extern const JSC::ConstructorKind s_promisePrototypeThenCodeConstructorKind;
827extern const char* const s_promisePrototypeFinallyCode;
828extern const int s_promisePrototypeFinallyCodeLength;
829extern const JSC::ConstructAbility s_promisePrototypeFinallyCodeConstructAbility;
830extern const JSC::ConstructorKind s_promisePrototypeFinallyCodeConstructorKind;
831extern const char* const s_promisePrototypeGetThenFinallyCode;
832extern const int s_promisePrototypeGetThenFinallyCodeLength;
833extern const JSC::ConstructAbility s_promisePrototypeGetThenFinallyCodeConstructAbility;
834extern const JSC::ConstructorKind s_promisePrototypeGetThenFinallyCodeConstructorKind;
835extern const char* const s_promisePrototypeGetCatchFinallyCode;
836extern const int s_promisePrototypeGetCatchFinallyCodeLength;
837extern const JSC::ConstructAbility s_promisePrototypeGetCatchFinallyCodeConstructAbility;
838extern const JSC::ConstructorKind s_promisePrototypeGetCatchFinallyCodeConstructorKind;
839
840#define JSC_FOREACH_PROMISEPROTOTYPE_BUILTIN_DATA(macro) \
841 macro(catch, promisePrototypeCatch, 1) \
842 macro(then, promisePrototypeThen, 2) \
843 macro(finally, promisePrototypeFinally, 1) \
844 macro(getThenFinally, promisePrototypeGetThenFinally, 2) \
845 macro(getCatchFinally, promisePrototypeGetCatchFinally, 2) \
846
847/* ReflectObject */
848extern const char* const s_reflectObjectApplyCode;
849extern const int s_reflectObjectApplyCodeLength;
850extern const JSC::ConstructAbility s_reflectObjectApplyCodeConstructAbility;
851extern const JSC::ConstructorKind s_reflectObjectApplyCodeConstructorKind;
852extern const char* const s_reflectObjectDeletePropertyCode;
853extern const int s_reflectObjectDeletePropertyCodeLength;
854extern const JSC::ConstructAbility s_reflectObjectDeletePropertyCodeConstructAbility;
855extern const JSC::ConstructorKind s_reflectObjectDeletePropertyCodeConstructorKind;
856extern const char* const s_reflectObjectHasCode;
857extern const int s_reflectObjectHasCodeLength;
858extern const JSC::ConstructAbility s_reflectObjectHasCodeConstructAbility;
859extern const JSC::ConstructorKind s_reflectObjectHasCodeConstructorKind;
860
861#define JSC_FOREACH_REFLECTOBJECT_BUILTIN_DATA(macro) \
862 macro(apply, reflectObjectApply, 3) \
863 macro(deleteProperty, reflectObjectDeleteProperty, 2) \
864 macro(has, reflectObjectHas, 2) \
865
866/* RegExpPrototype */
867extern const char* const s_regExpPrototypeRegExpStringIteratorConstructorCode;
868extern const int s_regExpPrototypeRegExpStringIteratorConstructorCodeLength;
869extern const JSC::ConstructAbility s_regExpPrototypeRegExpStringIteratorConstructorCodeConstructAbility;
870extern const JSC::ConstructorKind s_regExpPrototypeRegExpStringIteratorConstructorCodeConstructorKind;
871extern const char* const s_regExpPrototypeAdvanceStringIndexCode;
872extern const int s_regExpPrototypeAdvanceStringIndexCodeLength;
873extern const JSC::ConstructAbility s_regExpPrototypeAdvanceStringIndexCodeConstructAbility;
874extern const JSC::ConstructorKind s_regExpPrototypeAdvanceStringIndexCodeConstructorKind;
875extern const char* const s_regExpPrototypeRegExpExecCode;
876extern const int s_regExpPrototypeRegExpExecCodeLength;
877extern const JSC::ConstructAbility s_regExpPrototypeRegExpExecCodeConstructAbility;
878extern const JSC::ConstructorKind s_regExpPrototypeRegExpExecCodeConstructorKind;
879extern const char* const s_regExpPrototypeHasObservableSideEffectsForRegExpMatchCode;
880extern const int s_regExpPrototypeHasObservableSideEffectsForRegExpMatchCodeLength;
881extern const JSC::ConstructAbility s_regExpPrototypeHasObservableSideEffectsForRegExpMatchCodeConstructAbility;
882extern const JSC::ConstructorKind s_regExpPrototypeHasObservableSideEffectsForRegExpMatchCodeConstructorKind;
883extern const char* const s_regExpPrototypeMatchSlowCode;
884extern const int s_regExpPrototypeMatchSlowCodeLength;
885extern const JSC::ConstructAbility s_regExpPrototypeMatchSlowCodeConstructAbility;
886extern const JSC::ConstructorKind s_regExpPrototypeMatchSlowCodeConstructorKind;
887extern const char* const s_regExpPrototypeMatchCode;
888extern const int s_regExpPrototypeMatchCodeLength;
889extern const JSC::ConstructAbility s_regExpPrototypeMatchCodeConstructAbility;
890extern const JSC::ConstructorKind s_regExpPrototypeMatchCodeConstructorKind;
891extern const char* const s_regExpPrototypeMatchAllCode;
892extern const int s_regExpPrototypeMatchAllCodeLength;
893extern const JSC::ConstructAbility s_regExpPrototypeMatchAllCodeConstructAbility;
894extern const JSC::ConstructorKind s_regExpPrototypeMatchAllCodeConstructorKind;
895extern const char* const s_regExpPrototypeReplaceCode;
896extern const int s_regExpPrototypeReplaceCodeLength;
897extern const JSC::ConstructAbility s_regExpPrototypeReplaceCodeConstructAbility;
898extern const JSC::ConstructorKind s_regExpPrototypeReplaceCodeConstructorKind;
899extern const char* const s_regExpPrototypeSearchCode;
900extern const int s_regExpPrototypeSearchCodeLength;
901extern const JSC::ConstructAbility s_regExpPrototypeSearchCodeConstructAbility;
902extern const JSC::ConstructorKind s_regExpPrototypeSearchCodeConstructorKind;
903extern const char* const s_regExpPrototypeHasObservableSideEffectsForRegExpSplitCode;
904extern const int s_regExpPrototypeHasObservableSideEffectsForRegExpSplitCodeLength;
905extern const JSC::ConstructAbility s_regExpPrototypeHasObservableSideEffectsForRegExpSplitCodeConstructAbility;
906extern const JSC::ConstructorKind s_regExpPrototypeHasObservableSideEffectsForRegExpSplitCodeConstructorKind;
907extern const char* const s_regExpPrototypeSplitCode;
908extern const int s_regExpPrototypeSplitCodeLength;
909extern const JSC::ConstructAbility s_regExpPrototypeSplitCodeConstructAbility;
910extern const JSC::ConstructorKind s_regExpPrototypeSplitCodeConstructorKind;
911extern const char* const s_regExpPrototypeTestCode;
912extern const int s_regExpPrototypeTestCodeLength;
913extern const JSC::ConstructAbility s_regExpPrototypeTestCodeConstructAbility;
914extern const JSC::ConstructorKind s_regExpPrototypeTestCodeConstructorKind;
915
916#define JSC_FOREACH_REGEXPPROTOTYPE_BUILTIN_DATA(macro) \
917 macro(RegExpStringIterator, regExpPrototypeRegExpStringIteratorConstructor, 4) \
918 macro(advanceStringIndex, regExpPrototypeAdvanceStringIndex, 3) \
919 macro(regExpExec, regExpPrototypeRegExpExec, 2) \
920 macro(hasObservableSideEffectsForRegExpMatch, regExpPrototypeHasObservableSideEffectsForRegExpMatch, 1) \
921 macro(matchSlow, regExpPrototypeMatchSlow, 2) \
922 macro(match, regExpPrototypeMatch, 1) \
923 macro(matchAll, regExpPrototypeMatchAll, 1) \
924 macro(replace, regExpPrototypeReplace, 2) \
925 macro(search, regExpPrototypeSearch, 1) \
926 macro(hasObservableSideEffectsForRegExpSplit, regExpPrototypeHasObservableSideEffectsForRegExpSplit, 1) \
927 macro(split, regExpPrototypeSplit, 2) \
928 macro(test, regExpPrototypeTest, 1) \
929
930/* RegExpStringIteratorPrototype */
931extern const char* const s_regExpStringIteratorPrototypeNextCode;
932extern const int s_regExpStringIteratorPrototypeNextCodeLength;
933extern const JSC::ConstructAbility s_regExpStringIteratorPrototypeNextCodeConstructAbility;
934extern const JSC::ConstructorKind s_regExpStringIteratorPrototypeNextCodeConstructorKind;
935
936#define JSC_FOREACH_REGEXPSTRINGITERATORPROTOTYPE_BUILTIN_DATA(macro) \
937 macro(next, regExpStringIteratorPrototypeNext, 0) \
938
939/* SetIteratorPrototype */
940extern const char* const s_setIteratorPrototypeSetIteratorNextCode;
941extern const int s_setIteratorPrototypeSetIteratorNextCodeLength;
942extern const JSC::ConstructAbility s_setIteratorPrototypeSetIteratorNextCodeConstructAbility;
943extern const JSC::ConstructorKind s_setIteratorPrototypeSetIteratorNextCodeConstructorKind;
944extern const char* const s_setIteratorPrototypeNextCode;
945extern const int s_setIteratorPrototypeNextCodeLength;
946extern const JSC::ConstructAbility s_setIteratorPrototypeNextCodeConstructAbility;
947extern const JSC::ConstructorKind s_setIteratorPrototypeNextCodeConstructorKind;
948
949#define JSC_FOREACH_SETITERATORPROTOTYPE_BUILTIN_DATA(macro) \
950 macro(setIteratorNext, setIteratorPrototypeSetIteratorNext, 2) \
951 macro(next, setIteratorPrototypeNext, 0) \
952
953/* SetPrototype */
954extern const char* const s_setPrototypeSetIteratorConstructorCode;
955extern const int s_setPrototypeSetIteratorConstructorCodeLength;
956extern const JSC::ConstructAbility s_setPrototypeSetIteratorConstructorCodeConstructAbility;
957extern const JSC::ConstructorKind s_setPrototypeSetIteratorConstructorCodeConstructorKind;
958extern const char* const s_setPrototypeValuesCode;
959extern const int s_setPrototypeValuesCodeLength;
960extern const JSC::ConstructAbility s_setPrototypeValuesCodeConstructAbility;
961extern const JSC::ConstructorKind s_setPrototypeValuesCodeConstructorKind;
962extern const char* const s_setPrototypeEntriesCode;
963extern const int s_setPrototypeEntriesCodeLength;
964extern const JSC::ConstructAbility s_setPrototypeEntriesCodeConstructAbility;
965extern const JSC::ConstructorKind s_setPrototypeEntriesCodeConstructorKind;
966extern const char* const s_setPrototypeForEachCode;
967extern const int s_setPrototypeForEachCodeLength;
968extern const JSC::ConstructAbility s_setPrototypeForEachCodeConstructAbility;
969extern const JSC::ConstructorKind s_setPrototypeForEachCodeConstructorKind;
970
971#define JSC_FOREACH_SETPROTOTYPE_BUILTIN_DATA(macro) \
972 macro(SetIterator, setPrototypeSetIteratorConstructor, 2) \
973 macro(values, setPrototypeValues, 0) \
974 macro(entries, setPrototypeEntries, 0) \
975 macro(forEach, setPrototypeForEach, 1) \
976
977/* StringConstructor */
978extern const char* const s_stringConstructorRawCode;
979extern const int s_stringConstructorRawCodeLength;
980extern const JSC::ConstructAbility s_stringConstructorRawCodeConstructAbility;
981extern const JSC::ConstructorKind s_stringConstructorRawCodeConstructorKind;
982
983#define JSC_FOREACH_STRINGCONSTRUCTOR_BUILTIN_DATA(macro) \
984 macro(raw, stringConstructorRaw, 1) \
985
986/* StringIteratorPrototype */
987extern const char* const s_stringIteratorPrototypeNextCode;
988extern const int s_stringIteratorPrototypeNextCodeLength;
989extern const JSC::ConstructAbility s_stringIteratorPrototypeNextCodeConstructAbility;
990extern const JSC::ConstructorKind s_stringIteratorPrototypeNextCodeConstructorKind;
991
992#define JSC_FOREACH_STRINGITERATORPROTOTYPE_BUILTIN_DATA(macro) \
993 macro(next, stringIteratorPrototypeNext, 0) \
994
995/* StringPrototype */
996extern const char* const s_stringPrototypeMatchCode;
997extern const int s_stringPrototypeMatchCodeLength;
998extern const JSC::ConstructAbility s_stringPrototypeMatchCodeConstructAbility;
999extern const JSC::ConstructorKind s_stringPrototypeMatchCodeConstructorKind;
1000extern const char* const s_stringPrototypeMatchAllCode;
1001extern const int s_stringPrototypeMatchAllCodeLength;
1002extern const JSC::ConstructAbility s_stringPrototypeMatchAllCodeConstructAbility;
1003extern const JSC::ConstructorKind s_stringPrototypeMatchAllCodeConstructorKind;
1004extern const char* const s_stringPrototypeRepeatSlowPathCode;
1005extern const int s_stringPrototypeRepeatSlowPathCodeLength;
1006extern const JSC::ConstructAbility s_stringPrototypeRepeatSlowPathCodeConstructAbility;
1007extern const JSC::ConstructorKind s_stringPrototypeRepeatSlowPathCodeConstructorKind;
1008extern const char* const s_stringPrototypeRepeatCharactersSlowPathCode;
1009extern const int s_stringPrototypeRepeatCharactersSlowPathCodeLength;
1010extern const JSC::ConstructAbility s_stringPrototypeRepeatCharactersSlowPathCodeConstructAbility;
1011extern const JSC::ConstructorKind s_stringPrototypeRepeatCharactersSlowPathCodeConstructorKind;
1012extern const char* const s_stringPrototypeRepeatCode;
1013extern const int s_stringPrototypeRepeatCodeLength;
1014extern const JSC::ConstructAbility s_stringPrototypeRepeatCodeConstructAbility;
1015extern const JSC::ConstructorKind s_stringPrototypeRepeatCodeConstructorKind;
1016extern const char* const s_stringPrototypePadStartCode;
1017extern const int s_stringPrototypePadStartCodeLength;
1018extern const JSC::ConstructAbility s_stringPrototypePadStartCodeConstructAbility;
1019extern const JSC::ConstructorKind s_stringPrototypePadStartCodeConstructorKind;
1020extern const char* const s_stringPrototypePadEndCode;
1021extern const int s_stringPrototypePadEndCodeLength;
1022extern const JSC::ConstructAbility s_stringPrototypePadEndCodeConstructAbility;
1023extern const JSC::ConstructorKind s_stringPrototypePadEndCodeConstructorKind;
1024extern const char* const s_stringPrototypeHasObservableSideEffectsForStringReplaceCode;
1025extern const int s_stringPrototypeHasObservableSideEffectsForStringReplaceCodeLength;
1026extern const JSC::ConstructAbility s_stringPrototypeHasObservableSideEffectsForStringReplaceCodeConstructAbility;
1027extern const JSC::ConstructorKind s_stringPrototypeHasObservableSideEffectsForStringReplaceCodeConstructorKind;
1028extern const char* const s_stringPrototypeReplaceCode;
1029extern const int s_stringPrototypeReplaceCodeLength;
1030extern const JSC::ConstructAbility s_stringPrototypeReplaceCodeConstructAbility;
1031extern const JSC::ConstructorKind s_stringPrototypeReplaceCodeConstructorKind;
1032extern const char* const s_stringPrototypeReplaceAllCode;
1033extern const int s_stringPrototypeReplaceAllCodeLength;
1034extern const JSC::ConstructAbility s_stringPrototypeReplaceAllCodeConstructAbility;
1035extern const JSC::ConstructorKind s_stringPrototypeReplaceAllCodeConstructorKind;
1036extern const char* const s_stringPrototypeSearchCode;
1037extern const int s_stringPrototypeSearchCodeLength;
1038extern const JSC::ConstructAbility s_stringPrototypeSearchCodeConstructAbility;
1039extern const JSC::ConstructorKind s_stringPrototypeSearchCodeConstructorKind;
1040extern const char* const s_stringPrototypeSplitCode;
1041extern const int s_stringPrototypeSplitCodeLength;
1042extern const JSC::ConstructAbility s_stringPrototypeSplitCodeConstructAbility;
1043extern const JSC::ConstructorKind s_stringPrototypeSplitCodeConstructorKind;
1044extern const char* const s_stringPrototypeStringConcatSlowPathCode;
1045extern const int s_stringPrototypeStringConcatSlowPathCodeLength;
1046extern const JSC::ConstructAbility s_stringPrototypeStringConcatSlowPathCodeConstructAbility;
1047extern const JSC::ConstructorKind s_stringPrototypeStringConcatSlowPathCodeConstructorKind;
1048extern const char* const s_stringPrototypeConcatCode;
1049extern const int s_stringPrototypeConcatCodeLength;
1050extern const JSC::ConstructAbility s_stringPrototypeConcatCodeConstructAbility;
1051extern const JSC::ConstructorKind s_stringPrototypeConcatCodeConstructorKind;
1052extern const char* const s_stringPrototypeCreateHTMLCode;
1053extern const int s_stringPrototypeCreateHTMLCodeLength;
1054extern const JSC::ConstructAbility s_stringPrototypeCreateHTMLCodeConstructAbility;
1055extern const JSC::ConstructorKind s_stringPrototypeCreateHTMLCodeConstructorKind;
1056extern const char* const s_stringPrototypeAnchorCode;
1057extern const int s_stringPrototypeAnchorCodeLength;
1058extern const JSC::ConstructAbility s_stringPrototypeAnchorCodeConstructAbility;
1059extern const JSC::ConstructorKind s_stringPrototypeAnchorCodeConstructorKind;
1060extern const char* const s_stringPrototypeBigCode;
1061extern const int s_stringPrototypeBigCodeLength;
1062extern const JSC::ConstructAbility s_stringPrototypeBigCodeConstructAbility;
1063extern const JSC::ConstructorKind s_stringPrototypeBigCodeConstructorKind;
1064extern const char* const s_stringPrototypeBlinkCode;
1065extern const int s_stringPrototypeBlinkCodeLength;
1066extern const JSC::ConstructAbility s_stringPrototypeBlinkCodeConstructAbility;
1067extern const JSC::ConstructorKind s_stringPrototypeBlinkCodeConstructorKind;
1068extern const char* const s_stringPrototypeBoldCode;
1069extern const int s_stringPrototypeBoldCodeLength;
1070extern const JSC::ConstructAbility s_stringPrototypeBoldCodeConstructAbility;
1071extern const JSC::ConstructorKind s_stringPrototypeBoldCodeConstructorKind;
1072extern const char* const s_stringPrototypeFixedCode;
1073extern const int s_stringPrototypeFixedCodeLength;
1074extern const JSC::ConstructAbility s_stringPrototypeFixedCodeConstructAbility;
1075extern const JSC::ConstructorKind s_stringPrototypeFixedCodeConstructorKind;
1076extern const char* const s_stringPrototypeFontcolorCode;
1077extern const int s_stringPrototypeFontcolorCodeLength;
1078extern const JSC::ConstructAbility s_stringPrototypeFontcolorCodeConstructAbility;
1079extern const JSC::ConstructorKind s_stringPrototypeFontcolorCodeConstructorKind;
1080extern const char* const s_stringPrototypeFontsizeCode;
1081extern const int s_stringPrototypeFontsizeCodeLength;
1082extern const JSC::ConstructAbility s_stringPrototypeFontsizeCodeConstructAbility;
1083extern const JSC::ConstructorKind s_stringPrototypeFontsizeCodeConstructorKind;
1084extern const char* const s_stringPrototypeItalicsCode;
1085extern const int s_stringPrototypeItalicsCodeLength;
1086extern const JSC::ConstructAbility s_stringPrototypeItalicsCodeConstructAbility;
1087extern const JSC::ConstructorKind s_stringPrototypeItalicsCodeConstructorKind;
1088extern const char* const s_stringPrototypeLinkCode;
1089extern const int s_stringPrototypeLinkCodeLength;
1090extern const JSC::ConstructAbility s_stringPrototypeLinkCodeConstructAbility;
1091extern const JSC::ConstructorKind s_stringPrototypeLinkCodeConstructorKind;
1092extern const char* const s_stringPrototypeSmallCode;
1093extern const int s_stringPrototypeSmallCodeLength;
1094extern const JSC::ConstructAbility s_stringPrototypeSmallCodeConstructAbility;
1095extern const JSC::ConstructorKind s_stringPrototypeSmallCodeConstructorKind;
1096extern const char* const s_stringPrototypeStrikeCode;
1097extern const int s_stringPrototypeStrikeCodeLength;
1098extern const JSC::ConstructAbility s_stringPrototypeStrikeCodeConstructAbility;
1099extern const JSC::ConstructorKind s_stringPrototypeStrikeCodeConstructorKind;
1100extern const char* const s_stringPrototypeSubCode;
1101extern const int s_stringPrototypeSubCodeLength;
1102extern const JSC::ConstructAbility s_stringPrototypeSubCodeConstructAbility;
1103extern const JSC::ConstructorKind s_stringPrototypeSubCodeConstructorKind;
1104extern const char* const s_stringPrototypeSupCode;
1105extern const int s_stringPrototypeSupCodeLength;
1106extern const JSC::ConstructAbility s_stringPrototypeSupCodeConstructAbility;
1107extern const JSC::ConstructorKind s_stringPrototypeSupCodeConstructorKind;
1108
1109#define JSC_FOREACH_STRINGPROTOTYPE_BUILTIN_DATA(macro) \
1110 macro(match, stringPrototypeMatch, 1) \
1111 macro(matchAll, stringPrototypeMatchAll, 1) \
1112 macro(repeatSlowPath, stringPrototypeRepeatSlowPath, 2) \
1113 macro(repeatCharactersSlowPath, stringPrototypeRepeatCharactersSlowPath, 2) \
1114 macro(repeat, stringPrototypeRepeat, 1) \
1115 macro(padStart, stringPrototypePadStart, 1) \
1116 macro(padEnd, stringPrototypePadEnd, 1) \
1117 macro(hasObservableSideEffectsForStringReplace, stringPrototypeHasObservableSideEffectsForStringReplace, 2) \
1118 macro(replace, stringPrototypeReplace, 2) \
1119 macro(replaceAll, stringPrototypeReplaceAll, 2) \
1120 macro(search, stringPrototypeSearch, 1) \
1121 macro(split, stringPrototypeSplit, 2) \
1122 macro(stringConcatSlowPath, stringPrototypeStringConcatSlowPath, 0) \
1123 macro(concat, stringPrototypeConcat, 1) \
1124 macro(createHTML, stringPrototypeCreateHTML, 5) \
1125 macro(anchor, stringPrototypeAnchor, 1) \
1126 macro(big, stringPrototypeBig, 0) \
1127 macro(blink, stringPrototypeBlink, 0) \
1128 macro(bold, stringPrototypeBold, 0) \
1129 macro(fixed, stringPrototypeFixed, 0) \
1130 macro(fontcolor, stringPrototypeFontcolor, 1) \
1131 macro(fontsize, stringPrototypeFontsize, 1) \
1132 macro(italics, stringPrototypeItalics, 0) \
1133 macro(link, stringPrototypeLink, 1) \
1134 macro(small, stringPrototypeSmall, 0) \
1135 macro(strike, stringPrototypeStrike, 0) \
1136 macro(sub, stringPrototypeSub, 0) \
1137 macro(sup, stringPrototypeSup, 0) \
1138
1139/* TypedArrayConstructor */
1140extern const char* const s_typedArrayConstructorOfCode;
1141extern const int s_typedArrayConstructorOfCodeLength;
1142extern const JSC::ConstructAbility s_typedArrayConstructorOfCodeConstructAbility;
1143extern const JSC::ConstructorKind s_typedArrayConstructorOfCodeConstructorKind;
1144extern const char* const s_typedArrayConstructorFromCode;
1145extern const int s_typedArrayConstructorFromCodeLength;
1146extern const JSC::ConstructAbility s_typedArrayConstructorFromCodeConstructAbility;
1147extern const JSC::ConstructorKind s_typedArrayConstructorFromCodeConstructorKind;
1148extern const char* const s_typedArrayConstructorAllocateInt8ArrayCode;
1149extern const int s_typedArrayConstructorAllocateInt8ArrayCodeLength;
1150extern const JSC::ConstructAbility s_typedArrayConstructorAllocateInt8ArrayCodeConstructAbility;
1151extern const JSC::ConstructorKind s_typedArrayConstructorAllocateInt8ArrayCodeConstructorKind;
1152extern const char* const s_typedArrayConstructorAllocateInt16ArrayCode;
1153extern const int s_typedArrayConstructorAllocateInt16ArrayCodeLength;
1154extern const JSC::ConstructAbility s_typedArrayConstructorAllocateInt16ArrayCodeConstructAbility;
1155extern const JSC::ConstructorKind s_typedArrayConstructorAllocateInt16ArrayCodeConstructorKind;
1156extern const char* const s_typedArrayConstructorAllocateInt32ArrayCode;
1157extern const int s_typedArrayConstructorAllocateInt32ArrayCodeLength;
1158extern const JSC::ConstructAbility s_typedArrayConstructorAllocateInt32ArrayCodeConstructAbility;
1159extern const JSC::ConstructorKind s_typedArrayConstructorAllocateInt32ArrayCodeConstructorKind;
1160extern const char* const s_typedArrayConstructorAllocateUint32ArrayCode;
1161extern const int s_typedArrayConstructorAllocateUint32ArrayCodeLength;
1162extern const JSC::ConstructAbility s_typedArrayConstructorAllocateUint32ArrayCodeConstructAbility;
1163extern const JSC::ConstructorKind s_typedArrayConstructorAllocateUint32ArrayCodeConstructorKind;
1164extern const char* const s_typedArrayConstructorAllocateUint16ArrayCode;
1165extern const int s_typedArrayConstructorAllocateUint16ArrayCodeLength;
1166extern const JSC::ConstructAbility s_typedArrayConstructorAllocateUint16ArrayCodeConstructAbility;
1167extern const JSC::ConstructorKind s_typedArrayConstructorAllocateUint16ArrayCodeConstructorKind;
1168extern const char* const s_typedArrayConstructorAllocateUint8ArrayCode;
1169extern const int s_typedArrayConstructorAllocateUint8ArrayCodeLength;
1170extern const JSC::ConstructAbility s_typedArrayConstructorAllocateUint8ArrayCodeConstructAbility;
1171extern const JSC::ConstructorKind s_typedArrayConstructorAllocateUint8ArrayCodeConstructorKind;
1172extern const char* const s_typedArrayConstructorAllocateUint8ClampedArrayCode;
1173extern const int s_typedArrayConstructorAllocateUint8ClampedArrayCodeLength;
1174extern const JSC::ConstructAbility s_typedArrayConstructorAllocateUint8ClampedArrayCodeConstructAbility;
1175extern const JSC::ConstructorKind s_typedArrayConstructorAllocateUint8ClampedArrayCodeConstructorKind;
1176extern const char* const s_typedArrayConstructorAllocateFloat32ArrayCode;
1177extern const int s_typedArrayConstructorAllocateFloat32ArrayCodeLength;
1178extern const JSC::ConstructAbility s_typedArrayConstructorAllocateFloat32ArrayCodeConstructAbility;
1179extern const JSC::ConstructorKind s_typedArrayConstructorAllocateFloat32ArrayCodeConstructorKind;
1180extern const char* const s_typedArrayConstructorAllocateFloat64ArrayCode;
1181extern const int s_typedArrayConstructorAllocateFloat64ArrayCodeLength;
1182extern const JSC::ConstructAbility s_typedArrayConstructorAllocateFloat64ArrayCodeConstructAbility;
1183extern const JSC::ConstructorKind s_typedArrayConstructorAllocateFloat64ArrayCodeConstructorKind;
1184
1185#define JSC_FOREACH_TYPEDARRAYCONSTRUCTOR_BUILTIN_DATA(macro) \
1186 macro(of, typedArrayConstructorOf, 0) \
1187 macro(from, typedArrayConstructorFrom, 1) \
1188 macro(allocateInt8Array, typedArrayConstructorAllocateInt8Array, 1) \
1189 macro(allocateInt16Array, typedArrayConstructorAllocateInt16Array, 1) \
1190 macro(allocateInt32Array, typedArrayConstructorAllocateInt32Array, 1) \
1191 macro(allocateUint32Array, typedArrayConstructorAllocateUint32Array, 1) \
1192 macro(allocateUint16Array, typedArrayConstructorAllocateUint16Array, 1) \
1193 macro(allocateUint8Array, typedArrayConstructorAllocateUint8Array, 1) \
1194 macro(allocateUint8ClampedArray, typedArrayConstructorAllocateUint8ClampedArray, 1) \
1195 macro(allocateFloat32Array, typedArrayConstructorAllocateFloat32Array, 1) \
1196 macro(allocateFloat64Array, typedArrayConstructorAllocateFloat64Array, 1) \
1197
1198/* TypedArrayPrototype */
1199extern const char* const s_typedArrayPrototypeTypedArraySpeciesConstructorCode;
1200extern const int s_typedArrayPrototypeTypedArraySpeciesConstructorCodeLength;
1201extern const JSC::ConstructAbility s_typedArrayPrototypeTypedArraySpeciesConstructorCodeConstructAbility;
1202extern const JSC::ConstructorKind s_typedArrayPrototypeTypedArraySpeciesConstructorCodeConstructorKind;
1203extern const char* const s_typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCode;
1204extern const int s_typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCodeLength;
1205extern const JSC::ConstructAbility s_typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCodeConstructAbility;
1206extern const JSC::ConstructorKind s_typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCodeConstructorKind;
1207extern const char* const s_typedArrayPrototypeValuesCode;
1208extern const int s_typedArrayPrototypeValuesCodeLength;
1209extern const JSC::ConstructAbility s_typedArrayPrototypeValuesCodeConstructAbility;
1210extern const JSC::ConstructorKind s_typedArrayPrototypeValuesCodeConstructorKind;
1211extern const char* const s_typedArrayPrototypeKeysCode;
1212extern const int s_typedArrayPrototypeKeysCodeLength;
1213extern const JSC::ConstructAbility s_typedArrayPrototypeKeysCodeConstructAbility;
1214extern const JSC::ConstructorKind s_typedArrayPrototypeKeysCodeConstructorKind;
1215extern const char* const s_typedArrayPrototypeEntriesCode;
1216extern const int s_typedArrayPrototypeEntriesCodeLength;
1217extern const JSC::ConstructAbility s_typedArrayPrototypeEntriesCodeConstructAbility;
1218extern const JSC::ConstructorKind s_typedArrayPrototypeEntriesCodeConstructorKind;
1219extern const char* const s_typedArrayPrototypeEveryCode;
1220extern const int s_typedArrayPrototypeEveryCodeLength;
1221extern const JSC::ConstructAbility s_typedArrayPrototypeEveryCodeConstructAbility;
1222extern const JSC::ConstructorKind s_typedArrayPrototypeEveryCodeConstructorKind;
1223extern const char* const s_typedArrayPrototypeFillCode;
1224extern const int s_typedArrayPrototypeFillCodeLength;
1225extern const JSC::ConstructAbility s_typedArrayPrototypeFillCodeConstructAbility;
1226extern const JSC::ConstructorKind s_typedArrayPrototypeFillCodeConstructorKind;
1227extern const char* const s_typedArrayPrototypeFindCode;
1228extern const int s_typedArrayPrototypeFindCodeLength;
1229extern const JSC::ConstructAbility s_typedArrayPrototypeFindCodeConstructAbility;
1230extern const JSC::ConstructorKind s_typedArrayPrototypeFindCodeConstructorKind;
1231extern const char* const s_typedArrayPrototypeFindIndexCode;
1232extern const int s_typedArrayPrototypeFindIndexCodeLength;
1233extern const JSC::ConstructAbility s_typedArrayPrototypeFindIndexCodeConstructAbility;
1234extern const JSC::ConstructorKind s_typedArrayPrototypeFindIndexCodeConstructorKind;
1235extern const char* const s_typedArrayPrototypeForEachCode;
1236extern const int s_typedArrayPrototypeForEachCodeLength;
1237extern const JSC::ConstructAbility s_typedArrayPrototypeForEachCodeConstructAbility;
1238extern const JSC::ConstructorKind s_typedArrayPrototypeForEachCodeConstructorKind;
1239extern const char* const s_typedArrayPrototypeSomeCode;
1240extern const int s_typedArrayPrototypeSomeCodeLength;
1241extern const JSC::ConstructAbility s_typedArrayPrototypeSomeCodeConstructAbility;
1242extern const JSC::ConstructorKind s_typedArrayPrototypeSomeCodeConstructorKind;
1243extern const char* const s_typedArrayPrototypeSortCode;
1244extern const int s_typedArrayPrototypeSortCodeLength;
1245extern const JSC::ConstructAbility s_typedArrayPrototypeSortCodeConstructAbility;
1246extern const JSC::ConstructorKind s_typedArrayPrototypeSortCodeConstructorKind;
1247extern const char* const s_typedArrayPrototypeSubarrayCode;
1248extern const int s_typedArrayPrototypeSubarrayCodeLength;
1249extern const JSC::ConstructAbility s_typedArrayPrototypeSubarrayCodeConstructAbility;
1250extern const JSC::ConstructorKind s_typedArrayPrototypeSubarrayCodeConstructorKind;
1251extern const char* const s_typedArrayPrototypeReduceCode;
1252extern const int s_typedArrayPrototypeReduceCodeLength;
1253extern const JSC::ConstructAbility s_typedArrayPrototypeReduceCodeConstructAbility;
1254extern const JSC::ConstructorKind s_typedArrayPrototypeReduceCodeConstructorKind;
1255extern const char* const s_typedArrayPrototypeReduceRightCode;
1256extern const int s_typedArrayPrototypeReduceRightCodeLength;
1257extern const JSC::ConstructAbility s_typedArrayPrototypeReduceRightCodeConstructAbility;
1258extern const JSC::ConstructorKind s_typedArrayPrototypeReduceRightCodeConstructorKind;
1259extern const char* const s_typedArrayPrototypeMapCode;
1260extern const int s_typedArrayPrototypeMapCodeLength;
1261extern const JSC::ConstructAbility s_typedArrayPrototypeMapCodeConstructAbility;
1262extern const JSC::ConstructorKind s_typedArrayPrototypeMapCodeConstructorKind;
1263extern const char* const s_typedArrayPrototypeFilterCode;
1264extern const int s_typedArrayPrototypeFilterCodeLength;
1265extern const JSC::ConstructAbility s_typedArrayPrototypeFilterCodeConstructAbility;
1266extern const JSC::ConstructorKind s_typedArrayPrototypeFilterCodeConstructorKind;
1267extern const char* const s_typedArrayPrototypeToLocaleStringCode;
1268extern const int s_typedArrayPrototypeToLocaleStringCodeLength;
1269extern const JSC::ConstructAbility s_typedArrayPrototypeToLocaleStringCodeConstructAbility;
1270extern const JSC::ConstructorKind s_typedArrayPrototypeToLocaleStringCodeConstructorKind;
1271
1272#define JSC_FOREACH_TYPEDARRAYPROTOTYPE_BUILTIN_DATA(macro) \
1273 macro(typedArraySpeciesConstructor, typedArrayPrototypeTypedArraySpeciesConstructor, 1) \
1274 macro(typedArrayClampArgumentToStartOrEnd, typedArrayPrototypeTypedArrayClampArgumentToStartOrEnd, 3) \
1275 macro(values, typedArrayPrototypeValues, 0) \
1276 macro(keys, typedArrayPrototypeKeys, 0) \
1277 macro(entries, typedArrayPrototypeEntries, 0) \
1278 macro(every, typedArrayPrototypeEvery, 1) \
1279 macro(fill, typedArrayPrototypeFill, 1) \
1280 macro(find, typedArrayPrototypeFind, 1) \
1281 macro(findIndex, typedArrayPrototypeFindIndex, 1) \
1282 macro(forEach, typedArrayPrototypeForEach, 1) \
1283 macro(some, typedArrayPrototypeSome, 1) \
1284 macro(sort, typedArrayPrototypeSort, 1) \
1285 macro(subarray, typedArrayPrototypeSubarray, 2) \
1286 macro(reduce, typedArrayPrototypeReduce, 1) \
1287 macro(reduceRight, typedArrayPrototypeReduceRight, 1) \
1288 macro(map, typedArrayPrototypeMap, 1) \
1289 macro(filter, typedArrayPrototypeFilter, 1) \
1290 macro(toLocaleString, typedArrayPrototypeToLocaleString, 0) \
1291
1292/* WebAssembly */
1293extern const char* const s_webAssemblyCompileStreamingCode;
1294extern const int s_webAssemblyCompileStreamingCodeLength;
1295extern const JSC::ConstructAbility s_webAssemblyCompileStreamingCodeConstructAbility;
1296extern const JSC::ConstructorKind s_webAssemblyCompileStreamingCodeConstructorKind;
1297extern const char* const s_webAssemblyInstantiateStreamingCode;
1298extern const int s_webAssemblyInstantiateStreamingCodeLength;
1299extern const JSC::ConstructAbility s_webAssemblyInstantiateStreamingCodeConstructAbility;
1300extern const JSC::ConstructorKind s_webAssemblyInstantiateStreamingCodeConstructorKind;
1301
1302#define JSC_FOREACH_WEBASSEMBLY_BUILTIN_DATA(macro) \
1303 macro(compileStreaming, webAssemblyCompileStreaming, 1) \
1304 macro(instantiateStreaming, webAssemblyInstantiateStreaming, 1) \
1305
1306#define JSC_FOREACH_BUILTIN_CODE(macro) \
1307 macro(arrayPrototypeArrayIteratorConstructorCode, ArrayIterator, static_cast<const char*>(nullptr), s_arrayPrototypeArrayIteratorConstructorCodeLength) \
1308 macro(asyncFromSyncIteratorPrototypeAsyncFromSyncIteratorConstructorCode, AsyncFromSyncIterator, static_cast<const char*>(nullptr), s_asyncFromSyncIteratorPrototypeAsyncFromSyncIteratorConstructorCodeLength) \
1309 macro(promiseConstructorInternalPromiseConstructorCode, InternalPromise, static_cast<const char*>(nullptr), s_promiseConstructorInternalPromiseConstructorCodeLength) \
1310 macro(mapPrototypeMapIteratorConstructorCode, MapIterator, static_cast<const char*>(nullptr), s_mapPrototypeMapIteratorConstructorCodeLength) \
1311 macro(promiseConstructorPromiseConstructorCode, Promise, static_cast<const char*>(nullptr), s_promiseConstructorPromiseConstructorCodeLength) \
1312 macro(regExpPrototypeRegExpStringIteratorConstructorCode, RegExpStringIterator, static_cast<const char*>(nullptr), s_regExpPrototypeRegExpStringIteratorConstructorCodeLength) \
1313 macro(setPrototypeSetIteratorConstructorCode, SetIterator, static_cast<const char*>(nullptr), s_setPrototypeSetIteratorConstructorCodeLength) \
1314 macro(regExpPrototypeAdvanceStringIndexCode, advanceStringIndex, static_cast<const char*>(nullptr), s_regExpPrototypeAdvanceStringIndexCodeLength) \
1315 macro(promiseConstructorAllCode, all, static_cast<const char*>(nullptr), s_promiseConstructorAllCodeLength) \
1316 macro(promiseConstructorAllSettledCode, allSettled, static_cast<const char*>(nullptr), s_promiseConstructorAllSettledCodeLength) \
1317 macro(typedArrayConstructorAllocateFloat32ArrayCode, allocateFloat32Array, static_cast<const char*>(nullptr), s_typedArrayConstructorAllocateFloat32ArrayCodeLength) \
1318 macro(typedArrayConstructorAllocateFloat64ArrayCode, allocateFloat64Array, static_cast<const char*>(nullptr), s_typedArrayConstructorAllocateFloat64ArrayCodeLength) \
1319 macro(typedArrayConstructorAllocateInt16ArrayCode, allocateInt16Array, static_cast<const char*>(nullptr), s_typedArrayConstructorAllocateInt16ArrayCodeLength) \
1320 macro(typedArrayConstructorAllocateInt32ArrayCode, allocateInt32Array, static_cast<const char*>(nullptr), s_typedArrayConstructorAllocateInt32ArrayCodeLength) \
1321 macro(typedArrayConstructorAllocateInt8ArrayCode, allocateInt8Array, static_cast<const char*>(nullptr), s_typedArrayConstructorAllocateInt8ArrayCodeLength) \
1322 macro(typedArrayConstructorAllocateUint16ArrayCode, allocateUint16Array, static_cast<const char*>(nullptr), s_typedArrayConstructorAllocateUint16ArrayCodeLength) \
1323 macro(typedArrayConstructorAllocateUint32ArrayCode, allocateUint32Array, static_cast<const char*>(nullptr), s_typedArrayConstructorAllocateUint32ArrayCodeLength) \
1324 macro(typedArrayConstructorAllocateUint8ArrayCode, allocateUint8Array, static_cast<const char*>(nullptr), s_typedArrayConstructorAllocateUint8ArrayCodeLength) \
1325 macro(typedArrayConstructorAllocateUint8ClampedArrayCode, allocateUint8ClampedArray, static_cast<const char*>(nullptr), s_typedArrayConstructorAllocateUint8ClampedArrayCodeLength) \
1326 macro(stringPrototypeAnchorCode, anchor, static_cast<const char*>(nullptr), s_stringPrototypeAnchorCodeLength) \
1327 macro(functionPrototypeApplyCode, apply, static_cast<const char*>(nullptr), s_functionPrototypeApplyCodeLength) \
1328 macro(reflectObjectApplyCode, apply, static_cast<const char*>(nullptr), s_reflectObjectApplyCodeLength) \
1329 macro(arrayIteratorPrototypeArrayIteratorKeyNextCode, arrayIteratorKeyNext, static_cast<const char*>(nullptr), s_arrayIteratorPrototypeArrayIteratorKeyNextCodeLength) \
1330 macro(arrayIteratorPrototypeArrayIteratorKeyValueNextCode, arrayIteratorKeyValueNext, static_cast<const char*>(nullptr), s_arrayIteratorPrototypeArrayIteratorKeyValueNextCodeLength) \
1331 macro(arrayIteratorPrototypeArrayIteratorValueNextCode, arrayIteratorValueNext, static_cast<const char*>(nullptr), s_arrayIteratorPrototypeArrayIteratorValueNextCodeLength) \
1332 macro(asyncFunctionPrototypeAsyncFunctionResumeCode, asyncFunctionResume, static_cast<const char*>(nullptr), s_asyncFunctionPrototypeAsyncFunctionResumeCodeLength) \
1333 macro(asyncGeneratorPrototypeAsyncGeneratorEnqueueCode, asyncGeneratorEnqueue, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeAsyncGeneratorEnqueueCodeLength) \
1334 macro(asyncGeneratorPrototypeAsyncGeneratorQueueDequeueCode, asyncGeneratorQueueDequeue, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeAsyncGeneratorQueueDequeueCodeLength) \
1335 macro(asyncGeneratorPrototypeAsyncGeneratorQueueEnqueueCode, asyncGeneratorQueueEnqueue, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeAsyncGeneratorQueueEnqueueCodeLength) \
1336 macro(asyncGeneratorPrototypeAsyncGeneratorQueueIsEmptyCode, asyncGeneratorQueueIsEmpty, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeAsyncGeneratorQueueIsEmptyCodeLength) \
1337 macro(asyncGeneratorPrototypeAsyncGeneratorRejectCode, asyncGeneratorReject, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeAsyncGeneratorRejectCodeLength) \
1338 macro(asyncGeneratorPrototypeAsyncGeneratorResolveCode, asyncGeneratorResolve, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeAsyncGeneratorResolveCodeLength) \
1339 macro(asyncGeneratorPrototypeAsyncGeneratorResumeNextCode, asyncGeneratorResumeNext, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeAsyncGeneratorResumeNextCodeLength) \
1340 macro(asyncGeneratorPrototypeAsyncGeneratorYieldCode, asyncGeneratorYield, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeAsyncGeneratorYieldCodeLength) \
1341 macro(asyncGeneratorPrototypeAwaitValueCode, awaitValue, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeAwaitValueCodeLength) \
1342 macro(stringPrototypeBigCode, big, static_cast<const char*>(nullptr), s_stringPrototypeBigCodeLength) \
1343 macro(functionPrototypeBindCode, bind, static_cast<const char*>(nullptr), s_functionPrototypeBindCodeLength) \
1344 macro(stringPrototypeBlinkCode, blink, static_cast<const char*>(nullptr), s_stringPrototypeBlinkCodeLength) \
1345 macro(stringPrototypeBoldCode, bold, static_cast<const char*>(nullptr), s_stringPrototypeBoldCodeLength) \
1346 macro(functionPrototypeCallCode, call, static_cast<const char*>(nullptr), s_functionPrototypeCallCodeLength) \
1347 macro(promisePrototypeCatchCode, catch, static_cast<const char*>(nullptr), s_promisePrototypeCatchCodeLength) \
1348 macro(webAssemblyCompileStreamingCode, compileStreaming, static_cast<const char*>(nullptr), s_webAssemblyCompileStreamingCodeLength) \
1349 macro(arrayPrototypeConcatCode, concat, static_cast<const char*>(nullptr), s_arrayPrototypeConcatCodeLength) \
1350 macro(stringPrototypeConcatCode, concat, static_cast<const char*>(nullptr), s_stringPrototypeConcatCodeLength) \
1351 macro(arrayPrototypeConcatSlowPathCode, concatSlowPath, static_cast<const char*>(nullptr), s_arrayPrototypeConcatSlowPathCodeLength) \
1352 macro(globalOperationsCopyDataPropertiesCode, copyDataProperties, static_cast<const char*>(nullptr), s_globalOperationsCopyDataPropertiesCodeLength) \
1353 macro(globalOperationsCopyDataPropertiesNoExclusionsCode, copyDataPropertiesNoExclusions, static_cast<const char*>(nullptr), s_globalOperationsCopyDataPropertiesNoExclusionsCodeLength) \
1354 macro(arrayPrototypeCopyWithinCode, copyWithin, static_cast<const char*>(nullptr), s_arrayPrototypeCopyWithinCodeLength) \
1355 macro(asyncFromSyncIteratorPrototypeCreateAsyncFromSyncIteratorCode, createAsyncFromSyncIterator, static_cast<const char*>(nullptr), s_asyncFromSyncIteratorPrototypeCreateAsyncFromSyncIteratorCodeLength) \
1356 macro(stringPrototypeCreateHTMLCode, createHTML, static_cast<const char*>(nullptr), s_stringPrototypeCreateHTMLCodeLength) \
1357 macro(promiseOperationsCreateResolvingFunctionsCode, createResolvingFunctions, static_cast<const char*>(nullptr), s_promiseOperationsCreateResolvingFunctionsCodeLength) \
1358 macro(promiseOperationsCreateResolvingFunctionsWithoutPromiseCode, createResolvingFunctionsWithoutPromise, static_cast<const char*>(nullptr), s_promiseOperationsCreateResolvingFunctionsWithoutPromiseCodeLength) \
1359 macro(reflectObjectDeletePropertyCode, deleteProperty, static_cast<const char*>(nullptr), s_reflectObjectDeletePropertyCodeLength) \
1360 macro(moduleLoaderDependencyKeysIfEvaluatedCode, dependencyKeysIfEvaluated, static_cast<const char*>(nullptr), s_moduleLoaderDependencyKeysIfEvaluatedCodeLength) \
1361 macro(asyncGeneratorPrototypeDoAsyncGeneratorBodyCallCode, doAsyncGeneratorBodyCall, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeDoAsyncGeneratorBodyCallCodeLength) \
1362 macro(moduleLoaderEnsureRegisteredCode, ensureRegistered, static_cast<const char*>(nullptr), s_moduleLoaderEnsureRegisteredCodeLength) \
1363 macro(arrayPrototypeEntriesCode, entries, static_cast<const char*>(nullptr), s_arrayPrototypeEntriesCodeLength) \
1364 macro(mapPrototypeEntriesCode, entries, static_cast<const char*>(nullptr), s_mapPrototypeEntriesCodeLength) \
1365 macro(objectConstructorEntriesCode, entries, static_cast<const char*>(nullptr), s_objectConstructorEntriesCodeLength) \
1366 macro(setPrototypeEntriesCode, entries, static_cast<const char*>(nullptr), s_setPrototypeEntriesCodeLength) \
1367 macro(typedArrayPrototypeEntriesCode, entries, static_cast<const char*>(nullptr), s_typedArrayPrototypeEntriesCodeLength) \
1368 macro(arrayPrototypeEveryCode, every, static_cast<const char*>(nullptr), s_arrayPrototypeEveryCodeLength) \
1369 macro(typedArrayPrototypeEveryCode, every, static_cast<const char*>(nullptr), s_typedArrayPrototypeEveryCodeLength) \
1370 macro(arrayPrototypeFillCode, fill, static_cast<const char*>(nullptr), s_arrayPrototypeFillCodeLength) \
1371 macro(typedArrayPrototypeFillCode, fill, static_cast<const char*>(nullptr), s_typedArrayPrototypeFillCodeLength) \
1372 macro(arrayPrototypeFilterCode, filter, static_cast<const char*>(nullptr), s_arrayPrototypeFilterCodeLength) \
1373 macro(typedArrayPrototypeFilterCode, filter, static_cast<const char*>(nullptr), s_typedArrayPrototypeFilterCodeLength) \
1374 macro(promisePrototypeFinallyCode, finally, static_cast<const char*>(nullptr), s_promisePrototypeFinallyCodeLength) \
1375 macro(arrayPrototypeFindCode, find, static_cast<const char*>(nullptr), s_arrayPrototypeFindCodeLength) \
1376 macro(typedArrayPrototypeFindCode, find, static_cast<const char*>(nullptr), s_typedArrayPrototypeFindCodeLength) \
1377 macro(arrayPrototypeFindIndexCode, findIndex, static_cast<const char*>(nullptr), s_arrayPrototypeFindIndexCodeLength) \
1378 macro(typedArrayPrototypeFindIndexCode, findIndex, static_cast<const char*>(nullptr), s_typedArrayPrototypeFindIndexCodeLength) \
1379 macro(stringPrototypeFixedCode, fixed, static_cast<const char*>(nullptr), s_stringPrototypeFixedCodeLength) \
1380 macro(arrayPrototypeFlatCode, flat, static_cast<const char*>(nullptr), s_arrayPrototypeFlatCodeLength) \
1381 macro(arrayPrototypeFlatIntoArrayCode, flatIntoArray, static_cast<const char*>(nullptr), s_arrayPrototypeFlatIntoArrayCodeLength) \
1382 macro(arrayPrototypeFlatIntoArrayWithCallbackCode, flatIntoArrayWithCallback, static_cast<const char*>(nullptr), s_arrayPrototypeFlatIntoArrayWithCallbackCodeLength) \
1383 macro(arrayPrototypeFlatMapCode, flatMap, static_cast<const char*>(nullptr), s_arrayPrototypeFlatMapCodeLength) \
1384 macro(stringPrototypeFontcolorCode, fontcolor, static_cast<const char*>(nullptr), s_stringPrototypeFontcolorCodeLength) \
1385 macro(stringPrototypeFontsizeCode, fontsize, static_cast<const char*>(nullptr), s_stringPrototypeFontsizeCodeLength) \
1386 macro(arrayPrototypeForEachCode, forEach, static_cast<const char*>(nullptr), s_arrayPrototypeForEachCodeLength) \
1387 macro(mapPrototypeForEachCode, forEach, static_cast<const char*>(nullptr), s_mapPrototypeForEachCodeLength) \
1388 macro(setPrototypeForEachCode, forEach, static_cast<const char*>(nullptr), s_setPrototypeForEachCodeLength) \
1389 macro(typedArrayPrototypeForEachCode, forEach, static_cast<const char*>(nullptr), s_typedArrayPrototypeForEachCodeLength) \
1390 macro(moduleLoaderForceFulfillPromiseCode, forceFulfillPromise, static_cast<const char*>(nullptr), s_moduleLoaderForceFulfillPromiseCodeLength) \
1391 macro(arrayConstructorFromCode, from, static_cast<const char*>(nullptr), s_arrayConstructorFromCodeLength) \
1392 macro(typedArrayConstructorFromCode, from, static_cast<const char*>(nullptr), s_typedArrayConstructorFromCodeLength) \
1393 macro(objectConstructorFromEntriesCode, fromEntries, static_cast<const char*>(nullptr), s_objectConstructorFromEntriesCodeLength) \
1394 macro(moduleLoaderFulfillFetchCode, fulfillFetch, static_cast<const char*>(nullptr), s_moduleLoaderFulfillFetchCodeLength) \
1395 macro(promiseOperationsFulfillPromiseCode, fulfillPromise, static_cast<const char*>(nullptr), s_promiseOperationsFulfillPromiseCodeLength) \
1396 macro(promiseOperationsFulfillWithoutPromiseCode, fulfillWithoutPromise, static_cast<const char*>(nullptr), s_promiseOperationsFulfillWithoutPromiseCodeLength) \
1397 macro(generatorPrototypeGeneratorResumeCode, generatorResume, static_cast<const char*>(nullptr), s_generatorPrototypeGeneratorResumeCodeLength) \
1398 macro(promisePrototypeGetCatchFinallyCode, getCatchFinally, static_cast<const char*>(nullptr), s_promisePrototypeGetCatchFinallyCodeLength) \
1399 macro(promisePrototypeGetThenFinallyCode, getThenFinally, static_cast<const char*>(nullptr), s_promisePrototypeGetThenFinallyCodeLength) \
1400 macro(reflectObjectHasCode, has, static_cast<const char*>(nullptr), s_reflectObjectHasCodeLength) \
1401 macro(regExpPrototypeHasObservableSideEffectsForRegExpMatchCode, hasObservableSideEffectsForRegExpMatch, static_cast<const char*>(nullptr), s_regExpPrototypeHasObservableSideEffectsForRegExpMatchCodeLength) \
1402 macro(regExpPrototypeHasObservableSideEffectsForRegExpSplitCode, hasObservableSideEffectsForRegExpSplit, static_cast<const char*>(nullptr), s_regExpPrototypeHasObservableSideEffectsForRegExpSplitCodeLength) \
1403 macro(stringPrototypeHasObservableSideEffectsForStringReplaceCode, hasObservableSideEffectsForStringReplace, static_cast<const char*>(nullptr), s_stringPrototypeHasObservableSideEffectsForStringReplaceCodeLength) \
1404 macro(arrayPrototypeIncludesCode, includes, static_cast<const char*>(nullptr), s_arrayPrototypeIncludesCodeLength) \
1405 macro(webAssemblyInstantiateStreamingCode, instantiateStreaming, static_cast<const char*>(nullptr), s_webAssemblyInstantiateStreamingCodeLength) \
1406 macro(internalPromiseConstructorInternalAllCode, internalAll, static_cast<const char*>(nullptr), s_internalPromiseConstructorInternalAllCodeLength) \
1407 macro(arrayConstructorIsArrayCode, isArray, static_cast<const char*>(nullptr), s_arrayConstructorIsArrayCodeLength) \
1408 macro(globalOperationsIsDictionaryCode, isDictionary, static_cast<const char*>(nullptr), s_globalOperationsIsDictionaryCodeLength) \
1409 macro(asyncGeneratorPrototypeIsExecutionStateCode, isExecutionState, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeIsExecutionStateCodeLength) \
1410 macro(globalObjectIsFiniteCode, isFinite, static_cast<const char*>(nullptr), s_globalObjectIsFiniteCodeLength) \
1411 macro(numberConstructorIsFiniteCode, isFinite, static_cast<const char*>(nullptr), s_numberConstructorIsFiniteCodeLength) \
1412 macro(globalObjectIsNaNCode, isNaN, static_cast<const char*>(nullptr), s_globalObjectIsNaNCodeLength) \
1413 macro(numberConstructorIsNaNCode, isNaN, static_cast<const char*>(nullptr), s_numberConstructorIsNaNCodeLength) \
1414 macro(asyncGeneratorPrototypeIsSuspendYieldStateCode, isSuspendYieldState, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeIsSuspendYieldStateCodeLength) \
1415 macro(stringPrototypeItalicsCode, italics, static_cast<const char*>(nullptr), s_stringPrototypeItalicsCodeLength) \
1416 macro(arrayPrototypeKeysCode, keys, static_cast<const char*>(nullptr), s_arrayPrototypeKeysCodeLength) \
1417 macro(mapPrototypeKeysCode, keys, static_cast<const char*>(nullptr), s_mapPrototypeKeysCodeLength) \
1418 macro(typedArrayPrototypeKeysCode, keys, static_cast<const char*>(nullptr), s_typedArrayPrototypeKeysCodeLength) \
1419 macro(moduleLoaderLinkCode, link, static_cast<const char*>(nullptr), s_moduleLoaderLinkCodeLength) \
1420 macro(stringPrototypeLinkCode, link, static_cast<const char*>(nullptr), s_stringPrototypeLinkCodeLength) \
1421 macro(moduleLoaderLinkAndEvaluateModuleCode, linkAndEvaluateModule, static_cast<const char*>(nullptr), s_moduleLoaderLinkAndEvaluateModuleCodeLength) \
1422 macro(moduleLoaderLoadAndEvaluateModuleCode, loadAndEvaluateModule, static_cast<const char*>(nullptr), s_moduleLoaderLoadAndEvaluateModuleCodeLength) \
1423 macro(moduleLoaderLoadModuleCode, loadModule, static_cast<const char*>(nullptr), s_moduleLoaderLoadModuleCodeLength) \
1424 macro(arrayPrototypeMapCode, map, static_cast<const char*>(nullptr), s_arrayPrototypeMapCodeLength) \
1425 macro(typedArrayPrototypeMapCode, map, static_cast<const char*>(nullptr), s_typedArrayPrototypeMapCodeLength) \
1426 macro(mapIteratorPrototypeMapIteratorNextCode, mapIteratorNext, static_cast<const char*>(nullptr), s_mapIteratorPrototypeMapIteratorNextCodeLength) \
1427 macro(regExpPrototypeMatchCode, match, "[Symbol.match]", s_regExpPrototypeMatchCodeLength) \
1428 macro(stringPrototypeMatchCode, match, static_cast<const char*>(nullptr), s_stringPrototypeMatchCodeLength) \
1429 macro(regExpPrototypeMatchAllCode, matchAll, "[Symbol.matchAll]", s_regExpPrototypeMatchAllCodeLength) \
1430 macro(stringPrototypeMatchAllCode, matchAll, static_cast<const char*>(nullptr), s_stringPrototypeMatchAllCodeLength) \
1431 macro(regExpPrototypeMatchSlowCode, matchSlow, static_cast<const char*>(nullptr), s_regExpPrototypeMatchSlowCodeLength) \
1432 macro(moduleLoaderModuleEvaluationCode, moduleEvaluation, static_cast<const char*>(nullptr), s_moduleLoaderModuleEvaluationCodeLength) \
1433 macro(promiseOperationsNewHandledRejectedPromiseCode, newHandledRejectedPromise, static_cast<const char*>(nullptr), s_promiseOperationsNewHandledRejectedPromiseCodeLength) \
1434 macro(promiseOperationsNewPromiseCapabilityCode, newPromiseCapability, static_cast<const char*>(nullptr), s_promiseOperationsNewPromiseCapabilityCodeLength) \
1435 macro(promiseOperationsNewPromiseCapabilitySlowCode, newPromiseCapabilitySlow, static_cast<const char*>(nullptr), s_promiseOperationsNewPromiseCapabilitySlowCodeLength) \
1436 macro(promiseOperationsNewPromiseReactionCode, newPromiseReaction, static_cast<const char*>(nullptr), s_promiseOperationsNewPromiseReactionCodeLength) \
1437 macro(moduleLoaderNewRegistryEntryCode, newRegistryEntry, static_cast<const char*>(nullptr), s_moduleLoaderNewRegistryEntryCodeLength) \
1438 macro(arrayIteratorPrototypeNextCode, next, static_cast<const char*>(nullptr), s_arrayIteratorPrototypeNextCodeLength) \
1439 macro(asyncFromSyncIteratorPrototypeNextCode, next, static_cast<const char*>(nullptr), s_asyncFromSyncIteratorPrototypeNextCodeLength) \
1440 macro(asyncGeneratorPrototypeNextCode, next, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeNextCodeLength) \
1441 macro(generatorPrototypeNextCode, next, static_cast<const char*>(nullptr), s_generatorPrototypeNextCodeLength) \
1442 macro(mapIteratorPrototypeNextCode, next, static_cast<const char*>(nullptr), s_mapIteratorPrototypeNextCodeLength) \
1443 macro(regExpStringIteratorPrototypeNextCode, next, static_cast<const char*>(nullptr), s_regExpStringIteratorPrototypeNextCodeLength) \
1444 macro(setIteratorPrototypeNextCode, next, static_cast<const char*>(nullptr), s_setIteratorPrototypeNextCodeLength) \
1445 macro(stringIteratorPrototypeNextCode, next, static_cast<const char*>(nullptr), s_stringIteratorPrototypeNextCodeLength) \
1446 macro(arrayConstructorOfCode, of, static_cast<const char*>(nullptr), s_arrayConstructorOfCodeLength) \
1447 macro(typedArrayConstructorOfCode, of, static_cast<const char*>(nullptr), s_typedArrayConstructorOfCodeLength) \
1448 macro(stringPrototypePadEndCode, padEnd, static_cast<const char*>(nullptr), s_stringPrototypePadEndCodeLength) \
1449 macro(stringPrototypePadStartCode, padStart, static_cast<const char*>(nullptr), s_stringPrototypePadStartCodeLength) \
1450 macro(iteratorHelpersPerformIterationCode, performIteration, static_cast<const char*>(nullptr), s_iteratorHelpersPerformIterationCodeLength) \
1451 macro(inspectorInstrumentationObjectPromiseFulfilledCode, promiseFulfilled, static_cast<const char*>(nullptr), s_inspectorInstrumentationObjectPromiseFulfilledCodeLength) \
1452 macro(promiseOperationsPromiseReactionJobCode, promiseReactionJob, static_cast<const char*>(nullptr), s_promiseOperationsPromiseReactionJobCodeLength) \
1453 macro(promiseOperationsPromiseReactionJobWithoutPromiseCode, promiseReactionJobWithoutPromise, static_cast<const char*>(nullptr), s_promiseOperationsPromiseReactionJobWithoutPromiseCodeLength) \
1454 macro(promiseOperationsPromiseRejectSlowCode, promiseRejectSlow, static_cast<const char*>(nullptr), s_promiseOperationsPromiseRejectSlowCodeLength) \
1455 macro(inspectorInstrumentationObjectPromiseRejectedCode, promiseRejected, static_cast<const char*>(nullptr), s_inspectorInstrumentationObjectPromiseRejectedCodeLength) \
1456 macro(promiseOperationsPromiseResolveSlowCode, promiseResolveSlow, static_cast<const char*>(nullptr), s_promiseOperationsPromiseResolveSlowCodeLength) \
1457 macro(promiseOperationsPromiseResolveThenableJobCode, promiseResolveThenableJob, static_cast<const char*>(nullptr), s_promiseOperationsPromiseResolveThenableJobCodeLength) \
1458 macro(promiseOperationsPromiseResolveThenableJobFastCode, promiseResolveThenableJobFast, static_cast<const char*>(nullptr), s_promiseOperationsPromiseResolveThenableJobFastCodeLength) \
1459 macro(promiseOperationsPromiseResolveThenableJobWithoutPromiseFastCode, promiseResolveThenableJobWithoutPromiseFast, static_cast<const char*>(nullptr), s_promiseOperationsPromiseResolveThenableJobWithoutPromiseFastCodeLength) \
1460 macro(moduleLoaderProvideFetchCode, provideFetch, static_cast<const char*>(nullptr), s_moduleLoaderProvideFetchCodeLength) \
1461 macro(promiseConstructorRaceCode, race, static_cast<const char*>(nullptr), s_promiseConstructorRaceCodeLength) \
1462 macro(stringConstructorRawCode, raw, static_cast<const char*>(nullptr), s_stringConstructorRawCodeLength) \
1463 macro(arrayPrototypeReduceCode, reduce, static_cast<const char*>(nullptr), s_arrayPrototypeReduceCodeLength) \
1464 macro(typedArrayPrototypeReduceCode, reduce, static_cast<const char*>(nullptr), s_typedArrayPrototypeReduceCodeLength) \
1465 macro(arrayPrototypeReduceRightCode, reduceRight, static_cast<const char*>(nullptr), s_arrayPrototypeReduceRightCodeLength) \
1466 macro(typedArrayPrototypeReduceRightCode, reduceRight, static_cast<const char*>(nullptr), s_typedArrayPrototypeReduceRightCodeLength) \
1467 macro(regExpPrototypeRegExpExecCode, regExpExec, static_cast<const char*>(nullptr), s_regExpPrototypeRegExpExecCodeLength) \
1468 macro(promiseConstructorRejectCode, reject, static_cast<const char*>(nullptr), s_promiseConstructorRejectCodeLength) \
1469 macro(promiseOperationsRejectPromiseCode, rejectPromise, static_cast<const char*>(nullptr), s_promiseOperationsRejectPromiseCodeLength) \
1470 macro(promiseOperationsRejectPromiseWithFirstResolvingFunctionCallCheckCode, rejectPromiseWithFirstResolvingFunctionCallCheck, static_cast<const char*>(nullptr), s_promiseOperationsRejectPromiseWithFirstResolvingFunctionCallCheckCodeLength) \
1471 macro(promiseOperationsRejectWithoutPromiseCode, rejectWithoutPromise, static_cast<const char*>(nullptr), s_promiseOperationsRejectWithoutPromiseCodeLength) \
1472 macro(stringPrototypeRepeatCode, repeat, static_cast<const char*>(nullptr), s_stringPrototypeRepeatCodeLength) \
1473 macro(stringPrototypeRepeatCharactersSlowPathCode, repeatCharactersSlowPath, static_cast<const char*>(nullptr), s_stringPrototypeRepeatCharactersSlowPathCodeLength) \
1474 macro(stringPrototypeRepeatSlowPathCode, repeatSlowPath, static_cast<const char*>(nullptr), s_stringPrototypeRepeatSlowPathCodeLength) \
1475 macro(regExpPrototypeReplaceCode, replace, "[Symbol.replace]", s_regExpPrototypeReplaceCodeLength) \
1476 macro(stringPrototypeReplaceCode, replace, static_cast<const char*>(nullptr), s_stringPrototypeReplaceCodeLength) \
1477 macro(stringPrototypeReplaceAllCode, replaceAll, static_cast<const char*>(nullptr), s_stringPrototypeReplaceAllCodeLength) \
1478 macro(moduleLoaderRequestFetchCode, requestFetch, static_cast<const char*>(nullptr), s_moduleLoaderRequestFetchCodeLength) \
1479 macro(moduleLoaderRequestImportModuleCode, requestImportModule, static_cast<const char*>(nullptr), s_moduleLoaderRequestImportModuleCodeLength) \
1480 macro(moduleLoaderRequestInstantiateCode, requestInstantiate, static_cast<const char*>(nullptr), s_moduleLoaderRequestInstantiateCodeLength) \
1481 macro(moduleLoaderRequestSatisfyCode, requestSatisfy, static_cast<const char*>(nullptr), s_moduleLoaderRequestSatisfyCodeLength) \
1482 macro(promiseConstructorResolveCode, resolve, static_cast<const char*>(nullptr), s_promiseConstructorResolveCodeLength) \
1483 macro(promiseOperationsResolvePromiseCode, resolvePromise, static_cast<const char*>(nullptr), s_promiseOperationsResolvePromiseCodeLength) \
1484 macro(promiseOperationsResolvePromiseWithFirstResolvingFunctionCallCheckCode, resolvePromiseWithFirstResolvingFunctionCallCheck, static_cast<const char*>(nullptr), s_promiseOperationsResolvePromiseWithFirstResolvingFunctionCallCheckCodeLength) \
1485 macro(promiseOperationsResolveWithoutPromiseCode, resolveWithoutPromise, static_cast<const char*>(nullptr), s_promiseOperationsResolveWithoutPromiseCodeLength) \
1486 macro(asyncFromSyncIteratorPrototypeReturnCode, return, static_cast<const char*>(nullptr), s_asyncFromSyncIteratorPrototypeReturnCodeLength) \
1487 macro(asyncGeneratorPrototypeReturnCode, return, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeReturnCodeLength) \
1488 macro(generatorPrototypeReturnCode, return, static_cast<const char*>(nullptr), s_generatorPrototypeReturnCodeLength) \
1489 macro(regExpPrototypeSearchCode, search, "[Symbol.search]", s_regExpPrototypeSearchCodeLength) \
1490 macro(stringPrototypeSearchCode, search, static_cast<const char*>(nullptr), s_stringPrototypeSearchCodeLength) \
1491 macro(setIteratorPrototypeSetIteratorNextCode, setIteratorNext, static_cast<const char*>(nullptr), s_setIteratorPrototypeSetIteratorNextCodeLength) \
1492 macro(moduleLoaderSetStateToMaxCode, setStateToMax, static_cast<const char*>(nullptr), s_moduleLoaderSetStateToMaxCodeLength) \
1493 macro(stringPrototypeSmallCode, small, static_cast<const char*>(nullptr), s_stringPrototypeSmallCodeLength) \
1494 macro(arrayPrototypeSomeCode, some, static_cast<const char*>(nullptr), s_arrayPrototypeSomeCodeLength) \
1495 macro(typedArrayPrototypeSomeCode, some, static_cast<const char*>(nullptr), s_typedArrayPrototypeSomeCodeLength) \
1496 macro(arrayPrototypeSortCode, sort, static_cast<const char*>(nullptr), s_arrayPrototypeSortCodeLength) \
1497 macro(typedArrayPrototypeSortCode, sort, static_cast<const char*>(nullptr), s_typedArrayPrototypeSortCodeLength) \
1498 macro(globalOperationsSpeciesConstructorCode, speciesConstructor, static_cast<const char*>(nullptr), s_globalOperationsSpeciesConstructorCodeLength) \
1499 macro(globalOperationsSpeciesGetterCode, speciesGetter, "get [Symbol.species]", s_globalOperationsSpeciesGetterCodeLength) \
1500 macro(regExpPrototypeSplitCode, split, "[Symbol.split]", s_regExpPrototypeSplitCodeLength) \
1501 macro(stringPrototypeSplitCode, split, static_cast<const char*>(nullptr), s_stringPrototypeSplitCodeLength) \
1502 macro(stringPrototypeStrikeCode, strike, static_cast<const char*>(nullptr), s_stringPrototypeStrikeCodeLength) \
1503 macro(stringPrototypeStringConcatSlowPathCode, stringConcatSlowPath, static_cast<const char*>(nullptr), s_stringPrototypeStringConcatSlowPathCodeLength) \
1504 macro(stringPrototypeSubCode, sub, static_cast<const char*>(nullptr), s_stringPrototypeSubCodeLength) \
1505 macro(typedArrayPrototypeSubarrayCode, subarray, static_cast<const char*>(nullptr), s_typedArrayPrototypeSubarrayCodeLength) \
1506 macro(stringPrototypeSupCode, sup, static_cast<const char*>(nullptr), s_stringPrototypeSupCodeLength) \
1507 macro(asyncIteratorPrototypeSymbolAsyncIteratorGetterCode, symbolAsyncIteratorGetter, "[Symbol.asyncIterator]", s_asyncIteratorPrototypeSymbolAsyncIteratorGetterCodeLength) \
1508 macro(functionPrototypeSymbolHasInstanceCode, symbolHasInstance, "[Symbol.hasInstance]", s_functionPrototypeSymbolHasInstanceCodeLength) \
1509 macro(iteratorPrototypeSymbolIteratorGetterCode, symbolIteratorGetter, "[Symbol.iterator]", s_iteratorPrototypeSymbolIteratorGetterCodeLength) \
1510 macro(regExpPrototypeTestCode, test, static_cast<const char*>(nullptr), s_regExpPrototypeTestCodeLength) \
1511 macro(promisePrototypeThenCode, then, static_cast<const char*>(nullptr), s_promisePrototypeThenCodeLength) \
1512 macro(asyncFromSyncIteratorPrototypeThrowCode, throw, static_cast<const char*>(nullptr), s_asyncFromSyncIteratorPrototypeThrowCodeLength) \
1513 macro(asyncGeneratorPrototypeThrowCode, throw, static_cast<const char*>(nullptr), s_asyncGeneratorPrototypeThrowCodeLength) \
1514 macro(generatorPrototypeThrowCode, throw, static_cast<const char*>(nullptr), s_generatorPrototypeThrowCodeLength) \
1515 macro(globalOperationsToIntegerCode, toInteger, static_cast<const char*>(nullptr), s_globalOperationsToIntegerCodeLength) \
1516 macro(globalOperationsToLengthCode, toLength, static_cast<const char*>(nullptr), s_globalOperationsToLengthCodeLength) \
1517 macro(datePrototypeToLocaleDateStringCode, toLocaleDateString, static_cast<const char*>(nullptr), s_datePrototypeToLocaleDateStringCodeLength) \
1518 macro(datePrototypeToLocaleStringCode, toLocaleString, static_cast<const char*>(nullptr), s_datePrototypeToLocaleStringCodeLength) \
1519 macro(typedArrayPrototypeToLocaleStringCode, toLocaleString, static_cast<const char*>(nullptr), s_typedArrayPrototypeToLocaleStringCodeLength) \
1520 macro(datePrototypeToLocaleTimeStringCode, toLocaleTimeString, static_cast<const char*>(nullptr), s_datePrototypeToLocaleTimeStringCodeLength) \
1521 macro(promiseOperationsTriggerPromiseReactionsCode, triggerPromiseReactions, static_cast<const char*>(nullptr), s_promiseOperationsTriggerPromiseReactionsCodeLength) \
1522 macro(typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCode, typedArrayClampArgumentToStartOrEnd, static_cast<const char*>(nullptr), s_typedArrayPrototypeTypedArrayClampArgumentToStartOrEndCodeLength) \
1523 macro(typedArrayPrototypeTypedArraySpeciesConstructorCode, typedArraySpeciesConstructor, static_cast<const char*>(nullptr), s_typedArrayPrototypeTypedArraySpeciesConstructorCodeLength) \
1524 macro(arrayPrototypeValuesCode, values, static_cast<const char*>(nullptr), s_arrayPrototypeValuesCodeLength) \
1525 macro(mapPrototypeValuesCode, values, static_cast<const char*>(nullptr), s_mapPrototypeValuesCodeLength) \
1526 macro(setPrototypeValuesCode, values, static_cast<const char*>(nullptr), s_setPrototypeValuesCodeLength) \
1527 macro(typedArrayPrototypeValuesCode, values, static_cast<const char*>(nullptr), s_typedArrayPrototypeValuesCodeLength) \
1528
1529#define JSC_FOREACH_BUILTIN_FUNCTION_NAME(macro) \
1530 macro(ArrayIterator) \
1531 macro(AsyncFromSyncIterator) \
1532 macro(InternalPromise) \
1533 macro(MapIterator) \
1534 macro(Promise) \
1535 macro(RegExpStringIterator) \
1536 macro(SetIterator) \
1537 macro(advanceStringIndex) \
1538 macro(all) \
1539 macro(allSettled) \
1540 macro(allocateFloat32Array) \
1541 macro(allocateFloat64Array) \
1542 macro(allocateInt16Array) \
1543 macro(allocateInt32Array) \
1544 macro(allocateInt8Array) \
1545 macro(allocateUint16Array) \
1546 macro(allocateUint32Array) \
1547 macro(allocateUint8Array) \
1548 macro(allocateUint8ClampedArray) \
1549 macro(anchor) \
1550 macro(apply) \
1551 macro(arrayIteratorKeyNext) \
1552 macro(arrayIteratorKeyValueNext) \
1553 macro(arrayIteratorValueNext) \
1554 macro(asyncFunctionResume) \
1555 macro(asyncGeneratorEnqueue) \
1556 macro(asyncGeneratorQueueDequeue) \
1557 macro(asyncGeneratorQueueEnqueue) \
1558 macro(asyncGeneratorQueueIsEmpty) \
1559 macro(asyncGeneratorReject) \
1560 macro(asyncGeneratorResolve) \
1561 macro(asyncGeneratorResumeNext) \
1562 macro(asyncGeneratorYield) \
1563 macro(awaitValue) \
1564 macro(big) \
1565 macro(bind) \
1566 macro(blink) \
1567 macro(bold) \
1568 macro(call) \
1569 macro(catch) \
1570 macro(compileStreaming) \
1571 macro(concat) \
1572 macro(concatSlowPath) \
1573 macro(copyDataProperties) \
1574 macro(copyDataPropertiesNoExclusions) \
1575 macro(copyWithin) \
1576 macro(createAsyncFromSyncIterator) \
1577 macro(createHTML) \
1578 macro(createResolvingFunctions) \
1579 macro(createResolvingFunctionsWithoutPromise) \
1580 macro(deleteProperty) \
1581 macro(dependencyKeysIfEvaluated) \
1582 macro(doAsyncGeneratorBodyCall) \
1583 macro(ensureRegistered) \
1584 macro(entries) \
1585 macro(every) \
1586 macro(fill) \
1587 macro(filter) \
1588 macro(finally) \
1589 macro(find) \
1590 macro(findIndex) \
1591 macro(fixed) \
1592 macro(flat) \
1593 macro(flatIntoArray) \
1594 macro(flatIntoArrayWithCallback) \
1595 macro(flatMap) \
1596 macro(fontcolor) \
1597 macro(fontsize) \
1598 macro(forEach) \
1599 macro(forceFulfillPromise) \
1600 macro(from) \
1601 macro(fromEntries) \
1602 macro(fulfillFetch) \
1603 macro(fulfillPromise) \
1604 macro(fulfillWithoutPromise) \
1605 macro(generatorResume) \
1606 macro(getCatchFinally) \
1607 macro(getThenFinally) \
1608 macro(has) \
1609 macro(hasObservableSideEffectsForRegExpMatch) \
1610 macro(hasObservableSideEffectsForRegExpSplit) \
1611 macro(hasObservableSideEffectsForStringReplace) \
1612 macro(includes) \
1613 macro(instantiateStreaming) \
1614 macro(internalAll) \
1615 macro(isArray) \
1616 macro(isDictionary) \
1617 macro(isExecutionState) \
1618 macro(isFinite) \
1619 macro(isNaN) \
1620 macro(isSuspendYieldState) \
1621 macro(italics) \
1622 macro(keys) \
1623 macro(link) \
1624 macro(linkAndEvaluateModule) \
1625 macro(loadAndEvaluateModule) \
1626 macro(loadModule) \
1627 macro(map) \
1628 macro(mapIteratorNext) \
1629 macro(match) \
1630 macro(matchAll) \
1631 macro(matchSlow) \
1632 macro(moduleEvaluation) \
1633 macro(newHandledRejectedPromise) \
1634 macro(newPromiseCapability) \
1635 macro(newPromiseCapabilitySlow) \
1636 macro(newPromiseReaction) \
1637 macro(newRegistryEntry) \
1638 macro(next) \
1639 macro(of) \
1640 macro(padEnd) \
1641 macro(padStart) \
1642 macro(performIteration) \
1643 macro(promiseFulfilled) \
1644 macro(promiseReactionJob) \
1645 macro(promiseReactionJobWithoutPromise) \
1646 macro(promiseRejectSlow) \
1647 macro(promiseRejected) \
1648 macro(promiseResolveSlow) \
1649 macro(promiseResolveThenableJob) \
1650 macro(promiseResolveThenableJobFast) \
1651 macro(promiseResolveThenableJobWithoutPromiseFast) \
1652 macro(provideFetch) \
1653 macro(race) \
1654 macro(raw) \
1655 macro(reduce) \
1656 macro(reduceRight) \
1657 macro(regExpExec) \
1658 macro(reject) \
1659 macro(rejectPromise) \
1660 macro(rejectPromiseWithFirstResolvingFunctionCallCheck) \
1661 macro(rejectWithoutPromise) \
1662 macro(repeat) \
1663 macro(repeatCharactersSlowPath) \
1664 macro(repeatSlowPath) \
1665 macro(replace) \
1666 macro(replaceAll) \
1667 macro(requestFetch) \
1668 macro(requestImportModule) \
1669 macro(requestInstantiate) \
1670 macro(requestSatisfy) \
1671 macro(resolve) \
1672 macro(resolvePromise) \
1673 macro(resolvePromiseWithFirstResolvingFunctionCallCheck) \
1674 macro(resolveWithoutPromise) \
1675 macro(return) \
1676 macro(search) \
1677 macro(setIteratorNext) \
1678 macro(setStateToMax) \
1679 macro(small) \
1680 macro(some) \
1681 macro(sort) \
1682 macro(speciesConstructor) \
1683 macro(speciesGetter) \
1684 macro(split) \
1685 macro(strike) \
1686 macro(stringConcatSlowPath) \
1687 macro(sub) \
1688 macro(subarray) \
1689 macro(sup) \
1690 macro(symbolAsyncIteratorGetter) \
1691 macro(symbolHasInstance) \
1692 macro(symbolIteratorGetter) \
1693 macro(test) \
1694 macro(then) \
1695 macro(throw) \
1696 macro(toInteger) \
1697 macro(toLength) \
1698 macro(toLocaleDateString) \
1699 macro(toLocaleString) \
1700 macro(toLocaleTimeString) \
1701 macro(triggerPromiseReactions) \
1702 macro(typedArrayClampArgumentToStartOrEnd) \
1703 macro(typedArraySpeciesConstructor) \
1704 macro(values) \
1705
1706#define JSC_FOREACH_BUILTIN_FUNCTION_PRIVATE_GLOBAL_NAME(macro) \
1707 macro(ArrayIterator, arrayPrototypeArrayIteratorConstructor) \
1708 macro(AsyncFromSyncIterator, asyncFromSyncIteratorPrototypeAsyncFromSyncIteratorConstructor) \
1709 macro(MapIterator, mapPrototypeMapIteratorConstructor) \
1710 macro(RegExpStringIterator, regExpPrototypeRegExpStringIteratorConstructor) \
1711 macro(SetIterator, setPrototypeSetIteratorConstructor) \
1712 macro(advanceStringIndex, regExpPrototypeAdvanceStringIndex) \
1713 macro(arrayIteratorKeyNext, arrayIteratorPrototypeArrayIteratorKeyNext) \
1714 macro(arrayIteratorKeyValueNext, arrayIteratorPrototypeArrayIteratorKeyValueNext) \
1715 macro(arrayIteratorValueNext, arrayIteratorPrototypeArrayIteratorValueNext) \
1716 macro(asyncFunctionResume, asyncFunctionPrototypeAsyncFunctionResume) \
1717 macro(asyncGeneratorEnqueue, asyncGeneratorPrototypeAsyncGeneratorEnqueue) \
1718 macro(asyncGeneratorQueueDequeue, asyncGeneratorPrototypeAsyncGeneratorQueueDequeue) \
1719 macro(asyncGeneratorQueueEnqueue, asyncGeneratorPrototypeAsyncGeneratorQueueEnqueue) \
1720 macro(asyncGeneratorQueueIsEmpty, asyncGeneratorPrototypeAsyncGeneratorQueueIsEmpty) \
1721 macro(asyncGeneratorReject, asyncGeneratorPrototypeAsyncGeneratorReject) \
1722 macro(asyncGeneratorResolve, asyncGeneratorPrototypeAsyncGeneratorResolve) \
1723 macro(asyncGeneratorResumeNext, asyncGeneratorPrototypeAsyncGeneratorResumeNext) \
1724 macro(asyncGeneratorYield, asyncGeneratorPrototypeAsyncGeneratorYield) \
1725 macro(awaitValue, asyncGeneratorPrototypeAwaitValue) \
1726 macro(concatSlowPath, arrayPrototypeConcatSlowPath) \
1727 macro(copyDataProperties, globalOperationsCopyDataProperties) \
1728 macro(copyDataPropertiesNoExclusions, globalOperationsCopyDataPropertiesNoExclusions) \
1729 macro(createAsyncFromSyncIterator, asyncFromSyncIteratorPrototypeCreateAsyncFromSyncIterator) \
1730 macro(createHTML, stringPrototypeCreateHTML) \
1731 macro(createResolvingFunctions, promiseOperationsCreateResolvingFunctions) \
1732 macro(createResolvingFunctionsWithoutPromise, promiseOperationsCreateResolvingFunctionsWithoutPromise) \
1733 macro(doAsyncGeneratorBodyCall, asyncGeneratorPrototypeDoAsyncGeneratorBodyCall) \
1734 macro(flatIntoArray, arrayPrototypeFlatIntoArray) \
1735 macro(flatIntoArrayWithCallback, arrayPrototypeFlatIntoArrayWithCallback) \
1736 macro(fulfillPromise, promiseOperationsFulfillPromise) \
1737 macro(fulfillWithoutPromise, promiseOperationsFulfillWithoutPromise) \
1738 macro(generatorResume, generatorPrototypeGeneratorResume) \
1739 macro(getCatchFinally, promisePrototypeGetCatchFinally) \
1740 macro(getThenFinally, promisePrototypeGetThenFinally) \
1741 macro(hasObservableSideEffectsForRegExpMatch, regExpPrototypeHasObservableSideEffectsForRegExpMatch) \
1742 macro(hasObservableSideEffectsForRegExpSplit, regExpPrototypeHasObservableSideEffectsForRegExpSplit) \
1743 macro(hasObservableSideEffectsForStringReplace, stringPrototypeHasObservableSideEffectsForStringReplace) \
1744 macro(isDictionary, globalOperationsIsDictionary) \
1745 macro(isExecutionState, asyncGeneratorPrototypeIsExecutionState) \
1746 macro(isFinite, globalObjectIsFinite) \
1747 macro(isNaN, globalObjectIsNaN) \
1748 macro(isSuspendYieldState, asyncGeneratorPrototypeIsSuspendYieldState) \
1749 macro(mapIteratorNext, mapIteratorPrototypeMapIteratorNext) \
1750 macro(matchSlow, regExpPrototypeMatchSlow) \
1751 macro(newHandledRejectedPromise, promiseOperationsNewHandledRejectedPromise) \
1752 macro(newPromiseCapability, promiseOperationsNewPromiseCapability) \
1753 macro(newPromiseCapabilitySlow, promiseOperationsNewPromiseCapabilitySlow) \
1754 macro(newPromiseReaction, promiseOperationsNewPromiseReaction) \
1755 macro(newRegistryEntry, moduleLoaderNewRegistryEntry) \
1756 macro(promiseReactionJob, promiseOperationsPromiseReactionJob) \
1757 macro(promiseReactionJobWithoutPromise, promiseOperationsPromiseReactionJobWithoutPromise) \
1758 macro(promiseRejectSlow, promiseOperationsPromiseRejectSlow) \
1759 macro(promiseResolveSlow, promiseOperationsPromiseResolveSlow) \
1760 macro(promiseResolveThenableJob, promiseOperationsPromiseResolveThenableJob) \
1761 macro(promiseResolveThenableJobFast, promiseOperationsPromiseResolveThenableJobFast) \
1762 macro(promiseResolveThenableJobWithoutPromiseFast, promiseOperationsPromiseResolveThenableJobWithoutPromiseFast) \
1763 macro(regExpExec, regExpPrototypeRegExpExec) \
1764 macro(rejectPromise, promiseOperationsRejectPromise) \
1765 macro(rejectPromiseWithFirstResolvingFunctionCallCheck, promiseOperationsRejectPromiseWithFirstResolvingFunctionCallCheck) \
1766 macro(rejectWithoutPromise, promiseOperationsRejectWithoutPromise) \
1767 macro(repeatCharactersSlowPath, stringPrototypeRepeatCharactersSlowPath) \
1768 macro(repeatSlowPath, stringPrototypeRepeatSlowPath) \
1769 macro(resolvePromise, promiseOperationsResolvePromise) \
1770 macro(resolvePromiseWithFirstResolvingFunctionCallCheck, promiseOperationsResolvePromiseWithFirstResolvingFunctionCallCheck) \
1771 macro(resolveWithoutPromise, promiseOperationsResolveWithoutPromise) \
1772 macro(setIteratorNext, setIteratorPrototypeSetIteratorNext) \
1773 macro(setStateToMax, moduleLoaderSetStateToMax) \
1774 macro(speciesConstructor, globalOperationsSpeciesConstructor) \
1775 macro(stringConcatSlowPath, stringPrototypeStringConcatSlowPath) \
1776 macro(toInteger, globalOperationsToInteger) \
1777 macro(toLength, globalOperationsToLength) \
1778 macro(triggerPromiseReactions, promiseOperationsTriggerPromiseReactions) \
1779 macro(typedArrayClampArgumentToStartOrEnd, typedArrayPrototypeTypedArrayClampArgumentToStartOrEnd) \
1780 macro(typedArraySpeciesConstructor, typedArrayPrototypeTypedArraySpeciesConstructor) \
1781
1782#define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
1783 JSC::FunctionExecutable* codeName##Generator(JSC::VM&);
1784
1785JSC_FOREACH_BUILTIN_CODE(DECLARE_BUILTIN_GENERATOR)
1786#undef DECLARE_BUILTIN_GENERATOR
1787
1788} // namespace JSC
1789