diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index b39a02bd40f..08a2f40bbf5 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 13 #define V8_MINOR_VERSION 7 #define V8_BUILD_NUMBER 152 -#define V8_PATCH_LEVEL 13 +#define V8_PATCH_LEVEL 14 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/src/wasm/canonical-types.h b/deps/v8/src/wasm/canonical-types.h index 911cf33e5a5..9a520aa59b7 100644 --- a/deps/v8/src/wasm/canonical-types.h +++ b/deps/v8/src/wasm/canonical-types.h @@ -357,7 +357,8 @@ class TypeCanonicalizer { const bool indexed = type1.has_index(); if (indexed != type2.has_index()) return false; if (indexed) { - return EqualTypeIndex(type1.ref_index(), type2.ref_index()); + return type1.is_equal_except_index(type2) && + EqualTypeIndex(type1.ref_index(), type2.ref_index()); } return type1 == type2; } diff --git a/deps/v8/src/wasm/value-type.h b/deps/v8/src/wasm/value-type.h index 8ef28100d52..8a95db503f9 100644 --- a/deps/v8/src/wasm/value-type.h +++ b/deps/v8/src/wasm/value-type.h @@ -1062,6 +1062,10 @@ class CanonicalValueType : public ValueTypeBase { return bit_field_ == other.bit_field_; } + constexpr bool is_equal_except_index(CanonicalValueType other) const { + return (bit_field_ & ~kIndexBits) == (other.bit_field_ & ~kIndexBits); + } + constexpr bool IsFunctionType() const { return ref_type_kind() == RefTypeKind::kFunction; }