Index: src/arm64/macro-assembler-arm64.h |
diff --git a/src/arm64/macro-assembler-arm64.h b/src/arm64/macro-assembler-arm64.h |
index 5c8fe40b8098f391b14b25435d7b0d5f7e383a08..2a173de82aa0bece816d7c2718f43ad5a1c3dbfd 100644 |
--- a/src/arm64/macro-assembler-arm64.h |
+++ b/src/arm64/macro-assembler-arm64.h |
@@ -1166,6 +1166,15 @@ class MacroAssembler : public Assembler { |
RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, |
TypeFeedbackId ast_id = TypeFeedbackId::None()); |
+ // Removes current frame and its arguments from the stack preserving |
+ // the arguments and a return address pushed to the stack for the next call. |
+ // Both |callee_args_count| and |caller_args_count_reg| do not include |
+ // receiver. |callee_args_count| is not modified, |caller_args_count_reg| |
+ // is trashed. |
+ void PrepareForTailCall(const ParameterCount& callee_args_count, |
+ Register caller_args_count_reg, Register scratch0, |
+ Register scratch1); |
+ |
// Registers used through the invocation chain are hard-coded. |
// We force passing the parameters to ensure the contracts are correctly |
// honoured by the caller. |