Index: src/crankshaft/x64/lithium-codegen-x64.cc |
diff --git a/src/crankshaft/x64/lithium-codegen-x64.cc b/src/crankshaft/x64/lithium-codegen-x64.cc |
index ffd902961db21856973f3bee69eb2181c63767c7..bc98c460fe329e48e48f8a684d98e4209d625610 100644 |
--- a/src/crankshaft/x64/lithium-codegen-x64.cc |
+++ b/src/crankshaft/x64/lithium-codegen-x64.cc |
@@ -3001,7 +3001,7 @@ void LCodeGen::DoArgumentsElements(LArgumentsElements* instr) { |
if (instr->hydrogen()->from_inlined()) { |
__ leap(result, Operand(rsp, -kFPOnStackSize + -kPCOnStackSize)); |
- } else { |
+ } else if (instr->hydrogen()->arguments_adaptor()) { |
// Check for arguments adapter frame. |
Label done, adapted; |
__ movp(result, Operand(rbp, StandardFrameConstants::kCallerFPOffset)); |
@@ -3020,6 +3020,8 @@ void LCodeGen::DoArgumentsElements(LArgumentsElements* instr) { |
// Result is the frame pointer for the frame if not adapted and for the real |
// frame below the adaptor frame if adapted. |
__ bind(&done); |
+ } else { |
+ __ movp(result, rbp); |
} |
} |