RFR: 8169588: [AOT] jaotc --classpath option is confusing
Rickard Bäckman
rickard.backman at oracle.com
Thu Jan 19 07:38:43 UTC 2017
Thank you.
I'll take care of the copyright header.
/R
On 01/18, dean.long at oracle.com wrote:
> I liked it. Reviewed. Just one thing:
>
> Looks like LoadedClass.java copyright header got mangled:
>
> 1 package jdk.tools.jaotc;/*
> 2 * Copyright (c) 2015, Oracle and/or its affiliates. All rights
> reserved.
>
> dl
>
> On 1/17/17 11:54 PM, Vladimir Kozlov wrote:
> >On 1/13/17 6:33 AM, Rickard Bäckman wrote:
> >>On 01/12, Vladimir Kozlov wrote:
> >>>Very nice! Thank you, Rickard.
> >>>
> >>>But I am still prefer by default flags to be specified as reference
> >>>examples for users.
> >>
> >>Not sure what you mean?
> >
> >You did exactly what I wanted - you added flags to tests so users
> >can look on tests as examples.
> >
> >I satisfied with this latest version. Reviewed.
> >
> >Thanks,
> >Vladimir
> >
> >>
> >>>
> >>>Can you don't change next test?:
> >>>
> >>>test/compiler/aot/cli/jaotc/CompileModuleTest.java
> >>
> >>Because the other way still works? But I've changed it now. Just more
> >>to type.
> >>
> >>>
> >>>and ModuleSourceProviderTest.java test should specify --module flag?
> >>
> >>No? There is nothing in those tests that depend on the flags?
> >>
> >>>
> >>>And similar other tests without flags.
> >>>
> >>>You did not answered my question about -J-classpath -J. :
> >>
> >>I removed it.
> >>
> >>>
> >>>>>>>And why you need to add -J-classpath -J. ?
> >>
> >>Had to do it because the launcher didn't set classpath to include . by
> >>default. I added code to work around that now.
> >>
> >>New webrev... still uploading so have patience if it isn't there.
> >>
> >>http://cr.openjdk.java.net/~rbackman/8169588.4/
> >>
> >>/R
> >>
> >>>>>>
> >>>>>>That is how the suggestion looked in the bug report. Use
> >>>>>>the classpath
> >>>>>>of the JVM for compilation of specific classes.
> >>>>>
> >>>>>But I would assume '-classpath .' should be default - only if it is
> >>>>>different from ./ current dir you need to specify it.
> >>>
> >>>Thanks,
> >>>Vladimir
> >>>
> >>>On 1/12/17 4:43 AM, Rickard Bäckman wrote:
> >>>>I kept the previous guessing functionality. However if it
> >>>>finds multiple
> >>>>solutions it will fail with a message.
> >>>>
> >>>>It now also works with:
> >>>>
> >>>>jaotc --jar foo1.jar:foo2.jar --jar foo3.jar --directory
> >>>>/tmp/something:/tmp/another --module java.base:jdk.aot --classname
> >>>>java.lang.String:java.util.List
> >>>>
> >>>>I removed the classpath option as it was unused.
> >>>>
> >>>>http://cr.openjdk.java.net/~rbackman/8169588.3/
> >>>>
> >>>>On 01/10, Vladimir Kozlov wrote:
> >>>>>On 1/10/17 4:25 AM, Rickard Bäckman wrote:
> >>>>>>See inline.
> >>>>>>
> >>>>>>On 01/09, Vladimir Kozlov wrote:
> >>>>>>>I think it is confusing.
> >>>>>>>
> >>>>>>>We should either have flags to distinguish them:
> >>>>>>>
> >>>>>>>--module java.base
> >>>>>>>--class HelloWorld
> >>>>>>>--jar foobar
> >>>>>>
> >>>>>>for --jar it would be foobar.jar though.
> >>>>>>and --directory /tmp/foobar
> >>>>>>
> >>>>>>I'll do that instead if that is what is preferred.
> >>>>>>But then new questions...
> >>>>>
> >>>>>okay
> >>>>>
> >>>>>>
> >>>>>>Do we want users to be able to mix?
> >>>>>>
> >>>>>>jaotc --module java.base --class HelloWorld
> >>>>>
> >>>>>yes
> >>>>>
> >>>>>>
> >>>>>>do we allow multiple of the same?
> >>>>>>
> >>>>>>jaotc --module java.base --module jdk.vm.compiler --jar
> >>>>>>/home/someone/foo.jar
> >>>>>
> >>>>>yes
> >>>>>
> >>>>>>
> >>>>>>do we allow splitting?
> >>>>>>
> >>>>>>jaotc --module java.base:jdk.vm.compiler --directory
> >>>>>>/tmp/foobar:/tmp/foo:/tmp/bar
> >>>>>
> >>>>>Yes, would be nice to have both: multiply options (--module in
> >>>>>previous case) and set of names with one option like here.
> >>>>>
> >>>>>>
> >>>>>>>
> >>>>>>>or use file type from whole name:
> >>>>>>>
> >>>>>>>java.base.jmod
> >>>>>>>HelloWorld.class
> >>>>>>>foobar.jar
> >>>>>>>
> >>>>>>>Two other things. I see that you left --classpath flag but use
> >>>>>>>-J-classpath -J. in tests.
> >>>>>>>How --classpath is used now?
> >>>>>>
> >>>>>>--classpath isn't used. Probably mismerge. I'll remove it.
> >>>>>
> >>>>>OK.
> >>>>>
> >>>>>>
> >>>>>>>And why you need to add -J-classpath -J. ?
> >>>>>>
> >>>>>>That is how the suggestion looked in the bug report. Use
> >>>>>>the classpath
> >>>>>>of the JVM for compilation of specific classes.
> >>>>>
> >>>>>But I would assume '-classpath .' should be default - only if it is
> >>>>>different from ./ current dir you need to specify it.
> >>>>>
> >>>>>Thanks,
> >>>>>Vladimir
> >>>>>
> >>>>>>
> >>>>>>/R
> >>>>>>
> >>>>>>>
> >>>>>>>Thanks,
> >>>>>>>Vladimir
> >>>>>>>
> >>>>>>>On 1/9/17 4:29 AM, Rickard Bäckman wrote:
> >>>>>>>>On 01/05, Vladimir Kozlov wrote:
> >>>>>>>>
> >>>>>>>>Vladimir,
> >>>>>>>>
> >>>>>>>>I removed the lines.
> >>>>>>>>
> >>>>>>>>We just check the different possibilities, the first
> >>>>>>>>thing that matches
> >>>>>>>>is used. The current order is:
> >>>>>>>>
> >>>>>>>>module
> >>>>>>>>class name
> >>>>>>>>jar file
> >>>>>>>>directory
> >>>>>>>>
> >>>>>>>>We could always change it so that it prints an error
> >>>>>>>>if multiple things
> >>>>>>>>matches (example: java.base is a module and a
> >>>>>>>>directory in the users
> >>>>>>>>current directory).
> >>>>>>>>
> >>>>>>>>http://cr.openjdk.java.net/~rbackman/8169588.2/
> >>>>>>>>
> >>>>>>>>/R
> >>>>>>>>
> >>>>>>>>>Hi Rickard,
> >>>>>>>>>
> >>>>>>>>>You can remove commented lines Main.java which use
> >>>>>>>>>ClassCollector.
> >>>>>>>>>
> >>>>>>>>>I am not sure how you separate module name from
> >>>>>>>>>directory name without using --module flag. You
> >>>>>>>>>removed --module from test.
> >>>>>>>>>
> >>>>>>>>>Thanks,
> >>>>>>>>>Vladimir
> >>>>>>>>>
> >>>>>>>>>On 1/5/17 6:12 AM, Rickard Bäckman wrote:
> >>>>>>>>>>Noticed that I forgot to add changes to test
> >>>>>>>>>>cases in the webrev.
> >>>>>>>>>>So updated.
> >>>>>>>>>>
> >>>>>>>>>>http://cr.openjdk.java.net/~rbackman/8169588.1/
> >>>>>>>>>>
> >>>>>>>>>>/R
> >>>>>>>>>>
> >>>>>>>>>>On 01/05, Rickard Bäckman wrote:
> >>>>>>>>>>>Hi,
> >>>>>>>>>>>
> >>>>>>>>>>>can I please have this change reviewed?
> >>>>>>>>>>>
> >>>>>>>>>>>It changes how jaotc handles command line options.
> >>>>>>>>>>>With this change it handles:
> >>>>>>>>>>>
> >>>>>>>>>>>jaotc /tmp/some/directory /tmp/some/directory2/
> >>>>>>>>>>>jaotc /tmp/some/file.jar /tmp/foo/bar.jar
> >>>>>>>>>>>jaotc java.base
> >>>>>>>>>>>
> >>>>>>>>>>>You can also use a new flag --search-path
> >>>>>>>>>>>
> >>>>>>>>>>>jaotc --search-path
> >>>>>>>>>>>/tmp/jarfiles:/tmp/jarfiles2 file1.jar
> >>>>>>>>>>>file2.jar
> >>>>>>>>>>>
> >>>>>>>>>>>or mix the kind of things you are trying to compile
> >>>>>>>>>>>
> >>>>>>>>>>>jaotc /tmp/foo/dir /tmp/bar/foobar.jar java.base
> >>>>>>>>>>>
> >>>>>>>>>>>https://bugs.openjdk.java.net/browse/JDK-8169588
> >>>>>>>>>>>http://cr.openjdk.java.net/~rbackman/8169588/
> >>>>>>>>>>>
> >>>>>>>>>>>Thanks
> >>>>>>>>>>>/R
> >>>>/R
> >>>>
> >>/R
> >>
>
/R
More information about the hotspot-compiler-dev
mailing list