RFR: 8276177: nsk/jvmti/RedefineClasses/StressRedefineWithoutBytecodeCorruption failed with "assert(def_ik->is_being_redefined()) failed: should be being redefined to get here"

David Holmes dholmes at openjdk.java.net
Thu Nov 18 06:03:45 UTC 2021


On Tue, 16 Nov 2021 13:29:08 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

> The boolean AND was sharing a flag with another thread, so the value of _misc_is_being_redefined was being set and reset with the other thread.  Moved the bit to AccessFlags which has space and an atomic set operation.
> Tested with tier1-6, 7-8 in progress.

src/hotspot/share/utilities/accessFlags.hpp line 165:

> 163:   bool is_being_redefined() const       { return (_flags & JVM_ACC_IS_BEING_REDEFINED) != 0; }
> 164:   void set_is_being_redefined()         { atomic_set_bits(JVM_ACC_IS_BEING_REDEFINED); }
> 165:   void clear_is_being_redefined()       { atomic_clear_bits(JVM_ACC_IS_BEING_REDEFINED); }

Shouldn't these have been under Klass flags, not Klass and Method flags ?

-------------

PR: https://git.openjdk.java.net/jdk/pull/6410


More information about the hotspot-dev mailing list