39 * -XX:ShenandoahGCHeuristics=aggressive -DtargetStrings=2000000
40 * -Xlog:gc
41 * TestStringDedupStress
42 *
43 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
44 * -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -DtargetStrings=2000000
45 * -Xlog:gc
46 * TestStringDedupStress
47 *
48 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
49 * -XX:ShenandoahGCHeuristics=static -DtargetStrings=4000000
50 * -Xlog:gc
51 * TestStringDedupStress
52 *
53 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
54 * -XX:ShenandoahGCHeuristics=compact
55 * -Xlog:gc
56 * TestStringDedupStress
57 *
58 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
59 * -XX:ShenandoahGCHeuristics=passive -XX:+ShenandoahDegeneratedGC
60 * -Xlog:gc
61 * TestStringDedupStress
62 *
63 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
64 * -XX:ShenandoahGCHeuristics=passive -XX:-ShenandoahDegeneratedGC
65 * -Xlog:gc
66 * TestStringDedupStress
67 *
68 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
69 * -XX:ShenandoahGCHeuristics=traversal
70 * -Xlog:gc
71 * TestStringDedupStress
72 *
73 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
74 * -XX:ShenandoahUpdateRefsEarly=off -DtargetStrings=3000000
75 * -Xlog:gc
76 * TestStringDedupStress
77 *
78 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
79 * -XX:ShenandoahGCHeuristics=compact -XX:ShenandoahUpdateRefsEarly=off -DtargetStrings=2000000
80 * -Xlog:gc
81 * TestStringDedupStress
82 *
83 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
84 * -XX:ShenandoahGCHeuristics=aggressive -XX:ShenandoahUpdateRefsEarly=off -DtargetStrings=2000000
85 * -Xlog:gc
86 * TestStringDedupStress
87 *
88 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
89 * -XX:ShenandoahGCHeuristics=static -XX:ShenandoahUpdateRefsEarly=off
90 * -Xlog:gc
91 * TestStringDedupStress
92 *
93 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
94 * -XX:ShenandoahGCHeuristics=aggressive -XX:ShenandoahUpdateRefsEarly=off -XX:+ShenandoahOOMDuringEvacALot -DtargetStrings=2000000
95 * -Xlog:gc
96 * TestStringDedupStress
97 *
98 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
99 * -XX:ShenandoahGCHeuristics=traversal -XX:+ShenandoahOOMDuringEvacALot -DtargetStrings=2000000
100 * -Xlog:gc
101 * TestStringDedupStress
102 */
103
104 import java.lang.management.*;
105 import java.lang.reflect.*;
106 import java.util.*;
107
108 import sun.misc.*;
109
110 public class TestStringDedupStress {
111 private static Field valueField;
112 private static Unsafe unsafe;
113
114 private static final int TARGET_STRINGS = Integer.getInteger("targetStrings", 2_500_000);
115 private static final long MAX_REWRITE_GC_CYCLES = 6;
116 private static final long MAX_REWRITE_TIME = 30*1000; // ms
117
118 private static final int UNIQUE_STRINGS = 20;
119
|
39 * -XX:ShenandoahGCHeuristics=aggressive -DtargetStrings=2000000
40 * -Xlog:gc
41 * TestStringDedupStress
42 *
43 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
44 * -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -DtargetStrings=2000000
45 * -Xlog:gc
46 * TestStringDedupStress
47 *
48 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
49 * -XX:ShenandoahGCHeuristics=static -DtargetStrings=4000000
50 * -Xlog:gc
51 * TestStringDedupStress
52 *
53 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
54 * -XX:ShenandoahGCHeuristics=compact
55 * -Xlog:gc
56 * TestStringDedupStress
57 *
58 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
59 * -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC
60 * -Xlog:gc
61 * TestStringDedupStress
62 *
63 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
64 * -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC
65 * -Xlog:gc
66 * TestStringDedupStress
67 *
68 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
69 * -XX:ShenandoahGCMode=traversal
70 * -Xlog:gc
71 * TestStringDedupStress
72 *
73 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
74 * -XX:ShenandoahUpdateRefsEarly=off -DtargetStrings=3000000
75 * -Xlog:gc
76 * TestStringDedupStress
77 *
78 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
79 * -XX:ShenandoahGCHeuristics=compact -XX:ShenandoahUpdateRefsEarly=off -DtargetStrings=2000000
80 * -Xlog:gc
81 * TestStringDedupStress
82 *
83 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
84 * -XX:ShenandoahGCHeuristics=aggressive -XX:ShenandoahUpdateRefsEarly=off -DtargetStrings=2000000
85 * -Xlog:gc
86 * TestStringDedupStress
87 *
88 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
89 * -XX:ShenandoahGCHeuristics=static -XX:ShenandoahUpdateRefsEarly=off
90 * -Xlog:gc
91 * TestStringDedupStress
92 *
93 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
94 * -XX:ShenandoahGCHeuristics=aggressive -XX:ShenandoahUpdateRefsEarly=off -XX:+ShenandoahOOMDuringEvacALot -DtargetStrings=2000000
95 * -Xlog:gc
96 * TestStringDedupStress
97 *
98 * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
99 * -XX:ShenandoahGCMode=traversal -XX:+ShenandoahOOMDuringEvacALot -DtargetStrings=2000000
100 * -Xlog:gc
101 * TestStringDedupStress
102 */
103
104 import java.lang.management.*;
105 import java.lang.reflect.*;
106 import java.util.*;
107
108 import sun.misc.*;
109
110 public class TestStringDedupStress {
111 private static Field valueField;
112 private static Unsafe unsafe;
113
114 private static final int TARGET_STRINGS = Integer.getInteger("targetStrings", 2_500_000);
115 private static final long MAX_REWRITE_GC_CYCLES = 6;
116 private static final long MAX_REWRITE_TIME = 30*1000; // ms
117
118 private static final int UNIQUE_STRINGS = 20;
119
|