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