< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugOptions.java

Print this page

        

*** 28,61 **** import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import jdk.internal.vm.compiler.collections.EconomicMap; import org.graalvm.compiler.options.Option; import org.graalvm.compiler.options.OptionKey; import org.graalvm.compiler.options.OptionType; import org.graalvm.compiler.options.OptionValues; import org.graalvm.compiler.serviceprovider.GraalServices; /** * Options that configure a {@link DebugContext} and related functionality. */ public class DebugOptions { - static class DeprecatedOptionKey<T> extends OptionKey<T> { - private final OptionKey<T> replacement; ! DeprecatedOptionKey(OptionKey<T> replacement) { ! super(replacement.getDefaultValue()); ! this.replacement = replacement; ! } ! ! @Override ! protected void onValueUpdate(EconomicMap<OptionKey<?>, Object> values, T oldValue, T newValue) { ! // Ideally we'd use TTY here but it may not yet be initialized. ! System.err.printf("Warning: the %s option is deprecated - use %s instead%n", getName(), replacement.getName()); ! replacement.update(values, newValue); ! } } // @formatter:off @Option(help = "Comma separated names of timers that are enabled irrespective of the value for Time option. " + "An empty value enables all timers unconditionally.", type = OptionType.Debug) --- 28,70 ---- import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import jdk.internal.vm.compiler.collections.EconomicMap; + import org.graalvm.compiler.options.EnumOptionKey; import org.graalvm.compiler.options.Option; import org.graalvm.compiler.options.OptionKey; import org.graalvm.compiler.options.OptionType; import org.graalvm.compiler.options.OptionValues; import org.graalvm.compiler.serviceprovider.GraalServices; /** * Options that configure a {@link DebugContext} and related functionality. */ public class DebugOptions { ! /** ! * Values for the {@link DebugOptions#PrintGraph} option denoting where graphs dumped as a ! * result of the {@link DebugOptions#Dump} option are sent. ! */ ! public enum PrintGraphTarget { ! /** ! * Dump graphs to files. ! */ ! File, ! ! /** ! * Dump graphs to the network. The network destination is specified by the ! * {@link DebugOptions#PrintGraphHost} and {@link DebugOptions#PrintGraphPort} options. If a ! * network connection cannot be opened, dumping falls back to {@link #File} dumping. ! */ ! Network, ! ! /** ! * Do not dump graphs. ! */ ! Disable; } // @formatter:off @Option(help = "Comma separated names of timers that are enabled irrespective of the value for Time option. " + "An empty value enables all timers unconditionally.", type = OptionType.Debug)
*** 116,143 **** public static final OptionKey<Boolean> InterceptBailout = new OptionKey<>(false); @Option(help = "Enable more verbose log output when available", type = OptionType.Debug) public static final OptionKey<Boolean> LogVerbose = new OptionKey<>(false); @Option(help = "The directory where various Graal dump files are written.") ! public static final OptionKey<String> DumpPath = new OptionKey<>("dumps"); @Option(help = "Print the name of each dump file path as it's created.") public static final OptionKey<Boolean> ShowDumpFiles = new OptionKey<>(false); @Option(help = "Enable dumping to the C1Visualizer. Enabling this option implies PrintBackendCFG.", type = OptionType.Debug) public static final OptionKey<Boolean> PrintCFG = new OptionKey<>(false); @Option(help = "Enable dumping LIR, register allocation and code generation info to the C1Visualizer.", type = OptionType.Debug) public static final OptionKey<Boolean> PrintBackendCFG = new OptionKey<>(true); ! @Option(help = "Enable dumping to the IdealGraphVisualizer.", type = OptionType.Debug) ! public static final OptionKey<Boolean> PrintGraph = new OptionKey<>(true); ! @Option(help = "Print graphs to files instead of sending them over the network.", type = OptionType.Debug) ! public static final OptionKey<Boolean> PrintGraphFile = new OptionKey<>(false); @Option(help = "Host part of the address to which graphs are dumped.", type = OptionType.Debug) public static final OptionKey<String> PrintGraphHost = new OptionKey<>("127.0.0.1"); @Option(help = "Port part of the address to which graphs are dumped in binary format.", type = OptionType.Debug) ! public static final OptionKey<Integer> PrintBinaryGraphPort = new OptionKey<>(4445); @Option(help = "Schedule graphs as they are dumped.", type = OptionType.Debug) public static final OptionKey<Boolean> PrintGraphWithSchedule = new OptionKey<>(false); @Option(help = "Enable dumping Truffle ASTs to the IdealGraphVisualizer.", type = OptionType.Debug) public static final OptionKey<Boolean> PrintTruffleTrees = new OptionKey<>(true); --- 125,167 ---- public static final OptionKey<Boolean> InterceptBailout = new OptionKey<>(false); @Option(help = "Enable more verbose log output when available", type = OptionType.Debug) public static final OptionKey<Boolean> LogVerbose = new OptionKey<>(false); @Option(help = "The directory where various Graal dump files are written.") ! public static final OptionKey<String> DumpPath = new OptionKey<>("graal_dumps"); @Option(help = "Print the name of each dump file path as it's created.") public static final OptionKey<Boolean> ShowDumpFiles = new OptionKey<>(false); @Option(help = "Enable dumping to the C1Visualizer. Enabling this option implies PrintBackendCFG.", type = OptionType.Debug) public static final OptionKey<Boolean> PrintCFG = new OptionKey<>(false); @Option(help = "Enable dumping LIR, register allocation and code generation info to the C1Visualizer.", type = OptionType.Debug) public static final OptionKey<Boolean> PrintBackendCFG = new OptionKey<>(true); ! @Option(help = "file:doc-files/PrintGraphHelp.txt", type = OptionType.Debug) ! public static final EnumOptionKey<PrintGraphTarget> PrintGraph = new EnumOptionKey<>(PrintGraphTarget.File); ! ! @Option(help = "Setting to true sets PrintGraph=file, setting to false sets PrintGraph=network", type = OptionType.Debug) ! public static final OptionKey<Boolean> PrintGraphFile = new OptionKey<Boolean>(true) { ! @Override ! protected void onValueUpdate(EconomicMap<OptionKey<?>, Object> values, Boolean oldValue, Boolean newValue) { ! PrintGraphTarget v = PrintGraph.getValueOrDefault(values); ! if (newValue.booleanValue()) { ! if (v != PrintGraphTarget.File) { ! PrintGraph.update(values, PrintGraphTarget.File); ! } ! } else { ! if (v != PrintGraphTarget.Network) { ! PrintGraph.update(values, PrintGraphTarget.Network); ! } ! } ! } ! }; @Option(help = "Host part of the address to which graphs are dumped.", type = OptionType.Debug) public static final OptionKey<String> PrintGraphHost = new OptionKey<>("127.0.0.1"); @Option(help = "Port part of the address to which graphs are dumped in binary format.", type = OptionType.Debug) ! public static final OptionKey<Integer> PrintGraphPort = new OptionKey<>(4445); @Option(help = "Schedule graphs as they are dumped.", type = OptionType.Debug) public static final OptionKey<Boolean> PrintGraphWithSchedule = new OptionKey<>(false); @Option(help = "Enable dumping Truffle ASTs to the IdealGraphVisualizer.", type = OptionType.Debug) public static final OptionKey<Boolean> PrintTruffleTrees = new OptionKey<>(true);
< prev index next >