RFR(XS): 6651256: 6651256: jstack: DeleteGlobalRef method call doesn't lead to descreasing of global refs count shown by jstack

Yumin Qi yumin.qi at oracle.com
Thu Jan 23 08:29:04 PST 2014


Thanks, will change that --- JPRT did not complain.  Thanks for the review!

Yumin

On 1/23/2014 7:50 AM, Coleen Phillimore wrote:
>
> Yumin, Can you make the parameter not be "oop"?  I'm surprised it 
> compiles with fastdebug but maybe the compiler can separate the 
> namespaces for types better than I can visually.   Call the parameter 
> oopptr or something like that.   Otherwise change looks fine.
> Thanks,
> Coleen
>
> On 01/23/2014 08:37 AM, Zhengyu Gu wrote:
>> Good to me.
>>
>> -Zhengyu
>>
>> On 1/23/2014 2:12 AM, Yumin Qi wrote:
>>> Please review this simple fix:
>>>
>>> bug: https://bugs.openjdk.java.net/browse/JDK-6651256
>>> webrev: http://cr.openjdk.java.net/~minqi/6651256/webrev00/
>>>
>>> Summary: jni_DeleteGlobalRef does not really release the jni handle, 
>>> instead, set the handle point to JNIHandles::_deleted_handle which 
>>> holds an oop instance (java/lang/Object) in Java heap and never be 
>>> GC'ed. When counting number of global reference, it counts all the 
>>> handles on the chain list, which includes the already deleted ones. 
>>> Fix by not counting those already deleted references.
>>>
>>> Tests: JPRT, tmtools/jstack/jniglobalref/globalrefcount
>>>
>>> Thanks
>>> Yumin
>>
>



More information about the hotspot-runtime-dev mailing list