1.1 --- a/src/share/vm/oops/instanceKlass.hpp Sat Nov 09 20:15:27 2019 +0800 1.2 +++ b/src/share/vm/oops/instanceKlass.hpp Sat Nov 09 20:29:45 2019 +0800 1.3 @@ -225,6 +225,7 @@ 1.4 // _is_marked_dependent can be set concurrently, thus cannot be part of the 1.5 // _misc_flags. 1.6 bool _is_marked_dependent; // used for marking during flushing and deoptimization 1.7 + bool _is_being_redefined; // used for locking redefinition 1.8 bool _has_unloaded_dependent; 1.9 1.10 enum { 1.11 @@ -667,6 +668,10 @@ 1.12 _nonstatic_oop_map_size = words; 1.13 } 1.14 1.15 + // Redefinition locking. Class can only be redefined by one thread at a time. 1.16 + bool is_being_redefined() const { return _is_being_redefined; } 1.17 + void set_is_being_redefined(bool value) { _is_being_redefined = value; } 1.18 + 1.19 // RedefineClasses() support for previous versions: 1.20 void add_previous_version(instanceKlassHandle ikh, int emcp_method_count); 1.21