Commit 2db1f598 authored by pierre.langlois's avatar pierre.langlois Committed by Commit bot

[perf-prof][arm64] Emit unwinding info to record the saved FP

When emitting a frame, we always push the old frame pointer at offset 0 relative
to the new frame pointer. However, we didn't emit DWARF opcodes to inform perf
of this.

BUG=

Review-Url: https://codereview.chromium.org/2795253002
Cr-Commit-Position: refs/heads/master@{#44384}
parent eddf90c4
......@@ -24,6 +24,7 @@ void UnwindingInfoWriter::BeginInstructionBlock(int pc_offset,
eh_frame_writer_.AdvanceLocation(pc_offset);
if (initial_state->saved_lr_) {
eh_frame_writer_.RecordRegisterSavedToStack(lr, kPointerSize);
eh_frame_writer_.RecordRegisterSavedToStack(fp, 0);
} else {
eh_frame_writer_.RecordRegisterFollowsInitialRule(lr);
}
......@@ -76,6 +77,7 @@ void UnwindingInfoWriter::MarkFrameConstructed(int at_pc) {
// the construction, since the LR itself is not modified in the process.
eh_frame_writer_.AdvanceLocation(at_pc);
eh_frame_writer_.RecordRegisterSavedToStack(lr, kPointerSize);
eh_frame_writer_.RecordRegisterSavedToStack(fp, 0);
saved_lr_ = true;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment