363 #endif 364 365 static SharedClassPathEntry* shared_path(int index) { 366 return _shared_path_table.path_at(index); 367 } 368 369 static const char* shared_path_name(int index) { 370 assert(index >= 0, "Sanity"); 371 return shared_path(index)->name(); 372 } 373 374 static int get_number_of_shared_paths() { 375 return _shared_path_table.size(); 376 } 377 378 char* region_addr(int idx); 379 380 private: 381 char* skip_first_path_entry(const char* path) NOT_CDS_RETURN_(NULL); 382 int num_paths(const char* path) NOT_CDS_RETURN_(0); 383 GrowableArray<char*>* create_path_array(const char* path) NOT_CDS_RETURN_(NULL); 384 bool fail(const char* msg, const char* name) NOT_CDS_RETURN_(false); 385 bool check_paths(int shared_path_start_idx, 386 int num_paths, 387 GrowableArray<char*>* rp_array) NOT_CDS_RETURN_(false); 388 bool validate_boot_class_paths() NOT_CDS_RETURN_(false); 389 bool validate_app_class_paths(int shared_app_paths_len) NOT_CDS_RETURN_(false); 390 bool map_heap_data(MemRegion **heap_mem, int first, int max, int* num, 391 bool is_open = false) NOT_CDS_JAVA_HEAP_RETURN_(false); 392 bool region_crc_check(char* buf, size_t size, int expected_crc) NOT_CDS_RETURN_(false); 393 void dealloc_archive_heap_regions(MemRegion* regions, int num, bool is_open) NOT_CDS_JAVA_HEAP_RETURN; 394 395 CDSFileMapRegion* space_at(int i) { 396 return _header->space_at(i); 397 } 398 399 narrowOop offset_of_space(CDSFileMapRegion* spc) { 400 return (narrowOop)(spc->_addr._offset); 401 } 402 403 // The starting address of spc, as calculated with CompressedOop::decode_non_null() 404 address start_address_as_decoded_with_current_oop_encoding_mode(CDSFileMapRegion* spc) { 405 return decode_start_address(spc, true); 406 } 407 | 363 #endif 364 365 static SharedClassPathEntry* shared_path(int index) { 366 return _shared_path_table.path_at(index); 367 } 368 369 static const char* shared_path_name(int index) { 370 assert(index >= 0, "Sanity"); 371 return shared_path(index)->name(); 372 } 373 374 static int get_number_of_shared_paths() { 375 return _shared_path_table.size(); 376 } 377 378 char* region_addr(int idx); 379 380 private: 381 char* skip_first_path_entry(const char* path) NOT_CDS_RETURN_(NULL); 382 int num_paths(const char* path) NOT_CDS_RETURN_(0); 383 GrowableArray<const char*>* create_path_array(const char* path) NOT_CDS_RETURN_(NULL); 384 bool fail(const char* msg, const char* name) NOT_CDS_RETURN_(false); 385 bool check_paths(int shared_path_start_idx, int num_paths, 386 GrowableArray<const char*>* rp_array) NOT_CDS_RETURN_(false); 387 bool validate_boot_class_paths() NOT_CDS_RETURN_(false); 388 bool validate_app_class_paths(int shared_app_paths_len) NOT_CDS_RETURN_(false); 389 bool map_heap_data(MemRegion **heap_mem, int first, int max, int* num, 390 bool is_open = false) NOT_CDS_JAVA_HEAP_RETURN_(false); 391 bool region_crc_check(char* buf, size_t size, int expected_crc) NOT_CDS_RETURN_(false); 392 void dealloc_archive_heap_regions(MemRegion* regions, int num, bool is_open) NOT_CDS_JAVA_HEAP_RETURN; 393 394 CDSFileMapRegion* space_at(int i) { 395 return _header->space_at(i); 396 } 397 398 narrowOop offset_of_space(CDSFileMapRegion* spc) { 399 return (narrowOop)(spc->_addr._offset); 400 } 401 402 // The starting address of spc, as calculated with CompressedOop::decode_non_null() 403 address start_address_as_decoded_with_current_oop_encoding_mode(CDSFileMapRegion* spc) { 404 return decode_start_address(spc, true); 405 } 406 |