< prev index next > test/hotspot/jtreg/vmTestbase/nsk/share/gc/MemoryObject.java
Print this page
/**
* An object that occupies approximately given number of bytes in memory.
*/
public class MemoryObject {
- private static int diff = (int) Memory.getObjectExtraSize();
- private byte storage[];
+ private final static int diff = Memory.getObjectExtraSize() + Memory.getIntSize();
+ private final int size;
+ private final Object storage;
+
/**
* Create an object that occupies given number of bytes.
*
* @param size size
*/
public MemoryObject(int size) {
- if (size > diff)
- storage = new byte[size - diff];
- }
-
- public final byte[] getStorage() {
- return storage;
+ if (size > diff) {
+ int memory = (size - diff);
+ if (Memory.isValhallaEnabled()) {
+ storage = new Integer[Memory.getArrayLength(memory, Memory.getIntegerArrayElementSize())];
+ } else {
+ storage = new int[Memory.getArrayLength(memory, Memory.getIntSize())];
+ }
+ } else {
+ storage = new int[0];
+ }
+ this.size = size;
}
public final int getSize() {
- return storage.length;
+ return size;
}
}
< prev index next >