changeset 8151:5c22c4afdafb

Merge
author kevinw
date Thu, 14 Jul 2016 13:19:11 -0700
parents 72a298cbc071 aa8bf5341fc0
children b4b7e6bb414d
files
diffstat 3 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Thu Jun 30 08:11:30 2016 -0400
+++ b/.hgtags	Thu Jul 14 13:19:11 2016 -0700
@@ -899,3 +899,5 @@
 e73d79ce00e4a0451e464c7a73d9c911d01e169a jdk8u111-b01
 d584a614818562e1187e1a15c202aec01491caeb jdk8u111-b02
 a3ede966ecfe6009fe4a58fbd6903c470a059ad3 jdk8u111-b03
+65029655928a834018a6793253c9b2699044af92 jdk8u111-b04
+3b0e5f01891f5ebbf67797b1aae786196f1bb4f6 jdk8u121-b00
--- a/src/share/vm/classfile/classFileParser.cpp	Thu Jun 30 08:11:30 2016 -0400
+++ b/src/share/vm/classfile/classFileParser.cpp	Thu Jul 14 13:19:11 2016 -0700
@@ -3969,6 +3969,11 @@
     // Make sure this is the end of class file stream
     guarantee_property(cfs->at_eos(), "Extra bytes at the end of class file %s", CHECK_(nullHandle));
 
+    if (_class_name == vmSymbols::java_lang_Object()) {
+      check_property(_local_interfaces == Universe::the_empty_klass_array(),
+                     "java.lang.Object cannot implement an interface in class file %s",
+                     CHECK_(nullHandle));
+    }
     // We check super class after class file is parsed and format is checked
     if (super_class_index > 0 && super_klass.is_null()) {
       Symbol*  sk  = cp->klass_name_at(super_class_index);
--- a/src/share/vm/prims/jvm.cpp	Thu Jun 30 08:11:30 2016 -0400
+++ b/src/share/vm/prims/jvm.cpp	Thu Jul 14 13:19:11 2016 -0700
@@ -2626,7 +2626,6 @@
   switch (cp->tag_at(cp_index).value()) {
     case JVM_CONSTANT_InterfaceMethodref:
     case JVM_CONSTANT_Methodref:
-    case JVM_CONSTANT_NameAndType:  // for invokedynamic
       return cp->uncached_name_ref_at(cp_index)->as_utf8();
     default:
       fatal("JVM_GetCPMethodNameUTF: illegal constant");
@@ -2644,7 +2643,6 @@
   switch (cp->tag_at(cp_index).value()) {
     case JVM_CONSTANT_InterfaceMethodref:
     case JVM_CONSTANT_Methodref:
-    case JVM_CONSTANT_NameAndType:  // for invokedynamic
       return cp->uncached_signature_ref_at(cp_index)->as_utf8();
     default:
       fatal("JVM_GetCPMethodSignatureUTF: illegal constant");