Hi, Alexander. Should not the storage be based on soft references? In the current solution we will store the references to the checked classes forever in the static map.
> 13 дек. 2016 г., в 18:41, Alexandr Scherbatiy > <alexandr.scherba...@oracle.com> написал(а): > > > Hello, > > Could you review the fix: > bug: https://bugs.openjdk.java.net/browse/JDK-8169922 > webrev: http://cr.openjdk.java.net/~alexsch/8169922/webrev.00 > > The fix JDK-8156217 checks presence of the overridden methods with floating > point arguments. > The proposed fix caches results of found overridden methods with floating > point arguments. > > I run the SwingSet2 with the custom test which intensively creates > JTextField, JPasswordField, JTextArea, and JEditorPane. > > The results of the test running with the following JDK are: > 1. Methods with int arguments are always called without the methods > overridden check: 45822 // before the fix JDK-8156217 > 2. Methods with floating point arguments are always called without the > methods overridden check: 46175 > performance decreasing: 100 * (46175 - 45822) / 45822 = 0.77% > 3. Methods with floating point arguments are always called with the methods > overridden check: 48836 // fix JDK-8156217 > performance decreasing: 100 * (48836 - 45822) / 45822 = 6.58% > 4. Methods with floating point arguments are always called and the methods > overridden checks are cached: 46592 // current fix > performance decreasing: 100 * (46592 - 45822) / 45822 = 1.68% > > Thanks, > Alexandr. >