Mercurial > hg > graal-compiler
diff agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java @ 113:ba764ed4b6f2
6420645: Create a vm that uses compressed oops for up to 32gb heapsizes
Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv
Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author | coleenp |
---|---|
date | Sun, 13 Apr 2008 17:43:42 -0400 |
parents | a61af66fc99e |
children | d1605aabd0a1 |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java Fri Apr 11 09:56:35 2008 -0400 +++ b/agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java Sun Apr 13 17:43:42 2008 -0400 @@ -32,7 +32,7 @@ // A ConstantPoolCacheKlass is the klass of a ConstantPoolCache -public class ConstantPoolCacheKlass extends ArrayKlass { +public class ConstantPoolCacheKlass extends Klass { static { VM.registerVMInitializedObserver(new Observer() { public void update(Observable o, Object data) { @@ -43,13 +43,20 @@ private static synchronized void initialize(TypeDataBase db) throws WrongTypeException { Type type = db.lookupType("constantPoolCacheKlass"); + headerSize = type.getSize() + Oop.getHeaderSize(); } ConstantPoolCacheKlass(OopHandle handle, ObjectHeap heap) { super(handle, heap); } + public long getObjectSize() { return alignObjectSize(headerSize); } + public void printValueOn(PrintStream tty) { tty.print("ConstantPoolCacheKlass"); } + + private static long headerSize; } + +