| Index: src/compiler/js-native-context-specialization.cc
|
| diff --git a/src/compiler/js-native-context-specialization.cc b/src/compiler/js-native-context-specialization.cc
|
| index 28625c87f6b560d3bea5a1caf785d1c82d65a1c2..6293c49ad359e901e2868e91fbb5696bc30c4a1a 100644
|
| --- a/src/compiler/js-native-context-specialization.cc
|
| +++ b/src/compiler/js-native-context-specialization.cc
|
| @@ -896,6 +896,11 @@ JSNativeContextSpecialization::BuildPropertyAccess(
|
| field_type, MachineType::AnyTagged(), kFullWriteBarrier};
|
| if (access_mode == AccessMode::kLoad) {
|
| if (field_type->Is(Type::UntaggedFloat64())) {
|
| + // TODO(turbofan): We remove the representation axis from the type to
|
| + // avoid uninhabited representation types. This is a workaround until
|
| + // the {PropertyAccessInfo} is using {MachineRepresentation} instead.
|
| + field_access.type = Type::Union(
|
| + field_type, Type::Representation(Type::Number(), zone()), zone());
|
| if (!field_index.is_inobject() || field_index.is_hidden_field() ||
|
| !FLAG_unbox_double_fields) {
|
| storage = effect = graph()->NewNode(
|
| @@ -910,6 +915,11 @@ JSNativeContextSpecialization::BuildPropertyAccess(
|
| } else {
|
| DCHECK_EQ(AccessMode::kStore, access_mode);
|
| if (field_type->Is(Type::UntaggedFloat64())) {
|
| + // TODO(turbofan): We remove the representation axis from the type to
|
| + // avoid uninhabited representation types. This is a workaround until
|
| + // the {PropertyAccessInfo} is using {MachineRepresentation} instead.
|
| + field_access.type = Type::Union(
|
| + field_type, Type::Representation(Type::Number(), zone()), zone());
|
| value = effect = graph()->NewNode(simplified()->CheckNumber(), value,
|
| effect, control);
|
|
|
|
|