< prev index next >

src/hotspot/share/memory/metaspaceShared.hpp

Print this page




 290   // or if the remapping has already been done by a prior call.
 291   static bool remap_shared_readonly_as_readwrite() NOT_CDS_RETURN_(true);
 292   static bool remapped_readwrite() {
 293     CDS_ONLY(return _remapped_readwrite);
 294     NOT_CDS(return false);
 295   }
 296 
 297   static bool try_link_class(InstanceKlass* ik, TRAPS);
 298   static void link_and_cleanup_shared_classes(TRAPS);
 299 
 300 #if INCLUDE_CDS
 301   static ReservedSpace* reserve_shared_rs(size_t size, size_t alignment,
 302                                           bool large, char* requested_address);
 303   static void init_shared_dump_space(DumpRegion* first_space, address first_space_bottom = NULL);
 304   static DumpRegion* misc_code_dump_space();
 305   static DumpRegion* read_write_dump_space();
 306   static DumpRegion* read_only_dump_space();
 307   static void pack_dump_space(DumpRegion* current, DumpRegion* next,
 308                               ReservedSpace* rs);
 309 
 310   static void rewrite_nofast_bytecodes_and_calculate_fingerprints(InstanceKlass* ik);
 311 #endif
 312 
 313   // Allocate a block of memory from the "mc", "ro", or "rw" regions.
 314   static char* misc_code_space_alloc(size_t num_bytes);
 315   static char* read_only_space_alloc(size_t num_bytes);
 316 
 317   template <typename T>
 318   static Array<T>* new_ro_array(int length) {
 319 #if INCLUDE_CDS
 320     size_t byte_size = Array<T>::byte_sizeof(length, sizeof(T));
 321     Array<T>* array = (Array<T>*)read_only_space_alloc(byte_size);
 322     array->initialize(length);
 323     return array;
 324 #else
 325     return NULL;
 326 #endif
 327   }
 328 
 329   template <typename T>
 330   static size_t ro_array_bytesize(int length) {




 290   // or if the remapping has already been done by a prior call.
 291   static bool remap_shared_readonly_as_readwrite() NOT_CDS_RETURN_(true);
 292   static bool remapped_readwrite() {
 293     CDS_ONLY(return _remapped_readwrite);
 294     NOT_CDS(return false);
 295   }
 296 
 297   static bool try_link_class(InstanceKlass* ik, TRAPS);
 298   static void link_and_cleanup_shared_classes(TRAPS);
 299 
 300 #if INCLUDE_CDS
 301   static ReservedSpace* reserve_shared_rs(size_t size, size_t alignment,
 302                                           bool large, char* requested_address);
 303   static void init_shared_dump_space(DumpRegion* first_space, address first_space_bottom = NULL);
 304   static DumpRegion* misc_code_dump_space();
 305   static DumpRegion* read_write_dump_space();
 306   static DumpRegion* read_only_dump_space();
 307   static void pack_dump_space(DumpRegion* current, DumpRegion* next,
 308                               ReservedSpace* rs);
 309 
 310   static void rewrite_nofast_bytecodes_and_calculate_fingerprints(Thread* thread, InstanceKlass* ik);
 311 #endif
 312 
 313   // Allocate a block of memory from the "mc", "ro", or "rw" regions.
 314   static char* misc_code_space_alloc(size_t num_bytes);
 315   static char* read_only_space_alloc(size_t num_bytes);
 316 
 317   template <typename T>
 318   static Array<T>* new_ro_array(int length) {
 319 #if INCLUDE_CDS
 320     size_t byte_size = Array<T>::byte_sizeof(length, sizeof(T));
 321     Array<T>* array = (Array<T>*)read_only_space_alloc(byte_size);
 322     array->initialize(length);
 323     return array;
 324 #else
 325     return NULL;
 326 #endif
 327   }
 328 
 329   template <typename T>
 330   static size_t ro_array_bytesize(int length) {


< prev index next >