-
Bug
-
Resolution: Fixed
-
P2
-
9
-
b49
-
generic
-
generic
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8085589 | emb-9 | Attila Szegedi | P2 | Resolved | Fixed | team |
JDK-8087024 | 8u65 | Attila Szegedi | P2 | Resolved | Fixed | b01 |
JDK-8071988 | 8u60 | Attila Szegedi | P2 | Closed | Fixed | b03 |
JDK-8138452 | emb-8u65 | Unassigned | P2 | Resolved | Fixed | b01 |
JDK-8076938 | emb-8u60 | Attila Szegedi | P2 | Resolved | Fixed | team |
try {
return;
} catch(x) {
print("Caught " + x);
} finally {
throw 0;
}
} f()
This program prints "Caught 0"; it should not. The issue here is that the "throw 0" is inlined in place of the "return" statement, but the catch block still guards the whole block (with the inline finally replacement). We should inline finallies as blocks, flag them as such, and handle flagged blocks when CodeGenerator processes try/catch/finally nodes to split the exception table ranges to exclude inlined finallies (that's the same strategy javac follows).
- backported by
-
JDK-8076938 Finally blocks inlined incorrectly
- Resolved
-
JDK-8085589 Finally blocks inlined incorrectly
- Resolved
-
JDK-8087024 Finally blocks inlined incorrectly
- Resolved
-
JDK-8138452 Finally blocks inlined incorrectly
- Resolved
-
JDK-8071988 Finally blocks inlined incorrectly
- Closed
- duplicates
-
JDK-8048862 With scope variable should not be accessible outside the with statement
- Closed
-
JDK-8066223 Fuzzing bug: ClassCastException between JO1P0 and WithObject
- Closed
-
JDK-8066231 Fuzzing bug: Invalid symbol slot
- Closed
-
JDK-8030198 Nashorn: finally-block may execute twice
- Closed
- relates to
-
JDK-8071991 Build errors in 8u-dev after backporting JDK-8067139 and JDK-8066232
- Closed
-
JDK-8075090 Add tests for the basic failure of try/finally compilation
- Closed