diff a/src/hotspot/share/oops/constantPool.cpp b/src/hotspot/share/oops/constantPool.cpp --- a/src/hotspot/share/oops/constantPool.cpp +++ b/src/hotspot/share/oops/constantPool.cpp @@ -369,10 +369,11 @@ _cache->archived_references() != NULL) { oop archived = _cache->archived_references(); // Create handle for the archived resolved reference array object Handle refs_handle(THREAD, archived); set_resolved_references(loader_data->add_handle(refs_handle)); + _cache->clear_archived_references(); } else #endif { // No mapped archived resolved reference array // Recreate the object array and add to ClassLoaderData.