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

Xin Liu xliu at openjdk.org
Sat Nov 5 00:07:40 UTC 2022


> BitMap is an abstract class. All subclasses provide their own allocators. It is the allocator brings the capability to 'resize' the container. 
> I would like to add a new 'GrowableBitmap' and make it the common base class. 
> 
> To substitute 'VectorSet', we also need to merge ResourceBitMap and ArenaBitMap because VectorSet supports Resource and Arena storage at the same time. 
> This patch unifies them.  ResourceBitMap is a specialized ArenaBitMap whose allocator is with NULL arena.
> 
> All subclasses of GrowableBitMap are elastic. I will add new interface like VectorSet::test_set(index). It will grow to include the new index.

Xin Liu has updated the pull request incrementally with two additional commits since the last revision:

 - 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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/10941/files
  - new: https://git.openjdk.org/jdk/pull/10941/files/ef116492..5fc4fd04

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10941&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10941&range=01-02

  Stats: 49 lines in 2 files changed: 20 ins; 14 del; 15 mod
  Patch: https://git.openjdk.org/jdk/pull/10941.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10941/head:pull/10941

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


More information about the hotspot-runtime-dev mailing list