src/share/vm/classfile/classLoader.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
bug_8073423 Cdiff src/share/vm/classfile/classLoader.hpp
src/share/vm/classfile/classLoader.hpp
Print this page
*** 45,55 ****
// may have unlocked readers, so write atomically.
OrderAccess::release_store_ptr(&_next, next);
}
virtual bool is_jar_file() = 0;
virtual const char* name() = 0;
- virtual bool is_lazy();
// Constructor
ClassPathEntry();
// Attempt to locate file_name through this class path entry.
// Returns a class file parsing stream if successfull.
virtual ClassFileStream* open_stream(const char* name, TRAPS) = 0;
--- 45,54 ----
*** 103,135 ****
NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
NOT_PRODUCT(bool is_jrt();)
};
- // For lazier loading of boot class path entries
- class LazyClassPathEntry: public ClassPathEntry {
- private:
- const char* _path; // dir or file
- struct stat _st;
- bool _has_error;
- bool _throw_exception;
- volatile ClassPathEntry* _resolved_entry;
- ClassPathEntry* resolve_entry(TRAPS);
- public:
- bool is_jar_file();
- const char* name() { return _path; }
- LazyClassPathEntry(const char* path, const struct stat* st, bool throw_exception);
- virtual ~LazyClassPathEntry();
- u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS);
-
- ClassFileStream* open_stream(const char* name, TRAPS);
- virtual bool is_lazy();
- // Debugging
- NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
- NOT_PRODUCT(bool is_jrt();)
- };
-
// For java image files
class ImageFile;
class ClassPathImageEntry: public ClassPathEntry {
private:
ImageFile *_image;
--- 102,111 ----
*** 155,165 ****
public:
enum SomeConstants {
package_hash_table_size = 31 // Number of buckets
};
protected:
- friend class LazyClassPathEntry;
// Performance counters
static PerfCounter* _perf_accumulated_time;
static PerfCounter* _perf_classes_inited;
static PerfCounter* _perf_class_init_time;
--- 131,140 ----
*** 220,230 ****
static void setup_bootstrap_search_path();
static void setup_search_path(const char *class_path);
static void load_zip_library();
static ClassPathEntry* create_class_path_entry(const char *path, const struct stat* st,
! bool lazy, bool throw_exception, TRAPS);
// Canonicalizes path names, so strcmp will work properly. This is mainly
// to avoid confusing the zip library
static bool get_canonical_path(const char* orig, char* out, int len);
public:
--- 195,205 ----
static void setup_bootstrap_search_path();
static void setup_search_path(const char *class_path);
static void load_zip_library();
static ClassPathEntry* create_class_path_entry(const char *path, const struct stat* st,
! bool throw_exception, TRAPS);
// Canonicalizes path names, so strcmp will work properly. This is mainly
// to avoid confusing the zip library
static bool get_canonical_path(const char* orig, char* out, int len);
public:
src/share/vm/classfile/classLoader.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File