Blame SOURCES/rh1115580-unsyncHashMap.patch

9fa6a6
# HG changeset patch
9fa6a6
# User vkarnauk
9fa6a6
# Date 1340286118 -14400
9fa6a6
#      Thu Jun 21 17:41:58 2012 +0400
9fa6a6
# Node ID f71b6117fd7bbb13ed4c1f68ace873695edd49cb
9fa6a6
# Parent  762ae4a20c8b115e5cb486c5204d8bdee747ee59
9fa6a6
7027300: Unsynchronized HashMap access causes endless loop
9fa6a6
Reviewed-by: bae, prr
9fa6a6
9fa6a6
diff -r 762ae4a20c8b -r f71b6117fd7b src/share/classes/sun/font/SunLayoutEngine.java
9fa6a6
--- openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java	Thu Jun 21 14:19:12 2012 +0400
9fa6a6
+++ openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java	Thu Jun 21 17:41:58 2012 +0400
9fa6a6
@@ -33,7 +33,7 @@
9fa6a6
 import sun.font.GlyphLayout.*;
9fa6a6
 import java.awt.geom.Point2D;
9fa6a6
 import java.lang.ref.SoftReference;
9fa6a6
-import java.util.HashMap;
9fa6a6
+import java.util.concurrent.ConcurrentHashMap;
9fa6a6
 import java.util.Locale;
9fa6a6
 
9fa6a6
 /*
9fa6a6
@@ -129,9 +129,9 @@
9fa6a6
 
9fa6a6
   // !!! don't need this unless we have more than one sun layout engine...
9fa6a6
     public LayoutEngine getEngine(LayoutEngineKey key) {
9fa6a6
-        HashMap cache = (HashMap)cacheref.get();
9fa6a6
+        ConcurrentHashMap cache = (ConcurrentHashMap)cacheref.get();
9fa6a6
         if (cache == null) {
9fa6a6
-            cache = new HashMap();
9fa6a6
+            cache = new ConcurrentHashMap();
9fa6a6
             cacheref = new SoftReference(cache);
9fa6a6
         }
9fa6a6
 
9fa6a6
# HG changeset patch
9fa6a6
# User prr
9fa6a6
# Date 1342804653 25200
9fa6a6
#      Fri Jul 20 10:17:33 2012 -0700
9fa6a6
# Node ID 84d5cdbe7bce2caf907ec842ac7b4fa2097fb295
9fa6a6
# Parent  bf5bf37108c14d1d01b8a1043f9e3ff0e3727869
9fa6a6
7183251: Netbeans editor renders text wrong on JDK 7u6 build
9fa6a6
Reviewed-by: igor, jgodinez
9fa6a6
9fa6a6
diff -r bf5bf37108c1 -r 84d5cdbe7bce src/share/classes/sun/font/SunLayoutEngine.java
9fa6a6
--- openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java	Fri Jul 20 13:58:52 2012 +0400
9fa6a6
+++ openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java	Fri Jul 20 10:17:33 2012 -0700
9fa6a6
@@ -137,8 +137,9 @@
9fa6a6
 
9fa6a6
         LayoutEngine e = (LayoutEngine)cache.get(key);
9fa6a6
         if (e == null) {
9fa6a6
-            e = new SunLayoutEngine(key.copy());
9fa6a6
-            cache.put(key, e);
9fa6a6
+            LayoutEngineKey copy = key.copy();
9fa6a6
+            e = new SunLayoutEngine(copy);
9fa6a6
+            cache.put(copy, e);
9fa6a6
         }
9fa6a6
         return e;
9fa6a6
     }