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

more performance issues in class redefinition

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P3
    • 9
    • 9
    • hotspot
    • b64

    Backports

      Description

        The following scalability/performance issue is currently in the public review:
           https://bugs.openjdk.java.net/browse/JDK-8046246

        It is going to improve the implementation of the functions:
             ConstantPoolCache::adjust_method_entries()
             klassVtable::adjust_method_entries()
             klassItable::adjust_method_entries()
             InstanceKlass::adjust_default_methods()


        However, there is more space for improvements:
          - The above functions can be run just once for all the redefined classes instead of multiple times after
            redefinition of each class in the list (they have no parameters specific for redefined classes anymore)
          - The MemberNameTable::adjust_method_entries() can be fixed to use the same optimization as
             the other adjust_method_entries() above
          - Consider the following fragment to be optimized as well to use the new adjust_method_entries()
            approach (it can be tricky though):

            for (InstanceKlass* pv_node = ik->previous_versions();
                 pv_node != NULL;
                 pv_node = pv_node->previous_versions()) {
              cp_cache = pv_node->constants()->cache();
              if (cp_cache != NULL) {
                cp_cache->adjust_method_entries(_matching_old_methods,
                                                _matching_new_methods,
                                                _matching_methods_length,
                                                &trace_name_printed);
              }
            }


        Attachments

          Issue Links

            Activity

              People

                sspitsyn Serguei Spitsyn
                sspitsyn Serguei Spitsyn
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: