--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/CompilationAlarm.java 2017-12-13 08:52:24.000000000 -0800 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/CompilationAlarm.java 2017-12-13 08:52:24.000000000 -0800 @@ -22,6 +22,7 @@ */ 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; @@ -34,7 +35,8 @@ public static class Options { // @formatter:off - @Option(help = "Time limit in seconds before a compilation expires (0 to disable the limit).", type = OptionType.Debug) + @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 CompilationExpirationPeriod = new OptionKey<>(300); // @formatter:on } @@ -85,15 +87,16 @@ /** * 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. + * 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 = Options.CompilationExpirationPeriod.getValue(options); + int period = Assertions.assertionsEnabled() ? 0 : Options.CompilationExpirationPeriod.getValue(options); if (period > 0) { CompilationAlarm current = currentAlarm.get(); if (current == null) { @@ -105,4 +108,5 @@ } return null; } + }