RFR: 8240556: Abort concurrent mark after effective eager reclamation of humongous objects

Albert Yang albert.m.yang at oracle.com
Fri Sep 18 12:44:12 UTC 2020


Hi Thomas,

 > This way the implementation does not distract from reading the .hpp file as they've 
become larger.

That header file is ~120 LOC, which seems alright. Out-of-line definition duplicates the 
methods signature, which, IMO, introduces maintenance overhead for trivial methods.

 > There is no gain in inlining them imho as the callers are not performance sensitive (as 
in: this is called once now and then), so I did not add a .inline.hpp file.

Since it's costly to do whole program optimization, I prefer to let compiler see as much 
as possible before linking.

 > C++14 (actually 11 already) finally allows specification of a type, and I prefer the 
certainty of having a particular type over the uncertainty of some random type chosen by 
the compiler. That's just personal style.

I see. Thank you for the explanation. I interpret `enum <> : type` as that the author has 
a conscious choice that this enum must be of certain size because of alignment, cacheline 
size or synchronization reason. Of course, it's just me. Please pick the style you find 
most comfortable.

-- 
/Albert


More information about the hotspot-jfr-dev mailing list