The G1CMBitmap code in the g1ConcurrentMark files shows significant signs of old-age. Fix the following issues:
- naming conventions
- no inheritance between G1CMBitMap and G1CMBitMapR0, which forces a lot of unchecked casts. Also it seems more logical that the read-only bitmap should use G1CMBitMap instead of the latter inheriting from the former.
- improve visibility of methods
- G1CMBitmapClosure oddly uses a BitMapClosure working on bitmap indices. This is a bit odd as G1CMBitMap operates on HeapWords only; and requires the user to do some weird conversions that could otherwise be hidden.
Moving G1CMBitmap into their own set of files is going to be handled as a distinct issue.
- naming conventions
- no inheritance between G1CMBitMap and G1CMBitMapR0, which forces a lot of unchecked casts. Also it seems more logical that the read-only bitmap should use G1CMBitMap instead of the latter inheriting from the former.
- improve visibility of methods
- G1CMBitmapClosure oddly uses a BitMapClosure working on bitmap indices. This is a bit odd as G1CMBitMap operates on HeapWords only; and requires the user to do some weird conversions that could otherwise be hidden.
Moving G1CMBitmap into their own set of files is going to be handled as a distinct issue.