RFR: 8153745: Avoid spawning G1ParPreserveCMReferentsTask when there is no work to be done

Stefan Johansson stefan.johansson at oracle.com
Fri Apr 8 11:10:11 UTC 2016


Hi,

Please review this enhancement to avoid spawning tasks when there is no 
work to do:
https://bugs.openjdk.java.net/browse/JDK-8153745

Webrev:
http://cr.openjdk.java.net/~sjohanss/8153745/hotspot.00/

Summary:
During post_evacuate_collection_set the call to preserve_cm_referents 
ensures that no referents discovered by the concurrent reference 
processor are lost. This is done unconditionally and sometimes a lot of 
tasks are spawned just to find that there is no work to be done. This 
enhancement avoids the unnecessary work by first checking that the 
cm-ref-processor has at least some discovered reference to take care of.

Testing:
* JPRT
* RBT with 
hotspot/test/:hotspot_jprt,vm.parallel_class_loading.testlist,jdk/test/:tier1,vm.gc.ref.testlist,vm.gc.testlist

Thanks,
Stefan


More information about the hotspot-gc-dev mailing list