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);