Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 53c49936659f
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: b9fe9f08849d
Choose a head ref
  • 2 commits
  • 1 file changed
  • 1 contributor

Commits on Jan 8, 2017

  1. Copy the full SHA
    1edd9bc View commit details
  2. Copy the full SHA
    b9fe9f0 View commit details
Showing with 13 additions and 29 deletions.
  1. +13 −29 truffle/src/main/java/org/jruby/truffle/Main.java
42 changes: 13 additions & 29 deletions truffle/src/main/java/org/jruby/truffle/Main.java
Original file line number Diff line number Diff line change
@@ -80,24 +80,26 @@ public static void main(String[] args) {
if (!mee.isAborted()) {
config.getError().println(mee.getMessage());
if (mee.isUsageError()) {
printUsage(config, true);
config.getOutput().print(OutputStrings.getBasicUsageHelp());
}
}
System.exit(mee.getStatus());
}

showVersion(config);
showCopyright(config);
if (config.isShowVersion()) {
config.getOutput().println(OutputStrings.getVersionString());
}

if (config.isShowCopyright()) {
config.getOutput().println(OutputStrings.getCopyrightString());
}

final int exitCode;

if (config.getShouldRunInterpreter()) {
final String filename = displayedFileName(config);

final PolyglotEngine engine;
final RubyContext context;

engine = PolyglotEngine.newBuilder()
final PolyglotEngine engine = PolyglotEngine.newBuilder()
.config(RubyLanguage.MIME_TYPE, OptionsCatalog.LOAD_PATHS.getName(), config.getLoadPaths().toArray(new String[]{}))
.config(RubyLanguage.MIME_TYPE, OptionsCatalog.REQUIRED_LIBRARIES.getName(), config.getRequiredLibraries().toArray(new String[]{}))
.config(RubyLanguage.MIME_TYPE, OptionsCatalog.INLINE_SCRIPT.getName(), config.inlineScript())
@@ -112,7 +114,7 @@ public static void main(String[] args) {
.build();

Main.printTruffleTimeMetric("before-load-context");
context = engine.eval(loadSource("Truffle::Boot.context", "context")).as(RubyContext.class);
final RubyContext context = engine.eval(loadSource("Truffle::Boot.context", "context")).as(RubyContext.class);
Main.printTruffleTimeMetric("after-load-context");

printTruffleTimeMetric("before-run");
@@ -143,7 +145,9 @@ public static void main(String[] args) {
engine.dispose();
}
} else {
printUsage(config, false);
if (config.getShouldPrintUsage()) {
config.getOutput().print(OutputStrings.getBasicUsageHelp());
}
exitCode = 1;
}

@@ -172,8 +176,6 @@ public static void processArguments(RubyInstanceConfig config, String[] argument

public static InputStream getScriptSource(RubyInstanceConfig config) {
try {
// KCode.NONE is used because KCODE does not affect parse in Ruby 1.8
// if Ruby 2.0 encoding pragmas are implemented, this will need to change
if (config.isInlineScript()) {
return new ByteArrayInputStream(config.inlineScript());
} else if (config.isForceStdin() || config.getScriptFileName() == null) {
@@ -203,24 +205,6 @@ public static String displayedFileName(RubyInstanceConfig config) {
}
}

private static void printUsage(RubyInstanceConfig config, boolean force) {
if (config.getShouldPrintUsage() || force) {
config.getOutput().print(OutputStrings.getBasicUsageHelp());
}
}

private static void showCopyright(RubyInstanceConfig config) {
if (config.isShowCopyright()) {
config.getOutput().println(OutputStrings.getCopyrightString());
}
}

private static void showVersion(RubyInstanceConfig config) {
if (config.isShowVersion()) {
config.getOutput().println(OutputStrings.getVersionString());
}
}

public static void printTruffleTimeMetric(String id) {
if (METRICS_TIME) {
final long millis = System.currentTimeMillis();