• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/env python3
2# Copyright 2019 the V8 project authors. All rights reserved.
3# Use of this source code is governed by a BSD-style license that can
4# be found in the LICENSE file.
5
6# This file is automatically generated by mkgrokdump and should not
7# be modified manually.
8
9# List of known V8 instance types.
10# yapf: disable
11
12INSTANCE_TYPES = {
13  0: "INTERNALIZED_STRING_TYPE",
14  2: "EXTERNAL_INTERNALIZED_STRING_TYPE",
15  8: "ONE_BYTE_INTERNALIZED_STRING_TYPE",
16  10: "EXTERNAL_ONE_BYTE_INTERNALIZED_STRING_TYPE",
17  18: "UNCACHED_EXTERNAL_INTERNALIZED_STRING_TYPE",
18  26: "UNCACHED_EXTERNAL_ONE_BYTE_INTERNALIZED_STRING_TYPE",
19  32: "STRING_TYPE",
20  33: "CONS_STRING_TYPE",
21  34: "EXTERNAL_STRING_TYPE",
22  35: "SLICED_STRING_TYPE",
23  37: "THIN_STRING_TYPE",
24  40: "ONE_BYTE_STRING_TYPE",
25  41: "CONS_ONE_BYTE_STRING_TYPE",
26  42: "EXTERNAL_ONE_BYTE_STRING_TYPE",
27  43: "SLICED_ONE_BYTE_STRING_TYPE",
28  45: "THIN_ONE_BYTE_STRING_TYPE",
29  50: "UNCACHED_EXTERNAL_STRING_TYPE",
30  58: "UNCACHED_EXTERNAL_ONE_BYTE_STRING_TYPE",
31  96: "SHARED_STRING_TYPE",
32  101: "SHARED_THIN_STRING_TYPE",
33  104: "SHARED_ONE_BYTE_STRING_TYPE",
34  109: "SHARED_THIN_ONE_BYTE_STRING_TYPE",
35  128: "SYMBOL_TYPE",
36  129: "BIG_INT_BASE_TYPE",
37  130: "HEAP_NUMBER_TYPE",
38  131: "ODDBALL_TYPE",
39  132: "PROMISE_FULFILL_REACTION_JOB_TASK_TYPE",
40  133: "PROMISE_REJECT_REACTION_JOB_TASK_TYPE",
41  134: "CALLABLE_TASK_TYPE",
42  135: "CALLBACK_TASK_TYPE",
43  136: "PROMISE_RESOLVE_THENABLE_JOB_TASK_TYPE",
44  137: "LOAD_HANDLER_TYPE",
45  138: "STORE_HANDLER_TYPE",
46  139: "FUNCTION_TEMPLATE_INFO_TYPE",
47  140: "OBJECT_TEMPLATE_INFO_TYPE",
48  141: "ACCESS_CHECK_INFO_TYPE",
49  142: "ACCESSOR_INFO_TYPE",
50  143: "ACCESSOR_PAIR_TYPE",
51  144: "ALIASED_ARGUMENTS_ENTRY_TYPE",
52  145: "ALLOCATION_MEMENTO_TYPE",
53  146: "ALLOCATION_SITE_TYPE",
54  147: "ARRAY_BOILERPLATE_DESCRIPTION_TYPE",
55  148: "ASM_WASM_DATA_TYPE",
56  149: "ASYNC_GENERATOR_REQUEST_TYPE",
57  150: "BREAK_POINT_TYPE",
58  151: "BREAK_POINT_INFO_TYPE",
59  152: "CACHED_TEMPLATE_OBJECT_TYPE",
60  153: "CALL_HANDLER_INFO_TYPE",
61  154: "CALL_SITE_INFO_TYPE",
62  155: "CLASS_POSITIONS_TYPE",
63  156: "DEBUG_INFO_TYPE",
64  157: "ENUM_CACHE_TYPE",
65  158: "ERROR_STACK_DATA_TYPE",
66  159: "FEEDBACK_CELL_TYPE",
67  160: "FUNCTION_TEMPLATE_RARE_DATA_TYPE",
68  161: "INTERCEPTOR_INFO_TYPE",
69  162: "INTERPRETER_DATA_TYPE",
70  163: "MODULE_REQUEST_TYPE",
71  164: "PROMISE_CAPABILITY_TYPE",
72  165: "PROMISE_ON_STACK_TYPE",
73  166: "PROMISE_REACTION_TYPE",
74  167: "PROPERTY_DESCRIPTOR_OBJECT_TYPE",
75  168: "PROTOTYPE_INFO_TYPE",
76  169: "REG_EXP_BOILERPLATE_DESCRIPTION_TYPE",
77  170: "SCRIPT_TYPE",
78  171: "SCRIPT_OR_MODULE_TYPE",
79  172: "SOURCE_TEXT_MODULE_INFO_ENTRY_TYPE",
80  173: "STACK_FRAME_INFO_TYPE",
81  174: "TEMPLATE_OBJECT_DESCRIPTION_TYPE",
82  175: "TUPLE2_TYPE",
83  176: "WASM_CONTINUATION_OBJECT_TYPE",
84  177: "WASM_EXCEPTION_TAG_TYPE",
85  178: "WASM_INDIRECT_FUNCTION_TABLE_TYPE",
86  179: "FIXED_ARRAY_TYPE",
87  180: "HASH_TABLE_TYPE",
88  181: "EPHEMERON_HASH_TABLE_TYPE",
89  182: "GLOBAL_DICTIONARY_TYPE",
90  183: "NAME_DICTIONARY_TYPE",
91  184: "NAME_TO_INDEX_HASH_TABLE_TYPE",
92  185: "NUMBER_DICTIONARY_TYPE",
93  186: "ORDERED_HASH_MAP_TYPE",
94  187: "ORDERED_HASH_SET_TYPE",
95  188: "ORDERED_NAME_DICTIONARY_TYPE",
96  189: "REGISTERED_SYMBOL_TABLE_TYPE",
97  190: "SIMPLE_NUMBER_DICTIONARY_TYPE",
98  191: "CLOSURE_FEEDBACK_CELL_ARRAY_TYPE",
99  192: "OBJECT_BOILERPLATE_DESCRIPTION_TYPE",
100  193: "SCRIPT_CONTEXT_TABLE_TYPE",
101  194: "BYTE_ARRAY_TYPE",
102  195: "BYTECODE_ARRAY_TYPE",
103  196: "FIXED_DOUBLE_ARRAY_TYPE",
104  197: "INTERNAL_CLASS_WITH_SMI_ELEMENTS_TYPE",
105  198: "SLOPPY_ARGUMENTS_ELEMENTS_TYPE",
106  199: "TURBOFAN_BITSET_TYPE_TYPE",
107  200: "TURBOFAN_HEAP_CONSTANT_TYPE_TYPE",
108  201: "TURBOFAN_OTHER_NUMBER_CONSTANT_TYPE_TYPE",
109  202: "TURBOFAN_RANGE_TYPE_TYPE",
110  203: "TURBOFAN_UNION_TYPE_TYPE",
111  204: "FOREIGN_TYPE",
112  205: "WASM_INTERNAL_FUNCTION_TYPE",
113  206: "WASM_TYPE_INFO_TYPE",
114  207: "AWAIT_CONTEXT_TYPE",
115  208: "BLOCK_CONTEXT_TYPE",
116  209: "CATCH_CONTEXT_TYPE",
117  210: "DEBUG_EVALUATE_CONTEXT_TYPE",
118  211: "EVAL_CONTEXT_TYPE",
119  212: "FUNCTION_CONTEXT_TYPE",
120  213: "MODULE_CONTEXT_TYPE",
121  214: "NATIVE_CONTEXT_TYPE",
122  215: "SCRIPT_CONTEXT_TYPE",
123  216: "WITH_CONTEXT_TYPE",
124  217: "UNCOMPILED_DATA_WITH_PREPARSE_DATA_TYPE",
125  218: "UNCOMPILED_DATA_WITH_PREPARSE_DATA_AND_JOB_TYPE",
126  219: "UNCOMPILED_DATA_WITHOUT_PREPARSE_DATA_TYPE",
127  220: "UNCOMPILED_DATA_WITHOUT_PREPARSE_DATA_WITH_JOB_TYPE",
128  221: "WASM_FUNCTION_DATA_TYPE",
129  222: "WASM_CAPI_FUNCTION_DATA_TYPE",
130  223: "WASM_EXPORTED_FUNCTION_DATA_TYPE",
131  224: "WASM_JS_FUNCTION_DATA_TYPE",
132  225: "EXPORTED_SUB_CLASS_BASE_TYPE",
133  226: "EXPORTED_SUB_CLASS_TYPE",
134  227: "EXPORTED_SUB_CLASS2_TYPE",
135  228: "SMALL_ORDERED_HASH_MAP_TYPE",
136  229: "SMALL_ORDERED_HASH_SET_TYPE",
137  230: "SMALL_ORDERED_NAME_DICTIONARY_TYPE",
138  231: "ABSTRACT_INTERNAL_CLASS_SUBCLASS1_TYPE",
139  232: "ABSTRACT_INTERNAL_CLASS_SUBCLASS2_TYPE",
140  233: "DESCRIPTOR_ARRAY_TYPE",
141  234: "STRONG_DESCRIPTOR_ARRAY_TYPE",
142  235: "SOURCE_TEXT_MODULE_TYPE",
143  236: "SYNTHETIC_MODULE_TYPE",
144  237: "WEAK_FIXED_ARRAY_TYPE",
145  238: "TRANSITION_ARRAY_TYPE",
146  239: "CELL_TYPE",
147  240: "CODE_TYPE",
148  241: "CODE_DATA_CONTAINER_TYPE",
149  242: "COVERAGE_INFO_TYPE",
150  243: "EMBEDDER_DATA_ARRAY_TYPE",
151  244: "FEEDBACK_METADATA_TYPE",
152  245: "FEEDBACK_VECTOR_TYPE",
153  246: "FILLER_TYPE",
154  247: "FREE_SPACE_TYPE",
155  248: "INTERNAL_CLASS_TYPE",
156  249: "INTERNAL_CLASS_WITH_STRUCT_ELEMENTS_TYPE",
157  250: "MAP_TYPE",
158  251: "MEGA_DOM_HANDLER_TYPE",
159  252: "ON_HEAP_BASIC_BLOCK_PROFILER_DATA_TYPE",
160  253: "PREPARSE_DATA_TYPE",
161  254: "PROPERTY_ARRAY_TYPE",
162  255: "PROPERTY_CELL_TYPE",
163  256: "SCOPE_INFO_TYPE",
164  257: "SHARED_FUNCTION_INFO_TYPE",
165  258: "SMI_BOX_TYPE",
166  259: "SMI_PAIR_TYPE",
167  260: "SORT_STATE_TYPE",
168  261: "SWISS_NAME_DICTIONARY_TYPE",
169  262: "WASM_API_FUNCTION_REF_TYPE",
170  263: "WASM_ON_FULFILLED_DATA_TYPE",
171  264: "WEAK_ARRAY_LIST_TYPE",
172  265: "WEAK_CELL_TYPE",
173  266: "WASM_ARRAY_TYPE",
174  267: "WASM_STRUCT_TYPE",
175  268: "JS_PROXY_TYPE",
176  1057: "JS_OBJECT_TYPE",
177  269: "JS_GLOBAL_OBJECT_TYPE",
178  270: "JS_GLOBAL_PROXY_TYPE",
179  271: "JS_MODULE_NAMESPACE_TYPE",
180  1040: "JS_SPECIAL_API_OBJECT_TYPE",
181  1041: "JS_PRIMITIVE_WRAPPER_TYPE",
182  1058: "JS_API_OBJECT_TYPE",
183  2058: "JS_LAST_DUMMY_API_OBJECT_TYPE",
184  2059: "JS_DATA_VIEW_TYPE",
185  2060: "JS_TYPED_ARRAY_TYPE",
186  2061: "JS_ARRAY_BUFFER_TYPE",
187  2062: "JS_PROMISE_TYPE",
188  2063: "JS_BOUND_FUNCTION_TYPE",
189  2064: "JS_WRAPPED_FUNCTION_TYPE",
190  2065: "JS_FUNCTION_TYPE",
191  2066: "BIGINT64_TYPED_ARRAY_CONSTRUCTOR_TYPE",
192  2067: "BIGUINT64_TYPED_ARRAY_CONSTRUCTOR_TYPE",
193  2068: "FLOAT32_TYPED_ARRAY_CONSTRUCTOR_TYPE",
194  2069: "FLOAT64_TYPED_ARRAY_CONSTRUCTOR_TYPE",
195  2070: "INT16_TYPED_ARRAY_CONSTRUCTOR_TYPE",
196  2071: "INT32_TYPED_ARRAY_CONSTRUCTOR_TYPE",
197  2072: "INT8_TYPED_ARRAY_CONSTRUCTOR_TYPE",
198  2073: "UINT16_TYPED_ARRAY_CONSTRUCTOR_TYPE",
199  2074: "UINT32_TYPED_ARRAY_CONSTRUCTOR_TYPE",
200  2075: "UINT8_CLAMPED_TYPED_ARRAY_CONSTRUCTOR_TYPE",
201  2076: "UINT8_TYPED_ARRAY_CONSTRUCTOR_TYPE",
202  2077: "JS_ARRAY_CONSTRUCTOR_TYPE",
203  2078: "JS_PROMISE_CONSTRUCTOR_TYPE",
204  2079: "JS_REG_EXP_CONSTRUCTOR_TYPE",
205  2080: "JS_CLASS_CONSTRUCTOR_TYPE",
206  2081: "JS_ARRAY_ITERATOR_PROTOTYPE_TYPE",
207  2082: "JS_ITERATOR_PROTOTYPE_TYPE",
208  2083: "JS_MAP_ITERATOR_PROTOTYPE_TYPE",
209  2084: "JS_OBJECT_PROTOTYPE_TYPE",
210  2085: "JS_PROMISE_PROTOTYPE_TYPE",
211  2086: "JS_REG_EXP_PROTOTYPE_TYPE",
212  2087: "JS_SET_ITERATOR_PROTOTYPE_TYPE",
213  2088: "JS_SET_PROTOTYPE_TYPE",
214  2089: "JS_STRING_ITERATOR_PROTOTYPE_TYPE",
215  2090: "JS_TYPED_ARRAY_PROTOTYPE_TYPE",
216  2091: "JS_MAP_KEY_ITERATOR_TYPE",
217  2092: "JS_MAP_KEY_VALUE_ITERATOR_TYPE",
218  2093: "JS_MAP_VALUE_ITERATOR_TYPE",
219  2094: "JS_SET_KEY_VALUE_ITERATOR_TYPE",
220  2095: "JS_SET_VALUE_ITERATOR_TYPE",
221  2096: "JS_GENERATOR_OBJECT_TYPE",
222  2097: "JS_ASYNC_FUNCTION_OBJECT_TYPE",
223  2098: "JS_ASYNC_GENERATOR_OBJECT_TYPE",
224  2099: "JS_MAP_TYPE",
225  2100: "JS_SET_TYPE",
226  2101: "JS_WEAK_MAP_TYPE",
227  2102: "JS_WEAK_SET_TYPE",
228  2103: "JS_ARGUMENTS_OBJECT_TYPE",
229  2104: "JS_ARRAY_TYPE",
230  2105: "JS_ARRAY_ITERATOR_TYPE",
231  2106: "JS_ASYNC_FROM_SYNC_ITERATOR_TYPE",
232  2107: "JS_COLLATOR_TYPE",
233  2108: "JS_CONTEXT_EXTENSION_OBJECT_TYPE",
234  2109: "JS_DATE_TYPE",
235  2110: "JS_DATE_TIME_FORMAT_TYPE",
236  2111: "JS_DISPLAY_NAMES_TYPE",
237  2112: "JS_ERROR_TYPE",
238  2113: "JS_EXTERNAL_OBJECT_TYPE",
239  2114: "JS_FINALIZATION_REGISTRY_TYPE",
240  2115: "JS_LIST_FORMAT_TYPE",
241  2116: "JS_LOCALE_TYPE",
242  2117: "JS_MESSAGE_OBJECT_TYPE",
243  2118: "JS_NUMBER_FORMAT_TYPE",
244  2119: "JS_PLURAL_RULES_TYPE",
245  2120: "JS_REG_EXP_TYPE",
246  2121: "JS_REG_EXP_STRING_ITERATOR_TYPE",
247  2122: "JS_RELATIVE_TIME_FORMAT_TYPE",
248  2123: "JS_SEGMENT_ITERATOR_TYPE",
249  2124: "JS_SEGMENTER_TYPE",
250  2125: "JS_SEGMENTS_TYPE",
251  2126: "JS_SHADOW_REALM_TYPE",
252  2127: "JS_SHARED_STRUCT_TYPE",
253  2128: "JS_STRING_ITERATOR_TYPE",
254  2129: "JS_TEMPORAL_CALENDAR_TYPE",
255  2130: "JS_TEMPORAL_DURATION_TYPE",
256  2131: "JS_TEMPORAL_INSTANT_TYPE",
257  2132: "JS_TEMPORAL_PLAIN_DATE_TYPE",
258  2133: "JS_TEMPORAL_PLAIN_DATE_TIME_TYPE",
259  2134: "JS_TEMPORAL_PLAIN_MONTH_DAY_TYPE",
260  2135: "JS_TEMPORAL_PLAIN_TIME_TYPE",
261  2136: "JS_TEMPORAL_PLAIN_YEAR_MONTH_TYPE",
262  2137: "JS_TEMPORAL_TIME_ZONE_TYPE",
263  2138: "JS_TEMPORAL_ZONED_DATE_TIME_TYPE",
264  2139: "JS_V8_BREAK_ITERATOR_TYPE",
265  2140: "JS_WEAK_REF_TYPE",
266  2141: "WASM_GLOBAL_OBJECT_TYPE",
267  2142: "WASM_INSTANCE_OBJECT_TYPE",
268  2143: "WASM_MEMORY_OBJECT_TYPE",
269  2144: "WASM_MODULE_OBJECT_TYPE",
270  2145: "WASM_SUSPENDER_OBJECT_TYPE",
271  2146: "WASM_TABLE_OBJECT_TYPE",
272  2147: "WASM_TAG_OBJECT_TYPE",
273  2148: "WASM_VALUE_OBJECT_TYPE",
274}
275
276# List of known V8 maps.
277KNOWN_MAPS = {
278    ("read_only_space", 0x02149): (250, "MetaMap"),
279    ("read_only_space", 0x02171): (131, "NullMap"),
280    ("read_only_space", 0x02199): (234, "StrongDescriptorArrayMap"),
281    ("read_only_space", 0x021c1): (264, "WeakArrayListMap"),
282    ("read_only_space", 0x02205): (157, "EnumCacheMap"),
283    ("read_only_space", 0x02239): (179, "FixedArrayMap"),
284    ("read_only_space", 0x02285): (8, "OneByteInternalizedStringMap"),
285    ("read_only_space", 0x022d1): (247, "FreeSpaceMap"),
286    ("read_only_space", 0x022f9): (246, "OnePointerFillerMap"),
287    ("read_only_space", 0x02321): (246, "TwoPointerFillerMap"),
288    ("read_only_space", 0x02349): (131, "UninitializedMap"),
289    ("read_only_space", 0x023c1): (131, "UndefinedMap"),
290    ("read_only_space", 0x02405): (130, "HeapNumberMap"),
291    ("read_only_space", 0x02439): (131, "TheHoleMap"),
292    ("read_only_space", 0x02499): (131, "BooleanMap"),
293    ("read_only_space", 0x0253d): (194, "ByteArrayMap"),
294    ("read_only_space", 0x02565): (179, "FixedCOWArrayMap"),
295    ("read_only_space", 0x0258d): (180, "HashTableMap"),
296    ("read_only_space", 0x025b5): (128, "SymbolMap"),
297    ("read_only_space", 0x025dd): (40, "OneByteStringMap"),
298    ("read_only_space", 0x02605): (256, "ScopeInfoMap"),
299    ("read_only_space", 0x0262d): (257, "SharedFunctionInfoMap"),
300    ("read_only_space", 0x02655): (240, "CodeMap"),
301    ("read_only_space", 0x0267d): (239, "CellMap"),
302    ("read_only_space", 0x026a5): (255, "GlobalPropertyCellMap"),
303    ("read_only_space", 0x026cd): (204, "ForeignMap"),
304    ("read_only_space", 0x026f5): (238, "TransitionArrayMap"),
305    ("read_only_space", 0x0271d): (45, "ThinOneByteStringMap"),
306    ("read_only_space", 0x02745): (245, "FeedbackVectorMap"),
307    ("read_only_space", 0x0277d): (131, "ArgumentsMarkerMap"),
308    ("read_only_space", 0x027dd): (131, "ExceptionMap"),
309    ("read_only_space", 0x02839): (131, "TerminationExceptionMap"),
310    ("read_only_space", 0x028a1): (131, "OptimizedOutMap"),
311    ("read_only_space", 0x02901): (131, "StaleRegisterMap"),
312    ("read_only_space", 0x02961): (193, "ScriptContextTableMap"),
313    ("read_only_space", 0x02989): (191, "ClosureFeedbackCellArrayMap"),
314    ("read_only_space", 0x029b1): (244, "FeedbackMetadataArrayMap"),
315    ("read_only_space", 0x029d9): (179, "ArrayListMap"),
316    ("read_only_space", 0x02a01): (129, "BigIntMap"),
317    ("read_only_space", 0x02a29): (192, "ObjectBoilerplateDescriptionMap"),
318    ("read_only_space", 0x02a51): (195, "BytecodeArrayMap"),
319    ("read_only_space", 0x02a79): (241, "CodeDataContainerMap"),
320    ("read_only_space", 0x02aa1): (242, "CoverageInfoMap"),
321    ("read_only_space", 0x02ac9): (196, "FixedDoubleArrayMap"),
322    ("read_only_space", 0x02af1): (182, "GlobalDictionaryMap"),
323    ("read_only_space", 0x02b19): (159, "ManyClosuresCellMap"),
324    ("read_only_space", 0x02b41): (251, "MegaDomHandlerMap"),
325    ("read_only_space", 0x02b69): (179, "ModuleInfoMap"),
326    ("read_only_space", 0x02b91): (183, "NameDictionaryMap"),
327    ("read_only_space", 0x02bb9): (159, "NoClosuresCellMap"),
328    ("read_only_space", 0x02be1): (185, "NumberDictionaryMap"),
329    ("read_only_space", 0x02c09): (159, "OneClosureCellMap"),
330    ("read_only_space", 0x02c31): (186, "OrderedHashMapMap"),
331    ("read_only_space", 0x02c59): (187, "OrderedHashSetMap"),
332    ("read_only_space", 0x02c81): (184, "NameToIndexHashTableMap"),
333    ("read_only_space", 0x02ca9): (189, "RegisteredSymbolTableMap"),
334    ("read_only_space", 0x02cd1): (188, "OrderedNameDictionaryMap"),
335    ("read_only_space", 0x02cf9): (253, "PreparseDataMap"),
336    ("read_only_space", 0x02d21): (254, "PropertyArrayMap"),
337    ("read_only_space", 0x02d49): (153, "SideEffectCallHandlerInfoMap"),
338    ("read_only_space", 0x02d71): (153, "SideEffectFreeCallHandlerInfoMap"),
339    ("read_only_space", 0x02d99): (153, "NextCallSideEffectFreeCallHandlerInfoMap"),
340    ("read_only_space", 0x02dc1): (190, "SimpleNumberDictionaryMap"),
341    ("read_only_space", 0x02de9): (228, "SmallOrderedHashMapMap"),
342    ("read_only_space", 0x02e11): (229, "SmallOrderedHashSetMap"),
343    ("read_only_space", 0x02e39): (230, "SmallOrderedNameDictionaryMap"),
344    ("read_only_space", 0x02e61): (235, "SourceTextModuleMap"),
345    ("read_only_space", 0x02e89): (261, "SwissNameDictionaryMap"),
346    ("read_only_space", 0x02eb1): (236, "SyntheticModuleMap"),
347    ("read_only_space", 0x02ed9): (262, "WasmApiFunctionRefMap"),
348    ("read_only_space", 0x02f01): (222, "WasmCapiFunctionDataMap"),
349    ("read_only_space", 0x02f29): (223, "WasmExportedFunctionDataMap"),
350    ("read_only_space", 0x02f51): (205, "WasmInternalFunctionMap"),
351    ("read_only_space", 0x02f79): (224, "WasmJSFunctionDataMap"),
352    ("read_only_space", 0x02fa1): (263, "WasmOnFulfilledDataMap"),
353    ("read_only_space", 0x02fc9): (206, "WasmTypeInfoMap"),
354    ("read_only_space", 0x02ff1): (237, "WeakFixedArrayMap"),
355    ("read_only_space", 0x03019): (181, "EphemeronHashTableMap"),
356    ("read_only_space", 0x03041): (243, "EmbedderDataArrayMap"),
357    ("read_only_space", 0x03069): (265, "WeakCellMap"),
358    ("read_only_space", 0x03091): (32, "StringMap"),
359    ("read_only_space", 0x030b9): (41, "ConsOneByteStringMap"),
360    ("read_only_space", 0x030e1): (33, "ConsStringMap"),
361    ("read_only_space", 0x03109): (37, "ThinStringMap"),
362    ("read_only_space", 0x03131): (35, "SlicedStringMap"),
363    ("read_only_space", 0x03159): (43, "SlicedOneByteStringMap"),
364    ("read_only_space", 0x03181): (34, "ExternalStringMap"),
365    ("read_only_space", 0x031a9): (42, "ExternalOneByteStringMap"),
366    ("read_only_space", 0x031d1): (50, "UncachedExternalStringMap"),
367    ("read_only_space", 0x031f9): (0, "InternalizedStringMap"),
368    ("read_only_space", 0x03221): (2, "ExternalInternalizedStringMap"),
369    ("read_only_space", 0x03249): (10, "ExternalOneByteInternalizedStringMap"),
370    ("read_only_space", 0x03271): (18, "UncachedExternalInternalizedStringMap"),
371    ("read_only_space", 0x03299): (26, "UncachedExternalOneByteInternalizedStringMap"),
372    ("read_only_space", 0x032c1): (58, "UncachedExternalOneByteStringMap"),
373    ("read_only_space", 0x032e9): (104, "SharedOneByteStringMap"),
374    ("read_only_space", 0x03311): (96, "SharedStringMap"),
375    ("read_only_space", 0x03339): (109, "SharedThinOneByteStringMap"),
376    ("read_only_space", 0x03361): (101, "SharedThinStringMap"),
377    ("read_only_space", 0x03389): (96, "TwoByteSeqStringMigrationSentinelMap"),
378    ("read_only_space", 0x033b1): (104, "OneByteSeqStringMigrationSentinelMap"),
379    ("read_only_space", 0x033d9): (131, "SelfReferenceMarkerMap"),
380    ("read_only_space", 0x03401): (131, "BasicBlockCountersMarkerMap"),
381    ("read_only_space", 0x03445): (147, "ArrayBoilerplateDescriptionMap"),
382    ("read_only_space", 0x03545): (161, "InterceptorInfoMap"),
383    ("read_only_space", 0x06015): (132, "PromiseFulfillReactionJobTaskMap"),
384    ("read_only_space", 0x0603d): (133, "PromiseRejectReactionJobTaskMap"),
385    ("read_only_space", 0x06065): (134, "CallableTaskMap"),
386    ("read_only_space", 0x0608d): (135, "CallbackTaskMap"),
387    ("read_only_space", 0x060b5): (136, "PromiseResolveThenableJobTaskMap"),
388    ("read_only_space", 0x060dd): (139, "FunctionTemplateInfoMap"),
389    ("read_only_space", 0x06105): (140, "ObjectTemplateInfoMap"),
390    ("read_only_space", 0x0612d): (141, "AccessCheckInfoMap"),
391    ("read_only_space", 0x06155): (142, "AccessorInfoMap"),
392    ("read_only_space", 0x0617d): (143, "AccessorPairMap"),
393    ("read_only_space", 0x061a5): (144, "AliasedArgumentsEntryMap"),
394    ("read_only_space", 0x061cd): (145, "AllocationMementoMap"),
395    ("read_only_space", 0x061f5): (148, "AsmWasmDataMap"),
396    ("read_only_space", 0x0621d): (149, "AsyncGeneratorRequestMap"),
397    ("read_only_space", 0x06245): (150, "BreakPointMap"),
398    ("read_only_space", 0x0626d): (151, "BreakPointInfoMap"),
399    ("read_only_space", 0x06295): (152, "CachedTemplateObjectMap"),
400    ("read_only_space", 0x062bd): (154, "CallSiteInfoMap"),
401    ("read_only_space", 0x062e5): (155, "ClassPositionsMap"),
402    ("read_only_space", 0x0630d): (156, "DebugInfoMap"),
403    ("read_only_space", 0x06335): (158, "ErrorStackDataMap"),
404    ("read_only_space", 0x0635d): (160, "FunctionTemplateRareDataMap"),
405    ("read_only_space", 0x06385): (162, "InterpreterDataMap"),
406    ("read_only_space", 0x063ad): (163, "ModuleRequestMap"),
407    ("read_only_space", 0x063d5): (164, "PromiseCapabilityMap"),
408    ("read_only_space", 0x063fd): (165, "PromiseOnStackMap"),
409    ("read_only_space", 0x06425): (166, "PromiseReactionMap"),
410    ("read_only_space", 0x0644d): (167, "PropertyDescriptorObjectMap"),
411    ("read_only_space", 0x06475): (168, "PrototypeInfoMap"),
412    ("read_only_space", 0x0649d): (169, "RegExpBoilerplateDescriptionMap"),
413    ("read_only_space", 0x064c5): (170, "ScriptMap"),
414    ("read_only_space", 0x064ed): (171, "ScriptOrModuleMap"),
415    ("read_only_space", 0x06515): (172, "SourceTextModuleInfoEntryMap"),
416    ("read_only_space", 0x0653d): (173, "StackFrameInfoMap"),
417    ("read_only_space", 0x06565): (174, "TemplateObjectDescriptionMap"),
418    ("read_only_space", 0x0658d): (175, "Tuple2Map"),
419    ("read_only_space", 0x065b5): (176, "WasmContinuationObjectMap"),
420    ("read_only_space", 0x065dd): (177, "WasmExceptionTagMap"),
421    ("read_only_space", 0x06605): (178, "WasmIndirectFunctionTableMap"),
422    ("read_only_space", 0x0662d): (198, "SloppyArgumentsElementsMap"),
423    ("read_only_space", 0x06655): (233, "DescriptorArrayMap"),
424    ("read_only_space", 0x0667d): (219, "UncompiledDataWithoutPreparseDataMap"),
425    ("read_only_space", 0x066a5): (217, "UncompiledDataWithPreparseDataMap"),
426    ("read_only_space", 0x066cd): (220, "UncompiledDataWithoutPreparseDataWithJobMap"),
427    ("read_only_space", 0x066f5): (218, "UncompiledDataWithPreparseDataAndJobMap"),
428    ("read_only_space", 0x0671d): (252, "OnHeapBasicBlockProfilerDataMap"),
429    ("read_only_space", 0x06745): (199, "TurbofanBitsetTypeMap"),
430    ("read_only_space", 0x0676d): (203, "TurbofanUnionTypeMap"),
431    ("read_only_space", 0x06795): (202, "TurbofanRangeTypeMap"),
432    ("read_only_space", 0x067bd): (200, "TurbofanHeapConstantTypeMap"),
433    ("read_only_space", 0x067e5): (201, "TurbofanOtherNumberConstantTypeMap"),
434    ("read_only_space", 0x0680d): (248, "InternalClassMap"),
435    ("read_only_space", 0x06835): (259, "SmiPairMap"),
436    ("read_only_space", 0x0685d): (258, "SmiBoxMap"),
437    ("read_only_space", 0x06885): (225, "ExportedSubClassBaseMap"),
438    ("read_only_space", 0x068ad): (226, "ExportedSubClassMap"),
439    ("read_only_space", 0x068d5): (231, "AbstractInternalClassSubclass1Map"),
440    ("read_only_space", 0x068fd): (232, "AbstractInternalClassSubclass2Map"),
441    ("read_only_space", 0x06925): (197, "InternalClassWithSmiElementsMap"),
442    ("read_only_space", 0x0694d): (249, "InternalClassWithStructElementsMap"),
443    ("read_only_space", 0x06975): (227, "ExportedSubClass2Map"),
444    ("read_only_space", 0x0699d): (260, "SortStateMap"),
445    ("read_only_space", 0x069c5): (146, "AllocationSiteWithWeakNextMap"),
446    ("read_only_space", 0x069ed): (146, "AllocationSiteWithoutWeakNextMap"),
447    ("read_only_space", 0x06a15): (137, "LoadHandler1Map"),
448    ("read_only_space", 0x06a3d): (137, "LoadHandler2Map"),
449    ("read_only_space", 0x06a65): (137, "LoadHandler3Map"),
450    ("read_only_space", 0x06a8d): (138, "StoreHandler0Map"),
451    ("read_only_space", 0x06ab5): (138, "StoreHandler1Map"),
452    ("read_only_space", 0x06add): (138, "StoreHandler2Map"),
453    ("read_only_space", 0x06b05): (138, "StoreHandler3Map"),
454    ("map_space", 0x02149): (2113, "ExternalMap"),
455    ("map_space", 0x02171): (2117, "JSMessageObjectMap"),
456}
457
458# List of known V8 objects.
459KNOWN_OBJECTS = {
460  ("read_only_space", 0x021e9): "EmptyWeakArrayList",
461  ("read_only_space", 0x021f5): "EmptyDescriptorArray",
462  ("read_only_space", 0x0222d): "EmptyEnumCache",
463  ("read_only_space", 0x02261): "EmptyFixedArray",
464  ("read_only_space", 0x02269): "NullValue",
465  ("read_only_space", 0x02371): "UninitializedValue",
466  ("read_only_space", 0x023e9): "UndefinedValue",
467  ("read_only_space", 0x0242d): "NanValue",
468  ("read_only_space", 0x02461): "TheHoleValue",
469  ("read_only_space", 0x0248d): "HoleNanValue",
470  ("read_only_space", 0x024c1): "TrueValue",
471  ("read_only_space", 0x02501): "FalseValue",
472  ("read_only_space", 0x02531): "empty_string",
473  ("read_only_space", 0x0276d): "EmptyScopeInfo",
474  ("read_only_space", 0x027a5): "ArgumentsMarker",
475  ("read_only_space", 0x02805): "Exception",
476  ("read_only_space", 0x02861): "TerminationException",
477  ("read_only_space", 0x028c9): "OptimizedOut",
478  ("read_only_space", 0x02929): "StaleRegister",
479  ("read_only_space", 0x03429): "EmptyPropertyArray",
480  ("read_only_space", 0x03431): "EmptyByteArray",
481  ("read_only_space", 0x03439): "EmptyObjectBoilerplateDescription",
482  ("read_only_space", 0x0346d): "EmptyArrayBoilerplateDescription",
483  ("read_only_space", 0x03479): "EmptyClosureFeedbackCellArray",
484  ("read_only_space", 0x03481): "EmptySlowElementDictionary",
485  ("read_only_space", 0x034a5): "EmptyOrderedHashMap",
486  ("read_only_space", 0x034b9): "EmptyOrderedHashSet",
487  ("read_only_space", 0x034cd): "EmptyFeedbackMetadata",
488  ("read_only_space", 0x034d9): "EmptyPropertyDictionary",
489  ("read_only_space", 0x03501): "EmptyOrderedPropertyDictionary",
490  ("read_only_space", 0x03519): "EmptySwissPropertyDictionary",
491  ("read_only_space", 0x0356d): "NoOpInterceptorInfo",
492  ("read_only_space", 0x03595): "EmptyArrayList",
493  ("read_only_space", 0x035a1): "EmptyWeakFixedArray",
494  ("read_only_space", 0x035a9): "InfinityValue",
495  ("read_only_space", 0x035b5): "MinusZeroValue",
496  ("read_only_space", 0x035c1): "MinusInfinityValue",
497  ("read_only_space", 0x035cd): "SelfReferenceMarker",
498  ("read_only_space", 0x0360d): "BasicBlockCountersMarker",
499  ("read_only_space", 0x03651): "OffHeapTrampolineRelocationInfo",
500  ("read_only_space", 0x0365d): "GlobalThisBindingScopeInfo",
501  ("read_only_space", 0x0368d): "EmptyFunctionScopeInfo",
502  ("read_only_space", 0x036b1): "NativeScopeInfo",
503  ("read_only_space", 0x036c9): "HashSeed",
504  ("old_space", 0x04215): "ArgumentsIteratorAccessor",
505  ("old_space", 0x04259): "ArrayLengthAccessor",
506  ("old_space", 0x0429d): "BoundFunctionLengthAccessor",
507  ("old_space", 0x042e1): "BoundFunctionNameAccessor",
508  ("old_space", 0x04325): "ErrorStackAccessor",
509  ("old_space", 0x04369): "FunctionArgumentsAccessor",
510  ("old_space", 0x043ad): "FunctionCallerAccessor",
511  ("old_space", 0x043f1): "FunctionNameAccessor",
512  ("old_space", 0x04435): "FunctionLengthAccessor",
513  ("old_space", 0x04479): "FunctionPrototypeAccessor",
514  ("old_space", 0x044bd): "StringLengthAccessor",
515  ("old_space", 0x04501): "WrappedFunctionLengthAccessor",
516  ("old_space", 0x04545): "WrappedFunctionNameAccessor",
517  ("old_space", 0x04589): "InvalidPrototypeValidityCell",
518  ("old_space", 0x04591): "EmptyScript",
519  ("old_space", 0x045d1): "ManyClosuresCell",
520  ("old_space", 0x045dd): "ArrayConstructorProtector",
521  ("old_space", 0x045f1): "NoElementsProtector",
522  ("old_space", 0x04605): "MegaDOMProtector",
523  ("old_space", 0x04619): "IsConcatSpreadableProtector",
524  ("old_space", 0x0462d): "ArraySpeciesProtector",
525  ("old_space", 0x04641): "TypedArraySpeciesProtector",
526  ("old_space", 0x04655): "PromiseSpeciesProtector",
527  ("old_space", 0x04669): "RegExpSpeciesProtector",
528  ("old_space", 0x0467d): "StringLengthProtector",
529  ("old_space", 0x04691): "ArrayIteratorProtector",
530  ("old_space", 0x046a5): "ArrayBufferDetachingProtector",
531  ("old_space", 0x046b9): "PromiseHookProtector",
532  ("old_space", 0x046cd): "PromiseResolveProtector",
533  ("old_space", 0x046e1): "MapIteratorProtector",
534  ("old_space", 0x046f5): "PromiseThenProtector",
535  ("old_space", 0x04709): "SetIteratorProtector",
536  ("old_space", 0x0471d): "StringIteratorProtector",
537  ("old_space", 0x04731): "SingleCharacterStringCache",
538  ("old_space", 0x04b39): "StringSplitCache",
539  ("old_space", 0x04f41): "RegExpMultipleCache",
540  ("old_space", 0x05349): "BuiltinsConstantsTable",
541  ("old_space", 0x05779): "AsyncFunctionAwaitRejectSharedFun",
542  ("old_space", 0x0579d): "AsyncFunctionAwaitResolveSharedFun",
543  ("old_space", 0x057c1): "AsyncGeneratorAwaitRejectSharedFun",
544  ("old_space", 0x057e5): "AsyncGeneratorAwaitResolveSharedFun",
545  ("old_space", 0x05809): "AsyncGeneratorYieldResolveSharedFun",
546  ("old_space", 0x0582d): "AsyncGeneratorReturnResolveSharedFun",
547  ("old_space", 0x05851): "AsyncGeneratorReturnClosedRejectSharedFun",
548  ("old_space", 0x05875): "AsyncGeneratorReturnClosedResolveSharedFun",
549  ("old_space", 0x05899): "AsyncIteratorValueUnwrapSharedFun",
550  ("old_space", 0x058bd): "PromiseAllResolveElementSharedFun",
551  ("old_space", 0x058e1): "PromiseAllSettledResolveElementSharedFun",
552  ("old_space", 0x05905): "PromiseAllSettledRejectElementSharedFun",
553  ("old_space", 0x05929): "PromiseAnyRejectElementSharedFun",
554  ("old_space", 0x0594d): "PromiseCapabilityDefaultRejectSharedFun",
555  ("old_space", 0x05971): "PromiseCapabilityDefaultResolveSharedFun",
556  ("old_space", 0x05995): "PromiseCatchFinallySharedFun",
557  ("old_space", 0x059b9): "PromiseGetCapabilitiesExecutorSharedFun",
558  ("old_space", 0x059dd): "PromiseThenFinallySharedFun",
559  ("old_space", 0x05a01): "PromiseThrowerFinallySharedFun",
560  ("old_space", 0x05a25): "PromiseValueThunkFinallySharedFun",
561  ("old_space", 0x05a49): "ProxyRevokeSharedFun",
562}
563
564# Lower 32 bits of first page addresses for various heap spaces.
565HEAP_FIRST_PAGES = {
566  0x000c0000: "old_space",
567  0x00100000: "map_space",
568  0x00000000: "read_only_space",
569}
570
571# List of known V8 Frame Markers.
572FRAME_MARKERS = (
573  "ENTRY",
574  "CONSTRUCT_ENTRY",
575  "EXIT",
576  "WASM",
577  "WASM_TO_JS",
578  "JS_TO_WASM",
579  "STACK_SWITCH",
580  "WASM_DEBUG_BREAK",
581  "C_WASM_ENTRY",
582  "WASM_EXIT",
583  "WASM_COMPILE_LAZY",
584  "INTERPRETED",
585  "BASELINE",
586  "OPTIMIZED",
587  "STUB",
588  "BUILTIN_CONTINUATION",
589  "JAVA_SCRIPT_BUILTIN_CONTINUATION",
590  "JAVA_SCRIPT_BUILTIN_CONTINUATION_WITH_CATCH",
591  "INTERNAL",
592  "CONSTRUCT",
593  "BUILTIN",
594  "BUILTIN_EXIT",
595  "NATIVE",
596)
597
598# This set of constants is generated from a shipping build.
599