src/hotspot/share/memory/metaspace/classLoaderMetaspace.cpp
branchstuefe-new-metaspace-branch
changeset 59272 54750b448264
parent 58883 08102295011d
equal deleted inserted replaced
59271:1558266946de 59272:54750b448264
    46     return true;
    46     return true;
    47   }
    47   }
    48   return false;
    48   return false;
    49 }
    49 }
    50 
    50 
    51 static bool use_class_space(MetadataType mdType) {
    51 static bool use_class_space(Metaspace::MetadataType mdType) {
    52   return use_class_space(is_class(mdType));
    52   return use_class_space(is_class(mdType));
    53 }
    53 }
    54 
    54 
    55 ClassLoaderMetaspace::ClassLoaderMetaspace(Mutex* lock, MetaspaceType space_type)
    55 ClassLoaderMetaspace::ClassLoaderMetaspace(Mutex* lock, MetaspaceType space_type)
    56   : _lock(lock)
    56   : _lock(lock)
   105 #endif
   105 #endif
   106 
   106 
   107 }
   107 }
   108 
   108 
   109 // Allocate word_size words from Metaspace.
   109 // Allocate word_size words from Metaspace.
   110 MetaWord* ClassLoaderMetaspace::allocate(size_t word_size, MetadataType mdType) {
   110 MetaWord* ClassLoaderMetaspace::allocate(size_t word_size, Metaspace::MetadataType mdType) {
   111   Metaspace::assert_not_frozen();
   111   Metaspace::assert_not_frozen();
   112   if (use_class_space(mdType)) {
   112   if (use_class_space(mdType)) {
   113     return class_space_manager()->allocate(word_size);
   113     return class_space_manager()->allocate(word_size);
   114   } else {
   114   } else {
   115     return non_class_space_manager()->allocate(word_size);
   115     return non_class_space_manager()->allocate(word_size);
   116   }
   116   }
   117 }
   117 }
   118 
   118 
   119 // Attempt to expand the GC threshold to be good for at least another word_size words
   119 // Attempt to expand the GC threshold to be good for at least another word_size words
   120 // and allocate. Returns NULL if failure. Used during Metaspace GC.
   120 // and allocate. Returns NULL if failure. Used during Metaspace GC.
   121 MetaWord* ClassLoaderMetaspace::expand_and_allocate(size_t word_size, MetadataType mdType) {
   121 MetaWord* ClassLoaderMetaspace::expand_and_allocate(size_t word_size, Metaspace::MetadataType mdType) {
   122   Metaspace::assert_not_frozen();
   122   Metaspace::assert_not_frozen();
   123   size_t delta_bytes = MetaspaceGC::delta_capacity_until_GC(word_size * BytesPerWord);
   123   size_t delta_bytes = MetaspaceGC::delta_capacity_until_GC(word_size * BytesPerWord);
   124   assert(delta_bytes > 0, "Must be");
   124   assert(delta_bytes > 0, "Must be");
   125 
   125 
   126   size_t before = 0;
   126   size_t before = 0;