The flag came in with a merge conflict from JDK-8333542.
I don't think it added an alignment gap but this could use further investigation.
u2 _nest_host_index; /* 304 2 */
u2 _this_class_index; /* 306 2 */
u2 _static_oop_field_count; /* 308 2 */
volatile u2 _idnum_allocated_count; /* 310 2 */
bool _is_marked_dependent; /* 312 1 */
volatile enum ClassState _init_state; /* 313 1 */
u1 _reference_type; /* 314 1 */
/* XXX 1 byte hole, try to pack */
class InstanceKlassFlags _misc_flags; /* 316 4 */
/* XXX last struct has 1 byte of padding */
/* --- cacheline 5 boundary (320 bytes) --- */
volatile class JavaThread * _init_thread; /* 320 8 */
With field removed.
u2 _nest_host_index; /* 304 2 */
u2 _this_class_index; /* 306 2 */
u2 _static_oop_field_count; /* 308 2 */
volatile u2 _idnum_allocated_count; /* 310 2 */
volatile enum ClassState _init_state; /* 312 1 */
u1 _reference_type; /* 313 1 */
class InstanceKlassFlags _misc_flags; /* 314 4 */
/* XXX last struct has 1 byte of padding */
/* XXX 2 bytes hole, try to pack */
/* --- cacheline 5 boundary (320 bytes) --- */
volatile class JavaThread * _init_thread; /* 320 8 */
From pahole. There's nothing else to pack in those two bytes.