Hello,

Could you review the updated fix:
  http://cr.openjdk.java.net/~alexsch/8169922/webrev.01

- the HashMap is stored in SoftRefence
- the typo in getMethodArguments() is fixed
- classes FPMethodItem and FPMethodArgs are defined in the PlainView class.

Thanks,
Alexandr.

On 12/14/2016 8:30 PM, Sergey Bylokhov wrote:
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.


Reply via email to