Mercurial > hg > graal-jvmci-8
diff c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypeResolved.java @ 1465:2c754f3a2722
Inlining of static final field values. Java mirror instead of VmID. Support for PrintMetrics option.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Thu, 18 Nov 2010 17:27:43 +0100 |
parents | 9e5e83ca2259 |
children | 71cd4b9610eb |
line wrap: on
line diff
--- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypeResolved.java Mon Nov 15 11:06:38 2010 +0100 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTypeResolved.java Thu Nov 18 17:27:43 2010 +0100 @@ -33,36 +33,19 @@ */ public class HotSpotTypeResolved implements HotSpotType { - private final long vmId; - private final long javaMirrorVmId; - private final String name; - private final int accessFlags; - private final boolean hasFinalizer; - private final boolean hasSubclass; - private final boolean hasFinalizableSubclass; - private final boolean isInitialized; - private final boolean isArrayClass; - private final boolean isInstanceClass; - private final boolean isInterface; - private final int instanceSize; - private final RiType componentType; - - public HotSpotTypeResolved(long vmId, long javaMirrorVmId, String name, int accessFlags, boolean hasFinalizer, boolean hasSubclass, boolean hasFinalizableSubclass, boolean isInitialized, - boolean isArrayClass, boolean isInstanceClass, boolean isInterface, int instanceSize, RiType componentType) { - this.vmId = vmId; - this.javaMirrorVmId = javaMirrorVmId; - this.name = name; - this.accessFlags = accessFlags; - this.hasFinalizer = hasFinalizer; - this.hasSubclass = hasSubclass; - this.hasFinalizableSubclass = hasFinalizableSubclass; - this.isInitialized = isInitialized; - this.isArrayClass = isArrayClass; - this.isInstanceClass = isInstanceClass; - this.isInterface = isInterface; - this.instanceSize = instanceSize; - this.componentType = componentType; - } + private long vmId; + private Class javaMirror; + private String name; + private int accessFlags; + private boolean hasFinalizer; + private boolean hasSubclass; + private boolean hasFinalizableSubclass; + private boolean isInitialized; + private boolean isArrayClass; + private boolean isInstanceClass; + private boolean isInterface; + private int instanceSize; + private RiType componentType; @Override public int accessFlags() { @@ -78,7 +61,6 @@ @Override public RiType componentType() { - Logger.log("componentType " + name + " isarray: " + isArrayClass); return Compiler.getVMEntries().RiType_componentType(vmId); } @@ -95,7 +77,7 @@ public CiConstant getEncoding(Representation r) { switch (r) { case JavaClass: - return CiConstant.forObject((Long) javaMirrorVmId); + return CiConstant.forObject(javaMirror); case ObjectHub: return CiConstant.forObject(this); case StaticFields: @@ -139,7 +121,7 @@ @Override public boolean isInstance(Object obj) { - throw new UnsupportedOperationException(); + return javaMirror.isInstance(obj); } @Override @@ -168,7 +150,7 @@ @Override public Class<?> javaClass() { - return null; + return javaMirror; } @Override