RFR (S/M): 8184348: Merge G1ConcurrentMark::par_mark() and G1ConcurrentMark::grayRoot()

Aleksey Shipilev shade at redhat.com
Fri Jul 14 11:25:53 UTC 2017


On 07/14/2017 01:19 PM, Thomas Schatzl wrote:
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8184348/webrev/

*) I'd probably split the assert with newlines. Makes webrevs tidier!

*) This is not needed, because par_mark already has the optimistic check, down
below in Bitmap::par_set_bit?

  54   // Dirty read to avoid CAS.
  55   if (_nextMarkBitMap->is_marked(obj_addr)) {
  56     return false;
  57   }

*) So, mark_reference_grey used to be called from G1CMSATBBufferClosure on
objects below TAMS, but now it would get called on objects past TAMS too?
Doesn't G1 verify there are no bits set in bitmap past TAMS
(G1HeapVerifier::verify_no_bits_over_tams)?

Thanks,
-Aleksey

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20170714/8e4e10cd/signature.asc>


More information about the hotspot-gc-dev mailing list