hotspot/src/share/vm/classfile/systemDictionary.hpp
changeset 46505 fd4bc78630b1
parent 46435 3f6cac9867d4
child 46729 c62d2e8b2728
equal deleted inserted replaced
46504:38048d4d20e7 46505:fd4bc78630b1
    76 class PlaceholderTable;
    76 class PlaceholderTable;
    77 class LoaderConstraintTable;
    77 class LoaderConstraintTable;
    78 template <MEMFLAGS F> class HashtableBucket;
    78 template <MEMFLAGS F> class HashtableBucket;
    79 class ResolutionErrorTable;
    79 class ResolutionErrorTable;
    80 class SymbolPropertyTable;
    80 class SymbolPropertyTable;
       
    81 class GCTimer;
    81 
    82 
    82 // Certain classes are preloaded, such as java.lang.Object and java.lang.String.
    83 // Certain classes are preloaded, such as java.lang.Object and java.lang.String.
    83 // They are all "well-known", in the sense that no class loader is allowed
    84 // They are all "well-known", in the sense that no class loader is allowed
    84 // to provide a different definition.
    85 // to provide a different definition.
    85 //
    86 //
   153   /* support for dynamic typing; it's OK if these are NULL in earlier JDKs */                                            \
   154   /* support for dynamic typing; it's OK if these are NULL in earlier JDKs */                                            \
   154   do_klass(DirectMethodHandle_klass,                    java_lang_invoke_DirectMethodHandle,       Opt                 ) \
   155   do_klass(DirectMethodHandle_klass,                    java_lang_invoke_DirectMethodHandle,       Opt                 ) \
   155   do_klass(MethodHandle_klass,                          java_lang_invoke_MethodHandle,             Pre                 ) \
   156   do_klass(MethodHandle_klass,                          java_lang_invoke_MethodHandle,             Pre                 ) \
   156   do_klass(VarHandle_klass,                             java_lang_invoke_VarHandle,                Pre                 ) \
   157   do_klass(VarHandle_klass,                             java_lang_invoke_VarHandle,                Pre                 ) \
   157   do_klass(MemberName_klass,                            java_lang_invoke_MemberName,               Pre                 ) \
   158   do_klass(MemberName_klass,                            java_lang_invoke_MemberName,               Pre                 ) \
       
   159   do_klass(ResolvedMethodName_klass,                    java_lang_invoke_ResolvedMethodName,       Pre                 ) \
   158   do_klass(MethodHandleNatives_klass,                   java_lang_invoke_MethodHandleNatives,      Pre                 ) \
   160   do_klass(MethodHandleNatives_klass,                   java_lang_invoke_MethodHandleNatives,      Pre                 ) \
   159   do_klass(LambdaForm_klass,                            java_lang_invoke_LambdaForm,               Opt                 ) \
   161   do_klass(LambdaForm_klass,                            java_lang_invoke_LambdaForm,               Opt                 ) \
   160   do_klass(MethodType_klass,                            java_lang_invoke_MethodType,               Pre                 ) \
   162   do_klass(MethodType_klass,                            java_lang_invoke_MethodType,               Pre                 ) \
   161   do_klass(BootstrapMethodError_klass,                  java_lang_BootstrapMethodError,            Pre                 ) \
   163   do_klass(BootstrapMethodError_klass,                  java_lang_BootstrapMethodError,            Pre                 ) \
   162   do_klass(CallSite_klass,                              java_lang_invoke_CallSite,                 Pre                 ) \
   164   do_klass(CallSite_klass,                              java_lang_invoke_CallSite,                 Pre                 ) \
   364   static void always_strong_oops_do(OopClosure* blk);
   366   static void always_strong_oops_do(OopClosure* blk);
   365 
   367 
   366   // Unload (that is, break root links to) all unmarked classes and
   368   // Unload (that is, break root links to) all unmarked classes and
   367   // loaders.  Returns "true" iff something was unloaded.
   369   // loaders.  Returns "true" iff something was unloaded.
   368   static bool do_unloading(BoolObjectClosure* is_alive,
   370   static bool do_unloading(BoolObjectClosure* is_alive,
   369                            bool clean_previous_versions = true);
   371                            GCTimer* gc_timer,
       
   372                            bool do_cleaning = true);
   370 
   373 
   371   // Used by DumpSharedSpaces only to remove classes that failed verification
   374   // Used by DumpSharedSpaces only to remove classes that failed verification
   372   static void remove_classes_in_error_state();
   375   static void remove_classes_in_error_state();
   373 
   376 
   374   static int calculate_systemdictionary_size(int loadedclasses);
   377   static int calculate_systemdictionary_size(int loadedclasses);