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

more performance issues in class redefinition

XMLWordPrintable

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

        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);
              }
            }


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

                Created:
                Updated:
                Resolved: