mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
7102776: Pack instanceKlass boolean fields into single u1 field
Reduce class runtime memory usage by packing 4 instanceKlass boolean fields into single u1 field. Save 4-byte for each loaded class. Reviewed-by: dholmes, bobv, phh, twisti, never, coleenp
This commit is contained in:
parent
9d6d4e292b
commit
ee88278d34
5 changed files with 50 additions and 20 deletions
|
@ -307,7 +307,7 @@ static inline uint64_t cast_uint64_t(size_t x)
|
|||
nonstatic_field(instanceKlass, _static_field_size, int) \
|
||||
nonstatic_field(instanceKlass, _static_oop_field_count, int) \
|
||||
nonstatic_field(instanceKlass, _nonstatic_oop_map_size, int) \
|
||||
nonstatic_field(instanceKlass, _is_marked_dependent, bool) \
|
||||
nonstatic_field(instanceKlass, _misc_flags, u1) \
|
||||
nonstatic_field(instanceKlass, _minor_version, u2) \
|
||||
nonstatic_field(instanceKlass, _major_version, u2) \
|
||||
nonstatic_field(instanceKlass, _init_state, instanceKlass::ClassState) \
|
||||
|
@ -1362,6 +1362,7 @@ static inline uint64_t cast_uint64_t(size_t x)
|
|||
/* The compiler thinks this is a different type than */ \
|
||||
/* unsigned short on Win32 */ \
|
||||
declare_unsigned_integer_type(u2) \
|
||||
declare_unsigned_integer_type(u1) \
|
||||
declare_unsigned_integer_type(unsigned) \
|
||||
\
|
||||
/*****************************/ \
|
||||
|
@ -2385,6 +2386,7 @@ static inline uint64_t cast_uint64_t(size_t x)
|
|||
declare_constant(instanceKlass::being_initialized) \
|
||||
declare_constant(instanceKlass::fully_initialized) \
|
||||
declare_constant(instanceKlass::initialization_error) \
|
||||
declare_constant(instanceKlass::IS_MARKED_DEPENDENT) \
|
||||
\
|
||||
/*********************************/ \
|
||||
/* Symbol* - symbol max length */ \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue