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