| Index: src/crankshaft/mips64/lithium-codegen-mips64.cc
|
| diff --git a/src/crankshaft/mips64/lithium-codegen-mips64.cc b/src/crankshaft/mips64/lithium-codegen-mips64.cc
|
| index daa7367f87fd4ee23b3783b0f995daeedfe0bd9a..ea3a062e3561d9eff67c4edde31d456ebe2e3714 100644
|
| --- a/src/crankshaft/mips64/lithium-codegen-mips64.cc
|
| +++ b/src/crankshaft/mips64/lithium-codegen-mips64.cc
|
| @@ -3165,7 +3165,7 @@ void LCodeGen::DoArgumentsElements(LArgumentsElements* instr) {
|
|
|
| if (instr->hydrogen()->from_inlined()) {
|
| __ Dsubu(result, sp, 2 * kPointerSize);
|
| - } else {
|
| + } else if (instr->hydrogen()->arguments_adaptor()) {
|
| // Check if the calling frame is an arguments adaptor frame.
|
| Label done, adapted;
|
| __ ld(scratch, MemOperand(fp, StandardFrameConstants::kCallerFPOffset));
|
| @@ -3177,6 +3177,8 @@ void LCodeGen::DoArgumentsElements(LArgumentsElements* instr) {
|
| // frame below the adaptor frame if adapted.
|
| __ Movn(result, fp, temp); // Move only if temp is not equal to zero (ne).
|
| __ Movz(result, scratch, temp); // Move only if temp is equal to zero (eq).
|
| + } else {
|
| + __ mov(result, fp);
|
| }
|
| }
|
|
|
|
|