Hello.
Please review the fix for jdk9, I plan to backport it to jdk8.
In this fix some of synchronizations on TreeLock were removed.
- Component.java(CachedPainter.java) : long time ago this
synchronization was necessary, because the getGC method iterated over
hierarchy of components[1], but now it simple getter.
- Window.java : locationByPlatform and opacity are changed to volatile
and an additional synchronization is removed.
These changes are subset of my fix for JDK-6765536, which is safe to
backport to jdk8.
[1]
http://hg.openjdk.java.net/jdk6/jdk6/jdk/diff/e7ecde4010e9/src/share/classes/java/awt/Component.java
Bug: https://bugs.openjdk.java.net/browse/JDK-8138764
Webrev can be found at: http://cr.openjdk.java.net/~serb/8138764/webrev.00
--
Best regards, Sergey.