changeset 8393:0e2c530885d1

If IgnoreUnrecognizedVMOptions is set then the Graal checks for unsupported options is just a warning instead of an error
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 20 Mar 2013 12:00:18 +0100
parents 39b37e601242
children 701290361dad
files src/share/vm/runtime/arguments.cpp
diffstat 1 files changed, 21 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/runtime/arguments.cpp	Wed Mar 20 11:59:25 2013 +0100
+++ b/src/share/vm/runtime/arguments.cpp	Wed Mar 20 12:00:18 2013 +0100
@@ -2070,26 +2070,41 @@
   }
 #ifdef GRAAL
   if (UseCompressedOops) {
-    jio_fprintf(defaultStream::error_stream(),
+    if (IgnoreUnrecognizedVMOptions) {
+      warning("UseCompressedOops is disabled, because it is not supported by Graal");
+      FLAG_SET_CMDLINE(bool, UseCompressedOops, false);
+    } else {
+      jio_fprintf(defaultStream::error_stream(),
                     "CompressedOops are not supported in Graal at the moment\n");
-        status = false;
+      status = false;
+    }
   } else {
     // This prevents the flag being set to true by set_ergonomics_flags()
     FLAG_SET_CMDLINE(bool, UseCompressedOops, false);
   }
 
   if (UseCompressedKlassPointers) {
-    jio_fprintf(defaultStream::error_stream(),
+    if (IgnoreUnrecognizedVMOptions) {
+      warning("UseCompressedKlassPointers is disabled, because it is not supported by Graal");
+      FLAG_SET_CMDLINE(bool, UseCompressedKlassPointers, false);
+    } else {
+      jio_fprintf(defaultStream::error_stream(),
                     "UseCompressedKlassPointers are not supported in Graal at the moment\n");
-        status = false;
+      status = false;
+    }
   } else {
     // This prevents the flag being set to true by set_ergonomics_flags()
     FLAG_SET_CMDLINE(bool, UseCompressedKlassPointers, false);
   }
   if (UseG1GC) {
-    jio_fprintf(defaultStream::error_stream(),
+    if (IgnoreUnrecognizedVMOptions) {
+      warning("UseG1GC is disabled, because it is not supported by Graal");
+      FLAG_SET_CMDLINE(bool, UseG1GC, false);
+    } else {
+      jio_fprintf(defaultStream::error_stream(),
                         "G1 is not supported in Graal at the moment\n");
-        status = false;
+      status = false;
+    }
   } else {
     // This prevents the flag being set to true by set_ergonomics_flags()
     FLAG_SET_CMDLINE(bool, UseG1GC, false);