RFR (M) 8210155: Lock ClassLoaderDataGraph
    Harold David Seigel 
    harold.seigel at oracle.com
       
    Thu Aug 30 17:13:59 UTC 2018
    
    
  
Hi Coleen,
This looks good.  Just a couple of small questions.
In classLoaderData.cpp, can you get rid of line 1096 and change 1097 to 
cld->set_next(_head);  ?
    1096   ClassLoaderData* next = _head;
    1097   cld->set_next(next);
    1098   _head = cld;
In some places, it's unclear when a ClassLoaderDatagraph_lock is 
needed.  For example, why does CLDG::methods_do() need the lock but 
CLDG::classes_do() doesn't ?  Can you add a few comments?
In CMSCollector::preclean_cld(), do you need to hold the lock for the 
whole function or just until cld_do() is done?  Same question for 
compute() in klassVtable.cpp.
Thanks! Harold
On 8/29/2018 12:07 PM, coleen.phillimore at oracle.com wrote:
> Summary: In preparation for concurrent class unloading.
>
> open webrev at http://cr.openjdk.java.net/~coleenp/8210155.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8210155
>
> Tested with mach5 hs-tier1-7, which tests JFR and JVMTI changes. Also 
> tested with performance dev-submit testing with no regression.
>
> Thanks,
> Coleen
    
    
More information about the hotspot-dev
mailing list