-
Enhancement
-
Resolution: Fixed
-
P4
-
7
-
b06
-
sparc
-
solaris_10
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2208439 | 7 | Vladimir Kozlov | P4 | Closed | Fixed | b136 |
JDK-8017371 | 6u65 | Poonam Bajaj Parhar | P4 | Closed | Fixed | b01 |
JDK-8010123 | 6u60 | Poonam Bajaj Parhar | P4 | Closed | Fixed | b01 |
JDK-8015408 | 6u45 | Poonam Bajaj Parhar | P4 | Resolved | Fixed | b61 |
Consider next case:
if (a) {
...
}
for (; i<l;i++) {}
The loop has 2 entry paths. Loop predicates are generated for each path and they have different code execution state. Later in IdealLoopTree::beautify_loops() a merge region will be created for these fall in paths separating predicates from the loop. As result those predicates will be removed.
Investigate possibility to add an empty block before loop head block in CI flow to merge fall in paths only (not back branches).
if (a) {
...
}
for (; i<l;i++) {}
The loop has 2 entry paths. Loop predicates are generated for each path and they have different code execution state. Later in IdealLoopTree::beautify_loops() a merge region will be created for these fall in paths separating predicates from the loop. As result those predicates will be removed.
Investigate possibility to add an empty block before loop head block in CI flow to merge fall in paths only (not back branches).
- backported by
-
JDK-8010123 Add predicates when loop head bytecode is parsed instead of when back branch bytecode is parsed
- Closed
-
JDK-8015408 Missing loop predicate for loop with multiple entries
- Resolved
-
JDK-2208439 Missing loop predicate for loop with multiple entries
- Closed
-
JDK-8017371 Missing loop predicate for loop with multiple entries
- Closed
- relates to
-
JDK-8039050 Crash in C2 compiler at Node::rematerialize
- Closed
-
JDK-7046135 specjvm2008 crypto.rsa perf regression after 7008866
- Closed
(1 relates to)