| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 3d953c3393831aec847e4decdc30f6d41d2a4647..ec563ac8c49e7f0a8c86abba1bc16ac7e42fe87c 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -2587,15 +2587,10 @@ void LCodeGen::DoArgumentsLength(LArgumentsLength* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoApplyArguments(LApplyArguments* instr) {
|
| +void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) {
|
| Register receiver = ToRegister(instr->receiver());
|
| Register function = ToRegister(instr->function());
|
| - Register length = ToRegister(instr->length());
|
| - Register elements = ToRegister(instr->elements());
|
| Register scratch = ToRegister(instr->TempAt(0));
|
| - ASSERT(receiver.is(eax)); // Used for parameter count.
|
| - ASSERT(function.is(edi)); // Required by InvokeFunction.
|
| - ASSERT(ToRegister(instr->result()).is(eax));
|
|
|
| // If the receiver is null or undefined, we have to pass the global
|
| // object as a receiver to normal functions. Values have to be
|
| @@ -2637,6 +2632,17 @@ void LCodeGen::DoApplyArguments(LApplyArguments* instr) {
|
| __ mov(receiver,
|
| FieldOperand(receiver, JSGlobalObject::kGlobalReceiverOffset));
|
| __ bind(&receiver_ok);
|
| +}
|
| +
|
| +
|
| +void LCodeGen::DoApplyArguments(LApplyArguments* instr) {
|
| + Register receiver = ToRegister(instr->receiver());
|
| + Register function = ToRegister(instr->function());
|
| + Register length = ToRegister(instr->length());
|
| + Register elements = ToRegister(instr->elements());
|
| + ASSERT(receiver.is(eax)); // Used for parameter count.
|
| + ASSERT(function.is(edi)); // Required by InvokeFunction.
|
| + ASSERT(ToRegister(instr->result()).is(eax));
|
|
|
| // Copy the arguments to this function possibly from the
|
| // adaptor frame below it.
|
|
|