RFR: Print mark word in asserts
Roman Kennke
rkennke at redhat.com
Wed May 15 14:26:00 UTC 2019
Good!
Roman
> 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
>
More information about the shenandoah-dev
mailing list