RFR: 8075829: Move CSpaceCounters implementation to cSpaceCounters.cpp

Stefan Karlsson stefan.karlsson at oracle.com
Tue Mar 24 16:33:16 UTC 2015


Hi,

Please review this patch to reduce the dependency against 
space.inline.hpp in cSpaceCounters.hpp.

- The update_* functions are not called frequently and doesn't have to 
be inlined.

- The take_sample() function is called as a virtual call, and doesn't 
need to be inlined.

- The change in cSpaceCounters.hpp to include space.hpp instead of 
space.inline.hpp, causes some files to no longer include 
space.inline.hpp. If one of these files use the Space class but doesn't 
include space.inline.hpp we get a compile error stating that block_start 
is used but never defined, even when the block_start function isn't used 
from that file. To solve that, the 'inline' keyword is removed from the 
declaration, but kept at the definition. The compiler will not complain 
about missing definition of block_start if space.inline.hpp isn't 
included, but the linker will. The compiler will still be able to inline 
the function.

http://cr.openjdk.java.net/~stefank/8075829/webrev.01/
https://bugs.openjdk.java.net/browse/JDK-8075829

Thanks,
StefanK



More information about the hotspot-gc-dev mailing list