changeset 13398:19146c82b6fc

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
author hseigel
date Thu, 21 Nov 2013 14:41:13 -0500
parents 396564992823
children 260ac69dc096
files src/share/vm/classfile/classFileParser.cpp
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/classfile/classFileParser.cpp	Mon Nov 18 08:21:19 2013 +0100
+++ b/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();