src/share/vm/classfile/sharedPathsMiscInfo.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/classfile/sharedPathsMiscInfo.hpp Fri Sep 16 09:33:52 2016
--- new/src/share/vm/classfile/sharedPathsMiscInfo.hpp Fri Sep 16 09:33:52 2016
*** 102,115 ****
--- 102,133 ----
// The path must not exist at run-time
void add_nonexist_path(const char* path) {
add_path(path, NON_EXIST);
}
+ // The path must exist and have required size and modification time
+ void add_required_file(const char* path) {
+ add_path(path, REQUIRED);
+
+ struct stat st;
+ if (os::stat(path, &st) != 0) {
+ assert(0, "sanity");
+ #if INCLUDE_CDS
+ ClassLoader::exit_with_path_failure("failed to os::stat(%s)", path); // should not happen
+ #endif
+ }
+ write_time(st.st_mtime);
+ write_long(st.st_size);
+ }
+
// The path must exist, and must contain exactly <num_entries> files/dirs
void add_boot_classpath(const char* path) {
add_path(path, BOOT);
}
+ void add_patch_mod_classpath(const char* path) {
+ add_path(path, PATCH_MOD);
+ }
int write_jint(jint num) {
write(&num, sizeof(num));
return 0;
}
void write_time(time_t t) {
*** 127,144 ****
--- 145,164 ----
// reading --
enum {
BOOT = 1,
NON_EXIST = 2,
! REQUIRED = 3,
+ PATCH_MOD = 4
};
virtual const char* type_name(int type) {
switch (type) {
case BOOT: return "BOOT";
case NON_EXIST: return "NON_EXIST";
case REQUIRED: return "REQUIRED";
+ case PATCH_MOD: return "PATCH_MOD";
default: ShouldNotReachHere(); return "?";
}
}
virtual void print_path(int type, const char* path);
src/share/vm/classfile/sharedPathsMiscInfo.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File