Mon, 04 Jan 2010 14:51:26 -0800
6637203: Classunloading messages go to stdout rather than Xloggc file, causing hangs when stdout is closed
Summary: Decoupled TraceClassUnloading from verbose:gc, JVMTI_VERBOSE_GC and PrintGC[Details], making it settable in a manner identical to TraceClassLoading. Reverted an inadvertent change of TraceClassUnloading output in a previous changeset from gclog back to tty.
Reviewed-by: coleenp, dholmes, jmasa, poonam
1.1 --- a/src/share/vm/prims/jvmtiEnv.cpp Mon Jan 04 07:58:42 2010 -0800 1.2 +++ b/src/share/vm/prims/jvmtiEnv.cpp Mon Jan 04 14:51:26 2010 -0800 1.3 @@ -592,7 +592,6 @@ 1.4 break; 1.5 case JVMTI_VERBOSE_GC: 1.6 PrintGC = value != 0; 1.7 - TraceClassUnloading = value != 0; 1.8 break; 1.9 case JVMTI_VERBOSE_JNI: 1.10 PrintJNIResolving = value != 0;
2.1 --- a/src/share/vm/runtime/arguments.cpp Mon Jan 04 07:58:42 2010 -0800 2.2 +++ b/src/share/vm/runtime/arguments.cpp Mon Jan 04 14:51:26 2010 -0800 2.3 @@ -1866,7 +1866,6 @@ 2.4 FLAG_SET_CMDLINE(bool, TraceClassUnloading, true); 2.5 } else if (!strcmp(tail, ":gc")) { 2.6 FLAG_SET_CMDLINE(bool, PrintGC, true); 2.7 - FLAG_SET_CMDLINE(bool, TraceClassUnloading, true); 2.8 } else if (!strcmp(tail, ":jni")) { 2.9 FLAG_SET_CMDLINE(bool, PrintJNIResolving, true); 2.10 } 2.11 @@ -2720,9 +2719,6 @@ 2.12 if (PrintGCDetails) { 2.13 // Turn on -verbose:gc options as well 2.14 PrintGC = true; 2.15 - if (FLAG_IS_DEFAULT(TraceClassUnloading)) { 2.16 - TraceClassUnloading = true; 2.17 - } 2.18 } 2.19 2.20 #if defined(_LP64) && defined(COMPILER1)
3.1 --- a/src/share/vm/services/classLoadingService.cpp Mon Jan 04 07:58:42 2010 -0800 3.2 +++ b/src/share/vm/services/classLoadingService.cpp Mon Jan 04 14:51:26 2010 -0800 3.3 @@ -128,7 +128,7 @@ 3.4 3.5 if (TraceClassUnloading) { 3.6 ResourceMark rm; 3.7 - gclog_or_tty->print_cr("[Unloading class %s]", k->external_name()); 3.8 + tty->print_cr("[Unloading class %s]", k->external_name()); 3.9 } 3.10 } 3.11