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

more performance issues in class redefinition

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      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

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: