-
Enhancement
-
Resolution: Unresolved
-
P4
-
16, 17
Running test case from JDK-8253353 shows that a lot (around 400) of nested irreducible loops were created after JDK-8240576 fix.
BeforeJDK-8240576 I see next loops from TraceLoopOpts with only 2 IRREDUCIBLE outer loops:
Loop: N0/N0 has_call has_sfpt
Loop: N6764/N6752 IRREDUCIBLE has_call
Loop: N2317/N3581 IRREDUCIBLE sfpts={ 4042 5697 }
Loop: N6785/N4367 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5860 }
Loop: N6794/N4380 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5674 }
Loop: N6803/N4566 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5687 }
Loop: N6812/N4577 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5971 }
Loop: N6821/N4722 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 6047 }
After that fix there is very long nested list of IRREDUCIBLE loops:
Loop: N0/N0 has_call has_sfpt
Loop: N6752/N3584 IRREDUCIBLE has_call
Loop: N6764/N3585 IRREDUCIBLE has_call
Loop: N6776/N3586 IRREDUCIBLE has_call
Loop: N6788/N3587 IRREDUCIBLE has_call
Loop: N6800/N3588 IRREDUCIBLE has_call
Loop: N6812/N3589 IRREDUCIBLE has_call
Loop: N6824/N3590 IRREDUCIBLE has_call
Loop: N6836/N3591 IRREDUCIBLE has_call
....
Loop: N10592/N3581 IRREDUCIBLE
Loop: N10604/N3580 sfpts={ 4042 5697 }
Loop: N10614/N4367 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5860 }
Loop: N10623/N4380 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5674 }
Loop: N10632/N4566 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5687 }
Loop: N10641/N4577 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5971 }
Loop: N10650/N4722 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 6047 }
Before
Loop: N0/N0 has_call has_sfpt
Loop: N6764/N6752 IRREDUCIBLE has_call
Loop: N2317/N3581 IRREDUCIBLE sfpts={ 4042 5697 }
Loop: N6785/N4367 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5860 }
Loop: N6794/N4380 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5674 }
Loop: N6803/N4566 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5687 }
Loop: N6812/N4577 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5971 }
Loop: N6821/N4722 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 6047 }
After that fix there is very long nested list of IRREDUCIBLE loops:
Loop: N0/N0 has_call has_sfpt
Loop: N6752/N3584 IRREDUCIBLE has_call
Loop: N6764/N3585 IRREDUCIBLE has_call
Loop: N6776/N3586 IRREDUCIBLE has_call
Loop: N6788/N3587 IRREDUCIBLE has_call
Loop: N6800/N3588 IRREDUCIBLE has_call
Loop: N6812/N3589 IRREDUCIBLE has_call
Loop: N6824/N3590 IRREDUCIBLE has_call
Loop: N6836/N3591 IRREDUCIBLE has_call
....
Loop: N10592/N3581 IRREDUCIBLE
Loop: N10604/N3580 sfpts={ 4042 5697 }
Loop: N10614/N4367 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5860 }
Loop: N10623/N4380 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5674 }
Loop: N10632/N4566 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5687 }
Loop: N10641/N4577 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 5971 }
Loop: N10650/N4722 limit_check profile_predicated predicated counted [int,int),+1 (-1 iters) has_call has_sfpt sfpts={ 6047 }
- relates to
-
JDK-8240576 JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges
- Closed