Index: src/arm64/full-codegen-arm64.cc |
diff --git a/src/arm64/full-codegen-arm64.cc b/src/arm64/full-codegen-arm64.cc |
index 0a8e1ca3b2fe63fa088cd8cb2177e4dca9cc2fd3..788598400f1684393ae5135f1ec6662389fde927 100644 |
--- a/src/arm64/full-codegen-arm64.cc |
+++ b/src/arm64/full-codegen-arm64.cc |
@@ -2609,11 +2609,12 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) { |
// Prepare to push a copy of the first argument or undefined if it doesn't |
// exist. |
if (arg_count > 0) { |
- __ Peek(x10, arg_count * kXRegSize); |
+ __ Peek(x9, arg_count * kXRegSize); |
} else { |
- __ LoadRoot(x10, Heap::kUndefinedValueRootIndex); |
+ __ LoadRoot(x9, Heap::kUndefinedValueRootIndex); |
} |
+ __ Ldr(x10, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset)); |
// Prepare to push the receiver of the enclosing function. |
int receiver_offset = 2 + info_->scope()->num_parameters(); |
__ Ldr(x11, MemOperand(fp, receiver_offset * kPointerSize)); |
@@ -2624,10 +2625,10 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) { |
__ Mov(x13, Smi::FromInt(scope()->start_position())); |
// Push. |
- __ Push(x10, x11, x12, x13); |
+ __ Push(x9, x10, x11, x12, x13); |
// Do the runtime call. |
- __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 5); |
+ __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 6); |
} |