RFR: 8151439: Inline the BitMap constructor

Stefan Karlsson stefan.karlsson at oracle.com
Tue Mar 8 10:52:16 UTC 2016

Hi all,

Please review this patch to inline the BitMap constructor. This will 
allow us to efficiently use temporary, stack-allocated BitMaps.


A code example of why we want to inline the BitMap constructor:
void MyClass::set_bit(idx_t x) {
     BitMap(&_bits, BitsPerWord).par_set_bit(x).

We could have used an instance of a BitMap in MyClass, but that would 
store both a bm_word_t* and the size of the bitmap storage in MyClass. 
Since the size is a compile-time constant, we can use the above 
construct to only store a bm_word_t field in MyClass, and thereby reduce 
the size of MyClass. By inlining the constructor, we get rid of the 
extra overhead of creating a BitMap.


More information about the hotspot-dev mailing list