< prev index next >
src/hotspot/share/interpreter/oopMapCache.cpp
Print this page
@@ -450,11 +450,11 @@
OopMapCacheEntry* OopMapCache::entry_at(int i) const {
return Atomic::load_acquire(&(_array[i % _size]));
}
bool OopMapCache::put_at(int i, OopMapCacheEntry* entry, OopMapCacheEntry* old) {
- return Atomic::cmpxchg(entry, &_array[i % _size], old) == old;
+ return Atomic::cmpxchg(&_array[i % _size], old, entry) == old;
}
void OopMapCache::flush() {
for (int i = 0; i < _size; i++) {
OopMapCacheEntry* entry = _array[i];
@@ -562,11 +562,11 @@
bool success = false;
OopMapCacheEntry* head;
do {
head = _old_entries;
entry->_next = head;
- success = Atomic::cmpxchg(entry, &_old_entries, head) == head;
+ success = Atomic::cmpxchg(&_old_entries, head, entry) == head;
} while (!success);
if (log_is_enabled(Debug, interpreter, oopmap)) {
ResourceMark rm;
log_debug(interpreter, oopmap)("enqueue %s at bci %d for cleanup",
< prev index next >