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