< 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 >