Fixes relating to 003-omnibus-opcodes
Fix computation of bits needed for a PC in GC map.
In the case that ClassLinker::FindClass fails with a class loader,
ignore the exception and raise a NoClassDefFoundError.
Elide callee-save methods from stack traces.
Change-Id: Ie0b7a544816e0c28d0f7df5821828aa84267cab7
diff --git a/src/thread.cc b/src/thread.cc
index 7e38290..f6ce34d 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -989,7 +989,9 @@
skipping_ = false;
}
if (!skipping_) {
- ++depth_;
+ if (frame.HasMethod()) { // ignore callee save frames
+ ++depth_;
+ }
} else {
++skip_depth_;
}
@@ -1043,6 +1045,9 @@
skip_depth_--;
return;
}
+ if (!frame.HasMethod()) {
+ return; // ignore callee save frames
+ }
method_trace_->Set(count_, frame.GetMethod());
pc_trace_->Set(count_, pc);
++count_;