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