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

Alisen Chung achung at openjdk.org
Wed Aug 28 21:40:18 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.

What's the benefit of removing synchronized from the get call? Also were tests run on all platforms that use GTK?

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

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


More information about the client-libs-dev mailing list