254 bool verify_region_checksum(int i);
255 void close();
256 bool is_open() { return _file_open; }
257 ReservedSpace reserve_shared_memory();
258
259 // JVM/TI RedefineClasses() support:
260 // Remap the shared readonly space to shared readwrite, private.
261 bool remap_shared_readonly_as_readwrite();
262
263 // Errors.
264 static void fail_stop(const char *msg, ...) ATTRIBUTE_PRINTF(1, 2);
265 static void fail_continue(const char *msg, ...) ATTRIBUTE_PRINTF(1, 2);
266
267 bool is_in_shared_region(const void* p, int idx) NOT_CDS_RETURN_(false);
268 void print_shared_spaces() NOT_CDS_RETURN;
269
270 // Stop CDS sharing and unmap CDS regions.
271 static void stop_sharing_and_unmap(const char* msg);
272
273 static void allocate_shared_path_table();
274 bool validate_shared_path_table();
275
276 static SharedClassPathEntry* shared_path(int index) {
277 if (index < 0) {
278 return NULL;
279 }
280 assert(index < _shared_path_table_size, "sanity");
281 char* p = (char*)_shared_path_table->data();
282 p += _shared_path_entry_size * index;
283 return (SharedClassPathEntry*)p;
284 }
285
286 static const char* shared_path_name(int index) {
287 assert(index >= 0, "Sanity");
288 return shared_path(index)->name();
289 }
290
291 static int get_number_of_shared_paths() {
292 return _shared_path_table_size;
293 }
|
254 bool verify_region_checksum(int i);
255 void close();
256 bool is_open() { return _file_open; }
257 ReservedSpace reserve_shared_memory();
258
259 // JVM/TI RedefineClasses() support:
260 // Remap the shared readonly space to shared readwrite, private.
261 bool remap_shared_readonly_as_readwrite();
262
263 // Errors.
264 static void fail_stop(const char *msg, ...) ATTRIBUTE_PRINTF(1, 2);
265 static void fail_continue(const char *msg, ...) ATTRIBUTE_PRINTF(1, 2);
266
267 bool is_in_shared_region(const void* p, int idx) NOT_CDS_RETURN_(false);
268 void print_shared_spaces() NOT_CDS_RETURN;
269
270 // Stop CDS sharing and unmap CDS regions.
271 static void stop_sharing_and_unmap(const char* msg);
272
273 static void allocate_shared_path_table();
274 static void check_nonempty_dir_in_shared_path_table();
275 bool validate_shared_path_table();
276
277 static SharedClassPathEntry* shared_path(int index) {
278 if (index < 0) {
279 return NULL;
280 }
281 assert(index < _shared_path_table_size, "sanity");
282 char* p = (char*)_shared_path_table->data();
283 p += _shared_path_entry_size * index;
284 return (SharedClassPathEntry*)p;
285 }
286
287 static const char* shared_path_name(int index) {
288 assert(index >= 0, "Sanity");
289 return shared_path(index)->name();
290 }
291
292 static int get_number_of_shared_paths() {
293 return _shared_path_table_size;
294 }
|