Index: src/crankshaft/hydrogen.cc |
diff --git a/src/crankshaft/hydrogen.cc b/src/crankshaft/hydrogen.cc |
index 974621aa31e88ae7f0e2d3e2a00bb1ba7dcab912..214b65c676c61715545130222d7290e8a0d64c11 100644 |
--- a/src/crankshaft/hydrogen.cc |
+++ b/src/crankshaft/hydrogen.cc |
@@ -6595,7 +6595,8 @@ HValue* HOptimizedGraphBuilder::BuildMonomorphicAccess( |
HValue* function = Add<HConstant>(info->accessor()); |
PushArgumentsFromEnvironment(argument_count); |
return New<HCallFunction>(function, argument_count, |
- ConvertReceiverMode::kNotNullOrUndefined); |
+ ConvertReceiverMode::kNotNullOrUndefined, |
+ TailCallMode::kDisallow); |
} else if (FLAG_inline_accessors && can_inline_accessor) { |
bool success = info->IsLoad() |
? TryInlineGetter(info->accessor(), info->map(), ast_id, return_id) |
@@ -8170,7 +8171,8 @@ void HOptimizedGraphBuilder::HandlePolymorphicCallNamed(Call* expr, |
HInstruction* call = |
needs_wrapping ? NewUncasted<HCallFunction>( |
function, argument_count, |
- ConvertReceiverMode::kNotNullOrUndefined) |
+ ConvertReceiverMode::kNotNullOrUndefined, |
+ expr->tail_call_mode()) |
: BuildCallConstantFunction(target, argument_count); |
PushArgumentsFromEnvironment(argument_count); |
AddInstruction(call); |
@@ -8201,7 +8203,8 @@ void HOptimizedGraphBuilder::HandlePolymorphicCallNamed(Call* expr, |
CHECK_ALIVE(VisitExpressions(expr->arguments())); |
HInstruction* call = New<HCallFunction>( |
- function, argument_count, ConvertReceiverMode::kNotNullOrUndefined); |
+ function, argument_count, ConvertReceiverMode::kNotNullOrUndefined, |
+ expr->tail_call_mode()); |
PushArgumentsFromEnvironment(argument_count); |
@@ -9728,7 +9731,8 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) { |
// TODO(verwaest): Support creation of value wrappers directly in |
// HWrapReceiver. |
call = New<HCallFunction>(function, argument_count, |
- ConvertReceiverMode::kNotNullOrUndefined); |
+ ConvertReceiverMode::kNotNullOrUndefined, |
+ expr->tail_call_mode()); |
} else if (TryInlineCall(expr)) { |
return; |
} else { |
@@ -9752,7 +9756,8 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) { |
CHECK_ALIVE(VisitExpressions(expr->arguments(), arguments_flag)); |
call = New<HCallFunction>(function, argument_count, |
- ConvertReceiverMode::kNotNullOrUndefined); |
+ ConvertReceiverMode::kNotNullOrUndefined, |
+ expr->tail_call_mode()); |
} |
PushArgumentsFromEnvironment(argument_count); |
@@ -9803,7 +9808,8 @@ void HOptimizedGraphBuilder::VisitCall(Call* expr) { |
} else { |
PushArgumentsFromEnvironment(argument_count); |
HCallFunction* call_function = New<HCallFunction>( |
- function, argument_count, ConvertReceiverMode::kNullOrUndefined); |
+ function, argument_count, ConvertReceiverMode::kNullOrUndefined, |
+ expr->tail_call_mode()); |
call = call_function; |
if (expr->is_uninitialized() && |
expr->IsUsingCallFeedbackICSlot(isolate())) { |