RFR: 8048895: Back out JDK-8027915

Erik Helin erik.helin at oracle.com
Tue Jul 1 14:58:30 UTC 2014


Hi all,

the change JDK-8027915, "TestParallelHeapSizeFlags fails with unexpected
heap size", did not work as anticipated because of the interaction with
os::commit_memory on Solaris.

os::commit_memory takes a size_t `alignment_hint` as parameter. This
parameter is used differently on different operating systems: it is
ignored on all operating system except for Solaris. For Solaris, the
hint is used for selecting the large page size. If the alignment_hint is
smaller than the largest page size available, the hint is assumed to be
the *exact* page size.

This problem had previously been hidden because due to various
alignments of heap sizes and generation sizes always made sure that we
ended up with an alignment_hint of 4 MB by default, which also happens to
be a valid page size.

The bug can be shown to exist prior to JDK-8027915, for example by
running:
java -Xms32m -Xmx128m -XX:LargePageSizeInBytes=256m -version 

This patch is the anti-delta of JDK-8027915 and it applied cleanly.

Webrev:
http://cr.openjdk.java.net/~ehelin/8048895/webrev.00/

Thanks,
Erik



More information about the hotspot-dev mailing list