686 }
687 if (Arguments::num_jvm_args() > 0) {
688 xs->head("args");
689 Arguments::print_jvm_args_on(xs->text());
690 xs->tail("args");
691 }
692 if (Arguments::java_command() != NULL) {
693 xs->head("command"); xs->text()->print_cr("%s", Arguments::java_command());
694 xs->tail("command");
695 }
696 if (Arguments::sun_java_launcher() != NULL) {
697 xs->head("launcher"); xs->text()->print_cr("%s", Arguments::sun_java_launcher());
698 xs->tail("launcher");
699 }
700 if (Arguments::system_properties() != NULL) {
701 xs->head("properties");
702 // Print it as a java-style property list.
703 // System properties don't generally contain newlines, so don't bother with unparsing.
704 outputStream *text = xs->text();
705 for (SystemProperty* p = Arguments::system_properties(); p != NULL; p = p->next()) {
706 // Print in two stages to avoid problems with long
707 // keys/values.
708 assert(p->key() != NULL, "p->key() is NULL");
709 text->print_raw(p->key());
710 text->put('=');
711 assert(p->value() != NULL, "p->value() is NULL");
712 text->print_raw_cr(p->value());
713 }
714 xs->tail("properties");
715 }
716 xs->tail("vm_arguments");
717 // tty output per se is grouped under the <tty>...</tty> element.
718 xs->head("tty");
719 // All further non-markup text gets copied to the tty:
720 xs->_text = this; // requires friend declaration!
721 }
722
723 // finish_log() is called during normal VM shutdown. finish_log_on_error() is
724 // called by ostream_abort() after a fatal error.
725 //
726 void defaultStream::finish_log() {
727 xmlStream* xs = _outer_xmlStream;
728 xs->done("tty");
729
730 // Other log forks are appended here, at the End of Time:
731 CompileLog::finish_log(xs->out()); // write compile logging, if any, now
732
|
686 }
687 if (Arguments::num_jvm_args() > 0) {
688 xs->head("args");
689 Arguments::print_jvm_args_on(xs->text());
690 xs->tail("args");
691 }
692 if (Arguments::java_command() != NULL) {
693 xs->head("command"); xs->text()->print_cr("%s", Arguments::java_command());
694 xs->tail("command");
695 }
696 if (Arguments::sun_java_launcher() != NULL) {
697 xs->head("launcher"); xs->text()->print_cr("%s", Arguments::sun_java_launcher());
698 xs->tail("launcher");
699 }
700 if (Arguments::system_properties() != NULL) {
701 xs->head("properties");
702 // Print it as a java-style property list.
703 // System properties don't generally contain newlines, so don't bother with unparsing.
704 outputStream *text = xs->text();
705 for (SystemProperty* p = Arguments::system_properties(); p != NULL; p = p->next()) {
706 assert(p->key() != NULL, "p->key() is NULL");
707 if (p->is_readable()) {
708 // Print in two stages to avoid problems with long
709 // keys/values.
710 text->print_raw(p->key());
711 text->put('=');
712 assert(p->value() != NULL, "p->value() is NULL");
713 text->print_raw_cr(p->value());
714 }
715 }
716 xs->tail("properties");
717 }
718 xs->tail("vm_arguments");
719 // tty output per se is grouped under the <tty>...</tty> element.
720 xs->head("tty");
721 // All further non-markup text gets copied to the tty:
722 xs->_text = this; // requires friend declaration!
723 }
724
725 // finish_log() is called during normal VM shutdown. finish_log_on_error() is
726 // called by ostream_abort() after a fatal error.
727 //
728 void defaultStream::finish_log() {
729 xmlStream* xs = _outer_xmlStream;
730 xs->done("tty");
731
732 // Other log forks are appended here, at the End of Time:
733 CompileLog::finish_log(xs->out()); // write compile logging, if any, now
734
|