# HG changeset patch # User Christian Wirth # Date 1379579880 -7200 # Node ID 9b8e3b2986c515819357acbc5b35c1875ff73d8a # Parent ff05c78a7f64bf3dcd3793006dab3113e96c7fa4 add two options for compilation decisions based on time passed diff -r ff05c78a7f64 -r 9b8e3b2986c5 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/CompilationPolicy.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/CompilationPolicy.java Thu Sep 19 10:36:56 2013 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/CompilationPolicy.java Thu Sep 19 10:38:00 2013 +0200 @@ -90,14 +90,18 @@ public boolean compileOrInline() { if (invokeCounter <= 0 && loopAndInvokeCounter <= 0) { - long timestamp = System.currentTimeMillis(); - if ((timestamp - prevTimestamp) < 100) { + if (TruffleUseTimeForCompilationDecision.getValue()) { + long timestamp = System.currentTimeMillis(); + if ((timestamp - prevTimestamp) < TruffleCompilationDecisionTime.getValue()) { + return true; + } + this.invokeCounter = initialInvokeCounter; + this.loopAndInvokeCounter = compilationThreshold; + this.originalInvokeCounter = compilationThreshold; + this.prevTimestamp = timestamp; + } else { return true; } - this.invokeCounter = initialInvokeCounter; - this.loopAndInvokeCounter = compilationThreshold; - this.originalInvokeCounter = compilationThreshold; - this.prevTimestamp = timestamp; } return false; } diff -r ff05c78a7f64 -r 9b8e3b2986c5 graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java Thu Sep 19 10:36:56 2013 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerOptions.java Thu Sep 19 10:38:00 2013 +0200 @@ -71,7 +71,10 @@ public static final OptionValue TruffleInliningTrivialSize = new OptionValue<>(10); @Option(help = "") public static final OptionValue TruffleInliningMinFrequency = new OptionValue<>(0.3); - + @Option(help = "") + public static final OptionValue TruffleUseTimeForCompilationDecision = new OptionValue<>(false); + @Option(help = "") + public static final OptionValue TruffleCompilationDecisionTime = new OptionValue<>(100); // tracing @Option(help = "") public static final OptionValue TraceTruffleCompilation = new OptionValue<>(true);