Index: src/ppc/macro-assembler-ppc.h |
diff --git a/src/ppc/macro-assembler-ppc.h b/src/ppc/macro-assembler-ppc.h |
index d9dbd568273f6abca6f7c76e48d5897af5f076eb..8cd9cf8c205755a55e2c0f9e5ccfbe074a398fa1 100644 |
--- a/src/ppc/macro-assembler-ppc.h |
+++ b/src/ppc/macro-assembler-ppc.h |
@@ -156,12 +156,6 @@ class MacroAssembler : public Assembler { |
void Call(Label* target); |
- // Emit call to the code we are currently generating. |
- void CallSelf() { |
- Handle<Code> self(reinterpret_cast<Code**>(CodeObject().location())); |
- Call(self, RelocInfo::CODE_TARGET); |
- } |
- |
// Register move. May do nothing if the registers are identical. |
void Move(Register dst, Smi* smi) { LoadSmiLiteral(dst, smi); } |
void Move(Register dst, Handle<Object> value); |
@@ -564,6 +558,15 @@ class MacroAssembler : public Assembler { |
// --------------------------------------------------------------------------- |
// JavaScript invokes |
+ // 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); |
+ |
// Invoke the JavaScript function code by either calling or jumping. |
void InvokeFunctionCode(Register function, Register new_target, |
const ParameterCount& expected, |