v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
heap-symbols.h
Go to the documentation of this file.
1
// Copyright 2015 the V8 project authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef V8_INIT_HEAP_SYMBOLS_H_
6
#define V8_INIT_HEAP_SYMBOLS_H_
7
8
#ifdef V8_INTL_SUPPORT
9
#define INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _) \
10
V(_, adoptText_string, "adoptText") \
11
V(_, approximatelySign_string, "approximatelySign") \
12
V(_, baseName_string, "baseName") \
13
V(_, accounting_string, "accounting") \
14
V(_, breakType_string, "breakType") \
15
V(_, calendars_string, "calendars") \
16
V(_, cardinal_string, "cardinal") \
17
V(_, caseFirst_string, "caseFirst") \
18
V(_, ceil_string, "ceil") \
19
V(_, compare_string, "compare") \
20
V(_, collation_string, "collation") \
21
V(_, collations_string, "collations") \
22
V(_, compact_string, "compact") \
23
V(_, compactDisplay_string, "compactDisplay") \
24
V(_, currency_string, "currency") \
25
V(_, currencyDisplay_string, "currencyDisplay") \
26
V(_, currencySign_string, "currencySign") \
27
V(_, dateStyle_string, "dateStyle") \
28
V(_, dateTimeField_string, "dateTimeField") \
29
V(_, dayPeriod_string, "dayPeriod") \
30
V(_, daysDisplay_string, "daysDisplay") \
31
V(_, decimal_string, "decimal") \
32
V(_, dialect_string, "dialect") \
33
V(_, digital_string, "digital") \
34
V(_, direction_string, "direction") \
35
V(_, endRange_string, "endRange") \
36
V(_, engineering_string, "engineering") \
37
V(_, exceptZero_string, "exceptZero") \
38
V(_, expand_string, "expand") \
39
V(_, exponentInteger_string, "exponentInteger") \
40
V(_, exponentMinusSign_string, "exponentMinusSign") \
41
V(_, exponentSeparator_string, "exponentSeparator") \
42
V(_, fallback_string, "fallback") \
43
V(_, first_string, "first") \
44
V(_, firstDay_string, "firstDay") \
45
V(_, firstDayOfWeek_string, "firstDayOfWeek") \
46
V(_, floor_string, "floor") \
47
V(_, format_string, "format") \
48
V(_, fraction_string, "fraction") \
49
V(_, fractionalDigits_string, "fractionalDigits") \
50
V(_, fractionalSecond_string, "fractionalSecond") \
51
V(_, full_string, "full") \
52
V(_, granularity_string, "granularity") \
53
V(_, grapheme_string, "grapheme") \
54
V(_, group_string, "group") \
55
V(_, h11_string, "h11") \
56
V(_, h12_string, "h12") \
57
V(_, h23_string, "h23") \
58
V(_, h24_string, "h24") \
59
V(_, halfCeil_string, "halfCeil") \
60
V(_, halfEven_string, "halfEven") \
61
V(_, halfExpand_string, "halfExpand") \
62
V(_, halfFloor_string, "halfFloor") \
63
V(_, halfTrunc_string, "halfTrunc") \
64
V(_, hour12_string, "hour12") \
65
V(_, hourCycle_string, "hourCycle") \
66
V(_, hourCycles_string, "hourCycles") \
67
V(_, hoursDisplay_string, "hoursDisplay") \
68
V(_, ideo_string, "ideo") \
69
V(_, ignorePunctuation_string, "ignorePunctuation") \
70
V(_, Invalid_Date_string, "Invalid Date") \
71
V(_, integer_string, "integer") \
72
V(_, isWordLike_string, "isWordLike") \
73
V(_, kana_string, "kana") \
74
V(_, language_string, "language") \
75
V(_, languageDisplay_string, "languageDisplay") \
76
V(_, lessPrecision_string, "lessPrecision") \
77
V(_, letter_string, "letter") \
78
V(_, list_string, "list") \
79
V(_, literal_string, "literal") \
80
V(_, locale_string, "locale") \
81
V(_, loose_string, "loose") \
82
V(_, lower_string, "lower") \
83
V(_, ltr_string, "ltr") \
84
V(_, maximumFractionDigits_string, "maximumFractionDigits") \
85
V(_, maximumSignificantDigits_string, "maximumSignificantDigits") \
86
V(_, microsecondsDisplay_string, "microsecondsDisplay") \
87
V(_, millisecondsDisplay_string, "millisecondsDisplay") \
88
V(_, min2_string, "min2") \
89
V(_, minimalDays_string, "minimalDays") \
90
V(_, minimumFractionDigits_string, "minimumFractionDigits") \
91
V(_, minimumIntegerDigits_string, "minimumIntegerDigits") \
92
V(_, minimumSignificantDigits_string, "minimumSignificantDigits") \
93
V(_, minus_0, "-0") \
94
V(_, minusSign_string, "minusSign") \
95
V(_, minutesDisplay_string, "minutesDisplay") \
96
V(_, monthsDisplay_string, "monthsDisplay") \
97
V(_, morePrecision_string, "morePrecision") \
98
V(_, nan_string, "nan") \
99
V(_, nanosecondsDisplay_string, "nanosecondsDisplay") \
100
V(_, narrowSymbol_string, "narrowSymbol") \
101
V(_, negative_string, "negative") \
102
V(_, never_string, "never") \
103
V(_, none_string, "none") \
104
V(_, notation_string, "notation") \
105
V(_, normal_string, "normal") \
106
V(_, numberingSystem_string, "numberingSystem") \
107
V(_, numberingSystems_string, "numberingSystems") \
108
V(_, numeric_string, "numeric") \
109
V(_, ordinal_string, "ordinal") \
110
V(_, percentSign_string, "percentSign") \
111
V(_, plusSign_string, "plusSign") \
112
V(_, quarter_string, "quarter") \
113
V(_, region_string, "region") \
114
V(_, relatedYear_string, "relatedYear") \
115
V(_, roundingMode_string, "roundingMode") \
116
V(_, roundingPriority_string, "roundingPriority") \
117
V(_, rtl_string, "rtl") \
118
V(_, scientific_string, "scientific") \
119
V(_, secondsDisplay_string, "secondsDisplay") \
120
V(_, segment_string, "segment") \
121
V(_, SegmentIterator_string, "Segment Iterator") \
122
V(_, Segments_string, "Segments") \
123
V(_, sensitivity_string, "sensitivity") \
124
V(_, sep_string, "sep") \
125
V(_, shared_string, "shared") \
126
V(_, signDisplay_string, "signDisplay") \
127
V(_, standard_string, "standard") \
128
V(_, startRange_string, "startRange") \
129
V(_, strict_string, "strict") \
130
V(_, stripIfInteger_string, "stripIfInteger") \
131
V(_, style_string, "style") \
132
V(_, term_string, "term") \
133
V(_, textInfo_string, "textInfo") \
134
V(_, timeStyle_string, "timeStyle") \
135
V(_, timeZones_string, "timeZones") \
136
V(_, timeZoneName_string, "timeZoneName") \
137
V(_, trailingZeroDisplay_string, "trailingZeroDisplay") \
138
V(_, trunc_string, "trunc") \
139
V(_, two_digit_string, "2-digit") \
140
V(_, type_string, "type") \
141
V(_, unknown_string, "unknown") \
142
V(_, upper_string, "upper") \
143
V(_, usage_string, "usage") \
144
V(_, useGrouping_string, "useGrouping") \
145
V(_, unitDisplay_string, "unitDisplay") \
146
V(_, weekday_string, "weekday") \
147
V(_, weekend_string, "weekend") \
148
V(_, weeksDisplay_string, "weeksDisplay") \
149
V(_, weekInfo_string, "weekInfo") \
150
V(_, yearName_string, "yearName") \
151
V(_, yearsDisplay_string, "yearsDisplay")
152
#else
// V8_INTL_SUPPORT
153
#define INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)
154
#endif
// V8_INTL_SUPPORT
155
156
// Internalized strings to be allocated early on the read only heap and early in
157
// the roots table. Used to give this string a RootIndex < 32.
158
#define EXTRA_IMPORTANT_INTERNALIZED_STRING_LIST_GENERATOR(V, _) \
159
V(_, empty_string, "")
160
161
// Internalized strings to be allocated early on the read only heap
162
#define IMPORTANT_INTERNALIZED_STRING_LIST_GENERATOR(V, _) \
163
V(_, prototype_string, "prototype") \
164
V(_, name_string, "name") \
165
V(_, enumerable_string, "enumerable") \
166
V(_, configurable_string, "configurable") \
167
V(_, value_string, "value") \
168
V(_, writable_string, "writable")
169
170
// Generated with the following Python script:
171
// ```
172
// named_chars = {
173
// # Punctuation
174
// '!': 'exclamation_mark',
175
// '"': 'double_quotes',
176
// '#': 'hash',
177
// '$': 'dollar',
178
// '%': 'percent_sign',
179
// '&': 'ampersand',
180
// "'": 'single_quote',
181
// '(': 'open_parenthesis',
182
// ')': 'close_parenthesis',
183
// '*': 'asterisk',
184
// '+': 'plus',
185
// ',': 'comma',
186
// '-': 'minus',
187
// '.': 'dot',
188
// '/': 'slash',
189
// ':': 'colon',
190
// ';': 'semicolon',
191
// '<': 'less_than',
192
// '=': 'equals',
193
// '>': 'greater_than',
194
// '?': 'question_mark',
195
// '[': 'open_bracket',
196
// '\\': 'backslash',
197
// ']': 'close_bracket',
198
// '^': 'caret',
199
// '_': 'underscore',
200
// '`': 'backtick',
201
// '{': 'open_brace',
202
// '|': 'pipe',
203
// '}': 'close_brace',
204
// '~': 'tilde',
205
// '@': 'at_sign',
206
// ' ': 'space',
207
// # Numbers
208
// '0': 'zero',
209
// '1': 'one',
210
// '2': 'two',
211
// '3': 'three',
212
// '4': 'four',
213
// '5': 'five',
214
// '6': 'six',
215
// '7': 'seven',
216
// '8': 'eight',
217
// '9': 'nine',
218
// # Control Characters
219
// '\x00': 'ascii_nul', # Null character
220
// '\x01': 'ascii_soh', # Start of Heading
221
// '\x02': 'ascii_stx', # Start of Text
222
// '\x03': 'ascii_etx', # End of Text
223
// '\x04': 'ascii_eot', # End of Transmission
224
// '\x05': 'ascii_enq', # Enquiry
225
// '\x06': 'ascii_ack', # Acknowledge
226
// '\x07': 'ascii_bel', # Bell
227
// '\x08': 'ascii_bs', # Backspace
228
// '\t': 'ascii_ht', # Horizontal Tab
229
// '\n': 'ascii_lf', # Line Feed
230
// '\x0b': 'ascii_vt', # Vertical Tab
231
// '\x0c': 'ascii_ff', # Form Feed
232
// '\r': 'ascii_cr', # Carriage Return
233
// '\x0e': 'ascii_so', # Shift Out
234
// '\x0f': 'ascii_si', # Shift In
235
// '\x10': 'ascii_dle', # Data Link Escape
236
// '\x11': 'ascii_dc1', # Device Control 1
237
// '\x12': 'ascii_dc2', # Device Control 2
238
// '\x13': 'ascii_dc3', # Device Control 3
239
// '\x14': 'ascii_dc4', # Device Control 4
240
// '\x15': 'ascii_nak', # Negative Acknowledge
241
// '\x16': 'ascii_syn', # Synchronous Idle
242
// '\x17': 'ascii_etb', # End of Transmission Block
243
// '\x18': 'ascii_can', # Cancel
244
// '\x19': 'ascii_em', # End of Medium
245
// '\x1a': 'ascii_sub', # Substitute
246
// '\x1b': 'ascii_esc', # Escape
247
// '\x1c': 'ascii_fs', # File Separator
248
// '\x1d': 'ascii_gs', # Group Separator
249
// '\x1e': 'ascii_rs', # Record Separator
250
// '\x1f': 'ascii_us', # Unit Separator
251
// '\x7f': 'ascii_del', # Delete
252
// }
253
//
254
// def escape(c):
255
// if c == '\0':
256
// return "\\0"
257
// elif c == '\\':
258
// return "\\\\"
259
// elif c == '\n':
260
// return "\\n"
261
// elif c == '\t':
262
// return "\\t"
263
// elif c == '\r':
264
// return "\\r"
265
// elif c == '\v':
266
// return "\\v"
267
// elif c == '\b':
268
// return "\\b"
269
// elif c == '\f':
270
// return "\\f"
271
// elif c == '\a':
272
// return "\\a"
273
// elif c == '"':
274
// return '\\"'
275
// elif c == '\'':
276
// return "\\'"
277
// elif not c.isprintable():
278
// return f'\\x{ord(c):02x}'
279
// else:
280
// return c
281
//
282
// for i in range(128):
283
// c = chr(i)
284
// if c.isascii() and c.isalpha():
285
// name = c
286
// elif c in named_chars:
287
// name = named_chars[c]
288
// else:
289
// raise f"No name for 0x{i:02x}"
290
//
291
// print(f"V_(_, {name}_string, \"{escape(c)}\") \\")
292
// ```
293
#define SINGLE_CHARACTER_ASCII_INTERNALIZED_STRING_LIST_GENERATOR(V_, _) \
294
V_(_, ascii_nul_string, "\0") \
295
V_(_, ascii_soh_string, "\x01") \
296
V_(_, ascii_stx_string, "\x02") \
297
V_(_, ascii_etx_string, "\x03") \
298
V_(_, ascii_eot_string, "\x04") \
299
V_(_, ascii_enq_string, "\x05") \
300
V_(_, ascii_ack_string, "\x06") \
301
V_(_, ascii_bel_string, "\a") \
302
V_(_, ascii_bs_string, "\b") \
303
V_(_, ascii_ht_string, "\t") \
304
V_(_, ascii_lf_string, "\n") \
305
V_(_, ascii_vt_string, "\v") \
306
V_(_, ascii_ff_string, "\f") \
307
V_(_, ascii_cr_string, "\r") \
308
V_(_, ascii_so_string, "\x0e") \
309
V_(_, ascii_si_string, "\x0f") \
310
V_(_, ascii_dle_string, "\x10") \
311
V_(_, ascii_dc1_string, "\x11") \
312
V_(_, ascii_dc2_string, "\x12") \
313
V_(_, ascii_dc3_string, "\x13") \
314
V_(_, ascii_dc4_string, "\x14") \
315
V_(_, ascii_nak_string, "\x15") \
316
V_(_, ascii_syn_string, "\x16") \
317
V_(_, ascii_etb_string, "\x17") \
318
V_(_, ascii_can_string, "\x18") \
319
V_(_, ascii_em_string, "\x19") \
320
V_(_, ascii_sub_string, "\x1a") \
321
V_(_, ascii_esc_string, "\x1b") \
322
V_(_, ascii_fs_string, "\x1c") \
323
V_(_, ascii_gs_string, "\x1d") \
324
V_(_, ascii_rs_string, "\x1e") \
325
V_(_, ascii_us_string, "\x1f") \
326
V_(_, space_string, " ") \
327
V_(_, exclamation_mark_string, "!") \
328
V_(_, double_quotes_string, "\"") \
329
V_(_, hash_string, "#") \
330
V_(_, dollar_string, "$") \
331
V_(_, percent_sign_string, "%") \
332
V_(_, ampersand_string, "&") \
333
V_(_, single_quote_string, "\'") \
334
V_(_, open_parenthesis_string, "(") \
335
V_(_, close_parenthesis_string, ")") \
336
V_(_, asterisk_string, "*") \
337
V_(_, plus_string, "+") \
338
V_(_, comma_string, ",") \
339
V_(_, minus_string, "-") \
340
V_(_, dot_string, ".") \
341
V_(_, slash_string, "/") \
342
V_(_, zero_string, "0") \
343
V_(_, one_string, "1") \
344
V_(_, two_string, "2") \
345
V_(_, three_string, "3") \
346
V_(_, four_string, "4") \
347
V_(_, five_string, "5") \
348
V_(_, six_string, "6") \
349
V_(_, seven_string, "7") \
350
V_(_, eight_string, "8") \
351
V_(_, nine_string, "9") \
352
V_(_, colon_string, ":") \
353
V_(_, semicolon_string, ";") \
354
V_(_, less_than_string, "<") \
355
V_(_, equals_string, "=") \
356
V_(_, greater_than_string, ">") \
357
V_(_, question_mark_string, "?") \
358
V_(_, at_sign_string, "@") \
359
V_(_, A_string, "A") \
360
V_(_, B_string, "B") \
361
V_(_, C_string, "C") \
362
V_(_, D_string, "D") \
363
V_(_, E_string, "E") \
364
V_(_, F_string, "F") \
365
V_(_, G_string, "G") \
366
V_(_, H_string, "H") \
367
V_(_, I_string, "I") \
368
V_(_, J_string, "J") \
369
V_(_, K_string, "K") \
370
V_(_, L_string, "L") \
371
V_(_, M_string, "M") \
372
V_(_, N_string, "N") \
373
V_(_, O_string, "O") \
374
V_(_, P_string, "P") \
375
V_(_, Q_string, "Q") \
376
V_(_, R_string, "R") \
377
V_(_, S_string, "S") \
378
V_(_, T_string, "T") \
379
V_(_, U_string, "U") \
380
V_(_, V_string, "V") \
381
V_(_, W_string, "W") \
382
V_(_, X_string, "X") \
383
V_(_, Y_string, "Y") \
384
V_(_, Z_string, "Z") \
385
V_(_, open_bracket_string, "[") \
386
V_(_, backslash_string, "\\") \
387
V_(_, close_bracket_string, "]") \
388
V_(_, caret_string, "^") \
389
V_(_, underscore_string, "_") \
390
V_(_, backtick_string, "`") \
391
V_(_, a_string, "a") \
392
V_(_, b_string, "b") \
393
V_(_, c_string, "c") \
394
V_(_, d_string, "d") \
395
V_(_, e_string, "e") \
396
V_(_, f_string, "f") \
397
V_(_, g_string, "g") \
398
V_(_, h_string, "h") \
399
V_(_, i_string, "i") \
400
V_(_, j_string, "j") \
401
V_(_, k_string, "k") \
402
V_(_, l_string, "l") \
403
V_(_, m_string, "m") \
404
V_(_, n_string, "n") \
405
V_(_, o_string, "o") \
406
V_(_, p_string, "p") \
407
V_(_, q_string, "q") \
408
V_(_, r_string, "r") \
409
V_(_, s_string, "s") \
410
V_(_, t_string, "t") \
411
V_(_, u_string, "u") \
412
V_(_, v_string, "v") \
413
V_(_, w_string, "w") \
414
V_(_, x_string, "x") \
415
V_(_, y_string, "y") \
416
V_(_, z_string, "z") \
417
V_(_, open_brace_string, "{") \
418
V_(_, pipe_string, "|") \
419
V_(_, close_brace_string, "}") \
420
V_(_, tilde_string, "~") \
421
V_(_, ascii_del_string, "\x7f")
422
423
// Generated with the following Python script:
424
// ```
425
// def escape(c):
426
// # Values outside of the ASCII range have to be embedded with
427
// # raw \x encoding, so that we embed them as single latin1 bytes
428
// # rather than two utf8 bytes.
429
// return f'\\x{ord(c):02x}'
430
//
431
// for i in range(128,256):
432
// name = f'latin1_{i:02x}'
433
// print(f"V_(_, {name}_string, \"{escape(c)}\") \\")
434
// ```
435
#define SINGLE_CHARACTER_INTERNALIZED_STRING_LIST_GENERATOR(V_, _) \
436
SINGLE_CHARACTER_ASCII_INTERNALIZED_STRING_LIST_GENERATOR(V_, _) \
437
V_(_, latin1_80_string, "\x80") \
438
V_(_, latin1_81_string, "\x81") \
439
V_(_, latin1_82_string, "\x82") \
440
V_(_, latin1_83_string, "\x83") \
441
V_(_, latin1_84_string, "\x84") \
442
V_(_, latin1_85_string, "\x85") \
443
V_(_, latin1_86_string, "\x86") \
444
V_(_, latin1_87_string, "\x87") \
445
V_(_, latin1_88_string, "\x88") \
446
V_(_, latin1_89_string, "\x89") \
447
V_(_, latin1_8a_string, "\x8a") \
448
V_(_, latin1_8b_string, "\x8b") \
449
V_(_, latin1_8c_string, "\x8c") \
450
V_(_, latin1_8d_string, "\x8d") \
451
V_(_, latin1_8e_string, "\x8e") \
452
V_(_, latin1_8f_string, "\x8f") \
453
V_(_, latin1_90_string, "\x90") \
454
V_(_, latin1_91_string, "\x91") \
455
V_(_, latin1_92_string, "\x92") \
456
V_(_, latin1_93_string, "\x93") \
457
V_(_, latin1_94_string, "\x94") \
458
V_(_, latin1_95_string, "\x95") \
459
V_(_, latin1_96_string, "\x96") \
460
V_(_, latin1_97_string, "\x97") \
461
V_(_, latin1_98_string, "\x98") \
462
V_(_, latin1_99_string, "\x99") \
463
V_(_, latin1_9a_string, "\x9a") \
464
V_(_, latin1_9b_string, "\x9b") \
465
V_(_, latin1_9c_string, "\x9c") \
466
V_(_, latin1_9d_string, "\x9d") \
467
V_(_, latin1_9e_string, "\x9e") \
468
V_(_, latin1_9f_string, "\x9f") \
469
V_(_, latin1_a0_string, "\xa0") \
470
V_(_, latin1_a1_string, "\xa1") \
471
V_(_, latin1_a2_string, "\xa2") \
472
V_(_, latin1_a3_string, "\xa3") \
473
V_(_, latin1_a4_string, "\xa4") \
474
V_(_, latin1_a5_string, "\xa5") \
475
V_(_, latin1_a6_string, "\xa6") \
476
V_(_, latin1_a7_string, "\xa7") \
477
V_(_, latin1_a8_string, "\xa8") \
478
V_(_, latin1_a9_string, "\xa9") \
479
V_(_, latin1_aa_string, "\xaa") \
480
V_(_, latin1_ab_string, "\xab") \
481
V_(_, latin1_ac_string, "\xac") \
482
V_(_, latin1_ad_string, "\xad") \
483
V_(_, latin1_ae_string, "\xae") \
484
V_(_, latin1_af_string, "\xaf") \
485
V_(_, latin1_b0_string, "\xb0") \
486
V_(_, latin1_b1_string, "\xb1") \
487
V_(_, latin1_b2_string, "\xb2") \
488
V_(_, latin1_b3_string, "\xb3") \
489
V_(_, latin1_b4_string, "\xb4") \
490
V_(_, latin1_b5_string, "\xb5") \
491
V_(_, latin1_b6_string, "\xb6") \
492
V_(_, latin1_b7_string, "\xb7") \
493
V_(_, latin1_b8_string, "\xb8") \
494
V_(_, latin1_b9_string, "\xb9") \
495
V_(_, latin1_ba_string, "\xba") \
496
V_(_, latin1_bb_string, "\xbb") \
497
V_(_, latin1_bc_string, "\xbc") \
498
V_(_, latin1_bd_string, "\xbd") \
499
V_(_, latin1_be_string, "\xbe") \
500
V_(_, latin1_bf_string, "\xbf") \
501
V_(_, latin1_c0_string, "\xc0") \
502
V_(_, latin1_c1_string, "\xc1") \
503
V_(_, latin1_c2_string, "\xc2") \
504
V_(_, latin1_c3_string, "\xc3") \
505
V_(_, latin1_c4_string, "\xc4") \
506
V_(_, latin1_c5_string, "\xc5") \
507
V_(_, latin1_c6_string, "\xc6") \
508
V_(_, latin1_c7_string, "\xc7") \
509
V_(_, latin1_c8_string, "\xc8") \
510
V_(_, latin1_c9_string, "\xc9") \
511
V_(_, latin1_ca_string, "\xca") \
512
V_(_, latin1_cb_string, "\xcb") \
513
V_(_, latin1_cc_string, "\xcc") \
514
V_(_, latin1_cd_string, "\xcd") \
515
V_(_, latin1_ce_string, "\xce") \
516
V_(_, latin1_cf_string, "\xcf") \
517
V_(_, latin1_d0_string, "\xd0") \
518
V_(_, latin1_d1_string, "\xd1") \
519
V_(_, latin1_d2_string, "\xd2") \
520
V_(_, latin1_d3_string, "\xd3") \
521
V_(_, latin1_d4_string, "\xd4") \
522
V_(_, latin1_d5_string, "\xd5") \
523
V_(_, latin1_d6_string, "\xd6") \
524
V_(_, latin1_d7_string, "\xd7") \
525
V_(_, latin1_d8_string, "\xd8") \
526
V_(_, latin1_d9_string, "\xd9") \
527
V_(_, latin1_da_string, "\xda") \
528
V_(_, latin1_db_string, "\xdb") \
529
V_(_, latin1_dc_string, "\xdc") \
530
V_(_, latin1_dd_string, "\xdd") \
531
V_(_, latin1_de_string, "\xde") \
532
V_(_, latin1_df_string, "\xdf") \
533
V_(_, latin1_e0_string, "\xe0") \
534
V_(_, latin1_e1_string, "\xe1") \
535
V_(_, latin1_e2_string, "\xe2") \
536
V_(_, latin1_e3_string, "\xe3") \
537
V_(_, latin1_e4_string, "\xe4") \
538
V_(_, latin1_e5_string, "\xe5") \
539
V_(_, latin1_e6_string, "\xe6") \
540
V_(_, latin1_e7_string, "\xe7") \
541
V_(_, latin1_e8_string, "\xe8") \
542
V_(_, latin1_e9_string, "\xe9") \
543
V_(_, latin1_ea_string, "\xea") \
544
V_(_, latin1_eb_string, "\xeb") \
545
V_(_, latin1_ec_string, "\xec") \
546
V_(_, latin1_ed_string, "\xed") \
547
V_(_, latin1_ee_string, "\xee") \
548
V_(_, latin1_ef_string, "\xef") \
549
V_(_, latin1_f0_string, "\xf0") \
550
V_(_, latin1_f1_string, "\xf1") \
551
V_(_, latin1_f2_string, "\xf2") \
552
V_(_, latin1_f3_string, "\xf3") \
553
V_(_, latin1_f4_string, "\xf4") \
554
V_(_, latin1_f5_string, "\xf5") \
555
V_(_, latin1_f6_string, "\xf6") \
556
V_(_, latin1_f7_string, "\xf7") \
557
V_(_, latin1_f8_string, "\xf8") \
558
V_(_, latin1_f9_string, "\xf9") \
559
V_(_, latin1_fa_string, "\xfa") \
560
V_(_, latin1_fb_string, "\xfb") \
561
V_(_, latin1_fc_string, "\xfc") \
562
V_(_, latin1_fd_string, "\xfd") \
563
V_(_, latin1_fe_string, "\xfe") \
564
V_(_, latin1_ff_string, "\xff")
565
566
#define NOT_IMPORTANT_INTERNALIZED_STRING_LIST_GENERATOR(V, _) \
567
INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _) \
568
SINGLE_CHARACTER_INTERNALIZED_STRING_LIST_GENERATOR(V, _) \
569
V(_, add_string, "add") \
570
V(_, AggregateError_string, "AggregateError") \
571
V(_, alphabet_string, "alphabet") \
572
V(_, always_string, "always") \
573
V(_, anonymous_string, "anonymous") \
574
V(_, apply_string, "apply") \
575
V(_, Arguments_string, "Arguments") \
576
V(_, arguments_string, "arguments") \
577
V(_, arguments_to_string, "[object Arguments]") \
578
V(_, Array_string, "Array") \
579
V(_, array_to_string, "[object Array]") \
580
V(_, ArrayBuffer_string, "ArrayBuffer") \
581
V(_, ArrayIterator_string, "Array Iterator") \
582
V(_, as_string, "as") \
583
V(_, assert_string, "assert") \
584
V(_, async_string, "async") \
585
V(_, AtomicsCondition_string, "Atomics.Condition") \
586
V(_, AtomicsMutex_string, "Atomics.Mutex") \
587
V(_, auto_string, "auto") \
588
V(_, BigInt_string, "BigInt") \
589
V(_, bigint_string, "bigint") \
590
V(_, BigInt64Array_string, "BigInt64Array") \
591
V(_, BigUint64Array_string, "BigUint64Array") \
592
V(_, bind_string, "bind") \
593
V(_, blank_string, "blank") \
594
V(_, Boolean_string, "Boolean") \
595
V(_, boolean_string, "boolean") \
596
V(_, boolean_to_string, "[object Boolean]") \
597
V(_, bound__string, "bound ") \
598
V(_, buffer_string, "buffer") \
599
V(_, byte_length_string, "byteLength") \
600
V(_, byte_offset_string, "byteOffset") \
601
V(_, CompileError_string, "CompileError") \
602
V(_, calendar_string, "calendar") \
603
V(_, callee_string, "callee") \
604
V(_, caller_string, "caller") \
605
V(_, cause_string, "cause") \
606
V(_, character_string, "character") \
607
V(_, code_string, "code") \
608
V(_, column_string, "column") \
609
V(_, computed_string, "<computed>") \
610
V(_, conjunction_string, "conjunction") \
611
V(_, console_string, "console") \
612
V(_, constrain_string, "constrain") \
613
V(_, construct_string, "construct") \
614
V(_, current_string, "current") \
615
V(_, Date_string, "Date") \
616
V(_, date_to_string, "[object Date]") \
617
V(_, dateAdd_string, "dateAdd") \
618
V(_, dateFromFields_string, "dateFromFields") \
619
V(_, dateUntil_string, "dateUntil") \
620
V(_, day_string, "day") \
621
V(_, dayOfWeek_string, "dayOfWeek") \
622
V(_, dayOfYear_string, "dayOfYear") \
623
V(_, days_string, "days") \
624
V(_, daysInMonth_string, "daysInMonth") \
625
V(_, daysInWeek_string, "daysInWeek") \
626
V(_, daysInYear_string, "daysInYear") \
627
V(_, default_string, "default") \
628
V(_, defineProperty_string, "defineProperty") \
629
V(_, deleteProperty_string, "deleteProperty") \
630
V(_, detached_string, "detached") \
631
V(_, disjunction_string, "disjunction") \
632
V(_, disposed_string, "disposed") \
633
V(_, done_string, "done") \
634
V(_, dot_brand_string, ".brand") \
635
V(_, dot_catch_string, ".catch") \
636
V(_, dot_default_string, ".default") \
637
V(_, dot_for_string, ".for") \
638
V(_, dot_generator_object_string, ".generator_object") \
639
V(_, dot_home_object_string, ".home_object") \
640
V(_, dot_new_target_string, ".new.target") \
641
V(_, dot_result_string, ".result") \
642
V(_, dot_repl_result_string, ".repl_result") \
643
V(_, dot_static_home_object_string, ".static_home_object") \
644
V(_, dot_switch_tag_string, ".switch_tag") \
645
V(_, dotAll_string, "dotAll") \
646
V(_, Error_string, "Error") \
647
V(_, EvalError_string, "EvalError") \
648
V(_, element_string, "element") \
649
V(_, epochMicroseconds_string, "epochMicroseconds") \
650
V(_, epochMilliseconds_string, "epochMilliseconds") \
651
V(_, epochNanoseconds_string, "epochNanoseconds") \
652
V(_, epochSeconds_string, "epochSeconds") \
653
V(_, era_string, "era") \
654
V(_, eraYear_string, "eraYear") \
655
V(_, error_string, "error") \
656
V(_, errors_string, "errors") \
657
V(_, error_to_string, "[object Error]") \
658
V(_, eval_string, "eval") \
659
V(_, exception_string, "exception") \
660
V(_, exec_string, "exec") \
661
V(_, false_string, "false") \
662
V(_, fields_string, "fields") \
663
V(_, FinalizationRegistry_string, "FinalizationRegistry") \
664
V(_, flags_string, "flags") \
665
V(_, Float16Array_string, "Float16Array") \
666
V(_, Float32Array_string, "Float32Array") \
667
V(_, Float64Array_string, "Float64Array") \
668
V(_, fractionalSecondDigits_string, "fractionalSecondDigits") \
669
V(_, from_string, "from") \
670
V(_, Function_string, "Function") \
671
V(_, function_native_code_string, "function () { [native code] }") \
672
V(_, function_string, "function") \
673
V(_, function_to_string, "[object Function]") \
674
V(_, Generator_string, "Generator") \
675
V(_, get_space_string, "get ") \
676
V(_, get_string, "get") \
677
V(_, getOffsetNanosecondsFor_string, "getOffsetNanosecondsFor") \
678
V(_, getOwnPropertyDescriptor_string, "getOwnPropertyDescriptor") \
679
V(_, getPossibleInstantsFor_string, "getPossibleInstantsFor") \
680
V(_, getPrototypeOf_string, "getPrototypeOf") \
681
V(_, global_string, "global") \
682
V(_, globalThis_string, "globalThis") \
683
V(_, groups_string, "groups") \
684
V(_, growable_string, "growable") \
685
V(_, has_string, "has") \
686
V(_, hasIndices_string, "hasIndices") \
687
V(_, hour_string, "hour") \
688
V(_, hours_string, "hours") \
689
V(_, hoursInDay_string, "hoursInDay") \
690
V(_, ignoreCase_string, "ignoreCase") \
691
V(_, id_string, "id") \
692
V(_, illegal_access_string, "illegal access") \
693
V(_, illegal_argument_string, "illegal argument") \
694
V(_, inLeapYear_string, "inLeapYear") \
695
V(_, index_string, "index") \
696
V(_, indices_string, "indices") \
697
V(_, Infinity_string, "Infinity") \
698
V(_, infinity_string, "infinity") \
699
V(_, input_string, "input") \
700
V(_, instance_members_initializer_string, "<instance_members_initializer>") \
701
V(_, Int16Array_string, "Int16Array") \
702
V(_, Int32Array_string, "Int32Array") \
703
V(_, Int8Array_string, "Int8Array") \
704
V(_, isExtensible_string, "isExtensible") \
705
V(_, iso8601_string, "iso8601") \
706
V(_, isoDay_string, "isoDay") \
707
V(_, isoHour_string, "isoHour") \
708
V(_, isoMicrosecond_string, "isoMicrosecond") \
709
V(_, isoMillisecond_string, "isoMillisecond") \
710
V(_, isoMinute_string, "isoMinute") \
711
V(_, isoMonth_string, "isoMonth") \
712
V(_, isoNanosecond_string, "isoNanosecond") \
713
V(_, isoSecond_string, "isoSecond") \
714
V(_, isoYear_string, "isoYear") \
715
V(_, Iterator_string, "Iterator") \
716
V(_, jsMemoryEstimate_string, "jsMemoryEstimate") \
717
V(_, jsMemoryRange_string, "jsMemoryRange") \
718
V(_, keys_string, "keys") \
719
V(_, largestUnit_string, "largestUnit") \
720
V(_, last_chunk_handling_string, "lastChunkHandling") \
721
V(_, lastIndex_string, "lastIndex") \
722
V(_, let_string, "let") \
723
V(_, line_string, "line") \
724
V(_, linear_string, "linear") \
725
V(_, LinkError_string, "LinkError") \
726
V(_, long_string, "long") \
727
V(_, Map_string, "Map") \
728
V(_, MapIterator_string, "Map Iterator") \
729
V(_, max_byte_length_string, "maxByteLength") \
730
V(_, medium_string, "medium") \
731
V(_, mergeFields_string, "mergeFields") \
732
V(_, message_string, "message") \
733
V(_, meta_string, "meta") \
734
V(_, minus_Infinity_string, "-Infinity") \
735
V(_, microsecond_string, "microsecond") \
736
V(_, microseconds_string, "microseconds") \
737
V(_, millisecond_string, "millisecond") \
738
V(_, milliseconds_string, "milliseconds") \
739
V(_, minute_string, "minute") \
740
V(_, minutes_string, "minutes") \
741
V(_, Module_string, "Module") \
742
V(_, month_string, "month") \
743
V(_, monthDayFromFields_string, "monthDayFromFields") \
744
V(_, months_string, "months") \
745
V(_, monthsInYear_string, "monthsInYear") \
746
V(_, monthCode_string, "monthCode") \
747
V(_, multiline_string, "multiline") \
748
V(_, NaN_string, "NaN") \
749
V(_, nanosecond_string, "nanosecond") \
750
V(_, nanoseconds_string, "nanoseconds") \
751
V(_, narrow_string, "narrow") \
752
V(_, native_string, "native") \
753
V(_, new_target_string, ".new.target") \
754
V(_, NFC_string, "NFC") \
755
V(_, NFD_string, "NFD") \
756
V(_, NFKC_string, "NFKC") \
757
V(_, NFKD_string, "NFKD") \
758
V(_, not_equal_string, "not-equal") \
759
V(_, null_string, "null") \
760
V(_, null_to_string, "[object Null]") \
761
V(_, Number_string, "Number") \
762
V(_, number_string, "number") \
763
V(_, number_to_string, "[object Number]") \
764
V(_, Object_string, "Object") \
765
V(_, object_string, "object") \
766
V(_, object_to_string, "[object Object]") \
767
V(_, Object_prototype_string, "Object.prototype") \
768
V(_, offset_string, "offset") \
769
V(_, offsetNanoseconds_string, "offsetNanoseconds") \
770
V(_, ok_string, "ok") \
771
V(_, other_string, "other") \
772
V(_, overflow_string, "overflow") \
773
V(_, ownKeys_string, "ownKeys") \
774
V(_, percent_string, "percent") \
775
V(_, plainDate_string, "plainDate") \
776
V(_, plainTime_string, "plainTime") \
777
V(_, position_string, "position") \
778
V(_, preventExtensions_string, "preventExtensions") \
779
V(_, private_constructor_string, "#constructor") \
780
V(_, Promise_string, "Promise") \
781
V(_, promise_string, "promise") \
782
V(_, proto_string, "__proto__") \
783
V(_, proxy_string, "proxy") \
784
V(_, Proxy_string, "Proxy") \
785
V(_, query_colon_string, "(?:)") \
786
V(_, RangeError_string, "RangeError") \
787
V(_, raw_json_string, "rawJSON") \
788
V(_, raw_string, "raw") \
789
V(_, ReferenceError_string, "ReferenceError") \
790
V(_, ReflectGet_string, "Reflect.get") \
791
V(_, ReflectHas_string, "Reflect.has") \
792
V(_, RegExp_string, "RegExp") \
793
V(_, regexp_to_string, "[object RegExp]") \
794
V(_, reject_string, "reject") \
795
V(_, relativeTo_string, "relativeTo") \
796
V(_, resizable_string, "resizable") \
797
V(_, ResizableArrayBuffer_string, "ResizableArrayBuffer") \
798
V(_, return_string, "return") \
799
V(_, revoke_string, "revoke") \
800
V(_, roundingIncrement_string, "roundingIncrement") \
801
V(_, RuntimeError_string, "RuntimeError") \
802
V(_, WebAssemblyException_string, "WebAssembly.Exception") \
803
V(_, WebAssemblyModule_string, "WebAssembly.Module") \
804
V(_, Script_string, "Script") \
805
V(_, script_string, "script") \
806
V(_, second_string, "second") \
807
V(_, seconds_string, "seconds") \
808
V(_, short_string, "short") \
809
V(_, Set_string, "Set") \
810
V(_, sentence_string, "sentence") \
811
V(_, set_space_string, "set ") \
812
V(_, set_string, "set") \
813
V(_, SetIterator_string, "Set Iterator") \
814
V(_, setPrototypeOf_string, "setPrototypeOf") \
815
V(_, ShadowRealm_string, "ShadowRealm") \
816
V(_, SharedArray_string, "SharedArray") \
817
V(_, SharedArrayBuffer_string, "SharedArrayBuffer") \
818
V(_, SharedStruct_string, "SharedStruct") \
819
V(_, sign_string, "sign") \
820
V(_, size_string, "size") \
821
V(_, smallestUnit_string, "smallestUnit") \
822
V(_, source_string, "source") \
823
V(_, sourceText_string, "sourceText") \
824
V(_, stack_string, "stack") \
825
V(_, stackTraceLimit_string, "stackTraceLimit") \
826
V(_, static_initializer_string, "<static_initializer>") \
827
V(_, sticky_string, "sticky") \
828
V(_, String_string, "String") \
829
V(_, string_string, "string") \
830
V(_, string_to_string, "[object String]") \
831
V(_, suppressed_string, "suppressed") \
832
V(_, SuppressedError_string, "SuppressedError") \
833
V(_, SuspendError_string, "SuspendError") \
834
V(_, Symbol_iterator_string, "Symbol.iterator") \
835
V(_, Symbol_match_all_string, "Symbol.matchAll") \
836
V(_, Symbol_replace_string, "Symbol.replace") \
837
V(_, symbol_species_string, "[Symbol.species]") \
838
V(_, Symbol_species_string, "Symbol.species") \
839
V(_, Symbol_split_string, "Symbol.split") \
840
V(_, Symbol_string, "Symbol") \
841
V(_, symbol_string, "symbol") \
842
V(_, SyntaxError_string, "SyntaxError") \
843
V(_, target_string, "target") \
844
V(_, this_function_string, ".this_function") \
845
V(_, this_string, "this") \
846
V(_, throw_string, "throw") \
847
V(_, timed_out_string, "timed-out") \
848
V(_, timeZone_string, "timeZone") \
849
V(_, toJSON_string, "toJSON") \
850
V(_, toString_string, "toString") \
851
V(_, true_string, "true") \
852
V(_, total_string, "total") \
853
V(_, TypedArrayLength_string, "get TypedArray.prototype.length") \
854
V(_, TypeError_string, "TypeError") \
855
V(_, Uint16Array_string, "Uint16Array") \
856
V(_, Uint32Array_string, "Uint32Array") \
857
V(_, Uint8Array_string, "Uint8Array") \
858
V(_, Uint8ClampedArray_string, "Uint8ClampedArray") \
859
V(_, undefined_string, "undefined") \
860
V(_, undefined_to_string, "[object Undefined]") \
861
V(_, unicode_string, "unicode") \
862
V(_, unicodeSets_string, "unicodeSets") \
863
V(_, unit_string, "unit") \
864
V(_, URIError_string, "URIError") \
865
V(_, UTC_string, "UTC") \
866
V(_, WeakMap_string, "WeakMap") \
867
V(_, WeakRef_string, "WeakRef") \
868
V(_, WeakSet_string, "WeakSet") \
869
V(_, week_string, "week") \
870
V(_, weeks_string, "weeks") \
871
V(_, weekOfYear_string, "weekOfYear") \
872
V(_, with_string, "with") \
873
V(_, word_string, "word") \
874
V(_, yearMonthFromFields_string, "yearMonthFromFields") \
875
V(_, year_string, "year") \
876
V(_, years_string, "years")
877
878
#define INTERNALIZED_STRING_LIST_GENERATOR(V, _) \
879
EXTRA_IMPORTANT_INTERNALIZED_STRING_LIST_GENERATOR(V, _) \
880
IMPORTANT_INTERNALIZED_STRING_LIST_GENERATOR(V, _) \
881
NOT_IMPORTANT_INTERNALIZED_STRING_LIST_GENERATOR(V, _)
882
883
// Symbols to be allocated early on the read only heap
884
#define IMPORTANT_PRIVATE_SYMBOL_LIST_GENERATOR(V, _) \
885
V(_, not_mapped_symbol) \
886
V(_, uninitialized_symbol) \
887
V(_, megamorphic_symbol) \
888
V(_, elements_transition_symbol) \
889
V(_, mega_dom_symbol)
890
891
#define NOT_IMPORTANT_PRIVATE_SYMBOL_LIST_GENERATOR(V, _) \
892
V(_, array_buffer_wasm_memory_symbol) \
893
V(_, call_site_info_symbol) \
894
V(_, class_fields_symbol) \
895
V(_, class_positions_symbol) \
896
V(_, error_end_pos_symbol) \
897
V(_, error_message_symbol) \
898
V(_, error_script_symbol) \
899
V(_, error_stack_symbol) \
900
V(_, error_start_pos_symbol) \
901
V(_, frozen_symbol) \
902
V(_, interpreter_trampoline_symbol) \
903
V(_, native_context_index_symbol) \
904
V(_, nonextensible_symbol) \
905
V(_, promise_debug_message_symbol) \
906
V(_, promise_forwarding_handler_symbol) \
907
V(_, promise_handled_by_symbol) \
908
V(_, promise_awaited_by_symbol) \
909
V(_, regexp_result_names_symbol) \
910
V(_, regexp_result_regexp_input_symbol) \
911
V(_, regexp_result_regexp_last_index_symbol) \
912
V(_, sealed_symbol) \
913
V(_, shared_struct_map_elements_template_symbol) \
914
V(_, shared_struct_map_registry_key_symbol) \
915
V(_, strict_function_transition_symbol) \
916
V(_, template_literal_function_literal_id_symbol) \
917
V(_, template_literal_slot_id_symbol) \
918
V(_, wasm_cross_instance_call_symbol) \
919
V(_, wasm_exception_tag_symbol) \
920
V(_, wasm_exception_values_symbol) \
921
V(_, wasm_uncatchable_symbol) \
922
V(_, wasm_debug_proxy_cache_symbol) \
923
V(_, wasm_debug_proxy_names_symbol)
924
925
#define PRIVATE_SYMBOL_LIST_GENERATOR(V, _) \
926
IMPORTANT_PRIVATE_SYMBOL_LIST_GENERATOR(V, _) \
927
NOT_IMPORTANT_PRIVATE_SYMBOL_LIST_GENERATOR(V, _)
928
929
#define PUBLIC_SYMBOL_LIST_GENERATOR(V, _) \
930
V(_, async_iterator_symbol, Symbol.asyncIterator) \
931
V(_, intl_fallback_symbol, IntlLegacyConstructedSymbol) \
932
V(_, match_symbol, Symbol.match) \
933
V(_, search_symbol, Symbol.search) \
934
V(_, unscopables_symbol, Symbol.unscopables) \
935
V(_, dispose_symbol, Symbol.dispose) \
936
V(_, async_dispose_symbol, Symbol.asyncDispose)
937
938
// Well-Known Symbols are "Public" symbols, which have a bit set which causes
939
// them to produce an undefined value when a load results in a failed access
940
// check. Because this behaviour is not specified properly as of yet, it only
941
// applies to a subset of spec-defined Well-Known Symbols.
942
#define WELL_KNOWN_SYMBOL_LIST_GENERATOR(V, _) \
943
V(_, has_instance_symbol, Symbol.hasInstance) \
944
V(_, to_string_tag_symbol, Symbol.toStringTag)
945
946
// Custom list of Names that can cause protector invalidations.
947
// These Names have to be allocated consecutively for fast checks,
948
#define INTERNALIZED_STRING_FOR_PROTECTOR_LIST_GENERATOR(V, _) \
949
V(_, constructor_string, "constructor") \
950
V(_, length_string, "length") \
951
V(_, next_string, "next") \
952
V(_, resolve_string, "resolve") \
953
V(_, then_string, "then") \
954
V(_, valueOf_string, "valueOf")
955
956
// Note that the description string should be part of the internalized
957
// string roots to make sure we don't accidentally end up allocating the
958
// description in between the symbols during deserialization.
959
#define SYMBOL_FOR_PROTECTOR_LIST_GENERATOR(V, _) \
960
V(_, iterator_symbol, Symbol.iterator) \
961
V(_, match_all_symbol, Symbol.matchAll) \
962
V(_, replace_symbol, Symbol.replace) \
963
V(_, species_symbol, Symbol.species) \
964
V(_, split_symbol, Symbol.split)
965
966
#define PUBLIC_SYMBOL_FOR_PROTECTOR_LIST_GENERATOR(V, _) \
967
V(_, to_primitive_symbol, Symbol.toPrimitive)
968
969
#define WELL_KNOWN_SYMBOL_FOR_PROTECTOR_LIST_GENERATOR(V, _) \
970
V(_, is_concat_spreadable_symbol, Symbol.isConcatSpreadable)
971
972
#define MC_INCREMENTAL_SCOPES(F) \
973
/* MC_INCREMENTAL is the top-level incremental marking scope. */
\
974
F(MC_INCREMENTAL) \
975
F(MC_INCREMENTAL_EMBEDDER_TRACING) \
976
F(MC_INCREMENTAL_EXTERNAL_EPILOGUE) \
977
F(MC_INCREMENTAL_EXTERNAL_PROLOGUE) \
978
F(MC_INCREMENTAL_LAYOUT_CHANGE) \
979
F(MC_INCREMENTAL_START) \
980
F(MC_INCREMENTAL_SWEEPING)
981
982
#define MINOR_MS_INCREMENTAL_SCOPES(F) F(MINOR_MS_INCREMENTAL_START)
983
984
#define TOP_MC_SCOPES(F) \
985
F(MC_CLEAR) \
986
F(MC_EPILOGUE) \
987
F(MC_EVACUATE) \
988
F(MC_FINISH) \
989
F(MC_MARK) \
990
F(MC_PROLOGUE) \
991
F(MC_SWEEP)
992
993
#define TOP_MINOR_MS_SCOPES(F) \
994
F(MINOR_MS_CLEAR) \
995
F(MINOR_MS_FINISH) \
996
F(MINOR_MS_MARK) \
997
F(MINOR_MS_SWEEP)
998
999
#define MINOR_MS_MAIN_THREAD_SCOPES(F) \
1000
F(MINOR_MARK_SWEEPER) \
1001
F(MINOR_MS) \
1002
TOP_MINOR_MS_SCOPES(F) \
1003
F(MINOR_MS_CLEAR_STRING_FORWARDING_TABLE) \
1004
F(MINOR_MS_CLEAR_STRING_TABLE) \
1005
F(MINOR_MS_CLEAR_WEAK_GLOBAL_HANDLES) \
1006
F(MINOR_MS_COMPLETE_SWEEP_ARRAY_BUFFERS) \
1007
F(MINOR_MS_COMPLETE_SWEEPING) \
1008
F(MINOR_MS_MARK_FINISH_INCREMENTAL) \
1009
F(MINOR_MS_MARK_PARALLEL) \
1010
F(MINOR_MS_MARK_INCREMENTAL_SEED) \
1011
F(MINOR_MS_MARK_SEED) \
1012
F(MINOR_MS_MARK_TRACED_HANDLES) \
1013
F(MINOR_MS_MARK_CONSERVATIVE_STACK) \
1014
F(MINOR_MS_MARK_CLOSURE_PARALLEL) \
1015
F(MINOR_MS_MARK_CLOSURE) \
1016
F(MINOR_MS_MARK_EMBEDDER_PROLOGUE) \
1017
F(MINOR_MS_MARK_EMBEDDER_TRACING) \
1018
F(MINOR_MS_MARK_VERIFY) \
1019
F(MINOR_MS_INCREMENTAL_STEP) \
1020
F(MINOR_MS_SWEEP_NEW) \
1021
F(MINOR_MS_SWEEP_NEW_LO) \
1022
F(MINOR_MS_SWEEP_UPDATE_STRING_TABLE) \
1023
F(MINOR_MS_SWEEP_START_JOBS) \
1024
F(MINOR_MS_FINISH_SWEEP_ARRAY_BUFFERS) \
1025
F(MINOR_MS_FINISH_ENSURE_CAPACITY)
1026
1027
#define SCAVENGER_MAIN_THREAD_SCOPES(F) \
1028
F(SCAVENGER) \
1029
F(SCAVENGER_COMPLETE_SWEEP_ARRAY_BUFFERS) \
1030
F(SCAVENGER_FREE_REMEMBERED_SET) \
1031
F(SCAVENGER_RESIZE_NEW_SPACE) \
1032
F(SCAVENGER_SCAVENGE) \
1033
F(SCAVENGER_SCAVENGE_WEAK_GLOBAL_HANDLES_IDENTIFY) \
1034
F(SCAVENGER_SCAVENGE_WEAK_GLOBAL_HANDLES_PROCESS) \
1035
F(SCAVENGER_SCAVENGE_PARALLEL) \
1036
F(SCAVENGER_SCAVENGE_PARALLEL_PHASE) \
1037
F(SCAVENGER_SCAVENGE_PIN_OBJECTS) \
1038
F(SCAVENGER_SCAVENGE_ROOTS) \
1039
F(SCAVENGER_SCAVENGE_STACK_ROOTS) \
1040
F(SCAVENGER_SCAVENGE_UPDATE_REFS) \
1041
F(SCAVENGER_SCAVENGE_WEAK) \
1042
F(SCAVENGER_SCAVENGE_FINALIZE) \
1043
F(SCAVENGER_SCAVENGE_RESTORE_AND_QUARANTINE_PINNED) \
1044
F(SCAVENGER_SWEEP_ARRAY_BUFFERS) \
1045
F(SCAVENGER_TRACED_HANDLES_COMPUTE_WEAKNESS_PARALLEL) \
1046
F(SCAVENGER_TRACED_HANDLES_RESET_PARALLEL)
1047
1048
#define MC_MAIN_THREAD_SCOPES(F) \
1049
F(MARK_COMPACTOR) \
1050
TOP_MC_SCOPES(F) \
1051
F(MC_CLEAR_DEPENDENT_CODE) \
1052
F(MC_CLEAR_EXTERNAL_STRING_TABLE) \
1053
F(MC_CLEAR_STRING_FORWARDING_TABLE) \
1054
F(MC_CLEAR_FLUSHABLE_BYTECODE) \
1055
F(MC_CLEAR_FLUSHED_JS_FUNCTIONS) \
1056
F(MC_CLEAR_JOIN_JOB) \
1057
F(MC_CLEAR_JS_WEAK_REFERENCES) \
1058
F(MC_CLEAR_MAPS) \
1059
F(MC_CLEAR_SLOTS_BUFFER) \
1060
F(MC_CLEAR_STRING_TABLE) \
1061
F(MC_CLEAR_WEAK_COLLECTIONS) \
1062
F(MC_CLEAR_WEAK_GLOBAL_HANDLES) \
1063
F(MC_CLEAR_WEAK_LISTS) \
1064
F(MC_CLEAR_WEAK_REFERENCES_FILTER_NON_TRIVIAL) \
1065
F(MC_CLEAR_WEAK_REFERENCES_JOIN_FILTER_JOB) \
1066
F(MC_CLEAR_WEAK_REFERENCES_NON_TRIVIAL) \
1067
F(MC_CLEAR_WEAK_REFERENCES_TRIVIAL) \
1068
F(MC_SWEEP_EXTERNAL_POINTER_TABLE) \
1069
F(MC_SWEEP_TRUSTED_POINTER_TABLE) \
1070
F(MC_SWEEP_CODE_POINTER_TABLE) \
1071
F(MC_SWEEP_WASM_CODE_POINTER_TABLE) \
1072
F(MC_SWEEP_JS_DISPATCH_TABLE) \
1073
F(MC_COMPLETE_SWEEP_ARRAY_BUFFERS) \
1074
F(MC_COMPLETE_SWEEPING) \
1075
F(MC_EVACUATE_CANDIDATES) \
1076
F(MC_EVACUATE_CLEAN_UP) \
1077
F(MC_EVACUATE_COPY) \
1078
F(MC_EVACUATE_COPY_PARALLEL) \
1079
F(MC_EVACUATE_EPILOGUE) \
1080
F(MC_EVACUATE_PIN_PAGES) \
1081
F(MC_EVACUATE_PROLOGUE) \
1082
F(MC_EVACUATE_REBALANCE) \
1083
F(MC_EVACUATE_UPDATE_POINTERS) \
1084
F(MC_EVACUATE_UPDATE_POINTERS_CLIENT_HEAPS) \
1085
F(MC_EVACUATE_UPDATE_POINTERS_PARALLEL) \
1086
F(MC_EVACUATE_UPDATE_POINTERS_SLOTS_MAIN) \
1087
F(MC_EVACUATE_UPDATE_POINTERS_TO_NEW_ROOTS) \
1088
F(MC_EVACUATE_UPDATE_POINTERS_WEAK) \
1089
F(MC_EVACUATE_UPDATE_POINTERS_POINTER_TABLES) \
1090
F(MC_FINISH_SWEEP_ARRAY_BUFFERS) \
1091
F(MC_MARK_CLIENT_HEAPS) \
1092
F(MC_MARK_EMBEDDER_PROLOGUE) \
1093
F(MC_MARK_EMBEDDER_TRACING) \
1094
F(MC_MARK_FINISH_INCREMENTAL) \
1095
F(MC_MARK_FULL_CLOSURE_PARALLEL) \
1096
F(MC_MARK_FULL_CLOSURE_PARALLEL_JOIN) \
1097
F(MC_MARK_FULL_CLOSURE_SERIAL) \
1098
F(MC_MARK_RETAIN_MAPS) \
1099
F(MC_MARK_ROOTS) \
1100
F(MC_MARK_FULL_CLOSURE) \
1101
F(MC_MARK_WEAK_CLOSURE_EPHEMERON_MARKING) \
1102
F(MC_MARK_WEAK_CLOSURE_EPHEMERON_LINEAR) \
1103
F(MC_MARK_VERIFY) \
1104
F(MC_SWEEP_CODE) \
1105
F(MC_SWEEP_CODE_LO) \
1106
F(MC_SWEEP_LO) \
1107
F(MC_SWEEP_MAP) \
1108
F(MC_SWEEP_NEW) \
1109
F(MC_SWEEP_NEW_LO) \
1110
F(MC_SWEEP_OLD) \
1111
F(MC_SWEEP_SHARED) \
1112
F(MC_SWEEP_SHARED_LO) \
1113
F(MC_SWEEP_TRUSTED) \
1114
F(MC_SWEEP_TRUSTED_LO) \
1115
F(MC_SWEEP_START_JOBS) \
1116
F(MC_WEAKNESS_HANDLING)
1117
1118
#define TRACER_SCOPES(F) \
1119
MC_INCREMENTAL_SCOPES(F) \
1120
MINOR_MS_INCREMENTAL_SCOPES(F) \
1121
F(HEAP_EMBEDDER_TRACING_EPILOGUE) \
1122
F(HEAP_EPILOGUE) \
1123
F(HEAP_EPILOGUE_SAFEPOINT) \
1124
F(HEAP_EXTERNAL_EPILOGUE) \
1125
F(HEAP_EXTERNAL_NEAR_HEAP_LIMIT) \
1126
F(HEAP_EXTERNAL_PROLOGUE) \
1127
F(HEAP_EXTERNAL_SECOND_PASS_CALLBACKS) \
1128
F(HEAP_EXTERNAL_WEAK_GLOBAL_HANDLES) \
1129
F(HEAP_PROLOGUE) \
1130
F(HEAP_PROLOGUE_SAFEPOINT) \
1131
MC_MAIN_THREAD_SCOPES(F) \
1132
MINOR_MS_MAIN_THREAD_SCOPES(F) \
1133
F(SAFEPOINT) \
1134
SCAVENGER_MAIN_THREAD_SCOPES(F) \
1135
F(TIME_TO_GLOBAL_SAFEPOINT) \
1136
F(TIME_TO_SAFEPOINT) \
1137
F(UNPARK) \
1138
F(YOUNG_ARRAY_BUFFER_SWEEP) \
1139
F(FULL_ARRAY_BUFFER_SWEEP) \
1140
F(CONSERVATIVE_STACK_SCANNING)
1141
1142
#define TRACER_BACKGROUND_SCOPES(F) \
1143
/* FIRST_BACKGROUND_SCOPE = */
\
1144
F(BACKGROUND_YOUNG_ARRAY_BUFFER_SWEEP) \
1145
F(BACKGROUND_FULL_ARRAY_BUFFER_SWEEP) \
1146
F(BACKGROUND_COLLECTION) \
1147
F(BACKGROUND_UNPARK) \
1148
F(BACKGROUND_SAFEPOINT) \
1149
F(MC_BACKGROUND_EVACUATE_COPY) \
1150
F(MC_BACKGROUND_EVACUATE_UPDATE_POINTERS) \
1151
F(MC_BACKGROUND_MARKING) \
1152
F(MC_BACKGROUND_SWEEPING) \
1153
F(MINOR_MS_BACKGROUND_MARKING) \
1154
F(MINOR_MS_BACKGROUND_SWEEPING) \
1155
F(MINOR_MS_BACKGROUND_MARKING_CLOSURE) \
1156
F(SCAVENGER_BACKGROUND_SCAVENGE_PARALLEL) \
1157
F(SCAVENGER_BACKGROUND_QUARANTINED_PAGE_SWEEPING) \
1158
F(SCAVENGER_BACKGROUND_TRACED_HANDLES_RESET_PARALLEL) \
1159
/* LAST_BACKGROUND_SCOPE = */
\
1160
F(SCAVENGER_BACKGROUND_TRACED_HANDLES_COMPUTE_WEAKNESS_PARALLEL)
1161
1162
#define TRACER_YOUNG_EPOCH_SCOPES(F) \
1163
F(YOUNG_ARRAY_BUFFER_SWEEP) \
1164
F(BACKGROUND_YOUNG_ARRAY_BUFFER_SWEEP) \
1165
MINOR_MS_INCREMENTAL_SCOPES(F) \
1166
MINOR_MS_MAIN_THREAD_SCOPES(F) \
1167
F(MINOR_MS_BACKGROUND_MARKING) \
1168
F(MINOR_MS_BACKGROUND_SWEEPING) \
1169
F(MINOR_MS_BACKGROUND_MARKING_CLOSURE) \
1170
SCAVENGER_MAIN_THREAD_SCOPES(F) \
1171
F(SCAVENGER_BACKGROUND_SCAVENGE_PARALLEL) \
1172
F(SCAVENGER_BACKGROUND_QUARANTINED_PAGE_SWEEPING) \
1173
F(SCAVENGER_BACKGROUND_TRACED_HANDLES_RESET_PARALLEL) \
1174
F(SCAVENGER_BACKGROUND_TRACED_HANDLES_COMPUTE_WEAKNESS_PARALLEL)
1175
1176
#endif
// V8_INIT_HEAP_SYMBOLS_H_
src
init
heap-symbols.h
Generated on Sun Apr 6 2025 21:08:54 for v8 by
1.12.0