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

Tim Bell tim.bell at oracle.com
Thu Mar 13 15:59:16 UTC 2014

Hi Erik:

> 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/

Looks good to me.


More information about the build-dev mailing list