[aarch64-port-dev ] RFR: AArch64: incorrect code generation for StoreCM
Andrew Dinn
adinn at redhat.com
Wed Jul 4 09:31:31 UTC 2018
Hi Zhongwei,
Thank you for your review.
On 04/07/18 08:17, Zhongwei Yao wrote:
> I find a typo in the TestVolatiles.java file: it uses
> "CMSCondCardMark" in checkstore() and checkcas() but the testType is
> past as "CMSCondMark". It leads to "CMSCondCardMark" case not tested.
Yes, indeed. Thanks for catching that.
> And the condition in aarch64.ad:2871 (patched)
> UseConcMarkSweepGC || !UseCondCardMark
> should be "UseConcMarkSweepGC && !UseCondCardMark", right? (It could
> be catched if the previous typo is fixed).
Doh, once again thanks. The current heat wave in the UK is clearly
making my logic circuits execute some invalid boolean reductions.
Applying the first fix to the test code led to a failure for
TestVolatilesCMSCondMark as you described.
Applying the second fix to aarch64.ad restores all tests to working
correctly.
An updated webrev against the latest jdk11 is available here
http://cr.openjdk.java.net/~adinn/8206163/webrev.01/
> I'm thinking whether it is OK to replace "stlr; dmb ishst; strb" with
> "stlr; strlb" when we using CMS without conditional card marking.
> What do you think?
Yes, that does look better. However, I would prefer to implement that as
a separate fix if that is ok. I'd like to have a correct version checked
in before we try to implement an optimized version.
regards,
Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander
More information about the hotspot-compiler-dev
mailing list