[16] RFR(S): 8251456: [TESTBUG] compiler/vectorization/TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError

Tobias Hartmann tobias.hartmann at oracle.com
Wed Aug 12 08:57:13 UTC 2020


Hi,

please review the following patch:
https://bugs.openjdk.java.net/browse/JDK-8251456
http://cr.openjdk.java.net/~thartmann/8251456/webrev.00/

The test is supposed to fill up the heap to trigger GC which will then corrupt vector registers if
they are not saved at safepoints. It sometimes fails with OOME because there is not enough heap
space to allocate such large arrays.

Adding a System.gc() call to the GarbageProducerThread triggers GCs more often without the need to
allocate large garbage arrays and running for many (warmup) iterations. I've also strengthened
verification of the array contents and used the exact same command line flags that Roland proposed
in his fix for JDK-8193518 [1].

I've verified that the test still reproduces JDK-8249608 and JDK-8193518. It's now much more
reliable and reproduces the issues in every run.

Best regards,
Tobias

[1]
http://cr.openjdk.java.net/~roland/8193518/webrev.01/test/hotspot/jtreg/compiler/vectorization/TestVectorsNotSavedAtSafepoint.java.html


More information about the hotspot-compiler-dev mailing list