52 53 // CDS support 54 static ReservedSpace _shared_rs; 55 static VirtualSpace _shared_vs; 56 static int _max_alignment; 57 static MetaspaceSharedStats _stats; 58 static bool _has_error_classes; 59 static bool _archive_loading_failed; 60 static bool _remapped_readwrite; 61 static address _cds_i2i_entry_code_buffers; 62 static size_t _cds_i2i_entry_code_buffers_size; 63 static size_t _core_spaces_size; 64 public: 65 enum { 66 // core archive spaces 67 mc = 0, // miscellaneous code for method trampolines 68 rw = 1, // read-write shared space in the heap 69 ro = 2, // read-only shared space in the heap 70 md = 3, // miscellaneous data for initializing tables, etc. 71 num_core_spaces = 4, // number of non-string regions 72 73 // optional mapped spaces 74 // Currently it only contains class file data. 75 od = num_core_spaces, 76 num_non_heap_spaces = od + 1, 77 78 // mapped java heap regions 79 first_closed_archive_heap_region = od + 1, 80 max_closed_archive_heap_region = 2, 81 last_closed_archive_heap_region = first_closed_archive_heap_region + max_closed_archive_heap_region - 1, 82 first_open_archive_heap_region = last_closed_archive_heap_region + 1, 83 max_open_archive_heap_region = 2, 84 last_open_archive_heap_region = first_open_archive_heap_region + max_open_archive_heap_region - 1, 85 86 last_valid_region = last_open_archive_heap_region, 87 n_regions = last_valid_region + 1 // total number of regions 88 }; 89 90 static void prepare_for_dumping() NOT_CDS_RETURN; 91 static void preload_and_dump(TRAPS) NOT_CDS_RETURN; 92 static int preload_classes(const char * class_list_path, 93 TRAPS) NOT_CDS_RETURN_(0); 94 95 static GrowableArray<Klass*>* collected_klasses(); 96 97 static ReservedSpace* shared_rs() { 98 CDS_ONLY(return &_shared_rs); 99 NOT_CDS(return NULL); | 52 53 // CDS support 54 static ReservedSpace _shared_rs; 55 static VirtualSpace _shared_vs; 56 static int _max_alignment; 57 static MetaspaceSharedStats _stats; 58 static bool _has_error_classes; 59 static bool _archive_loading_failed; 60 static bool _remapped_readwrite; 61 static address _cds_i2i_entry_code_buffers; 62 static size_t _cds_i2i_entry_code_buffers_size; 63 static size_t _core_spaces_size; 64 public: 65 enum { 66 // core archive spaces 67 mc = 0, // miscellaneous code for method trampolines 68 rw = 1, // read-write shared space in the heap 69 ro = 2, // read-only shared space in the heap 70 md = 3, // miscellaneous data for initializing tables, etc. 71 num_core_spaces = 4, // number of non-string regions 72 num_non_heap_spaces = 4, 73 74 // mapped java heap regions 75 first_closed_archive_heap_region = md + 1, 76 max_closed_archive_heap_region = 2, 77 last_closed_archive_heap_region = first_closed_archive_heap_region + max_closed_archive_heap_region - 1, 78 first_open_archive_heap_region = last_closed_archive_heap_region + 1, 79 max_open_archive_heap_region = 2, 80 last_open_archive_heap_region = first_open_archive_heap_region + max_open_archive_heap_region - 1, 81 82 last_valid_region = last_open_archive_heap_region, 83 n_regions = last_valid_region + 1 // total number of regions 84 }; 85 86 static void prepare_for_dumping() NOT_CDS_RETURN; 87 static void preload_and_dump(TRAPS) NOT_CDS_RETURN; 88 static int preload_classes(const char * class_list_path, 89 TRAPS) NOT_CDS_RETURN_(0); 90 91 static GrowableArray<Klass*>* collected_klasses(); 92 93 static ReservedSpace* shared_rs() { 94 CDS_ONLY(return &_shared_rs); 95 NOT_CDS(return NULL); |