< prev index next >

src/hotspot/share/cds/cdsProtectionDomain.hpp

Print this page

 25 #ifndef SHARE_CDS_CDSPROTECTIONDOMAIN_HPP
 26 #define SHARE_CDS_CDSPROTECTIONDOMAIN_HPP
 27 
 28 #include "classfile/moduleEntry.hpp"
 29 #include "oops/oopHandle.inline.hpp"
 30 #include "runtime/handles.inline.hpp"
 31 #include "runtime/javaThread.hpp"
 32 
 33 class InstanceKlass;
 34 class Symbol;
 35 class PackageEntry;
 36 class ModuleEntry;
 37 
 38 // CDS security
 39 class CDSProtectionDomain : AllStatic {
 40   // See init_security_info for more info.
 41   static OopHandle _shared_protection_domains;
 42   static OopHandle _shared_jar_urls;
 43   static OopHandle _shared_jar_manifests;
 44 

 45 public:
 46   // Package handling:
 47   //
 48   // 1. For named modules in the runtime image
 49   //    BOOT classes: Reuses the existing JVM_GetSystemPackage(s) interfaces
 50   //                  to get packages in named modules for shared classes.
 51   //                  Package for non-shared classes in named module is also
 52   //                  handled using JVM_GetSystemPackage(s).
 53   //
 54   //    APP  classes: VM calls ClassLoaders.AppClassLoader::definePackage(String, Module)
 55   //                  to define package for shared app classes from named
 56   //                  modules.
 57   //
 58   //    PLATFORM  classes: VM calls ClassLoaders.PlatformClassLoader::definePackage(String, Module)
 59   //                  to define package for shared platform classes from named
 60   //                  modules.
 61   //
 62   // 2. For unnamed modules
 63   //    BOOT classes: Reuses the existing JVM_GetSystemPackage(s) interfaces to
 64   //                  get packages for shared boot classes in unnamed modules.

 25 #ifndef SHARE_CDS_CDSPROTECTIONDOMAIN_HPP
 26 #define SHARE_CDS_CDSPROTECTIONDOMAIN_HPP
 27 
 28 #include "classfile/moduleEntry.hpp"
 29 #include "oops/oopHandle.inline.hpp"
 30 #include "runtime/handles.inline.hpp"
 31 #include "runtime/javaThread.hpp"
 32 
 33 class InstanceKlass;
 34 class Symbol;
 35 class PackageEntry;
 36 class ModuleEntry;
 37 
 38 // CDS security
 39 class CDSProtectionDomain : AllStatic {
 40   // See init_security_info for more info.
 41   static OopHandle _shared_protection_domains;
 42   static OopHandle _shared_jar_urls;
 43   static OopHandle _shared_jar_manifests;
 44 
 45   static Handle get_archived_protection_domain(JavaThread* current, InstanceKlass* klass);
 46 public:
 47   // Package handling:
 48   //
 49   // 1. For named modules in the runtime image
 50   //    BOOT classes: Reuses the existing JVM_GetSystemPackage(s) interfaces
 51   //                  to get packages in named modules for shared classes.
 52   //                  Package for non-shared classes in named module is also
 53   //                  handled using JVM_GetSystemPackage(s).
 54   //
 55   //    APP  classes: VM calls ClassLoaders.AppClassLoader::definePackage(String, Module)
 56   //                  to define package for shared app classes from named
 57   //                  modules.
 58   //
 59   //    PLATFORM  classes: VM calls ClassLoaders.PlatformClassLoader::definePackage(String, Module)
 60   //                  to define package for shared platform classes from named
 61   //                  modules.
 62   //
 63   // 2. For unnamed modules
 64   //    BOOT classes: Reuses the existing JVM_GetSystemPackage(s) interfaces to
 65   //                  get packages for shared boot classes in unnamed modules.
< prev index next >