[8u] RFR for backport of JDK-8026331: hs_err improvement: Print if we have seen any OutOfMemoryErrors or StackOverflowErrors
Shafi Ahmad
shafi.s.ahmad at oracle.com
Wed Jan 24 09:46:09 UTC 2018
Hi,
Please review the backport of bug: " JDK-8026331: hs_err improvement: Print if we have seen any OutOfMemoryErrors or StackOverflowErrors" to jdk8u-dev.
Please note that this is not a clean backport as I got below conflicts -
hotspot$ find ./ -name "*.rej" -exec cat {} \;
--- metaspace.cpp
+++ metaspace.cpp
@@ -3132,10 +3132,21 @@
initialize_class_space(metaspace_rs);
if (PrintCompressedOopsMode || (PrintMiscellaneous && Verbose)) {
- gclog_or_tty->print_cr("Narrow klass base: " PTR_FORMAT ", Narrow klass shift: %d",
- p2i(Universe::narrow_klass_base()), Universe::narrow_klass_shift());
- gclog_or_tty->print_cr("Compressed class space size: " SIZE_FORMAT " Address: " PTR_FORMAT " Req Addr: " PTR_FORMAT,
- compressed_class_space_size(), p2i(metaspace_rs.base()), p2i(requested_addr));
+ print_compressed_class_space(gclog_or_tty, requested_addr);
+ }
+}
+
+void Metaspace::print_compressed_class_space(outputStream* st, const char* requested_addr) {
+ st->print_cr("Narrow klass base: " PTR_FORMAT ", Narrow klass shift: %d",
+ p2i(Universe::narrow_klass_base()), Universe::narrow_klass_shift());
+ if (_class_space_list != NULL) {
+ address base = (address)_class_space_list->current_virtual_space()->bottom();
+ st->print("Compressed class space size: " SIZE_FORMAT " Address: " PTR_FORMAT,
+ compressed_class_space_size(), p2i(base));
+ if (requested_addr != 0) {
+ st->print(" Req Addr: " PTR_FORMAT, p2i(requested_addr));
+ }
+ st->cr();
}
}
--- universe.cpp
+++ universe.cpp
@@ -781,27 +781,24 @@
return JNI_OK;
}
-void Universe::print_compressed_oops_mode() {
- tty->cr();
- tty->print("heap address: " PTR_FORMAT ", size: " SIZE_FORMAT " MB",
+void Universe::print_compressed_oops_mode(outputStream* st) {
+ st->print("heap address: " PTR_FORMAT ", size: " SIZE_FORMAT " MB",
p2i(Universe::heap()->base()), Universe::heap()->reserved_region().byte_size()/M);
- tty->print(", Compressed Oops mode: %s", narrow_oop_mode_to_string(narrow_oop_mode()));
+ st->print(", Compressed Oops mode: %s", narrow_oop_mode_to_string(narrow_oop_mode()));
if (Universe::narrow_oop_base() != 0) {
- tty->print(": " PTR_FORMAT, p2i(Universe::narrow_oop_base()));
+ st->print(": " PTR_FORMAT, p2i(Universe::narrow_oop_base()));
}
if (Universe::narrow_oop_shift() != 0) {
- tty->print(", Oop shift amount: %d", Universe::narrow_oop_shift());
+ st->print(", Oop shift amount: %d", Universe::narrow_oop_shift());
}
if (!Universe::narrow_oop_use_implicit_null_checks()) {
- tty->print(", no protected page in front of the heap");
+ st->print(", no protected page in front of the heap");
}
-
- tty->cr();
- tty->cr();
+ st->cr();
}
Webrev: http://cr.openjdk.java.net/~shshahma/8026331/webrev.00/
Jdk9 bug: https://bugs.openjdk.java.net/browse/JDK-8026331
Original patch pushed to jdk9: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/cf5a0377f578
Test: Run jprt -testset hotspot and jtreg - hotspot/test
Regards,
Shafi
More information about the hotspot-dev
mailing list