< prev index next >

src/hotspot/share/oops/klassVtable.cpp

Print this page

        

@@ -94,18 +94,17 @@
   // This includes miranda methods and during later processing, default methods
   if (!class_flags.is_interface()) {
      vtable_length += *num_new_mirandas * vtableEntry::size();
   }
 
-  if (Universe::is_bootstrapping() && vtable_length == 0 && classname != vmSymbols::java_lang____Value()) {
+  if (Universe::is_bootstrapping() && vtable_length == 0) {
     // array classes don't have their superclass set correctly during
     // bootstrapping
     vtable_length = Universe::base_vtable_size();
   }
 
-  if (super == NULL && vtable_length != Universe::base_vtable_size()
-      && !class_flags.is_value_type()) {
+  if (super == NULL && vtable_length != Universe::base_vtable_size()) {
     if (Universe::is_bootstrapping()) {
       // Someone is attempting to override java.lang.Object incorrectly on the
       // bootclasspath.  The JVM cannot recover from this error including throwing
       // an exception
       vm_exit_during_initialization("Incompatible definition of java.lang.Object");

@@ -117,12 +116,11 @@
       // the exception occur.
       vtable_length = Universe::base_vtable_size();
     }
   }
   assert(vtable_length % vtableEntry::size() == 0, "bad vtable length");
-  assert(vtable_length >= Universe::base_vtable_size()
-         || class_flags.is_value_type(), "vtable too small");
+  assert(vtable_length >= Universe::base_vtable_size(), "vtable too small");
 
   *vtable_length_ret = vtable_length;
 }
 
 int klassVtable::index_of(Method* m, int len) const {
< prev index next >