| Index: src/type-info.cc
|
| diff --git a/src/type-info.cc b/src/type-info.cc
|
| index efbc9b1f0759923717ee551cc98ae99328bfb4e3..ce0ab6ca6a63e8d0321e110e7f4ffad60dac3d4d 100644
|
| --- a/src/type-info.cc
|
| +++ b/src/type-info.cc
|
| @@ -210,21 +210,19 @@
|
| return AstType::None();
|
| }
|
|
|
| -AstType* BinaryOpFeedbackToType(int hint) {
|
| +AstType* BinaryOpHintToType(BinaryOperationHint hint) {
|
| switch (hint) {
|
| - case BinaryOperationFeedback::kNone:
|
| + case BinaryOperationHint::kNone:
|
| return AstType::None();
|
| - case BinaryOperationFeedback::kSignedSmall:
|
| + case BinaryOperationHint::kSignedSmall:
|
| return AstType::SignedSmall();
|
| - case BinaryOperationFeedback::kNumber:
|
| + case BinaryOperationHint::kSigned32:
|
| + return AstType::Signed32();
|
| + case BinaryOperationHint::kNumberOrOddball:
|
| return AstType::Number();
|
| - case BinaryOperationFeedback::kString:
|
| + case BinaryOperationHint::kString:
|
| return AstType::String();
|
| - // TODO(mythria): Merge Number and NumberOrOddball feedback, after
|
| - // fixing crankshaft to handle Oddballs along with Numbers.
|
| - case BinaryOperationFeedback::kNumberOrOddball:
|
| - case BinaryOperationFeedback::kAny:
|
| - default:
|
| + case BinaryOperationHint::kAny:
|
| return AstType::Any();
|
| }
|
| UNREACHABLE();
|
| @@ -301,7 +299,7 @@
|
| DCHECK(!slot.IsInvalid());
|
| BinaryOpICNexus nexus(feedback_vector_, slot);
|
| *left = *right = *result =
|
| - BinaryOpFeedbackToType(Smi::cast(nexus.GetFeedback())->value());
|
| + BinaryOpHintToType(nexus.GetBinaryOperationFeedback());
|
| *fixed_right_arg = Nothing<int>();
|
| *allocation_site = Handle<AllocationSite>::null();
|
|
|
| @@ -336,8 +334,7 @@
|
|
|
| DCHECK(!slot.IsInvalid());
|
| BinaryOpICNexus nexus(feedback_vector_, slot);
|
| - AstType* type =
|
| - BinaryOpFeedbackToType(Smi::cast(nexus.GetFeedback())->value());
|
| + AstType* type = BinaryOpHintToType(nexus.GetBinaryOperationFeedback());
|
|
|
| if (!object->IsCode()) return type;
|
|
|
|
|