7195867: NPG: SAJDI tests fail with sun.jvm.hotspot.types.WrongTypeException: No suitable match for type

Need to restore the vtable in metadata when we restore the type from the shared archive.

Reviewed-by: acorn, jcoomes, jmasa, jrose
This commit is contained in:
Coleen Phillimore 2012-09-05 20:08:08 -04:00
parent f3b6368c39
commit 8536f548db
6 changed files with 22 additions and 4 deletions

View file

@ -152,6 +152,10 @@ void ConstantPool::initialize_resolved_references(ClassLoaderData* loader_data,
// CDS support. Create a new resolved_references array.
void ConstantPool::restore_unshareable_info(TRAPS) {
// restore the C++ vtable from the shared archive
restore_vtable();
if (SystemDictionary::Object_klass_loaded()) {
// Recreate the object array and add to ClassLoaderData.
int map_length = resolved_reference_length();