Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8082698 | emb-9 | Serguei Spitsyn | P3 | Resolved | Fixed | team |
JDK-8086503 | 8u65 | Serguei Spitsyn | P3 | Resolved | Fixed | b01 |
JDK-8079137 | 8u60 | Serguei Spitsyn | P3 | Resolved | Fixed | b14 |
JDK-8137663 | emb-8u65 | Unassigned | P3 | Resolved | Fixed | b01 |
JDK-8079951 | emb-8u60 | Serguei Spitsyn | P3 | Resolved | Fixed | team |
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);
}
}
- backported by
-
JDK-8079137 more performance issues in class redefinition
- Resolved
-
JDK-8079951 more performance issues in class redefinition
- Resolved
-
JDK-8082698 more performance issues in class redefinition
- Resolved
-
JDK-8086503 more performance issues in class redefinition
- Resolved
-
JDK-8137663 more performance issues in class redefinition
- Resolved
- relates to
-
JDK-8078725 method adjustments can be done just once for all classes involved into redefinition
- Resolved
-
JDK-8046246 the constantPoolCacheOopDesc::adjust_method_entries() used in RedefineClasses does not scale
- Resolved