# HG changeset patch # User Doug Simon # Date 1390940664 -3600 # Node ID 6c5c17d0f57df5925a2df2a6c6903e4ec39a0107 # Parent eec9f21a40b75df26681b0cd9c43b0a68658baac guard again null receiver object when reading a constant field diff -r eec9f21a40b7 -r 6c5c17d0f57d graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java Tue Jan 28 18:46:43 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java Tue Jan 28 21:24:24 2014 +0100 @@ -198,9 +198,9 @@ Object object = receiver.asObject(); // Canonicalization may attempt to process an unsafe read before - // processing a guard (e.g. a type check) for this read - // so we need to type check the object being read - if (isInObject(object)) { + // processing a guard (e.g. a null check or a type check) for this read + // so we need to check the object being read + if (object != null && isInObject(object)) { if (Modifier.isFinal(getModifiers())) { Constant value = readValue(receiver); if (assumeNonStaticFinalFieldsAsFinal(object.getClass()) || !value.isDefaultForKind()) {