RFR: 8220633: Optimize CacheFSInfo

Jonathan Gibbons jonathan.gibbons at oracle.com
Tue Mar 26 19:51:26 UTC 2019


Looks good to me.

-- Jon


On 03/26/2019 11:21 AM, Jonathan Gibbons wrote:
>
> Liam,
>
> I looked again at both webrev.00 and webrev.01.  I think there is a 
> better solution than both.
>
> The original code has the explanatory comment; for webrev.01, "form 
> follows function" comes to mind: while being more idiomatic, using 
> computeIfAbsent, it is also more verbose and thus less clear.
>
> How about a variant of webrev.00 in which you do lock the newly-added 
> specific cache, and thus do away with the comment.
>
>    91     @Override
>    92     public List<Path> getJarClassPath(Path file) throws IOException {
>               synchronized (jarClassPathCache) {
> 96 List<Path> jarClassPath = jarClassPathCache.get(file);
> 97 if (jarClassPath == null) {
> 98 jarClassPath = super.getJarClassPath(file);
> 99 jarClassPathCache.put(file, jarClassPath);
> 100 }
> 101 return jarClassPath; }
>   102     }
>
> The reformatting on lines 55-57 seems a bit gratuitous, especially 
> putting the cast on a line by itself.
>
> The rest seems OK.
>
> - Jon
>
>
> On 03/26/2019 08:50 AM, Liam Miller-Cushon wrote:
>> Is there any other feedback on the change?
>>
>> On Wed, Mar 13, 2019 at 9:29 PM Liam Miller-Cushon <cushon at google.com 
>> <mailto:cushon at google.com>> wrote:
>>
>>     On Wed, Mar 13, 2019 at 5:59 PM Jonathan Gibbons
>>     <jonathan.gibbons at oracle.com
>>     <mailto:jonathan.gibbons at oracle.com>> wrote:
>>
>>         I could go either way on getJarClassPath.  The initial
>>         version in webrev.00 was definitely shorter.
>>
>>     computeIfAbsent feels a little more idiomatic to me than the
>>     intentional race (and the comment to explain why it's safe), but
>>     I don't really have a preference.
>>
>>     I'm happy to revert to webrev.00 if you prefer.
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20190326/0d6def72/attachment.html>


More information about the compiler-dev mailing list