Chromium Code Reviews| Index: src/a64/macro-assembler-a64.cc |
| diff --git a/src/a64/macro-assembler-a64.cc b/src/a64/macro-assembler-a64.cc |
| index c55a59fbb8d708ce3f3f7dfa70da5e9589e7c28a..623a54bd2d20edaa36718ec0b4d89df3ec2fd11f 100644 |
| --- a/src/a64/macro-assembler-a64.cc |
| +++ b/src/a64/macro-assembler-a64.cc |
| @@ -1347,18 +1347,12 @@ void MacroAssembler::CallApiFunctionAndReturn( |
| Mov(x10, reinterpret_cast<uintptr_t>(is_profiling_flag)); |
| Ldrb(w10, MemOperand(x10)); |
| Cbz(w10, &profiler_disabled); |
| + Mov(x3, Operand(thunk_ref)); |
|
ulan
2014/02/10 20:21:23
I took this from the ARM port.
jbramley
2014/02/11 10:45:25
Ah, I must have overlooked it in the merge.
Out o
dcarney
2014/02/11 15:19:29
the profiler is almost always disabled
after clean
|
| + B(&end_profiler_check); |
| - // Additional parameter is the address of the actual callback. |
| - Mov(function_address, Operand(thunk_ref)); |
| - if (!function_address.Is(x3)) { |
| - B(&end_profiler_check); |
| - Bind(&profiler_disabled); |
| - Mov(x3, function_address); |
| - Bind(&end_profiler_check); |
| - } else { |
| - Bind(&profiler_disabled); |
| - Bind(&end_profiler_check); |
| - } |
| + Bind(&profiler_disabled); |
| + Mov(x3, function_address); |
| + Bind(&end_profiler_check); |
| // Save the callee-save registers we are going to use. |
| // TODO(all): Is this necessary? ARM doesn't do it. |
| @@ -1395,7 +1389,7 @@ void MacroAssembler::CallApiFunctionAndReturn( |
| // return address pushed on stack (could have moved after GC). |
| // DirectCEntry stub itself is generated early and never moves. |
| DirectCEntryStub stub; |
| - stub.GenerateCall(this, function_address); |
| + stub.GenerateCall(this, x3); |
| if (FLAG_log_timer_events) { |
| FrameScope frame(this, StackFrame::MANUAL); |