Mercurial > hg > graal-jvmci-8
comparison src/share/vm/classfile/classLoader.hpp @ 20608:4cb90023bf2b
8061651: Interface to the Lookup Index Cache to improve URLClassPath search time
Summary: Implemented the interface in sun.misc.URLClassPath and corresponding JVM_XXX APIs
Reviewed-by: mchung, acorn, jiangli, dholmes
author | iklam |
---|---|
date | Mon, 13 Oct 2014 16:09:57 -0700 |
parents | 8cb56c8cb30d |
children | 7848fc12602b f46ffa934a46 |
comparison
equal
deleted
inserted
replaced
20607:f5f752e74840 | 20608:4cb90023bf2b |
---|---|
127 struct stat _st; | 127 struct stat _st; |
128 MetaIndex* _meta_index; | 128 MetaIndex* _meta_index; |
129 bool _has_error; | 129 bool _has_error; |
130 bool _throw_exception; | 130 bool _throw_exception; |
131 volatile ClassPathEntry* _resolved_entry; | 131 volatile ClassPathEntry* _resolved_entry; |
132 public: | |
132 ClassPathEntry* resolve_entry(TRAPS); | 133 ClassPathEntry* resolve_entry(TRAPS); |
133 public: | |
134 bool is_jar_file(); | 134 bool is_jar_file(); |
135 const char* name() { return _path; } | 135 const char* name() { return _path; } |
136 LazyClassPathEntry(const char* path, const struct stat* st, bool throw_exception); | 136 LazyClassPathEntry(const char* path, const struct stat* st, bool throw_exception); |
137 u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS); | 137 u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS); |
138 ClassFileStream* open_stream(const char* name, TRAPS); | 138 ClassFileStream* open_stream(const char* name, TRAPS); |
216 // Initialization | 216 // Initialization |
217 static void setup_bootstrap_meta_index(); | 217 static void setup_bootstrap_meta_index(); |
218 static void setup_meta_index(const char* meta_index_path, const char* meta_index_dir, | 218 static void setup_meta_index(const char* meta_index_path, const char* meta_index_dir, |
219 int start_index); | 219 int start_index); |
220 static void setup_bootstrap_search_path(); | 220 static void setup_bootstrap_search_path(); |
221 static void setup_search_path(const char *class_path); | 221 static void setup_search_path(const char *class_path, bool canonicalize=false); |
222 | 222 |
223 static void load_zip_library(); | 223 static void load_zip_library(); |
224 static ClassPathEntry* create_class_path_entry(const char *path, const struct stat* st, | 224 static ClassPathEntry* create_class_path_entry(const char *path, const struct stat* st, |
225 bool lazy, bool throw_exception, TRAPS); | 225 bool lazy, bool throw_exception, TRAPS); |
226 | 226 |
325 while (--n >= 0) { | 325 while (--n >= 0) { |
326 assert(e != NULL, "Not that many classpath entries."); | 326 assert(e != NULL, "Not that many classpath entries."); |
327 e = e->next(); | 327 e = e->next(); |
328 } | 328 } |
329 return e; | 329 return e; |
330 } | |
331 | |
332 static int num_classpath_entries() { | |
333 return _num_entries; | |
330 } | 334 } |
331 | 335 |
332 #if INCLUDE_CDS | 336 #if INCLUDE_CDS |
333 // Sharing dump and restore | 337 // Sharing dump and restore |
334 static void copy_package_info_buckets(char** top, char* end); | 338 static void copy_package_info_buckets(char** top, char* end); |