RFR: 8305252: make_method_handle_intrinsic may call java code under a lock [v2]
Coleen Phillimore
coleenp at openjdk.org
Wed Apr 19 12:30:30 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.
Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
Update method deallocate_contents comments.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/13308/files
- new: https://git.openjdk.org/jdk/pull/13308/files/ed40ee56..7cb29b91
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=13308&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=13308&range=00-01
Stats: 6 lines in 1 file changed: 2 ins; 2 del; 2 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