RFR: 8308588: Unnecessary synchronized on GTKStyle#ICONS_MAP can be removed

Tejesh R tr at openjdk.org
Thu Aug 29 05:01:19 UTC 2024


On Wed, 28 Aug 2024 08:54:39 GMT, Abhishek Kumar <abhiscxk at openjdk.org> wrote:

> `static final Map<String,GTKStockIcon> ICONS_MAP` is modified only in `static` block. Then [com.sun.java.swing.plaf.gtk.GTKStyle#get](https://github.com/kumarabhi006/jdk/blob/73f7a5f15dbba54a98f3916ff1190520ac07874d/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java#L892) method read from it within `synchronized (ICONS_MAP)` block. As this map is read-only and all its content is initialized in static block we can safely remove synchronized from get call.

Yes, it looks like redundant though. One slight concern is that, does GTKStockIcon has any role to play with synchronized block? If that doesn't has anything with synchronization then its good to go.

-------------

PR Review: https://git.openjdk.org/jdk/pull/20741#pullrequestreview-2267682324


More information about the client-libs-dev mailing list