| 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 46529074e2ab5ad3a44d0a9ffadc3435829d7384..81d4cd04ca6935635c12e1af14dacab2d67371ad 100644
|
| --- a/src/compiler/js-native-context-specialization.cc
|
| +++ b/src/compiler/js-native-context-specialization.cc
|
| @@ -260,6 +260,11 @@ Reduction JSNativeContextSpecialization::ReduceNamedAccess(
|
| 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) {
|
| this_storage = this_effect =
|
| @@ -276,6 +281,11 @@ Reduction JSNativeContextSpecialization::ReduceNamedAccess(
|
| } 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());
|
| Node* check =
|
| graph()->NewNode(simplified()->ObjectIsNumber(), this_value);
|
| this_control = this_effect =
|
|
|