src/share/vm/oops/markOop.hpp

changeset 2497
3582bf76420e
parent 2314
f95d63e2154a
child 2708
1d1603768966
equal deleted inserted replaced
2496:27e4ea99855d 2497:3582bf76420e
116 cms_bits = LP64_ONLY(1) NOT_LP64(0), 116 cms_bits = LP64_ONLY(1) NOT_LP64(0),
117 epoch_bits = 2 117 epoch_bits = 2
118 }; 118 };
119 119
120 // The biased locking code currently requires that the age bits be 120 // The biased locking code currently requires that the age bits be
121 // contiguous to the lock bits. Class data sharing would prefer the 121 // contiguous to the lock bits.
122 // hash bits to be lower down to provide more random hash codes for
123 // shared read-only symbolOop objects, because these objects' mark
124 // words are set to their own address with marked_value in the lock
125 // bit, and using lower bits would make their identity hash values
126 // more random. However, the performance decision was made in favor
127 // of the biased locking code.
128
129 enum { lock_shift = 0, 122 enum { lock_shift = 0,
130 biased_lock_shift = lock_bits, 123 biased_lock_shift = lock_bits,
131 age_shift = lock_bits + biased_lock_bits, 124 age_shift = lock_bits + biased_lock_bits,
132 cms_shift = age_shift + age_bits, 125 cms_shift = age_shift + age_bits,
133 hash_shift = cms_shift + cms_bits, 126 hash_shift = cms_shift + cms_bits,

mercurial