diff jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java @ 22758:a130b51efb07

removed @Option mechanism from JVMCI (GRAAL-1371)
author Doug Simon <doug.simon@oracle.com>
date Mon, 21 Dec 2015 15:53:56 +0100
parents 57646377e480
children f2206f5bb62e
line wrap: on
line diff
--- a/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java	Sun Dec 20 23:15:24 2015 +0100
+++ b/jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotJVMCIRuntime.java	Mon Dec 21 15:53:56 2015 +0100
@@ -36,6 +36,7 @@
 import java.util.Objects;
 import java.util.TreeMap;
 
+import sun.misc.VM;
 import jdk.vm.ci.code.Architecture;
 import jdk.vm.ci.code.CompilationResult;
 import jdk.vm.ci.code.InstalledCode;
@@ -83,6 +84,22 @@
         return DelayedInit.instance;
     }
 
+    /**
+     * Gets a boolean value based on a {@linkplain VM#getSavedProperty(String) saved} system
+     * property.
+     *
+     * @param name the name of the system property to derive a boolean value from using
+     *            {@link Boolean#parseBoolean(String)}
+     * @param def the value to return if there is no system property corresponding to {@code name}
+     */
+    public static boolean getBooleanOption(String name, boolean def) {
+        String value = VM.getSavedProperty(name);
+        if (value == null) {
+            return def;
+        }
+        return Boolean.parseBoolean(value);
+    }
+
     public static HotSpotJVMCIBackendFactory findFactory(String architecture) {
         for (HotSpotJVMCIBackendFactory factory : Services.load(HotSpotJVMCIBackendFactory.class)) {
             if (factory.getArchitecture().equalsIgnoreCase(architecture)) {