< prev index next >
src/share/vm/oops/instanceKlass.hpp
Print this page
*** 205,220 ****
int _itable_len; // length of Java itable (in words)
// _is_marked_dependent can be set concurrently, thus cannot be part of the
// _misc_flags.
bool _is_marked_dependent; // used for marking during flushing and deoptimization
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)
};
u1 _extra_flags;
// The low three bits of _misc_flags contains the kind field.
// This can be used to quickly discriminate among the five kinds of
// InstanceKlass.
--- 205,223 ----
int _itable_len; // length of Java itable (in words)
// _is_marked_dependent can be set concurrently, thus cannot be part of the
// _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_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.
// This can be used to quickly discriminate among the five kinds of
// InstanceKlass.
*** 541,550 ****
--- 544,555 ----
// marking
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);
void link_class(TRAPS);
bool link_class_or_fail(TRAPS); // returns false on failure
< prev index next >