< prev index next >
src/share/vm/prims/jvmtiEnv.cpp
Print this page
*** 964,974 ****
{ 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);
if (info_ptr->name == NULL)
return JVMTI_ERROR_OUT_OF_MEMORY;
--- 964,974 ----
{ const char *n;
if (name() != NULL) {
n = java_lang_String::as_utf8_string(name());
} else {
! n = UNICODE::as_utf8((jchar*) NULL, 0);
}
info_ptr->name = (char *) jvmtiMalloc(strlen(n)+1);
if (info_ptr->name == NULL)
return JVMTI_ERROR_OUT_OF_MEMORY;
*** 1185,1217 ****
JavaThread* current_thread = JavaThread::current();
Handle group_obj (current_thread, JNIHandles::resolve_external_guard(group));
NULL_CHECK(group_obj(), JVMTI_ERROR_INVALID_THREAD_GROUP);
! typeArrayHandle name;
Handle parent_group;
bool is_daemon;
ThreadPriority max_priority;
{ MutexLocker mu(Threads_lock);
! name = typeArrayHandle(current_thread,
! java_lang_ThreadGroup::name(group_obj()));
parent_group = Handle(current_thread, java_lang_ThreadGroup::parent(group_obj()));
is_daemon = java_lang_ThreadGroup::is_daemon(group_obj());
max_priority = java_lang_ThreadGroup::maxPriority(group_obj());
}
info_ptr->is_daemon = is_daemon;
info_ptr->max_priority = max_priority;
info_ptr->parent = jni_reference(parent_group);
! if (name() != NULL) {
! const char* n = UNICODE::as_utf8((jchar*) name->base(T_CHAR), name->length());
! info_ptr->name = (char *)jvmtiMalloc(strlen(n)+1);
NULL_CHECK(info_ptr->name, JVMTI_ERROR_OUT_OF_MEMORY);
! strcpy(info_ptr->name, n);
} else {
info_ptr->name = NULL;
}
return JVMTI_ERROR_NONE;
--- 1185,1215 ----
JavaThread* current_thread = JavaThread::current();
Handle group_obj (current_thread, JNIHandles::resolve_external_guard(group));
NULL_CHECK(group_obj(), JVMTI_ERROR_INVALID_THREAD_GROUP);
! const char* name;
Handle parent_group;
bool is_daemon;
ThreadPriority max_priority;
{ MutexLocker mu(Threads_lock);
! name = java_lang_ThreadGroup::name(group_obj());
parent_group = Handle(current_thread, java_lang_ThreadGroup::parent(group_obj()));
is_daemon = java_lang_ThreadGroup::is_daemon(group_obj());
max_priority = java_lang_ThreadGroup::maxPriority(group_obj());
}
info_ptr->is_daemon = is_daemon;
info_ptr->max_priority = max_priority;
info_ptr->parent = jni_reference(parent_group);
! if (name != NULL) {
! info_ptr->name = (char*)jvmtiMalloc(strlen(name)+1);
NULL_CHECK(info_ptr->name, JVMTI_ERROR_OUT_OF_MEMORY);
! strcpy(info_ptr->name, name);
} else {
info_ptr->name = NULL;
}
return JVMTI_ERROR_NONE;
< prev index next >