Mercurial > hg > graal-jvmci-8
diff c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotType.java @ 1422:3483ec571caf
* using reflected objects instead of oops
* removed scratch from allocatable registers
* instanceof xir snippet
* arraylength xir snippet
* exceptionobject xir snippet
* VMEntries and VMExits as interfaces
* calls to VMEntries and VMExits are routet through logging proxies
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Mon, 02 Aug 2010 15:44:38 -0700 |
parents | 6223633ce7dd |
children | 760213a60e8b |
line wrap: on
line diff
--- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotType.java Fri Jul 23 15:53:02 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotType.java Mon Aug 02 15:44:38 2010 -0700 @@ -6,11 +6,13 @@ public class HotSpotType implements RiType { - final Object klassOop; + // do not query this class object directly, use the VMEntries methods instead! + // (otherwise this query won't be recorded correctly) + final Class<?> klass; - public HotSpotType(Object o) { - this.klassOop = o; - assert klassOop != null; + public HotSpotType(Class<?> klass) { + this.klass = klass; + assert klass != null; } @Override @@ -69,7 +71,7 @@ @Override public boolean isArrayClass() { System.out.println("Checking for array class " + name()); - return Compiler.getVMEntries().RiType_isArrayClass(klassOop); + return Compiler.getVMEntries().RiType_isArrayClass(klass); } @Override @@ -86,12 +88,12 @@ @Override public boolean isInstanceClass() { - return Compiler.getVMEntries().RiType_isInstanceClass(klassOop); + return Compiler.getVMEntries().RiType_isInstanceClass(klass); } @Override public boolean isInterface() { - return Compiler.getVMEntries().RiType_isInterface(klassOop); + return Compiler.getVMEntries().RiType_isInterface(klass); } @Override @@ -106,8 +108,8 @@ } @Override - public Class< ? > javaClass() { - return Compiler.getVMEntries().RiType_javaClass(klassOop); + public Class<?> javaClass() { + return klass; } @Override @@ -117,7 +119,7 @@ @Override public String name() { - return Compiler.getVMEntries().RiType_name(klassOop); + return Compiler.getVMEntries().RiType_name(klass); } @Override @@ -126,8 +128,8 @@ return null; } - public Object klassOop() { - return klassOop; + public Class<?> klass() { + return klass; } }