# HG changeset patch # User naoto # Date 1310491717 25200 # Node ID c22b087661beba4e8492a63ec02fbdf562493672 # Parent a5f22ff57f3c966ad65cf029bc24d374c4b8c843 7022407: Spinning CPU in LocaleObjectCache.get() Reviewed-by: okutsu diff -r a5f22ff57f3c -r c22b087661be jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java --- a/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java Tue Jul 12 15:23:23 2011 +0100 +++ b/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java Tue Jul 12 10:28:37 2011 -0700 @@ -66,14 +66,14 @@ CacheEntry newEntry = new CacheEntry<>(key, newVal, queue); - while (value == null) { - cleanStaleEntries(); - entry = map.putIfAbsent(key, newEntry); - if (entry == null) { + entry = map.putIfAbsent(key, newEntry); + if (entry == null) { + value = newVal; + } else { + value = entry.get(); + if (value == null) { + map.put(key, newEntry); value = newVal; - break; - } else { - value = entry.get(); } } }