--- old/src/share/vm/oops/instanceKlass.hpp 2017-06-20 16:28:29.042232466 -0400 +++ new/src/share/vm/oops/instanceKlass.hpp 2017-06-20 16:28:28.442229491 -0400 @@ -207,12 +207,15 @@ // _misc_flags. bool _is_marked_dependent; // used for marking during flushing and deoptimization + public: enum { _extra_is_being_redefined = 1 << 0, // used for locking redefinition _extra_has_value_fields = 1 << 1, // has value fields and related embedded section is not empty - _extra_has_vcc_klass = 1 << 2 // has a pointer to its Value Capable Class (MVT) + _extra_is_bufferable = 1 << 2, // value can be buffered out side of the Java heap + _extra_has_vcc_klass = 1 << 3 // has a pointer to its Value Capable Class (MVT) }; + protected: u1 _extra_flags; // The low three bits of _misc_flags contains the kind field. @@ -543,6 +546,8 @@ bool is_marked_dependent() const { return _is_marked_dependent; } void set_is_marked_dependent(bool value) { _is_marked_dependent = value; } + static ByteSize extra_flags_offset() { return in_ByteSize(offset_of(InstanceKlass, _extra_flags)); } + // initialization (virtuals from Klass) bool should_be_initialized() const; // means that initialize should be called void initialize(TRAPS);