comparison 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
comparison
equal deleted inserted replaced
6732:78b56e53050e 6733:fa6e618671d7
150 } 150 }
151 } 151 }
152 152
153 // CDS support. Create a new resolved_references array. 153 // CDS support. Create a new resolved_references array.
154 void ConstantPool::restore_unshareable_info(TRAPS) { 154 void ConstantPool::restore_unshareable_info(TRAPS) {
155
156 // restore the C++ vtable from the shared archive
157 restore_vtable();
158
155 if (SystemDictionary::Object_klass_loaded()) { 159 if (SystemDictionary::Object_klass_loaded()) {
156 // Recreate the object array and add to ClassLoaderData. 160 // Recreate the object array and add to ClassLoaderData.
157 int map_length = resolved_reference_length(); 161 int map_length = resolved_reference_length();
158 if (map_length > 0) { 162 if (map_length > 0) {
159 objArrayOop stom = oopFactory::new_objArray(SystemDictionary::Object_klass(), map_length, CHECK); 163 objArrayOop stom = oopFactory::new_objArray(SystemDictionary::Object_klass(), map_length, CHECK);