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