From e9f6ba05264ecb2f1ca3983ea503778f301bf280 Mon Sep 17 00:00:00 2001 From: Roman Kennke Date: Tue, 3 Dec 2024 16:45:50 +0000 Subject: [PATCH] 8345293: Fix generational Shenandoah with compact headers Reviewed-by: shade, stuefe, ysr --- src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp index b2c8e0405e0..2b34b2d5cfc 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp @@ -332,6 +332,11 @@ void ShenandoahHeap::increase_object_age(oop obj, uint additional_age) { uint ShenandoahHeap::get_object_age(oop obj) { markWord w = obj->mark(); assert(!w.is_marked(), "must not be forwarded"); + if (UseObjectMonitorTable) { + assert(LockingMode == LM_LIGHTWEIGHT, "Must use LW locking, too"); + assert(w.age() <= markWord::max_age, "Impossible!"); + return w.age(); + } if (w.has_monitor()) { w = w.monitor()->header(); } else if (w.is_being_inflated() || w.has_displaced_mark_helper()) {