< prev index next >

test/hotspot/jtreg/gc/shenandoah/TestStringInternCleanup.java

Print this page
rev 58687 : Shenandoah: New incremental-update mode


  60  *      TestStringInternCleanup
  61  *
  62  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark
  63  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
  64  *      -XX:+ShenandoahVerify
  65  *      TestStringInternCleanup
  66  *
  67  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark
  68  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
  69  *      TestStringInternCleanup
  70  *
  71  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark
  72  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact
  73  *      TestStringInternCleanup
  74  *
  75  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:-ClassUnloadingWithConcurrentMark
  76  *      -XX:+UseShenandoahGC
  77  *      TestStringInternCleanup
  78  */
  79 





















  80 public class TestStringInternCleanup {
  81 
  82     static final int COUNT = 1_000_000;
  83     static final int WINDOW = 1_000;
  84 
  85     static final String[] reachable = new String[WINDOW];
  86 
  87     public static void main(String[] args) throws Exception {
  88         int rIdx = 0;
  89         for (int c = 0; c < COUNT; c++) {
  90             reachable[rIdx] = ("LargeInternedString" + c).intern();
  91             rIdx++;
  92             if (rIdx >= WINDOW) {
  93                 rIdx = 0;
  94             }
  95         }
  96     }
  97 
  98 }


  60  *      TestStringInternCleanup
  61  *
  62  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark
  63  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
  64  *      -XX:+ShenandoahVerify
  65  *      TestStringInternCleanup
  66  *
  67  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark
  68  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=adaptive
  69  *      TestStringInternCleanup
  70  *
  71  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark
  72  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact
  73  *      TestStringInternCleanup
  74  *
  75  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:-ClassUnloadingWithConcurrentMark
  76  *      -XX:+UseShenandoahGC
  77  *      TestStringInternCleanup
  78  */
  79 
  80 /*
  81  * @test TestStringInternCleanup
  82  * @summary Check that Shenandoah cleans up interned strings
  83  * @key gc
  84  * @requires vm.gc.Shenandoah & !vm.graal.enabled
  85  *
  86  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark
  87  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
  88  *      -XX:+ShenandoahVerify
  89  *      TestStringInternCleanup
  90  *
  91  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark
  92  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
  93  *      -XX:+ShenandoahVerify
  94  *      TestStringInternCleanup
  95  *
  96  * @run main/othervm -Xmx64m -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+ClassUnloadingWithConcurrentMark
  97  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
  98  *      TestStringInternCleanup
  99  */
 100 
 101 public class TestStringInternCleanup {
 102 
 103     static final int COUNT = 1_000_000;
 104     static final int WINDOW = 1_000;
 105 
 106     static final String[] reachable = new String[WINDOW];
 107 
 108     public static void main(String[] args) throws Exception {
 109         int rIdx = 0;
 110         for (int c = 0; c < COUNT; c++) {
 111             reachable[rIdx] = ("LargeInternedString" + c).intern();
 112             rIdx++;
 113             if (rIdx >= WINDOW) {
 114                 rIdx = 0;
 115             }
 116         }
 117     }
 118 
 119 }
< prev index next >