8153734: TestHumongousReferenceObject.java occasionally crashes with "unable to allocate heap of 1g" on win32
Decrease the heap size used in the test from 1g to 128M. Reviewed-by: dfazunen, sjohanss
This commit is contained in:
parent
f22c068365
commit
a9cf95480f
@ -27,26 +27,26 @@ import jdk.internal.vm.annotation.Contended;
|
||||
* @test
|
||||
* @summary Test that verifies that iteration over large, plain Java objects, that potentially cross region boundaries on G1, with references in them works.
|
||||
* @requires vm.gc == "null"
|
||||
* @bug 8151499
|
||||
* @bug 8151499 8153734
|
||||
* @modules java.base/jdk.internal.vm.annotation
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx1g -XX:+UseParallelGC -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx1g -XX:+UseG1GC -XX:G1HeapRegionSize=1M -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx1g -XX:+UseG1GC -XX:G1HeapRegionSize=2M -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx1g -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx1g -XX:+UseG1GC -XX:G1HeapRegionSize=8M -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseParallelGC -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=1M -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=2M -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
* @run main/othervm -XX:+EnableContended -XX:-RestrictContended -Xmx128m -XX:+UseG1GC -XX:G1HeapRegionSize=8M -XX:ContendedPaddingWidth=8192 TestHumongousReferenceObject
|
||||
*/
|
||||
public class TestHumongousReferenceObject {
|
||||
|
||||
/*
|
||||
Due to 300 fields with 8K @Contended padding around each field, it takes 2.4M bytes per instance.
|
||||
With small G1 regions, it is bound to cross regions. G1 should properly (card) mark the object nevertheless.
|
||||
With 1G heap, it is enough to allocate ~400 of these objects to provoke at least one GC.
|
||||
With 128M heap, it is enough to allocate ~100 of these objects to provoke at least one GC.
|
||||
*/
|
||||
|
||||
static volatile Object instance;
|
||||
|
||||
public static void main(String[] args) {
|
||||
for (int c = 0; c < 400; c++) {
|
||||
for (int c = 0; c < 100; c++) {
|
||||
instance = new TestHumongousReferenceObject();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user