diff --git a/src/compiler/arm64/unwinding-info-writer-arm64.cc b/src/compiler/arm64/unwinding-info-writer-arm64.cc index 3095423854..edf96026e7 100644 --- a/src/compiler/arm64/unwinding-info-writer-arm64.cc +++ b/src/compiler/arm64/unwinding-info-writer-arm64.cc @@ -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; }