--- a/hotspot/src/share/vm/opto/memnode.cpp Mon Nov 17 12:57:49 2014 +0300
+++ b/hotspot/src/share/vm/opto/memnode.cpp Mon Nov 17 14:02:45 2014 -0800
@@ -52,6 +52,7 @@
const TypePtr *MemNode::adr_type() const {
Node* adr = in(Address);
+ if (adr == NULL) return NULL; // node is dead
const TypePtr* cross_check = NULL;
DEBUG_ONLY(cross_check = _adr_type);
return calculate_adr_type(adr->bottom_type(), cross_check);
@@ -2741,6 +2742,7 @@
// Do we Match on this edge index or not? Do not match memory
const TypePtr* ClearArrayNode::adr_type() const {
Node *adr = in(3);
+ if (adr == NULL) return NULL; // node is dead
return MemNode::calculate_adr_type(adr->bottom_type());
}