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