1.1 --- a/src/share/vm/memory/metadataFactory.hpp Thu Jan 17 11:39:48 2013 +0100 1.2 +++ b/src/share/vm/memory/metadataFactory.hpp Thu Jan 17 19:04:48 2013 -0800 1.3 @@ -66,7 +66,11 @@ 1.4 if (data != NULL) { 1.5 assert(loader_data != NULL, "shouldn't pass null"); 1.6 int size = data->size(); 1.7 - loader_data->metaspace_non_null()->deallocate((MetaWord*)data, size, false); 1.8 + if (DumpSharedSpaces) { 1.9 + loader_data->ro_metaspace()->deallocate((MetaWord*)data, size, false); 1.10 + } else { 1.11 + loader_data->metaspace_non_null()->deallocate((MetaWord*)data, size, false); 1.12 + } 1.13 } 1.14 } 1.15 1.16 @@ -77,6 +81,7 @@ 1.17 assert(loader_data != NULL, "shouldn't pass null"); 1.18 int size = md->size(); 1.19 // Call metadata's deallocate function which will call deallocate fields 1.20 + assert(!DumpSharedSpaces, "cannot deallocate metadata when dumping CDS archive"); 1.21 assert(!md->on_stack(), "can't deallocate things on stack"); 1.22 md->deallocate_contents(loader_data); 1.23 loader_data->metaspace_non_null()->deallocate((MetaWord*)md, size, md->is_klass());