--- a/hotspot/src/share/vm/oops/constantPool.cpp Tue Apr 08 11:50:01 2014 +0200
+++ b/hotspot/src/share/vm/oops/constantPool.cpp Tue Apr 08 13:58:38 2014 -0400
@@ -144,6 +144,10 @@
// CDS support. Create a new resolved_references array.
void ConstantPool::restore_unshareable_info(TRAPS) {
+ // Only create the new resolved references array and lock if it hasn't been
+ // attempted before
+ if (resolved_references() != NULL) return;
+
// restore the C++ vtable from the shared archive
restore_vtable();