Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index c2ede2c412ca7fcac0a7f19c62c7082b02e72031..d763c0e5591c95b5abc34ea2e77a68e9f8c09d01 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -1140,8 +1140,17 @@ LInstruction* LChunkBuilder::DoInstanceOfKnownGlobal( |
LInstruction* LChunkBuilder::DoApplyArguments(HApplyArguments* instr) { |
- Abort("Unimplemented: %s", "DoApplyArguments"); |
- return NULL; |
+ LOperand* function = UseFixed(instr->function(), rdi); |
+ LOperand* receiver = UseFixed(instr->receiver(), rax); |
+ LOperand* length = UseFixed(instr->length(), rbx); |
+ LOperand* elements = UseFixed(instr->elements(), rcx); |
+ LOperand* temp = FixedTemp(rdx); |
+ LApplyArguments* result = new LApplyArguments(function, |
+ receiver, |
+ length, |
+ elements, |
+ temp); |
+ return MarkAsCall(DefineFixed(result, rax), instr, CAN_DEOPTIMIZE_EAGERLY); |
} |