changeset 5137:fe0d0f0242fb

8028520: JVM should not throw VerifyError when a private method overrides a final method Summary: Exclude private methods when checking for final method override (backport) Reviewed-by: kamg, coleenp, dholmes, mseledtsov
author hseigel
date Mon, 16 Dec 2013 13:15:20 -0500
parents 2d13a768ee77
children 1acc51c4d2f2
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	Fri Dec 13 10:32:34 2013 +0100
+++ b/src/share/vm/classfile/classFileParser.cpp	Mon Dec 16 13:15:20 2013 -0500
@@ -4051,8 +4051,8 @@
   for (int index = 0; index < num_methods; index++) {
     methodOop m = (methodOop)methods->obj_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();