242 MetaWord* expand_and_allocate(size_t size, 243 MetadataType mdtype); 244 245 static bool contains(const void* ptr); 246 247 void dump(outputStream* const out) const; 248 249 // Free empty virtualspaces 250 static void purge(MetadataType mdtype); 251 static void purge(); 252 253 static void report_metadata_oome(ClassLoaderData* loader_data, size_t word_size, 254 MetaspaceObj::Type type, MetadataType mdtype, TRAPS); 255 256 static const char* metadata_type_name(Metaspace::MetadataType mdtype); 257 258 void print_on(outputStream* st) const; 259 // Debugging support 260 void verify(); 261 262 class AllocRecordClosure : public StackObj { 263 public: 264 virtual void doit(address ptr, MetaspaceObj::Type type, int byte_size) = 0; 265 }; 266 267 void iterate(AllocRecordClosure *closure); 268 269 // Return TRUE only if UseCompressedClassPointers is True and DumpSharedSpaces is False. 270 static bool using_class_space() { 271 return NOT_LP64(false) LP64_ONLY(UseCompressedClassPointers && !DumpSharedSpaces); 272 } 273 274 static bool is_class_space_allocation(MetadataType mdType) { 275 return mdType == ClassType && using_class_space(); 276 } 277 278 }; 279 280 class MetaspaceAux : AllStatic { 281 static size_t free_chunks_total_words(Metaspace::MetadataType mdtype); | 242 MetaWord* expand_and_allocate(size_t size, 243 MetadataType mdtype); 244 245 static bool contains(const void* ptr); 246 247 void dump(outputStream* const out) const; 248 249 // Free empty virtualspaces 250 static void purge(MetadataType mdtype); 251 static void purge(); 252 253 static void report_metadata_oome(ClassLoaderData* loader_data, size_t word_size, 254 MetaspaceObj::Type type, MetadataType mdtype, TRAPS); 255 256 static const char* metadata_type_name(Metaspace::MetadataType mdtype); 257 258 void print_on(outputStream* st) const; 259 // Debugging support 260 void verify(); 261 262 static void print_compressed_class_space(outputStream* st, const char* requested_addr = 0); 263 264 class AllocRecordClosure : public StackObj { 265 public: 266 virtual void doit(address ptr, MetaspaceObj::Type type, int byte_size) = 0; 267 }; 268 269 void iterate(AllocRecordClosure *closure); 270 271 // Return TRUE only if UseCompressedClassPointers is True and DumpSharedSpaces is False. 272 static bool using_class_space() { 273 return NOT_LP64(false) LP64_ONLY(UseCompressedClassPointers && !DumpSharedSpaces); 274 } 275 276 static bool is_class_space_allocation(MetadataType mdType) { 277 return mdType == ClassType && using_class_space(); 278 } 279 280 }; 281 282 class MetaspaceAux : AllStatic { 283 static size_t free_chunks_total_words(Metaspace::MetadataType mdtype); |