[aarch64-port-dev ] RFR: AArch64: incorrect code generation for StoreCM

Monica Beckwith Monica.Beckwith at arm.com
Fri Jul 6 18:30:03 UTC 2018


Thank you Zhongwei and Andrew for catching and correcting the volatile write + CMS wo conditional card mark case. At Arm, we have tools that can help design and test such cases for our memory model (See http://www0.cs.ucl.ac.uk/staff/J.Alglave/papers/toplas14.pdf ). The tool correctly caught the case where STLR by itself didn't provide the desired order. So, we would need:

STLR (guarantees observance of load/stores preceding (in PO) this instruction)
DMB ST (Guarantees store order before and after)
STR

Thank you both for correcting this just in time :D.

Regards,
Monica

On 7/4/18, 7:18 AM, "aarch64-port-dev on behalf of Andrew Dinn" <aarch64-port-dev-bounces at openjdk.java.net on behalf of adinn at redhat.com> wrote:

    On 04/07/18 10:55, Zhongwei Yao wrote:
    > It looks good to me.

    Thanks Zhongwei. I will list you as a reviewer in the patch.

    I'm still waiting for an ack from Andrew Haley. Unfortunately, he is
    away today so a push will be delayed until tomorrow at the earliest.

    >>> 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.
    >>
    > Yeah, agree.
    I looked at this and it should be fairly easy to do, The only tricky
    thing is ensuring that the memory operand to the StoreCM rules does not
    use an index register, displacement or offset -- releasing store
    addressing modes are more restricted than normal stores so the rule
    needs an indirect type for the mem operand rather than a generic memory
    type.

    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


IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


More information about the hotspot-compiler-dev mailing list