To set boolean value via VM.set_flag jcmd

Yasumasa Suenaga yasuenag at gmail.com
Mon Apr 25 12:27:54 UTC 2016


Hi all,

I want to set boolean -XX option via VM.set_flag jcmd.
Currently, we have to set 1 or 0 to VM.set_flag, however, we can set 0 or not.
And I want to set with true/false for it.

I think we can realize it as below:
---------------
diff -r 3d289e4ba366 src/share/vm/services/writeableFlags.cpp
--- a/src/share/vm/services/writeableFlags.cpp  Fri Apr 22 19:40:39 2016 +0200
+++ b/src/share/vm/services/writeableFlags.cpp  Mon Apr 25 21:25:06 2016 +0900
@@ -93,12 +93,12 @@

  // set a boolean global flag
  Flag::Error WriteableFlags::set_bool_flag(const char* name, const char* arg, Flag::Flags origin, FormatBuffer<80>& err_msg) {
-  int value = true;
-
-  if (sscanf(arg, "%d", &value)) {
-    return set_bool_flag(name, value != 0, origin, err_msg);
+  if ((strcmp(arg, "true") == 0) || (strcmp(arg, "1") == 0)) {
+    return set_bool_flag(name, true, origin, err_msg);
+  } else if ((strcmp(arg, "false") == 0) || (strcmp(arg, "0") == 0)) {
+    return set_bool_flag(name, false, origin, err_msg);
    }
-  err_msg.print("flag value must be a boolean (1 or 0)");
+  err_msg.print("flag value must be a boolean (1/0 or true/false)");
    return Flag::WRONG_FORMAT;
  }

---------------

If it is accepted, I file it to JBS and send review request.
What do you think about it?


Thanks,

Yasumasa




More information about the hotspot-runtime-dev mailing list