138 // immediately after the _header field. This information is used only when
139 // checking the validity of the archive and is deallocated after the archive is loaded.
140 //
141 // Note that the _paths_misc_info does NOT include information for JAR files
142 // that existed during dump time. Their information is stored in _classpath_entry_table.
143 int _paths_misc_info_size;
144
145 // The following is a table of all the class path entries that were used
146 // during dumping. At run time, we require these files to exist and have the same
147 // size/modification time, or else the archive will refuse to load.
148 //
149 // All of these entries must be JAR files. The dumping process would fail if a non-empty
150 // directory was specified in the classpaths. If an empty directory was specified
151 // it is checked by the _paths_misc_info as described above.
152 //
153 // FIXME -- if JAR files in the tail of the list were specified but not used during dumping,
154 // they should be removed from this table, to save space and to avoid spurious
155 // loading failures during runtime.
156 int _classpath_entry_table_size;
157 size_t _classpath_entry_size;
158 int _num_patch_mod_prefixes; // number of --patch-module entries
159 SharedClassPathEntry* _classpath_entry_table;
160
161 char* region_addr(int idx);
162
163 virtual bool validate();
164 virtual void populate(FileMapInfo* info, size_t alignment);
165 int compute_crc();
166 };
167
168 FileMapHeader * _header;
169
170 const char* _full_path;
171 char* _paths_misc_info;
172
173 static FileMapInfo* _current_info;
174
175 bool init_from_file(int fd);
176 void align_file_position();
177 bool validate_header_impl();
178
|
138 // immediately after the _header field. This information is used only when
139 // checking the validity of the archive and is deallocated after the archive is loaded.
140 //
141 // Note that the _paths_misc_info does NOT include information for JAR files
142 // that existed during dump time. Their information is stored in _classpath_entry_table.
143 int _paths_misc_info_size;
144
145 // The following is a table of all the class path entries that were used
146 // during dumping. At run time, we require these files to exist and have the same
147 // size/modification time, or else the archive will refuse to load.
148 //
149 // All of these entries must be JAR files. The dumping process would fail if a non-empty
150 // directory was specified in the classpaths. If an empty directory was specified
151 // it is checked by the _paths_misc_info as described above.
152 //
153 // FIXME -- if JAR files in the tail of the list were specified but not used during dumping,
154 // they should be removed from this table, to save space and to avoid spurious
155 // loading failures during runtime.
156 int _classpath_entry_table_size;
157 size_t _classpath_entry_size;
158 SharedClassPathEntry* _classpath_entry_table;
159
160 char* region_addr(int idx);
161
162 virtual bool validate();
163 virtual void populate(FileMapInfo* info, size_t alignment);
164 int compute_crc();
165 };
166
167 FileMapHeader * _header;
168
169 const char* _full_path;
170 char* _paths_misc_info;
171
172 static FileMapInfo* _current_info;
173
174 bool init_from_file(int fd);
175 void align_file_position();
176 bool validate_header_impl();
177
|