Skip to content

Commit fe26467

Browse files
committed
8361363: ShenandoahAsserts::print_obj() does not work for forwarded objects and UseCompactObjectHeaders
Reviewed-by: rkennke, shade
1 parent e2c5d03 commit fe26467

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ void ShenandoahAsserts::print_obj(ShenandoahMessageBuffer& msg, oop obj) {
6464

6565
ShenandoahMarkingContext* const ctx = heap->marking_context();
6666

67-
msg.append(" " PTR_FORMAT " - klass " PTR_FORMAT " %s\n", p2i(obj), p2i(obj->klass()), obj->klass()->external_name());
67+
Klass* obj_klass = ShenandoahForwarding::klass(obj);
68+
69+
msg.append(" " PTR_FORMAT " - klass " PTR_FORMAT " %s\n", p2i(obj), p2i(obj_klass), obj_klass->external_name());
6870
msg.append(" %3s allocated after mark start\n", ctx->allocated_after_mark_start(obj) ? "" : "not");
6971
msg.append(" %3s after update watermark\n", cast_from_oop<HeapWord*>(obj) >= r->get_update_watermark() ? "" : "not");
7072
msg.append(" %3s marked strong\n", ctx->is_marked_strong(obj) ? "" : "not");

0 commit comments

Comments
 (0)