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 }