100 // The shared ProtectionDomain reference is set once the VM loads a shared class
101 // originated from the current Module. The referenced ProtectionDomain object is
102 // created by the ClassLoader when loading a class (shared or non-shared) from the
103 // Module for the first time. This ProtectionDomain object is used for all
104 // classes from the Module loaded by the same ClassLoader.
105 oop shared_protection_domain();
106 void set_shared_protection_domain(ClassLoaderData *loader_data, Handle pd);
107
108 ClassLoaderData* loader_data() const { return _loader_data; }
109
110 void set_loader_data(ClassLoaderData* cld) {
111 assert(!cld->is_anonymous(), "Unexpected anonymous class loader data");
112 _loader_data = cld;
113 }
114
115 Symbol* version() const { return _version; }
116 void set_version(Symbol* version);
117
118 Symbol* location() const { return _location; }
119 void set_location(Symbol* location);
120 bool is_non_jdk_module();
121
122 bool can_read(ModuleEntry* m) const;
123 bool has_reads_list() const;
124 void add_read(ModuleEntry* m);
125 void set_read_walk_required(ClassLoaderData* m_loader_data);
126
127 bool is_open() const { return _is_open; }
128 void set_is_open(bool is_open);
129
130 bool is_named() const { return (name() != NULL); }
131
132 bool can_read_all_unnamed() const {
133 assert(is_named() || _can_read_all_unnamed == true,
134 "unnamed modules can always read all unnamed modules");
135 return _can_read_all_unnamed;
136 }
137
138 // Modules can only go from strict to loose.
139 void set_can_read_all_unnamed() { _can_read_all_unnamed = true; }
140
|
100 // The shared ProtectionDomain reference is set once the VM loads a shared class
101 // originated from the current Module. The referenced ProtectionDomain object is
102 // created by the ClassLoader when loading a class (shared or non-shared) from the
103 // Module for the first time. This ProtectionDomain object is used for all
104 // classes from the Module loaded by the same ClassLoader.
105 oop shared_protection_domain();
106 void set_shared_protection_domain(ClassLoaderData *loader_data, Handle pd);
107
108 ClassLoaderData* loader_data() const { return _loader_data; }
109
110 void set_loader_data(ClassLoaderData* cld) {
111 assert(!cld->is_anonymous(), "Unexpected anonymous class loader data");
112 _loader_data = cld;
113 }
114
115 Symbol* version() const { return _version; }
116 void set_version(Symbol* version);
117
118 Symbol* location() const { return _location; }
119 void set_location(Symbol* location);
120 bool should_show_version();
121
122 bool can_read(ModuleEntry* m) const;
123 bool has_reads_list() const;
124 void add_read(ModuleEntry* m);
125 void set_read_walk_required(ClassLoaderData* m_loader_data);
126
127 bool is_open() const { return _is_open; }
128 void set_is_open(bool is_open);
129
130 bool is_named() const { return (name() != NULL); }
131
132 bool can_read_all_unnamed() const {
133 assert(is_named() || _can_read_all_unnamed == true,
134 "unnamed modules can always read all unnamed modules");
135 return _can_read_all_unnamed;
136 }
137
138 // Modules can only go from strict to loose.
139 void set_can_read_all_unnamed() { _can_read_all_unnamed = true; }
140
|