| /* |
| * @test /nodynamiccopyright/ |
| * @bug 4309152 4805490 |
| * @summary Compiler silently generates bytecode that exceeds VM limits |
| * @author gafter |
| * |
| * @compile/fail/ref=StringLength.out -XDrawDiagnostics StringLength.java |
| */ |
| |
| class StringLength { |
| public static final String l5e0 = "abcde"; |
| public static final String l1e1 = l5e0 + l5e0; |
| public static final String l3e1 = l1e1 + l1e1 + l1e1; |
| public static final String l1e2 = l3e1 + l3e1 + l3e1 + l1e1; |
| public static final String l5e2 = l1e2 + l1e2 + l1e2 + l1e2 + l1e2; |
| public static final String l1e3 = l5e2 + l5e2; |
| public static final String l5e3 = l1e3 + l1e3 + l1e3 + l1e3 + l1e3; |
| public static final String l1e4 = l5e3 + l5e3; |
| public static final String l6e4 = l1e4 + l1e4 + l1e4 + l1e4 + l1e4 + l1e4; |
| |
| public static final String l65530 = l6e4 + l5e3 + l5e2 + l3e1; |
| public static String X = l65530 + "abcdef"; // length 65536 |
| } |