src/share/vm/classfile/classLoader.hpp

Print this page

        

*** 64,74 **** // 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; // Debugging NOT_PRODUCT(virtual void compile_the_world(Handle loader, TRAPS) = 0;) ! NOT_PRODUCT(virtual bool is_rt_jar() = 0;) }; class ClassPathDirEntry: public ClassPathEntry { private: --- 64,74 ---- // 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; // Debugging NOT_PRODUCT(virtual void compile_the_world(Handle loader, TRAPS) = 0;) ! NOT_PRODUCT(virtual bool is_jrt() = 0;) }; class ClassPathDirEntry: public ClassPathEntry { private:
*** 78,88 **** const char* name() { return _dir; } ClassPathDirEntry(const char* dir); ClassFileStream* open_stream(const char* name, TRAPS); // Debugging NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);) ! NOT_PRODUCT(bool is_rt_jar();) }; // Type definitions for zip file and zip file entry typedef void* jzfile; --- 78,88 ---- const char* name() { return _dir; } ClassPathDirEntry(const char* dir); ClassFileStream* open_stream(const char* name, TRAPS); // Debugging NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);) ! NOT_PRODUCT(bool is_jrt();) }; // Type definitions for zip file and zip file entry typedef void* jzfile;
*** 110,120 **** u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS); ClassFileStream* open_stream(const char* name, TRAPS); void contents_do(void f(const char* name, void* context), void* context); // Debugging NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);) ! NOT_PRODUCT(bool is_rt_jar();) }; // For lazier loading of boot class path entries class LazyClassPathEntry: public ClassPathEntry { --- 110,120 ---- u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS); ClassFileStream* open_stream(const char* name, TRAPS); void contents_do(void f(const char* name, void* context), void* context); // Debugging 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 {
*** 136,146 **** ClassFileStream* open_stream(const char* name, TRAPS); void set_meta_index(MetaIndex* meta_index) { _meta_index = meta_index; } virtual bool is_lazy(); // Debugging NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);) ! NOT_PRODUCT(bool is_rt_jar();) }; class PackageHashtable; class PackageInfo; class SharedPathsMiscInfo; --- 136,164 ---- ClassFileStream* open_stream(const char* name, TRAPS); void set_meta_index(MetaIndex* meta_index) { _meta_index = meta_index; } 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; ! public: ! bool is_jar_file() { return false; } ! bool is_open() { return _image != NULL; } ! const char* name(); ! ClassPathImageEntry(char* name); ! ~ClassPathImageEntry(); ! ClassFileStream* open_stream(const char* name, TRAPS); ! ! // Debugging ! NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);) ! NOT_PRODUCT(bool is_jrt();) }; class PackageHashtable; class PackageInfo; class SharedPathsMiscInfo;
*** 224,233 **** --- 242,252 ---- // 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: + static jboolean decompress(void *in, u8 inSize, void *out, u8 outSize, char **pmsg); static int crc32(int crc, const char* buf, int len); static bool update_class_path_entry_list(const char *path, bool check_for_duplicates, bool throw_exception=true); static void print_bootclasspath();