--- a/hotspot/src/share/vm/memory/universe.cpp Fri Mar 10 12:58:37 2017 -0500
+++ b/hotspot/src/share/vm/memory/universe.cpp Fri Mar 03 23:08:35 2017 -0800
@@ -410,30 +410,6 @@
}
-// CDS support for patching vtables in metadata in the shared archive.
-// All types inherited from Metadata have vtables, but not types inherited
-// from MetaspaceObj, because the latter does not have virtual functions.
-// If the metadata type has a vtable, it cannot be shared in the read-only
-// section of the CDS archive, because the vtable pointer is patched.
-static inline void add_vtable(void** list, int* n, void* o, int count) {
- guarantee((*n) < count, "vtable list too small");
- void* vtable = dereference_vptr(o);
- assert(*(void**)(vtable) != NULL, "invalid vtable");
- list[(*n)++] = vtable;
-}
-
-void Universe::init_self_patching_vtbl_list(void** list, int count) {
- int n = 0;
- { InstanceKlass o; add_vtable(list, &n, &o, count); }
- { InstanceClassLoaderKlass o; add_vtable(list, &n, &o, count); }
- { InstanceMirrorKlass o; add_vtable(list, &n, &o, count); }
- { InstanceRefKlass o; add_vtable(list, &n, &o, count); }
- { TypeArrayKlass o; add_vtable(list, &n, &o, count); }
- { ObjArrayKlass o; add_vtable(list, &n, &o, count); }
- { Method o; add_vtable(list, &n, &o, count); }
- { ConstantPool o; add_vtable(list, &n, &o, count); }
-}
-
void Universe::initialize_basic_type_mirrors(TRAPS) {
assert(_int_mirror==NULL, "basic type mirrors already initialized");
_int_mirror =