< 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 >