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