RFR: 8275800: Redefinition leaks MethodData::_extra_data_lock [v3]

Coleen Phillimore coleenp at openjdk.java.net
Tue Oct 26 11:47:18 UTC 2021


On Mon, 25 Oct 2021 23:21:02 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

>> Yes, I think that combining release_C_heap_structures and release_C_heap_structures_internal into single release_C_heap_structures with a default parameter will simplify code a little bit. But I'm not sure it is that important and would leave it for you to decide. :)
>
> I did not see the last comment from David when added mine. In fact, I like the David's suggestion to call `ik->constants()->release_C_heap_structures()` directly. It looks more simple to me.

I'd prefer that the callers do NOT release the constant pool CHeap structures directly.  The main caller, during class unloading has the InstanceKlass as a handle to delete and it would be really easy to miss the constant pool case.  The constant pool is contained by the InstanceKlass in this case.  Deallocate_contents is the only exception for the exceptional case where we have added the InstanceKlass to the deallocate list.

-------------

PR: https://git.openjdk.java.net/jdk/pull/6105


More information about the serviceability-dev mailing list