RFR: 8306950: [REDO] JDK-8305252 make_method_handle_intrinsic may call java code under a lock [v5]

ExE Boss duke at openjdk.org
Fri Apr 28 03:59:24 UTC 2023


On Thu, 27 Apr 2023 19:45:26 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> This change redoes the intrinsic method table change to not hold a lock while calling make_method_handle_intrinsic.  The first commit is the original patch and the second is the fix to the bug it caused.
>> The Atomic operations might not be needed.
>> Tested with tier1-7, where tests in multiple tiers were regularly failing.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Ioi noticed that met can never be null after put-if-absent.

src/hotspot/share/classfile/systemDictionary.cpp line 1955:

> 1953:     bool created = false;
> 1954:     // Loop until the current thread won the race and will try to create the full entry.
> 1955:     while (!created) {

Maybe instead use:

do { ... } while (!created);

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13681#discussion_r1179902267


More information about the hotspot-runtime-dev mailing list