Index: src/compiler/simplified-lowering.cc |
diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc |
index 73b6078d841f7118940a8b5a26ee5c155e528c1c..f5e636546a8bf62efc0f2783c0c69931fc8f5ce7 100644 |
--- a/src/compiler/simplified-lowering.cc |
+++ b/src/compiler/simplified-lowering.cc |
@@ -87,18 +87,14 @@ MachineRepresentation MachineRepresentationFromArrayType( |
return MachineRepresentation::kNone; |
} |
-UseInfo CheckedUseInfoAsWord32FromHint(BinaryOperationHints::Hint hint) { |
+UseInfo CheckedUseInfoAsWord32FromHint(NumberOperationHint hint) { |
switch (hint) { |
- case BinaryOperationHints::kSignedSmall: |
+ case NumberOperationHint::kSignedSmall: |
return UseInfo::CheckedSignedSmallAsWord32(); |
- case BinaryOperationHints::kSigned32: |
+ case NumberOperationHint::kSigned32: |
return UseInfo::CheckedSigned32AsWord32(); |
- case BinaryOperationHints::kNumberOrOddball: |
+ case NumberOperationHint::kNumberOrOddball: |
return UseInfo::CheckedNumberOrOddballAsWord32(); |
- case BinaryOperationHints::kNone: |
- case BinaryOperationHints::kString: |
- case BinaryOperationHints::kAny: |
- break; |
} |
UNREACHABLE(); |
return UseInfo::None(); |
@@ -764,7 +760,7 @@ class RepresentationSelector { |
return VisitBinop(node, UseInfo::TruncatingWord32(), |
MachineRepresentation::kWord32); |
} |
- BinaryOperationHints::Hint hint = BinaryOperationHintOf(node->op()); |
+ NumberOperationHint hint = NumberOperationHintOf(node->op()); |
return VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), |
MachineRepresentation::kWord32); |
} |
@@ -1127,7 +1123,7 @@ class RepresentationSelector { |
} |
// Try to use type feedback. |
- BinaryOperationHints::Hint hint = BinaryOperationHintOf(node->op()); |
+ NumberOperationHint hint = NumberOperationHintOf(node->op()); |
// Handle the case when no int32 checks on inputs are necessary |
// (but an overflow check is needed on the output). |
@@ -1135,8 +1131,8 @@ class RepresentationSelector { |
(BothInputsAre(node, Type::Signed32OrMinusZero()) && |
NodeProperties::GetType(node)->Is(type_cache_.kSafeInteger))) { |
// If both the inputs the feedback are int32, use the overflow op. |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
VisitBinop(node, UseInfo::TruncatingWord32(), |
MachineRepresentation::kWord32, Type::Signed32()); |
if (lower()) ChangeToInt32OverflowOp(node); |
@@ -1144,8 +1140,8 @@ class RepresentationSelector { |
} |
} |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), |
MachineRepresentation::kWord32, Type::Signed32()); |
if (lower()) ChangeToInt32OverflowOp(node); |
@@ -1350,15 +1346,15 @@ class RepresentationSelector { |
return; |
} |
// Try to use type feedback. |
- CompareOperationHints::Hint hint = CompareOperationHintOf(node->op()); |
+ NumberOperationHint hint = NumberOperationHintOf(node->op()); |
- if (hint == CompareOperationHints::kSignedSmall) { |
+ if (hint == NumberOperationHint::kSignedSmall) { |
VisitBinop(node, UseInfo::CheckedSigned32AsWord32(), |
MachineRepresentation::kBit); |
if (lower()) ChangeToPureOp(node, Int32Op(node)); |
return; |
} |
- DCHECK_EQ(CompareOperationHints::kNumberOrOddball, hint); |
+ DCHECK_EQ(NumberOperationHint::kNumberOrOddball, hint); |
// default case => Float64 comparison |
VisitBinop(node, UseInfo::CheckedNumberOrOddballAsFloat64(), |
MachineRepresentation::kBit); |
@@ -1412,7 +1408,7 @@ class RepresentationSelector { |
return; |
} |
// Try to use type feedback. |
- BinaryOperationHints::Hint hint = BinaryOperationHintOf(node->op()); |
+ NumberOperationHint hint = NumberOperationHintOf(node->op()); |
Type* input0_type = TypeOf(node->InputAt(0)); |
Type* input1_type = TypeOf(node->InputAt(1)); |
@@ -1420,8 +1416,8 @@ class RepresentationSelector { |
// (but an overflow check is needed on the output). |
if (BothInputsAre(node, Type::Signed32())) { |
// If both the inputs the feedback are int32, use the overflow op. |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
VisitBinop(node, UseInfo::TruncatingWord32(), |
MachineRepresentation::kWord32, Type::Signed32()); |
if (lower()) { |
@@ -1432,8 +1428,8 @@ class RepresentationSelector { |
} |
} |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), |
MachineRepresentation::kWord32, Type::Signed32()); |
if (lower()) { |
@@ -1499,13 +1495,13 @@ class RepresentationSelector { |
} |
// Try to use type feedback. |
- BinaryOperationHints::Hint hint = BinaryOperationHintOf(node->op()); |
+ NumberOperationHint hint = NumberOperationHintOf(node->op()); |
// Handle the case when no uint32 checks on inputs are necessary |
// (but an overflow check is needed on the output). |
if (BothInputsAreUnsigned32(node)) { |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
VisitBinop(node, UseInfo::TruncatingWord32(), |
MachineRepresentation::kWord32, Type::Unsigned32()); |
if (lower()) ChangeToUint32OverflowOp(node); |
@@ -1517,8 +1513,8 @@ class RepresentationSelector { |
// (but an overflow check is needed on the output). |
if (BothInputsAreSigned32(node)) { |
// If both the inputs the feedback are int32, use the overflow op. |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
VisitBinop(node, UseInfo::TruncatingWord32(), |
MachineRepresentation::kWord32, Type::Signed32()); |
if (lower()) ChangeToInt32OverflowOp(node); |
@@ -1526,8 +1522,8 @@ class RepresentationSelector { |
} |
} |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
// If the result is truncated, we only need to check the inputs. |
if (truncation.IsUsedAsWord32()) { |
VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), |
@@ -1607,13 +1603,13 @@ class RepresentationSelector { |
} |
// Try to use type feedback. |
- BinaryOperationHints::Hint hint = BinaryOperationHintOf(node->op()); |
+ NumberOperationHint hint = NumberOperationHintOf(node->op()); |
// Handle the case when no uint32 checks on inputs are necessary |
// (but an overflow check is needed on the output). |
if (BothInputsAreUnsigned32(node)) { |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
VisitBinop(node, UseInfo::TruncatingWord32(), |
MachineRepresentation::kWord32, Type::Unsigned32()); |
if (lower()) ChangeToUint32OverflowOp(node); |
@@ -1625,8 +1621,8 @@ class RepresentationSelector { |
// (but an overflow check is needed on the output). |
if (BothInputsAre(node, Type::Signed32())) { |
// If both the inputs the feedback are int32, use the overflow op. |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
VisitBinop(node, UseInfo::TruncatingWord32(), |
MachineRepresentation::kWord32, Type::Signed32()); |
if (lower()) ChangeToInt32OverflowOp(node); |
@@ -1634,8 +1630,8 @@ class RepresentationSelector { |
} |
} |
- if (hint == BinaryOperationHints::kSignedSmall || |
- hint == BinaryOperationHints::kSigned32) { |
+ if (hint == NumberOperationHint::kSignedSmall || |
+ hint == NumberOperationHint::kSigned32) { |
// If the result is truncated, we only need to check the inputs. |
if (truncation.IsUsedAsWord32()) { |
VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), |
@@ -1767,7 +1763,7 @@ class RepresentationSelector { |
} |
return; |
} |
- BinaryOperationHints::Hint hint = BinaryOperationHintOf(node->op()); |
+ NumberOperationHint hint = NumberOperationHintOf(node->op()); |
Type* rhs_type = GetUpperBound(node->InputAt(1)); |
VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), |
MachineRepresentation::kWord32, Type::Signed32()); |
@@ -1803,7 +1799,7 @@ class RepresentationSelector { |
} |
return; |
} |
- BinaryOperationHints::Hint hint = BinaryOperationHintOf(node->op()); |
+ NumberOperationHint hint = NumberOperationHintOf(node->op()); |
Type* rhs_type = GetUpperBound(node->InputAt(1)); |
VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), |
MachineRepresentation::kWord32, Type::Signed32()); |
@@ -1839,7 +1835,7 @@ class RepresentationSelector { |
} |
return; |
} |
- BinaryOperationHints::Hint hint = BinaryOperationHintOf(node->op()); |
+ NumberOperationHint hint = NumberOperationHintOf(node->op()); |
Type* rhs_type = GetUpperBound(node->InputAt(1)); |
VisitBinop(node, CheckedUseInfoAsWord32FromHint(hint), |
MachineRepresentation::kWord32, Type::Unsigned32()); |