1 // 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_function_string, "(anonymous function)") \ 10 V(anonymous_string, "anonymous") \ 11 V(apply_string, "apply") \ 12 V(arguments_string, "arguments") \ 13 V(Arguments_string, "Arguments") \ 14 V(arguments_to_string, "[object Arguments]") \ 15 V(Array_string, "Array") \ 16 V(ArrayIterator_string, "Array Iterator") \ 17 V(assign_string, "assign") \ 18 V(async_string, "async") \ 19 V(await_string, "await") \ 20 V(array_to_string, "[object Array]") \ 21 V(boolean_to_string, "[object Boolean]") \ 22 V(date_to_string, "[object Date]") \ 23 V(error_to_string, "[object Error]") \ 24 V(function_to_string, "[object Function]") \ 25 V(number_to_string, "[object Number]") \ 26 V(object_to_string, "[object Object]") \ 27 V(regexp_to_string, "[object RegExp]") \ 28 V(string_to_string, "[object String]") \ 29 V(bind_string, "bind") \ 30 V(boolean_string, "boolean") \ 31 V(Boolean_string, "Boolean") \ 32 V(bound__string, "bound ") \ 33 V(buffer_string, "buffer") \ 34 V(byte_length_string, "byteLength") \ 35 V(byte_offset_string, "byteOffset") \ 36 V(call_string, "call") \ 37 V(callee_string, "callee") \ 38 V(caller_string, "caller") \ 39 V(cell_value_string, "%cell_value") \ 40 V(char_at_string, "CharAt") \ 41 V(closure_string, "(closure)") \ 42 V(column_string, "column") \ 43 V(compare_ic_string, "==") \ 44 V(configurable_string, "configurable") \ 45 V(constructor_string, "constructor") \ 46 V(construct_string, "construct") \ 47 V(create_string, "create") \ 48 V(Date_string, "Date") \ 49 V(dayperiod_string, "dayperiod") \ 50 V(day_string, "day") \ 51 V(default_string, "default") \ 52 V(defineProperty_string, "defineProperty") \ 53 V(deleteProperty_string, "deleteProperty") \ 54 V(did_handle_string, "didHandle") \ 55 V(display_name_string, "displayName") \ 56 V(done_string, "done") \ 57 V(dot_catch_string, ".catch") \ 58 V(dot_for_string, ".for") \ 59 V(dot_generator_object_string, ".generator_object") \ 60 V(dot_iterator_string, ".iterator") \ 61 V(dot_result_string, ".result") \ 62 V(dot_switch_tag_string, ".switch_tag") \ 63 V(dot_string, ".") \ 64 V(exec_string, "exec") \ 65 V(entries_string, "entries") \ 66 V(enqueue_string, "enqueue") \ 67 V(enumerable_string, "enumerable") \ 68 V(era_string, "era") \ 69 V(Error_string, "Error") \ 70 V(eval_string, "eval") \ 71 V(EvalError_string, "EvalError") \ 72 V(false_string, "false") \ 73 V(flags_string, "flags") \ 74 V(function_string, "function") \ 75 V(Function_string, "Function") \ 76 V(Generator_string, "Generator") \ 77 V(getOwnPropertyDescriptor_string, "getOwnPropertyDescriptor") \ 78 V(getOwnPropertyDescriptors_string, "getOwnPropertyDescriptors") \ 79 V(getPrototypeOf_string, "getPrototypeOf") \ 80 V(get_string, "get") \ 81 V(get_space_string, "get ") \ 82 V(global_string, "global") \ 83 V(group_string, "group") \ 84 V(has_string, "has") \ 85 V(hour_string, "hour") \ 86 V(ignoreCase_string, "ignoreCase") \ 87 V(illegal_access_string, "illegal access") \ 88 V(illegal_argument_string, "illegal argument") \ 89 V(index_string, "index") \ 90 V(infinity_string, "Infinity") \ 91 V(input_string, "input") \ 92 V(isExtensible_string, "isExtensible") \ 93 V(isView_string, "isView") \ 94 V(KeyedLoadMonomorphic_string, "KeyedLoadMonomorphic") \ 95 V(KeyedStoreMonomorphic_string, "KeyedStoreMonomorphic") \ 96 V(keys_string, "keys") \ 97 V(lastIndex_string, "lastIndex") \ 98 V(length_string, "length") \ 99 V(let_string, "let") \ 100 V(line_string, "line") \ 101 V(literal_string, "literal") \ 102 V(Map_string, "Map") \ 103 V(message_string, "message") \ 104 V(minus_infinity_string, "-Infinity") \ 105 V(minus_zero_string, "-0") \ 106 V(minute_string, "minute") \ 107 V(Module_string, "Module") \ 108 V(month_string, "month") \ 109 V(multiline_string, "multiline") \ 110 V(name_string, "name") \ 111 V(native_string, "native") \ 112 V(nan_string, "NaN") \ 113 V(new_target_string, ".new.target") \ 114 V(next_string, "next") \ 115 V(not_equal, "not-equal") \ 116 V(null_string, "null") \ 117 V(null_to_string, "[object Null]") \ 118 V(number_string, "number") \ 119 V(Number_string, "Number") \ 120 V(object_string, "object") \ 121 V(Object_string, "Object") \ 122 V(ok, "ok") \ 123 V(ownKeys_string, "ownKeys") \ 124 V(position_string, "position") \ 125 V(preventExtensions_string, "preventExtensions") \ 126 V(Promise_string, "Promise") \ 127 V(PromiseResolveThenableJob_string, "PromiseResolveThenableJob") \ 128 V(promise_string, "promise") \ 129 V(proto_string, "__proto__") \ 130 V(prototype_string, "prototype") \ 131 V(Proxy_string, "Proxy") \ 132 V(query_colon_string, "(?:)") \ 133 V(RangeError_string, "RangeError") \ 134 V(ReferenceError_string, "ReferenceError") \ 135 V(RegExp_string, "RegExp") \ 136 V(reject_string, "reject") \ 137 V(resolve_string, "resolve") \ 138 V(return_string, "return") \ 139 V(script_string, "script") \ 140 V(second_string, "second") \ 141 V(setPrototypeOf_string, "setPrototypeOf") \ 142 V(set_space_string, "set ") \ 143 V(set_string, "set") \ 144 V(Set_string, "Set") \ 145 V(source_mapping_url_string, "source_mapping_url") \ 146 V(source_string, "source") \ 147 V(sourceText_string, "sourceText") \ 148 V(source_url_string, "source_url") \ 149 V(stack_string, "stack") \ 150 V(stackTraceLimit_string, "stackTraceLimit") \ 151 V(star_default_star_string, "*default*") \ 152 V(sticky_string, "sticky") \ 153 V(strict_compare_ic_string, "===") \ 154 V(string_string, "string") \ 155 V(String_string, "String") \ 156 V(symbol_string, "symbol") \ 157 V(Symbol_string, "Symbol") \ 158 V(symbol_species_string, "[Symbol.species]") \ 159 V(SyntaxError_string, "SyntaxError") \ 160 V(then_string, "then") \ 161 V(this_function_string, ".this_function") \ 162 V(this_string, "this") \ 163 V(throw_string, "throw") \ 164 V(timed_out, "timed-out") \ 165 V(timeZoneName_string, "timeZoneName") \ 166 V(toJSON_string, "toJSON") \ 167 V(toString_string, "toString") \ 168 V(true_string, "true") \ 169 V(TypeError_string, "TypeError") \ 170 V(type_string, "type") \ 171 V(CompileError_string, "CompileError") \ 172 V(LinkError_string, "LinkError") \ 173 V(RuntimeError_string, "RuntimeError") \ 174 V(undefined_string, "undefined") \ 175 V(undefined_to_string, "[object Undefined]") \ 176 V(unicode_string, "unicode") \ 177 V(use_asm_string, "use asm") \ 178 V(use_strict_string, "use strict") \ 179 V(URIError_string, "URIError") \ 180 V(valueOf_string, "valueOf") \ 181 V(values_string, "values") \ 182 V(value_string, "value") \ 183 V(WeakMap_string, "WeakMap") \ 184 V(WeakSet_string, "WeakSet") \ 185 V(weekday_string, "weekday") \ 186 V(will_handle_string, "willHandle") \ 187 V(writable_string, "writable") \ 188 V(year_string, "year") 189 190 #define PRIVATE_SYMBOL_LIST(V) \ 191 V(array_iteration_kind_symbol) \ 192 V(array_iterator_next_symbol) \ 193 V(array_iterator_object_symbol) \ 194 V(call_site_frame_array_symbol) \ 195 V(call_site_frame_index_symbol) \ 196 V(class_end_position_symbol) \ 197 V(class_start_position_symbol) \ 198 V(detailed_stack_trace_symbol) \ 199 V(elements_transition_symbol) \ 200 V(error_end_pos_symbol) \ 201 V(error_script_symbol) \ 202 V(error_start_pos_symbol) \ 203 V(frozen_symbol) \ 204 V(hash_code_symbol) \ 205 V(home_object_symbol) \ 206 V(intl_initialized_marker_symbol) \ 207 V(intl_pattern_symbol) \ 208 V(intl_resolved_symbol) \ 209 V(megamorphic_symbol) \ 210 V(native_context_index_symbol) \ 211 V(nonexistent_symbol) \ 212 V(nonextensible_symbol) \ 213 V(normal_ic_symbol) \ 214 V(not_mapped_symbol) \ 215 V(premonomorphic_symbol) \ 216 V(promise_async_stack_id_symbol) \ 217 V(promise_debug_marker_symbol) \ 218 V(promise_forwarding_handler_symbol) \ 219 V(promise_handled_by_symbol) \ 220 V(promise_async_id_symbol) \ 221 V(promise_default_resolve_handler_symbol) \ 222 V(promise_default_reject_handler_symbol) \ 223 V(sealed_symbol) \ 224 V(stack_trace_symbol) \ 225 V(strict_function_transition_symbol) \ 226 V(uninitialized_symbol) 227 228 #define PUBLIC_SYMBOL_LIST(V) \ 229 V(async_iterator_symbol, Symbol.asyncIterator) \ 230 V(iterator_symbol, Symbol.iterator) \ 231 V(intl_fallback_symbol, IntlFallback) \ 232 V(match_symbol, Symbol.match) \ 233 V(replace_symbol, Symbol.replace) \ 234 V(search_symbol, Symbol.search) \ 235 V(species_symbol, Symbol.species) \ 236 V(split_symbol, Symbol.split) \ 237 V(to_primitive_symbol, Symbol.toPrimitive) \ 238 V(unscopables_symbol, Symbol.unscopables) 239 240 // Well-Known Symbols are "Public" symbols, which have a bit set which causes 241 // them to produce an undefined value when a load results in a failed access 242 // check. Because this behaviour is not specified properly as of yet, it only 243 // applies to a subset of spec-defined Well-Known Symbols. 244 #define WELL_KNOWN_SYMBOL_LIST(V) \ 245 V(has_instance_symbol, Symbol.hasInstance) \ 246 V(is_concat_spreadable_symbol, Symbol.isConcatSpreadable) \ 247 V(to_string_tag_symbol, Symbol.toStringTag) 248 249 #endif // V8_HEAP_SYMBOLS_H_ 250