8028520: JVM should not throw VerifyError when a private method overrides a final method
authorhseigel
Thu, 21 Nov 2013 14:41:13 -0500
changeset 21765 e2c19a9f1039
parent 21736 ef8da7738ad4
child 21766 941f6e3a1567
8028520: JVM should not throw VerifyError when a private method overrides a final method Summary: Exclude private methods when checking for final method override. Reviewed-by: kamg, coleenp, dholmes, mseledtsov
hotspot/src/share/vm/classfile/classFileParser.cpp
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp	Mon Nov 18 08:21:19 2013 +0100
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp	Thu Nov 21 14:41:13 2013 -0500
@@ -4483,8 +4483,8 @@
   for (int index = 0; index < num_methods; index++) {
     Method* m = methods->at(index);
 
-    // skip static and <init> methods
-    if ((!m->is_static()) &&
+    // skip private, static, and <init> methods
+    if ((!m->is_private() && !m->is_static()) &&
         (m->name() != vmSymbols::object_initializer_name())) {
 
       Symbol* name = m->name();