| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index e8f7a44cac3ad7c1afcbfcd4828fc9d1cbc035e0..cccfa5b041ee7ee3cf12f747f69dea295f0fcd32 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -9170,15 +9170,6 @@ void HOptimizedGraphBuilder::VisitCompareOperation(CompareOperation* expr) {
|
| return ast_context()->ReturnInstruction(result, expr->id());
|
| }
|
|
|
| - // Cases handled below depend on collected type feedback. They should
|
| - // soft deoptimize when there is no type feedback.
|
| - if (combined_type->Is(Type::None())) {
|
| - Add<HDeoptimize>("Insufficient type feedback for combined type "
|
| - "of binary operation",
|
| - Deoptimizer::SOFT);
|
| - combined_type = left_type = right_type = handle(Type::Any(), isolate());
|
| - }
|
| -
|
| HControlInstruction* compare = BuildCompareInstruction(
|
| op, left, right, left_type, right_type, combined_type,
|
| expr->left()->position(), expr->right()->position(), expr->id());
|
| @@ -9197,6 +9188,15 @@ HControlInstruction* HOptimizedGraphBuilder::BuildCompareInstruction(
|
| int left_position,
|
| int right_position,
|
| BailoutId bailout_id) {
|
| + // Cases handled below depend on collected type feedback. They should
|
| + // soft deoptimize when there is no type feedback.
|
| + if (combined_type->Is(Type::None())) {
|
| + Add<HDeoptimize>("Insufficient type feedback for combined type "
|
| + "of binary operation",
|
| + Deoptimizer::SOFT);
|
| + combined_type = left_type = right_type = handle(Type::Any(), isolate());
|
| + }
|
| +
|
| Representation left_rep = Representation::FromType(left_type);
|
| Representation right_rep = Representation::FromType(right_type);
|
| Representation combined_rep = Representation::FromType(combined_type);
|
|
|