RFR: (T) AArch64: compiler/c2/aarch64/TestVolatilesG1.java fails with "Missing expected output membar_volatile..."

Andrew Dinn adinn at redhat.com
Fri Nov 29 15:48:45 UTC 2019


Could I please have a review of the following fix to file
TestVolatiles.java which is currently broken after the commit of the fix
for relates to JDK-8225776 (Optimize branch frequency of G1's write
post-barrier in C2).

JIRA:   https://bugs.openjdk.java.net/browse/JDK-8225776
webrev: http://cr.openjdk.java.net/~adinn/8232828/webrev.00

The test parses compiler AArch64 PrintAssembly output foir a variety of
volatile read, write and CAS operations to check that membars are added
or omitted appropriately when using, respectively, acquire/release
accesses vs unordered accesses supplemented with barriers. n.b. the test
only runs on a debug build JVM.

The current parse check expects to see G1 barrier operations between the
access and the trailing barrier + return. JDK-8225776 relocates the
barrier operations out of line after the trailing barrier + return. The
test has been updated so that the expected pattern of instructions
reflects this new order.


Testing:

Before the fix the test fails. After the fix it succeeds.

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



More information about the hotspot-compiler-dev mailing list