Mercurial > hg > graal-jvmci-8
diff agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java @ 6848:8e47bac5643a
7054512: Compress class pointers after perm gen removal
Summary: support of compress class pointers in the compilers.
Reviewed-by: kvn, twisti
author | roland |
---|---|
date | Tue, 09 Oct 2012 10:11:38 +0200 |
parents | da91efe96a93 |
children | f9d003ea9023 |
line wrap: on
line diff
--- a/agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java Mon Oct 08 17:04:00 2012 -0700 +++ b/agent/src/share/classes/sun/jvm/hotspot/memory/Universe.java Tue Oct 09 10:11:38 2012 +0200 @@ -53,6 +53,8 @@ private static AddressField narrowOopBaseField; private static CIntegerField narrowOopShiftField; + private static AddressField narrowKlassBaseField; + private static CIntegerField narrowKlassShiftField; static { VM.registerVMInitializedObserver(new Observer() { @@ -86,6 +88,8 @@ narrowOopBaseField = type.getAddressField("_narrow_oop._base"); narrowOopShiftField = type.getCIntegerField("_narrow_oop._shift"); + narrowKlassBaseField = type.getAddressField("_narrow_klass._base"); + narrowKlassShiftField = type.getCIntegerField("_narrow_klass._shift"); } public Universe() { @@ -111,6 +115,19 @@ return (int)narrowOopShiftField.getValue(); } + public static long getNarrowKlassBase() { + if (narrowKlassBaseField.getValue() == null) { + return 0; + } else { + return narrowKlassBaseField.getValue().minus(null); + } + } + + public static int getNarrowKlassShift() { + return (int)narrowKlassShiftField.getValue(); + } + + /** Returns "TRUE" iff "p" points into the allocated area of the heap. */ public boolean isIn(Address p) { return heap().isIn(p);