< prev index next >

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

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


  57  *      -XX:+UseShenandoahGC
  58  *      -DtargetStrings=3000000
  59  *      TestStringDedupStress
  60  *
  61  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
  62  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
  63  *      -DtargetStrings=2000000
  64  *      TestStringDedupStress
  65  *
  66  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
  67  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
  68  *      -XX:+ShenandoahOOMDuringEvacALot
  69  *      -DtargetStrings=2000000
  70  *      TestStringDedupStress
  71  *
  72  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
  73  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact
  74  *      TestStringDedupStress
  75  */
  76 
































  77 import java.lang.management.*;
  78 import java.lang.reflect.*;
  79 import java.util.*;
  80 
  81 import sun.misc.*;
  82 
  83 public class TestStringDedupStress {
  84     private static Field valueField;
  85     private static Unsafe unsafe;
  86 
  87     private static final int TARGET_STRINGS = Integer.getInteger("targetStrings", 2_500_000);
  88     private static final long MAX_REWRITE_GC_CYCLES = 6;
  89     private static final long MAX_REWRITE_TIME = 30*1000; // ms
  90 
  91     private static final int UNIQUE_STRINGS = 20;
  92 
  93     static {
  94         try {
  95             Field field = Unsafe.class.getDeclaredField("theUnsafe");
  96             field.setAccessible(true);




  57  *      -XX:+UseShenandoahGC
  58  *      -DtargetStrings=3000000
  59  *      TestStringDedupStress
  60  *
  61  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
  62  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
  63  *      -DtargetStrings=2000000
  64  *      TestStringDedupStress
  65  *
  66  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
  67  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
  68  *      -XX:+ShenandoahOOMDuringEvacALot
  69  *      -DtargetStrings=2000000
  70  *      TestStringDedupStress
  71  *
  72  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
  73  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact
  74  *      TestStringDedupStress
  75  */
  76 
  77  /*
  78  * @test TestStringDedupStress
  79  * @summary Test Shenandoah string deduplication implementation
  80  * @key gc
  81  * @requires vm.gc.Shenandoah & !vm.graal.enabled
  82  * @library /test/lib
  83  * @modules java.base/jdk.internal.misc:open
  84  * @modules java.base/java.lang:open
  85  *          java.management
  86  *
  87  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
  88  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
  89  *      TestStringDedupStress
  90  *
  91  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
  92  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
  93  *      -DtargetStrings=2000000
  94  *      TestStringDedupStress
  95  *
  96  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
  97  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu
  98  *      -XX:+ShenandoahOOMDuringEvacALot
  99  *      -DtargetStrings=2000000
 100  *      TestStringDedupStress
 101  *
 102  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
 103  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=iu -XX:ShenandoahGCHeuristics=aggressive
 104  *      -XX:+ShenandoahOOMDuringEvacALot
 105  *      -DtargetStrings=2000000
 106  *      TestStringDedupStress
 107  */
 108 
 109 import java.lang.management.*;
 110 import java.lang.reflect.*;
 111 import java.util.*;
 112 
 113 import sun.misc.*;
 114 
 115 public class TestStringDedupStress {
 116     private static Field valueField;
 117     private static Unsafe unsafe;
 118 
 119     private static final int TARGET_STRINGS = Integer.getInteger("targetStrings", 2_500_000);
 120     private static final long MAX_REWRITE_GC_CYCLES = 6;
 121     private static final long MAX_REWRITE_TIME = 30*1000; // ms
 122 
 123     private static final int UNIQUE_STRINGS = 20;
 124 
 125     static {
 126         try {
 127             Field field = Unsafe.class.getDeclaredField("theUnsafe");
 128             field.setAccessible(true);


< prev index next >