--- old/src/hotspot/share/opto/memnode.cpp 2018-11-06 21:04:20.400792895 +0100 +++ new/src/hotspot/share/opto/memnode.cpp 2018-11-06 21:04:20.247794189 +0100 @@ -1734,7 +1734,7 @@ && Opcode() != Op_LoadKlass && Opcode() != Op_LoadNKlass) { // t might actually be lower than _type, if _type is a unique // concrete subclass of abstract class t. - if (off_beyond_header) { // is the offset beyond the header? + if (off_beyond_header || off == Type::OffsetBot) { // is the offset beyond the header? const Type* jt = t->join_speculative(_type); // In any case, do not allow the join, per se, to empty out the type. if (jt->empty() && !t->empty()) {