Code cleanup around exception handling and stack walking.
- Remove unused code setting the method and dex pc below an upcall.
- Clear cur_oat_quick_method_header when stack walking to be consistent
in having a runtime method and a null oat method header.
Test: test.py
Change-Id: I87672d193eb2e62add3ae7b8a42f2202e8eb927c
diff --git a/runtime/stack.cc b/runtime/stack.cc
index a4ce99b..336b253 100644
--- a/runtime/stack.cc
+++ b/runtime/stack.cc
@@ -858,7 +858,7 @@
cur_shadow_frame_ = current_fragment->GetTopShadowFrame();
cur_quick_frame_ = current_fragment->GetTopQuickFrame();
cur_quick_frame_pc_ = 0;
- cur_oat_quick_method_header_ = nullptr;
+ DCHECK(cur_oat_quick_method_header_ == nullptr);
if (cur_quick_frame_ != nullptr) { // Handle quick stack frames.
// Can't be both a shadow and a quick fragment.
DCHECK(current_fragment->GetTopShadowFrame() == nullptr);
@@ -995,6 +995,8 @@
}
method = *cur_quick_frame_;
}
+ // We reached a transition frame, it doesn't have a method header.
+ cur_oat_quick_method_header_ = nullptr;
} else if (cur_shadow_frame_ != nullptr) {
do {
SanityCheckFrame();