Details
Description
StressLCM and StressGCM use a global random number generator, which makes it difficult to repeat a certain execution (for example, for debugging purposes) in the face of concurrent method compilations. They could instead use the compilation-local random generator (Compile::random()) introduced in JDK-8252219 for StressIGVN, which introduces more variability (as it initializes the seed differently in each run) while making stress runs repeatable.
Note that this would affect the default behavior of StressLCM and StressGCM, as Compile::random() is initialized differently in each run by default (unless StressSeed is used).
Note that this would affect the default behavior of StressLCM and StressGCM, as Compile::random() is initialized differently in each run by default (unless StressSeed is used).
Attachments
Issue Links
- relates to
-
JDK-8270156 Add "randomness" and "stress" keys to JTreg tests which use StressGCM, StressLCM and/or StressIGVN
-
- Resolved
-
-
JDK-8254602 compiler/debug/TestStressCM.java failed with "RuntimeException: got the same optimization stats for different seeds: expected 45"
-
- Resolved
-
-
JDK-8009120 Fuzz instruction scheduling in HotSpot compilers
-
- Resolved
-
-
JDK-8252219 C2: Randomize IGVN worklist for stress testing
-
- Resolved
-
-
CODETOOLS-7902768 jcstress should support -XX:+StressIGVN
-
- Closed
-
(2 links to)