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