mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8234562: Move OrderAccess::release_store*/load_acquire to Atomic
Reviewed-by: rehn, dholmes
This commit is contained in:
parent
e06c17ce33
commit
e527ce4b57
97 changed files with 554 additions and 570 deletions
|
@ -97,7 +97,7 @@ void ConstantPoolCacheEntry::set_bytecode_1(Bytecodes::Code code) {
|
|||
assert(c == 0 || c == code || code == 0, "update must be consistent");
|
||||
#endif
|
||||
// Need to flush pending stores here before bytecode is written.
|
||||
OrderAccess::release_store(&_indices, _indices | ((u_char)code << bytecode_1_shift));
|
||||
Atomic::release_store(&_indices, _indices | ((u_char)code << bytecode_1_shift));
|
||||
}
|
||||
|
||||
void ConstantPoolCacheEntry::set_bytecode_2(Bytecodes::Code code) {
|
||||
|
@ -107,17 +107,17 @@ void ConstantPoolCacheEntry::set_bytecode_2(Bytecodes::Code code) {
|
|||
assert(c == 0 || c == code || code == 0, "update must be consistent");
|
||||
#endif
|
||||
// Need to flush pending stores here before bytecode is written.
|
||||
OrderAccess::release_store(&_indices, _indices | ((u_char)code << bytecode_2_shift));
|
||||
Atomic::release_store(&_indices, _indices | ((u_char)code << bytecode_2_shift));
|
||||
}
|
||||
|
||||
// Sets f1, ordering with previous writes.
|
||||
void ConstantPoolCacheEntry::release_set_f1(Metadata* f1) {
|
||||
assert(f1 != NULL, "");
|
||||
OrderAccess::release_store(&_f1, f1);
|
||||
Atomic::release_store(&_f1, f1);
|
||||
}
|
||||
|
||||
void ConstantPoolCacheEntry::set_indy_resolution_failed() {
|
||||
OrderAccess::release_store(&_flags, _flags | (1 << indy_resolution_failed_shift));
|
||||
Atomic::release_store(&_flags, _flags | (1 << indy_resolution_failed_shift));
|
||||
}
|
||||
|
||||
// Note that concurrent update of both bytecodes can leave one of them
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue