src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp
changeset 58218 0d7877278adf
parent 58177 4932dce35882
child 58679 9c3209ff7550
child 58730 ca620b06b5c9
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp	Wed Sep 18 20:56:18 2019 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp	Wed Sep 18 20:56:19 2019 +0200
@@ -133,6 +133,11 @@
   return (oop) Atomic::cmpxchg(n, addr, c);
 }
 
+inline oop ShenandoahHeap::cas_oop(oop n, narrowOop* addr, narrowOop c) {
+  narrowOop val = CompressedOops::encode(n);
+  return CompressedOops::decode((narrowOop) Atomic::cmpxchg(val, addr, c));
+}
+
 inline oop ShenandoahHeap::cas_oop(oop n, narrowOop* addr, oop c) {
   narrowOop cmp = CompressedOops::encode(c);
   narrowOop val = CompressedOops::encode(n);