summaryrefslogtreecommitdiff
path: root/openjdkjvmti/ti_stack.cc
diff options
context:
space:
mode:
author Alex Light <allight@google.com> 2017-10-10 16:20:10 -0700
committer Alex Light <allight@google.com> 2017-10-10 16:20:10 -0700
commita03a9eeb9d1b2ebca17cc326f52c84a5abca6707 (patch)
tree3a52462cba8002df6c086ee57d6b7e71a400c74a /openjdkjvmti/ti_stack.cc
parentbaeedfee3521c295916e3ae85afa2cb5dee7d6a5 (diff)
Ensure Proxy frames work with JVMTI stack frame functions
We were incorrectly returning errors and crashing when stack frame JVMTI functions were used with Proxy methods. This fixes those issues and adds a test for them. Bug: 66903662 Test: ./test.py --host -j40 Change-Id: Ia7c768d631c5ac4d8339d70a9d4761d5b4bc284e
Diffstat (limited to 'openjdkjvmti/ti_stack.cc')
-rw-r--r--openjdkjvmti/ti_stack.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/openjdkjvmti/ti_stack.cc b/openjdkjvmti/ti_stack.cc
index d4cc42ae70..e0c139954d 100644
--- a/openjdkjvmti/ti_stack.cc
+++ b/openjdkjvmti/ti_stack.cc
@@ -789,7 +789,7 @@ jvmtiError StackUtil::GetFrameLocation(jvmtiEnv* env ATTRIBUTE_UNUSED,
}
*method_ptr = art::jni::EncodeArtMethod(closure.method);
- if (closure.method->IsNative()) {
+ if (closure.method->IsNative() || closure.method->IsProxyMethod()) {
*location_ptr = -1;
} else {
if (closure.dex_pc == art::dex::kDexNoIndex) {