JDK-8262950 : Restructure compiler/intrinsics/TestRotate.java for easier compilation
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 17
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-03-03
  • Updated: 2021-07-15
  • Resolved: 2021-03-04
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 17
17 b13Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
It seems that after JDK-8256438 this test is very slow. See JDK-8262465 for more evidence of this. 
I believe the underlying cause is that main() is way too busy with test cases, so this eventually happens:

$ javac test/hotspot/jtreg/compiler/intrinsics/TestRotate.java
$ java -XX:-TieredCompilation -XX:CompileThreshold=1000 -Xbatch -XX:+PrintCompilation -cp test/hotspot/jtreg compiler.intrinsics.TestRotate
 ...
   6112  112 % !b        compiler.intrinsics.TestRotate::main @ 1494 (3008 bytes)   COMPILE SKIPPED: out of nodes during split (retry at different tier)

So, while the test is intended to test rotate intrinsics, I think it never gets there because compilation bails. And this also makes the test slow. This is tier1 test, and so its performance is somewhat important for developer experience.

This improvement restructures the test to be easier to JIT compile. 
Comments
Changeset: 7915a1fc Author: Aleksey Shipilev <shade@openjdk.org> Date: 2021-03-04 07:41:22 +0000 URL: https://git.openjdk.java.net/jdk/commit/7915a1fc
04-03-2021