7122880: Extend vendor-specific command interface to include manageable switches
authorphh
Mon, 19 Dec 2011 15:50:47 -0500
changeset 11254 e2dd3c32a7cb
parent 11209 110525ac80b0
child 11255 7d28e253b4b0
7122880: Extend vendor-specific command interface to include manageable switches Summary: Add Flag::external_ext()/writable_ext(), both return false. Reviewed-by: coleenp, zgu
hotspot/src/share/vm/runtime/globals.cpp
hotspot/src/share/vm/runtime/globals.hpp
hotspot/src/share/vm/runtime/globals_ext.hpp
hotspot/src/share/vm/services/management.cpp
--- a/hotspot/src/share/vm/runtime/globals.cpp	Wed Dec 14 04:30:57 2011 -0800
+++ b/hotspot/src/share/vm/runtime/globals.cpp	Mon Dec 19 15:50:47 2011 -0500
@@ -82,16 +82,19 @@
 }
 
 bool Flag::is_writeable() const {
-  return (strcmp(kind, "{manageable}") == 0 || strcmp(kind, "{product rw}") == 0);
+  return strcmp(kind, "{manageable}") == 0 ||
+         strcmp(kind, "{product rw}") == 0 ||
+         is_writeable_ext();
 }
 
-// All flags except "manageable" are assumed internal flags.
+// All flags except "manageable" are assumed to be internal flags.
 // Long term, we need to define a mechanism to specify which flags
 // are external/stable and change this function accordingly.
 bool Flag::is_external() const {
-  return (strcmp(kind, "{manageable}") == 0);
+  return strcmp(kind, "{manageable}") == 0 || is_external_ext();
 }
 
+
 // Length of format string (e.g. "%.1234s") for printing ccstr below
 #define FORMAT_BUFFER_LEN 16
 
--- a/hotspot/src/share/vm/runtime/globals.hpp	Wed Dec 14 04:30:57 2011 -0800
+++ b/hotspot/src/share/vm/runtime/globals.hpp	Mon Dec 19 15:50:47 2011 -0500
@@ -245,6 +245,8 @@
 
   bool is_unlocker_ext() const;
   bool is_unlocked_ext() const;
+  bool is_writeable_ext() const;
+  bool is_external_ext() const;
 
   void print_on(outputStream* st, bool withComments = false );
   void print_as_flag(outputStream* st);
--- a/hotspot/src/share/vm/runtime/globals_ext.hpp	Wed Dec 14 04:30:57 2011 -0800
+++ b/hotspot/src/share/vm/runtime/globals_ext.hpp	Mon Dec 19 15:50:47 2011 -0500
@@ -53,4 +53,12 @@
   return true;
 }
 
+inline bool Flag::is_writeable_ext() const {
+  return false;
+}
+
+inline bool Flag::is_external_ext() const {
+  return false;
+}
+
 #endif // SHARE_VM_RUNTIME_GLOBALS_EXT_HPP
--- a/hotspot/src/share/vm/services/management.cpp	Wed Dec 14 04:30:57 2011 -0800
+++ b/hotspot/src/share/vm/services/management.cpp	Mon Dec 19 15:50:47 2011 -0500
@@ -33,6 +33,7 @@
 #include "oops/objArrayKlass.hpp"
 #include "oops/oop.inline.hpp"
 #include "runtime/arguments.hpp"
+#include "runtime/globals.hpp"
 #include "runtime/handles.inline.hpp"
 #include "runtime/interfaceSupport.hpp"
 #include "runtime/javaCalls.hpp"