229 st->print_cr("# placed in the first 4GB address space. The Java Heap base address is the");
230 st->print_cr("# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress");
231 st->print_cr("# to set the Java Heap base and to place the Java Heap above 4GB virtual address.");
232 break;
233 case Universe::ZeroBasedNarrowOop:
234 st->print_cr("# JVM is running with Zero Based Compressed Oops mode in which the Java heap is");
235 st->print_cr("# placed in the first 32GB address space. The Java Heap base address is the");
236 st->print_cr("# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress");
237 st->print_cr("# to set the Java Heap base and to place the Java Heap above 32GB virtual address.");
238 break;
239 }
240 }
241 st->print_cr("# This output file may be truncated or incomplete.");
242 }
243
244 static const char* gc_mode() {
245 if (UseG1GC) return "g1 gc";
246 if (UseParallelGC) return "parallel gc";
247 if (UseConcMarkSweepGC) return "concurrent mark sweep gc";
248 if (UseSerialGC) return "serial gc";
249 return "ERROR in GC mode";
250 }
251
252 static void report_vm_version(outputStream* st, char* buf, int buflen) {
253 // VM version
254 st->print_cr("#");
255 JDK_Version::current().to_string(buf, buflen);
256 const char* runtime_name = JDK_Version::runtime_name() != NULL ?
257 JDK_Version::runtime_name() : "";
258 const char* runtime_version = JDK_Version::runtime_version() != NULL ?
259 JDK_Version::runtime_version() : "";
260 const char* jdk_debug_level = Abstract_VM_Version::printable_jdk_debug_level() != NULL ?
261 Abstract_VM_Version::printable_jdk_debug_level() : "";
262
263 st->print_cr("# JRE version: %s (%s) (%sbuild %s)", runtime_name, buf,
264 jdk_debug_level, runtime_version);
265
266 // This is the long version with some default settings added
267 st->print_cr("# Java VM: %s (%s%s, %s%s%s%s%s, %s, %s)",
268 Abstract_VM_Version::vm_name(),
|
229 st->print_cr("# placed in the first 4GB address space. The Java Heap base address is the");
230 st->print_cr("# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress");
231 st->print_cr("# to set the Java Heap base and to place the Java Heap above 4GB virtual address.");
232 break;
233 case Universe::ZeroBasedNarrowOop:
234 st->print_cr("# JVM is running with Zero Based Compressed Oops mode in which the Java heap is");
235 st->print_cr("# placed in the first 32GB address space. The Java Heap base address is the");
236 st->print_cr("# maximum limit for the native heap growth. Please use -XX:HeapBaseMinAddress");
237 st->print_cr("# to set the Java Heap base and to place the Java Heap above 32GB virtual address.");
238 break;
239 }
240 }
241 st->print_cr("# This output file may be truncated or incomplete.");
242 }
243
244 static const char* gc_mode() {
245 if (UseG1GC) return "g1 gc";
246 if (UseParallelGC) return "parallel gc";
247 if (UseConcMarkSweepGC) return "concurrent mark sweep gc";
248 if (UseSerialGC) return "serial gc";
249 if (UseEpsilonGC) return "epsilon gc";
250 return "ERROR in GC mode";
251 }
252
253 static void report_vm_version(outputStream* st, char* buf, int buflen) {
254 // VM version
255 st->print_cr("#");
256 JDK_Version::current().to_string(buf, buflen);
257 const char* runtime_name = JDK_Version::runtime_name() != NULL ?
258 JDK_Version::runtime_name() : "";
259 const char* runtime_version = JDK_Version::runtime_version() != NULL ?
260 JDK_Version::runtime_version() : "";
261 const char* jdk_debug_level = Abstract_VM_Version::printable_jdk_debug_level() != NULL ?
262 Abstract_VM_Version::printable_jdk_debug_level() : "";
263
264 st->print_cr("# JRE version: %s (%s) (%sbuild %s)", runtime_name, buf,
265 jdk_debug_level, runtime_version);
266
267 // This is the long version with some default settings added
268 st->print_cr("# Java VM: %s (%s%s, %s%s%s%s%s, %s, %s)",
269 Abstract_VM_Version::vm_name(),
|