diff --git a/hotspot/src/share/vm/runtime/mutexLocker.cpp b/hotspot/src/share/vm/runtime/mutexLocker.cpp index 2950b0aa2ef..8bb170b4453 100644 --- a/hotspot/src/share/vm/runtime/mutexLocker.cpp +++ b/hotspot/src/share/vm/runtime/mutexLocker.cpp @@ -209,9 +209,9 @@ void mutex_init() { def(StringDedupQueue_lock , Monitor, leaf, true ); def(StringDedupTable_lock , Mutex , leaf, true ); - - def(MonitoringSupport_lock , Mutex , leaf, true ); // used for serviceability monitoring support } + def(MonitoringSupport_lock , Mutex , leaf, true ); // used for serviceability monitoring support + def(ParGCRareEvent_lock , Mutex , leaf , true ); def(DerivedPointerTableGC_lock , Mutex, leaf, true ); def(CodeCache_lock , Mutex , special, true ); diff --git a/hotspot/src/share/vm/services/management.cpp b/hotspot/src/share/vm/services/management.cpp index 566e7a780a9..715a9e4c87a 100644 --- a/hotspot/src/share/vm/services/management.cpp +++ b/hotspot/src/share/vm/services/management.cpp @@ -2248,6 +2248,7 @@ JVM_ENTRY(jlong, jmm_GetTotalThreadAllocatedMemory(JNIEnv *env)) } { + assert(MonitoringSupport_lock != NULL, "Must be"); MutexLockerEx ml(MonitoringSupport_lock, Mutex::_no_safepoint_check_flag); if (result < high_water_result) { // Result wrapped to a negative value, in which case it's diff --git a/jdk/test/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java b/jdk/test/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java index d54bb06b587..16d8eb04325 100644 --- a/jdk/test/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java +++ b/jdk/test/com/sun/management/ThreadMXBean/ThreadAllocatedMemory.java @@ -22,10 +22,19 @@ */ /* - * @test - * @bug 6173675 8231209 8304074 + * @test id=G1 + * @bug 6173675 8231209 8304074 8313081 * @summary Basic test of ThreadMXBean.getThreadAllocatedBytes - * @author Paul Hohensee + * @requires vm.gc == "G1" + * @run main/othervm -XX:+UseG1GC ThreadAllocatedMemory + */ + +/* + * @test id=Serial + * @bug 6173675 8231209 8304074 8313081 + * @summary Basic test of ThreadMXBean.getThreadAllocatedBytes + * @requires vm.gc == "Serial" + * @run main/othervm -XX:+UseSerialGC ThreadAllocatedMemory */ import java.lang.management.*;