136 age_mask_in_place = age_mask << age_shift, |
136 age_mask_in_place = age_mask << age_shift, |
137 epoch_mask = right_n_bits(epoch_bits), |
137 epoch_mask = right_n_bits(epoch_bits), |
138 epoch_mask_in_place = epoch_mask << epoch_shift, |
138 epoch_mask_in_place = epoch_mask << epoch_shift, |
139 cms_mask = right_n_bits(cms_bits), |
139 cms_mask = right_n_bits(cms_bits), |
140 cms_mask_in_place = cms_mask << cms_shift |
140 cms_mask_in_place = cms_mask << cms_shift |
141 #ifndef _WIN64 |
141 }; |
142 ,hash_mask = right_n_bits(hash_bits), |
142 |
143 hash_mask_in_place = (address_word)hash_mask << hash_shift |
143 const static uintptr_t hash_mask = right_n_bits(hash_bits); |
144 #endif |
144 const static uintptr_t hash_mask_in_place = hash_mask << hash_shift; |
145 }; |
|
146 |
145 |
147 // Alignment of JavaThread pointers encoded in object header required by biased locking |
146 // Alignment of JavaThread pointers encoded in object header required by biased locking |
148 enum { biased_lock_alignment = 2 << (epoch_shift + epoch_bits) |
147 enum { biased_lock_alignment = 2 << (epoch_shift + epoch_bits) |
149 }; |
148 }; |
150 |
|
151 #ifdef _WIN64 |
|
152 // These values are too big for Win64 |
|
153 const static uintptr_t hash_mask = right_n_bits(hash_bits); |
|
154 const static uintptr_t hash_mask_in_place = |
|
155 (address_word)hash_mask << hash_shift; |
|
156 #endif |
|
157 |
149 |
158 enum { locked_value = 0, |
150 enum { locked_value = 0, |
159 unlocked_value = 1, |
151 unlocked_value = 1, |
160 monitor_value = 2, |
152 monitor_value = 2, |
161 marked_value = 3, |
153 marked_value = 3, |