< prev index next >

test/hotspot/jtreg/gc/shenandoah/oom/TestClassLoaderLeak.java

Print this page
rev 55538 : 8226757: Shenandoah: Make Traversal a separate mode

*** 122,153 **** } System.out.println("All good"); return; } ! String[] heuristics = new String[] { "adaptive", "compact", "static", ! "traversal", ! "aggressive", ! "passive", }; for (String h : heuristics) { // Forceful enabling should work ! passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading"); ! passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloadingWithConcurrentMark"); // Even when concurrent unloading is disabled, Full GC has to recover ! passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark"); ! passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=0"); ! passWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=0"); // Should OOME when unloading forcefully disabled, even if local flags try to enable it back ! failWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading"); ! failWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark"); ! failWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=1"); ! failWith("-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=1"); } } } --- 122,158 ---- } System.out.println("All good"); return; } ! String[][][] modeHeuristics = new String[][][] { ! {{"normal"}, { "adaptive", "compact", "static", ! "aggressive"}}, ! {{"traversal"}, {"adaptive"}}, ! {{"passive"}, {"passive"}} }; + for (String[][] mh : modeHeuristics) { + String mode = mh[0][0]; + String[] heuristics = mh[1]; for (String h : heuristics) { // Forceful enabling should work ! passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading"); ! passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloadingWithConcurrentMark"); // Even when concurrent unloading is disabled, Full GC has to recover ! passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark"); ! passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=0"); ! passWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:+ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=0"); // Should OOME when unloading forcefully disabled, even if local flags try to enable it back ! failWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading"); ! failWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark"); ! failWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:+ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=1"); ! failWith("-XX:ShenandoahGCMode=" + mode, "-XX:ShenandoahGCHeuristics=" + h, "-XX:-ClassUnloading", "-XX:-ClassUnloadingWithConcurrentMark", "-XX:ShenandoahUnloadClassesFrequency=1"); ! } } } }
< prev index next >