--- a/src/hotspot/share/oops/instanceKlass.cpp Mon Nov 25 14:06:13 2019 +0100
+++ b/src/hotspot/share/oops/instanceKlass.cpp Mon Nov 25 12:22:13 2019 +0100
@@ -1097,7 +1097,7 @@
return NULL;
} else {
// This load races with inserts, and therefore needs acquire.
- Klass* kls = OrderAccess::load_acquire(k);
+ Klass* kls = Atomic::load_acquire(k);
if (kls != NULL && !kls->is_loader_alive()) {
return NULL; // don't return unloaded class
} else {
@@ -1113,7 +1113,7 @@
Klass* volatile* addr = adr_implementor();
assert(addr != NULL, "null addr");
if (addr != NULL) {
- OrderAccess::release_store(addr, k);
+ Atomic::release_store(addr, k);
}
}
@@ -1370,14 +1370,14 @@
InterpreterOopMap* entry_for) {
// Lazily create the _oop_map_cache at first request
// Lock-free access requires load_acquire.
- OopMapCache* oop_map_cache = OrderAccess::load_acquire(&_oop_map_cache);
+ OopMapCache* oop_map_cache = Atomic::load_acquire(&_oop_map_cache);
if (oop_map_cache == NULL) {
MutexLocker x(OopMapCacheAlloc_lock);
// Check if _oop_map_cache was allocated while we were waiting for this lock
if ((oop_map_cache = _oop_map_cache) == NULL) {
oop_map_cache = new OopMapCache();
// Ensure _oop_map_cache is stable, since it is examined without a lock
- OrderAccess::release_store(&_oop_map_cache, oop_map_cache);
+ Atomic::release_store(&_oop_map_cache, oop_map_cache);
}
}
// _oop_map_cache is constant after init; lookup below does its own locking.
@@ -2114,7 +2114,7 @@
// The jmethodID cache can be read while unlocked so we have to
// make sure the new jmethodID is complete before installing it
// in the cache.
- OrderAccess::release_store(&jmeths[idnum+1], id);
+ Atomic::release_store(&jmeths[idnum+1], id);
} else {
*to_dealloc_id_p = new_id; // save new id for later delete
}
@@ -2196,7 +2196,7 @@
assert (ClassUnloading, "only called for ClassUnloading");
for (;;) {
// Use load_acquire due to competing with inserts
- Klass* impl = OrderAccess::load_acquire(adr_implementor());
+ Klass* impl = Atomic::load_acquire(adr_implementor());
if (impl != NULL && !impl->is_loader_alive()) {
// NULL this field, might be an unloaded klass or NULL
Klass* volatile* klass = adr_implementor();