RFR: Print mark word in asserts
Aleksey Shipilev
shade at redhat.com
Wed May 15 14:23:24 UTC 2019
This is useful for debugging failures with nofwdptr patch. So this is destined to sh/jdk:
diff -r 50d6ac06b5a9 src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp
--- a/src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp Tue May 14 20:16:20 2019 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp Wed May 15 16:22:10 2019 +0200
@@ -60,6 +60,9 @@
stringStream ss;
r->print_on(&ss);
+ stringStream mw_ss;
+ obj->mark()->print_on(&mw_ss);
+
ShenandoahMarkingContext* const ctx = heap->marking_context();
msg.append(" " PTR_FORMAT " - klass " PTR_FORMAT " %s\n", p2i(obj), p2i(obj->klass()),
obj->klass()->external_name());
@@ -69,6 +72,7 @@
if (heap->traversal_gc() != NULL) {
msg.append(" %3s in traversal set\n",
heap->traversal_gc()->traversal_set()->is_in((HeapWord*) obj) ? "" : "not");
}
+ msg.append(" mark:%s\n", mw_ss.as_string());
msg.append(" region: %s", ss.as_string());
}
Testing: hotspot_gc_shenandoah, eyeballing failures
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list