< prev index next >
src/share/vm/oops/objArrayOop.inline.hpp
Print this page
rev 8961 : [mq]: diff-shenandoah.patch
@@ -28,15 +28,16 @@
#include "oops/objArrayOop.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/globals.hpp"
inline oop objArrayOopDesc::obj_at(int index) const {
+ objArrayOop p = (objArrayOop) oopDesc::bs()->resolve_oop((oop) this);
// With UseCompressedOops decode the narrow oop in the objArray to an
// uncompressed oop. Otherwise this is simply a "*" operator.
if (UseCompressedOops) {
- return load_decode_heap_oop(obj_at_addr<narrowOop>(index));
+ return load_decode_heap_oop(p->obj_at_addr<narrowOop>(index));
} else {
- return load_decode_heap_oop(obj_at_addr<oop>(index));
+ return load_decode_heap_oop(p->obj_at_addr<oop>(index));
}
}
#endif // SHARE_VM_OOPS_OBJARRAYOOP_INLINE_HPP
< prev index next >