RFR: 8305252: make_method_handle_intrinsic may call java code under a lock [v3]

David Holmes dholmes at openjdk.org
Thu Apr 20 07:03:44 UTC 2023


On Wed, 19 Apr 2023 19:33:43 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.
>
> Coleen Phillimore has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
> 
>  - Merge branch 'master' into invoketable
>  - Update method deallocate_contents comments.
>  - 8305252: make_method_handle_intrinsic may call java code under a lock

Thanks for the updated comments and answering my queries. Looks fine.

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

Marked as reviewed by dholmes (Reviewer).

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


More information about the hotspot-dev mailing list