Chromium Code Reviews| Index: src/compiler/simplified-lowering.cc |
| diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc |
| index e017f1d2e401de0e193d9b32fb6654a003728a07..fe474960637948be4c690baf10035b4e02b4612f 100644 |
| --- a/src/compiler/simplified-lowering.cc |
| +++ b/src/compiler/simplified-lowering.cc |
| @@ -701,6 +701,11 @@ class RepresentationSelector { |
| GetUpperBound(node->InputAt(1))->Is(type); |
| } |
| + bool IsNodeRepresentationFloat64(Node* node) { |
| + MachineRepresentation representation = GetInfo(node)->representation(); |
| + return representation == MachineRepresentation::kFloat64; |
| + } |
| + |
| bool IsNodeRepresentationTagged(Node* node) { |
| MachineRepresentation representation = GetInfo(node)->representation(); |
| return IsAnyTagged(representation); |
| @@ -1619,6 +1624,11 @@ class RepresentationSelector { |
| ChangeToPureOp( |
| node, changer_->TaggedSignedOperatorFor(node->opcode())); |
| + } else if (IsNodeRepresentationFloat64(lhs) || |
|
Jarin
2017/04/03 07:58:19
Insert a comment explaining what is going on here,
Benedikt Meurer
2017/04/03 08:00:28
Done.
|
| + IsNodeRepresentationFloat64(rhs)) { |
| + VisitBinop(node, UseInfo::CheckedNumberAsFloat64(), |
| + MachineRepresentation::kBit); |
| + ChangeToPureOp(node, Float64Op(node)); |
| } else { |
| VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), |
| MachineRepresentation::kBit); |