8010706: -Dnashorn.args system property to create command lines to wrapped nashorn.jar:s

Reviewed-by: hannesw, sundar
This commit is contained in:
Marcus Lagergren 2013-03-26 08:42:35 +01:00
parent a9423b7ebf
commit f20cadfd8b
2 changed files with 22 additions and 0 deletions

View File

@ -13,6 +13,17 @@ properties described herein are subject to change without notice.
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

View File

@ -66,6 +66,9 @@ public final class Options {
/** 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 @@ public final class Options {
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);