< prev index next >

src/share/vm/classfile/moduleEntry.hpp

Print this page

        

*** 25,34 **** --- 25,35 ---- #ifndef SHARE_VM_CLASSFILE_MODULEENTRY_HPP #define SHARE_VM_CLASSFILE_MODULEENTRY_HPP #include "classfile/classLoaderData.hpp" #include "classfile/vmSymbols.hpp" + #include "oops/oopHandle.hpp" #include "oops/symbol.hpp" #include "prims/jni.h" #include "runtime/jniHandles.hpp" #include "runtime/mutexLocker.hpp" #include "trace/traceMacros.hpp"
*** 54,65 **** // // The Mutex Module_lock is shared between ModuleEntry and PackageEntry, to lock either // data structure. class ModuleEntry : public HashtableEntry<Symbol*, mtModule> { private: ! jobject _module; // java.lang.Module ! jobject _pd; // java.security.ProtectionDomain, cached // for shared classes from this module ClassLoaderData* _loader_data; GrowableArray<ModuleEntry*>* _reads; // list of modules that are readable by this module Symbol* _version; // module version number Symbol* _location; // module location --- 55,66 ---- // // The Mutex Module_lock is shared between ModuleEntry and PackageEntry, to lock either // data structure. class ModuleEntry : public HashtableEntry<Symbol*, mtModule> { private: ! OopHandle _module; // java.lang.Module ! OopHandle _pd; // java.security.ProtectionDomain, cached // for shared classes from this module ClassLoaderData* _loader_data; GrowableArray<ModuleEntry*>* _reads; // list of modules that are readable by this module Symbol* _version; // module version number Symbol* _location; // module location
*** 87,106 **** } Symbol* name() const { return literal(); } void set_name(Symbol* n) { set_literal(n); } ! oop module() const { return JNIHandles::resolve(_module); } ! jobject module_handle() const { return _module; } ! void set_module(jobject j) { _module = j; } // The shared ProtectionDomain reference is set once the VM loads a shared class // originated from the current Module. The referenced ProtectionDomain object is // created by the ClassLoader when loading a class (shared or non-shared) from the // Module for the first time. This ProtectionDomain object is used for all // classes from the Module loaded by the same ClassLoader. ! Handle shared_protection_domain(); void set_shared_protection_domain(ClassLoaderData *loader_data, Handle pd); ClassLoaderData* loader_data() const { return _loader_data; } void set_loader_data(ClassLoaderData* l) { _loader_data = l; } --- 88,107 ---- } Symbol* name() const { return literal(); } void set_name(Symbol* n) { set_literal(n); } ! oop module() const { return _module.resolve(); } ! OopHandle module_handle() const { return _module; } ! void set_module(OopHandle j) { _module = j; } // The shared ProtectionDomain reference is set once the VM loads a shared class // originated from the current Module. The referenced ProtectionDomain object is // created by the ClassLoader when loading a class (shared or non-shared) from the // Module for the first time. This ProtectionDomain object is used for all // classes from the Module loaded by the same ClassLoader. ! oop shared_protection_domain(); void set_shared_protection_domain(ClassLoaderData *loader_data, Handle pd); ClassLoaderData* loader_data() const { return _loader_data; } void set_loader_data(ClassLoaderData* l) { _loader_data = l; }
*** 244,254 **** // Special handling for java.base static ModuleEntry* javabase_moduleEntry() { return _javabase_module; } static void set_javabase_moduleEntry(ModuleEntry* java_base) { _javabase_module = java_base; } static bool javabase_defined() { return ((_javabase_module != NULL) && ! (_javabase_module->module_handle() != NULL)); } static void finalize_javabase(Handle module_handle, Symbol* version, Symbol* location); static void patch_javabase_entries(Handle module_handle); void print(outputStream* st = tty); void verify(); --- 245,255 ---- // Special handling for java.base static ModuleEntry* javabase_moduleEntry() { return _javabase_module; } static void set_javabase_moduleEntry(ModuleEntry* java_base) { _javabase_module = java_base; } static bool javabase_defined() { return ((_javabase_module != NULL) && ! (_javabase_module->module() != NULL)); } static void finalize_javabase(Handle module_handle, Symbol* version, Symbol* location); static void patch_javabase_entries(Handle module_handle); void print(outputStream* st = tty); void verify();
< prev index next >