Mercurial > hg > openjdk > jigsaw > nashorn
changeset 146:43e40c08e7f8
8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s
Reviewed-by: hannesw, sundar
author | lagergren |
---|---|
date | Tue, 26 Mar 2013 08:42:35 +0100 |
parents | 15dac7439921 |
children | ed60078f0a80 |
files | docs/DEVELOPER_README src/jdk/nashorn/internal/runtime/options/Options.java |
diffstat | 2 files changed, 22 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/docs/DEVELOPER_README Mon Mar 25 18:20:16 2013 +0530 +++ b/docs/DEVELOPER_README Tue Mar 26 08:42:35 2013 +0100 @@ -13,6 +13,17 @@ This documentation of the system property flags assume that the default value of the flag is false, unless otherwise specified. +SYSTEM PROPERTY: -Dnashorn.args=<string> + +This property takes as its value a space separated list of Nashorn +command line options that should be passed to Nashorn. This might be useful +in environments where it is hard to tell how a nashorn.jar is launched. + +Example: + +> java -Dnashorn.args="--lazy-complation --log=compiler" large-java-app-with-nashorn.jar +> ant -Dnashorn.args="--log=codegen" antjob + SYSTEM PROPERTY: -Dnashorn.unstable.relink.threshold=x This property controls how many call site misses are allowed before a
--- a/src/jdk/nashorn/internal/runtime/options/Options.java Mon Mar 25 18:20:16 2013 +0530 +++ b/src/jdk/nashorn/internal/runtime/options/Options.java Tue Mar 26 08:42:35 2013 +0100 @@ -66,6 +66,9 @@ /** The options map of enabled options */ private final TreeMap<String, Option<?>> options; + /** System property that can be used for command line option propagation */ + private static final String NASHORN_ARGS_PROPERTY = "nashorn.args"; + /** * Constructor * @@ -386,6 +389,14 @@ final LinkedList<String> argList = new LinkedList<>(); Collections.addAll(argList, args); + final String extra = getStringProperty(NASHORN_ARGS_PROPERTY, null); + if (extra != null) { + final StringTokenizer st = new StringTokenizer(extra); + while (st.hasMoreTokens()) { + argList.add(st.nextToken()); + } + } + while (!argList.isEmpty()) { final String arg = argList.remove(0);