summaryrefslogtreecommitdiff
path: root/deps/v8/src/field-type.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/field-type.cc')
-rw-r--r--deps/v8/src/field-type.cc6
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);