• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2018 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Categories for instance types.
6export const CATEGORIES = new Map([
7  [
8    'user', new Set([
9      'CONS_ONE_BYTE_STRING_TYPE',
10      'CONS_STRING_TYPE',
11      'DESCRIPTOR_ARRAY_TYPE',
12      'ELEMENTS_TYPE',
13      'EXTERNAL_INTERNALIZED_STRING_TYPE',
14      'EXTERNAL_ONE_BYTE_INTERNALIZED_STRING_TYPE',
15      'EXTERNAL_ONE_BYTE_STRING_TYPE',
16      'EXTERNAL_STRING_TYPE',
17      'EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE',
18      'FIXED_BIGINT64_ARRAY_TYPE',
19      'FIXED_BIGUINT64_ARRAY_TYPE',
20      'FIXED_DOUBLE_ARRAY_TYPE',
21      'FIXED_FLOAT32_ARRAY_TYPE',
22      'FIXED_FLOAT64_ARRAY_TYPE',
23      'FIXED_INT16_ARRAY_TYPE',
24      'FIXED_INT32_ARRAY_TYPE',
25      'FIXED_INT8_ARRAY_TYPE',
26      'FIXED_UINT16_ARRAY_TYPE',
27      'FIXED_UINT32_ARRAY_TYPE',
28      'FIXED_UINT8_ARRAY_TYPE',
29      'FIXED_UINT8_CLAMPED_ARRAY_TYPE',
30      'FUNCTION_CONTEXT_TYPE',
31      'GLOBAL_ELEMENTS_TYPE',
32      'GLOBAL_PROPERTIES_TYPE',
33      'HEAP_NUMBER_TYPE',
34      'INTERNALIZED_STRING_TYPE',
35      'JS_ARGUMENTS_OBJECT_TYPE',
36      'JS_ARRAY_BUFFER_TYPE',
37      'JS_ARRAY_ITERATOR_TYPE',
38      'JS_ARRAY_TYPE',
39      'JS_BOUND_FUNCTION_TYPE',
40      'JS_DATE_TYPE',
41      'JS_ERROR_TYPE',
42      'JS_FAST_ARRAY_KEY_ITERATOR_TYPE',
43      'JS_FAST_ARRAY_VALUE_ITERATOR_TYPE',
44      'JS_FAST_HOLEY_ARRAY_VALUE_ITERATOR_TYPE',
45      'JS_FAST_HOLEY_SMI_ARRAY_VALUE_ITERATOR_TYPE',
46      'JS_FAST_SMI_ARRAY_KEY_VALUE_ITERATOR_TYPE',
47      'JS_FAST_SMI_ARRAY_VALUE_ITERATOR_TYPE',
48      'JS_FUNCTION_TYPE',
49      'JS_GENERATOR_OBJECT_TYPE',
50      'JS_GENERIC_ARRAY_VALUE_ITERATOR_TYPE',
51      'JS_GLOBAL_OBJECT_TYPE',
52      'JS_GLOBAL_PROXY_TYPE',
53      'JS_COLLATOR_TYPE',
54      'JS_DATE_TIME_FORMAT_TYPE',
55      'JS_DISPLAY_NAMES_TYPE',
56      'JS_LIST_FORMAT_TYPE',
57      'JS_LOCALE_TYPE',
58      'JS_NUMBER_FORMAT_TYPE',
59      'JS_PLURAL_RULES_TYPE',
60      'JS_RELATIVE_TIME_FORMAT_TYPE',
61      'JS_SEGMENT_ITERATOR_TYPE',
62      'JS_SEGMENTER_TYPE',
63      'JS_SEGMENTS_TYPE',
64      'JS_V8_BREAK_ITERATOR_TYPE',
65      'JS_MAP_KEY_ITERATOR_TYPE',
66      'JS_MAP_KEY_VALUE_ITERATOR_TYPE',
67      'JS_MAP_TYPE',
68      'JS_MAP_VALUE_ITERATOR_TYPE',
69      'JS_MESSAGE_OBJECT_TYPE',
70      'JS_OBJECT_TYPE',
71      'JS_PRIMITIVE_WRAPPER_TYPE',
72      'JS_PROMISE_TYPE',
73      'JS_PROXY_TYPE',
74      'JS_REG_EXP_TYPE',
75      'JS_SET_KEY_VALUE_ITERATOR_TYPE',
76      'JS_SET_TYPE',
77      'JS_SET_VALUE_ITERATOR_TYPE',
78      'JS_STRING_ITERATOR_TYPE',
79      'JS_TO_WASM_FUNCTION',
80      'JS_TYPED_ARRAY_TYPE',
81      'JS_WEAK_MAP_TYPE',
82      'HEAP_NUMBER_TYPE',
83      'NATIVE_CONTEXT_TYPE',
84      'OBJECT_PROPERTY_DICTIONARY_TYPE',
85      'ONE_BYTE_INTERNALIZED_STRING_TYPE',
86      'ONE_BYTE_STRING_TYPE',
87      'OTHER_CONTEXT_TYPE',
88      'PROPERTY_ARRAY_TYPE',
89      'SLICED_ONE_BYTE_STRING_TYPE',
90      'SLICED_STRING_TYPE',
91      'STRING_EXTERNAL_RESOURCE_ONE_BYTE_TYPE',
92      'STRING_EXTERNAL_RESOURCE_TWO_BYTE_TYPE',
93      'STRING_TYPE',
94      'SYMBOL_TYPE',
95      'THIN_ONE_BYTE_STRING_TYPE',
96      'THIN_STRING_TYPE',
97      'UNCACHED_EXTERNAL_INTERNALIZED_STRING_TYPE',
98      'UNCACHED_EXTERNAL_ONE_BYTE_INTERNALIZED_STRING_TYPE',
99      'UNCACHED_EXTERNAL_ONE_BYTE_STRING_TYPE',
100      'UNCACHED_EXTERNAL_STRING_TYPE',
101      'WASM_INSTANCE_OBJECT_TYPE',
102      'WASM_MEMORY_OBJECT_TYPE',
103      'WASM_MODULE_OBJECT_TYPE',
104    ])
105  ],
106  [
107    'system', new Set([
108      'ACCESS_CHECK_INFO_TYPE',
109      'ACCESSOR_INFO_TYPE',
110      'ACCESSOR_PAIR_TYPE',
111      'ALLOCATION_MEMENTO_TYPE',
112      'ALLOCATION_SITE_TYPE',
113      'ARRAY_BOILERPLATE_DESCRIPTION_TYPE',
114      'ARRAY_BOILERPLATE_DESCRIPTION_ELEMENTS_TYPE',
115      'BOILERPLATE_ELEMENTS_TYPE',
116      'BOILERPLATE_PROPERTY_ARRAY_TYPE',
117      'BOILERPLATE_PROPERTY_DICTIONARY_TYPE',
118      'BYTE_ARRAY_TYPE',
119      'CALL_HANDLER_INFO_TYPE',
120      'CALL_SITE_INFO_TYPE',
121      'CELL_TYPE',
122      'CODE_STUBS_TABLE_TYPE',
123      'CONTEXT_EXTENSION_TYPE',
124      'ENUM_CACHE_TYPE',
125      'ENUM_INDICES_CACHE_TYPE',
126      'FOREIGN_TYPE',
127      'FUNCTION_TEMPLATE_INFO_ENTRIES_TYPE',
128      'FUNCTION_TEMPLATE_INFO_TYPE',
129      'INTERCEPTOR_INFO_TYPE',
130      'JS_API_OBJECT_TYPE',
131      'JS_ARRAY_BOILERPLATE_TYPE',
132      'JS_OBJECT_BOILERPLATE_TYPE',
133      'JS_SPECIAL_API_OBJECT_TYPE',
134      'MAP_TYPE',
135      'NUMBER_STRING_CACHE_TYPE',
136      'OBJECT_BOILERPLATE_DESCRIPTION_TYPE',
137      'OBJECT_TEMPLATE_INFO_TYPE',
138      'OBJECT_TO_CODE_TYPE',
139      'ODDBALL_TYPE',
140      'PROMISE_REACTION_JOB_INFO_TYPE',
141      'PROMISE_RESOLVE_THENABLE_JOB_INFO_TYPE',
142      'PROPERTY_CELL_TYPE',
143      'PROTOTYPE_INFO_TYPE',
144      'PROTOTYPE_USERS_TYPE',
145      'REGEXP_MULTIPLE_CACHE_TYPE',
146      'RETAINED_MAPS_TYPE',
147      'SCOPE_INFO_TYPE',
148      'SCRIPT_LIST_TYPE',
149      'SCRIPT_SHARED_FUNCTION_INFOS_TYPE',
150      'SERIALIZED_OBJECTS_TYPE',
151      'SINGLE_CHARACTER_STRING_CACHE_TYPE',
152      'STRING_SPLIT_CACHE_TYPE',
153      'STRING_TABLE_TYPE',
154      'TRANSITION_ARRAY_TYPE',
155      'WEAK_NEW_SPACE_OBJECT_TO_CODE_TYPE',
156    ])
157  ],
158  [
159    'code', new Set([
160      'BUILTIN',
161      'BYTECODE_ARRAY_CONSTANT_POOL_TYPE',
162      'BYTECODE_ARRAY_HANDLER_TABLE_TYPE',
163      'BYTECODE_ARRAY_TYPE',
164      'BYTECODE_HANDLER',
165      'CODE_DATA_CONTAINER_TYPE',
166      'DEOPTIMIZATION_DATA_TYPE',
167      'EMBEDDED_OBJECT_TYPE',
168      'FEEDBACK_CELL_TYPE',
169      'FEEDBACK_METADATA_TYPE',
170      'FEEDBACK_VECTOR_ENTRY_TYPE',
171      'FEEDBACK_VECTOR_HEADER_TYPE',
172      'FEEDBACK_VECTOR_SLOT_CALL_TYPE',
173      'FEEDBACK_VECTOR_SLOT_CALL_UNUSED_TYPE',
174      'FEEDBACK_VECTOR_SLOT_ENUM_TYPE',
175      'FEEDBACK_VECTOR_SLOT_LOAD_TYPE',
176      'FEEDBACK_VECTOR_SLOT_LOAD_UNUSED_TYPE',
177      'FEEDBACK_VECTOR_SLOT_OTHER_TYPE',
178      'FEEDBACK_VECTOR_SLOT_STORE_TYPE',
179      'FEEDBACK_VECTOR_SLOT_STORE_UNUSED_TYPE',
180      'FEEDBACK_VECTOR_TYPE',
181      'LOAD_HANDLER_TYPE',
182      'NOSCRIPT_SHARED_FUNCTION_INFOS_TYPE',
183      'OPTIMIZED_CODE_LITERALS_TYPE',
184      'OPTIMIZED_FUNCTION',
185      'PREPARSE_DATA_TYPE',
186      'REGEXP',
187      'RELOC_INFO_TYPE',
188      'SCRIPT_SOURCE_EXTERNAL_ONE_BYTE_TYPE',
189      'SCRIPT_SOURCE_EXTERNAL_TWO_BYTE_TYPE',
190      'SCRIPT_SOURCE_EXTERNAL_TYPE',
191      'SCRIPT_SOURCE_NON_EXTERNAL_ONE_BYTE_TYPE',
192      'SCRIPT_SOURCE_NON_EXTERNAL_TWO_BYTE_TYPE',
193      'SCRIPT_TYPE',
194      'SHARED_FUNCTION_INFO_TYPE',
195      'SOURCE_POSITION_TABLE_TYPE',
196      'STORE_HANDLER_TYPE',
197      'STUB',
198      'UNCOMPILED_DATA_WITHOUT_PREPARSE_DATA_TYPE',
199      'UNCOMPILED_DATA_WITH_PREPARSE_DATA_TYPE',
200      'UNCOMPILED_JS_FUNCTION_TYPE',
201      'UNCOMPILED_SHARED_FUNCTION_INFO_TYPE'
202    ])
203  ],
204  ['unclassified', new Set()],
205]);
206
207// Maps category to description text that is shown in html.
208export const CATEGORY_NAMES = new Map([
209  ['user', 'JS'],
210  ['system', 'Metadata'],
211  ['code', 'Code'],
212  ['unclassified', 'Unclassified'],
213]);
214