Implement CFI for Quick.
CFI is necessary for stack unwinding in gdb, lldb, and libunwind.
Change-Id: Ic3b84c9dc91c4bae80e27cda02190f3274e95ae8
diff --git a/compiler/dwarf/debug_frame_opcode_writer.h b/compiler/dwarf/debug_frame_opcode_writer.h
index cc4ef8f..85186bb 100644
--- a/compiler/dwarf/debug_frame_opcode_writer.h
+++ b/compiler/dwarf/debug_frame_opcode_writer.h
@@ -150,7 +150,7 @@
}
void RememberState() {
- // Note that we do not need to advance the PC.
+ ImplicitlyAdvancePC();
this->PushUint8(DW_CFA_remember_state);
}
@@ -236,6 +236,10 @@
this->PushData(expr, expr_size);
}
+ int GetCurrentPC() const {
+ return current_pc_;
+ }
+
int GetCurrentCFAOffset() const {
return current_cfa_offset_;
}