Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8219635

aarch64: missing LoadStore barrier in TemplateTable::fast_storefield

XMLWordPrintable

    • b10
    • aarch64
    • generic

        Reported by: patrick@os.amperecomputing.com

        https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-February/006942.html
        ===================
        Perhaps TemplateTable::fast_storefield needs the additional " | MacroAssembler::LoadStore" as well, please double check, thanks.
        http://hg.openjdk.java.net/jdk/jdk/file/f41793b5b83f/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp#l2984
        ===================

        Proposed fix: https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2019-February/006947.html

        diff -r 2a78b2963793 src/hotspot/cpu/aarch64/templateTable_aarch64.cpp
        --- a/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp Wed Feb 13 13:27:17 2019 +0100
        +++ b/src/hotspot/cpu/aarch64/templateTable_aarch64.cpp Fri Feb 22 17:18:20 2019 +0800
        @@ -2981,7 +2981,7 @@
           {
             Label notVolatile;
             __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
        - __ membar(MacroAssembler::StoreStore);
        + __ membar(MacroAssembler::StoreStore | MacroAssembler::LoadStore);
             __ bind(notVolatile);
           }

              fyang Fei Yang
              fyang Fei Yang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: