Index: src/crankshaft/ia32/lithium-codegen-ia32.cc |
diff --git a/src/crankshaft/ia32/lithium-codegen-ia32.cc b/src/crankshaft/ia32/lithium-codegen-ia32.cc |
index 44475476d5432c9476e413e22247c6673fdd8cd3..31c70a79bb24fc4c6b63443c37897d02c6c14b3f 100644 |
--- a/src/crankshaft/ia32/lithium-codegen-ia32.cc |
+++ b/src/crankshaft/ia32/lithium-codegen-ia32.cc |
@@ -2803,7 +2803,7 @@ void LCodeGen::DoArgumentsElements(LArgumentsElements* instr) { |
if (instr->hydrogen()->from_inlined()) { |
__ lea(result, Operand(esp, -2 * kPointerSize)); |
- } else { |
+ } else if (instr->hydrogen()->arguments_adaptor()) { |
// Check for arguments adapter frame. |
Label done, adapted; |
__ mov(result, Operand(ebp, StandardFrameConstants::kCallerFPOffset)); |
@@ -2824,6 +2824,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 { |
+ __ mov(result, Operand(ebp)); |
} |
} |