Hi Claes, This looks good.
Did you consider adding asserts to the package private constructor? Paul. > On 17 Oct 2016, at 04:17, Claes Redestad <claes.redes...@oracle.com> wrote: > > Hi, > > one partial cause for startup regressions due to jigsaw is related to creating > URIs for the location of each module. > > By providing a package-private constructor we can avoid the time to scan and > validate the URI, which takes a little time (executes ~80K bytecodes) but also > pushes various methods over compilation thresholds during early startup, > which more notably interferes with perceived startup. > > http://cr.openjdk.java.net/~redestad/8168073/webrev.01/ > https://bugs.openjdk.java.net/browse/JDK-8168073 > > Notes: > > When looking at this I discovered that the existing methods in JavaNetAccess > is no longer in use, and keeping the initialization in URLClassLoader forces > added classloading and costly initialization no longer needed during normal > bootstrap. Moving JavaNetAccess to URI seems like the natural choice. > > By exploiting the lazyness of URI.toString(), this patch also saves a few Kbs > of > retained heap. > > Thanks! > > /Claes