RFR: 8305252: make_method_handle_intrinsic may call java code under a lock [v3]

Matias Saavedra Silva matsaave at openjdk.org
Fri Apr 21 15:50:43 UTC 2023


On Fri, 21 Apr 2023 03:23:36 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> This change adds an entry to the method intrinsic table without the Method and creates one later.  Racing threads wait() to get the method.  This is somewhat more complicated but avoids having to flush the Method and compiled nmethod for the thread that loses the race.
>> Tested with tier1-4.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix another bug with intrinsic method iteration (need to check for null)

Looks good! I just have one minor comment

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

> 1998:                      "Out of space in CodeCache for method handle intrinsic");
> 1999:     }
> 2000:   }

Since the outer conditional doesn't do anything if `HAS_PENDING_EXCEPTION` is true, I think you can combine them in one if statement. 
`if (throw_error && !HAS_PENDING_EXCEPTION)`

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

Changes requested by matsaave (Committer).

PR Review: https://git.openjdk.org/jdk/pull/13307#pullrequestreview-1396002548
PR Review Comment: https://git.openjdk.org/jdk/pull/13307#discussion_r1173921777


More information about the hotspot-runtime-dev mailing list