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