RFR: 8248216: JFR: Unify handling of all OopStorage instances in LeakProfiler root processing

Stefan Karlsson stefan.karlsson at oracle.com
Wed Jun 24 12:36:51 UTC 2020


Hi Erik,

On 2020-06-24 11:13, Erik Österlund wrote:
> Hi,
>
> We want it to be as convenient as possible for the runtime to add new 
> OopStorage instances. Therefore, rather than picking specific 
> OopStorages during LeakProfiler root processing, the 
> OopStorageSet::strong_iterator() should be used instead. That way, 
> once a new OopStorage is added to the OopStorageSet, it is 
> automatically plugged in to the JFR LeakProfiler.
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8248216
>
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8248216/webrev.00/

https://cr.openjdk.java.net/~eosterlund/8248216/webrev.00/src/hotspot/share/jfr/leakprofiler/chains/rootSetClosure.cpp.udiff.html

I've now pushed a change so that you can simplify:

+ for (OopStorageSet::Iterator it = OopStorageSet::strong_iterator(); 
!it.is_end(); ++it) {
+ it->oops_do(this);
+ } to: OopStorageSet::strong_oops_do(this); The rest looks fine, but 
should maybe be reviewed on hotspot-jfr-dev. Thanks, StefanK

>
> Thanks,
> /Erik



More information about the hotspot-runtime-dev mailing list