From 03d992728e27bd3dcd00d1af8a7b7179281e626f Mon Sep 17 00:00:00 2001 From: Coleen Phillimore Date: Tue, 20 Dec 2022 13:21:50 +0000 Subject: [PATCH] 8298061: vmTestbase/nsk/sysdict/vm/stress/btree/btree012/btree012.java failed with "fatal error: refcount has gone to zero" Reviewed-by: iklam, dholmes --- src/hotspot/share/classfile/placeholders.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/hotspot/share/classfile/placeholders.hpp b/src/hotspot/share/classfile/placeholders.hpp index 4e05136e00b..c44e3897b39 100644 --- a/src/hotspot/share/classfile/placeholders.hpp +++ b/src/hotspot/share/classfile/placeholders.hpp @@ -105,9 +105,11 @@ class PlaceholderEntry { Symbol* supername() const { return _supername; } void set_supername(Symbol* supername) { - Symbol::maybe_decrement_refcount(_supername); - _supername = supername; - Symbol::maybe_increment_refcount(_supername); + if (supername != _supername) { + Symbol::maybe_decrement_refcount(_supername); + _supername = supername; + Symbol::maybe_increment_refcount(_supername); + } } void clear_supername() { Symbol::maybe_decrement_refcount(_supername);