# HG changeset patch # User Christian Wimmer # Date 1368653429 25200 # Node ID 65452ead4b71fb1dac675a1add5286a5090ff4ad # Parent d30cc6543973fa1d352f926b54543dd85422d371 Handle corner case in WordTypeVerificationPhase diff -r d30cc6543973 -r 65452ead4b71 graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeVerificationPhase.java --- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeVerificationPhase.java Wed May 15 17:29:30 2013 +0200 +++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeVerificationPhase.java Wed May 15 14:30:29 2013 -0700 @@ -114,6 +114,16 @@ } private boolean isWord(ValueNode node) { + if (node instanceof ProxyNode) { + /* + * The proxy node will eventually get the same stamp as the value it is proxying. + * However, since we cannot guarantee the order in which isWord is called during the + * verification phase, the stamp assignment for the value might not have happened yet. + * Therefore, we check the proxied value directly instead of the proxy. + */ + return isWord(((ProxyNode) node).value()); + } + return wordAccess.isWord(node); }