RFR (S/M): 8184348: Merge G1ConcurrentMark::par_mark() and G1ConcurrentMark::grayRoot()
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
> 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
> New webrevs:
> http://cr.openjdk.java.net/~tschatzl/8184348/webrev.1/ (full)
Looks good to me.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 819 bytes
Desc: OpenPGP digital signature
More information about the hotspot-gc-dev