src/share/vm/runtime/arguments.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8026324.01 Sdiff src/share/vm/runtime

src/share/vm/runtime/arguments.cpp

Print this page




 771   if (args == NULL || count == 0) {
 772     return NULL;
 773   }
 774   size_t length = strlen(args[0]) + 1; // add 1 for the null terminator
 775   for (int i = 1; i < count; i++) {
 776     length += strlen(args[i]) + 1; // add 1 for a space
 777   }
 778   char* s = NEW_RESOURCE_ARRAY(char, length);
 779   strcpy(s, args[0]);
 780   for (int j = 1; j < count; j++) {
 781     strcat(s, " ");
 782     strcat(s, args[j]);
 783   }
 784   return (const char*) s;
 785 }
 786 
 787 void Arguments::print_on(outputStream* st) {
 788   st->print_cr("VM Arguments:");
 789   if (num_jvm_flags() > 0) {
 790     st->print("jvm_flags: "); print_jvm_flags_on(st);

 791   }
 792   if (num_jvm_args() > 0) {
 793     st->print("jvm_args: "); print_jvm_args_on(st);

 794   }
 795   st->print_cr("java_command: %s", java_command() ? java_command() : "<unknown>");
 796   if (_java_class_path != NULL) {
 797     char* path = _java_class_path->value();
 798     st->print_cr("java_class_path (initial): %s", strlen(path) == 0 ? "<not set>" : path );
 799   }
 800   st->print_cr("Launcher Type: %s", _sun_java_launcher);
 801 }
 802 
















 803 void Arguments::print_jvm_flags_on(outputStream* st) {
 804   if (_num_jvm_flags > 0) {
 805     for (int i=0; i < _num_jvm_flags; i++) {
 806       st->print("%s ", _jvm_flags_array[i]);
 807     }
 808     st->cr();
 809   }
 810 }
 811 
 812 void Arguments::print_jvm_args_on(outputStream* st) {
 813   if (_num_jvm_args > 0) {
 814     for (int i=0; i < _num_jvm_args; i++) {
 815       st->print("%s ", _jvm_args_array[i]);
 816     }
 817     st->cr();
 818   }
 819 }
 820 
 821 bool Arguments::process_argument(const char* arg,
 822     jboolean ignore_unrecognized, Flag::Flags origin) {
 823 
 824   JDK_Version since = JDK_Version();
 825 
 826   if (parse_argument(arg, origin) || ignore_unrecognized) {
 827     return true;
 828   }
 829 
 830   // Determine if the flag has '+', '-', or '=' characters.
 831   bool has_plus_minus = (*arg == '+' || *arg == '-');
 832   const char* const argname = has_plus_minus ? arg + 1 : arg;
 833 
 834   size_t arg_len;
 835   const char* equal_sign = strchr(argname, '=');
 836   if (equal_sign == NULL) {
 837     arg_len = strlen(argname);




 771   if (args == NULL || count == 0) {
 772     return NULL;
 773   }
 774   size_t length = strlen(args[0]) + 1; // add 1 for the null terminator
 775   for (int i = 1; i < count; i++) {
 776     length += strlen(args[i]) + 1; // add 1 for a space
 777   }
 778   char* s = NEW_RESOURCE_ARRAY(char, length);
 779   strcpy(s, args[0]);
 780   for (int j = 1; j < count; j++) {
 781     strcat(s, " ");
 782     strcat(s, args[j]);
 783   }
 784   return (const char*) s;
 785 }
 786 
 787 void Arguments::print_on(outputStream* st) {
 788   st->print_cr("VM Arguments:");
 789   if (num_jvm_flags() > 0) {
 790     st->print("jvm_flags: "); print_jvm_flags_on(st);
 791     st->cr();
 792   }
 793   if (num_jvm_args() > 0) {
 794     st->print("jvm_args: "); print_jvm_args_on(st);
 795     st->cr();
 796   }
 797   st->print_cr("java_command: %s", java_command() ? java_command() : "<unknown>");
 798   if (_java_class_path != NULL) {
 799     char* path = _java_class_path->value();
 800     st->print_cr("java_class_path (initial): %s", strlen(path) == 0 ? "<not set>" : path );
 801   }
 802   st->print_cr("Launcher Type: %s", _sun_java_launcher);
 803 }
 804 
 805 void Arguments::print_summary_on(outputStream* st) {
 806   // Print the command line.  Environment variables that are helpful for
 807   // reproducing the problem are written later in the hs_err file.
 808   st->print_raw("Command Line: ");
 809   if (num_jvm_flags() > 0) {
 810     print_jvm_flags_on(st);
 811   }
 812   if (num_jvm_args() > 0) {
 813     print_jvm_args_on(st);
 814   }
 815   if (java_command() != NULL) {
 816     st->print("%s", java_command());
 817   }
 818   st->cr();
 819 }
 820 
 821 void Arguments::print_jvm_flags_on(outputStream* st) {
 822   if (_num_jvm_flags > 0) {
 823     for (int i=0; i < _num_jvm_flags; i++) {
 824       st->print("%s ", _jvm_flags_array[i]);
 825     }

 826   }
 827 }
 828 
 829 void Arguments::print_jvm_args_on(outputStream* st) {
 830   if (_num_jvm_args > 0) {
 831     for (int i=0; i < _num_jvm_args; i++) {
 832       st->print("%s ", _jvm_args_array[i]);
 833     }

 834   }
 835 }
 836 
 837 bool Arguments::process_argument(const char* arg,
 838     jboolean ignore_unrecognized, Flag::Flags origin) {
 839 
 840   JDK_Version since = JDK_Version();
 841 
 842   if (parse_argument(arg, origin) || ignore_unrecognized) {
 843     return true;
 844   }
 845 
 846   // Determine if the flag has '+', '-', or '=' characters.
 847   bool has_plus_minus = (*arg == '+' || *arg == '-');
 848   const char* const argname = has_plus_minus ? arg + 1 : arg;
 849 
 850   size_t arg_len;
 851   const char* equal_sign = strchr(argname, '=');
 852   if (equal_sign == NULL) {
 853     arg_len = strlen(argname);


src/share/vm/runtime/arguments.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File