// 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(_, breakType_string, "breakType")                               \
  V(_, calendar_string, "calendar")                                 \
  V(_, caseFirst_string, "caseFirst")                               \
  V(_, day_string, "day")                                           \
  V(_, dayPeriod_string, "dayPeriod")                               \
  V(_, decimal_string, "decimal")                                   \
  V(_, era_string, "era")                                           \
  V(_, fraction_string, "fraction")                                 \
  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(_, hard_string, "hard")                                         \
  V(_, hour_string, "hour")                                         \
  V(_, hour12_string, "hour12")                                     \
  V(_, hourCycle_string, "hourCycle")                               \
  V(_, collation_string, "collation")                               \
  V(_, currency_string, "currency")                                 \
  V(_, currencyDisplay_string, "currencyDisplay")                   \
  V(_, ignorePunctuation_string, "ignorePunctuation")               \
  V(_, Invalid_Date_string, "Invalid Date")                         \
  V(_, integer_string, "integer")                                   \
  V(_, lineBreakStyle_string, "lineBreakStyle")                     \
  V(_, literal_string, "literal")                                   \
  V(_, locale_string, "locale")                                     \
  V(_, localeWithExtension_string, "localeWithExtension")           \
  V(_, loose_string, "loose")                                       \
  V(_, lower_string, "lower")                                       \
  V(_, maximumFractionDigits_string, "maximumFractionDigits")       \
  V(_, maximumSignificantDigits_string, "maximumSignificantDigits") \
  V(_, nan_string, "nan")                                           \
  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(_, none_string, "none")                                         \
  V(_, normal_string, "normal")                                     \
  V(_, numberingSystem_string, "numberingSystem")                   \
  V(_, numeric_string, "numeric")                                   \
  V(_, percentSign_string, "percentSign")                           \
  V(_, plusSign_string, "plusSign")                                 \
  V(_, quarter_string, "quarter")                                   \
  V(_, second_string, "second")                                     \
  V(_, segment_string, "segment")                                   \
  V(_, SegmentIterator_string, "Segment Iterator")                  \
  V(_, sensitivity_string, "sensitivity")                           \
  V(_, sep_string, "sep")                                           \
  V(_, soft_string, "soft")                                         \
  V(_, strict_string, "strict")                                     \
  V(_, style_string, "style")                                       \
  V(_, term_string, "term")                                         \
  V(_, timeZone_string, "timeZone")                                 \
  V(_, timeZoneName_string, "timeZoneName")                         \
  V(_, type_string, "type")                                         \
  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(_, 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(_, call_string, "call")                                           \
  V(_, callee_string, "callee")                                       \
  V(_, caller_string, "caller")                                       \
  V(_, cell_value_string, "%cell_value")                              \
  V(_, char_at_string, "CharAt")                                      \
  V(_, character_string, "character")                                 \
  V(_, closure_string, "(closure)")                                   \
  V(_, code_string, "code")                                           \
  V(_, column_string, "column")                                       \
  V(_, CompileError_string, "CompileError")                           \
  V(_, configurable_string, "configurable")                           \
  V(_, construct_string, "construct")                                 \
  V(_, constructor_string, "constructor")                             \
  V(_, conjunction_string, "conjunction")                             \
  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(_, did_handle_string, "didHandle")                                \
  V(_, disjunction_string, "disjunction")                             \
  V(_, display_name_string, "displayName")                            \
  V(_, done_string, "done")                                           \
  V(_, dot_catch_string, ".catch")                                    \
  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(_, enqueue_string, "enqueue")                                     \
  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(_, 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(_, holdings_string, "holdings")                                   \
  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(_, KeyedLoadMonomorphic_string, "KeyedLoadMonomorphic")           \
  V(_, KeyedStoreMonomorphic_string, "KeyedStoreMonomorphic")         \
  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(_, makeCell_string, "makeCell")                                   \
  V(_, Map_string, "Map")                                             \
  V(_, MapIterator_string, "Map Iterator")                            \
  V(_, message_string, "message")                                     \
  V(_, minus_Infinity_string, "-Infinity")                            \
  V(_, minus_zero_string, "-0")                                       \
  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(_, ok, "ok")                                                      \
  V(_, one_string, "1")                                               \
  V(_, ownKeys_string, "ownKeys")                                     \
  V(_, percent_string, "percent")                                     \
  V(_, position_string, "position")                                   \
  V(_, preventExtensions_string, "preventExtensions")                 \
  V(_, Promise_string, "Promise")                                     \
  V(_, promise_string, "promise")                                     \
  V(_, PromiseResolveThenableJob_string, "PromiseResolveThenableJob") \
  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(_, ReconfigureToDataProperty_string, "ReconfigureToDataProperty") \
  V(_, ReferenceError_string, "ReferenceError")                       \
  V(_, RegExp_string, "RegExp")                                       \
  V(_, regexp_to_string, "[object RegExp]")                           \
  V(_, reject_string, "reject")                                       \
  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(_, star_default_star_string, "*default*")                         \
  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(_, 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(_, use_asm_string, "use asm")                                     \
  V(_, use_strict_string, "use strict")                               \
  V(_, value_string, "value")                                         \
  V(_, valueOf_string, "valueOf")                                     \
  V(_, values_string, "values")                                       \
  V(_, WeakCell_string, "WeakCell")                                   \
  V(_, WeakFactory_string, "WeakFactory")                             \
  V(_, WeakMap_string, "WeakMap")                                     \
  V(_, WeakSet_string, "WeakSet")                                     \
  V(_, week_string, "week")                                           \
  V(_, will_handle_string, "willHandle")                              \
  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_async_stack_id_symbol)       \
  V(_, promise_debug_marker_symbol)         \
  V(_, promise_forwarding_handler_symbol)   \
  V(_, promise_handled_by_symbol)           \
  V(_, promise_async_id_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_START)                                          \
  F(MC_INCREMENTAL_SWEEPING)                                       \
  F(MC_INCREMENTAL_WRAPPER_PROLOGUE)                               \
  F(MC_INCREMENTAL_WRAPPER_TRACING)                                \
  F(MC_INCREMENTAL_FINALIZE)                                       \
  F(MC_INCREMENTAL_FINALIZE_BODY)                                  \
  F(MC_INCREMENTAL_EXTERNAL_EPILOGUE)                              \
  F(MC_INCREMENTAL_EXTERNAL_PROLOGUE)

#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_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_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_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_MARK_WRAPPERS)                                \
  F(MC_MARK_WRAPPER_EPILOGUE)                        \
  F(MC_MARK_WRAPPER_PROLOGUE)                        \
  F(MC_MARK_WRAPPER_TRACING)                         \
  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_
