Index: src/interpreter/bytecode-generator.cc |
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
index aa50271689788da3c0bcca20787295f3883cb0ab..704f4e91e33d16c9d1a4b08158d2a3207a7dfa47 100644 |
--- a/src/interpreter/bytecode-generator.cc |
+++ b/src/interpreter/bytecode-generator.cc |
@@ -1123,7 +1123,9 @@ void BytecodeGenerator::VisitSwitchStatement(SwitchStatement* stmt) { |
// Perform label comparison as if via '===' with tag. |
VisitForAccumulatorValue(clause->label()); |
- builder()->CompareOperation(Token::Value::EQ_STRICT, tag); |
+ builder()->CompareOperation( |
+ Token::Value::EQ_STRICT, tag, |
+ feedback_index(clause->CompareOperationFeedbackSlot())); |
switch_builder.Case(i); |
} |
@@ -3031,7 +3033,8 @@ void BytecodeGenerator::VisitCompareOperation(CompareOperation* expr) { |
Register lhs = VisitForRegisterValue(expr->left()); |
VisitForAccumulatorValue(expr->right()); |
builder()->SetExpressionPosition(expr); |
- builder()->CompareOperation(expr->op(), lhs); |
+ FeedbackVectorSlot slot = expr->CompareOperationFeedbackSlot(); |
+ builder()->CompareOperation(expr->op(), lhs, feedback_index(slot)); |
execution_result()->SetResultInAccumulator(); |
} |