The inheritance chain looks like
BarrierSet <- ModRefBarrierSet <- CardTableBarrierSet <- G1BarrierSet
BarrierSet <- (Z/Shendahoah)BarrierSet
ModRefBarrierSet is specially that it's never used directly by any GC. One can merge it into its sole subclass to shorten the inheritance chain.
Similarly, ModRefBarrierSetAssembler can be merged into CardTableBarrierSetAssembler to maintain the mirroring between <X>BarrierSet and <X>BarrierSetAssembler.
BarrierSet <- ModRefBarrierSet <- CardTableBarrierSet <- G1BarrierSet
BarrierSet <- (Z/Shendahoah)BarrierSet
ModRefBarrierSet is specially that it's never used directly by any GC. One can merge it into its sole subclass to shorten the inheritance chain.
Similarly, ModRefBarrierSetAssembler can be merged into CardTableBarrierSetAssembler to maintain the mirroring between <X>BarrierSet and <X>BarrierSetAssembler.
- links to
- 
                     Review(master)
        openjdk/jdk/28013 Review(master)
        openjdk/jdk/28013
 P4
  P4