src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/CompilationAlarm.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
open Cdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/CompilationAlarm.java
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/CompilationAlarm.java
Print this page
*** 20,29 ****
--- 20,30 ----
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package org.graalvm.compiler.core.common.util;
+ import org.graalvm.compiler.debug.Assertions;
import org.graalvm.compiler.options.Option;
import org.graalvm.compiler.options.OptionKey;
import org.graalvm.compiler.options.OptionType;
import org.graalvm.compiler.options.OptionValues;
*** 32,42 ****
*/
public final class CompilationAlarm implements AutoCloseable {
public static class Options {
// @formatter:off
! @Option(help = "Time limit in seconds before a compilation expires (0 to disable the limit).", type = OptionType.Debug)
public static final OptionKey<Integer> CompilationExpirationPeriod = new OptionKey<>(300);
// @formatter:on
}
private CompilationAlarm(long expiration) {
--- 33,44 ----
*/
public final class CompilationAlarm implements AutoCloseable {
public static class Options {
// @formatter:off
! @Option(help = "Time limit in seconds before a compilation expires (0 to disable the limit). " +
! "The compilation alarm will be implicitly disabled if assertions are enabled.", type = OptionType.Debug)
public static final OptionKey<Integer> CompilationExpirationPeriod = new OptionKey<>(300);
// @formatter:on
}
private CompilationAlarm(long expiration) {
*** 83,101 ****
*/
private final long expiration;
/**
* Starts an alarm for setting a time limit on a compilation if there isn't already an active
! * alarm and {@link CompilationAlarm.Options#CompilationExpirationPeriod}{@code > 0}. The
! * returned value can be used in a try-with-resource statement to disable the alarm once the
! * compilation is finished.
*
* @return a {@link CompilationAlarm} if there was no current alarm for the calling thread
* before this call otherwise {@code null}
*/
public static CompilationAlarm trackCompilationPeriod(OptionValues options) {
! int period = Options.CompilationExpirationPeriod.getValue(options);
if (period > 0) {
CompilationAlarm current = currentAlarm.get();
if (current == null) {
long expiration = System.currentTimeMillis() + period * 1000;
current = new CompilationAlarm(expiration);
--- 85,104 ----
*/
private final long expiration;
/**
* Starts an alarm for setting a time limit on a compilation if there isn't already an active
! * alarm, if assertions are disabled and
! * {@link CompilationAlarm.Options#CompilationExpirationPeriod}{@code > 0}. The returned value
! * can be used in a try-with-resource statement to disable the alarm once the compilation is
! * finished.
*
* @return a {@link CompilationAlarm} if there was no current alarm for the calling thread
* before this call otherwise {@code null}
*/
public static CompilationAlarm trackCompilationPeriod(OptionValues options) {
! int period = Assertions.assertionsEnabled() ? 0 : Options.CompilationExpirationPeriod.getValue(options);
if (period > 0) {
CompilationAlarm current = currentAlarm.get();
if (current == null) {
long expiration = System.currentTimeMillis() + period * 1000;
current = new CompilationAlarm(expiration);
*** 103,108 ****
--- 106,112 ----
return current;
}
}
return null;
}
+
}
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/CompilationAlarm.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File