equal
deleted
inserted
replaced
27 |
27 |
28 #include "classfile/moduleEntry.hpp" |
28 #include "classfile/moduleEntry.hpp" |
29 #include "oops/symbol.hpp" |
29 #include "oops/symbol.hpp" |
30 #include "utilities/growableArray.hpp" |
30 #include "utilities/growableArray.hpp" |
31 #include "utilities/hashtable.hpp" |
31 #include "utilities/hashtable.hpp" |
|
32 #include "utilities/macros.hpp" |
32 #include "utilities/ostream.hpp" |
33 #include "utilities/ostream.hpp" |
|
34 #if INCLUDE_JFR |
|
35 #include "jfr/support/jfrTraceIdExtension.hpp" |
|
36 #endif |
|
37 |
33 |
38 |
34 // A PackageEntry basically represents a Java package. It contains: |
39 // A PackageEntry basically represents a Java package. It contains: |
35 // - Symbol* containing the package's name. |
40 // - Symbol* containing the package's name. |
36 // - ModuleEntry* for this package's containing module. |
41 // - ModuleEntry* for this package's containing module. |
37 // - a field indicating if the package is exported unqualifiedly or to all |
42 // - a field indicating if the package is exported unqualifiedly or to all |
102 s2 _classpath_index; |
107 s2 _classpath_index; |
103 bool _must_walk_exports; |
108 bool _must_walk_exports; |
104 // Contains list of modules this package is qualifiedly exported to. Access |
109 // Contains list of modules this package is qualifiedly exported to. Access |
105 // to this list is protected by the Module_lock. |
110 // to this list is protected by the Module_lock. |
106 GrowableArray<ModuleEntry*>* _qualified_exports; |
111 GrowableArray<ModuleEntry*>* _qualified_exports; |
107 TRACE_DEFINE_TRACE_ID_FIELD; |
112 JFR_ONLY(DEFINE_TRACE_ID_FIELD;) |
108 |
113 |
109 // Initial size of a package entry's list of qualified exports. |
114 // Initial size of a package entry's list of qualified exports. |
110 enum {QUAL_EXP_SIZE = 43}; |
115 enum {QUAL_EXP_SIZE = 43}; |
111 |
116 |
112 public: |
117 public: |
195 PackageEntry** next_addr() { |
200 PackageEntry** next_addr() { |
196 return (PackageEntry**)HashtableEntry<Symbol*, mtModule>::next_addr(); |
201 return (PackageEntry**)HashtableEntry<Symbol*, mtModule>::next_addr(); |
197 } |
202 } |
198 |
203 |
199 // iteration of qualified exports |
204 // iteration of qualified exports |
200 void package_exports_do(ModuleClosure* const f); |
205 void package_exports_do(ModuleClosure* f); |
201 |
206 |
202 TRACE_DEFINE_TRACE_ID_METHODS; |
207 JFR_ONLY(DEFINE_TRACE_ID_METHODS;) |
203 |
208 |
204 // Purge dead weak references out of exported list when any given class loader is unloaded. |
209 // Purge dead weak references out of exported list when any given class loader is unloaded. |
205 void purge_qualified_exports(); |
210 void purge_qualified_exports(); |
206 void delete_qualified_exports(); |
211 void delete_qualified_exports(); |
207 |
212 |