| Index: src/builtins-arm.cc
|
| ===================================================================
|
| --- src/builtins-arm.cc (revision 483)
|
| +++ src/builtins-arm.cc (working copy)
|
| @@ -58,8 +58,8 @@
|
| // -- sp[...]: constructor arguments
|
| // -----------------------------------
|
|
|
| - // Enter an internal frame.
|
| - __ EnterInternalFrame();
|
| + // Enter a construct frame.
|
| + __ EnterConstructFrame();
|
|
|
| // Preserve the two incoming parameters
|
| __ mov(r0, Operand(r0, LSL, kSmiTagSize));
|
| @@ -116,10 +116,8 @@
|
| // Call the function.
|
| // r0: number of arguments
|
| // r1: constructor function
|
| - Label return_site;
|
| ParameterCount actual(r0);
|
| __ InvokeFunction(r1, actual, CALL_FUNCTION);
|
| - __ bind(&return_site);
|
|
|
| // Pop the function from the stack.
|
| // sp[0]: constructor function
|
| @@ -168,15 +166,10 @@
|
| // sp[1]: constructor function
|
| // sp[2]: number of arguments (smi-tagged)
|
| __ ldr(r1, MemOperand(sp, 2 * kPointerSize));
|
| - __ LeaveInternalFrame();
|
| + __ LeaveConstructFrame();
|
| __ add(sp, sp, Operand(r1, LSL, kPointerSizeLog2 - 1));
|
| __ add(sp, sp, Operand(kPointerSize));
|
| __ mov(pc, Operand(lr));
|
| -
|
| - // Compute the offset from the beginning of the JSConstructCall
|
| - // builtin code object to the return address after the call.
|
| - ASSERT(return_site.is_bound());
|
| - construct_call_pc_offset_ = return_site.pos() + Code::kHeaderSize;
|
| }
|
|
|
|
|
| @@ -539,7 +532,7 @@
|
| }
|
|
|
|
|
| -static void ExitArgumentsAdaptorFrame(MacroAssembler* masm) {
|
| +static void LeaveArgumentsAdaptorFrame(MacroAssembler* masm) {
|
| // ----------- S t a t e -------------
|
| // -- r0 : result being passed through
|
| // -----------------------------------
|
| @@ -641,21 +634,14 @@
|
| }
|
|
|
| // Call the entry point.
|
| - Label return_site;
|
| __ bind(&invoke);
|
| -
|
| __ Call(r3);
|
| - __ bind(&return_site);
|
|
|
| - ExitArgumentsAdaptorFrame(masm);
|
| + // Exit frame and return.
|
| + LeaveArgumentsAdaptorFrame(masm);
|
| __ mov(pc, lr);
|
|
|
| - // Compute the offset from the beginning of the ArgumentsAdaptorTrampoline
|
| - // builtin code object to the return address after the call.
|
| - ASSERT(return_site.is_bound());
|
| - arguments_adaptor_call_pc_offset_ = return_site.pos() + Code::kHeaderSize;
|
|
|
| -
|
| // -------------------------------------------
|
| // Dont adapt arguments.
|
| // -------------------------------------------
|
|
|