Mercurial > hg > graal-compiler
changeset 18544:17b5e453ab41
replaced concrete types with interface types to support replay compilation
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Wed, 26 Nov 2014 20:50:49 +0100 |
parents | 0ec7e37451c7 |
children | b1a6992a0e42 |
files | graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java |
diffstat | 2 files changed, 10 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java Wed Nov 26 20:48:16 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMetaAccessProvider.java Wed Nov 26 20:50:49 2014 +0100 @@ -46,19 +46,18 @@ this.runtime = runtime; } - public HotSpotResolvedJavaType lookupJavaType(Class<?> clazz) { + public ResolvedJavaType lookupJavaType(Class<?> clazz) { if (clazz == null) { throw new IllegalArgumentException("Class parameter was null"); } - return fromClass(clazz); + return runtime.fromClass(clazz); } - public HotSpotResolvedObjectTypeImpl lookupJavaType(JavaConstant constant) { + public HotSpotResolvedObjectType lookupJavaType(JavaConstant constant) { if (constant.isNull() || !(constant instanceof HotSpotObjectConstant)) { return null; } - Object o = ((HotSpotObjectConstantImpl) constant).object(); - return fromObjectClass(o.getClass()); + return ((HotSpotObjectConstant) constant).getType(); } public Signature parseMethodDescriptor(String signature) { @@ -106,11 +105,11 @@ final int modifiers = reflectionField.getModifiers(); final long offset = Modifier.isStatic(modifiers) ? unsafe.staticFieldOffset(reflectionField) : unsafe.objectFieldOffset(reflectionField); - HotSpotResolvedObjectTypeImpl holder = fromObjectClass(fieldHolder); - HotSpotResolvedJavaType type = fromClass(fieldType); + HotSpotResolvedObjectType holder = fromObjectClass(fieldHolder); + JavaType type = fromClass(fieldType); if (offset != -1) { - HotSpotResolvedObjectTypeImpl resolved = holder; + HotSpotResolvedObjectType resolved = holder; return resolved.createField(name, type, offset, modifiers); } else { throw GraalInternalError.shouldNotReachHere("unresolved field " + reflectionField); @@ -286,7 +285,7 @@ @Override public long getMemorySize(JavaConstant constant) { if (constant.getKind() == Kind.Object) { - HotSpotResolvedObjectTypeImpl lookupJavaType = this.lookupJavaType(constant); + HotSpotResolvedObjectType lookupJavaType = lookupJavaType(constant); if (lookupJavaType == null) { return 0;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java Wed Nov 26 20:48:16 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java Wed Nov 26 20:50:49 2014 +0100 @@ -91,4 +91,6 @@ HotSpotResolvedObjectType getEnclosingType(); ResolvedJavaMethod getClassInitializer(); + + ResolvedJavaField createField(String name, JavaType type, long offset, int modifiers); }