src/share/vm/prims/jvmtiEnv.cpp
Print this page
*** 940,969 ****
}
if (thread_oop == NULL || !thread_oop->is_a(SystemDictionary::Thread_klass()))
return JVMTI_ERROR_INVALID_THREAD;
Handle thread_obj(current_thread, thread_oop);
! typeArrayHandle name;
ThreadPriority priority;
Handle thread_group;
Handle context_class_loader;
bool is_daemon;
{ MutexLocker mu(Threads_lock);
! name = typeArrayHandle(current_thread, java_lang_Thread::name(thread_obj()));
priority = java_lang_Thread::priority(thread_obj());
thread_group = Handle(current_thread, java_lang_Thread::threadGroup(thread_obj()));
is_daemon = java_lang_Thread::is_daemon(thread_obj());
oop loader = java_lang_Thread::context_class_loader(thread_obj());
context_class_loader = Handle(current_thread, loader);
}
{ const char *n;
if (name() != NULL) {
! n = UNICODE::as_utf8((jchar*) name->base(T_CHAR), name->length());
} else {
n = UNICODE::as_utf8(NULL, 0);
}
info_ptr->name = (char *) jvmtiMalloc(strlen(n)+1);
--- 940,969 ----
}
if (thread_oop == NULL || !thread_oop->is_a(SystemDictionary::Thread_klass()))
return JVMTI_ERROR_INVALID_THREAD;
Handle thread_obj(current_thread, thread_oop);
! Handle name;
ThreadPriority priority;
Handle thread_group;
Handle context_class_loader;
bool is_daemon;
{ MutexLocker mu(Threads_lock);
! name = Handle(current_thread, java_lang_Thread::name(thread_obj()));
priority = java_lang_Thread::priority(thread_obj());
thread_group = Handle(current_thread, java_lang_Thread::threadGroup(thread_obj()));
is_daemon = java_lang_Thread::is_daemon(thread_obj());
oop loader = java_lang_Thread::context_class_loader(thread_obj());
context_class_loader = Handle(current_thread, loader);
}
{ const char *n;
if (name() != NULL) {
! n = java_lang_String::as_utf8_string(name());
} else {
n = UNICODE::as_utf8(NULL, 0);
}
info_ptr->name = (char *) jvmtiMalloc(strlen(n)+1);