8256535: C2: randomize CCP processing order for stress testing

Add 'StressCCP' option to randomize the selection of the node to be examined in
each CCP iteration.

Reviewed-by: chagedorn, kvn, thartmann
This commit is contained in:
Roberto Castañeda Lozano 2021-01-07 20:43:48 +00:00 committed by Vladimir Kozlov
parent d8ad63019a
commit bc56541424
6 changed files with 55 additions and 23 deletions

View file

@ -767,9 +767,9 @@ Compile::Compile( ciEnv* ci_env, ciMethod* target, int osr_bci,
if (failing()) return;
NOT_PRODUCT( verify_graph_edges(); )
// If LCM, GCM, or IGVN are randomized for stress testing, seed
// random number generation and log the seed for repeatability.
if (StressLCM || StressGCM || StressIGVN) {
// If any phase is randomized for stress testing, seed random number
// generation and log the seed for repeatability.
if (StressLCM || StressGCM || StressIGVN || StressCCP) {
_stress_seed = FLAG_IS_DEFAULT(StressSeed) ?
static_cast<uint>(Ticks::now().nanoseconds()) : StressSeed;
if (_log != NULL) {