diff src/share/vm/classfile/classFileParser.cpp @ 24034:e828a0e2a4bc

Merge
author asaha
date Wed, 20 Jul 2016 15:12:01 -0700
parents 9d07e8518392 65029655928a
children fff265b31090
line wrap: on
line diff
--- a/src/share/vm/classfile/classFileParser.cpp	Tue Jul 19 15:39:34 2016 -0700
+++ b/src/share/vm/classfile/classFileParser.cpp	Wed Jul 20 15:12:01 2016 -0700
@@ -3973,6 +3973,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);