src/hotspot/share/classfile/sharedPathsMiscInfo.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File open Cdiff src/hotspot/share/classfile/sharedPathsMiscInfo.cpp

src/hotspot/share/classfile/sharedPathsMiscInfo.cpp

Print this page

        

*** 113,143 **** --- 113,154 ---- } if (*_end_ptr != 0) { return fail("Corrupted archive file header"); } + jshort cur_index = 0; + jshort max_cp_index = FileMapInfo::current_info()->header()->max_used_path_index(); + jshort module_paths_start_index = + FileMapInfo::current_info()->header()->app_module_paths_start_index(); while (_cur_ptr < _end_ptr) { jint type; const char* path = _cur_ptr; _cur_ptr += strlen(path) + 1; + if (!read_jint(&type)) { return fail("Corrupted archive file header"); } LogTarget(Info, class, path) lt; if (lt.is_enabled()) { lt.print("type=%s ", type_name(type)); LogStream ls(lt); print_path(&ls, type, path); ls.cr(); } + // skip checking the class path(s) which was not referenced during CDS dump + if ((cur_index <= max_cp_index) || (cur_index >= module_paths_start_index)) { if (!check(type, path)) { if (!PrintSharedArchiveAndExit) { return false; } } else { ClassLoader::trace_class_path("ok"); } + } else { + ClassLoader::trace_class_path("skipped check"); + } + cur_index++; } return true; }
src/hotspot/share/classfile/sharedPathsMiscInfo.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File