RFR: 8166607: G1 needs klass_or_null_acquire

Kim Barrett kim.barrett at oracle.com
Sat Oct 22 01:54:06 UTC 2016


> On Oct 21, 2016, at 8:46 PM, Kim Barrett <kim.barrett at oracle.com> wrote:
> In the humongous case, if it bails because klass_or_null == NULL, we must re-enqueue
> the card, since *card_ptr has been cleared by the time of that check.  The recorded write we’re
> dealing with was stale, since klass_or_null == NULL, but there could be an in-flight real recorded
> write to the same card from the allocating thread.  Our setting the card to clean could cancel
> processing of that in-flight record.

That isn’t the right failure description; it’s that the allocating thread might write to the card and
decide not to record because card is marked dirty, then we process stale card and mark it clean
but don’t process it.  I got the description mixed up somewhere between whiteboard and email.



More information about the hotspot-dev mailing list