RFR: 8306950: [REDO] JDK-8305252 make_method_handle_intrinsic may call java code under a lock [v2]
    Matias Saavedra Silva 
    matsaave at openjdk.org
       
    Thu Apr 27 18:30:32 UTC 2023
    
    
  
On Thu, 27 Apr 2023 01:42:23 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:
> 
>   Remove Atomics and improve comments, thanks David.
Changes requested by matsaave (Committer).
src/hotspot/share/classfile/systemDictionary.cpp line 1953:
> 1951:   {
> 1952:     MonitorLocker ml(THREAD, InvokeMethodIntrinsicTable_lock);
> 1953:     while (true) {
Given that you break out of this loop based on the state of `created`, it might be better to change the loop to `while(!created)`.
-------------
PR Review: https://git.openjdk.org/jdk/pull/13681#pullrequestreview-1404636581
PR Review Comment: https://git.openjdk.org/jdk/pull/13681#discussion_r1179535290
    
    
More information about the hotspot-runtime-dev
mailing list