diff options
Diffstat (limited to 'deps/v8/src/objects/instance-type.h')
-rw-r--r-- | deps/v8/src/objects/instance-type.h | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/deps/v8/src/objects/instance-type.h b/deps/v8/src/objects/instance-type.h index b7879b5a31..9a051f5e98 100644 --- a/deps/v8/src/objects/instance-type.h +++ b/deps/v8/src/objects/instance-type.h @@ -143,9 +143,8 @@ enum InstanceType : uint16_t { UNCACHED_EXTERNAL_INTERNALIZED_STRING_TYPE | kNotInternalizedTag, UNCACHED_EXTERNAL_ONE_BYTE_STRING_TYPE = UNCACHED_EXTERNAL_ONE_BYTE_INTERNALIZED_STRING_TYPE | kNotInternalizedTag, + // Mark thin strings as two-byte just to be on the safe side. THIN_STRING_TYPE = kTwoByteStringTag | kThinStringTag | kNotInternalizedTag, - THIN_ONE_BYTE_STRING_TYPE = - kOneByteStringTag | kThinStringTag | kNotInternalizedTag, SHARED_STRING_TYPE = STRING_TYPE | kSharedStringTag, SHARED_ONE_BYTE_STRING_TYPE = ONE_BYTE_STRING_TYPE | kSharedStringTag, SHARED_EXTERNAL_STRING_TYPE = EXTERNAL_STRING_TYPE | kSharedStringTag, @@ -155,9 +154,6 @@ enum InstanceType : uint16_t { UNCACHED_EXTERNAL_STRING_TYPE | kSharedStringTag, SHARED_UNCACHED_EXTERNAL_ONE_BYTE_STRING_TYPE = UNCACHED_EXTERNAL_ONE_BYTE_STRING_TYPE | kSharedStringTag, - SHARED_THIN_STRING_TYPE = THIN_STRING_TYPE | kSharedStringTag, - SHARED_THIN_ONE_BYTE_STRING_TYPE = - THIN_ONE_BYTE_STRING_TYPE | kSharedStringTag, // Most instance types are defined in Torque, with the exception of the string // types above. They are ordered by inheritance hierarchy so that we can easily @@ -191,12 +187,6 @@ enum InstanceType : uint16_t { FIRST_TYPE = FIRST_HEAP_OBJECT_TYPE, LAST_TYPE = LAST_HEAP_OBJECT_TYPE, BIGINT_TYPE = BIG_INT_BASE_TYPE, - -#ifdef V8_EXTERNAL_CODE_SPACE - CODET_TYPE = CODE_DATA_CONTAINER_TYPE, -#else - CODET_TYPE = CODE_TYPE, -#endif }; // This constant is defined outside of the InstanceType enum because the @@ -281,8 +271,9 @@ V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os, #define INSTANCE_TYPE_CHECKERS_CUSTOM(V) \ V(AbstractCode) \ - V(FreeSpaceOrFiller) \ V(ExternalString) \ + V(FreeSpaceOrFiller) \ + V(GcSafeCode) \ V(InternalizedString) #define INSTANCE_TYPE_CHECKERS(V) \ @@ -291,13 +282,12 @@ V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os, INSTANCE_TYPE_CHECKERS_CUSTOM(V) namespace InstanceTypeChecker { -#define IS_TYPE_FUNCTION_DECL(Type, ...) \ - V8_INLINE constexpr bool Is##Type(InstanceType instance_type); +#define IS_TYPE_FUNCTION_DECL(Type, ...) \ + V8_INLINE constexpr bool Is##Type(InstanceType instance_type); \ + V8_INLINE bool Is##Type(Map map); INSTANCE_TYPE_CHECKERS(IS_TYPE_FUNCTION_DECL) -IS_TYPE_FUNCTION_DECL(CodeT) - #undef IS_TYPE_FUNCTION_DECL } // namespace InstanceTypeChecker @@ -317,8 +307,8 @@ IS_TYPE_FUNCTION_DECL(CodeT) V(_, BytecodeArrayMap, bytecode_array_map, BytecodeArray) \ V(_, CellMap, cell_map, Cell) \ V(_, WeakCellMap, weak_cell_map, WeakCell) \ + V(_, InstructionStreamMap, instruction_stream_map, InstructionStream) \ V(_, CodeMap, code_map, Code) \ - V(_, CodeDataContainerMap, code_data_container_map, CodeDataContainer) \ V(_, CoverageInfoMap, coverage_info_map, CoverageInfo) \ V(_, DebugInfoMap, debug_info_map, DebugInfo) \ V(_, FreeSpaceMap, free_space_map, FreeSpace) \ @@ -345,10 +335,18 @@ IS_TYPE_FUNCTION_DECL(CodeT) // This list must contain only maps that are shared by all objects of their // instance type. -#define UNIQUE_INSTANCE_TYPE_MAP_LIST_GENERATOR(V, _) \ - UNIQUE_LEAF_INSTANCE_TYPE_MAP_LIST_GENERATOR(V, _) \ - V(_, HeapNumberMap, heap_number_map, HeapNumber) \ - V(_, WeakFixedArrayMap, weak_fixed_array_map, WeakFixedArray) \ +#define UNIQUE_INSTANCE_TYPE_MAP_LIST_GENERATOR(V, _) \ + UNIQUE_LEAF_INSTANCE_TYPE_MAP_LIST_GENERATOR(V, _) \ + V(_, ByteArrayMap, byte_array_map, ByteArray) \ + V(_, NameDictionaryMap, name_dictionary_map, NameDictionary) \ + V(_, OrderedNameDictionaryMap, ordered_name_dictionary_map, \ + OrderedNameDictionary) \ + V(_, GlobalDictionaryMap, global_dictionary_map, GlobalDictionary) \ + V(_, GlobalPropertyCellMap, global_property_cell_map, PropertyCell) \ + V(_, HeapNumberMap, heap_number_map, HeapNumber) \ + V(_, WeakFixedArrayMap, weak_fixed_array_map, WeakFixedArray) \ + V(_, ScopeInfoMap, scope_info_map, ScopeInfo) \ + V(_, WeakArrayListMap, weak_array_list_map, WeakArrayList) \ TORQUE_DEFINED_MAP_CSA_LIST_GENERATOR(V, _) } // namespace internal |