blob: 03b25ee882b0bcb07542c91a8b9152475107c74a [file] [log] [blame]
Ben Murdoch097c5b22016-05-18 11:27:45 +01001// Copyright 2015 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#ifndef V8_HEAP_SYMBOLS_H_
6#define V8_HEAP_SYMBOLS_H_
7
8#define INTERNALIZED_STRING_LIST(V) \
9 V(anonymous_string, "anonymous") \
10 V(apply_string, "apply") \
11 V(assign_string, "assign") \
12 V(arguments_string, "arguments") \
13 V(Arguments_string, "Arguments") \
14 V(Array_string, "Array") \
Ben Murdoch61f157c2016-09-16 13:49:30 +010015 V(arguments_to_string, "[object Arguments]") \
16 V(array_to_string, "[object Array]") \
17 V(boolean_to_string, "[object Boolean]") \
18 V(date_to_string, "[object Date]") \
19 V(error_to_string, "[object Error]") \
20 V(function_to_string, "[object Function]") \
21 V(number_to_string, "[object Number]") \
22 V(object_to_string, "[object Object]") \
23 V(regexp_to_string, "[object RegExp]") \
24 V(string_to_string, "[object String]") \
Ben Murdoch097c5b22016-05-18 11:27:45 +010025 V(bind_string, "bind") \
26 V(bool16x8_string, "bool16x8") \
27 V(Bool16x8_string, "Bool16x8") \
28 V(bool32x4_string, "bool32x4") \
29 V(Bool32x4_string, "Bool32x4") \
30 V(bool8x16_string, "bool8x16") \
31 V(Bool8x16_string, "Bool8x16") \
32 V(boolean_string, "boolean") \
33 V(Boolean_string, "Boolean") \
34 V(bound__string, "bound ") \
Ben Murdoch61f157c2016-09-16 13:49:30 +010035 V(buffer_string, "buffer") \
Ben Murdoch097c5b22016-05-18 11:27:45 +010036 V(byte_length_string, "byteLength") \
37 V(byte_offset_string, "byteOffset") \
38 V(call_string, "call") \
39 V(callee_string, "callee") \
40 V(caller_string, "caller") \
41 V(cell_value_string, "%cell_value") \
42 V(char_at_string, "CharAt") \
43 V(closure_string, "(closure)") \
Ben Murdoch61f157c2016-09-16 13:49:30 +010044 V(column_string, "column") \
Ben Murdoch097c5b22016-05-18 11:27:45 +010045 V(compare_ic_string, "==") \
46 V(configurable_string, "configurable") \
47 V(constructor_string, "constructor") \
48 V(construct_string, "construct") \
49 V(create_string, "create") \
50 V(Date_string, "Date") \
51 V(default_string, "default") \
52 V(defineProperty_string, "defineProperty") \
53 V(deleteProperty_string, "deleteProperty") \
54 V(display_name_string, "displayName") \
55 V(done_string, "done") \
56 V(dot_result_string, ".result") \
57 V(dot_string, ".") \
58 V(entries_string, "entries") \
59 V(enumerable_string, "enumerable") \
Ben Murdoch097c5b22016-05-18 11:27:45 +010060 V(Error_string, "Error") \
61 V(eval_string, "eval") \
62 V(false_string, "false") \
63 V(float32x4_string, "float32x4") \
64 V(Float32x4_string, "Float32x4") \
65 V(for_api_string, "for_api") \
66 V(for_string, "for") \
67 V(function_string, "function") \
68 V(Function_string, "Function") \
69 V(Generator_string, "Generator") \
70 V(getOwnPropertyDescriptor_string, "getOwnPropertyDescriptor") \
71 V(getOwnPropertyDescriptors_string, "getOwnPropertyDescriptors") \
72 V(getPrototypeOf_string, "getPrototypeOf") \
73 V(get_string, "get") \
74 V(global_string, "global") \
75 V(has_string, "has") \
76 V(illegal_access_string, "illegal access") \
77 V(illegal_argument_string, "illegal argument") \
78 V(index_string, "index") \
79 V(infinity_string, "Infinity") \
80 V(input_string, "input") \
81 V(int16x8_string, "int16x8") \
82 V(Int16x8_string, "Int16x8") \
83 V(int32x4_string, "int32x4") \
84 V(Int32x4_string, "Int32x4") \
85 V(int8x16_string, "int8x16") \
86 V(Int8x16_string, "Int8x16") \
87 V(isExtensible_string, "isExtensible") \
88 V(isView_string, "isView") \
89 V(KeyedLoadMonomorphic_string, "KeyedLoadMonomorphic") \
90 V(KeyedStoreMonomorphic_string, "KeyedStoreMonomorphic") \
91 V(last_index_string, "lastIndex") \
92 V(length_string, "length") \
Ben Murdoch61f157c2016-09-16 13:49:30 +010093 V(line_string, "line") \
Ben Murdoch097c5b22016-05-18 11:27:45 +010094 V(Map_string, "Map") \
95 V(minus_infinity_string, "-Infinity") \
96 V(minus_zero_string, "-0") \
97 V(name_string, "name") \
98 V(nan_string, "NaN") \
99 V(next_string, "next") \
100 V(null_string, "null") \
101 V(null_to_string, "[object Null]") \
102 V(number_string, "number") \
103 V(Number_string, "Number") \
104 V(object_string, "object") \
105 V(Object_string, "Object") \
106 V(ownKeys_string, "ownKeys") \
Ben Murdoch61f157c2016-09-16 13:49:30 +0100107 V(position_string, "position") \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100108 V(preventExtensions_string, "preventExtensions") \
109 V(private_api_string, "private_api") \
110 V(Promise_string, "Promise") \
111 V(proto_string, "__proto__") \
112 V(prototype_string, "prototype") \
113 V(Proxy_string, "Proxy") \
114 V(query_colon_string, "(?:)") \
115 V(RegExp_string, "RegExp") \
Ben Murdoch61f157c2016-09-16 13:49:30 +0100116 V(script_string, "script") \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100117 V(setPrototypeOf_string, "setPrototypeOf") \
118 V(set_string, "set") \
119 V(Set_string, "Set") \
120 V(source_mapping_url_string, "source_mapping_url") \
121 V(source_string, "source") \
Ben Murdoch61f157c2016-09-16 13:49:30 +0100122 V(sourceText_string, "sourceText") \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100123 V(source_url_string, "source_url") \
124 V(stack_string, "stack") \
125 V(strict_compare_ic_string, "===") \
126 V(string_string, "string") \
127 V(String_string, "String") \
128 V(symbol_string, "symbol") \
129 V(Symbol_string, "Symbol") \
130 V(this_string, "this") \
131 V(throw_string, "throw") \
132 V(toJSON_string, "toJSON") \
133 V(toString_string, "toString") \
134 V(true_string, "true") \
135 V(uint16x8_string, "uint16x8") \
136 V(Uint16x8_string, "Uint16x8") \
137 V(uint32x4_string, "uint32x4") \
138 V(Uint32x4_string, "Uint32x4") \
139 V(uint8x16_string, "uint8x16") \
140 V(Uint8x16_string, "Uint8x16") \
141 V(undefined_string, "undefined") \
142 V(undefined_to_string, "[object Undefined]") \
143 V(valueOf_string, "valueOf") \
144 V(values_string, "values") \
145 V(value_string, "value") \
146 V(WeakMap_string, "WeakMap") \
147 V(WeakSet_string, "WeakSet") \
148 V(writable_string, "writable")
149
150#define PRIVATE_SYMBOL_LIST(V) \
151 V(array_iteration_kind_symbol) \
152 V(array_iterator_next_symbol) \
153 V(array_iterator_object_symbol) \
154 V(call_site_function_symbol) \
155 V(call_site_position_symbol) \
156 V(call_site_receiver_symbol) \
157 V(call_site_strict_symbol) \
Ben Murdochc5610432016-08-08 18:44:38 +0100158 V(call_site_wasm_obj_symbol) \
159 V(call_site_wasm_func_index_symbol) \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100160 V(class_end_position_symbol) \
161 V(class_start_position_symbol) \
162 V(detailed_stack_trace_symbol) \
163 V(elements_transition_symbol) \
164 V(error_end_pos_symbol) \
165 V(error_script_symbol) \
166 V(error_start_pos_symbol) \
167 V(formatted_stack_trace_symbol) \
168 V(frozen_symbol) \
169 V(hash_code_symbol) \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100170 V(home_object_symbol) \
171 V(internal_error_symbol) \
172 V(intl_impl_object_symbol) \
173 V(intl_initialized_marker_symbol) \
174 V(intl_pattern_symbol) \
175 V(intl_resolved_symbol) \
176 V(megamorphic_symbol) \
177 V(native_context_index_symbol) \
178 V(nonexistent_symbol) \
179 V(nonextensible_symbol) \
180 V(normal_ic_symbol) \
181 V(not_mapped_symbol) \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100182 V(premonomorphic_symbol) \
183 V(promise_combined_deferred_symbol) \
184 V(promise_debug_marker_symbol) \
Ben Murdoch61f157c2016-09-16 13:49:30 +0100185 V(promise_deferred_reactions_symbol) \
Ben Murdochc5610432016-08-08 18:44:38 +0100186 V(promise_fulfill_reactions_symbol) \
Ben Murdoch61f157c2016-09-16 13:49:30 +0100187 V(promise_has_handler_symbol) \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100188 V(promise_raw_symbol) \
Ben Murdoch61f157c2016-09-16 13:49:30 +0100189 V(promise_reject_reactions_symbol) \
Ben Murdochc5610432016-08-08 18:44:38 +0100190 V(promise_result_symbol) \
Ben Murdoch61f157c2016-09-16 13:49:30 +0100191 V(promise_state_symbol) \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100192 V(sealed_symbol) \
193 V(stack_trace_symbol) \
194 V(strict_function_transition_symbol) \
195 V(string_iterator_iterated_string_symbol) \
196 V(string_iterator_next_index_symbol) \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100197 V(uninitialized_symbol)
198
199#define PUBLIC_SYMBOL_LIST(V) \
200 V(iterator_symbol, Symbol.iterator) \
201 V(match_symbol, Symbol.match) \
202 V(replace_symbol, Symbol.replace) \
203 V(search_symbol, Symbol.search) \
204 V(species_symbol, Symbol.species) \
205 V(split_symbol, Symbol.split) \
206 V(to_primitive_symbol, Symbol.toPrimitive) \
207 V(unscopables_symbol, Symbol.unscopables)
208
209// Well-Known Symbols are "Public" symbols, which have a bit set which causes
210// them to produce an undefined value when a load results in a failed access
211// check. Because this behaviour is not specified properly as of yet, it only
212// applies to a subset of spec-defined Well-Known Symbols.
213#define WELL_KNOWN_SYMBOL_LIST(V) \
214 V(has_instance_symbol, Symbol.hasInstance) \
215 V(is_concat_spreadable_symbol, Symbol.isConcatSpreadable) \
216 V(to_string_tag_symbol, Symbol.toStringTag)
217
218#endif // V8_HEAP_SYMBOLS_H_