RFR: 8014510: Fix sjavac on all platforms in jprt

Andreas Lundblad andreas.lundblad at oracle.com
Sat Aug 23 21:22:26 UTC 2014

On Fri, Aug 22, 2014 at 04:20:47PM +0200, Erik Joelsson wrote:
> Thanks for looking into this. I took the liberty of tuning this some
> more and finally arrived at this set of changes:
> http://cr.openjdk.java.net/~erikj/8014510/webrev.root.01/
> First of all I wanted to get rid of the big if-else construct, so I
> changed that into a simple MEMORY_SIZE/2 for sjavac server mx flag.
> Then I did some tests on my machine and with the modules build,
> sjavac really isn't that memory intensive anymore. I set a cap at
> 2GB (1,5 for 32 bit jvms) and also set a minimum of 512M, which I
> have verified still works. I also removed the verbosegc flag.
> When changing these settings, it struck me that the mx in
> BIG_JAVA_FLAGS is a static configuration and should probably also be
> tuned in the same way. I left the old values as the maximum caps and
> let them go as low as 512. This has also been verified to be enough.
> Finally, since the memory requirements of the java instances in the
> build have been reduced, I also chose to tweak the memory based
> limiter on the default number of jobs.
> With this I'm able to run builds through JPRT with sjavac enabled
> and I believe that there should be no trouble enabling it for every
> day use on most build configurations. We still cannot enable it by
> default until JDK-8054717 is fixed however, as it's currently not
> guaranteeing a correct incremental build.

Toppen! Tittade på patchen. Skönt att slippa den där if-krattan.

More information about the build-dev mailing list