Index: src/full-codegen/full-codegen.cc |
diff --git a/src/full-codegen/full-codegen.cc b/src/full-codegen/full-codegen.cc |
index 5aad3fd0603aa70d9bf0326d3937f008858c9bcb..4836f3b4a212ca33e4b83c1762587f4be60706e3 100644 |
--- a/src/full-codegen/full-codegen.cc |
+++ b/src/full-codegen/full-codegen.cc |
@@ -671,13 +671,16 @@ void FullCodeGenerator::SetExpressionAsStatementPosition(Expression* expr) { |
} |
} |
- |
-void FullCodeGenerator::SetCallPosition(Expression* expr) { |
+void FullCodeGenerator::SetCallPosition(Expression* expr, |
+ TailCallMode tail_call_mode) { |
if (expr->position() == RelocInfo::kNoPosition) return; |
RecordPosition(masm_, expr->position()); |
if (info_->is_debug()) { |
+ RelocInfo::Mode mode = (tail_call_mode == TailCallMode::kAllow) |
+ ? RelocInfo::DEBUG_BREAK_SLOT_AT_TAIL_CALL |
+ : RelocInfo::DEBUG_BREAK_SLOT_AT_CALL; |
// Always emit a debug break slot before a call. |
- DebugCodegen::GenerateSlot(masm_, RelocInfo::DEBUG_BREAK_SLOT_AT_CALL); |
+ DebugCodegen::GenerateSlot(masm_, mode); |
} |
} |