RFR: JDK-8037281: Improve CacheFind and enable on all platforms

Erik Joelsson erik.joelsson at oracle.com
Thu Mar 13 10:26:55 UTC 2014


Triggered by JDK-8037238 and the CacheFind problems I decided to give it 
some more love.

One reason CacheFind errors are rarely discovered is that it's only 
enabled on Windows, which is not used much in the build group. I would 
like to enable it on all platforms, simply to give it more usage and 
hardening. There is a very slight performance improvement on my Linux 
workstation, so it's not without benefits. ("time make images" with no 
changes reports 6.5 secs down from 7.5).

I also made the FillCacheFind macro a little smarter so that it handles 
being called multiple times with same or similar arguments without 
incurring a performance overhead. Now it only executes find if it's 
really needed. With this check, I could also add a call to FillCacheFind 
in SetupJavaCompilation and SetupArchive.

To provide a workaround next time a problem with the FindCache is found 
(or to just be able to measure the benefits), I added a variable 
DISABLE_CACHE_FIND that when set to true disables the cache.

(Note that the webrevs also contains the changes for JDK-8037238 since 
they were needed but aren't yet committed)

Bug: https://bugs.openjdk.java.net/browse/JDK-8037281
Webrevs:
http://cr.openjdk.java.net/~erikj/8037281/webrev.root.01/
http://cr.openjdk.java.net/~erikj/8037281/webrev.jdk.01/

/Erik



More information about the build-dev mailing list