Mercurial > hg > graal-compiler
comparison graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java @ 9602:19c5a07c7843
Introduce a graph() method that returns a StructuredGraph, to make many explicit casts unnecessary
author | Christian Wimmer <christian.wimmer@oracle.com> |
---|---|
date | Tue, 07 May 2013 12:03:21 -0700 |
parents | f8a5f7f7d0bd |
children | 6c1f7b853d35 |
comparison
equal
deleted
inserted
replaced
9601:278a50fb49c7 | 9602:19c5a07c7843 |
---|---|
88 | 88 |
89 // remove checkcast if next node is a more specific checkcast | 89 // remove checkcast if next node is a more specific checkcast |
90 if (predecessor() instanceof CheckCastNode) { | 90 if (predecessor() instanceof CheckCastNode) { |
91 CheckCastNode ccn = (CheckCastNode) predecessor(); | 91 CheckCastNode ccn = (CheckCastNode) predecessor(); |
92 if (ccn != null && ccn.type != null && ccn == object && ccn.forStoreCheck == forStoreCheck && ccn.type.isAssignableFrom(type)) { | 92 if (ccn != null && ccn.type != null && ccn == object && ccn.forStoreCheck == forStoreCheck && ccn.type.isAssignableFrom(type)) { |
93 StructuredGraph graph = (StructuredGraph) ccn.graph(); | 93 StructuredGraph graph = ccn.graph(); |
94 CheckCastNode newccn = graph.add(new CheckCastNode(type, ccn.object, ccn.profile, ccn.forStoreCheck)); | 94 CheckCastNode newccn = graph.add(new CheckCastNode(type, ccn.object, ccn.profile, ccn.forStoreCheck)); |
95 graph.replaceFixedWithFixed(ccn, newccn); | 95 graph.replaceFixedWithFixed(ccn, newccn); |
96 return newccn; | 96 return newccn; |
97 } | 97 } |
98 } | 98 } |