00c7e2a2c5
Added null check when printing the brand with --print-ast. Bug: chromium:961507, chromium:961508 Original change's description: > [class] implement private method declarations > > This patch implements the declarations of private methods, the access > of private methods would be left to a future patch. > When a private methods declaration is encountered, we now: > > - Create a brand symbol during class evaluation and store it in the > context. > - Create the closures for the private methods > - Load the brand from the context and store it in the instance in the > constructor. > > Design: https://docs.google.com/document/d/1T-Ql6HOIH2U_8YjWkwK2rTfywwb7b3Qe8d3jkz72KwA/edit# > > Bug: v8:8330 > Change-Id: I2d695cbdc8a7367ddc7620d627b318f779d36150 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1568708 > Commit-Queue: Joyee Cheung <joyee@igalia.com> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#61387} Change-Id: I3bf465f70c27914c9ec19f3f59ae018b28c9a866 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1605521 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61459}
491 lines
30 KiB
C
491 lines
30 KiB
C
// 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_
|