diff options
Diffstat (limited to 'deps/v8/src/compiler/types.cc')
-rw-r--r-- | deps/v8/src/compiler/types.cc | 34 |
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); } |