Mercurial > hg > graal-jvmci-8
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); |