1425bb815Sopenharmony_ci/* Copyright JS Foundation and other contributors, http://js.foundation
2425bb815Sopenharmony_ci *
3425bb815Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4425bb815Sopenharmony_ci * you may not use this file except in compliance with the License.
5425bb815Sopenharmony_ci * You may obtain a copy of the License at
6425bb815Sopenharmony_ci *
7425bb815Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8425bb815Sopenharmony_ci *
9425bb815Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10425bb815Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS
11425bb815Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12425bb815Sopenharmony_ci * See the License for the specific language governing permissions and
13425bb815Sopenharmony_ci * limitations under the License.
14425bb815Sopenharmony_ci */
15425bb815Sopenharmony_ci
16425bb815Sopenharmony_ci/* Description of built-in objects
17425bb815Sopenharmony_ci   in format (ECMA_BUILTIN_ID_id, object_type, prototype_id, is_extensible, is_static, underscored_id) */
18425bb815Sopenharmony_ci
19425bb815Sopenharmony_ci/* The Object.prototype object (15.2.4) */
20425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
21425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
22425bb815Sopenharmony_ci         ECMA_BUILTIN_ID__COUNT /* no prototype */,
23425bb815Sopenharmony_ci         true,
24425bb815Sopenharmony_ci         object_prototype)
25425bb815Sopenharmony_ci
26425bb815Sopenharmony_ci/* The Object object (15.2.1) */
27425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_OBJECT,
28425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
29425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
30425bb815Sopenharmony_ci                 true,
31425bb815Sopenharmony_ci                 object)
32425bb815Sopenharmony_ci
33425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_ARRAY)
34425bb815Sopenharmony_ci/* The Array.prototype object (15.4.4) */
35425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_ARRAY_PROTOTYPE,
36425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_ARRAY,
37425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
38425bb815Sopenharmony_ci         true,
39425bb815Sopenharmony_ci         array_prototype)
40425bb815Sopenharmony_ci
41425bb815Sopenharmony_ci/* The Array object (15.4.1) */
42425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_ARRAY,
43425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
44425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
45425bb815Sopenharmony_ci                 true,
46425bb815Sopenharmony_ci                 array)
47425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_ARRAY) */
48425bb815Sopenharmony_ci
49425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015)
50425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_STRING)
51425bb815Sopenharmony_ci/* The String.prototype object (21.1.3) */
52425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_STRING_PROTOTYPE,
53425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
54425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
55425bb815Sopenharmony_ci         true,
56425bb815Sopenharmony_ci         string_prototype)
57425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_STRING) */
58425bb815Sopenharmony_ci
59425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_BOOLEAN)
60425bb815Sopenharmony_ci/* The Boolean.prototype object (19.3.3) */
61425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_BOOLEAN_PROTOTYPE,
62425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
63425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
64425bb815Sopenharmony_ci         true,
65425bb815Sopenharmony_ci         boolean_prototype)
66425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_BOOLEAN) */
67425bb815Sopenharmony_ci
68425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_NUMBER)
69425bb815Sopenharmony_ci/* The Number.prototype object (20.1.3) */
70425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_NUMBER_PROTOTYPE,
71425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
72425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
73425bb815Sopenharmony_ci         true,
74425bb815Sopenharmony_ci         number_prototype)
75425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_NUMBER) */
76425bb815Sopenharmony_ci
77425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_DATE)
78425bb815Sopenharmony_ci/* The Date.prototype object (20.3.4) */
79425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_DATE_PROTOTYPE,
80425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
81425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
82425bb815Sopenharmony_ci         true,
83425bb815Sopenharmony_ci         date_prototype)
84425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_DATE) */
85425bb815Sopenharmony_ci
86425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_REGEXP)
87425bb815Sopenharmony_ci/* The RegExp.prototype object (21.2.5) */
88425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_REGEXP_PROTOTYPE,
89425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
90425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
91425bb815Sopenharmony_ci         true,
92425bb815Sopenharmony_ci         regexp_prototype)
93425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_REGEXP) */
94425bb815Sopenharmony_ci#else /* !ENABLED (JERRY_ES2015) */
95425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_STRING)
96425bb815Sopenharmony_ci/* The String.prototype object (15.5.4) */
97425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_STRING_PROTOTYPE,
98425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_CLASS,
99425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
100425bb815Sopenharmony_ci         true,
101425bb815Sopenharmony_ci         string_prototype)
102425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_STRING) */
103425bb815Sopenharmony_ci
104425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_BOOLEAN)
105425bb815Sopenharmony_ci/* The Boolean.prototype object (15.6.4) */
106425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_BOOLEAN_PROTOTYPE,
107425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_CLASS,
108425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
109425bb815Sopenharmony_ci         true,
110425bb815Sopenharmony_ci         boolean_prototype)
111425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_BOOLEAN) */
112425bb815Sopenharmony_ci
113425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_NUMBER)
114425bb815Sopenharmony_ci/* The Number.prototype object (15.7.4) */
115425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_NUMBER_PROTOTYPE,
116425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_CLASS,
117425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
118425bb815Sopenharmony_ci         true,
119425bb815Sopenharmony_ci         number_prototype)
120425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_NUMBER) */
121425bb815Sopenharmony_ci
122425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_DATE)
123425bb815Sopenharmony_ci/* The Date.prototype object (15.9.4) */
124425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_DATE_PROTOTYPE,
125425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_CLASS,
126425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
127425bb815Sopenharmony_ci         true,
128425bb815Sopenharmony_ci         date_prototype)
129425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_DATE) */
130425bb815Sopenharmony_ci
131425bb815Sopenharmony_ci# if ENABLED (JERRY_BUILTIN_REGEXP)
132425bb815Sopenharmony_ci/* The RegExp.prototype object (15.10.6) */
133425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_REGEXP_PROTOTYPE,
134425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_CLASS,
135425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
136425bb815Sopenharmony_ci         true,
137425bb815Sopenharmony_ci         regexp_prototype)
138425bb815Sopenharmony_ci# endif /* ENABLED (JERRY_BUILTIN_REGEXP) */
139425bb815Sopenharmony_ci#endif /* !ENABLED (JERRY_ES2015) */
140425bb815Sopenharmony_ci
141425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_STRING)
142425bb815Sopenharmony_ci/* The String object (15.5.1) */
143425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_STRING,
144425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
145425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
146425bb815Sopenharmony_ci                 true,
147425bb815Sopenharmony_ci                 string)
148425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_STRING) */
149425bb815Sopenharmony_ci
150425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_BOOLEAN)
151425bb815Sopenharmony_ci/* The Boolean object (15.6.1) */
152425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_BOOLEAN,
153425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
154425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
155425bb815Sopenharmony_ci                 true,
156425bb815Sopenharmony_ci                 boolean)
157425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_BOOLEAN) */
158425bb815Sopenharmony_ci
159425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_NUMBER)
160425bb815Sopenharmony_ci/* The Number object (15.7.1) */
161425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_NUMBER,
162425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
163425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
164425bb815Sopenharmony_ci                 true,
165425bb815Sopenharmony_ci                 number)
166425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_NUMBER) */
167425bb815Sopenharmony_ci
168425bb815Sopenharmony_ci/* The Function.prototype object (15.3.4) */
169425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
170425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
171425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
172425bb815Sopenharmony_ci                 true,
173425bb815Sopenharmony_ci                 function_prototype)
174425bb815Sopenharmony_ci
175425bb815Sopenharmony_ci/* The Function object (15.3.1) */
176425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_FUNCTION,
177425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
178425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
179425bb815Sopenharmony_ci                 true,
180425bb815Sopenharmony_ci                 function)
181425bb815Sopenharmony_ci
182425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_MATH)
183425bb815Sopenharmony_ci/* The Math object (15.8) */
184425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_MATH,
185425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
186425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
187425bb815Sopenharmony_ci         true,
188425bb815Sopenharmony_ci         math)
189425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_MATH) */
190425bb815Sopenharmony_ci
191425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_REFLECT)
192425bb815Sopenharmony_ci
193425bb815Sopenharmony_ci/* The Reflect object (26.1) */
194425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_REFLECT,
195425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
196425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
197425bb815Sopenharmony_ci         true,
198425bb815Sopenharmony_ci         reflect)
199425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_REFLECT) */
200425bb815Sopenharmony_ci
201425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_JSON)
202425bb815Sopenharmony_ci/* The JSON object (15.12) */
203425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_JSON,
204425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
205425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
206425bb815Sopenharmony_ci         true,
207425bb815Sopenharmony_ci         json)
208425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_JSON) */
209425bb815Sopenharmony_ci
210425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_DATE)
211425bb815Sopenharmony_ci/* The Date object (15.9.3) */
212425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_DATE,
213425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
214425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
215425bb815Sopenharmony_ci                 true,
216425bb815Sopenharmony_ci                 date)
217425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_DATE) */
218425bb815Sopenharmony_ci
219425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_REGEXP)
220425bb815Sopenharmony_ci/* The RegExp object (15.10) */
221425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_REGEXP,
222425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
223425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
224425bb815Sopenharmony_ci                 true,
225425bb815Sopenharmony_ci                 regexp)
226425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_REGEXP) */
227425bb815Sopenharmony_ci
228425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015)
229425bb815Sopenharmony_ci#define ECMA_BUILTIN_NATIVE_ERROR_PROTOTYPE_ID ECMA_BUILTIN_ID_ERROR
230425bb815Sopenharmony_ci#else /* !ENABLED (JERRY_ES2015) */
231425bb815Sopenharmony_ci#define ECMA_BUILTIN_NATIVE_ERROR_PROTOTYPE_ID ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE
232425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015 */
233425bb815Sopenharmony_ci
234425bb815Sopenharmony_ci/* The Error object (15.11.1) */
235425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_ERROR,
236425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
237425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
238425bb815Sopenharmony_ci                 true,
239425bb815Sopenharmony_ci                 error)
240425bb815Sopenharmony_ci
241425bb815Sopenharmony_ci/* The Error.prototype object (15.11.4) */
242425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_ERROR_PROTOTYPE,
243425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
244425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
245425bb815Sopenharmony_ci         true,
246425bb815Sopenharmony_ci         error_prototype)
247425bb815Sopenharmony_ci
248425bb815Sopenharmony_ci#if ENABLED (JERRY_BUILTIN_ERRORS)
249425bb815Sopenharmony_ci/* The EvalError.prototype object (15.11.6.1) */
250425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_EVAL_ERROR_PROTOTYPE,
251425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
252425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ERROR_PROTOTYPE,
253425bb815Sopenharmony_ci         true,
254425bb815Sopenharmony_ci         eval_error_prototype)
255425bb815Sopenharmony_ci
256425bb815Sopenharmony_ci/* The EvalError object (15.11.6.1) */
257425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_EVAL_ERROR,
258425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
259425bb815Sopenharmony_ci                 ECMA_BUILTIN_NATIVE_ERROR_PROTOTYPE_ID,
260425bb815Sopenharmony_ci                 true,
261425bb815Sopenharmony_ci                 eval_error)
262425bb815Sopenharmony_ci
263425bb815Sopenharmony_ci/* The RangeError.prototype object (15.11.6.2) */
264425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_RANGE_ERROR_PROTOTYPE,
265425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
266425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ERROR_PROTOTYPE,
267425bb815Sopenharmony_ci         true,
268425bb815Sopenharmony_ci         range_error_prototype)
269425bb815Sopenharmony_ci
270425bb815Sopenharmony_ci/* The RangeError object (15.11.6.2) */
271425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_RANGE_ERROR,
272425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
273425bb815Sopenharmony_ci                 ECMA_BUILTIN_NATIVE_ERROR_PROTOTYPE_ID,
274425bb815Sopenharmony_ci                 true,
275425bb815Sopenharmony_ci                 range_error)
276425bb815Sopenharmony_ci
277425bb815Sopenharmony_ci/* The ReferenceError.prototype object (15.11.6.3) */
278425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_REFERENCE_ERROR_PROTOTYPE,
279425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
280425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ERROR_PROTOTYPE,
281425bb815Sopenharmony_ci         true,
282425bb815Sopenharmony_ci         reference_error_prototype)
283425bb815Sopenharmony_ci
284425bb815Sopenharmony_ci/* The ReferenceError object (15.11.6.3) */
285425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_REFERENCE_ERROR,
286425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
287425bb815Sopenharmony_ci                 ECMA_BUILTIN_NATIVE_ERROR_PROTOTYPE_ID,
288425bb815Sopenharmony_ci                 true,
289425bb815Sopenharmony_ci                 reference_error)
290425bb815Sopenharmony_ci
291425bb815Sopenharmony_ci/* The SyntaxError.prototype object (15.11.6.4) */
292425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_SYNTAX_ERROR_PROTOTYPE,
293425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
294425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ERROR_PROTOTYPE,
295425bb815Sopenharmony_ci         true,
296425bb815Sopenharmony_ci         syntax_error_prototype)
297425bb815Sopenharmony_ci
298425bb815Sopenharmony_ci/* The SyntaxError object (15.11.6.4) */
299425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_SYNTAX_ERROR,
300425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
301425bb815Sopenharmony_ci                 ECMA_BUILTIN_NATIVE_ERROR_PROTOTYPE_ID,
302425bb815Sopenharmony_ci                 true,
303425bb815Sopenharmony_ci                 syntax_error)
304425bb815Sopenharmony_ci
305425bb815Sopenharmony_ci/* The TypeError.prototype object (15.11.6.5) */
306425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_TYPE_ERROR_PROTOTYPE,
307425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
308425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ERROR_PROTOTYPE,
309425bb815Sopenharmony_ci         true,
310425bb815Sopenharmony_ci         type_error_prototype)
311425bb815Sopenharmony_ci
312425bb815Sopenharmony_ci/* The TypeError object (15.11.6.5) */
313425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_TYPE_ERROR,
314425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
315425bb815Sopenharmony_ci                 ECMA_BUILTIN_NATIVE_ERROR_PROTOTYPE_ID,
316425bb815Sopenharmony_ci                 true,
317425bb815Sopenharmony_ci                 type_error)
318425bb815Sopenharmony_ci
319425bb815Sopenharmony_ci/* The URIError.prototype object (15.11.6.6) */
320425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_URI_ERROR_PROTOTYPE,
321425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
322425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ERROR_PROTOTYPE,
323425bb815Sopenharmony_ci         true,
324425bb815Sopenharmony_ci         uri_error_prototype)
325425bb815Sopenharmony_ci
326425bb815Sopenharmony_ci/* The URIError object (15.11.6.6) */
327425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_URI_ERROR,
328425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
329425bb815Sopenharmony_ci                 ECMA_BUILTIN_NATIVE_ERROR_PROTOTYPE_ID,
330425bb815Sopenharmony_ci                 true,
331425bb815Sopenharmony_ci                 uri_error)
332425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_BUILTIN_ERRORS) */
333425bb815Sopenharmony_ci
334425bb815Sopenharmony_ci/**< The [[ThrowTypeError]] object (13.2.3) */
335425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_TYPE_ERROR_THROWER,
336425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
337425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
338425bb815Sopenharmony_ci                 false,
339425bb815Sopenharmony_ci                 type_error_thrower)
340425bb815Sopenharmony_ci
341425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_TYPEDARRAY)
342425bb815Sopenharmony_ci
343425bb815Sopenharmony_ci/* The ArrayBuffer.prototype object (ES2015 24.1.4) */
344425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_ARRAYBUFFER_PROTOTYPE,
345425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
346425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
347425bb815Sopenharmony_ci         true,
348425bb815Sopenharmony_ci         arraybuffer_prototype)
349425bb815Sopenharmony_ci
350425bb815Sopenharmony_ci/* The ArrayBuffer object (ES2015 24.1.2) */
351425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_ARRAYBUFFER,
352425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
353425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
354425bb815Sopenharmony_ci                 true,
355425bb815Sopenharmony_ci                 arraybuffer)
356425bb815Sopenharmony_ci
357425bb815Sopenharmony_ci /* The %TypedArrayPrototype% object (ES2015 24.2.3) */
358425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
359425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
360425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
361425bb815Sopenharmony_ci         true,
362425bb815Sopenharmony_ci         typedarray_prototype)
363425bb815Sopenharmony_ci
364425bb815Sopenharmony_ci/* The %TypedArray% intrinsic object (ES2015 22.2.1)
365425bb815Sopenharmony_ci   Note: The routines must be in this order. */
366425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_TYPEDARRAY,
367425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
368425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
369425bb815Sopenharmony_ci                 true,
370425bb815Sopenharmony_ci                 typedarray)
371425bb815Sopenharmony_ci
372425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_INT8ARRAY,
373425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
374425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_TYPEDARRAY,
375425bb815Sopenharmony_ci                 true,
376425bb815Sopenharmony_ci                 int8array)
377425bb815Sopenharmony_ci
378425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_UINT8ARRAY,
379425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
380425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_TYPEDARRAY,
381425bb815Sopenharmony_ci                 true,
382425bb815Sopenharmony_ci                 uint8array)
383425bb815Sopenharmony_ci
384425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_UINT8CLAMPEDARRAY,
385425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
386425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_TYPEDARRAY,
387425bb815Sopenharmony_ci                 true,
388425bb815Sopenharmony_ci                 uint8clampedarray)
389425bb815Sopenharmony_ci
390425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_INT16ARRAY,
391425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
392425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_TYPEDARRAY,
393425bb815Sopenharmony_ci                 true,
394425bb815Sopenharmony_ci                 int16array)
395425bb815Sopenharmony_ci
396425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_UINT16ARRAY,
397425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
398425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_TYPEDARRAY,
399425bb815Sopenharmony_ci                 true,
400425bb815Sopenharmony_ci                 uint16array)
401425bb815Sopenharmony_ci
402425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_INT32ARRAY,
403425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
404425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_TYPEDARRAY,
405425bb815Sopenharmony_ci                 true,
406425bb815Sopenharmony_ci                 int32array)
407425bb815Sopenharmony_ci
408425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_UINT32ARRAY,
409425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
410425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_TYPEDARRAY,
411425bb815Sopenharmony_ci                 true,
412425bb815Sopenharmony_ci                 uint32array)
413425bb815Sopenharmony_ci
414425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_FLOAT32ARRAY,
415425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
416425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_TYPEDARRAY,
417425bb815Sopenharmony_ci                 true,
418425bb815Sopenharmony_ci                 float32array)
419425bb815Sopenharmony_ci
420425bb815Sopenharmony_ci#if ENABLED (JERRY_NUMBER_TYPE_FLOAT64)
421425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_FLOAT64ARRAY,
422425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
423425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_TYPEDARRAY,
424425bb815Sopenharmony_ci                 true,
425425bb815Sopenharmony_ci                 float64array)
426425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_NUMBER_TYPE_FLOAT64) */
427425bb815Sopenharmony_ci
428425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_INT8ARRAY_PROTOTYPE,
429425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
430425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
431425bb815Sopenharmony_ci         true,
432425bb815Sopenharmony_ci         int8array_prototype)
433425bb815Sopenharmony_ci
434425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_UINT8ARRAY_PROTOTYPE,
435425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
436425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
437425bb815Sopenharmony_ci         true,
438425bb815Sopenharmony_ci         uint8array_prototype)
439425bb815Sopenharmony_ci
440425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_UINT8CLAMPEDARRAY_PROTOTYPE,
441425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
442425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
443425bb815Sopenharmony_ci         true,
444425bb815Sopenharmony_ci         uint8clampedarray_prototype)
445425bb815Sopenharmony_ci
446425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_INT16ARRAY_PROTOTYPE,
447425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
448425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
449425bb815Sopenharmony_ci         true,
450425bb815Sopenharmony_ci         int16array_prototype)
451425bb815Sopenharmony_ci
452425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_UINT16ARRAY_PROTOTYPE,
453425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
454425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
455425bb815Sopenharmony_ci         true,
456425bb815Sopenharmony_ci         uint16array_prototype)
457425bb815Sopenharmony_ci
458425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_INT32ARRAY_PROTOTYPE,
459425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
460425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
461425bb815Sopenharmony_ci         true,
462425bb815Sopenharmony_ci         int32array_prototype)
463425bb815Sopenharmony_ci
464425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_UINT32ARRAY_PROTOTYPE,
465425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
466425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
467425bb815Sopenharmony_ci         true,
468425bb815Sopenharmony_ci         uint32array_prototype)
469425bb815Sopenharmony_ci
470425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_FLOAT32ARRAY_PROTOTYPE,
471425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
472425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
473425bb815Sopenharmony_ci         true,
474425bb815Sopenharmony_ci         float32array_prototype)
475425bb815Sopenharmony_ci
476425bb815Sopenharmony_ci#if ENABLED (JERRY_NUMBER_TYPE_FLOAT64)
477425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_FLOAT64ARRAY_PROTOTYPE,
478425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
479425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_TYPEDARRAY_PROTOTYPE,
480425bb815Sopenharmony_ci         true,
481425bb815Sopenharmony_ci         float64array_prototype)
482425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_NUMBER_TYPE_FLOAT64) */
483425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_TYPEDARRAY) */
484425bb815Sopenharmony_ci
485425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_PROMISE)
486425bb815Sopenharmony_ci
487425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_PROMISE_PROTOTYPE,
488425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
489425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
490425bb815Sopenharmony_ci         true,
491425bb815Sopenharmony_ci         promise_prototype)
492425bb815Sopenharmony_ci
493425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_PROMISE,
494425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
495425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
496425bb815Sopenharmony_ci                 true,
497425bb815Sopenharmony_ci                 promise)
498425bb815Sopenharmony_ci
499425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_PROMISE) */
500425bb815Sopenharmony_ci
501425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_MAP)
502425bb815Sopenharmony_ci
503425bb815Sopenharmony_ci/* The Map prototype object (23.1.3) */
504425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_MAP_PROTOTYPE,
505425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
506425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
507425bb815Sopenharmony_ci         true,
508425bb815Sopenharmony_ci         map_prototype)
509425bb815Sopenharmony_ci
510425bb815Sopenharmony_ci/* The Map routine (ECMA-262 v6, 23.1.1.1) */
511425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_MAP,
512425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
513425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
514425bb815Sopenharmony_ci                 true,
515425bb815Sopenharmony_ci                 map)
516425bb815Sopenharmony_ci
517425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_MAP) */
518425bb815Sopenharmony_ci
519425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_SET)
520425bb815Sopenharmony_ci
521425bb815Sopenharmony_ci/* The Set prototype object (23.1.3) */
522425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_SET_PROTOTYPE,
523425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
524425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
525425bb815Sopenharmony_ci         true,
526425bb815Sopenharmony_ci         set_prototype)
527425bb815Sopenharmony_ci
528425bb815Sopenharmony_ci/* The Set routine (ECMA-262 v6, 23.1.1.1) */
529425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_SET,
530425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
531425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
532425bb815Sopenharmony_ci                 true,
533425bb815Sopenharmony_ci                 set)
534425bb815Sopenharmony_ci
535425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_SET) */
536425bb815Sopenharmony_ci
537425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_WEAKMAP)
538425bb815Sopenharmony_ci
539425bb815Sopenharmony_ci/* The WeakMap prototype object (23.1.3) */
540425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_WEAKMAP_PROTOTYPE,
541425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
542425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
543425bb815Sopenharmony_ci         true,
544425bb815Sopenharmony_ci         weakmap_prototype)
545425bb815Sopenharmony_ci
546425bb815Sopenharmony_ci/* The WeakMap routine (ECMA-262 v6, 23.1.1.1) */
547425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_WEAKMAP,
548425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
549425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
550425bb815Sopenharmony_ci                 true,
551425bb815Sopenharmony_ci                 weakmap)
552425bb815Sopenharmony_ci
553425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_WEAKMAP) */
554425bb815Sopenharmony_ci
555425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_WEAKSET)
556425bb815Sopenharmony_ci
557425bb815Sopenharmony_ci/* The WeakSet prototype object (23.1.3) */
558425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_WEAKSET_PROTOTYPE,
559425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
560425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
561425bb815Sopenharmony_ci         true,
562425bb815Sopenharmony_ci         weakset_prototype)
563425bb815Sopenharmony_ci
564425bb815Sopenharmony_ci/* The WeakSet routine (ECMA-262 v6, 23.1.1.1) */
565425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_WEAKSET,
566425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
567425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
568425bb815Sopenharmony_ci                 true,
569425bb815Sopenharmony_ci                 weakset)
570425bb815Sopenharmony_ci
571425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_WEAKSET) */
572425bb815Sopenharmony_ci
573425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_PROXY)
574425bb815Sopenharmony_ci/* The Proxy routine (ECMA-262 v6, 26.2.1) */
575425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_PROXY,
576425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
577425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
578425bb815Sopenharmony_ci                 true,
579425bb815Sopenharmony_ci                 proxy)
580425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_PROXY) */
581425bb815Sopenharmony_ci
582425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015)
583425bb815Sopenharmony_ci
584425bb815Sopenharmony_ci/* Intrinsic hidden builtin object  */
585425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_INTRINSIC_OBJECT,
586425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
587425bb815Sopenharmony_ci         ECMA_BUILTIN_ID__COUNT,
588425bb815Sopenharmony_ci         true,
589425bb815Sopenharmony_ci         intrinsic)
590425bb815Sopenharmony_ci
591425bb815Sopenharmony_ci/* The Array.prototype[@@unscopables] object */
592425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_ARRAY_PROTOTYPE_UNSCOPABLES,
593425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
594425bb815Sopenharmony_ci         ECMA_BUILTIN_ID__COUNT,
595425bb815Sopenharmony_ci         true,
596425bb815Sopenharmony_ci         array_prototype_unscopables)
597425bb815Sopenharmony_ci
598425bb815Sopenharmony_ci/* The Symbol prototype object (ECMA-262 v6, 19.4.2.7) */
599425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_SYMBOL_PROTOTYPE,
600425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
601425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
602425bb815Sopenharmony_ci         true,
603425bb815Sopenharmony_ci         symbol_prototype)
604425bb815Sopenharmony_ci
605425bb815Sopenharmony_ci/* The Symbol routine (ECMA-262 v6, 19.4.2.1) */
606425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_SYMBOL,
607425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
608425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
609425bb815Sopenharmony_ci                 true,
610425bb815Sopenharmony_ci                 symbol)
611425bb815Sopenharmony_ci
612425bb815Sopenharmony_ci/* The %IteratorPrototype% object (ECMA-262 v6, 25.1.2) */
613425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_ITERATOR_PROTOTYPE,
614425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
615425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
616425bb815Sopenharmony_ci         true,
617425bb815Sopenharmony_ci         iterator_prototype)
618425bb815Sopenharmony_ci
619425bb815Sopenharmony_ci/* The %ArrayIteratorPrototype% object (ECMA-262 v6, 22.1.5.2) */
620425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_ARRAY_ITERATOR_PROTOTYPE,
621425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
622425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ITERATOR_PROTOTYPE,
623425bb815Sopenharmony_ci         true,
624425bb815Sopenharmony_ci         array_iterator_prototype)
625425bb815Sopenharmony_ci
626425bb815Sopenharmony_ci/* The %StringIteratorPrototype% object (ECMA-262 v6, 22.1.5.2) */
627425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_STRING_ITERATOR_PROTOTYPE,
628425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
629425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ITERATOR_PROTOTYPE,
630425bb815Sopenharmony_ci         true,
631425bb815Sopenharmony_ci         string_iterator_prototype)
632425bb815Sopenharmony_ci
633425bb815Sopenharmony_ci/* The %(GeneratorFunction)% object */
634425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_GENERATOR_FUNCTION,
635425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
636425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION,
637425bb815Sopenharmony_ci                 true,
638425bb815Sopenharmony_ci                 generator_function)
639425bb815Sopenharmony_ci
640425bb815Sopenharmony_ci/* The %(Generator)% object */
641425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_GENERATOR,
642425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
643425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
644425bb815Sopenharmony_ci         true,
645425bb815Sopenharmony_ci         generator)
646425bb815Sopenharmony_ci
647425bb815Sopenharmony_ci/* The %(Generator).prototype% object */
648425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_GENERATOR_PROTOTYPE,
649425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
650425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ITERATOR_PROTOTYPE,
651425bb815Sopenharmony_ci         true,
652425bb815Sopenharmony_ci         generator_prototype)
653425bb815Sopenharmony_ci
654425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_SET)
655425bb815Sopenharmony_ci/* The %SetIteratorPrototype% object (ECMA-262 v6, 23.2.5.2) */
656425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_SET_ITERATOR_PROTOTYPE,
657425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
658425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ITERATOR_PROTOTYPE,
659425bb815Sopenharmony_ci         true,
660425bb815Sopenharmony_ci         set_iterator_prototype)
661425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_SET) */
662425bb815Sopenharmony_ci
663425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_MAP)
664425bb815Sopenharmony_ci/* The %MapIteratorPrototype% object (ECMA-262 v6, 23.1.5.2) */
665425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_MAP_ITERATOR_PROTOTYPE,
666425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
667425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_ITERATOR_PROTOTYPE,
668425bb815Sopenharmony_ci         true,
669425bb815Sopenharmony_ci         map_iterator_prototype)
670425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_SET) */
671425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015) */
672425bb815Sopenharmony_ci
673425bb815Sopenharmony_ci#if ENABLED (JERRY_ES2015_BUILTIN_DATAVIEW)
674425bb815Sopenharmony_ci/* The DataView prototype object (ECMA-262 v6, 24.2.3.1) */
675425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_DATAVIEW_PROTOTYPE,
676425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
677425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE,
678425bb815Sopenharmony_ci         true,
679425bb815Sopenharmony_ci         dataview_prototype)
680425bb815Sopenharmony_ci
681425bb815Sopenharmony_ci/* The DataView routine (ECMA-262 v6, 24.2.2.1) */
682425bb815Sopenharmony_ciBUILTIN_ROUTINE (ECMA_BUILTIN_ID_DATAVIEW,
683425bb815Sopenharmony_ci                 ECMA_OBJECT_TYPE_FUNCTION,
684425bb815Sopenharmony_ci                 ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE,
685425bb815Sopenharmony_ci                 true,
686425bb815Sopenharmony_ci                 dataview)
687425bb815Sopenharmony_ci#endif /* ENABLED (JERRY_ES2015_BUILTIN_DATAVIEW */
688425bb815Sopenharmony_ci
689425bb815Sopenharmony_ci/* The Global object (15.1) */
690425bb815Sopenharmony_ciBUILTIN (ECMA_BUILTIN_ID_GLOBAL,
691425bb815Sopenharmony_ci         ECMA_OBJECT_TYPE_GENERAL,
692425bb815Sopenharmony_ci         ECMA_BUILTIN_ID_OBJECT_PROTOTYPE, /* Implementation-dependent */
693425bb815Sopenharmony_ci         true,
694425bb815Sopenharmony_ci         global)
695425bb815Sopenharmony_ci
696425bb815Sopenharmony_ci#undef BUILTIN
697