-
Bug
-
Resolution: Fixed
-
P3
-
None
-
b15
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8274477 | 17.0.2 | Robo Duke | P3 | Resolved | Fixed | b01 |
The following code is similar to JDK-8022186 with slight difference:
public class Test {
void m() {
try {
;
} finally {
System.out.println("dead code");
}
}
}
Using javap -v Test:
void m();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
0: getstatic #7 // Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #13 // String dead code
5: invokevirtual #15 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: goto 22
11: astore_1
12: getstatic #7 // Field java/lang/System.out:Ljava/io/PrintStream;
15: ldc #13 // String dead code
17: invokevirtual #15 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
20: aload_1
21: athrow
22: return
LineNumberTable:
line 6: 0
line 7: 8
line 6: 11
line 7: 20
line 8: 22
public class Test {
void m() {
try {
;
} finally {
System.out.println("dead code");
}
}
}
Using javap -v Test:
void m();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
0: getstatic #7 // Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #13 // String dead code
5: invokevirtual #15 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: goto 22
11: astore_1
12: getstatic #7 // Field java/lang/System.out:Ljava/io/PrintStream;
15: ldc #13 // String dead code
17: invokevirtual #15 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
20: aload_1
21: athrow
22: return
LineNumberTable:
line 6: 0
line 7: 8
line 6: 11
line 7: 20
line 8: 22
- backported by
-
JDK-8274477 javac generates unreachable code when using empty semicolon statement
-
- Resolved
-
- relates to
-
JDK-8022186 javac generates dead code if a try with an empty body has a finalizer
-
- Closed
-
- links to
-
Commit openjdk/jdk17u/108e1bd1
-
Commit openjdk/jdk/fe89dd3b
-
Review openjdk/jdk17u/108
-
Review openjdk/jdk/5495
(1 links to)