< prev index next >

test/hotspot/jtreg/serviceability/dcmd/vm/ClassLoaderStatsTest.java

Print this page

        

*** 59,78 **** public class ClassLoaderStatsTest { // Expected output from VM.classloader_stats: // ClassLoader Parent CLD* Classes ChunkSz BlockSz Type // 0x0000000800bd3830 0x000000080037f468 0x00007f001c2ea170 1 10240 4672 ClassLoaderStatsTest$DummyClassLoader ! // 1 2048 1080 + unsafe anonymous classes ! // 1 2048 1088 + hidden classes // 0x0000000000000000 0x0000000000000000 0x00007f00e852d190 1607 4628480 3931216 <boot class loader> // 38 124928 85856 + hidden classes // 0x00000008003b5508 0x0000000000000000 0x00007f001c2d4760 1 6144 4040 jdk.internal.reflect.DelegatingClassLoader // 0x000000080037f468 0x000000080037ee80 0x00007f00e868e3f0 228 1368064 1286672 jdk.internal.loader.ClassLoaders$AppClassLoader // ... static Pattern clLine = Pattern.compile("0x\\p{XDigit}*\\s*0x\\p{XDigit}*\\s*0x\\p{XDigit}*\\s*(\\d*)\\s*(\\d*)\\s*(\\d*)\\s*(.*)"); ! static Pattern anonLine = Pattern.compile("\\s*(\\d*)\\s*(\\d*)\\s*(\\d*)\\s*.*"); public static DummyClassLoader dummyloader; public void run(CommandExecutor executor) throws ClassNotFoundException { --- 59,77 ---- public class ClassLoaderStatsTest { // Expected output from VM.classloader_stats: // ClassLoader Parent CLD* Classes ChunkSz BlockSz Type // 0x0000000800bd3830 0x000000080037f468 0x00007f001c2ea170 1 10240 4672 ClassLoaderStatsTest$DummyClassLoader ! // 2 2048 1088 + hidden classes // 0x0000000000000000 0x0000000000000000 0x00007f00e852d190 1607 4628480 3931216 <boot class loader> // 38 124928 85856 + hidden classes // 0x00000008003b5508 0x0000000000000000 0x00007f001c2d4760 1 6144 4040 jdk.internal.reflect.DelegatingClassLoader // 0x000000080037f468 0x000000080037ee80 0x00007f00e868e3f0 228 1368064 1286672 jdk.internal.loader.ClassLoaders$AppClassLoader // ... static Pattern clLine = Pattern.compile("0x\\p{XDigit}*\\s*0x\\p{XDigit}*\\s*0x\\p{XDigit}*\\s*(\\d*)\\s*(\\d*)\\s*(\\d*)\\s*(.*)"); ! static Pattern hiddenLine = Pattern.compile("\\s*(\\d*)\\s*(\\d*)\\s*(\\d*)\\s*.*"); public static DummyClassLoader dummyloader; public void run(CommandExecutor executor) throws ClassNotFoundException {
*** 87,127 **** Iterator<String> lines = output.asLines().iterator(); while (lines.hasNext()) { String line = lines.next(); Matcher m = clLine.matcher(line); if (m.matches()) { ! // verify that DummyClassLoader has loaded 1 class, 1 anonymous class, and 1 hidden class if (m.group(4).equals("ClassLoaderStatsTest$DummyClassLoader")) { System.out.println("DummyClassLoader line: " + line); if (!m.group(1).equals("1")) { Assert.fail("Should have loaded 1 class: " + line); } checkPositiveInt(m.group(2)); checkPositiveInt(m.group(3)); String next = lines.next(); System.out.println("DummyClassLoader next: " + next); - if (!next.contains("unsafe anonymous classes")) { - Assert.fail("Should have an anonymous class"); - } - Matcher m1 = anonLine.matcher(next); - m1.matches(); - if (!m1.group(1).equals("1")) { - Assert.fail("Should have loaded 1 anonymous class, but found : " + m1.group(1)); - } - checkPositiveInt(m1.group(2)); - checkPositiveInt(m1.group(3)); - - next = lines.next(); - System.out.println("DummyClassLoader next: " + next); if (!next.contains("hidden classes")) { Assert.fail("Should have a hidden class"); } ! Matcher m2 = anonLine.matcher(next); m2.matches(); ! if (!m2.group(1).equals("1")) { ! Assert.fail("Should have loaded 1 hidden class, but found : " + m2.group(1)); } checkPositiveInt(m2.group(2)); checkPositiveInt(m2.group(3)); } } --- 86,114 ---- Iterator<String> lines = output.asLines().iterator(); while (lines.hasNext()) { String line = lines.next(); Matcher m = clLine.matcher(line); if (m.matches()) { ! // verify that DummyClassLoader has loaded 1 regular class and 2 hidden classes if (m.group(4).equals("ClassLoaderStatsTest$DummyClassLoader")) { System.out.println("DummyClassLoader line: " + line); if (!m.group(1).equals("1")) { Assert.fail("Should have loaded 1 class: " + line); } checkPositiveInt(m.group(2)); checkPositiveInt(m.group(3)); String next = lines.next(); System.out.println("DummyClassLoader next: " + next); if (!next.contains("hidden classes")) { Assert.fail("Should have a hidden class"); } ! Matcher m2 = hiddenLine.matcher(next); m2.matches(); ! if (!m2.group(1).equals("2")) { ! // anonymous classes are included in the hidden classes count. ! Assert.fail("Should have loaded 2 hidden classes, but found : " + m2.group(1)); } checkPositiveInt(m2.group(2)); checkPositiveInt(m2.group(3)); } }
< prev index next >