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

Aleksey Shipilev shade at redhat.com
Fri Jul 14 13:18:43 UTC 2017

On 07/14/2017 02:20 PM, Thomas Schatzl wrote:
> Not completely sure what you are referring to, but I split some very
> long asserts across lines.

Yes, I meant that, sorry for not being clear. Any webrev that requires me to
scroll horizontally on 2560-pixel wide screen triggers me!

>> *) 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?
> CMTask::make_reference_grey() now calls
> G1ConcurrentMark::mark_in_next_bitmap(), not ConcurrentMark::par_mark()
> which does not exist any more: G1ConcurrentMark::mark_in_next_bitmap()
> in the first check filters out marking attempts above nTAMS
> (g1ConcurrentMark.inline.hpp:47 now), returning false, which makes
> make_reference_grey() exit immediately in that case. This seems to
> achieve the same effect.

Ah, I missed that part! I agree this part is fine then.

> If you are worried whether there is a performance difference because
> maybe now we do more work in some cases, all paths previously leading
> to the former G1ConcurrentMark::par_mark() did the nTAMS check in one
> way or another already (of course in inconsistent fashion) so there
> should be no change here.

No, I am not worried. SATB-heavy workloads have problems way beyond bitmap
marking :)

> New webrevs:
> http://cr.openjdk.java.net/~tschatzl/8184348/webrev.1/ (full)

Looks good to me.


-------------- 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/f54049df/signature.asc>

More information about the hotspot-gc-dev mailing list