RFR: 8305252: make_method_handle_intrinsic may call java code under a lock
Coleen Phillimore
coleenp at openjdk.org
Tue Apr 18 15:31:01 UTC 2023
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.
-------------
Commit messages:
- 8305252: make_method_handle_intrinsic may call java code under a lock
Changes: https://git.openjdk.org/jdk/pull/13308/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13308&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8305252
Stats: 43 lines in 3 files changed: 15 ins; 6 del; 22 mod
Patch: https://git.openjdk.org/jdk/pull/13308.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13308/head:pull/13308
PR: https://git.openjdk.org/jdk/pull/13308
More information about the hotspot-dev
mailing list