diff --git a/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java b/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java index c9028c5fa65..3a291f03f8d 100644 --- a/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java +++ b/test/hotspot/jtreg/compiler/c2/aarch64/TestVolatiles.java @@ -331,14 +331,18 @@ private void checkstore(OutputAnalyzer output, String testType, boolean useBarri 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 "CMSCondMark": @@ -399,16 +403,20 @@ private void checkstore(OutputAnalyzer output, String testType, boolean useBarri 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": @@ -522,14 +530,18 @@ private void checkcas(OutputAnalyzer output, String testType, boolean useBarrier 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 "CMSCondMark": @@ -589,16 +601,20 @@ private void checkcas(OutputAnalyzer output, String testType, boolean useBarrier 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_volatile", - "dmb ish", - "strb", "membar_acquire", "dmb ish", - "ret" + "ret", + "membar_volatile", + "dmb ish", + "strb" }; break; case "CMSCondMark": @@ -725,14 +741,18 @@ private void checkcae(OutputAnalyzer output, String testType, boolean useBarrier 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 "CMSCondMark": @@ -781,16 +801,20 @@ private void checkcae(OutputAnalyzer output, String testType, boolean useBarrier 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_volatile", - "dmb ish", - "strb", "membar_acquire", "dmb ish", - "ret" + "ret", + "membar_volatile", + "dmb ish", + "strb" }; break; case "CMSCondMark": @@ -899,14 +923,18 @@ private void checkgas(OutputAnalyzer output, String testType, boolean useBarrier 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 "CMSCondMark": @@ -955,16 +983,20 @@ private void checkgas(OutputAnalyzer output, String testType, boolean useBarrier 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_volatile", - "dmb ish", - "strb", "membar_acquire", "dmb ish", - "ret" + "ret", + "membar_volatile", + "dmb ish", + "strb" }; break; case "CMSCondMark":