< prev index next >

src/share/vm/utilities/array.hpp

Print this page

        

*** 339,355 **** size_t left = bytes - sizeof(Array<T>); assert(is_size_aligned(left, sizeof(T)), "Must be"); size_t elements = left / sizeof(T); ! assert(elements <= (size_t)INT_MAX, err_msg("number of elements " SIZE_FORMAT "doesn't fit into an int.", elements)); int length = (int)elements; assert((size_t)size(length) * BytesPerWord == bytes, ! err_msg("Expected: " SIZE_FORMAT " got: " SIZE_FORMAT, ! bytes, (size_t)size(length) * BytesPerWord)); return length; } explicit Array(int length) : _length(length) { --- 339,355 ---- size_t left = bytes - sizeof(Array<T>); assert(is_size_aligned(left, sizeof(T)), "Must be"); size_t elements = left / sizeof(T); ! assert(elements <= (size_t)INT_MAX, "number of elements " SIZE_FORMAT "doesn't fit into an int.", elements); int length = (int)elements; assert((size_t)size(length) * BytesPerWord == bytes, ! "Expected: " SIZE_FORMAT " got: " SIZE_FORMAT, ! bytes, (size_t)size(length) * BytesPerWord); return length; } explicit Array(int length) : _length(length) {
*** 378,390 **** } // sort the array. bool contains(const T& x) const { return index_of(x) >= 0; } ! T at(int i) const { assert(i >= 0 && i< _length, err_msg("oob: 0 <= %d < %d", i, _length)); return _data[i]; } ! void at_put(const int i, const T& x) { assert(i >= 0 && i< _length, err_msg("oob: 0 <= %d < %d", i, _length)); _data[i] = x; } ! T* adr_at(const int i) { assert(i >= 0 && i< _length, err_msg("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); } --- 378,390 ---- } // sort the array. bool contains(const T& x) const { return index_of(x) >= 0; } ! 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); }
< prev index next >