Home | History | Annotate | Download | only in src
      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