24
25 package gc.g1.humongousObjects;
26
27 import gc.testlibrary.Helpers;
28 import jdk.test.lib.Asserts;
29 import sun.hotspot.WhiteBox;
30
31 import java.io.IOException;
32 import java.lang.reflect.InvocationTargetException;
33 import java.net.URL;
34 import java.net.URLClassLoader;
35 import java.nio.file.Path;
36 import java.nio.file.Paths;
37
38 /**
39 * @test gc.g1.humongousObjects.TestHumongousClassLoader
40 * @summary Checks that unreachable classes and unreachable humongous class loader are unloaded after GC
41 * @requires vm.gc.G1
42 * @requires vm.opt.G1HeapRegionSize == "null" | vm.opt.G1HeapRegionSize == "1M"
43 * @requires vm.opt.ExplicitGCInvokesConcurrent != true
44 * @library /testlibrary /test/lib /
45 * @modules java.base/jdk.internal.misc
46 * @modules java.management
47 * @build sun.hotspot.WhiteBox
48 * gc.testlibrary.Helpers
49 * gc.g1.humongousObjects.G1SampleClass
50 * gc.g1.humongousObjects.ClassLoaderGenerator
51 * gc.g1.humongousObjects.TestHumongousClassLoader
52 *
53 * @run driver ClassFileInstaller sun.hotspot.WhiteBox
54 * sun.hotspot.WhiteBox$WhiteBoxPermission
55 *
56 * @run main/othervm/timeout=240 -Xms256M -Xmx256M -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
57 * gc.g1.humongousObjects.ClassLoaderGenerator 1
58 *
59 * @run main/othervm -Xms256M -Xmx256M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
60 * -Xlog:class+load,class+unload=debug:file=TestHumongousClassLoader_Full_GC.log
61 * -XX:G1HeapRegionSize=1M
62 * gc.g1.humongousObjects.TestHumongousClassLoader FULL_GC
63 *
64 * @run main/othervm -Xms256M -Xmx256M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
65 * -Xlog:class+load,class+unload=debug:file=TestHumongousClassLoader_Full_GC_Mem_Pressure.log
66 * -XX:G1HeapRegionSize=1M
67 * gc.g1.humongousObjects.TestHumongousClassLoader FULL_GC_MEMORY_PRESSURE
68 *
69 *@run main/othervm -Xms256M -Xmx256M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
70 * -Xlog:class+load,class+unload=debug:file=TestHumongousClassLoader_CMC.log
71 * -XX:G1HeapRegionSize=1M -XX:MaxTenuringThreshold=1
72 * gc.g1.humongousObjects.TestHumongousClassLoader CMC
|
24
25 package gc.g1.humongousObjects;
26
27 import gc.testlibrary.Helpers;
28 import jdk.test.lib.Asserts;
29 import sun.hotspot.WhiteBox;
30
31 import java.io.IOException;
32 import java.lang.reflect.InvocationTargetException;
33 import java.net.URL;
34 import java.net.URLClassLoader;
35 import java.nio.file.Path;
36 import java.nio.file.Paths;
37
38 /**
39 * @test gc.g1.humongousObjects.TestHumongousClassLoader
40 * @summary Checks that unreachable classes and unreachable humongous class loader are unloaded after GC
41 * @requires vm.gc.G1
42 * @requires vm.opt.G1HeapRegionSize == "null" | vm.opt.G1HeapRegionSize == "1M"
43 * @requires vm.opt.ExplicitGCInvokesConcurrent != true
44 * @library /test/lib /
45 * @modules java.base/jdk.internal.misc
46 * @modules java.management
47 * @build sun.hotspot.WhiteBox
48 * @run driver ClassFileInstaller sun.hotspot.WhiteBox
49 * sun.hotspot.WhiteBox$WhiteBoxPermission
50 *
51 * @run main/othervm/timeout=240 -Xms256M -Xmx256M -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
52 * gc.g1.humongousObjects.ClassLoaderGenerator 1
53 *
54 * @run main/othervm -Xms256M -Xmx256M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
55 * -Xlog:class+load,class+unload=debug:file=TestHumongousClassLoader_Full_GC.log
56 * -XX:G1HeapRegionSize=1M
57 * gc.g1.humongousObjects.TestHumongousClassLoader FULL_GC
58 *
59 * @run main/othervm -Xms256M -Xmx256M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
60 * -Xlog:class+load,class+unload=debug:file=TestHumongousClassLoader_Full_GC_Mem_Pressure.log
61 * -XX:G1HeapRegionSize=1M
62 * gc.g1.humongousObjects.TestHumongousClassLoader FULL_GC_MEMORY_PRESSURE
63 *
64 *@run main/othervm -Xms256M -Xmx256M -XX:+UseG1GC -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:.
65 * -Xlog:class+load,class+unload=debug:file=TestHumongousClassLoader_CMC.log
66 * -XX:G1HeapRegionSize=1M -XX:MaxTenuringThreshold=1
67 * gc.g1.humongousObjects.TestHumongousClassLoader CMC
|