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