--- old/src/hotspot/share/classfile/classListParser.cpp 2018-11-14 21:19:46.250097658 -0800 +++ new/src/hotspot/share/classfile/classListParser.cpp 2018-11-14 21:19:45.766079382 -0800 @@ -389,8 +389,8 @@ InstanceKlass* ik = InstanceKlass::cast(klass); int id = this->id(); SystemDictionaryShared::update_shared_entry(ik, id); - InstanceKlass* old = table()->lookup(id); - if (old != NULL && old != ik) { + InstanceKlass** old_ptr = table()->lookup(id); + if (old_ptr != NULL) { error("Duplicated ID %d for class %s", id, _class_name); } table()->add(id, ik); @@ -404,11 +404,12 @@ } InstanceKlass* ClassListParser::lookup_class_by_id(int id) { - InstanceKlass* klass = table()->lookup(id); - if (klass == NULL) { + InstanceKlass** klass_ptr = table()->lookup(id); + if (klass_ptr == NULL) { error("Class ID %d has not been defined", id); } - return klass; + assert(*klass_ptr != NULL, "must be"); + return *klass_ptr; }