Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8240258

SystemDictionary::quick_resolve need guarded by INCLUDE_CDS

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 15
    • None
    • hotspot
    • None
    • b13
    • generic

      See bug https://bugs.openjdk.java.net/browse/JDK-8240254

      This is for the new added quick_resolve function investigation.

      diff -r 624d51be7acd src/hotspot/share/classfile/systemDictionary.cpp
      --- a/src/hotspot/share/classfile/systemDictionary.cpp Fri Feb 28 12:49:37 2020 -0800
      +++ b/src/hotspot/share/classfile/systemDictionary.cpp Fri Feb 28 17:53:35 2020 -0800
      @@ -1918,6 +1918,7 @@
       }
       #endif

      +#if INCLUDE_CDS
       void SystemDictionary::quick_resolve(InstanceKlass* klass, ClassLoaderData* loader_data, Handle domain, TRAPS) {
         assert(!Universe::is_fully_initialized(), "We can make short cuts only during VM initialization");
         assert(klass->is_shared(), "Must be shared class");
      @@ -1948,6 +1949,7 @@
         add_to_hierarchy(klass, CHECK);
         assert(klass->is_loaded(), "Must be in at least loaded state");
       }
      +#endif

       bool SystemDictionary::resolve_wk_klass(WKID id, TRAPS) {
         assert(id >= (int)FIRST_WKID && id < (int)WKID_LIMIT, "oob");
      diff -r 624d51be7acd src/hotspot/share/classfile/systemDictionary.hpp
      --- a/src/hotspot/share/classfile/systemDictionary.hpp Fri Feb 28 12:49:37 2020 -0800
      +++ b/src/hotspot/share/classfile/systemDictionary.hpp Fri Feb 28 17:53:35 2020 -0800
      @@ -634,7 +634,7 @@
         // Resolve well-known classes so they can be used like SystemDictionary::String_klass()
         static void resolve_well_known_classes(TRAPS);
         // quick resolve using CDS for well-known classes only.
      - static void quick_resolve(InstanceKlass* klass, ClassLoaderData* loader_data, Handle domain, TRAPS);
      + static void quick_resolve(InstanceKlass* klass, ClassLoaderData* loader_data, Handle domain, TRAPS) NOT_CDS_RETURN;

         // Class loader constraints
         static void check_constraints(unsigned int hash,

            minqi Yumin Qi
            minqi Yumin Qi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: