summaryrefslogtreecommitdiff
path: root/deps/v8/src/objects/instance-type.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/objects/instance-type.h')
-rw-r--r--deps/v8/src/objects/instance-type.h40
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