src/hotspot/share/classfile/systemDictionary.cpp
changeset 57828 35db8fba55f9
parent 57777 90ead0febf56
child 58177 4932dce35882
equal deleted inserted replaced
57827:425412369353 57828:35db8fba55f9
    45 #include "classfile/vmSymbols.hpp"
    45 #include "classfile/vmSymbols.hpp"
    46 #include "code/codeCache.hpp"
    46 #include "code/codeCache.hpp"
    47 #include "compiler/compileBroker.hpp"
    47 #include "compiler/compileBroker.hpp"
    48 #include "gc/shared/gcTraceTime.inline.hpp"
    48 #include "gc/shared/gcTraceTime.inline.hpp"
    49 #include "gc/shared/oopStorage.inline.hpp"
    49 #include "gc/shared/oopStorage.inline.hpp"
       
    50 #include "gc/shared/oopStorageSet.hpp"
    50 #include "interpreter/bytecodeStream.hpp"
    51 #include "interpreter/bytecodeStream.hpp"
    51 #include "interpreter/interpreter.hpp"
    52 #include "interpreter/interpreter.hpp"
    52 #include "jfr/jfrEvents.hpp"
    53 #include "jfr/jfrEvents.hpp"
    53 #include "logging/log.hpp"
    54 #include "logging/log.hpp"
    54 #include "logging/logStream.hpp"
    55 #include "logging/logStream.hpp"
   111 bool        SystemDictionary::_has_checkPackageAccess     =  false;
   112 bool        SystemDictionary::_has_checkPackageAccess     =  false;
   112 
   113 
   113 // Default ProtectionDomainCacheSize value
   114 // Default ProtectionDomainCacheSize value
   114 
   115 
   115 const int defaultProtectionDomainCacheSize = 1009;
   116 const int defaultProtectionDomainCacheSize = 1009;
   116 
       
   117 OopStorage* SystemDictionary::_vm_global_oop_storage = NULL;
       
   118 OopStorage* SystemDictionary::_vm_weak_oop_storage = NULL;
       
   119 
       
   120 
   117 
   121 // ----------------------------------------------------------------------------
   118 // ----------------------------------------------------------------------------
   122 // Java-level SystemLoader and PlatformLoader
   119 // Java-level SystemLoader and PlatformLoader
   123 
   120 
   124 oop SystemDictionary::java_system_loader() {
   121 oop SystemDictionary::java_system_loader() {
  1853 
  1850 
  1854   // Visit extra methods
  1851   // Visit extra methods
  1855   invoke_method_table()->oops_do(f);
  1852   invoke_method_table()->oops_do(f);
  1856 
  1853 
  1857   if (include_handles) {
  1854   if (include_handles) {
  1858     vm_global_oop_storage()->oops_do(f);
  1855     OopStorageSet::vm_global()->oops_do(f);
  1859   }
  1856   }
  1860 }
  1857 }
  1861 
  1858 
  1862 // CDS: scan and relocate all classes referenced by _well_known_klasses[].
  1859 // CDS: scan and relocate all classes referenced by _well_known_klasses[].
  1863 void SystemDictionary::well_known_klasses_do(MetaspaceClosure* it) {
  1860 void SystemDictionary::well_known_klasses_do(MetaspaceClosure* it) {
  2894     return dcmd->_dcmdparser.num_arguments();
  2891     return dcmd->_dcmdparser.num_arguments();
  2895   } else {
  2892   } else {
  2896     return 0;
  2893     return 0;
  2897   }
  2894   }
  2898 }
  2895 }
  2899 
       
  2900 void SystemDictionary::initialize_oop_storage() {
       
  2901   _vm_global_oop_storage =
       
  2902     new OopStorage("VM Global Oop Handles",
       
  2903                    VMGlobalAlloc_lock,
       
  2904                    VMGlobalActive_lock);
       
  2905 
       
  2906   _vm_weak_oop_storage =
       
  2907     new OopStorage("VM Weak Oop Handles",
       
  2908                    VMWeakAlloc_lock,
       
  2909                    VMWeakActive_lock);
       
  2910 }
       
  2911 
       
  2912 OopStorage* SystemDictionary::vm_global_oop_storage() {
       
  2913   assert(_vm_global_oop_storage != NULL, "Uninitialized");
       
  2914   return _vm_global_oop_storage;
       
  2915 }
       
  2916 
       
  2917 OopStorage* SystemDictionary::vm_weak_oop_storage() {
       
  2918   assert(_vm_weak_oop_storage != NULL, "Uninitialized");
       
  2919   return _vm_weak_oop_storage;
       
  2920 }