< prev index next >

src/hotspot/share/oops/array.hpp

Print this page

        

*** 25,35 **** #ifndef SHARE_VM_OOPS_ARRAY_HPP #define SHARE_VM_OOPS_ARRAY_HPP #include "memory/allocation.hpp" #include "memory/metaspace.hpp" - #include "runtime/orderAccess.hpp" #include "utilities/align.hpp" // Array for metadata allocation template <typename T> --- 25,34 ----
*** 120,131 **** T at(int i) const { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); return _data[i]; } void at_put(const int i, const T& x) { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); _data[i] = x; } T* adr_at(const int i) { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); return &_data[i]; } int find(const T& x) { return index_of(x); } ! T at_acquire(const int which) { return OrderAccess::load_acquire(adr_at(which)); } ! void release_at_put(int which, T contents) { OrderAccess::release_store(adr_at(which), contents); } static int size(int length) { size_t bytes = align_up(byte_sizeof(length), BytesPerWord); size_t words = bytes / BytesPerWord; --- 119,130 ---- T at(int i) const { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); return _data[i]; } void at_put(const int i, const T& x) { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); _data[i] = x; } T* adr_at(const int i) { assert(i >= 0 && i< _length, "oob: 0 <= %d < %d", i, _length); return &_data[i]; } int find(const T& x) { return index_of(x); } ! T at_acquire(const int which); ! void release_at_put(int which, T contents); static int size(int length) { size_t bytes = align_up(byte_sizeof(length), BytesPerWord); size_t words = bytes / BytesPerWord;
< prev index next >