// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef V8_HEAP_SYMBOLS_H_
#define V8_HEAP_SYMBOLS_H_

#ifdef V8_INTL_SUPPORT
#define INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)               \
  V(_, adoptText_string, "adoptText")                               \
  V(_, baseName_string, "baseName")                                 \
  V(_, accounting_string, "accounting")                             \
  V(_, breakType_string, "breakType")                               \
  V(_, calendar_string, "calendar")                                 \
  V(_, cardinal_string, "cardinal")                                 \
  V(_, caseFirst_string, "caseFirst")                               \
  V(_, compare_string, "compare")                                   \
  V(_, current_string, "current")                                   \
  V(_, collation_string, "collation")                               \
  V(_, compact_string, "compact")                                   \
  V(_, currency_string, "currency")                                 \
  V(_, currencyDisplay_string, "currencyDisplay")                   \
  V(_, dateStyle_string, "dateStyle")                               \
  V(_, day_string, "day")                                           \
  V(_, dayPeriod_string, "dayPeriod")                               \
  V(_, decimal_string, "decimal")                                   \
  V(_, endRange_string, "endRange")                                 \
  V(_, engineering_string, "engineering")                           \
  V(_, era_string, "era")                                           \
  V(_, first_string, "first")                                       \
  V(_, format_string, "format")                                     \
  V(_, except_zero_string, "except-zero")                           \
  V(_, exponentInteger_string, "exponentInteger")                   \
  V(_, exponentMinusSign_string, "exponentMinusSign")               \
  V(_, exponentSeparator_string, "exponentSeparator")               \
  V(_, fraction_string, "fraction")                                 \
  V(_, full_string, "full")                                         \
  V(_, granularity_string, "granularity")                           \
  V(_, grapheme_string, "grapheme")                                 \
  V(_, group_string, "group")                                       \
  V(_, h11_string, "h11")                                           \
  V(_, h12_string, "h12")                                           \
  V(_, h23_string, "h23")                                           \
  V(_, h24_string, "h24")                                           \
  V(_, hour_string, "hour")                                         \
  V(_, hour12_string, "hour12")                                     \
  V(_, hourCycle_string, "hourCycle")                               \
  V(_, ideo_string, "ideo")                                         \
  V(_, ignorePunctuation_string, "ignorePunctuation")               \
  V(_, Invalid_Date_string, "Invalid Date")                         \
  V(_, integer_string, "integer")                                   \
  V(_, kana_string, "kana")                                         \
  V(_, language_string, "language")                                 \
  V(_, letter_string, "letter")                                     \
  V(_, list_string, "list")                                         \
  V(_, literal_string, "literal")                                   \
  V(_, locale_string, "locale")                                     \
  V(_, loose_string, "loose")                                       \
  V(_, lower_string, "lower")                                       \
  V(_, maximumFractionDigits_string, "maximumFractionDigits")       \
  V(_, maximumSignificantDigits_string, "maximumSignificantDigits") \
  V(_, minimumFractionDigits_string, "minimumFractionDigits")       \
  V(_, minimumIntegerDigits_string, "minimumIntegerDigits")         \
  V(_, minimumSignificantDigits_string, "minimumSignificantDigits") \
  V(_, minusSign_string, "minusSign")                               \
  V(_, minute_string, "minute")                                     \
  V(_, month_string, "month")                                       \
  V(_, nan_string, "nan")                                           \
  V(_, narrow_symbol_string, "narrow-symbol")                       \
  V(_, never_string, "never")                                       \
  V(_, none_string, "none")                                         \
  V(_, normal_string, "normal")                                     \
  V(_, numberingSystem_string, "numberingSystem")                   \
  V(_, numeric_string, "numeric")                                   \
  V(_, ordinal_string, "ordinal")                                   \
  V(_, percentSign_string, "percentSign")                           \
  V(_, plusSign_string, "plusSign")                                 \
  V(_, quarter_string, "quarter")                                   \
  V(_, region_string, "region")                                     \
  V(_, scientific_string, "scientific")                             \
  V(_, second_string, "second")                                     \
  V(_, segment_string, "segment")                                   \
  V(_, SegmentIterator_string, "Segment Iterator")                  \
  V(_, sensitivity_string, "sensitivity")                           \
  V(_, sep_string, "sep")                                           \
  V(_, shared_string, "shared")                                     \
  V(_, standard_string, "standard")                                 \
  V(_, startRange_string, "startRange")                             \
  V(_, strict_string, "strict")                                     \
  V(_, style_string, "style")                                       \
  V(_, term_string, "term")                                         \
  V(_, timeStyle_string, "timeStyle")                               \
  V(_, timeZone_string, "timeZone")                                 \
  V(_, timeZoneName_string, "timeZoneName")                         \
  V(_, type_string, "type")                                         \
  V(_, unknown_string, "unknown")                                   \
  V(_, upper_string, "upper")                                       \
  V(_, usage_string, "usage")                                       \
  V(_, useGrouping_string, "useGrouping")                           \
  V(_, UTC_string, "UTC")                                           \
  V(_, unit_string, "unit")                                         \
  V(_, weekday_string, "weekday")                                   \
  V(_, year_string, "year")
#else  // V8_INTL_SUPPORT
#define INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)
#endif  // V8_INTL_SUPPORT

#define INTERNALIZED_STRING_LIST_GENERATOR(V, _)                      \
  INTERNALIZED_STRING_LIST_GENERATOR_INTL(V, _)                       \
  V(_, add_string, "add")                                             \
  V(_, always_string, "always")                                       \
  V(_, anonymous_function_string, "(anonymous function)")             \
  V(_, anonymous_string, "anonymous")                                 \
  V(_, apply_string, "apply")                                         \
  V(_, Arguments_string, "Arguments")                                 \
  V(_, arguments_string, "arguments")                                 \
  V(_, arguments_to_string, "[object Arguments]")                     \
  V(_, Array_string, "Array")                                         \
  V(_, array_to_string, "[object Array]")                             \
  V(_, ArrayBuffer_string, "ArrayBuffer")                             \
  V(_, ArrayIterator_string, "Array Iterator")                        \
  V(_, as_string, "as")                                               \
  V(_, assign_string, "assign")                                       \
  V(_, async_string, "async")                                         \
  V(_, auto_string, "auto")                                           \
  V(_, await_string, "await")                                         \
  V(_, BigInt_string, "BigInt")                                       \
  V(_, bigint_string, "bigint")                                       \
  V(_, BigInt64Array_string, "BigInt64Array")                         \
  V(_, BigUint64Array_string, "BigUint64Array")                       \
  V(_, bind_string, "bind")                                           \
  V(_, Boolean_string, "Boolean")                                     \
  V(_, boolean_string, "boolean")                                     \
  V(_, boolean_to_string, "[object Boolean]")                         \
  V(_, bound__string, "bound ")                                       \
  V(_, buffer_string, "buffer")                                       \
  V(_, byte_length_string, "byteLength")                              \
  V(_, byte_offset_string, "byteOffset")                              \
  V(_, CompileError_string, "CompileError")                           \
  V(_, call_string, "call")                                           \
  V(_, callee_string, "callee")                                       \
  V(_, caller_string, "caller")                                       \
  V(_, character_string, "character")                                 \
  V(_, closure_string, "(closure)")                                   \
  V(_, code_string, "code")                                           \
  V(_, column_string, "column")                                       \
  V(_, computed_string, "<computed>")                                 \
  V(_, configurable_string, "configurable")                           \
  V(_, conjunction_string, "conjunction")                             \
  V(_, construct_string, "construct")                                 \
  V(_, constructor_string, "constructor")                             \
  V(_, create_string, "create")                                       \
  V(_, Date_string, "Date")                                           \
  V(_, date_to_string, "[object Date]")                               \
  V(_, default_string, "default")                                     \
  V(_, defineProperty_string, "defineProperty")                       \
  V(_, deleteProperty_string, "deleteProperty")                       \
  V(_, disjunction_string, "disjunction")                             \
  V(_, display_name_string, "displayName")                            \
  V(_, done_string, "done")                                           \
  V(_, dot_brand_string, ".brand")                                    \
  V(_, dot_catch_string, ".catch")                                    \
  V(_, dot_default_string, ".default")                                \
  V(_, dot_for_string, ".for")                                        \
  V(_, dot_generator_object_string, ".generator_object")              \
  V(_, dot_iterator_string, ".iterator")                              \
  V(_, dot_promise_string, ".promise")                                \
  V(_, dot_result_string, ".result")                                  \
  V(_, dot_string, ".")                                               \
  V(_, dot_switch_tag_string, ".switch_tag")                          \
  V(_, dotAll_string, "dotAll")                                       \
  V(_, entries_string, "entries")                                     \
  V(_, enumerable_string, "enumerable")                               \
  V(_, element_string, "element")                                     \
  V(_, Error_string, "Error")                                         \
  V(_, error_to_string, "[object Error]")                             \
  V(_, eval_string, "eval")                                           \
  V(_, EvalError_string, "EvalError")                                 \
  V(_, exec_string, "exec")                                           \
  V(_, false_string, "false")                                         \
  V(_, flags_string, "flags")                                         \
  V(_, Float32Array_string, "Float32Array")                           \
  V(_, Float64Array_string, "Float64Array")                           \
  V(_, from_string, "from")                                           \
  V(_, Function_string, "Function")                                   \
  V(_, function_native_code_string, "function () { [native code] }")  \
  V(_, function_string, "function")                                   \
  V(_, function_to_string, "[object Function]")                       \
  V(_, Generator_string, "Generator")                                 \
  V(_, get_space_string, "get ")                                      \
  V(_, get_string, "get")                                             \
  V(_, getOwnPropertyDescriptor_string, "getOwnPropertyDescriptor")   \
  V(_, getOwnPropertyDescriptors_string, "getOwnPropertyDescriptors") \
  V(_, getPrototypeOf_string, "getPrototypeOf")                       \
  V(_, global_string, "global")                                       \
  V(_, globalThis_string, "globalThis")                               \
  V(_, groups_string, "groups")                                       \
  V(_, has_string, "has")                                             \
  V(_, ignoreCase_string, "ignoreCase")                               \
  V(_, illegal_access_string, "illegal access")                       \
  V(_, illegal_argument_string, "illegal argument")                   \
  V(_, index_string, "index")                                         \
  V(_, Infinity_string, "Infinity")                                   \
  V(_, infinity_string, "infinity")                                   \
  V(_, input_string, "input")                                         \
  V(_, Int16Array_string, "Int16Array")                               \
  V(_, Int32Array_string, "Int32Array")                               \
  V(_, Int8Array_string, "Int8Array")                                 \
  V(_, isExtensible_string, "isExtensible")                           \
  V(_, isView_string, "isView")                                       \
  V(_, keys_string, "keys")                                           \
  V(_, lastIndex_string, "lastIndex")                                 \
  V(_, length_string, "length")                                       \
  V(_, let_string, "let")                                             \
  V(_, line_string, "line")                                           \
  V(_, LinkError_string, "LinkError")                                 \
  V(_, long_string, "long")                                           \
  V(_, Map_string, "Map")                                             \
  V(_, MapIterator_string, "Map Iterator")                            \
  V(_, medium_string, "medium")                                       \
  V(_, message_string, "message")                                     \
  V(_, meta_string, "meta")                                           \
  V(_, minus_Infinity_string, "-Infinity")                            \
  V(_, Module_string, "Module")                                       \
  V(_, multiline_string, "multiline")                                 \
  V(_, name_string, "name")                                           \
  V(_, NaN_string, "NaN")                                             \
  V(_, narrow_string, "narrow")                                       \
  V(_, native_string, "native")                                       \
  V(_, new_target_string, ".new.target")                              \
  V(_, next_string, "next")                                           \
  V(_, NFC_string, "NFC")                                             \
  V(_, NFD_string, "NFD")                                             \
  V(_, NFKC_string, "NFKC")                                           \
  V(_, NFKD_string, "NFKD")                                           \
  V(_, not_equal, "not-equal")                                        \
  V(_, null_string, "null")                                           \
  V(_, null_to_string, "[object Null]")                               \
  V(_, Number_string, "Number")                                       \
  V(_, number_string, "number")                                       \
  V(_, number_to_string, "[object Number]")                           \
  V(_, Object_string, "Object")                                       \
  V(_, object_string, "object")                                       \
  V(_, object_to_string, "[object Object]")                           \
  V(_, of_string, "of")                                               \
  V(_, ok, "ok")                                                      \
  V(_, one_string, "1")                                               \
  V(_, ownKeys_string, "ownKeys")                                     \
  V(_, percent_string, "percent")                                     \
  V(_, position_string, "position")                                   \
  V(_, preventExtensions_string, "preventExtensions")                 \
  V(_, private_constructor_string, "#constructor")                    \
  V(_, Promise_string, "Promise")                                     \
  V(_, promise_string, "promise")                                     \
  V(_, proto_string, "__proto__")                                     \
  V(_, prototype_string, "prototype")                                 \
  V(_, proxy_string, "proxy")                                         \
  V(_, Proxy_string, "Proxy")                                         \
  V(_, query_colon_string, "(?:)")                                    \
  V(_, RangeError_string, "RangeError")                               \
  V(_, raw_string, "raw")                                             \
  V(_, ReferenceError_string, "ReferenceError")                       \
  V(_, ReflectGet_string, "Reflect.get")                              \
  V(_, ReflectHas_string, "Reflect.has")                              \
  V(_, RegExp_string, "RegExp")                                       \
  V(_, regexp_to_string, "[object RegExp]")                           \
  V(_, resolve_string, "resolve")                                     \
  V(_, return_string, "return")                                       \
  V(_, revoke_string, "revoke")                                       \
  V(_, RuntimeError_string, "RuntimeError")                           \
  V(_, Script_string, "Script")                                       \
  V(_, script_string, "script")                                       \
  V(_, short_string, "short")                                         \
  V(_, Set_string, "Set")                                             \
  V(_, sentence_string, "sentence")                                   \
  V(_, set_space_string, "set ")                                      \
  V(_, set_string, "set")                                             \
  V(_, SetIterator_string, "Set Iterator")                            \
  V(_, setPrototypeOf_string, "setPrototypeOf")                       \
  V(_, SharedArrayBuffer_string, "SharedArrayBuffer")                 \
  V(_, source_string, "source")                                       \
  V(_, sourceText_string, "sourceText")                               \
  V(_, stack_string, "stack")                                         \
  V(_, stackTraceLimit_string, "stackTraceLimit")                     \
  V(_, sticky_string, "sticky")                                       \
  V(_, String_string, "String")                                       \
  V(_, string_string, "string")                                       \
  V(_, string_to_string, "[object String]")                           \
  V(_, symbol_species_string, "[Symbol.species]")                     \
  V(_, Symbol_string, "Symbol")                                       \
  V(_, symbol_string, "symbol")                                       \
  V(_, SyntaxError_string, "SyntaxError")                             \
  V(_, target_string, "target")                                       \
  V(_, then_string, "then")                                           \
  V(_, this_function_string, ".this_function")                        \
  V(_, this_string, "this")                                           \
  V(_, throw_string, "throw")                                         \
  V(_, timed_out, "timed-out")                                        \
  V(_, toJSON_string, "toJSON")                                       \
  V(_, toString_string, "toString")                                   \
  V(_, true_string, "true")                                           \
  V(_, TypeError_string, "TypeError")                                 \
  V(_, Uint16Array_string, "Uint16Array")                             \
  V(_, Uint32Array_string, "Uint32Array")                             \
  V(_, Uint8Array_string, "Uint8Array")                               \
  V(_, Uint8ClampedArray_string, "Uint8ClampedArray")                 \
  V(_, undefined_string, "undefined")                                 \
  V(_, undefined_to_string, "[object Undefined]")                     \
  V(_, unicode_string, "unicode")                                     \
  V(_, URIError_string, "URIError")                                   \
  V(_, value_string, "value")                                         \
  V(_, valueOf_string, "valueOf")                                     \
  V(_, values_string, "values")                                       \
  V(_, WeakMap_string, "WeakMap")                                     \
  V(_, WeakRef_string, "WeakRef")                                     \
  V(_, WeakSet_string, "WeakSet")                                     \
  V(_, week_string, "week")                                           \
  V(_, word_string, "word")                                           \
  V(_, writable_string, "writable")                                   \
  V(_, zero_string, "0")

#define PRIVATE_SYMBOL_LIST_GENERATOR(V, _) \
  V(_, call_site_frame_array_symbol)        \
  V(_, call_site_frame_index_symbol)        \
  V(_, console_context_id_symbol)           \
  V(_, console_context_name_symbol)         \
  V(_, class_fields_symbol)                 \
  V(_, class_positions_symbol)              \
  V(_, detailed_stack_trace_symbol)         \
  V(_, elements_transition_symbol)          \
  V(_, error_end_pos_symbol)                \
  V(_, error_script_symbol)                 \
  V(_, error_start_pos_symbol)              \
  V(_, frozen_symbol)                       \
  V(_, generic_symbol)                      \
  V(_, home_object_symbol)                  \
  V(_, interpreter_trampoline_symbol)       \
  V(_, megamorphic_symbol)                  \
  V(_, native_context_index_symbol)         \
  V(_, nonextensible_symbol)                \
  V(_, not_mapped_symbol)                   \
  V(_, premonomorphic_symbol)               \
  V(_, promise_debug_marker_symbol)         \
  V(_, promise_forwarding_handler_symbol)   \
  V(_, promise_handled_by_symbol)           \
  V(_, sealed_symbol)                       \
  V(_, stack_trace_symbol)                  \
  V(_, strict_function_transition_symbol)   \
  V(_, wasm_exception_tag_symbol)           \
  V(_, wasm_exception_values_symbol)        \
  V(_, uninitialized_symbol)

#define PUBLIC_SYMBOL_LIST_GENERATOR(V, _)          \
  V(_, async_iterator_symbol, Symbol.asyncIterator) \
  V(_, iterator_symbol, Symbol.iterator)            \
  V(_, intl_fallback_symbol, IntlFallback)          \
  V(_, match_all_symbol, Symbol.matchAll)           \
  V(_, match_symbol, Symbol.match)                  \
  V(_, replace_symbol, Symbol.replace)              \
  V(_, search_symbol, Symbol.search)                \
  V(_, species_symbol, Symbol.species)              \
  V(_, split_symbol, Symbol.split)                  \
  V(_, to_primitive_symbol, Symbol.toPrimitive)     \
  V(_, unscopables_symbol, Symbol.unscopables)

// Well-Known Symbols are "Public" symbols, which have a bit set which causes
// them to produce an undefined value when a load results in a failed access
// check. Because this behaviour is not specified properly as of yet, it only
// applies to a subset of spec-defined Well-Known Symbols.
#define WELL_KNOWN_SYMBOL_LIST_GENERATOR(V, _)                 \
  V(_, has_instance_symbol, Symbol.hasInstance)                \
  V(_, is_concat_spreadable_symbol, Symbol.isConcatSpreadable) \
  V(_, to_string_tag_symbol, Symbol.toStringTag)

#define INCREMENTAL_SCOPES(F)                                      \
  /* MC_INCREMENTAL is the top-level incremental marking scope. */ \
  F(MC_INCREMENTAL)                                                \
  F(MC_INCREMENTAL_EMBEDDER_PROLOGUE)                              \
  F(MC_INCREMENTAL_EMBEDDER_TRACING)                               \
  F(MC_INCREMENTAL_EXTERNAL_EPILOGUE)                              \
  F(MC_INCREMENTAL_EXTERNAL_PROLOGUE)                              \
  F(MC_INCREMENTAL_FINALIZE)                                       \
  F(MC_INCREMENTAL_FINALIZE_BODY)                                  \
  F(MC_INCREMENTAL_LAYOUT_CHANGE)                                  \
  F(MC_INCREMENTAL_START)                                          \
  F(MC_INCREMENTAL_SWEEPING)

#define TOP_MC_SCOPES(F) \
  F(MC_CLEAR)            \
  F(MC_EPILOGUE)         \
  F(MC_EVACUATE)         \
  F(MC_FINISH)           \
  F(MC_MARK)             \
  F(MC_PROLOGUE)         \
  F(MC_SWEEP)

#define TRACER_SCOPES(F)                             \
  INCREMENTAL_SCOPES(F)                              \
  F(HEAP_EMBEDDER_TRACING_EPILOGUE)                  \
  F(HEAP_EPILOGUE)                                   \
  F(HEAP_EPILOGUE_REDUCE_NEW_SPACE)                  \
  F(HEAP_EXTERNAL_EPILOGUE)                          \
  F(HEAP_EXTERNAL_PROLOGUE)                          \
  F(HEAP_EXTERNAL_WEAK_GLOBAL_HANDLES)               \
  F(HEAP_PROLOGUE)                                   \
  TOP_MC_SCOPES(F)                                   \
  F(MC_CLEAR_DEPENDENT_CODE)                         \
  F(MC_CLEAR_FLUSHABLE_BYTECODE)                     \
  F(MC_CLEAR_FLUSHED_JS_FUNCTIONS)                   \
  F(MC_CLEAR_MAPS)                                   \
  F(MC_CLEAR_SLOTS_BUFFER)                           \
  F(MC_CLEAR_STORE_BUFFER)                           \
  F(MC_CLEAR_STRING_TABLE)                           \
  F(MC_CLEAR_WEAK_COLLECTIONS)                       \
  F(MC_CLEAR_WEAK_LISTS)                             \
  F(MC_CLEAR_WEAK_REFERENCES)                        \
  F(MC_EVACUATE_CANDIDATES)                          \
  F(MC_EVACUATE_CLEAN_UP)                            \
  F(MC_EVACUATE_COPY)                                \
  F(MC_EVACUATE_EPILOGUE)                            \
  F(MC_EVACUATE_PROLOGUE)                            \
  F(MC_EVACUATE_REBALANCE)                           \
  F(MC_EVACUATE_UPDATE_POINTERS)                     \
  F(MC_EVACUATE_UPDATE_POINTERS_SLOTS_MAIN)          \
  F(MC_EVACUATE_UPDATE_POINTERS_SLOTS_MAP_SPACE)     \
  F(MC_EVACUATE_UPDATE_POINTERS_TO_NEW_ROOTS)        \
  F(MC_EVACUATE_UPDATE_POINTERS_WEAK)                \
  F(MC_MARK_EMBEDDER_PROLOGUE)                       \
  F(MC_MARK_EMBEDDER_TRACING)                        \
  F(MC_MARK_EMBEDDER_TRACING_CLOSURE)                \
  F(MC_MARK_FINISH_INCREMENTAL)                      \
  F(MC_MARK_MAIN)                                    \
  F(MC_MARK_ROOTS)                                   \
  F(MC_MARK_WEAK_CLOSURE)                            \
  F(MC_MARK_WEAK_CLOSURE_EPHEMERON)                  \
  F(MC_MARK_WEAK_CLOSURE_EPHEMERON_MARKING)          \
  F(MC_MARK_WEAK_CLOSURE_EPHEMERON_LINEAR)           \
  F(MC_MARK_WEAK_CLOSURE_WEAK_HANDLES)               \
  F(MC_MARK_WEAK_CLOSURE_WEAK_ROOTS)                 \
  F(MC_MARK_WEAK_CLOSURE_HARMONY)                    \
  F(MC_SWEEP_CODE)                                   \
  F(MC_SWEEP_MAP)                                    \
  F(MC_SWEEP_OLD)                                    \
  F(MINOR_MC)                                        \
  F(MINOR_MC_CLEAR)                                  \
  F(MINOR_MC_CLEAR_STRING_TABLE)                     \
  F(MINOR_MC_CLEAR_WEAK_LISTS)                       \
  F(MINOR_MC_EVACUATE)                               \
  F(MINOR_MC_EVACUATE_CLEAN_UP)                      \
  F(MINOR_MC_EVACUATE_COPY)                          \
  F(MINOR_MC_EVACUATE_EPILOGUE)                      \
  F(MINOR_MC_EVACUATE_PROLOGUE)                      \
  F(MINOR_MC_EVACUATE_REBALANCE)                     \
  F(MINOR_MC_EVACUATE_UPDATE_POINTERS)               \
  F(MINOR_MC_EVACUATE_UPDATE_POINTERS_SLOTS)         \
  F(MINOR_MC_EVACUATE_UPDATE_POINTERS_TO_NEW_ROOTS)  \
  F(MINOR_MC_EVACUATE_UPDATE_POINTERS_WEAK)          \
  F(MINOR_MC_MARK)                                   \
  F(MINOR_MC_MARK_GLOBAL_HANDLES)                    \
  F(MINOR_MC_MARK_SEED)                              \
  F(MINOR_MC_MARK_ROOTS)                             \
  F(MINOR_MC_MARK_WEAK)                              \
  F(MINOR_MC_MARKING_DEQUE)                          \
  F(MINOR_MC_RESET_LIVENESS)                         \
  F(MINOR_MC_SWEEPING)                               \
  F(SCAVENGER_FAST_PROMOTE)                          \
  F(SCAVENGER_SCAVENGE)                              \
  F(SCAVENGER_PROCESS_ARRAY_BUFFERS)                 \
  F(SCAVENGER_SCAVENGE_WEAK_GLOBAL_HANDLES_IDENTIFY) \
  F(SCAVENGER_SCAVENGE_WEAK_GLOBAL_HANDLES_PROCESS)  \
  F(SCAVENGER_SCAVENGE_PARALLEL)                     \
  F(SCAVENGER_SCAVENGE_ROOTS)                        \
  F(SCAVENGER_SCAVENGE_UPDATE_REFS)                  \
  F(SCAVENGER_SCAVENGE_WEAK)                         \
  F(SCAVENGER_SCAVENGE_FINALIZE)

#define TRACER_BACKGROUND_SCOPES(F)               \
  F(BACKGROUND_ARRAY_BUFFER_FREE)                 \
  F(BACKGROUND_STORE_BUFFER)                      \
  F(BACKGROUND_UNMAPPER)                          \
  F(MC_BACKGROUND_EVACUATE_COPY)                  \
  F(MC_BACKGROUND_EVACUATE_UPDATE_POINTERS)       \
  F(MC_BACKGROUND_MARKING)                        \
  F(MC_BACKGROUND_SWEEPING)                       \
  F(MINOR_MC_BACKGROUND_EVACUATE_COPY)            \
  F(MINOR_MC_BACKGROUND_EVACUATE_UPDATE_POINTERS) \
  F(MINOR_MC_BACKGROUND_MARKING)                  \
  F(SCAVENGER_BACKGROUND_SCAVENGE_PARALLEL)

#endif  // V8_HEAP_SYMBOLS_H_
