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
--- 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();