--- old/src/share/vm/oops/objArrayOop.hpp 2017-04-25 16:45:24.915173454 +0200 +++ new/src/share/vm/oops/objArrayOop.hpp 2017-04-25 16:45:24.767173459 +0200 @@ -43,6 +43,11 @@ return &((T*)base())[index]; } + template + static jlong obj_at_offset(int index) { + return base_offset_in_bytes() + sizeof(T) * index; + } + private: // Give size of objArrayOop in HeapWords minus the header static int array_size(int length) { @@ -81,7 +86,7 @@ // Accessing oop obj_at(int index) const; - void inline obj_at_put(int index, oop value); + void obj_at_put(int index, oop value); oop atomic_compare_exchange_oop(int index, oop exchange_value, oop compare_value);