Wed, 03 Jul 2019 20:41:33 +0800
Merge
1.1 --- a/.hgtags Wed Jul 03 20:04:13 2019 +0800 1.2 +++ b/.hgtags Wed Jul 03 20:41:33 2019 +0800 1.3 @@ -985,6 +985,11 @@ 1.4 16c76ce6176a6042af69da226d95795976d7dbcd jdk8u201-b07 1.5 ace766139b0a8b3df9ba5997410b6757e9e966ce jdk8u201-b77 1.6 4d0534929ed33904995cab64d870f71f34df3820 jdk8u201-b08 1.7 +0bd4dbc4d66ff1a8ed6cc2095c19f9339283d274 jdk8u201-b09 1.8 +14a7e11e6db20a7023a0aa1960d45f5a72812633 jdk8u201-b79 1.9 +83dce201f51fcaf5e20518d2d8f843a267587680 jdk8u201-b25 1.10 +a55558a5e910f2336b24784592f77f4fa848fdb2 jdk8u201-b26 1.11 +0bd4dbc4d66ff1a8ed6cc2095c19f9339283d274 jdk8u201-ga 1.12 5c4f2cff396cb24e33e18dbc0e9b7f5b757c299c jdk8u202-b01 1.13 c6d5e32c8ce2e363f74b892f0b2f8a1f834d3396 jdk8u202-b02 1.14 d492c0449092f847c0cd5ac54f6cae87285c50aa jdk8u202-b03 1.15 @@ -995,3 +1000,9 @@ 1.16 6c6166477778069fbb8bddda0b2bd490c5165fe4 jdk8u202-b08 1.17 00e45c7b34210428ba91761b2c1cc2626d2e86e1 mips64el-jdk8u202-b09 1.18 e4dc3feb0318bfe893e538c4c75df548a0c953ce mips64el-jdk8u202-b10 1.19 +2e575d455cacab1117667d73f81bc2774c0408af jdk8u202-b25 1.20 +a14b334da6a14ff6c800888b31a621671ddedcd4 jdk8u202-b26 1.21 +6c6166477778069fbb8bddda0b2bd490c5165fe4 jdk8u202-ga 1.22 +58a54ab25e5201d29fea1ed1e165c95ce479f5cf jdk8u212-b00 1.23 +22d26c0a8eb7ddfdbebf835c59b07e8b8da47359 jdk8u212-b01 1.24 +8b263aef666d72459ac637e3ff19554c9fb4e7ca jdk8u212-b02
2.1 --- a/THIRD_PARTY_README Wed Jul 03 20:04:13 2019 +0800 2.2 +++ b/THIRD_PARTY_README Wed Jul 03 20:41:33 2019 +0800 2.3 @@ -1096,33 +1096,6 @@ 2.4 OF SUCH DAMAGE. 2.5 --- end of LICENSE --- 2.6 2.7 -%% This notice is provided with respect to FontConfig 2.5, which may be 2.8 -included with JRE 8, JDK 8, and OpenJDK 8 source distributions on 2.9 -Linux and Solaris. 2.10 - 2.11 ---- begin of LICENSE --- 2.12 - 2.13 -Copyright ?? 2001,2003 Keith Packard 2.14 - 2.15 -Permission to use, copy, modify, distribute, and sell this software and its 2.16 -documentation for any purpose is hereby granted without fee, provided that the 2.17 -above copyright notice appear in all copies and that both that copyright 2.18 -notice and this permission notice appear in supporting documentation, and that 2.19 -the name of Keith Packard not be used in advertising or publicity pertaining 2.20 -to distribution of the software without specific, written prior permission. 2.21 -Keith Packard makes no representations about the suitability of this software 2.22 -for any purpose. It is provided "as is" without express or implied warranty. 2.23 - 2.24 -KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 2.25 -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL KEITH 2.26 -PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 2.27 -DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 2.28 -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 2.29 -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 2.30 - 2.31 - 2.32 ---- end of LICENSE --- 2.33 - 2.34 ------------------------------------------------------------------------------- 2.35 2.36 %% This notice is provided with respect to freebXML Registry 3.0 & 3.1,
3.1 --- a/src/com/sun/xml/internal/stream/util/ThreadLocalBufferAllocator.java Wed Jul 03 20:04:13 2019 +0800 3.2 +++ b/src/com/sun/xml/internal/stream/util/ThreadLocalBufferAllocator.java Wed Jul 03 20:41:33 2019 +0800 3.3 @@ -1,5 +1,5 @@ 3.4 /* 3.5 - * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. 3.6 + * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. 3.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3.8 * 3.9 * This code is free software; you can redistribute it and/or modify it 3.10 @@ -39,15 +39,19 @@ 3.11 * @author Santiago.PericasGeertsen@sun.com 3.12 */ 3.13 public class ThreadLocalBufferAllocator { 3.14 - private static ThreadLocal tlba = new ThreadLocal(); 3.15 + private static final ThreadLocal<SoftReference<BufferAllocator>> TL = new ThreadLocal<>(); 3.16 3.17 - public static BufferAllocator getBufferAllocator() { 3.18 - SoftReference bAllocatorRef = (SoftReference) tlba.get(); 3.19 - if (bAllocatorRef == null || bAllocatorRef.get() == null) { 3.20 - bAllocatorRef = new SoftReference(new BufferAllocator()); 3.21 - tlba.set(bAllocatorRef); 3.22 + public static BufferAllocator getBufferAllocator() { 3.23 + BufferAllocator ba = null; 3.24 + SoftReference<BufferAllocator> sr = TL.get(); 3.25 + if (sr != null) { 3.26 + ba = sr.get(); 3.27 } 3.28 - 3.29 - return (BufferAllocator) bAllocatorRef.get(); 3.30 - } 3.31 + if (ba == null) { 3.32 + ba = new BufferAllocator(); 3.33 + sr = new SoftReference<>(ba); 3.34 + TL.set(sr); 3.35 + } 3.36 + return ba; 3.37 + } 3.38 }