blob: f019acecb2cbd054c9d4f0871ec752b8cba3d0b2 [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") \
15 V(bind_string, "bind") \
16 V(bool16x8_string, "bool16x8") \
17 V(Bool16x8_string, "Bool16x8") \
18 V(bool32x4_string, "bool32x4") \
19 V(Bool32x4_string, "Bool32x4") \
20 V(bool8x16_string, "bool8x16") \
21 V(Bool8x16_string, "Bool8x16") \
22 V(boolean_string, "boolean") \
23 V(Boolean_string, "Boolean") \
24 V(bound__string, "bound ") \
25 V(byte_length_string, "byteLength") \
26 V(byte_offset_string, "byteOffset") \
27 V(call_string, "call") \
28 V(callee_string, "callee") \
29 V(caller_string, "caller") \
30 V(cell_value_string, "%cell_value") \
31 V(char_at_string, "CharAt") \
32 V(closure_string, "(closure)") \
33 V(compare_ic_string, "==") \
34 V(configurable_string, "configurable") \
35 V(constructor_string, "constructor") \
36 V(construct_string, "construct") \
37 V(create_string, "create") \
38 V(Date_string, "Date") \
39 V(default_string, "default") \
40 V(defineProperty_string, "defineProperty") \
41 V(deleteProperty_string, "deleteProperty") \
42 V(display_name_string, "displayName") \
43 V(done_string, "done") \
44 V(dot_result_string, ".result") \
45 V(dot_string, ".") \
46 V(entries_string, "entries") \
47 V(enumerable_string, "enumerable") \
Ben Murdoch097c5b22016-05-18 11:27:45 +010048 V(Error_string, "Error") \
49 V(eval_string, "eval") \
50 V(false_string, "false") \
51 V(float32x4_string, "float32x4") \
52 V(Float32x4_string, "Float32x4") \
53 V(for_api_string, "for_api") \
54 V(for_string, "for") \
55 V(function_string, "function") \
56 V(Function_string, "Function") \
57 V(Generator_string, "Generator") \
58 V(getOwnPropertyDescriptor_string, "getOwnPropertyDescriptor") \
59 V(getOwnPropertyDescriptors_string, "getOwnPropertyDescriptors") \
60 V(getPrototypeOf_string, "getPrototypeOf") \
61 V(get_string, "get") \
62 V(global_string, "global") \
63 V(has_string, "has") \
64 V(illegal_access_string, "illegal access") \
65 V(illegal_argument_string, "illegal argument") \
66 V(index_string, "index") \
67 V(infinity_string, "Infinity") \
68 V(input_string, "input") \
69 V(int16x8_string, "int16x8") \
70 V(Int16x8_string, "Int16x8") \
71 V(int32x4_string, "int32x4") \
72 V(Int32x4_string, "Int32x4") \
73 V(int8x16_string, "int8x16") \
74 V(Int8x16_string, "Int8x16") \
75 V(isExtensible_string, "isExtensible") \
76 V(isView_string, "isView") \
77 V(KeyedLoadMonomorphic_string, "KeyedLoadMonomorphic") \
78 V(KeyedStoreMonomorphic_string, "KeyedStoreMonomorphic") \
79 V(last_index_string, "lastIndex") \
80 V(length_string, "length") \
81 V(Map_string, "Map") \
82 V(minus_infinity_string, "-Infinity") \
83 V(minus_zero_string, "-0") \
84 V(name_string, "name") \
85 V(nan_string, "NaN") \
86 V(next_string, "next") \
87 V(null_string, "null") \
88 V(null_to_string, "[object Null]") \
89 V(number_string, "number") \
90 V(Number_string, "Number") \
91 V(object_string, "object") \
92 V(Object_string, "Object") \
93 V(ownKeys_string, "ownKeys") \
94 V(preventExtensions_string, "preventExtensions") \
95 V(private_api_string, "private_api") \
96 V(Promise_string, "Promise") \
97 V(proto_string, "__proto__") \
98 V(prototype_string, "prototype") \
99 V(Proxy_string, "Proxy") \
100 V(query_colon_string, "(?:)") \
101 V(RegExp_string, "RegExp") \
102 V(setPrototypeOf_string, "setPrototypeOf") \
103 V(set_string, "set") \
104 V(Set_string, "Set") \
105 V(source_mapping_url_string, "source_mapping_url") \
106 V(source_string, "source") \
107 V(source_url_string, "source_url") \
108 V(stack_string, "stack") \
109 V(strict_compare_ic_string, "===") \
110 V(string_string, "string") \
111 V(String_string, "String") \
112 V(symbol_string, "symbol") \
113 V(Symbol_string, "Symbol") \
114 V(this_string, "this") \
115 V(throw_string, "throw") \
116 V(toJSON_string, "toJSON") \
117 V(toString_string, "toString") \
118 V(true_string, "true") \
119 V(uint16x8_string, "uint16x8") \
120 V(Uint16x8_string, "Uint16x8") \
121 V(uint32x4_string, "uint32x4") \
122 V(Uint32x4_string, "Uint32x4") \
123 V(uint8x16_string, "uint8x16") \
124 V(Uint8x16_string, "Uint8x16") \
125 V(undefined_string, "undefined") \
126 V(undefined_to_string, "[object Undefined]") \
127 V(valueOf_string, "valueOf") \
128 V(values_string, "values") \
129 V(value_string, "value") \
130 V(WeakMap_string, "WeakMap") \
131 V(WeakSet_string, "WeakSet") \
132 V(writable_string, "writable")
133
134#define PRIVATE_SYMBOL_LIST(V) \
135 V(array_iteration_kind_symbol) \
136 V(array_iterator_next_symbol) \
137 V(array_iterator_object_symbol) \
138 V(call_site_function_symbol) \
139 V(call_site_position_symbol) \
140 V(call_site_receiver_symbol) \
141 V(call_site_strict_symbol) \
142 V(class_end_position_symbol) \
143 V(class_start_position_symbol) \
144 V(detailed_stack_trace_symbol) \
145 V(elements_transition_symbol) \
146 V(error_end_pos_symbol) \
147 V(error_script_symbol) \
148 V(error_start_pos_symbol) \
149 V(formatted_stack_trace_symbol) \
150 V(frozen_symbol) \
151 V(hash_code_symbol) \
152 V(hidden_properties_symbol) \
153 V(home_object_symbol) \
154 V(internal_error_symbol) \
155 V(intl_impl_object_symbol) \
156 V(intl_initialized_marker_symbol) \
157 V(intl_pattern_symbol) \
158 V(intl_resolved_symbol) \
159 V(megamorphic_symbol) \
160 V(native_context_index_symbol) \
161 V(nonexistent_symbol) \
162 V(nonextensible_symbol) \
163 V(normal_ic_symbol) \
164 V(not_mapped_symbol) \
165 V(observed_symbol) \
166 V(premonomorphic_symbol) \
167 V(promise_combined_deferred_symbol) \
168 V(promise_debug_marker_symbol) \
169 V(promise_has_handler_symbol) \
170 V(promise_on_resolve_symbol) \
171 V(promise_on_reject_symbol) \
172 V(promise_raw_symbol) \
173 V(promise_status_symbol) \
174 V(promise_value_symbol) \
175 V(sealed_symbol) \
176 V(stack_trace_symbol) \
177 V(strict_function_transition_symbol) \
178 V(string_iterator_iterated_string_symbol) \
179 V(string_iterator_next_index_symbol) \
Ben Murdoch097c5b22016-05-18 11:27:45 +0100180 V(uninitialized_symbol)
181
182#define PUBLIC_SYMBOL_LIST(V) \
183 V(iterator_symbol, Symbol.iterator) \
184 V(match_symbol, Symbol.match) \
185 V(replace_symbol, Symbol.replace) \
186 V(search_symbol, Symbol.search) \
187 V(species_symbol, Symbol.species) \
188 V(split_symbol, Symbol.split) \
189 V(to_primitive_symbol, Symbol.toPrimitive) \
190 V(unscopables_symbol, Symbol.unscopables)
191
192// Well-Known Symbols are "Public" symbols, which have a bit set which causes
193// them to produce an undefined value when a load results in a failed access
194// check. Because this behaviour is not specified properly as of yet, it only
195// applies to a subset of spec-defined Well-Known Symbols.
196#define WELL_KNOWN_SYMBOL_LIST(V) \
197 V(has_instance_symbol, Symbol.hasInstance) \
198 V(is_concat_spreadable_symbol, Symbol.isConcatSpreadable) \
199 V(to_string_tag_symbol, Symbol.toStringTag)
200
201#endif // V8_HEAP_SYMBOLS_H_