RFR: 8296139: Make GrowableBitMap the base class of all implementations [v4]

Xin Liu xliu at openjdk.org
Tue Nov 8 17:55:33 UTC 2022


On Tue, 8 Nov 2022 15:03:54 GMT, Axel Boldt-Christmas <aboldtch at openjdk.org> wrote:

>> Xin Liu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:
>> 
>>  - Merge branch 'master' into JDK-8296139
>>  - Bring back verify_size to the constructor of BitMap.
>>    
>>    Also resume the underlying member data to be private. Subclasses of
>>    GrowableBitMap update them using update(map, size).
>>  - Reivew comments from stefank
>>  - Refactor GrowableBitMap using C++ CRTP
>>    
>>    With CPTP, we don't need to have explicit Allocators. Subclasses expose
>>    allocate/free member functions upward to GrowableBitMap<BitMapWithAllocator>. This
>>    aproach is similar to GrowableArray.
>>  - Add unittest for Arena.
>>  - Avoid polluting namespace.
>>    
>>    uses qualified bm_word_t and idx_t.
>>  - Change ResourceBitMap to subclass of ArenaBitMap.
>>  - Add GrowableBitMap.
>
> src/hotspot/share/utilities/bitMap.hpp line 401:
> 
>> 399:   bm_word_t* allocate(idx_t size_in_words) const;
>> 400:   void free(bm_word_t* map, idx_t size_in_words) const {
>> 401:     // ArenaBitMaps currently don't free memory.
> 
> s/ArenaBitMaps/ResourceBitMap/
> 
> Or keep the old `Don't free resource allocated arrays.` comment

I take a note and will fix this one in the next change. thanks!

-------------

PR: https://git.openjdk.org/jdk/pull/10941


More information about the hotspot-runtime-dev mailing list