src/share/vm/classfile/sharedPathsMiscInfo.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/classfile/sharedPathsMiscInfo.cpp
src/share/vm/classfile/sharedPathsMiscInfo.cpp
Print this page
*** 84,93 ****
--- 84,96 ----
out->print("Expecting that %s does not exist", path);
break;
case REQUIRED:
out->print("Expecting that file %s must exist and is not altered", path);
break;
+ case PATCH_MOD:
+ out->print("Expecting --patch-module=%s", path);
+ break;
default:
ShouldNotReachHere();
}
}
*** 144,153 ****
--- 147,159 ----
// The file actually exists
if (type == NON_EXIST) {
// But we want it to not exist -> fail
return fail("File must not exist");
}
+ if ((st.st_mode & S_IFREG) != S_IFREG) {
+ return fail("Wanted a file but it has become a directory");
+ }
time_t timestamp;
long filesize;
if (!read_time(×tamp) || !read_long(&filesize)) {
return fail("Corrupted archive file header");
*** 159,169 ****
return fail("File size mismatch");
}
}
}
break;
!
default:
return fail("Corrupted archive file header");
}
return true;
--- 165,194 ----
return fail("File size mismatch");
}
}
}
break;
! case PATCH_MOD:
! {
! GrowableArray<ModulePatchPath*>* patch_mod_args = Arguments::get_patch_mod_prefix();
! if (patch_mod_args != NULL) {
! int num_of_entries = patch_mod_args->length();
! for (int i = 0; i < num_of_entries; i++) {
! const char* module_name = (patch_mod_args->at(i))->module_name();
! const char* path_string = (patch_mod_args->at(i))->path_string();
! size_t n = strlen(module_name);
! // path contains the module name, followed by '=', and one or more entries.
! // E.g.: "java.base=foo" or "java.naming=dir1:dir2:dir3"
! if ((strncmp(module_name, path, n) != 0 ) ||
! (path[n] != '=') ||
! (strcmp(path + n + 1, path_string) != 0)) {
! return fail("--patch-module mismatch, path not found in run time: ", path);
! }
! }
! }
! }
! break;
default:
return fail("Corrupted archive file header");
}
return true;
src/share/vm/classfile/sharedPathsMiscInfo.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File