src/share/vm/classfile/classFileParser.cpp
Print this page
*** 4309,4319 ****
--- 4309,4325 ----
Method* m = k->lookup_method(vmSymbols::finalize_method_name(),
vmSymbols::void_method_signature());
if (m != NULL && !m->is_empty_method()) {
f = true;
}
+
+ // Spec doesn't prevent agent from redefinition of empty finalizer.
+ // Despite the fact that it's generally bad idea and redefined finalizer
+ // will not work as expected we shouldn't abort vm in this case
+ if (!k->has_redefined_super()) {
assert(f == k->has_finalizer(), "inconsistent has_finalizer");
+ }
#endif
// Check if this klass supports the java.lang.Cloneable interface
if (SystemDictionary::Cloneable_klass_loaded()) {
if (k->is_subtype_of(SystemDictionary::Cloneable_klass())) {