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