summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/types.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/types.cc')
-rw-r--r--deps/v8/src/compiler/types.cc34
1 files changed, 24 insertions, 10 deletions
diff --git a/deps/v8/src/compiler/types.cc b/deps/v8/src/compiler/types.cc
index 3e3dbbe769..87a450f071 100644
--- a/deps/v8/src/compiler/types.cc
+++ b/deps/v8/src/compiler/types.cc
@@ -161,20 +161,18 @@ Type::bitset BitsetType::Lub(i::Map* map) {
case SHORT_EXTERNAL_STRING_TYPE:
case SHORT_EXTERNAL_ONE_BYTE_STRING_TYPE:
case SHORT_EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE:
- return kOtherNonSeqString;
case STRING_TYPE:
case ONE_BYTE_STRING_TYPE:
- return kOtherSeqString;
+ return kString;
case EXTERNAL_INTERNALIZED_STRING_TYPE:
case EXTERNAL_ONE_BYTE_INTERNALIZED_STRING_TYPE:
case EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE:
case SHORT_EXTERNAL_INTERNALIZED_STRING_TYPE:
case SHORT_EXTERNAL_ONE_BYTE_INTERNALIZED_STRING_TYPE:
case SHORT_EXTERNAL_INTERNALIZED_STRING_WITH_ONE_BYTE_DATA_TYPE:
- return kInternalizedNonSeqString;
case INTERNALIZED_STRING_TYPE:
case ONE_BYTE_INTERNALIZED_STRING_TYPE:
- return kInternalizedSeqString;
+ return kInternalizedString;
case SYMBOL_TYPE:
return kSymbol;
case BIGINT_TYPE:
@@ -223,7 +221,9 @@ Type::bitset BitsetType::Lub(i::Map* map) {
case JS_ASYNC_GENERATOR_OBJECT_TYPE:
case JS_MODULE_NAMESPACE_TYPE:
case JS_ARRAY_BUFFER_TYPE:
+ case JS_ARRAY_ITERATOR_TYPE:
case JS_REGEXP_TYPE: // TODO(rossberg): there should be a RegExp type.
+ case JS_REGEXP_STRING_ITERATOR_TYPE:
case JS_TYPED_ARRAY_TYPE:
case JS_DATA_VIEW_TYPE:
case JS_SET_TYPE:
@@ -235,15 +235,11 @@ Type::bitset BitsetType::Lub(i::Map* map) {
case JS_MAP_VALUE_ITERATOR_TYPE:
case JS_STRING_ITERATOR_TYPE:
case JS_ASYNC_FROM_SYNC_ITERATOR_TYPE:
-
-#define ARRAY_ITERATOR_CASE(type) case type:
- ARRAY_ITERATOR_TYPE_LIST(ARRAY_ITERATOR_CASE)
-#undef ARRAY_ITERATOR_CASE
-
case JS_WEAK_MAP_TYPE:
case JS_WEAK_SET_TYPE:
case JS_PROMISE_TYPE:
case WASM_MODULE_TYPE:
+ case WASM_GLOBAL_TYPE:
case WASM_INSTANCE_TYPE:
case WASM_MEMORY_TYPE:
case WASM_TABLE_TYPE:
@@ -268,9 +264,12 @@ Type::bitset BitsetType::Lub(i::Map* map) {
case ACCESSOR_PAIR_TYPE:
case FIXED_ARRAY_TYPE:
case HASH_TABLE_TYPE:
+ case WEAK_FIXED_ARRAY_TYPE:
case FIXED_DOUBLE_ARRAY_TYPE:
+ case FEEDBACK_METADATA_TYPE:
case BYTE_ARRAY_TYPE:
case BYTECODE_ARRAY_TYPE:
+ case BOILERPLATE_DESCRIPTION_TYPE:
case DESCRIPTOR_ARRAY_TYPE:
case TRANSITION_ARRAY_TYPE:
case FEEDBACK_CELL_TYPE:
@@ -278,6 +277,15 @@ Type::bitset BitsetType::Lub(i::Map* map) {
case PROPERTY_ARRAY_TYPE:
case FOREIGN_TYPE:
case SCOPE_INFO_TYPE:
+ case BLOCK_CONTEXT_TYPE:
+ case CATCH_CONTEXT_TYPE:
+ case DEBUG_EVALUATE_CONTEXT_TYPE:
+ case EVAL_CONTEXT_TYPE:
+ case FUNCTION_CONTEXT_TYPE:
+ case MODULE_CONTEXT_TYPE:
+ case NATIVE_CONTEXT_TYPE:
+ case SCRIPT_CONTEXT_TYPE:
+ case WITH_CONTEXT_TYPE:
case SCRIPT_TYPE:
case CODE_TYPE:
case PROPERTY_CELL_TYPE:
@@ -297,6 +305,7 @@ Type::bitset BitsetType::Lub(i::Map* map) {
#undef FIXED_TYPED_ARRAY_CASE
case FILLER_TYPE:
case ACCESS_CHECK_INFO_TYPE:
+ case CALL_HANDLER_INFO_TYPE:
case INTERCEPTOR_INFO_TYPE:
case OBJECT_TEMPLATE_INFO_TYPE:
case ALLOCATION_MEMENTO_TYPE:
@@ -309,8 +318,12 @@ Type::bitset BitsetType::Lub(i::Map* map) {
case SMALL_ORDERED_HASH_MAP_TYPE:
case SMALL_ORDERED_HASH_SET_TYPE:
case PROTOTYPE_INFO_TYPE:
+ case INTERPRETER_DATA_TYPE:
case TUPLE2_TYPE:
case TUPLE3_TYPE:
+ case WASM_COMPILED_MODULE_TYPE:
+ case WASM_DEBUG_INFO_TYPE:
+ case WASM_SHARED_MODULE_DATA_TYPE:
case LOAD_HANDLER_TYPE:
case STORE_HANDLER_TYPE:
case CONTEXT_EXTENSION_TYPE:
@@ -361,6 +374,7 @@ size_t BitsetType::BoundariesSize() {
}
Type::bitset BitsetType::ExpandInternals(Type::bitset bits) {
+ DCHECK_IMPLIES(bits & kOtherString, (bits & kString) == kString);
DisallowHeapAllocation no_allocation;
if (!(bits & kPlainNumber)) return bits; // Shortcut.
const Boundary* boundaries = Boundaries();
@@ -823,7 +837,7 @@ Type* Type::NewConstant(i::Handle<i::Object> value, Zone* zone) {
} else if (value->IsHeapNumber()) {
return NewConstant(value->Number(), zone);
} else if (value->IsString() && !value->IsInternalizedString()) {
- return Type::OtherString();
+ return Type::String();
}
return HeapConstant(i::Handle<i::HeapObject>::cast(value), zone);
}