diff options
Diffstat (limited to 'openjdkjvmti/ti_stack.cc')
| -rw-r--r-- | openjdkjvmti/ti_stack.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/openjdkjvmti/ti_stack.cc b/openjdkjvmti/ti_stack.cc index 38257f1d6a..8ee4adb853 100644 --- a/openjdkjvmti/ti_stack.cc +++ b/openjdkjvmti/ti_stack.cc @@ -41,7 +41,6 @@ #include "android-base/thread_annotations.h" #include "arch/context.h" #include "art_field-inl.h" -#include "art_method-inl.h" #include "art_jvmti.h" #include "art_method-inl.h" #include "barrier.h" @@ -74,15 +73,14 @@ #include "scoped_thread_state_change-inl.h" #include "scoped_thread_state_change.h" #include "stack.h" -#include "thread.h" -#include "thread_state.h" -#include "ti_logging.h" -#include "ti_thread.h" #include "thread-current-inl.h" +#include "thread.h" #include "thread_list.h" #include "thread_pool.h" +#include "thread_state.h" +#include "ti_logging.h" #include "ti_thread.h" -#include "well_known_classes.h" +#include "well_known_classes-inl.h" namespace openjdkjvmti { @@ -578,10 +576,11 @@ jvmtiError StackUtil::GetThreadListStackTraces(jvmtiEnv* env, if (thread_list[i] == nullptr) { return ERR(INVALID_THREAD); } - if (!soa.Env()->IsInstanceOf(thread_list[i], art::WellKnownClasses::java_lang_Thread)) { + art::ObjPtr<art::mirror::Object> thread = soa.Decode<art::mirror::Object>(thread_list[i]); + if (!thread->InstanceOf(art::WellKnownClasses::java_lang_Thread.Get())) { return ERR(INVALID_THREAD); } - data.handles.push_back(hs.NewHandle(soa.Decode<art::mirror::Object>(thread_list[i]))); + data.handles.push_back(hs.NewHandle(thread)); } RunCheckpointAndWait(&data, static_cast<size_t>(max_frame_count)); |