8049420: Backout 8048248 to correct attribution

Reviewed-by: ehelin, brutisso
This commit is contained in:
Stefan Karlsson 2014-07-07 12:37:11 +02:00
parent 8c3aced316
commit ef1e9b3c80
75 changed files with 911 additions and 2206 deletions

View file

@ -305,7 +305,6 @@ class Array: public MetaspaceObj {
friend class MetadataFactory;
friend class VMStructs;
friend class MethodHandleCompiler; // special case
friend class WhiteBox;
protected:
int _length; // the number of array elements
T _data[1]; // the array memory
@ -327,29 +326,6 @@ protected:
static size_t byte_sizeof(int length) { return sizeof(Array<T>) + MAX2(length - 1, 0) * sizeof(T); }
// WhiteBox API helper.
static int bytes_to_length(size_t bytes) {
assert(is_size_aligned(bytes, BytesPerWord), "Must be, for now");
if (sizeof(Array<T>) >= bytes) {
return 0;
}
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) {
assert(length >= 0, "illegal length");
}