RFR: Disable merged cleanup for full GC
Aleksey Shipilev
shade at redhat.com
Thu Jun 29 08:32:30 UTC 2017
On 06/29/2017 09:54 AM, Roman Kennke wrote:
> Am 29.06.2017 um 08:51 schrieb Aleksey Shipilev:
>> On 06/29/2017 07:55 AM, Aleksey Shipilev wrote:
>>> On 06/28/2017 10:41 PM, Roman Kennke wrote:
>>>> The 'solution' for now is to disable merged monitor deflation
>>>> for full GC:
>>>>
>>>> http://cr.openjdk.java.net/~rkennke/disable-merged-cleanup-fullgc/webrev.00/
>>> Okay, good!
>> I now wonder if this is a harbinger of larger problem: what if Full GC hits when
>> there are forwarded objects, and there are references to both copies in heap?
>> Would it keep both copies alive?
> The GC code does not use the public read-barrier code. It should be fine.
> However, I agree that this code is a hack. I would like to see the
> special BarrierSet gone altogether. IMO, no GC code paths should hit the
> public read-barriers. I will have a look if that can possibly be done.
Thanks!
>> I guess we need to first complete the marking phase in Full GC, which would need
>> to update references (need_update_refs = true is set unconditionally, but it is
>> useless with disabled read barriers?), then turn read barriers on, and go on
>> with moving the objects.
>
> Failing the removal of the special BarrierSet, this seems like the next
> saner option, yes. :-)
>
> For the time being, can I push the proposed fix?
Yeah, ok.
-Aleksey
More information about the shenandoah-dev
mailing list