| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index 893ec597d42bd43ee9c1b1c82399483a33e8fa1a..3311d23e83db141921e43e6901e2233ba062c21c 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -2501,14 +2501,9 @@ 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());
|
| - ASSERT(receiver.is(rax)); // Used for parameter count.
|
| - ASSERT(function.is(rdi)); // Required by InvokeFunction.
|
| - ASSERT(ToRegister(instr->result()).is(rax));
|
|
|
| // If the receiver is null or undefined, we have to pass the global
|
| // object as a receiver to normal functions. Values have to be
|
| @@ -2551,6 +2546,17 @@ void LCodeGen::DoApplyArguments(LApplyArguments* instr) {
|
| __ movq(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(rax)); // Used for parameter count.
|
| + ASSERT(function.is(rdi)); // Required by InvokeFunction.
|
| + ASSERT(ToRegister(instr->result()).is(rax));
|
|
|
| // Copy the arguments to this function possibly from the
|
| // adaptor frame below it.
|
|
|