< prev index next > src/hotspot/share/oops/objArrayOop.cpp
Print this page
#include "oops/access.inline.hpp"
#include "oops/objArrayKlass.hpp"
#include "oops/objArrayOop.inline.hpp"
#include "oops/oop.inline.hpp"
- oop objArrayOopDesc::replace_if_null(int index, oop exchange_value) {
- ptrdiff_t offs;
- if (UseCompressedOops) {
- offs = objArrayOopDesc::obj_at_offset<narrowOop>(index);
- } else {
- offs = objArrayOopDesc::obj_at_offset<oop>(index);
- }
- return HeapAccess<IS_ARRAY>::oop_atomic_cmpxchg_at(as_oop(), offs, (oop)nullptr, exchange_value);
- }
-
Klass* objArrayOopDesc::element_klass() {
return ObjArrayKlass::cast(klass())->element_klass();
}
< prev index next >