diff options
Diffstat (limited to 'deps/v8/src/field-type.cc')
-rw-r--r-- | deps/v8/src/field-type.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/deps/v8/src/field-type.cc b/deps/v8/src/field-type.cc index 76d694c132..2e4cbfbedd 100644 --- a/deps/v8/src/field-type.cc +++ b/deps/v8/src/field-type.cc @@ -13,7 +13,9 @@ namespace internal { // static FieldType* FieldType::None() { - return reinterpret_cast<FieldType*>(Smi::FromInt(0)); + // Do not Smi::FromInt(0) here or for Any(), as that may translate + // as `nullptr` which is not a valid value for `this`. + return reinterpret_cast<FieldType*>(Smi::FromInt(2)); } // static @@ -70,7 +72,7 @@ bool FieldType::NowIs(FieldType* other) { bool FieldType::NowIs(Handle<FieldType> other) { return NowIs(*other); } Type* FieldType::Convert(Zone* zone) { - if (IsAny()) return Type::Any(); + if (IsAny()) return Type::NonInternal(); if (IsNone()) return Type::None(); DCHECK(IsClass()); return Type::Class(AsClass(), zone); |