Index: src/interpreter/bytecode-generator.cc |
diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc |
index bdc5370f5a30ac5779f65f6999c3470256a712cf..64feba4244430c84dd85c444159515e1d51db4c9 100644 |
--- a/src/interpreter/bytecode-generator.cc |
+++ b/src/interpreter/bytecode-generator.cc |
@@ -2522,9 +2522,15 @@ void BytecodeGenerator::VisitCall(Call* expr) { |
} |
builder()->SetExpressionPosition(expr); |
- builder()->Call(callee, receiver, 1 + args->length(), |
- feedback_index(expr->CallFeedbackICSlot()), |
- expr->tail_call_mode()); |
+ if (expr->CallFeedbackICSlot().IsInvalid()) { |
+ builder()->Call(callee, receiver, 1 + args->length(), |
+ expr->tail_call_mode()); |
+ } else { |
+ DCHECK(call_type != Call::POSSIBLY_EVAL_CALL); |
Benedikt Meurer
2016/07/09 18:19:22
Nit: Use DCHECK_NE.
mythria
2016/07/11 15:25:24
This code changed a little and I moved DCHECK to t
|
+ builder()->CallWithFeedback(callee, receiver, 1 + args->length(), |
+ feedback_index(expr->CallFeedbackICSlot()), |
+ expr->tail_call_mode()); |
+ } |
execution_result()->SetResultInAccumulator(); |
} |