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