RFR: 8305252: make_method_handle_intrinsic may call java code under a lock

Ioi Lam iklam at openjdk.org
Tue Apr 18 21:47:44 UTC 2023


On Mon, 3 Apr 2023 19:33:27 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

> This patch releases the InvokeMethodTable_lock while creating a method handle intrinsic.  If there's a race, it frees a Method created by racing thread.  The logic is simple but uses the deallocate_list infrastructure that's mostly used for redefinition making it less rare.  With Dacapo2009, this adds about 20 Methods + constant pools to the list.  Also the method has to call nmethod->flush which is assumed to be something only GC calls.
> 
> Tested with tier1-4.

Looks reasonable to me.

Marked as reviewed by iklam (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/13308#pullrequestreview-1390978585
PR Review: https://git.openjdk.org/jdk/pull/13308#pullrequestreview-1390978766


More information about the hotspot-dev mailing list