< prev index next >

test/hotspot/jtreg/gc/TestHumongousReferenceObject.java

Print this page
rev 54755 : 8223427: [TESTBUG] Disable JTReg Shenandoah tests when Graal is enabled
Reviewed-by: duke


  32  * @bug 8151499 8153734
  33  * @modules java.base/jdk.internal.vm.annotation
  34  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseParallelGC -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  35  */
  36 
  37 /*
  38  * @test TestHumongousReferenceObjectG1
  39  * @summary Test that verifies that iteration over large, plain Java objects, that potentially cross region boundaries on G1, with references in them works.
  40  * @requires vm.gc.G1
  41  * @bug 8151499 8153734
  42  * @modules java.base/jdk.internal.vm.annotation
  43  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=1M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  44  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=2M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  45  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  46  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=8M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  47  */
  48 
  49 /*
  50  * @test TestHumongousReferenceObjectShenandoah
  51  * @summary Test that verifies that iteration over large, plain Java objects, that potentially cross region boundaries, with references in them works.
  52  * @requires vm.gc.Shenandoah
  53  * @bug 8151499 8153734
  54  * @modules java.base/jdk.internal.vm.annotation
  55  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahHeapRegionSize=8M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  56  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahHeapRegionSize=8M -XX:ContendedPaddingWidth=8192 -XX:+UnlockDiagnosticVMOptions -XX:+ShenandoahVerify gc.TestHumongousReferenceObject
  57  */
  58 public class TestHumongousReferenceObject {
  59 
  60     /*
  61       Due to 300 fields with 8K @Contended padding around each field, it takes 2.4M bytes per instance.
  62       With small G1 regions, it is bound to cross regions. G1 should properly (card) mark the object nevertheless.
  63       With 128M heap, it is enough to allocate ~100 of these objects to provoke at least one GC.
  64      */
  65 
  66     static volatile Object instance;
  67 
  68     public static void main(String[] args) {
  69         for (int c = 0; c < 100; c++) {
  70             instance = new TestHumongousReferenceObject();
  71         }
  72     }




  32  * @bug 8151499 8153734
  33  * @modules java.base/jdk.internal.vm.annotation
  34  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseParallelGC -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  35  */
  36 
  37 /*
  38  * @test TestHumongousReferenceObjectG1
  39  * @summary Test that verifies that iteration over large, plain Java objects, that potentially cross region boundaries on G1, with references in them works.
  40  * @requires vm.gc.G1
  41  * @bug 8151499 8153734
  42  * @modules java.base/jdk.internal.vm.annotation
  43  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=1M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  44  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=2M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  45  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  46  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=8M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  47  */
  48 
  49 /*
  50  * @test TestHumongousReferenceObjectShenandoah
  51  * @summary Test that verifies that iteration over large, plain Java objects, that potentially cross region boundaries, with references in them works.
  52  * @requires vm.gc.Shenandoah & !vm.graal.enabled
  53  * @bug 8151499 8153734
  54  * @modules java.base/jdk.internal.vm.annotation
  55  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahHeapRegionSize=8M -XX:ContendedPaddingWidth=8192 gc.TestHumongousReferenceObject
  56  * @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahHeapRegionSize=8M -XX:ContendedPaddingWidth=8192 -XX:+UnlockDiagnosticVMOptions -XX:+ShenandoahVerify gc.TestHumongousReferenceObject
  57  */
  58 public class TestHumongousReferenceObject {
  59 
  60     /*
  61       Due to 300 fields with 8K @Contended padding around each field, it takes 2.4M bytes per instance.
  62       With small G1 regions, it is bound to cross regions. G1 should properly (card) mark the object nevertheless.
  63       With 128M heap, it is enough to allocate ~100 of these objects to provoke at least one GC.
  64      */
  65 
  66     static volatile Object instance;
  67 
  68     public static void main(String[] args) {
  69         for (int c = 0; c < 100; c++) {
  70             instance = new TestHumongousReferenceObject();
  71         }
  72     }


< prev index next >