v8heapconst.py 27 KB

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