Index: src/crankshaft/s390/lithium-codegen-s390.cc |
diff --git a/src/crankshaft/s390/lithium-codegen-s390.cc b/src/crankshaft/s390/lithium-codegen-s390.cc |
index e0b8ec72c16da595f5936c3edd782d85233ba91a..9a6c498472b89672482b26fb2c4bf9a53ad4d51f 100644 |
--- a/src/crankshaft/s390/lithium-codegen-s390.cc |
+++ b/src/crankshaft/s390/lithium-codegen-s390.cc |
@@ -3156,7 +3156,7 @@ void LCodeGen::DoArgumentsElements(LArgumentsElements* instr) { |
if (instr->hydrogen()->from_inlined()) { |
__ lay(result, MemOperand(sp, -2 * kPointerSize)); |
- } else { |
+ } else if (instr->hydrogen()->arguments_adaptor()) { |
// Check if the calling frame is an arguments adaptor frame. |
Label done, adapted; |
__ LoadP(scratch, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); |
@@ -3174,6 +3174,8 @@ void LCodeGen::DoArgumentsElements(LArgumentsElements* instr) { |
__ bind(&adapted); |
__ LoadRR(result, scratch); |
__ bind(&done); |
+ } else { |
+ __ LoadRR(result, fp); |
} |
} |