--- old/src/hotspot/share/oops/instanceKlass.cpp 2019-04-24 13:36:14.000000000 -0700 +++ new/src/hotspot/share/oops/instanceKlass.cpp 2019-04-24 13:36:13.000000000 -0700 @@ -1434,7 +1434,7 @@ Method* InstanceKlass::class_initializer() const { Method* clinit = find_method( vmSymbols::class_initializer_name(), vmSymbols::void_method_signature()); - if (clinit != NULL && clinit->has_valid_initializer_flags()) { + if (clinit != NULL && clinit->is_class_initializer()) { return clinit; } return NULL; @@ -1913,6 +1913,9 @@ if (method != NULL) { return method; } + if (name == vmSymbols::object_initializer_name()) { + break; // is never inherited, not even as a static factory + } klass = klass->super(); overpass_local_mode = skip_overpass; // Always ignore overpass methods in superclasses }