RFR: 8205694: AArch64: Add test to validate volatile load, store and CAS code generation

Andrew Dinn adinn at redhat.com
Wed Jun 27 16:28:55 UTC 2018


Here is an updated webrev which addresses all comments modulo Dmitrij's
recommendation about use of @run driver for which I am still awaiting
clarification. I hope the changes described below are satisfactory.

   webrev: http://cr.openjdk.java.net/~adinn/8205694/webrev.01
   JIRA: https://bugs.openjdk.java.net/browse/JDK-8205694

Dmitirj, if you can explain what else I need to tweak then I'll be happy
to update the webrev. If not please let me know if it is ok to push.

Changes:

Modified asserts in the aarch64.ad predicates to guarantees in all cases
where they relate to expectations about the graph structure. The ones
that are still left as asserts refer to expectations about what nodes
should be passed as predicate arguments i.e. the former are about
consistency external to the aarch64.ad file and the latter to internal
consistency (I don't believe the latter merit a check in product code).

Added copyright headers to all test files

Turned the original test class (TestVolatiles) into a test runner which
can be used to check a specific volatile op + GC config combination.

Added 5 new test classes (TestVolatilesG1, TestVolatilesSerial,
TestVolatilesParallel, TestVolatilesCMS, and TestVolatilesCMSCardMark)
which indirect control to TestVolatiles to test each of the 5 different
volatile ops with one of the relevant GC configurations.

Added @require conditions to each of the 5 new tests to ensure it is run
in a server GC and that the GC confguration under test is supported by
the JVM.

Testing:

All 5 tests passed on a debug, server VM.

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



More information about the hotspot-compiler-dev mailing list