> On Jul 14, 2016, at 8:55 AM, David Holmes <david.hol...@oracle.com> wrote:
> 
> On 13/07/2016 9:06 PM, Mandy Chung wrote:
>> 
>>> On Jul 13, 2016, at 6:56 PM, Amit Sapre <amit.sa...@oracle.com> wrote:
>>> 
>>> Hello,
>>> Please review the fix
>>> 
>>> Bug ID : https://bugs.openjdk.java.net/browse/JDK-8151099
>>> Webrev : http://cr.openjdk.java.net/~hb/sponsorship/8151099/webrev.00/
>> 
>> Looks okay.
>> 
>> You could rename the method to load_and_initialize_klass_or_null to follow 
>> the existing naming convention.
> 
> +1 on that "softload" is not suitable.
> 
> My concern is that the code that calls 
> Management::com_sun_management_internal_GarbageCollectorExtImpl_klass
> does not seem to handle getting NULL correctly:
> 
> ./share/vm/services/memoryManager.cpp
> ./share/vm/services/gcNotifier.cpp

Thanks for pointing this out.

We will need to make sure that when jdk.management is present, it will create 
com.sun.management.internal.GarbageCollectorExtImpl as the GC memory manager 
objects for jmm_GetMemoryManagers.  That implements 
com.sun.management.GarbageCollectorMXBean.

When jdk.management is not present, it should return 
sun.management.GarbageCollectorImpl instead that implements 
java.lang.management.GarbageCollectorMXBean.

gcNotifier implements both com.sun.management.GcInfo as well as 
java.lang.management.MemoryPoolMXBean notification.  More surgery might need to 
be done to make sure the implementation handles properly when jdk.management is 
present and absent.

Mandy

Reply via email to