# HG changeset patch # User Thomas Wuerthinger # Date 1373310494 -7200 # Node ID ab689f0086bb8aa7409ee7d122de179fbb70718e # Parent aca7481e71d179d541db7188de302705874887c5 Fix unsafe access node. diff -r aca7481e71d1 -r ab689f0086bb graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java Mon Jul 08 16:27:46 2013 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeAccessNode.java Mon Jul 08 21:08:14 2013 +0200 @@ -69,13 +69,14 @@ // TODO (gd) remove that once UnsafeAccess only have an object base ObjectStamp receiverStamp = object().objectStamp(); ResolvedJavaType receiverType = receiverStamp.type(); - ResolvedJavaField field = receiverType.findInstanceFieldWithOffset(displacement() + constantOffset); - - // No need for checking that the receiver is non-null. The field access includes the - // null check and if a field is found, the offset is so small that this is never a - // valid access of an arbitrary address. - if (field != null && field.getKind() == this.accessKind()) { - return cloneAsFieldAccess(field); + if (receiverType != null) { + ResolvedJavaField field = receiverType.findInstanceFieldWithOffset(displacement() + constantOffset); + // No need for checking that the receiver is non-null. The field access includes + // the null check and if a field is found, the offset is so small that this is + // never a valid access of an arbitrary address. + if (field != null && field.getKind() == this.accessKind()) { + return cloneAsFieldAccess(field); + } } }