test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java
branchdatagramsocketimpl-branch
changeset 58678 9cf78a70fa4f
parent 54777 206afa6372ae
child 58679 9c3209ff7550
equal deleted inserted replaced
58677:13588c901957 58678:9cf78a70fa4f
    17  *
    17  *
    18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    19  * or visit www.oracle.com if you need additional information or have any
    19  * or visit www.oracle.com if you need additional information or have any
    20  * questions.
    20  * questions.
    21  *
    21  *
       
    22  */
       
    23 
       
    24 /*
       
    25  * @test TestStringDedupStress
       
    26  * @summary Test Shenandoah string deduplication implementation
       
    27  * @key gc
       
    28  * @requires vm.gc.Shenandoah & !vm.graal.enabled
       
    29  * @library /test/lib
       
    30  * @modules java.base/jdk.internal.misc:open
       
    31  * @modules java.base/java.lang:open
       
    32  *          java.management
       
    33  *
       
    34  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    35  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
       
    36  *      -XX:+ShenandoahDegeneratedGC
       
    37  *      TestStringDedupStress
       
    38  *
       
    39  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    40  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive
       
    41  *      -XX:-ShenandoahDegeneratedGC
       
    42  *      TestStringDedupStress
       
    43  */
       
    44 
       
    45 /*
       
    46  * @test TestStringDedupStress
       
    47  * @summary Test Shenandoah string deduplication implementation
       
    48  * @key gc
       
    49  * @requires vm.gc.Shenandoah & !vm.graal.enabled
       
    50  * @library /test/lib
       
    51  * @modules java.base/jdk.internal.misc:open
       
    52  * @modules java.base/java.lang:open
       
    53  *          java.management
       
    54  *
       
    55  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    56  *      -XX:+UseShenandoahGC
       
    57  *      -DtargetStrings=3000000
       
    58  *      TestStringDedupStress
       
    59  *
       
    60  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    61  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
       
    62  *      -DtargetStrings=2000000
       
    63  *      TestStringDedupStress
       
    64  *
       
    65  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    66  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
       
    67  *      -XX:+ShenandoahOOMDuringEvacALot
       
    68  *      -DtargetStrings=2000000
       
    69  *      TestStringDedupStress
       
    70  *
       
    71  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    72  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact
       
    73  *      TestStringDedupStress
       
    74  *
       
    75  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    76  *      -XX:+UseShenandoahGC
       
    77  *      -XX:ShenandoahUpdateRefsEarly=off
       
    78  *      -DtargetStrings=3000000
       
    79  *      TestStringDedupStress
       
    80  *
       
    81  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    82  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact
       
    83  *      -XX:ShenandoahUpdateRefsEarly=off
       
    84  *      -DtargetStrings=2000000
       
    85  *      TestStringDedupStress
       
    86  *
       
    87  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    88  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
       
    89  *      -XX:ShenandoahUpdateRefsEarly=off
       
    90  *      -DtargetStrings=2000000
       
    91  *      TestStringDedupStress
       
    92  *
       
    93  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
       
    94  *      -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive
       
    95  *      -XX:ShenandoahUpdateRefsEarly=off -XX:+ShenandoahOOMDuringEvacALot
       
    96  *      -DtargetStrings=2000000
       
    97  *      TestStringDedupStress
    22  */
    98  */
    23 
    99 
    24  /*
   100  /*
    25  * @test TestStringDedupStress
   101  * @test TestStringDedupStress
    26  * @summary Test Shenandoah string deduplication implementation
   102  * @summary Test Shenandoah string deduplication implementation
    28  * @requires vm.gc.Shenandoah & !vm.graal.enabled
   104  * @requires vm.gc.Shenandoah & !vm.graal.enabled
    29  * @library /test/lib
   105  * @library /test/lib
    30  * @modules java.base/jdk.internal.misc:open
   106  * @modules java.base/jdk.internal.misc:open
    31  * @modules java.base/java.lang:open
   107  * @modules java.base/java.lang:open
    32  *          java.management
   108  *          java.management
    33  * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
   109  *
    34  *                   -DtargetStrings=3000000
   110  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
    35  *                   -Xlog:gc
   111  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal
    36  *                   TestStringDedupStress
   112  *      TestStringDedupStress
    37  *
   113  *
    38  * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
   114  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
    39  *                   -XX:ShenandoahGCHeuristics=aggressive -DtargetStrings=2000000
   115  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal -XX:ShenandoahGCHeuristics=aggressive
    40  *                   -Xlog:gc
   116  *      -DtargetStrings=2000000
    41  *                   TestStringDedupStress
   117  *      TestStringDedupStress
    42  *
   118  *
    43  * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
   119  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
    44  *                   -XX:ShenandoahGCHeuristics=aggressive -XX:+ShenandoahOOMDuringEvacALot -DtargetStrings=2000000
   120  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal
    45  *                   -Xlog:gc
   121  *      -XX:+ShenandoahOOMDuringEvacALot
    46  *                    TestStringDedupStress
   122  *      -DtargetStrings=2000000
    47  *
   123  *      TestStringDedupStress
    48  * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
   124  *
    49  *                   -XX:ShenandoahGCHeuristics=static -DtargetStrings=4000000
   125  * @run main/othervm -Xmx1g -Xlog:gc+stats -Xlog:gc -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication
    50  *                   -Xlog:gc
   126  *      -XX:+UseShenandoahGC -XX:ShenandoahGCMode=traversal -XX:ShenandoahGCHeuristics=aggressive
    51  *                   TestStringDedupStress
   127  *      -XX:+ShenandoahOOMDuringEvacALot
    52  *
   128  *      -DtargetStrings=2000000
    53  * @run main/othervm -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+UseStringDeduplication -Xmx1g -Xlog:gc+stats
   129  *      TestStringDedupStress
    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  */
   130  */
   103 
   131 
   104 import java.lang.management.*;
   132 import java.lang.management.*;
   105 import java.lang.reflect.*;
   133 import java.lang.reflect.*;
   106 import java.util.*;
   134 import java.util.*;