Mercurial > hg > graal-jvmci-8
changeset 9481:1964cf13c376
Relax the type requirements for CheckCastDynamicNode
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Wed, 01 May 2013 11:27:45 -0700 |
parents | d9fd6af5d200 |
children | 37345671860c |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java |
diffstat | 1 files changed, 1 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java Wed May 01 10:01:17 2013 -0700 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java Wed May 01 11:27:45 2013 -0700 @@ -52,9 +52,6 @@ this.type = type; this.object = object; this.forStoreCheck = forStoreCheck; - assert type.kind() == Kind.Object; - assert type.objectStamp().isExactType(); - assert type.objectStamp().type().getName().equals("Ljava/lang/Class;"); } public boolean isForStoreCheck() { @@ -82,7 +79,7 @@ if (object().objectStamp().alwaysNull()) { return object(); } - if (type().isConstant()) { + if (type().isConstant() && type().kind() == Kind.Object && type().asConstant().asObject() instanceof Class) { Class clazz = (Class) type().asConstant().asObject(); ResolvedJavaType t = tool.runtime().lookupJavaType(clazz); return graph().add(new CheckCastNode(t, object(), null, forStoreCheck));