On Jan 16, 2014, at 4:51 PM, Mandy Chung <mandy.ch...@oracle.com> wrote:
> > On 1/16/2014 7:39 AM, Paul Sandoz wrote: >> On Jan 16, 2014, at 2:27 AM, Mandy Chung <mandy.ch...@oracle.com> wrote: >> >>> There is an inconsistency in searching classes vs resources if >>> bootclasspath contains an empty path. Empty path on bootclasspath is >>> skipped by the bootstrap class loader when searching classes while it >>> defaults to current working directory when searching resources as the >>> application class loader. >> Just curious, where is the code that skips empty paths in the bootclasspath >> when loading classes? Is that in the VM? > > Yes it's in the VM which implements the class loading. I don't know the > history and I guess splitting the implementation of class loading vs resource > lookup in the VM and jdk could be due to no actual ClassLoader implementation > (null instead). > OK. >>> This fixes sun.misc.Launcher to skip empty path when constructing the >>> paths from bootclasspath for resource lookup. >>> >>> Webrev at: >>> http://cr.openjdk.java.net/~mchung/jdk9/webrevs/6760902/webrev.00/ >>> >> Perhaps it is better to merge GetResource2.sh into GetResource.sh. > > I was considering if merging them would be better and separating it makes it > clear for what it tests for. On the other hand, I don't like duplication and > I probably can merge them and clean > OK, the echo statements make things quite clear IMHO. >> I am so tempted to change this too :-) >> >> 423 if (pos - lastPos > 0) { > > Me too and time to do it. Will post another webrev. > While you are at it, there is a JavaDoc error for the method ref: /** * This class loader supports dynamic additions to the class path * at runtime. * * @see java.lang.instrument.Instrumentation#appendToSystemClassPathSearch */ private void appendToClassPathForInstrumentation(String path) { Even though it is a private method that JavaDoc is useful since one can click through via the IDE. Paul.