diff src/share/vm/oops/constantPool.cpp @ 6733:fa6e618671d7

7195867: NPG: SAJDI tests fail with sun.jvm.hotspot.types.WrongTypeException: No suitable match for type Summary: Need to restore the vtable in metadata when we restore the type from the shared archive. Reviewed-by: acorn, jcoomes, jmasa, jrose
author coleenp
date Wed, 05 Sep 2012 20:08:08 -0400
parents da91efe96a93
children f6b0eb4e44cf d8ce2825b193
line wrap: on
line diff
--- a/src/share/vm/oops/constantPool.cpp	Wed Sep 05 10:18:37 2012 -0700
+++ b/src/share/vm/oops/constantPool.cpp	Wed Sep 05 20:08:08 2012 -0400
@@ -152,6 +152,10 @@
 
 // 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();