<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p><br>
</p>
<br>
<div class="moz-cite-prefix">On 03/18/2019 11:14 AM, Ron Shapiro
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CACA6h9vGY1-N_ZLfmyweyag9C5SHXeriKnqAs23OnSFiaJq2Gw@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">Hi,
<div><br>
</div>
<div>
<div>Please review this change to improve the
performance of JavacFileManager.list().</div>
<div><br>
</div>
<div>bug: <a
href="https://bugs.openjdk.java.net/browse/JDK-8220792"
moz-do-not-send="true">https://bugs.openjdk.java.net/browse/JDK-8220792</a></div>
<div>webrev: <a
href="http://cr.openjdk.java.net/%7Eronsh/8220792/webrev.00/"
moz-do-not-send="true">http://cr.openjdk.java.net/~ronsh/8220792/webrev.00/</a></div>
<div><br>
</div>
<div>Thanks,</div>
<div>Ron</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
Ron,<br>
<br>
The idea seems reasonable, but there are some issues with your
proposed implementation.<br>
<br>
Something of a red flag is the need to import Main.Option, when it
was not needed before. Following that thread, the new maps appear to
be general, and apply to each Location, but down at the end of the
file, you reset all the caches if only the CLASS_PATH option is
set. Moreover, even if the class path is deemed to be special, you
only interpose when the option is set, and not if the location is
set directly with any of the setLocation methods are called.<br>
<br>
class PathAndContainer implements compareTo but not equals and
hashCode,<br>
<br>
It's not clear to me why you maintain the list of PathAndContainer
as a sorted list, and hence why you need to use java.util.List
instead of javac's List.<br>
<br>
-- Jon<br>
</body>
</html>