RFR(XS) 8138891: C1: Missing release memory barrier in C1's CMS post-barrier

Doerr, Martin martin.doerr at sap.com
Wed Oct 7 13:15:55 UTC 2015


Hi,

thanks for reviewing, Igor.

Can any aarch64 expert comment on this? Are there known CMS problems?
I couldn’t find a release barrier for the card mark store in C1 while I believe there is a releasing store in C2.

This change adds a dmb instruction in front of the card mark store in C1 if ConcMarkSweepGC is used.

Best regards,
  Martin


From: Igor Veresov [mailto:igor.veresov at oracle.com]
Sent: Mittwoch, 7. Oktober 2015 01:42
To: Doerr, Martin
Cc: hotspot compiler
Subject: Re: RFR(XS) 8138891: C1: Missing release memory barrier in C1's CMS post-barrier

Looks good.

igor

On Oct 6, 2015, at 7:24 AM, Doerr, Martin <martin.doerr at sap.com<mailto:martin.doerr at sap.com>> wrote:

Hi,

the dirty marking of the card table needs to be a releasing store for CMS. It's already there in template interpreter and C2 on PPC64. We have seen GC crashed when testing C1 on PPC64.
Unfortunately, C1 does currently not support releasing stores (or load-acquire) which could be exploited on aarch64 or ia64. Hence, we’re using a membar_store_store.
This change is a prerequisite for our C1 on PPC64 contribution.

Webrev is here:
http://cr.openjdk.java.net/~mdoerr/8138891_c1_cms_membar/webrev.00

Please review this change.  I need a sponsor, please.

Best regards,
  Martin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20151007/a781f2b6/attachment-0001.html>


More information about the hotspot-compiler-dev mailing list