src/share/vm/memory/metadataFactory.hpp

changeset 4457
59a58e20dc60
parent 4037
da91efe96a93
child 5896
d37a0525c0fe
     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());

mercurial