RFR: 8181124 Get rid of compiler.testlibrary.rtm.predicate

Ekaterina Pavlova ekaterina.pavlova at oracle.com
Tue May 30 21:28:22 UTC 2017

Hi all,

Please revive these changes which refactor compiler/rtm tests.

Many compiler/rtm tests use compiler.testlibrary.rtm.predicate.* predicates
to check if test should be executed or not. If test is not considered to be run it will
not do real testing and be marked as passed. It will be better to don't run such tests at all.
It will be more efficient from performance point of view and more accurate from reporting point of view.
The fix removes using of SupportedCPU, SupportedOS and SupportedVM predicates and use proper
"@requires" instead.

New vm.rtm.cpu and vm.rtm.os 'requires' properties have been implemented.
These change are in second webrev.
Local Platform.fileAsString() function was added instead of using of Utils.fileAsString()
to avoid full dependency on test/lib/jdk/test/lib library. It is not good but otherwise
we need refactor test/lib/jdk/test/lib. We agreed with Igor Ig. to postpone this refactoring.

Recent JDK-8180612 fix added range checks for RTMAbortRatio and RTMTotalCountIncrRate.
Fixed compiler/rtm/cli/TestRTMAbortRatioOptionOnUnsupportedConfig.java and
compiler/rtm/cli/TestRTMTotalCountIncrRateOptionOnUnsupportedConfig.java to don't pass invalid value options.
Otherwise these tests will fail.

    bug: https://bugs.openjdk.java.net/browse/JDK-8181124
 webrev[1]: http://cr.openjdk.java.net/~epavlova//8181124_hs/webrev.00/
       [2]: http://cr.openjdk.java.net/~epavlova//8181124_test/webrev.00/

Tested by running jprt and running compiler/rtm tests on all supported platforms.


 Igor Ignatyev volunteered to sponsor this change.

More information about the hotspot-compiler-dev mailing list