--- old/src/share/vm/opto/graphKit.cpp 2017-07-14 16:33:37.741651943 +0200 +++ new/src/share/vm/opto/graphKit.cpp 2017-07-14 16:33:37.637651948 +0200 @@ -2565,7 +2565,7 @@ // types load from the super-class display table which is immutable. m = mem->memory_at(C->get_alias_index(gvn->type(p2)->is_ptr())); Node *kmem = might_be_cache ? m : C->immutable_memory(); - Node *nkls = gvn->transform(LoadKlassNode::make(*gvn, NULL, kmem, p2, gvn->type(p2)->is_ptr(), TypeKlassPtr::OBJECT_OR_NULL)); + Node *nkls = gvn->transform(LoadKlassNode::make(*gvn, NULL, kmem, p2, gvn->type(p2)->is_ptr(), TypeKlassPtr::BOTTOM)); // Compile speed common case: ARE a subtype and we canNOT fail if( superklass == nkls ) @@ -2917,6 +2917,7 @@ Node* *failure_control) { kill_dead_locals(); // Benefit all the uncommon traps const TypeKlassPtr *tk = _gvn.type(superklass)->is_klassptr(); + assert(tk->is_loaded(), "must be loaded"); const Type *toop = TypeOopPtr::make_from_klass(tk->klass()); // Fast cutout: Check the case that the cast is vacuously true. @@ -3223,6 +3224,7 @@ const TypeKlassPtr* inst_klass = _gvn.type(klass_node)->isa_klassptr(); if (!StressReflectiveCode && inst_klass != NULL) { ciKlass* klass = inst_klass->klass(); + assert(klass != NULL, "klass should not be NULL"); bool xklass = inst_klass->klass_is_exact(); if (xklass || klass->is_array_klass()) { jint lhelper = klass->layout_helper();