8232828: AArch64: compiler/c2/aarch64/TestVolatilesG1.java fails after JDK-8225776
authoradinn
Fri, 29 Nov 2019 15:37:13 +0000
changeset 59326 851a389fc54d
parent 59325 3636bab5e81e
child 59327 2c3578aa0bdf
8232828: AArch64: compiler/c2/aarch64/TestVolatilesG1.java fails after JDK-8225776 Reviewed-by: aph
test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java
--- a/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java	Fri Nov 29 12:09:25 2019 +0100
+++ b/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java	Fri Nov 29 15:37:13 2019 +0000
@@ -316,14 +316,18 @@
             case "G1":
                 // a card mark volatile barrier should be generated
                 // before the card mark strb
+                //
+                // following the fix for 8225776 the G1 barrier is now
+                // scheduled out of line after the membar volatile and
+                // and subsequent return
                 matches = new String[] {
                     "membar_release \\(elided\\)",
                     useCompressedOops ? "stlrw?" : "stlr",
+                    "membar_volatile \\(elided\\)",
+                    "ret",
                     "membar_volatile",
                     "dmb ish",
-                    "strb",
-                    "membar_volatile \\(elided\\)",
-                    "ret"
+                    "strb"
                 };
                 break;
             case "Shenandoah":
@@ -354,16 +358,20 @@
             case "G1":
                 // a card mark volatile barrier should be generated
                 // before the card mark strb
+                //
+                // following the fix for 8225776 the G1 barrier is now
+                // scheduled out of line after the membar volatile and
+                // and subsequent return
                 matches = new String[] {
                     "membar_release",
                     "dmb ish",
                     useCompressedOops ? "strw?" : "str",
                     "membar_volatile",
                     "dmb ish",
-                    "strb",
+                    "ret",
                     "membar_volatile",
                     "dmb ish",
-                    "ret"
+                    "strb"
                 };
                 break;
             case "CMSCondMark":
@@ -477,14 +485,18 @@
             case "G1":
                 // a card mark volatile barrier should be generated
                 // before the card mark strb
+                //
+                // following the fix for 8225776 the G1 barrier is now
+                // scheduled out of line after the membar acquire and
+                // and subsequent return
                 matches = new String[] {
                     "membar_release \\(elided\\)",
                     useCompressedOops ? "cmpxchgw?_acq" : "cmpxchg_acq",
+                    "membar_acquire \\(elided\\)",
+                    "ret",
                     "membar_volatile",
                     "dmb ish",
-                    "strb",
-                    "membar_acquire \\(elided\\)",
-                    "ret"
+                    "strb"
                 };
                 break;
             case "Shenandoah":
@@ -515,16 +527,20 @@
             case "G1":
                 // a card mark volatile barrier should be generated
                 // before the card mark strb
+                //
+                // following the fix for 8225776 the G1 barrier is now
+                // scheduled out of line after the membar acquire and
+                // and subsequent return
                 matches = new String[] {
                     "membar_release",
                     "dmb ish",
                     useCompressedOops ? "cmpxchgw? " : "cmpxchg ",
+                    "membar_acquire",
+                    "dmb ish",
+                    "ret",
                     "membar_volatile",
                     "dmb ish",
-                    "strb",
-                    "membar_acquire",
-                    "dmb ish",
-                    "ret"
+                    "strb"
                 };
                 break;
             case "CMSCondMark":
@@ -653,14 +669,18 @@
             case "G1":
                 // a card mark volatile barrier should be generated
                 // before the card mark strb
+                //
+                // following the fix for 8225776 the G1 barrier is now
+                // scheduled out of line after the membar acquire and
+                // and subsequent return
                 matches = new String[] {
                     "membar_release \\(elided\\)",
                     useCompressedOops ? "cmpxchgw?_acq" : "cmpxchg_acq",
+                    "membar_acquire \\(elided\\)",
+                    "ret",
                     "membar_volatile",
                     "dmb ish",
-                    "strb",
-                    "membar_acquire \\(elided\\)",
-                    "ret"
+                    "strb"
                 };
                 break;
             case "Shenandoah":
@@ -691,16 +711,20 @@
             case "G1":
                 // a card mark volatile barrier should be generated
                 // before the card mark strb
+                //
+                // following the fix for 8225776 the G1 barrier is now
+                // scheduled out of line after the membar acquire and
+                // and subsequent return
                 matches = new String[] {
                     "membar_release",
                     "dmb ish",
                     useCompressedOops ? "cmpxchgw? " : "cmpxchg ",
+                    "membar_acquire",
+                    "dmb ish",
+                    "ret",
                     "membar_volatile",
                     "dmb ish",
-                    "strb",
-                    "membar_acquire",
-                    "dmb ish",
-                    "ret"
+                    "strb"
                 };
                 break;
             case "CMSCondMark":
@@ -809,14 +833,18 @@
             case "G1":
                 // a card mark volatile barrier should be generated
                 // before the card mark strb
+                //
+                // following the fix for 8225776 the G1 barrier is now
+                // scheduled out of line after the membar acquire and
+                // and subsequent return
                 matches = new String[] {
                     "membar_release \\(elided\\)",
                     useCompressedOops ? "atomic_xchgw?_acq" : "atomic_xchg_acq",
+                    "membar_acquire \\(elided\\)",
+                    "ret",
                     "membar_volatile",
                     "dmb ish",
-                    "strb",
-                    "membar_acquire \\(elided\\)",
-                    "ret"
+                    "strb"
                 };
                 break;
             case "Shenandoah":
@@ -845,16 +873,20 @@
             case "G1":
                 // a card mark volatile barrier should be generated
                 // before the card mark strb
+                //
+                // following the fix for 8225776 the G1 barrier is now
+                // scheduled out of line after the membar acquire and
+                // and subsequent return
                 matches = new String[] {
                     "membar_release",
                     "dmb ish",
                     useCompressedOops ? "atomic_xchgw? " : "atomic_xchg ",
+                    "membar_acquire",
+                    "dmb ish",
+                    "ret",
                     "membar_volatile",
                     "dmb ish",
-                    "strb",
-                    "membar_acquire",
-                    "dmb ish",
-                    "ret"
+                    "strb"
                 };
                 break;
             case "CMSCondMark":