changeset 1443:1b7acf75f900

Made setting C1X options from HotSpot command line more robust.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Thu, 04 Nov 2010 15:34:50 +0100
parents 50ff0b5b971b
children c0e244017dad
files c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java src/share/vm/c1x/c1x_Compiler.cpp
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java	Wed Nov 03 16:58:50 2010 +0100
+++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/VMExitsNative.java	Thu Nov 04 15:34:50 2010 +0100
@@ -74,13 +74,15 @@
                     value = Integer.parseInt(valueString);
                 } else if (f.getType() == Boolean.TYPE) {
                     value = Boolean.parseBoolean(valueString);
+                } else if (f.getType() == String.class) {
+                    value = valueString;
                 }
             }
             if (value != null) {
                 f.set(null, value);
                 Logger.info("Set option " + fieldName + " to " + value);
             } else {
-                Logger.info("Wrong value \"" + valueString + "\" for option fieldName");
+                Logger.info("Wrong value \"" + valueString + "\" for option " + fieldName);
                 return false;
             }
         } catch (SecurityException e) {
--- a/src/share/vm/c1x/c1x_Compiler.cpp	Wed Nov 03 16:58:50 2010 +0100
+++ b/src/share/vm/c1x/c1x_Compiler.cpp	Thu Nov 04 15:34:50 2010 +0100
@@ -55,7 +55,8 @@
     for (int i = 0; i < Arguments::num_c1x_args(); ++i) {
       const char* arg = Arguments::c1x_args_array()[i];
       Handle option = java_lang_String::create_from_str(arg, THREAD);
-      VMExits::setOption(option);
+      bool result = VMExits::setOption(option);
+      if (!result) fatal("Invalid option for C1X!");
     }
   }
 }