changeset 2262:368261e41e66 jdk8_b128_aarch64_rc1

Merge up to jdk8-b128
author Edward Nevill edward.nevill@linaro.org
date Thu, 06 Feb 2014 16:12:26 +0000
parents 61b0b81c9396 (current diff) 09cdd3b493c0 (diff)
children 0c94db9137f9
files .hgtags make/BuildLangtools.gmk make/jprt.properties makefiles/BuildLangtools.gmk makefiles/Makefile src/share/classes/com/sun/source/doctree/package-info.java src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/activetitlebar.gif src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/activetitlebar_end.gif src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/background.gif src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/tab.gif src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/titlebar.gif src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/titlebar_end.gif src/share/classes/com/sun/tools/javac/code/Type.java src/share/classes/com/sun/tools/javac/comp/Attr.java src/share/classes/com/sun/tools/javac/comp/Check.java src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java src/share/classes/com/sun/tools/javac/comp/Lower.java src/share/classes/com/sun/tools/javac/comp/Resolve.java src/share/classes/com/sun/tools/javac/jvm/Gen.java src/share/classes/com/sun/tools/javac/parser/JavacParser.java src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java src/share/classes/com/sun/tools/javadoc/DocEnv.java src/share/classes/com/sun/tools/javadoc/RootDocImpl.java src/share/classes/com/sun/tools/jdeps/Archive.java src/share/classes/com/sun/tools/jdeps/ClassFileReader.java src/share/classes/com/sun/tools/jdeps/JdepsTask.java src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties test/com/sun/javadoc/testStylesheet/TestStylesheet.java test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out test/tools/javac/diags/examples/RepeatableAnnotationsNotSupported.java test/tools/javac/lambda/methodReference/BridgeMethod.java test/tools/javac/lambdaShapes/org/openjdk/tests/separate/Compiler.java test/tools/javac/lambdaShapes/org/openjdk/tests/separate/SourceModel.java test/tools/javac/lambdaShapes/org/openjdk/tests/separate/TestHarness.java
diffstat 244 files changed, 2966 insertions(+), 1725 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Mon Dec 23 13:00:24 2013 +0000
+++ b/.hgtags	Thu Feb 06 16:12:26 2014 +0000
@@ -242,3 +242,14 @@
 850d2602ae9811687b0f404d05ec3e55df91d9cb jdk8-b114
 6b4d6205366c1170ebefea95b1b9ae1d69add036 jdk8-b115
 3c040b04af05646878798216ebf939d27e6fe687 jdk8-b116
+19de039a03a619b99f1a8b454e1618c9fa9dae66 jdk8-b117
+4fd6a7ff8c068eceaaaf8bf12a394195203b99b3 jdk8-b118
+43a80d75d06ed22d6942f25f067587a3be3a129d jdk8-b119
+b3d7e86a06474fe5100a7b15a95eaa10d41509a6 jdk8-b120
+afe63d41c699e0e2ee910ef20c41b60603c852a1 jdk8-b121
+232b9cf6303aaf451c7000c5f93dfea842e9e9ae jdk8-b122
+a345cf28faca8cc49a28241a0a197fd520d25beb jdk8-b123
+436176151e85455e74cd1441a2ba96e791c56785 jdk8-b124
+436176151e85455e74cd1441a2ba96e791c56785 jdk8-b125
+ba24b63043626003929927f091e8b84190f39261 jdk8-b126
+bb69217ed81202b1a490dc7150dc7cd073689341 jdk8-b127
--- a/THIRD_PARTY_README	Mon Dec 23 13:00:24 2013 +0000
+++ b/THIRD_PARTY_README	Thu Feb 06 16:12:26 2014 +0000
@@ -2,11 +2,12 @@
 -----------------------------
 
 %% This notice is provided with respect to ASM Bytecode Manipulation 
-Framework v3.1, which is included with JRE 7, JDK 7, and OpenJDK 7.
+Framework v5.0, which may be included with JRE 8, and JDK 8, and 
+OpenJDK 8.
 
 --- begin of LICENSE ---
 
-Copyright (c) 2000-2005 INRIA, France Telecom
+Copyright (c) 2000-2011 France Télécom
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -40,8 +41,41 @@
 
 --------------------------------------------------------------------------------
 
-%% This notice is provided with respect to CodeViewer 1.0, which is included 
-with JDK 7.
+%% This notice is provided with respect to BSDiff v4.3, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Copyright 2003-2005 Colin Percival
+All rights reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted providing that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to CodeViewer 1.0, which may be
+included with JDK 8.
 
 --- begin of LICENSE ---
 
@@ -81,8 +115,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Cryptix AES 3.2.0, which is
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to Cryptix AES 3.2.0, which may be
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -121,7 +155,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to CUP Parser Generator for 
-Java 0.10k, which is included with JRE 7, JDK 7, and OpenJDK 7.
+Java 0.10k, which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -148,7 +182,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to Document Object Model (DOM) Level 2
-& 3, which is included with JRE 7, JDK 7, and OpenJDK 7.
+& 3, which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -212,19 +246,52 @@
 
 -------------------------------------------------------------------------------
 
+%% This notice is provided with respect to Dynalink v0.5, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Copyright (c) 2009-2013, Attila Szegedi
+
+All rights reserved.Redistribution and use in source and binary forms, with or
+without modification, are permitted provided that the following conditions are
+met:* Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.  * Redistributions in
+binary form must reproduce the above copyright notice,   this list of
+conditions and the following disclaimer in the documentation  and/or other
+materials provided with the distribution.  * Neither the name of Attila
+Szegedi nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF SUCH DAMAGE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
 %% This notice is provided with respect to Elliptic Curve Cryptography, which 
-is included with JRE 7, JDK 7, and OpenJDK 7.
+may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 You are receiving a copy of the Elliptic Curve Cryptography library in source
-form with the JDK 7 source distribution and object code in the JRE 7 & JDK 7
-runtime.
-
-The terms of the Oracle license do NOT apply to the Elliptic Curve
-Cryptography library program; it is licensed under the following license,
-separately from the Oracle programs you receive. If you do not wish to install
-this program, you may delete the library named libsunec.so (on Solaris and
-Linux systems) or sunec.dll (on Windows systems) from the JRE bin directory
-reserved for native libraries.
+form with the JDK 8 and OpenJDK 8 source distributions, and as object code in
+the JRE 8 & JDK 8 runtimes.
+
+In the case of the JRE 8 & JDK 8 runtimes, the terms of the Oracle license do
+NOT apply to the Elliptic Curve Cryptography library; it is licensed under the
+following license, separately from Oracle's JDK & JRE.  If you do not wish to
+install the Elliptic Curve Cryptography library, you may delete the library
+named libsunec.so (on Solaris and Linux systems) or sunec.dll (on Windows
+systems) from the JRE bin directory reserved for native libraries.
+
 
 --- begin of LICENSE ---
 
@@ -735,13 +802,138 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to FontConfig 2.5, which is 
-included with JRE 7, JDK 7, and OpenJDK 7 source distributions on
+%% This notice is provided with respect to  ECMAScript Language
+Specification ECMA-262 Edition 5.1 which may be included with 
+JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Copyright notice
+Copyright © 2011 Ecma International
+Ecma International
+Rue du Rhone 114
+CH-1204 Geneva
+Tel: +41 22 849 6000
+Fax: +41 22 849 6001
+Web: http://www.ecma-international.org
+
+This document and possible translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it or assist
+in its implementation may be prepared, copied, published, and distributed, in
+whole or in part, without restriction of any kind, provided that the above
+copyright notice and this section are included on all such copies and derivative
+works. However, this document itself may not be modified in any way, including
+by removing the copyright notice or references to Ecma International, except as
+needed for the purpose of developing any document or deliverable produced by
+Ecma International (in which case the rules applied to copyrights must be
+followed) or as required to translate it into languages other than English. The
+limited permissions granted above are perpetual and will not be revoked by Ecma
+International or its successors or assigns. This document and the information
+contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL
+DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
+WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP
+RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
+PURPOSE." Software License
+
+All Software contained in this document ("Software)" is protected by copyright
+and is being made available under the "BSD License", included below. This
+Software may be subject to third party rights (rights from parties other than
+Ecma International), including patent rights, and no licenses under such third
+party rights are granted under this license even if the third party concerned is
+a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS
+AVAILABLE AT http://www.ecma-international.org/memento/codeofconduct.htm FOR
+INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO
+IMPLEMENT ECMA INTERNATIONAL STANDARDS*. Redistribution and use in source and
+binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+
+3. Neither the name of the authors nor Ecma International may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL ECMA INTERNATIONAL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE.
+--- end of LICENSE ---
+
+%% This notice is provided with respect to Dynalink library which is included
+with the Nashorn technology.
+
+--- begin of LICENSE ---
+Copyright (c) 2009-2013, Attila Szegedi
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+* Redistributions of source code must retain the above copyright
+  notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+* Neither the name of the copyright holder nor the names of
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+--- end of LICENSE ---
+
+%% This notice is provided with respect to Joni library which is included
+with the Nashorn technology.
+
+--- begin of LICENSE ---
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to FontConfig 2.5, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8 source distributions on
 Linux and Solaris.
 
 --- begin of LICENSE ---
 
-Copyright © 2001,2003 Keith Packard
+Copyright © 2001,2003 Keith Packard
 
 Permission to use, copy, modify, distribute, and sell this software and its
 documentation for any purpose is hereby granted without fee, provided that the
@@ -765,7 +957,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to IAIK PKCS#11 Wrapper, 
-which is included with JRE 7, JDK 7, and OpenJDK 7.
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -816,7 +1008,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to ICU4C 4.0.1 and ICU4J 4.4, which 
-is included with JRE 7, JDK 7, and OpenJDK 7.
+may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -852,8 +1044,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to IJG JPEG 6b, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to IJG JPEG 6b, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -891,8 +1083,35 @@
 
 --------------------------------------------------------------------------------
 
-%% This notice is provided with respect to JOpt-Simple v3.0,  which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to Joni v1.1.9, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to JOpt-Simple v3.0,  which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -921,8 +1140,39 @@
 
 --------------------------------------------------------------------------------
 
+%% This notice is provided with respect to JSON, which may be included 
+with JRE 8 & JDK 8.
+
+--- begin of LICENSE ---
+
+Copyright (c) 2002 JSON.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+The Software shall be used for Good, not Evil.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
 %% This notice is provided with respect to Kerberos functionality, which 
-which is included with JRE 7, JDK 7, and OpenJDK 7.
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -934,7 +1184,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to Kerberos functionality from 
-FundsXpress, INC., which is included with JRE 7, JDK 7, and OpenJDK 7.
+FundsXpress, INC., which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -967,8 +1217,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Kronos OpenGL headers, which is 
-included with JDK 7 and OpenJDK 7 source distributions.
+%% This notice is provided with respect to Kronos OpenGL headers, which may be 
+included with JDK 8 and OpenJDK 8 source distributions.
 
 --- begin of LICENSE ---
 
@@ -1000,8 +1250,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to libpng 1.2.18, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to libpng 1.5.4, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1014,8 +1264,10 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.2.18, May 15, 2007, are
-Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
+This code is released under the libpng license.
+
+libpng versions 1.2.6, August 15, 2004, through 1.5.4, July 7, 2011, are
+Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
 
@@ -1112,14 +1364,14 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 15, 2007
+July 7, 2011
 
 --- end of LICENSE ---
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to libungif 4.1.3, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to libungif 4.1.3, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1147,8 +1399,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Little CMS 2.0, which is 
-included with OpenJDK 7.
+%% This notice is provided with respect to Little CMS 2.4, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1183,7 +1435,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to Mesa 3D Graphics Library v4.1,
-which is included with JRE 7, JDK 7, and OpenJDK 7 source distributions.
+which may be included with JRE 8, JDK 8, and OpenJDK 8 source distributions.
 
 --- begin of LICENSE ---
 
@@ -1213,8 +1465,402 @@
 
 -------------------------------------------------------------------------------
 
+%% This notice is provided with respect to Mozilla Network Security
+Services (NSS), which is supplied with the JDK test suite in the OpenJDK
+source code repository. It is licensed under Mozilla Public License (MPL),
+version 2.0.
+
+The NSS libraries are supplied in executable form, built from unmodified
+NSS source code labeled with the "NSS_3.13.1_RTM" release tag.
+
+The NSS source code is available in the OpenJDK source code repository at:
+    jdk/test/sun/security/pkcs11/nss/src
+
+The NSS libraries are available in the OpenJDK source code repository at:
+    jdk/test/sun/security/pkcs11/nss/lib
+
+--- begin of LICENSE ---
+
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+    means each individual or legal entity that creates, contributes to
+    the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+    means the combination of the Contributions of others (if any) used
+    by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+    means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+    means Source Code Form to which the initial Contributor has attached
+    the notice in Exhibit A, the Executable Form of such Source Code
+    Form, and Modifications of such Source Code Form, in each case
+    including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+    means
+
+    (a) that the initial Contributor has attached the notice described
+        in Exhibit B to the Covered Software; or
+
+    (b) that the Covered Software was made available under the terms of
+        version 1.1 or earlier of the License, but not also under the
+        terms of a Secondary License.
+
+1.6. "Executable Form"
+    means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+    means a work that combines Covered Software with other material, in 
+    a separate file or files, that is not Covered Software.
+
+1.8. "License"
+    means this document.
+
+1.9. "Licensable"
+    means having the right to grant, to the maximum extent possible,
+    whether at the time of the initial grant or subsequently, any and
+    all of the rights conveyed by this License.
+
+1.10. "Modifications"
+    means any of the following:
+
+    (a) any file in Source Code Form that results from an addition to,
+        deletion from, or modification of the contents of Covered
+        Software; or
+
+    (b) any new file in Source Code Form that contains any Covered
+        Software.
+
+1.11. "Patent Claims" of a Contributor
+    means any patent claim(s), including without limitation, method,
+    process, and apparatus claims, in any patent Licensable by such
+    Contributor that would be infringed, but for the grant of the
+    License, by the making, using, selling, offering for sale, having
+    made, import, or transfer of either its Contributions or its
+    Contributor Version.
+
+1.12. "Secondary License"
+    means either the GNU General Public License, Version 2.0, the GNU
+    Lesser General Public License, Version 2.1, the GNU Affero General
+    Public License, Version 3.0, or any later versions of those
+    licenses.
+
+1.13. "Source Code Form"
+    means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+    means an individual or a legal entity exercising rights under this
+    License. For legal entities, "You" includes any entity that
+    controls, is controlled by, or is under common control with You. For
+    purposes of this definition, "control" means (a) the power, direct
+    or indirect, to cause the direction or management of such entity,
+    whether by contract or otherwise, or (b) ownership of more than
+    fifty percent (50%) of the outstanding shares or beneficial
+    ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+    Licensable by such Contributor to use, reproduce, make available,
+    modify, display, perform, distribute, and otherwise exploit its
+    Contributions, either on an unmodified basis, with Modifications, or
+    as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+    for sale, have made, import, and otherwise transfer either its
+    Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+    or
+
+(b) for infringements caused by: (i) Your and any other third party's
+    modifications of Covered Software, or (ii) the combination of its
+    Contributions with other software (except as part of its Contributor
+    Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+    its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+    Form, as described in Section 3.1, and You must inform recipients of
+    the Executable Form how they can obtain a copy of such Source Code
+    Form by reasonable means in a timely manner, at a charge no more
+    than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+    License, or sublicense it under different terms, provided that the
+    license for the Executable Form does not attempt to limit or alter
+    the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+*                                                                      *
+*  6. Disclaimer of Warranty                                           *
+*  -------------------------                                           *
+*                                                                      *
+*  Covered Software is provided under this License on an "as is"       *
+*  basis, without warranty of any kind, either expressed, implied, or  *
+*  statutory, including, without limitation, warranties that the       *
+*  Covered Software is free of defects, merchantable, fit for a        *
+*  particular purpose or non-infringing. The entire risk as to the     *
+*  quality and performance of the Covered Software is with You.        *
+*  Should any Covered Software prove defective in any respect, You     *
+*  (not any Contributor) assume the cost of any necessary servicing,   *
+*  repair, or correction. This disclaimer of warranty constitutes an   *
+*  essential part of this License. No use of any Covered Software is   *
+*  authorized under this License except under this disclaimer.         *
+*                                                                      *
+************************************************************************
+
+************************************************************************
+*                                                                      *
+*  7. Limitation of Liability                                          *
+*  --------------------------                                          *
+*                                                                      *
+*  Under no circumstances and under no legal theory, whether tort      *
+*  (including negligence), contract, or otherwise, shall any           *
+*  Contributor, or anyone who distributes Covered Software as          *
+*  permitted above, be liable to You for any direct, indirect,         *
+*  special, incidental, or consequential damages of any character      *
+*  including, without limitation, damages for lost profits, loss of    *
+*  goodwill, work stoppage, computer failure or malfunction, or any    *
+*  and all other commercial damages or losses, even if such party      *
+*  shall have been informed of the possibility of such damages. This   *
+*  limitation of liability shall not apply to liability for death or   *
+*  personal injury resulting from such party's negligence to the       *
+*  extent applicable law prohibits such limitation. Some               *
+*  jurisdictions do not allow the exclusion or limitation of           *
+*  incidental or consequential damages, so this exclusion and          *
+*  limitation may not apply to You.                                    *
+*                                                                      *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+  This Source Code Form is subject to the terms of the Mozilla Public
+  License, v. 2.0. If a copy of the MPL was not distributed with this
+  file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+  This Source Code Form is "Incompatible With Secondary Licenses", as
+  defined by the Mozilla Public License, v. 2.0.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
 %% This notice is provided with respect to PC/SC Lite for Suse Linux v.1.1.1,
-which is included with JRE 7, JDK 7, and OpenJDK 7 on Linux and Solaris.
+which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
 
 --- begin of LICENSE ---
 
@@ -1257,8 +1903,30 @@
 
 -------------------------------------------------------------------------------
 
+%% This notice is provided with respect to PorterStemmer v4, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+See: http://tartarus.org/~martin/PorterStemmer
+
+The software is completely free for any purpose, unless notes at the head of
+the program text indicates otherwise (which is rare). In any case, the notes
+about licensing are never more restrictive than the BSD License.
+
+In every case where the software is not written by me (Martin Porter), this
+licensing arrangement has been endorsed by the contributor, and it is
+therefore unnecessary to ask the contributor again to confirm it.
+
+I have not asked any contributors (or their employers, if they have them) for
+proofs that they have the right to distribute their software in this way.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
 %% This notice is provided with respect to Relax NG Object/Parser v.20050510,
-which is included with JRE 7, JDK 7, and OpenJDK 7.
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1285,8 +1953,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to RelaxNGCC v1.12, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to RelaxNGCC v1.12, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1335,487 +2003,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Mozilla Rhino v1.7R3, which 
-is included with JRE 7, JDK 7, and OpenJDK 7
-
---- begin of LICENSE ---
-
-                          MOZILLA PUBLIC LICENSE
-                                Version 1.1
-
-                              ---------------
-
-1. Definitions.
-
-     1.0.1. "Commercial Use" means distribution or otherwise making the
-     Covered Code available to a third party.
-
-     1.1. "Contributor" means each entity that creates or contributes to
-     the creation of Modifications.
-
-     1.2. "Contributor Version" means the combination of the Original
-     Code, prior Modifications used by a Contributor, and the Modifications
-     made by that particular Contributor.
-
-     1.3. "Covered Code" means the Original Code or Modifications or the
-     combination of the Original Code and Modifications, in each case
-     including portions thereof.
-
-     1.4. "Electronic Distribution Mechanism" means a mechanism generally
-     accepted in the software development community for the electronic
-     transfer of data.
-
-     1.5. "Executable" means Covered Code in any form other than Source
-     Code.
-
-     1.6. "Initial Developer" means the individual or entity identified
-     as the Initial Developer in the Source Code notice required by Exhibit
-     A.
-
-     1.7. "Larger Work" means a work which combines Covered Code or
-     portions thereof with code not governed by the terms of this License.
-
-     1.8. "License" means this document.
-
-     1.8.1. "Licensable" means having the right to grant, to the maximum
-     extent possible, whether at the time of the initial grant or
-     subsequently acquired, any and all of the rights conveyed herein.
-
-     1.9. "Modifications" means any addition to or deletion from the
-     substance or structure of either the Original Code or any previous
-     Modifications. When Covered Code is released as a series of files, a
-     Modification is:
-          A. Any addition to or deletion from the contents of a file
-          containing Original Code or previous Modifications.
-
-          B. Any new file that contains any part of the Original Code or
-          previous Modifications.
-
-     1.10. "Original Code" means Source Code of computer software code
-     which is described in the Source Code notice required by Exhibit A as
-     Original Code, and which, at the time of its release under this
-     License is not already Covered Code governed by this License.
-
-     1.10.1. "Patent Claims" means any patent claim(s), now owned or
-     hereafter acquired, including without limitation,  method, process,
-     and apparatus claims, in any patent Licensable by grantor.
-
-     1.11. "Source Code" means the preferred form of the Covered Code for
-     making modifications to it, including all modules it contains, plus
-     any associated interface definition files, scripts used to control
-     compilation and installation of an Executable, or source code
-     differential comparisons against either the Original Code or another
-     well known, available Covered Code of the Contributor's choice. The
-     Source Code can be in a compressed or archival form, provided the
-     appropriate decompression or de-archiving software is widely available
-     for no charge.
-
-     1.12. "You" (or "Your")  means an individual or a legal entity
-     exercising rights under, and complying with all of the terms of, this
-     License or a future version of this License issued under Section 6.1.
-     For legal entities, "You" includes any entity which controls, is
-     controlled by, or is under common control with You. For purposes of
-     this definition, "control" means (a) the power, direct or indirect,
-     to cause the direction or management of such entity, whether by
-     contract or otherwise, or (b) ownership of more than fifty percent
-     (50%) of the outstanding shares or beneficial ownership of such
-     entity.
-
-2. Source Code License.
-
-     2.1. The Initial Developer Grant.
-     The Initial Developer hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Initial Developer to use, reproduce,
-          modify, display, perform, sublicense and distribute the Original
-          Code (or portions thereof) with or without Modifications, and/or
-          as part of a Larger Work; and
-
-          (b) under Patents Claims infringed by the making, using or
-          selling of Original Code, to make, have made, use, practice,
-          sell, and offer for sale, and/or otherwise dispose of the
-          Original Code (or portions thereof).
-
-          (c) the licenses granted in this Section 2.1(a) and (b) are
-          effective on the date Initial Developer first distributes
-          Original Code under the terms of this License.
-
-          (d) Notwithstanding Section 2.1(b) above, no patent license is
-          granted: 1) for code that You delete from the Original Code; 2)
-          separate from the Original Code;  or 3) for infringements caused
-          by: i) the modification of the Original Code or ii) the
-          combination of the Original Code with other software or devices.
-
-     2.2. Contributor Grant.
-     Subject to third party intellectual property claims, each Contributor
-     hereby grants You a world-wide, royalty-free, non-exclusive license
-
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Contributor, to use, reproduce, modify,
-          display, perform, sublicense and distribute the Modifications
-          created by such Contributor (or portions thereof) either on an
-          unmodified basis, with other Modifications, as Covered Code
-          and/or as part of a Larger Work; and
-
-          (b) under Patent Claims infringed by the making, using, or
-          selling of  Modifications made by that Contributor either alone
-          and/or in combination with its Contributor Version (or portions
-          of such combination), to make, use, sell, offer for sale, have
-          made, and/or otherwise dispose of: 1) Modifications made by that
-          Contributor (or portions thereof); and 2) the combination of
-          Modifications made by that Contributor with its Contributor
-          Version (or portions of such combination).
-
-          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-          effective on the date Contributor first makes Commercial Use of
-          the Covered Code.
-
-          (d)    Notwithstanding Section 2.2(b) above, no patent license is
-          granted: 1) for any code that Contributor has deleted from the
-          Contributor Version; 2)  separate from the Contributor Version;
-          3)  for infringements caused by: i) third party modifications of
-          Contributor Version or ii)  the combination of Modifications made
-          by that Contributor with other software  (except as part of the
-          Contributor Version) or other devices; or 4) under Patent Claims
-          infringed by Covered Code in the absence of Modifications made by
-          that Contributor.
-
-3. Distribution Obligations.
-
-     3.1. Application of License.
-     The Modifications which You create or to which You contribute are
-     governed by the terms of this License, including without limitation
-     Section 2.2. The Source Code version of Covered Code may be
-     distributed only under the terms of this License or a future version
-     of this License released under Section 6.1, and You must include a
-     copy of this License with every copy of the Source Code You
-     distribute. You may not offer or impose any terms on any Source Code
-     version that alters or restricts the applicable version of this
-     License or the recipients' rights hereunder. However, You may include
-     an additional document offering the additional rights described in
-     Section 3.5.
-
-     3.2. Availability of Source Code.
-     Any Modification which You create or to which You contribute must be
-     made available in Source Code form under the terms of this License
-     either on the same media as an Executable version or via an accepted
-     Electronic Distribution Mechanism to anyone to whom you made an
-     Executable version available; and if made available via Electronic
-     Distribution Mechanism, must remain available for at least twelve (12)
-     months after the date it initially became available, or at least six
-     (6) months after a subsequent version of that particular Modification
-     has been made available to such recipients. You are responsible for
-     ensuring that the Source Code version remains available even if the
-     Electronic Distribution Mechanism is maintained by a third party.
-
-     3.3. Description of Modifications.
-     You must cause all Covered Code to which You contribute to contain a
-     file documenting the changes You made to create that Covered Code and
-     the date of any change. You must include a prominent statement that
-     the Modification is derived, directly or indirectly, from Original
-     Code provided by the Initial Developer and including the name of the
-     Initial Developer in (a) the Source Code, and (b) in any notice in an
-     Executable version or related documentation in which You describe the
-     origin or ownership of the Covered Code.
-
-     3.4. Intellectual Property Matters
-          (a) Third Party Claims.
-          If Contributor has knowledge that a license under a third party's
-          intellectual property rights is required to exercise the rights
-          granted by such Contributor under Sections 2.1 or 2.2,
-          Contributor must include a text file with the Source Code
-          distribution titled "LEGAL" which describes the claim and the
-          party making the claim in sufficient detail that a recipient will
-          know whom to contact. If Contributor obtains such knowledge after
-          the Modification is made available as described in Section 3.2,
-          Contributor shall promptly modify the LEGAL file in all copies
-          Contributor makes available thereafter and shall take other steps
-          (such as notifying appropriate mailing lists or newsgroups)
-          reasonably calculated to inform those who received the Covered
-          Code that new knowledge has been obtained.
-
-          (b) Contributor APIs.
-          If Contributor's Modifications include an application programming
-          interface and Contributor has knowledge of patent licenses which
-          are reasonably necessary to implement that API, Contributor must
-          also include this information in the LEGAL file.
-
-               (c)    Representations.
-          Contributor represents that, except as disclosed pursuant to
-          Section 3.4(a) above, Contributor believes that Contributor's
-          Modifications are Contributor's original creation(s) and/or
-          Contributor has sufficient rights to grant the rights conveyed by
-          this License.
-
-     3.5. Required Notices.
-     You must duplicate the notice in Exhibit A in each file of the Source
-     Code.  If it is not possible to put such notice in a particular Source
-     Code file due to its structure, then You must include such notice in a
-     location (such as a relevant directory) where a user would be likely
-     to look for such a notice.  If You created one or more Modification(s)
-     You may add your name as a Contributor to the notice described in
-     Exhibit A.  You must also duplicate this License in any documentation
-     for the Source Code where You describe recipients' rights or ownership
-     rights relating to Covered Code.  You may choose to offer, and to
-     charge a fee for, warranty, support, indemnity or liability
-     obligations to one or more recipients of Covered Code. However, You
-     may do so only on Your own behalf, and not on behalf of the Initial
-     Developer or any Contributor. You must make it absolutely clear than
-     any such warranty, support, indemnity or liability obligation is
-     offered by You alone, and You hereby agree to indemnify the Initial
-     Developer and every Contributor for any liability incurred by the
-     Initial Developer or such Contributor as a result of warranty,
-     support, indemnity or liability terms You offer.
-
-     3.6. Distribution of Executable Versions.
-     You may distribute Covered Code in Executable form only if the
-     requirements of Section 3.1-3.5 have been met for that Covered Code,
-     and if You include a notice stating that the Source Code version of
-     the Covered Code is available under the terms of this License,
-     including a description of how and where You have fulfilled the
-     obligations of Section 3.2. The notice must be conspicuously included
-     in any notice in an Executable version, related documentation or
-     collateral in which You describe recipients' rights relating to the
-     Covered Code. You may distribute the Executable version of Covered
-     Code or ownership rights under a license of Your choice, which may
-     contain terms different from this License, provided that You are in
-     compliance with the terms of this License and that the license for the
-     Executable version does not attempt to limit or alter the recipient's
-     rights in the Source Code version from the rights set forth in this
-     License. If You distribute the Executable version under a different
-     license You must make it absolutely clear that any terms which differ
-     from this License are offered by You alone, not by the Initial
-     Developer or any Contributor. You hereby agree to indemnify the
-     Initial Developer and every Contributor for any liability incurred by
-     the Initial Developer or such Contributor as a result of any such
-     terms You offer.
-
-     3.7. Larger Works.
-     You may create a Larger Work by combining Covered Code with other code
-     not governed by the terms of this License and distribute the Larger
-     Work as a single product. In such a case, You must make sure the
-     requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-     If it is impossible for You to comply with any of the terms of this
-     License with respect to some or all of the Covered Code due to
-     statute, judicial order, or regulation then You must: (a) comply with
-     the terms of this License to the maximum extent possible; and (b)
-     describe the limitations and the code they affect. Such description
-     must be included in the LEGAL file described in Section 3.4 and must
-     be included with all distributions of the Source Code. Except to the
-     extent prohibited by statute or regulation, such description must be
-     sufficiently detailed for a recipient of ordinary skill to be able to
-     understand it.
-
-5. Application of this License.
-
-     This License applies to code to which the Initial Developer has
-     attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
-     6.1. New Versions.
-     Netscape Communications Corporation ("Netscape") may publish revised
-     and/or new versions of the License from time to time. Each version
-     will be given a distinguishing version number.
-
-     6.2. Effect of New Versions.
-     Once Covered Code has been published under a particular version of the
-     License, You may always continue to use it under the terms of that
-     version. You may also choose to use such Covered Code under the terms
-     of any subsequent version of the License published by Netscape. No one
-     other than Netscape has the right to modify the terms applicable to
-     Covered Code created under this License.
-
-     6.3. Derivative Works.
-     If You create or use a modified version of this License (which you may
-     only do in order to apply it to code which is not already Covered Code
-     governed by this License), You must (a) rename Your license so that
-     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
-     "MPL", "NPL" or any confusingly similar phrase do not appear in your
-     license (except to note that your license differs from this License)
-     and (b) otherwise make it clear that Your version of the license
-     contains terms which differ from the Mozilla Public License and
-     Netscape Public License. (Filling in the name of the Initial
-     Developer, Original Code or Contributor in the notice described in
-     Exhibit A shall not of themselves be deemed to be modifications of
-     this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
-     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
-     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
-     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
-     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
-     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-     8.1.  This License and the rights granted hereunder will terminate
-     automatically if You fail to comply with terms herein and fail to cure
-     such breach within 30 days of becoming aware of the breach. All
-     sublicenses to the Covered Code which are properly granted shall
-     survive any termination of this License. Provisions which, by their
-     nature, must remain in effect beyond the termination of this License
-     shall survive.
-
-     8.2.  If You initiate litigation by asserting a patent infringement
-     claim (excluding declatory judgment actions) against Initial Developer
-     or a Contributor (the Initial Developer or Contributor against whom
-     You file such action is referred to as "Participant")  alleging that:
-
-     (a)  such Participant's Contributor Version directly or indirectly
-     infringes any patent, then any and all rights granted by such
-     Participant to You under Sections 2.1 and/or 2.2 of this License
-     shall, upon 60 days notice from Participant terminate prospectively,
-     unless if within 60 days after receipt of notice You either: (i)
-     agree in writing to pay Participant a mutually agreeable reasonable
-     royalty for Your past and future use of Modifications made by such
-     Participant, or (ii) withdraw Your litigation claim with respect to
-     the Contributor Version against such Participant.  If within 60 days
-     of notice, a reasonable royalty and payment arrangement are not
-     mutually agreed upon in writing by the parties or the litigation claim
-     is not withdrawn, the rights granted by Participant to You under
-     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
-     the 60 day notice period specified above.
-
-     (b)  any software, hardware, or device, other than such Participant's
-     Contributor Version, directly or indirectly infringes any patent, then
-     any rights granted to You by such Participant under Sections 2.1(b)
-     and 2.2(b) are revoked effective as of the date You first made, used,
-     sold, distributed, or had made, Modifications made by that
-     Participant.
-
-     8.3.  If You assert a patent infringement claim against Participant
-     alleging that such Participant's Contributor Version directly or
-     indirectly infringes any patent where such claim is resolved (such as
-     by license or settlement) prior to the initiation of patent
-     infringement litigation, then the reasonable value of the licenses
-     granted by such Participant under Sections 2.1 or 2.2 shall be taken
-     into account in determining the amount or value of any payment or
-     license.
-
-     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
-     all end user license agreements (excluding distributors and resellers)
-     which have been validly granted by You or any distributor hereunder
-     prior to termination shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
-     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
-     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
-     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
-     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
-     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-     The Covered Code is a "commercial item," as that term is defined in
-     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
-     software" and "commercial computer software documentation," as such
-     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-     all U.S. Government End Users acquire Covered Code with only those
-     rights set forth herein.
-
-11. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject
-     matter hereof. If any provision of this License is held to be
-     unenforceable, such provision shall be reformed only to the extent
-     necessary to make it enforceable. This License shall be governed by
-     California law provisions (except to the extent applicable law, if
-     any, provides otherwise), excluding its conflict-of-law provisions.
-     With respect to disputes in which at least one party is a citizen of,
-     or an entity chartered or registered to do business in the United
-     States of America, any litigation relating to this License shall be
-     subject to the jurisdiction of the Federal Courts of the Northern
-     District of California, with venue lying in Santa Clara County,
-     California, with the losing party responsible for costs, including
-     without limitation, court costs and reasonable attorneys' fees and
-     expenses. The application of the United Nations Convention on
-     Contracts for the International Sale of Goods is expressly excluded.
-     Any law or regulation which provides that the language of a contract
-     shall be construed against the drafter shall not apply to this
-     License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-     As between Initial Developer and the Contributors, each party is
-     responsible for claims and damages arising, directly or indirectly,
-     out of its utilization of rights under this License and You agree to
-     work with Initial Developer and Contributors to distribute such
-     responsibility on an equitable basis. Nothing herein is intended or
-     shall be deemed to constitute any admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
-     Initial Developer may designate portions of the Covered Code as
-     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
-     Developer permits you to utilize portions of the Covered Code under
-     Your choice of the NPL or the alternative licenses, if any, specified
-     by the Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A - Mozilla Public License.
-
-     ``The contents of this file are subject to the Mozilla Public License
-     Version 1.1 (the "License"); you may not use this file except in
-     compliance with the License. You may obtain a copy of the License at
-     http://www.mozilla.org/MPL/
-
-     Software distributed under the License is distributed on an "AS IS"
-     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-     License for the specific language governing rights and limitations
-     under the License.
-
-     The Original Code is ______________________________________.
-
-     The Initial Developer of the Original Code is ________________________.
-     Portions created by ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-     Contributor(s): ______________________________________.
-
-     Alternatively, the contents of this file may be used under the terms
-     of the _____ license (the  "[___] License"), in which case the
-     provisions of [______] License are applicable instead of those
-     above.  If you wish to allow use of your version of this file only
-     under the terms of the [____] License and not to allow others to use
-     your version of this file under the MPL, indicate your decision by
-     deleting  the provisions above and replace  them with the notice and
-     other provisions required by the [___] License.  If you do not delete
-     the provisions above, a recipient may use your version of this file
-     under either the MPL or the [___] License."
-
-     [NOTE: The text of this Exhibit A may differ slightly from the text of
-     the notices in the Source Code files of the Original Code. You should
-     use the text of this Exhibit A rather than the text found in the
-     Original Code Source Code for Your Modifications.]
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to SAX 2.0.1, which is included 
-with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to SAX 2.0.1, which may be included 
+with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1876,8 +2065,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to SoftFloat version 2b, which is 
-included with JRE 7, JDK 7, and OpenJDK 7 on Linux/ARM.
+%% This notice is provided with respect to SoftFloat version 2b, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8 on Linux/ARM.
 
 --- begin of LICENSE ---
 
@@ -1909,12 +2098,41 @@
 
 -------------------------------------------------------------------------------
 
+%% This notice is provided with respect to Sparkle 1.5,
+which may be included with JRE 8 on Mac OS X.
+
+--- begin of LICENSE ---
+
+Copyright (c) 2012 Sparkle.org and Andy Matuschak
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
 %% Portions licensed from Taligent, Inc.
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Thai Dictionary, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to Thai Dictionary, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1947,8 +2165,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Unicode 6.0.0, CLDR v1.4.1, & CLDR
-v1.9, which is included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to Unicode 6.2.0 & CLDR 21.0.1
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1959,7 +2177,7 @@
 Trademark Usage Policy.
 
 A. Unicode Copyright.
-   1. Copyright © 1991-2011 Unicode, Inc. All rights reserved.
+   1. Copyright © 1991-2013 Unicode, Inc. All rights reserved.
 
    2. Certain documents and files on this website contain a legend indicating
       that "Modification is permitted." Any person is hereby authorized,
@@ -2094,7 +2312,7 @@
 
 COPYRIGHT AND PERMISSION NOTICE
 
-Copyright © 1991-2011 Unicode, Inc. All rights reserved. Distributed under the
+Copyright © 1991-2012 Unicode, Inc. All rights reserved. Distributed under the
 Terms of Use in http://www.unicode.org/copyright.html.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -2134,8 +2352,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to UPX v3.01, which is included 
-with JRE 7 on Windows.
+%% This notice is provided with respect to UPX v3.01, which may be included 
+with JRE 8 on Windows.
 
 --- begin of LICENSE ---
 
@@ -2274,7 +2492,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to Xfree86-VidMode Extension 1.0,
-which is included with JRE 7, JDK 7, and OpenJDK 7 on Linux and Solaris.
+which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
 
 --- begin of LICENSE ---
 
@@ -2326,8 +2544,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to X Window System 6.8.2, which is 
-included with JRE 7, JDK 7, and OpenJDK 7 on Linux and Solaris.
+%% This notice is provided with respect to X Window System 6.8.2, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
 
 --- begin of LICENSE ---
 
@@ -3131,12 +3349,12 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to zlib v1.2.3, which is included 
-with JRE 7, JDK 7, and OpenJDK 7
+%% This notice is provided with respect to zlib v1.2.5, which may be included 
+with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
-  version 1.2.3, July 18th, 2005
+  version 1.2.5, July 18th, 2005
 
   Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
 
@@ -3163,16 +3381,18 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to the following which is 
-included with JRE 7, JDK 7, and OpenJDK 7, except where noted:
-
-  Apache Derby 10.8.1.2        [included with JDK 7 only]
+%% This notice is provided with respect to the following which may be 
+included with JRE 8, JDK 8, and OpenJDK 8, except where noted:
+
+  Apache Commons Math 2.2
+  Apache Derby 10.10.1.2        [included with JDK 8]
   Apache Jakarta BCEL 5.2 
   Apache Jakarta Regexp 1.4 
-  Apache Santuario XMLSec-Java 1.4.2
+  Apache Santuario XML Security for Java 1.5.4
   Apache Xalan-Java 2.7.1 
-  Apache Xerces2 Java 2.10.0 
+  Apache Xerces Java 2.10.0 
   Apache XML Resolver 1.1 
+  Dynalink 0.5
 
 
 --- begin of LICENSE ---
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/BuildLangtools.gmk	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,205 @@
+#
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# This must be the first rule
+default: all
+
+include $(SPEC)
+include MakeBase.gmk
+include JavaCompilation.gmk
+
+# The BOOT_JAVAC setup uses the bootdir compiler to compile the tools
+# and the bootstrap javac, to be run by the bootdir jvm.
+$(eval $(call SetupJavaCompiler,BOOT_JAVAC, \
+    JAVAC := $(JAVAC), \
+    SERVER_DIR := $(SJAVAC_SERVER_DIR), \
+    SERVER_JVM := $(SJAVAC_SERVER_JAVA), \
+    FLAGS := -XDignore.symbol.file=true -g -Xlint:all$(COMMA)-deprecation -Werror))
+
+# javax.tools.JavaCompilerTool isn't really a suffix but this gets the file copied.
+RESOURCE_SUFFIXES := .gif .xml .css .js javax.tools.JavaCompilerTool
+
+# Now setup the compilation of the properties compilation tool. You can depend
+# upon $(BUILD_TOOLS) to trigger a compilation of the tools. Note that we
+# add src/share/classes to the sourcepath. This is necessary since the GenStubs
+# program needs to be linked and run towards the new javac sources.
+$(eval $(call SetupJavaCompilation,BUILD_TOOLS, \
+    SETUP := BOOT_JAVAC, \
+    DISABLE_SJAVAC := true, \
+    ADD_JAVAC_FLAGS := -Xprefer:source, \
+    SRC := $(LANGTOOLS_TOPDIR)/make/tools $(LANGTOOLS_TOPDIR)/src/share/classes, \
+    INCLUDES := compileproperties genstubs, \
+    BIN := $(LANGTOOLS_OUTPUTDIR)/btclasses))
+
+# The compileprops tools compiles a properties file into a resource bundle.
+TOOL_COMPILEPROPS_CMD := $(JAVA) -cp $(LANGTOOLS_OUTPUTDIR)/btclasses compileproperties.CompileProperties -quiet
+
+# Lookup the properties that need to be compiled into resource bundles.
+PROPSOURCES := $(shell $(FIND) $(LANGTOOLS_TOPDIR)/src/share/classes -name "*.properties")
+
+# Strip away prefix and suffix, leaving for example only: "com/sun/tools/javac/resources/javac_zh_CN"
+PROPPATHS := $(patsubst $(LANGTOOLS_TOPDIR)/src/share/classes/%.properties, %, $(PROPSOURCES))
+
+# Generate the list of java files to be created.
+PROPJAVAS := $(patsubst %, $(LANGTOOLS_OUTPUTDIR)/gensrc/%.java, $(PROPPATHS))
+
+# Generate the package dirs for the tobe generated java files.
+PROPDIRS := $(dir $(PROPJAVAS))
+
+# Now generate a sequence of "-compile ...javac_zh_CN.properties ...javac_zh_CN.java java.util.ListResourceBundle"
+# suitable to be fed into the CompileProperties command.
+PROPCMDLINE := $(subst _SPACE_, $(SPACE), $(join $(addprefix -compile_SPACE_, $(PROPSOURCES)), \
+    $(addsuffix _SPACE_java.util.ListResourceBundle, $(addprefix _SPACE_$(LANGTOOLS_OUTPUTDIR)/gensrc/, $(addsuffix .java, $(PROPPATHS))))))
+
+# Now setup the rule for the generation of the resource bundles.
+$(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d: $(PROPSOURCES) $(BUILD_TOOLS)
+	$(RM) -r $(@D)/*
+	$(MKDIR) -p $(@D) $(PROPDIRS)
+	$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties
+	$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties
+	$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties
+	$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties
+	$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javadoc/resources/version.properties
+	$(ECHO) Compiling $(words $(PROPSOURCES) v1 v2 v3) properties into resource bundles
+	$(TOOL_COMPILEPROPS_CMD) $(PROPCMDLINE) \
+	    -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties \
+	        $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.java \
+	        java.util.ListResourceBundle \
+	    -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties \
+	        $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.java \
+	        java.util.ListResourceBundle \
+	    -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties \
+	        $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.java \
+	        java.util.ListResourceBundle \
+	    -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties \
+	        $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.java \
+	        java.util.ListResourceBundle \
+	    -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javadoc/resources/version.properties \
+	        $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javadoc/resources/version.java \
+	        java.util.ListResourceBundle
+	$(ECHO) PROPS_ARE_CREATED = yes > $@
+
+# Trigger the generation of the resource bundles. After the resource bundles have
+# been compiled, then the makefile will restart and the newly created java files
+# will become part of the build further along in the makefile.
+-include $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d
+
+ifeq ($(PROPS_ARE_CREATED), yes)
+  # Setup the rules to build a dist/bootstrap/lib/javac.jar, ie a smaller intermediate javac
+  # that can be compiled with an old javac. The intermediate javac is then used
+  # to compile javac again and to build the complete new jdk.
+  $(eval $(call SetupJavaCompilation,BUILD_BOOTSTRAP_LANGTOOLS, \
+      SETUP := BOOT_JAVAC, \
+      DISABLE_SJAVAC := true, \
+      SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc, \
+      EXCLUDES := com/sun/tools/javac/nio, \
+      COPY := $(RESOURCE_SUFFIXES), \
+      BIN := $(LANGTOOLS_OUTPUTDIR)/btclasses/bootstrap))
+
+  $(eval $(call SetupArchive,ARCHIVE_BOOTSTRAP_JAVAC, $(BUILD_BOOTSTRAP_LANGTOOLS), \
+      SRCS := $(LANGTOOLS_OUTPUTDIR)/btclasses/bootstrap, \
+      JAR := $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar, \
+      SUFFIXES := .class $(RESOURCE_SUFFIXES)))
+
+  # GenStubs is used to bootstrap any dependencies from javac to the new JDK that is not
+  # yet built. It is currently not needed but might be again in the future. The following
+  # exercises the functionality to verify that it works.
+  TOOL_GENSTUBS_CMD = $(JAVA) \
+       "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \
+       -classpath $(LANGTOOLS_OUTPUTDIR)/btclasses \
+       genstubs.GenStubs
+
+  # We fetch source from the JDK...
+  JDKS = $(JDK_TOPDIR)/src/share/classes
+
+  # Build the list of classes to generate stubs from. java/util/function/Predicate.java isn't
+  # currently needed, but is used as a demo for now.
+
+  STUBSOURCES := $(shell $(FIND) $(JDKS) -name "*.java" | $(GREP) \
+      -e "$(JDKS)/java/util/function/Predicate.java")
+
+  # Rewrite the file names into class names because the GenStubs tool require this.
+  STUBCLASSES := $(subst /,., $(patsubst $(JDKS)/%.java, %, $(STUBSOURCES)))
+
+  # Now setup the build recipe for genstubs.
+  $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d: $(STUBSOURCES) $(BUILD_TOOLS) \
+      $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \
+      $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d
+	$(MKDIR) -p $(@D)
+	$(MKDIR) -p $(LANGTOOLS_OUTPUTDIR)/tmpstubs
+	$(ECHO) $(LOG_INFO) Generating stubs from JDK sources.
+	($(TOOL_GENSTUBS_CMD) -s $(LANGTOOLS_OUTPUTDIR)/tmpstubs -sourcepath $(JDKS) $(STUBCLASSES) && $(ECHO) STUBS_ARE_CREATED = yes > $@)
+	if $(DIFF) -x "_the*" -rq $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(LANGTOOLS_OUTPUTDIR)/genstubs > /dev/null 2>&1; then \
+	  $(ECHO) $(LOG_INFO) No changes in the stubs!; \
+	  $(RM) -r $(LANGTOOLS_OUTPUTDIR)/tmpstubs; \
+	else \
+	  $(ECHO) $(LOG_INFO) Changes in stubs detected!; \
+	  $(RM) -r $(@D); \
+	  $(MV) $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(@D); \
+	fi
+	$(ECHO) STUBS_ARE_CREATED = yes > $@
+
+  # Trigger a generation of the genstubs java source code and a restart
+  # of the makefile to make sure that the following build setup use the
+  # newly created java files.
+  -include $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d
+
+  ifeq ($(STUBS_ARE_CREATED), yes)
+    # Setup a compiler configuration using the intermediate javac in dist/bootstrap/lib/javac.jar
+    # that generates code for the new jdk that is being built.
+    # The code compiled by this compiler setup, cannot necessarily be run with the bootstrap jvm.
+    $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE, \
+        JVM := $(JAVA), \
+        JAVAC := "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \
+            -cp $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \
+            com.sun.tools.javac.Main, \
+        FLAGS := -XDignore.symbol.file=true -Xlint:all$(COMMA)-deprecation -Werror, \
+        SERVER_DIR := $(SJAVAC_SERVER_DIR), \
+        SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
+
+    $(eval $(call SetupJavaCompilation,BUILD_FULL_JAVAC, \
+        SETUP := GENERATE_NEWBYTECODE, \
+        SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc \
+            $(LANGTOOLS_OUTPUTDIR)/genstubs, \
+        EXCLUDES := java/util java/io java/nio, \
+        COPY := $(RESOURCE_SUFFIXES), \
+        BIN := $(LANGTOOLS_OUTPUTDIR)/classes))
+
+    $(eval $(call SetupArchive,ARCHIVE_FULL_JAVAC, $(BUILD_FULL_JAVAC), \
+        SETUP := GENERATE_NEWBYTECODE, \
+        SRCS := $(LANGTOOLS_OUTPUTDIR)/classes, \
+        SUFFIXES := .class $(RESOURCE_SUFFIXES), \
+        JAR := $(LANGTOOLS_OUTPUTDIR)/dist/lib/classes.jar))
+
+    $(eval $(call SetupZipArchive,ZIP_FULL_JAVAC_SOURCE, \
+        SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc, \
+        ZIP := $(LANGTOOLS_OUTPUTDIR)/dist/lib/src.zip))
+
+    all: $(LANGTOOLS_OUTPUTDIR)/dist/lib/classes.jar \
+        $(LANGTOOLS_OUTPUTDIR)/dist/lib/src.zip \
+        $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar
+
+  endif
+endif
--- a/make/Makefile	Mon Dec 23 13:00:24 2013 +0000
+++ b/make/Makefile	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,199 +23,27 @@
 # questions.
 #
 
-# Makefile for langtools: wrapper around Ant build.xml file
-
-#
-# On Solaris, the standard 'make' utility will not work with these makefiles.
-#    This little rule is only understood by Solaris make, and is harmless
-#    when seen by the GNU make tool. If using Solaris make, this causes the
-#    make command to fail.
-#
-SUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33
-
-#
-# Minimal platform defs
-# Need FullPath because we can't rely on gnumake abspath, until we use v3.81
-#
-
-SYSTEM_UNAME := $(shell uname)
-
-# Where is unwanted output to be delivered?
-# On Windows, MKS uses the special file "NUL", cygwin uses the customary unix file.
-ifeq ($(SYSTEM_UNAME), Windows_NT)
-DEV_NULL = NUL
+# Locate this Makefile
+ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), )
+  makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST))
 else
-DEV_NULL = /dev/null 
-endif
-
-ifneq (,$(findstring CYGWIN,$(SYSTEM_UNAME)))
-USING_CYGWIN = true
+  makefile_path := $(lastword $(MAKEFILE_LIST))
 endif
-
-ifdef USING_CYGWIN
-define FullPath
-$(shell cygpath -a -s -m $1 2> $(DEV_NULL))
-endef
-else
-define FullPath
-$(shell cd $1 2> $(DEV_NULL) && pwd)
-endef
-endif
-
-#
-# Makefile args
-#
+repo_dir := $(patsubst %/make/Makefile, %, $(makefile_path))
 
-ifdef QUIET
-  ANT_OPTIONS += -quiet
-endif
-
-ifdef VERBOSE
-  ANT_OPTIONS += -verbose -debug
-endif
+# What is the name of this subsystem (langtools, corba, etc)?
+subsystem_name := $(notdir $(repo_dir))
 
-ifdef JDK_VERSION
-  ANT_OPTIONS += -Djdk.version=$(JDK_VERSION)
-endif 
-
-ifdef FULL_VERSION
-  ANT_OPTIONS += -Dfull.version='$(FULL_VERSION)' # will contain spaces
-endif 
-
-ifdef MILESTONE
-ifneq ($(MILESTONE),fcs)
-  ANT_OPTIONS += -Dmilestone=$(MILESTONE)
+# Try to locate top-level makefile
+top_level_makefile := $(repo_dir)/../Makefile
+ifneq ($(wildcard $(top_level_makefile)), )
+  $(info Will run $(subsystem_name) target on top-level Makefile)
+  $(info WARNING: This is a non-recommended way of building!)
+  $(info ===================================================)
 else
-  ANT_OPTIONS += -Drelease=$(JDK_VERSION)
-endif
-endif
-
-ifdef BUILD_NUMBER
-  ANT_OPTIONS += -Dbuild.number=$(BUILD_NUMBER)
-else
-  ifdef JDK_BUILD_NUMBER
-    ANT_OPTIONS += -Dbuild.number=$(JDK_BUILD_NUMBER)
-  endif
-endif
-
-ifeq ($(VARIANT), DBG)
-  ANT_OPTIONS += -Djavac.debug=true
-else
-  ifeq ($(VARIANT), OPT)
-    ANT_OPTIONS += -Djavac.debug=false
-  endif
-endif
-
-ifeq ($(DEBUG_CLASSFILES), true)
-  ANT_OPTIONS += -Djavac.debug=true
-  ANT_OPTIONS += -Ddebug.classfiles=true
+  $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?)
+  $(error Build from top-level Makefile instead)
 endif
 
-# Note: jdk/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN)
-# and the somewhat misnamed CLASS_VERSION (-target NN)
-ifdef TARGET_CLASS_VERSION
-  ANT_OPTIONS += -Djavac.target=$(TARGET_CLASS_VERSION)
-else
-  ifdef JAVAC_TARGET_ARG 
-    ANT_OPTIONS += -Djavac.target=$(JAVAC_TARGET_ARG)
-  endif
-endif 
-
-ifdef SOURCE_LANGUAGE_VERSION
-  ANT_OPTIONS += -Djavac.source=$(SOURCE_LANGUAGE_VERSION)
-else
-  ifdef JAVAC_SOURCE_ARG 
-    ANT_OPTIONS += -Djavac.source=$(JAVAC_SOURCE_ARG)
-  endif
-endif 
-
-ifdef ALT_BOOTDIR
-  ANT_OPTIONS += -Dboot.java.home=$(ALT_BOOTDIR)
-  ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR)
-endif
-
-# To facilitate bootstrapping, much of langtools can be compiled with (just)
-# a boot JDK. However, some source files need to be compiled against 
-# new JDK API. In a bootstrap build, an import JDK may not be available,
-# so build.xml can also build against the source files in a jdk repo,
-# in which case it will automatically generate stub files for the new JDK API.
-ifdef JDK_TOPDIR
-  ANT_OPTIONS += -Dimport.jdk=$(JDK_TOPDIR)
-else 
-  ifdef ALT_JDK_TOPDIR
-    ANT_OPTIONS += -Dimport.jdk=$(ALT_JDK_TOPDIR)
-  else 
-    ifdef ALT_JDK_IMPORT_PATH
-      ANT_OPTIONS += -Dimport.jdk=$(ALT_JDK_IMPORT_PATH)
-    endif
-  endif
-endif
-
-ifdef ALT_OUTPUTDIR
-  OUTPUTDIR = $(ALT_OUTPUTDIR)
-  ANT_OPTIONS += -Dbuild.dir=$(ALT_OUTPUTDIR)/build
-  ANT_OPTIONS += -Ddist.dir=$(ALT_OUTPUTDIR)/dist
-else
-  OUTPUTDIR = ..
-endif
-#ABS_OUTPUTDIR = $(abspath $(OUTPUTDIR))
-ABS_OUTPUTDIR = $(call FullPath,$(OUTPUTDIR))
-
-ANT_TMPDIR = $(ABS_OUTPUTDIR)/build/ant-tmp
-ANT_OPTS = ANT_OPTS=-Djava.io.tmpdir='$(ANT_TMPDIR)'
-
-ifdef FINDBUGS_HOME
-  ANT_OPTIONS += -Dfindbugs.home=$(FINDBUGS_HOME)
-endif
-
-ifdef ANT_HOME
-  ANT = $(ANT_HOME)/bin/ant
-  ifneq ($(shell test -x $(ANT) && echo OK), OK)
-    $(error $(ANT) not found -- please update ANT_HOME)
-  endif
-else
-  ANT = ant
-  ifneq ($(shell test -x "`which $(ANT)`" && echo OK), OK)
-    $(error 'ant' not found -- please set ANT_HOME or put 'ant' on your PATH)
-  endif
-endif
-
-# Default target and expected 'do everything' target
-all: build
-
-# Standard make clobber target
-clobber: clean
-
-# All ant targets of interest
-ANT_TARGETS = build clean sanity post-sanity diagnostics build-all-tools  # for now
-
-# Create diagnostics log (careful, ant 1.8.0 -diagnostics always does an exit 1)
-$(OUTPUTDIR)/build/ant-diagnostics.log:
-	@mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR)
-	@$(RM) $@
-	$(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -diagnostics > $@ ; \
-	  $(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) -version >> $@
-
-# Create a make target for each
-$(ANT_TARGETS): $(OUTPUTDIR)/build/ant-diagnostics.log
-	@ mkdir -p $(OUTPUTDIR)/build $(ANT_TMPDIR)
-	$(ANT_JAVA_HOME) $(ANT_OPTS) $(ANT) $(ANT_OPTIONS) $@
-
-#-------------------------------------------------------------------
-#
-# Targets for Oracle's internal JPRT build system
-
-CD = cd
-ZIP = zip
-
-JPRT_ARCHIVE_BUNDLE=$(ABS_OUTPUTDIR)/$(JPRT_BUILD_FLAVOR)-bundle.zip
-
-jprt_build_product jprt_build_debug jprt_build_fastdebug: all
-	( $(CD) $(OUTPUTDIR) && \
-	  $(ZIP) -q -r $(JPRT_ARCHIVE_BUNDLE) build dist )
-
-#-------------------------------------------------------------------
-
-# Declare these phony (not filenames)
-.PHONY: $(ANT_TARGETS) all clobber \
-	jprt_build_product jprt_build_debug jprt_build_fastdebug
+all:
+	@$(MAKE) -f $(top_level_makefile) $(subsystem_name)
--- a/make/jprt.properties	Mon Dec 23 13:00:24 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-#
-# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# Properties for jprt
-
-# Locked down to jdk8
-jprt.tools.default.release=jdk8
-
-# The different build flavors we want, we override here so we just get these 2
-jprt.build.flavors=product,fastdebug
-
-# Standard list of jprt build targets for this source tree
-jprt.build.targets=                                             \
-    solaris_sparcv9_5.10-{product|fastdebug},                   \
-    solaris_x64_5.10-{product|fastdebug},                       \
-    linux_i586_2.6-{product|fastdebug},                         \
-    linux_x64_2.6-{product|fastdebug},                          \
-    macosx_x64_10.7-{product|fastdebug},                        \
-    windows_i586_6.1-{product|fastdebug},                       \
-    windows_x64_6.1-{product|fastdebug}
-
-# Test target list (no fastdebug & limited c2 testing)
-jprt.my.test.target.set= 					\
-    solaris_sparcv9_5.10-product-c2-TESTNAME,                   \
-    solaris_x64_5.10-product-c2-TESTNAME,                       \
-    linux_i586_2.6-product-{c1|c2}-TESTNAME,                    \
-    linux_x64_2.6-product-c2-TESTNAME,                          \
-    macosx_x64_10.7-product-c2-TESTNAME,                        \
-    windows_i586_6.1-product-c1-TESTNAME,                       \
-    windows_x64_6.1-product-c2-TESTNAME
-
-# Default test targets
-jprt.make.rule.test.targets=					\
-    ${jprt.my.test.target.set:TESTNAME=jtreg}
-
-# Directories to be excluded from the source bundles
-jprt.bundle.exclude.src.dirs=build dist webrev
-
-# Test target list (no fastdebug & limited c2 testing)
-jprt.my.test.target.set= 					\
-    solaris_sparcv9_5.10-product-c2-TESTNAME,                   \
-    solaris_x64_5.10-product-c2-TESTNAME,                       \
-    linux_i586_2.6-product-{c1|c2}-TESTNAME,                    \
-    linux_x64_2.6-product-c2-TESTNAME,                          \
-    macosx_x64_10.7-product-c2-TESTNAME,                        \
-    windows_i586_6.1-product-c1-TESTNAME,                       \
-    windows_x64_6.1-product-c2-TESTNAME
-
-# Default test targets
-jprt.make.rule.test.targets=					\
-    ${jprt.my.test.target.set:TESTNAME=jtreg}
--- a/makefiles/BuildLangtools.gmk	Mon Dec 23 13:00:24 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# This must be the first rule
-default: all
-
-include $(SPEC)
-include MakeBase.gmk
-include JavaCompilation.gmk
-
-# The BOOT_JAVAC setup uses the bootdir compiler to compile the tools
-# and the bootstrap javac, to be run by the bootdir jvm.
-$(eval $(call SetupJavaCompiler,BOOT_JAVAC, \
-    JAVAC := $(JAVAC), \
-    SERVER_DIR := $(SJAVAC_SERVER_DIR), \
-    SERVER_JVM := $(SJAVAC_SERVER_JAVA), \
-    FLAGS := -XDignore.symbol.file=true -g -Xlint:all$(COMMA)-deprecation -Werror))
-
-# javax.tools.JavaCompilerTool isn't really a suffix but this gets the file copied.
-RESOURCE_SUFFIXES := .gif .xml .css .js javax.tools.JavaCompilerTool
-
-# Now setup the compilation of the properties compilation tool. You can depend
-# upon $(BUILD_TOOLS) to trigger a compilation of the tools. Note that we
-# add src/share/classes to the sourcepath. This is necessary since the GenStubs
-# program needs to be linked and run towards the new javac sources.
-$(eval $(call SetupJavaCompilation,BUILD_TOOLS, \
-    SETUP := BOOT_JAVAC, \
-    DISABLE_SJAVAC := true, \
-    ADD_JAVAC_FLAGS := -Xprefer:source, \
-    SRC := $(LANGTOOLS_TOPDIR)/make/tools $(LANGTOOLS_TOPDIR)/src/share/classes, \
-    INCLUDES := compileproperties genstubs, \
-    BIN := $(LANGTOOLS_OUTPUTDIR)/btclasses))
-
-# The compileprops tools compiles a properties file into a resource bundle.
-TOOL_COMPILEPROPS_CMD := $(JAVA) -cp $(LANGTOOLS_OUTPUTDIR)/btclasses compileproperties.CompileProperties -quiet
-
-# Lookup the properties that need to be compiled into resource bundles.
-PROPSOURCES := $(shell $(FIND) $(LANGTOOLS_TOPDIR)/src/share/classes -name "*.properties")
-
-# Strip away prefix and suffix, leaving for example only: "com/sun/tools/javac/resources/javac_zh_CN"
-PROPPATHS := $(patsubst $(LANGTOOLS_TOPDIR)/src/share/classes/%.properties, %, $(PROPSOURCES))
-
-# Generate the list of java files to be created.
-PROPJAVAS := $(patsubst %, $(LANGTOOLS_OUTPUTDIR)/gensrc/%.java, $(PROPPATHS))
-
-# Generate the package dirs for the tobe generated java files.
-PROPDIRS := $(dir $(PROPJAVAS))
-
-# Now generate a sequence of "-compile ...javac_zh_CN.properties ...javac_zh_CN.java java.util.ListResourceBundle"
-# suitable to be fed into the CompileProperties command.
-PROPCMDLINE := $(subst _SPACE_, $(SPACE), $(join $(addprefix -compile_SPACE_, $(PROPSOURCES)), \
-    $(addsuffix _SPACE_java.util.ListResourceBundle, $(addprefix _SPACE_$(LANGTOOLS_OUTPUTDIR)/gensrc/, $(addsuffix .java, $(PROPPATHS))))))
-
-# Now setup the rule for the generation of the resource bundles.
-$(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d: $(PROPSOURCES) $(BUILD_TOOLS)
-	$(RM) -r $(@D)/*
-	$(MKDIR) -p $(@D) $(PROPDIRS)
-	$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties
-	$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties
-	$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties
-	$(PRINTF) "jdk=$(JDK_VERSION)\nfull=$(FULL_VERSION)\nrelease=$(RELEASE)\n" > $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties
-	$(ECHO) Compiling $(words $(PROPSOURCES) v1 v2 v3) properties into resource bundles
-	$(TOOL_COMPILEPROPS_CMD) $(PROPCMDLINE) \
-	    -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.properties \
-	        $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javah/resources/version.java \
-	        java.util.ListResourceBundle \
-	    -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.properties \
-	        $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javap/resources/version.java \
-	        java.util.ListResourceBundle \
-	    -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.properties \
-	        $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/javac/resources/version.java \
-	        java.util.ListResourceBundle \
-	    -compile $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.properties \
-	        $(LANGTOOLS_OUTPUTDIR)/gensrc/com/sun/tools/jdeps/resources/version.java \
-	        java.util.ListResourceBundle
-	$(ECHO) PROPS_ARE_CREATED = yes > $@
-
-# Trigger the generation of the resource bundles. After the resource bundles have
-# been compiled, then the makefile will restart and the newly created java files
-# will become part of the build further along in the makefile.
--include $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d
-
-ifeq ($(PROPS_ARE_CREATED), yes)
-  # Setup the rules to build a dist/bootstrap/lib/javac.jar, ie a smaller intermediate javac
-  # that can be compiled with an old javac. The intermediate javac is then used
-  # to compile javac again and to build the complete new jdk.
-  $(eval $(call SetupJavaCompilation,BUILD_BOOTSTRAP_LANGTOOLS, \
-      SETUP := BOOT_JAVAC, \
-      DISABLE_SJAVAC := true, \
-      SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc, \
-      EXCLUDES := com/sun/tools/javac/nio, \
-      COPY := $(RESOURCE_SUFFIXES), \
-      BIN := $(LANGTOOLS_OUTPUTDIR)/btclasses/bootstrap))
-
-  $(eval $(call SetupArchive,ARCHIVE_BOOTSTRAP_JAVAC, $(BUILD_BOOTSTRAP_LANGTOOLS), \
-      SRCS := $(LANGTOOLS_OUTPUTDIR)/btclasses/bootstrap, \
-      JAR := $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar, \
-      SUFFIXES := .class $(RESOURCE_SUFFIXES)))
-
-  # GenStubs is used to bootstrap any dependencies from javac to the new JDK that is not
-  # yet built. It is currently not needed but might be again in the future. The following
-  # exercises the functionality to verify that it works.
-  TOOL_GENSTUBS_CMD = $(JAVA) \
-       "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \
-       -classpath $(LANGTOOLS_OUTPUTDIR)/btclasses \
-       genstubs.GenStubs
-
-  # We fetch source from the JDK...
-  JDKS = $(JDK_TOPDIR)/src/share/classes
-
-  # Build the list of classes to generate stubs from. java/util/function/Predicate.java isn't
-  # currently needed, but is used as a demo for now.
-
-  STUBSOURCES := $(shell $(FIND) $(JDKS) -name "*.java" | $(GREP) \
-      -e "$(JDKS)/java/util/function/Predicate.java")
-
-  # Rewrite the file names into class names because the GenStubs tool require this.
-  STUBCLASSES := $(subst /,., $(patsubst $(JDKS)/%.java, %, $(STUBSOURCES)))
-
-  # Now setup the build recipe for genstubs.
-  $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d: $(STUBSOURCES) $(BUILD_TOOLS) \
-      $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \
-      $(LANGTOOLS_OUTPUTDIR)/gensrc/_the_props.d
-	$(MKDIR) -p $(@D)
-	$(MKDIR) -p $(LANGTOOLS_OUTPUTDIR)/tmpstubs
-	$(ECHO) $(LOG_INFO) Generating stubs from JDK sources.
-	($(TOOL_GENSTUBS_CMD) -s $(LANGTOOLS_OUTPUTDIR)/tmpstubs -sourcepath $(JDKS) $(STUBCLASSES) && $(ECHO) STUBS_ARE_CREATED = yes > $@)
-	if $(DIFF) -x "_the*" -rq $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(LANGTOOLS_OUTPUTDIR)/genstubs > /dev/null 2>&1; then \
-	  $(ECHO) $(LOG_INFO) No changes in the stubs!; \
-	  $(RM) -r $(LANGTOOLS_OUTPUTDIR)/tmpstubs; \
-	else \
-	  $(ECHO) $(LOG_INFO) Changes in stubs detected!; \
-	  $(RM) -r $(@D); \
-	  $(MV) $(LANGTOOLS_OUTPUTDIR)/tmpstubs $(@D); \
-	fi
-	$(ECHO) STUBS_ARE_CREATED = yes > $@
-
-  # Trigger a generation of the genstubs java source code and a restart
-  # of the makefile to make sure that the following build setup use the
-  # newly created java files.
-  -include $(LANGTOOLS_OUTPUTDIR)/genstubs/_the_stubs.d
-
-  ifeq ($(STUBS_ARE_CREATED), yes)
-    # Setup a compiler configuration using the intermediate javac in dist/bootstrap/lib/javac.jar
-    # that generates code for the new jdk that is being built.
-    # The code compiled by this compiler setup, cannot necessarily be run with the bootstrap jvm.
-    $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE, \
-        JVM := $(JAVA), \
-        JAVAC := "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \
-            -cp $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \
-            com.sun.tools.javac.Main, \
-        FLAGS := -XDignore.symbol.file=true -Xlint:all$(COMMA)-deprecation -Werror, \
-        SERVER_DIR := $(SJAVAC_SERVER_DIR), \
-        SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
-
-    $(eval $(call SetupJavaCompilation,BUILD_FULL_JAVAC, \
-        SETUP := GENERATE_NEWBYTECODE, \
-        SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc \
-            $(LANGTOOLS_OUTPUTDIR)/genstubs, \
-        EXCLUDES := java/util java/io java/nio, \
-        COPY := $(RESOURCE_SUFFIXES), \
-        BIN := $(LANGTOOLS_OUTPUTDIR)/classes))
-
-    $(eval $(call SetupArchive,ARCHIVE_FULL_JAVAC, $(BUILD_FULL_JAVAC), \
-        SETUP := GENERATE_NEWBYTECODE, \
-        SRCS := $(LANGTOOLS_OUTPUTDIR)/classes, \
-        SUFFIXES := .class $(RESOURCE_SUFFIXES), \
-        JAR := $(LANGTOOLS_OUTPUTDIR)/dist/lib/classes.jar))
-
-    $(eval $(call SetupZipArchive,ZIP_FULL_JAVAC_SOURCE, \
-        SRC := $(LANGTOOLS_TOPDIR)/src/share/classes $(LANGTOOLS_OUTPUTDIR)/gensrc, \
-        ZIP := $(LANGTOOLS_OUTPUTDIR)/dist/lib/src.zip))
-
-    all: $(LANGTOOLS_OUTPUTDIR)/dist/lib/classes.jar \
-        $(LANGTOOLS_OUTPUTDIR)/dist/lib/src.zip \
-        $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar
-
-  endif
-endif
--- a/makefiles/Makefile	Mon Dec 23 13:00:24 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-#
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# This code is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 only, as
-# published by the Free Software Foundation.  Oracle designates this
-# particular file as subject to the "Classpath" exception as provided
-# by Oracle in the LICENSE file that accompanied this code.
-#
-# This code is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# version 2 for more details (a copy is included in the LICENSE file that
-# accompanied this code).
-#
-# You should have received a copy of the GNU General Public License version
-# 2 along with this work; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-# or visit www.oracle.com if you need additional information or have any
-# questions.
-#
-
-# Locate this Makefile
-ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), )
-  makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST))
-else
-  makefile_path := $(lastword $(MAKEFILE_LIST))
-endif
-repo_dir := $(patsubst %/makefiles/Makefile, %, $(makefile_path))
-
-# What is the name of this subsystem (langtools, corba, etc)?
-subsystem_name := $(notdir $(repo_dir))
-
-# Try to locate top-level makefile
-top_level_makefile := $(repo_dir)/../common/makefiles/Makefile
-ifneq ($(wildcard $(top_level_makefile)), )
-  $(info Will run $(subsystem_name) target on top-level Makefile)
-  $(info WARNING: This is a non-recommended way of building!)
-  $(info ===================================================)
-else
-  $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?)
-  $(error Build from top-level Makefile instead)
-endif
-
-all:
-	@$(MAKE) -f $(top_level_makefile) $(subsystem_name)
--- a/src/share/classes/com/sun/javadoc/AnnotationDesc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/javadoc/AnnotationDesc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/javadoc/ClassDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/javadoc/ClassDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -66,12 +66,6 @@
     boolean isExternalizable();
 
     /**
-     * Return true if this class can be used as a target type of a lambda expression
-     * or method reference.
-     */
-    boolean isFunctionalInterface();
-
-    /**
      * Return the serialization methods for this class or
      * interface.
      *
--- a/src/share/classes/com/sun/source/doctree/package-info.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/source/doctree/package-info.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/classfile/AccessFlags.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/classfile/AccessFlags.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/classfile/Dependencies.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/classfile/Dependencies.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/classfile/MethodParameters_attribute.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/ClassWriterImpl.java	Thu Feb 06 16:12:26 2014 +0000
@@ -29,6 +29,7 @@
 
 import com.sun.javadoc.*;
 import com.sun.tools.javac.jvm.Profile;
+import com.sun.tools.javadoc.RootDocImpl;
 import com.sun.tools.doclets.formats.html.markup.*;
 import com.sun.tools.doclets.internal.toolkit.*;
 import com.sun.tools.doclets.internal.toolkit.builders.*;
@@ -529,7 +530,7 @@
      * {@inheritDoc}
      */
     public void addFunctionalInterfaceInfo (Content classInfoTree) {
-        if (classDoc.isFunctionalInterface()) {
+        if (isFunctionalInterface()) {
             Content dt = HtmlTree.DT(getResource("doclet.Functional_Interface"));
             Content dl = HtmlTree.DL(dt);
             Content dd = new HtmlTree(HtmlTag.DD);
@@ -539,6 +540,19 @@
         }
     }
 
+    public boolean isFunctionalInterface() {
+        if (configuration.root instanceof RootDocImpl) {
+            RootDocImpl root = (RootDocImpl) configuration.root;
+            AnnotationDesc[] annotationDescList = classDoc.annotations();
+            for (AnnotationDesc annoDesc : annotationDescList) {
+                if (root.isFunctionalInterface(annoDesc)) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
     /**
      * {@inheritDoc}
      */
--- a/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/ConfigurationImpl.java	Thu Feb 06 16:12:26 2014 +0000
@@ -204,12 +204,27 @@
             "com.sun.tools.doclets.formats.html.resources.standard");
     }
 
+    private final String versionRBName = "com.sun.tools.javadoc.resources.version";
+    private ResourceBundle versionRB;
+
     /**
      * Return the build date for the doclet.
      */
     @Override
     public String getDocletSpecificBuildDate() {
-        return BUILD_DATE;
+        if (versionRB == null) {
+            try {
+                versionRB = ResourceBundle.getBundle(versionRBName);
+            } catch (MissingResourceException e) {
+                return BUILD_DATE;
+            }
+        }
+
+        try {
+            return versionRB.getString("release");
+        } catch (MissingResourceException e) {
+            return BUILD_DATE;
+        }
     }
 
     /**
--- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDoclet.java	Thu Feb 06 16:12:26 2014 +0000
@@ -115,12 +115,6 @@
         boolean nodeprecated = configuration.nodeprecated;
         performCopy(configuration.helpfile);
         performCopy(configuration.stylesheetfile);
-        copyResourceFile("background.gif");
-        copyResourceFile("tab.gif");
-        copyResourceFile("titlebar.gif");
-        copyResourceFile("titlebar_end.gif");
-        copyResourceFile("activetitlebar.gif");
-        copyResourceFile("activetitlebar_end.gif");
         // do early to reduce memory footprint
         if (configuration.classuse) {
             ClassUseWriter.generate(configuration, classtree);
@@ -314,16 +308,6 @@
         return docletToStart.configuration.validOptions(options, reporter);
     }
 
-    /**
-     * Copy a file in the resources directory to the destination directory.
-     * @param resource   The name of the resource file to copy
-     */
-    private void copyResourceFile(String resource) {
-        DocPath p = DocPaths.RESOURCES.resolve(resource);
-        DocFile f = DocFile.createFileForOutput(configuration, p);
-        f.copyResource(p, false, false);
-    }
-
     private void performCopy(String filename) {
         if (filename.isEmpty())
             return;
--- a/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Thu Feb 06 16:12:26 2014 +0000
@@ -148,43 +148,28 @@
         StringBuilder buf = new StringBuilder();
         int previndex = 0;
         while (true) {
-            if (configuration.docrootparent.length() > 0) {
-                final String docroot_parent = "{@docroot}/..";
-                // Search for lowercase version of {@docRoot}/..
-                index = lowerHtml.indexOf(docroot_parent, previndex);
-                // If next {@docRoot}/.. pattern not found, append rest of htmlstr and exit loop
-                if (index < 0) {
-                    buf.append(htmlstr.substring(previndex));
-                    break;
-                }
-                // If next {@docroot}/.. pattern found, append htmlstr up to start of tag
-                buf.append(htmlstr.substring(previndex, index));
-                previndex = index + docroot_parent.length();
-                // Insert docrootparent absolute path where {@docRoot}/.. was located
-
+            final String docroot = "{@docroot}";
+            // Search for lowercase version of {@docRoot}
+            index = lowerHtml.indexOf(docroot, previndex);
+            // If next {@docRoot} tag not found, append rest of htmlstr and exit loop
+            if (index < 0) {
+                buf.append(htmlstr.substring(previndex));
+                break;
+            }
+            // If next {@docroot} tag found, append htmlstr up to start of tag
+            buf.append(htmlstr.substring(previndex, index));
+            previndex = index + docroot.length();
+            if (configuration.docrootparent.length() > 0 && htmlstr.startsWith("/..", previndex)) {
+                // Insert the absolute link if {@docRoot} is followed by "/..".
                 buf.append(configuration.docrootparent);
-                // Append slash if next character is not a slash
-                if (previndex < htmlstr.length() && htmlstr.charAt(previndex) != '/') {
-                    buf.append('/');
-                }
+                previndex += 3;
             } else {
-                final String docroot = "{@docroot}";
-                // Search for lowercase version of {@docRoot}
-                index = lowerHtml.indexOf(docroot, previndex);
-                // If next {@docRoot} tag not found, append rest of htmlstr and exit loop
-                if (index < 0) {
-                    buf.append(htmlstr.substring(previndex));
-                    break;
-                }
-                // If next {@docroot} tag found, append htmlstr up to start of tag
-                buf.append(htmlstr.substring(previndex, index));
-                previndex = index + docroot.length();
                 // Insert relative path where {@docRoot} was located
                 buf.append(pathToRoot.isEmpty() ? "." : pathToRoot.getPath());
-                // Append slash if next character is not a slash
-                if (previndex < htmlstr.length() && htmlstr.charAt(previndex) != '/') {
-                    buf.append('/');
-                }
+            }
+            // Append slash if next character is not a slash
+            if (previndex < htmlstr.length() && htmlstr.charAt(previndex) != '/') {
+                buf.append('/');
             }
         }
         return buf.toString();
@@ -1378,7 +1363,7 @@
             return new ContentBuilder();
         }
 
-        String seetext = replaceDocRootDir(see.text());
+        String seetext = replaceDocRootDir(Util.normalizeNewlines(see.text()));
 
         //Check if @see is an href or "string"
         if (seetext.startsWith("<") || seetext.startsWith("\"")) {
@@ -1604,26 +1589,30 @@
                 result.addContent(seeTagToContent((SeeTag) tagelem));
             } else if (! tagName.equals("Text")) {
                 boolean wasEmpty = result.isEmpty();
-                Content output = TagletWriter.getInlineTagOuput(
-                    configuration.tagletManager, holderTag,
-                    tagelem, getTagletWriterInstance(isFirstSentence));
+                Content output;
+                if (configuration.docrootparent.length() > 0
+                        && tagelem.name().equals("@docRoot")
+                        && ((tags[i + 1]).text()).startsWith("/..")) {
+                    // If Xdocrootparent switch ON, set the flag to remove the /.. occurrence after
+                    // {@docRoot} tag in the very next Text tag.
+                    textTagChange = true;
+                    // Replace the occurrence of {@docRoot}/.. with the absolute link.
+                    output = new StringContent(configuration.docrootparent);
+                } else {
+                    output = TagletWriter.getInlineTagOuput(
+                            configuration.tagletManager, holderTag,
+                            tagelem, getTagletWriterInstance(isFirstSentence));
+                }
                 if (output != null)
                     result.addContent(output);
                 if (wasEmpty && isFirstSentence && tagelem.name().equals("@inheritDoc") && !result.isEmpty()) {
                     break;
-                } else if (configuration.docrootparent.length() > 0 &&
-                        tagelem.name().equals("@docRoot") &&
-                        ((tags[i + 1]).text()).startsWith("/..")) {
-                    //If Xdocrootparent switch ON, set the flag to remove the /.. occurance after
-                    //{@docRoot} tag in the very next Text tag.
-                    textTagChange = true;
-                    continue;
                 } else {
                     continue;
                 }
             } else {
                 String text = tagelem.text();
-                //If Xdocrootparent switch ON, remove the /.. occurance after {@docRoot} tag.
+                //If Xdocrootparent switch ON, remove the /.. occurrence after {@docRoot} tag.
                 if (textTagChange) {
                     text = text.replaceFirst("/..", "");
                     textTagChange = false;
--- a/src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/LinkOutputImpl.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/TagletWriterImpl.java	Thu Feb 06 16:12:26 2014 +0000
@@ -80,9 +80,7 @@
      */
     public Content getDocRootOutput() {
         String path;
-        if (configuration.docrootparent.length() > 0)
-            path = configuration.docrootparent;
-        else if (htmlWriter.pathToRoot.isEmpty())
+        if (htmlWriter.pathToRoot.isEmpty())
             path = ".";
         else
             path = htmlWriter.pathToRoot.getPath();
--- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlAttr.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlDocWriter.java	Thu Feb 06 16:12:26 2014 +0000
@@ -331,7 +331,7 @@
         if (timestamp) {
             Calendar calendar = new GregorianCalendar(TimeZone.getDefault());
             Date today = calendar.getTime();
-            text += " ("+ ConfigurationImpl.BUILD_DATE + ") on " + today;
+            text += " ("+ configuration.getDocletSpecificBuildDate() + ") on " + today;
         }
         return new Comment(text);
     }
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/activetitlebar.gif has changed
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/activetitlebar_end.gif has changed
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/background.gif has changed
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -134,6 +134,7 @@
 doclet.Groupname_already_used=-group\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u304A\u3044\u3066\u3001\u3059\u3067\u306B\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}
 doclet.value_tag_invalid_reference={0}(@value\u30BF\u30B0\u306B\u3088\u308A\u53C2\u7167\u3055\u308C\u3066\u3044\u308B)\u306F\u4E0D\u660E\u306A\u53C2\u7167\u3067\u3059\u3002
 doclet.value_tag_invalid_constant=@value\u30BF\u30B0({0}\u3092\u53C2\u7167\u3057\u3066\u3044\u308B)\u306F\u5B9A\u6570\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
+doclet.value_tag_invalid_use=@value\u30BF\u30B0\u306F\u3053\u3053\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
 doclet.dest_dir_create=\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u4F5C\u6210\u4E2D: "{0}"
 doclet.in={1}\u306E{0}
 doclet.Use_Table_Summary=\u8868\u3001{0}\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073\u8AAC\u660E\u306E\u4F7F\u7528
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -134,6 +134,7 @@
 doclet.Groupname_already_used=\u5728 -group \u9009\u9879\u4E2D, groupname \u5DF2\u4F7F\u7528: {0}
 doclet.value_tag_invalid_reference={0} (\u7531 @value \u6807\u8BB0\u5F15\u7528) \u4E3A\u672A\u77E5\u5F15\u7528\u3002
 doclet.value_tag_invalid_constant=@value \u6807\u8BB0 (\u5F15\u7528{0}) \u53EA\u80FD\u5728\u5E38\u91CF\u4E2D\u4F7F\u7528\u3002
+doclet.value_tag_invalid_use=\u6B64\u5904\u4E0D\u80FD\u4F7F\u7528 @value \u6807\u8BB0\u3002
 doclet.dest_dir_create=\u6B63\u5728\u521B\u5EFA\u76EE\u6807\u76EE\u5F55: "{0}"
 doclet.in={1}\u4E2D\u7684{0}
 doclet.Use_Table_Summary=\u4F7F\u7528\u8868, \u5217\u8868{0}\u548C\u89E3\u91CA
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/stylesheet.css	Thu Feb 06 16:12:26 2014 +0000
@@ -2,16 +2,19 @@
 /*
 Overall document style
 */
+
+@import url('resources/fonts/dejavu.css');
+
 body {
     background-color:#ffffff;
     color:#353833;
-    font-family:Arial, Helvetica, sans-serif;
-    font-size:76%;
+    font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+    font-size:14px;
     margin:0;
 }
 a:link, a:visited {
     text-decoration:none;
-    color:#4c6b87;
+    color:#4A6782;
 }
 a:hover, a:focus {
     text-decoration:none;
@@ -19,7 +22,7 @@
 }
 a:active {
     text-decoration:none;
-    color:#4c6b87;
+    color:#4A6782;
 }
 a[name] {
     color:#353833;
@@ -29,41 +32,51 @@
     color:#353833;
 }
 pre {
-    font-size:1.3em;
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
 }
 h1 {
-    font-size:1.8em;
+    font-size:20px;
 }
 h2 {
-    font-size:1.5em;
+    font-size:18px;
 }
 h3 {
-    font-size:1.4em;
+    font-size:16px;
+    font-style:italic;
 }
 h4 {
-    font-size:1.3em;
+    font-size:13px;
 }
 h5 {
-    font-size:1.2em;
+    font-size:12px;
 }
 h6 {
-    font-size:1.1em;
+    font-size:11px;
 }
 ul {
     list-style-type:disc;
 }
 code, tt {
-    font-size:1.2em;
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+    margin-top:8px;
+    line-height:1.4em;
 }
 dt code {
-    font-size:1.2em;
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
 }
 table tr td dt code {
-    font-size:1.2em;
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
     vertical-align:top;
+    padding-top:4px;
 }
 sup {
-    font-size:.6em;
+    font-size:8px;
 }
 /*
 Document title and Copyright styles
@@ -76,10 +89,9 @@
 .aboutLanguage {
     float:right;
     padding:0px 21px;
-    font-size:.8em;
-    font-style:italic;
+    font-size:11px;
     z-index:200;
-    margin-top:-7px;
+    margin-top:-9px;
 }
 .legalCopy {
     margin-left:.5em;
@@ -93,9 +105,6 @@
 }
 .tab {
     background-color:#0066FF;
-    background-image:url(resources/titlebar.gif);
-    background-position:left top;
-    background-repeat:no-repeat;
     color:#ffffff;
     padding:8px;
     width:5em;
@@ -105,17 +114,15 @@
 Navigation bar styles
 */
 .bar {
-    background-image:url(resources/background.gif);
-    background-repeat:repeat-x;
+    background-color:#4D7A97;
     color:#FFFFFF;
     padding:.8em .5em .4em .8em;
     height:auto;/*height:1.8em;*/
-    font-size:1em;
+    font-size:11px;
     margin:0;
 }
 .topNav {
-    background-image:url(resources/background.gif);
-    background-repeat:repeat-x;
+    background-color:#4D7A97;
     color:#FFFFFF;
     float:left;
     padding:0;
@@ -124,11 +131,11 @@
     height:2.8em;
     padding-top:10px;
     overflow:hidden;
+    font-size:12px; 
 }
 .bottomNav {
     margin-top:10px;
-    background-image:url(resources/background.gif);
-    background-repeat:repeat-x;
+    background-color:#4D7A97;
     color:#FFFFFF;
     float:left;
     padding:0;
@@ -137,18 +144,20 @@
     height:2.8em;
     padding-top:10px;
     overflow:hidden;
+    font-size:12px;
 }
 .subNav {
     background-color:#dee3e9;
-    border-bottom:1px solid #9eadc0;
     float:left;
     width:100%;
     overflow:hidden;
+    font-size:12px;
 }
 .subNav div {
     clear:left;
     float:left;
     padding:0 0 5px 6px;
+    text-transform:uppercase;
 }
 ul.navList, ul.subNavList {
     float:left;
@@ -158,34 +167,34 @@
 ul.navList li{
     list-style:none;
     float:left;
-    padding:3px 6px;
+    padding: 5px 6px;
+    text-transform:uppercase;
 }
 ul.subNavList li{
     list-style:none;
     float:left;
-    font-size:90%;
 }
 .topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
     color:#FFFFFF;
     text-decoration:none;
+    text-transform:uppercase;
 }
 .topNav a:hover, .bottomNav a:hover {
     text-decoration:none;
     color:#bb7a2a;
+    text-transform:uppercase;
 }
 .navBarCell1Rev {
-    background-image:url(resources/tab.gif);
-    background-color:#a88834;
-    color:#FFFFFF;
+    background-color:#F8981D;
+    color:#253441;
     margin: auto 5px;
-    border:1px solid #c9aa44;
 }
 .skipNav {
     position:absolute;
     top:auto;
     left:-9999px;
     overflow:hidden;
-    }
+}
 /*
 Page header and footer styles
 */
@@ -202,7 +211,7 @@
     margin-right:15px;
 }
 .indexHeader h1 {
-    font-size:1.3em;
+    font-size:13px;
 }
 .title {
     color:#2c4557;
@@ -212,7 +221,7 @@
     margin:5px 0 0 0;
 }
 .header ul {
-    margin:0 0 25px 0;
+    margin:0 0 15px 0;
     padding:0;
 }
 .footer ul {
@@ -220,24 +229,22 @@
 }
 .header ul li, .footer ul li {
     list-style:none;
-    font-size:1.2em;
+    font-size:13px;
 }
 /*
 Heading styles
 */
 div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
     background-color:#dee3e9;
-    border-top:1px solid #9eadc0;
-    border-bottom:1px solid #9eadc0;
+    border:1px solid #d0d9e0;
     margin:0 0 6px -8px;
-    padding:2px 5px;
+    padding:7px 5px;
 }
 ul.blockList ul.blockList ul.blockList li.blockList h3 {
     background-color:#dee3e9;
-    border-top:1px solid #9eadc0;
-    border-bottom:1px solid #9eadc0;
+    border:1px solid #d0d9e0;
     margin:0 0 6px -8px;
-    padding:2px 5px;
+    padding:7px 5px;
 }
 ul.blockList ul.blockList li.blockList h3 {
     padding:0;
@@ -257,10 +264,10 @@
 .indexContainer {
     margin:10px;
     position:relative;
-    font-size:1.0em;
+    font-size:12px;
 }
 .indexContainer h2 {
-    font-size:1.1em;
+    font-size:13px;
     padding:0 0 3px 0;
 }
 .indexContainer ul {
@@ -269,15 +276,18 @@
 }
 .indexContainer ul li {
     list-style:none;
+    padding-top:2px;
 }
 .contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
-    font-size:1.1em;
+    font-size:12px;
     font-weight:bold;
     margin:10px 0 0 0;
     color:#4E4E4E;
 }
 .contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
-    margin:10px 0 10px 20px;
+    margin:5px 0 10px 0px;
+    font-size:14px;
+    font-family:'DejaVu Sans Mono',monospace;
 }
 .serializedFormContainer dl.nameValue dt {
     margin-left:1px;
@@ -316,25 +326,24 @@
 }
 ul.blockList li.blockList, ul.blockListLast li.blockList {
     list-style:none;
-    margin-bottom:25px;
+    margin-bottom:15px;
+    line-height:1.4;
 }
 ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
     padding:0px 20px 5px 10px;
-    border:1px solid #9eadc0;
-    background-color:#f9f9f9;
+    border:1px solid #ededed; 
+    background-color:#f8f8f8;
 }
 ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
     padding:0 0 5px 8px;
     background-color:#ffffff;
-    border:1px solid #9eadc0;
-    border-top:none;
+    border:none;
 }
 ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
     margin-left:0;
     padding-left:0;
     padding-bottom:15px;
     border:none;
-    border-bottom:1px solid #9eadc0;
 }
 ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
     list-style:none;
@@ -349,9 +358,10 @@
 Table styles
 */
 .overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
-    border-bottom:1px solid #9eadc0;
-    margin:0 0 12px 0px;
     width:100%;
+    border-left:1px solid #EEE; 
+    border-right:1px solid #EEE; 
+    border-bottom:1px solid #EEE; 
 }
 .overviewSummary, .memberSummary  {
     padding:0px;
@@ -361,12 +371,15 @@
     position:relative;
     text-align:left;
     background-repeat:no-repeat;
-    color:#FFFFFF;
+    color:#253441;
     font-weight:bold;
     clear:none;
     overflow:hidden;
     padding:0px;
+    padding-top:10px;
+    padding-left:1px;
     margin:0px;
+    white-space:pre;
 }
 .overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
 .useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
@@ -381,89 +394,98 @@
 .overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
 .useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
     white-space:nowrap;
-    padding-top:8px;
-    padding-left:8px;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    padding-bottom:7px;
     display:inline-block;
     float:left;
-    background-image:url(resources/titlebar.gif);
+    background-color:#F8981D;
+    border: none;
+    height:16px;
 }
 .memberSummary caption span.activeTableTab span {
     white-space:nowrap;
-    padding-top:8px;
-    padding-left:8px;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
     display:inline-block;
     float:left;
-    background-image:url(resources/activetitlebar.gif);
+    background-color:#F8981D;
+    height:16px;
 }
 .memberSummary caption span.tableTab span {
     white-space:nowrap;
-    padding-top:8px;
-    padding-left:8px;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
     display:inline-block;
     float:left;
-    background-image:url(resources/titlebar.gif);
+    background-color:#4D7A97;
+    height:16px;
 }
 .memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
     padding-top:0px;
     padding-left:0px;
+    padding-right:0px;
     background-image:none;
     float:none;
-    display:inline-block;
+    display:inline;
 }
 .overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
 .useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
-    width:10px;
-    background-image:url(resources/titlebar_end.gif);
-    background-repeat:no-repeat;
-    background-position:top right;
+    display:none;
+    width:5px;
     position:relative;
     float:left;
+    background-color:#F8981D;
 }
 .memberSummary .activeTableTab .tabEnd {
-    width:10px;
-    margin-right:5px;
-    background-image:url(resources/activetitlebar_end.gif);
-    background-repeat:no-repeat;
-    background-position:top right;
-    position:relative;
+    display:none;
+    width:5px;
+    margin-right:3px;
+    position:relative; 
     float:left;
+    background-color:#F8981D;
 }
 .memberSummary .tableTab .tabEnd {
-    width:10px;
-    margin-right:5px;
-    background-image:url(resources/titlebar_end.gif);
-    background-repeat:no-repeat;
-    background-position:top right;
+    display:none;
+    width:5px;
+    margin-right:3px;
     position:relative;
+    background-color:#4D7A97;
     float:left;
+
 }
 .overviewSummary td, .memberSummary td, .typeSummary td,
 .useSummary td, .constantsSummary td, .deprecatedSummary td {
     text-align:left;
-    padding:3px 3px 3px 7px;
+    padding:0px 0px 12px 10px;
+    width:100%;
 }
 th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
 td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
     vertical-align:top;
-    padding-right:3px;
+    padding-right:0px;
+    padding-top:8px;
+    padding-bottom:3px;
 }
 th.colFirst, th.colLast, th.colOne, .constantsSummary th {
     background:#dee3e9;
-    border-top:1px solid #9eadc0;
-    border-bottom:1px solid #9eadc0;
     text-align:left;
-    padding:3px 3px 3px 7px;
+    padding:8px 3px 3px 7px;
 }
 td.colFirst, th.colFirst {
-    border-left:1px solid #9eadc0;
     white-space:nowrap;
+    font-size:13px;
 }
 td.colLast, th.colLast {
-    border-right:1px solid #9eadc0;
+    font-size:13px;
 }
 td.colOne, th.colOne {
-    border-right:1px solid #9eadc0;
-    border-left:1px solid #9eadc0;
+    font-size:13px;
 }
 .overviewSummary td.colFirst, .overviewSummary th.colFirst,
 .overviewSummary td.colOne, .overviewSummary th.colOne,
@@ -471,19 +493,19 @@
 .memberSummary td.colOne, .memberSummary th.colOne,
 .typeSummary td.colFirst{
     width:25%;
-    vertical-align:middle;
+    vertical-align:top;
 }
 td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
     font-weight:bold;
 }
 .tableSubHeadingColor {
-    background-color: #EEEEFF;
+    background-color:#EEEEFF;
 }
 .altColor {
-    background-color:#eeeeef;
+    background-color:#FFFFFF;
 }
 .rowColor {
-    background-color:#ffffff;
+    background-color:#EEEEEF;
 }
 /*
 Content styles
@@ -498,6 +520,24 @@
 .docSummary {
     padding:0;
 }
+
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    font-style:normal;
+}
+
+div.block {
+    font-size:14px;
+    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
+
+td.colLast div {
+    padding-top:0px;
+}
+
+
+td.colLast a {
+    padding-bottom:3px;
+}
 /*
 Formatting effect styles
 */
@@ -508,11 +548,12 @@
 h1.hidden {
     visibility:hidden;
     overflow:hidden;
-    font-size:.9em;
+    font-size:10px;
 }
 .block {
     display:block;
-    margin:3px 0 0 0;
+    margin:3px 10px 2px 0px;
+    color:#474747;
 }
 .deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
 .overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
@@ -522,3 +563,12 @@
 .deprecationComment, .emphasizedPhrase, .interfaceName {
     font-style:italic;
 }
+
+div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+    font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+    padding-bottom:0px;
+}
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/tab.gif has changed
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/titlebar.gif has changed
Binary file src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/titlebar_end.gif has changed
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/DocPaths.java	Thu Feb 06 16:12:26 2014 +0000
@@ -122,9 +122,7 @@
     /** The name of the file for the overview frame. */
     public static final DocPath PROFILE_OVERVIEW_FRAME = DocPath.create("profile-overview-frame.html");
 
-    /** The name of the directory in which resources are generated.
-     *  Also the name of the sub-package from which resources are read.
-     */
+    /** The name of the sub-package from which resources are read. */
     public static final DocPath RESOURCES = DocPath.create("resources");
 
     /** The name of the file for the serialized form info. */
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/LinkOutput.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -67,7 +67,10 @@
 dc.tag.start.unmatched = \u7D42\u4E86\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093: </{0}>
 dc.tag.unknown = \u4E0D\u660E\u306A\u30BF\u30B0: {0}
 dc.text.not.allowed = <{0}>\u8981\u7D20\u3067\u306F\u30C6\u30AD\u30B9\u30C8\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+dc.type.arg.not.allowed = \u578B\u5F15\u6570\u306F\u3053\u3053\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
 dc.unexpected.comment=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30B3\u30E1\u30F3\u30C8\u306F\u3053\u3053\u3067\u306F\u5FC5\u8981\u3042\u308A\u307E\u305B\u3093
+dc.value.not.allowed.here='{@value}'\u306F\u3053\u3053\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+dc.value.not.a.constant=\u5024\u304C\u5B9A\u6570\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u305B\u3093
 
 dc.main.ioerror=IO\u30A8\u30E9\u30FC: {0}
 dc.main.no.files.given=\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
--- a/src/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -67,7 +67,10 @@
 dc.tag.start.unmatched = \u7F3A\u5C11\u7ED3\u675F\u6807\u8BB0: </{0}>
 dc.tag.unknown = \u672A\u77E5\u6807\u8BB0: {0}
 dc.text.not.allowed = <{0}> \u5143\u7D20\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528\u6587\u672C
+dc.type.arg.not.allowed = \u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528\u7C7B\u578B\u53C2\u6570
 dc.unexpected.comment=\u6B64\u5904\u672A\u9884\u671F\u6587\u6863\u6CE8\u91CA
+dc.value.not.allowed.here=\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528 '{@value}'
+dc.value.not.a.constant=\u503C\u4E0D\u5F15\u7528\u5E38\u91CF
 
 dc.main.ioerror=IO \u9519\u8BEF: {0}
 dc.main.no.files.given=\u672A\u6307\u5B9A\u6587\u4EF6
--- a/src/share/classes/com/sun/tools/javac/code/Flags.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/code/Flags.java	Thu Feb 06 16:12:26 2014 +0000
@@ -293,7 +293,7 @@
         ExtendedStandardFlags       = (long)StandardFlags | DEFAULT,
         ModifierFlags               = ((long)StandardFlags & ~INTERFACE) | DEFAULT,
         InterfaceMethodMask         = ABSTRACT | STATIC | PUBLIC | STRICTFP | DEFAULT,
-        AnnotationTypeElementMask   = FINAL | ABSTRACT | PUBLIC | STRICTFP,
+        AnnotationTypeElementMask   = ABSTRACT | PUBLIC,
         LocalVarFlags               = FINAL | PARAMETER;
 
 
--- a/src/share/classes/com/sun/tools/javac/code/Type.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/code/Type.java	Thu Feb 06 16:12:26 2014 +0000
@@ -970,13 +970,6 @@
 
         public boolean allInterfaces;
 
-        public enum IntersectionKind {
-            EXPLICIT,
-            IMPLICT;
-        }
-
-        public IntersectionKind intersectionKind;
-
         public IntersectionClassType(List<Type> bounds, ClassSymbol csym, boolean allInterfaces) {
             super(Type.noType, List.<Type>nil(), csym);
             this.allInterfaces = allInterfaces;
@@ -1008,9 +1001,7 @@
 
         @Override
         public <R, P> R accept(TypeVisitor<R, P> v, P p) {
-            return intersectionKind == IntersectionKind.EXPLICIT ?
-                v.visitIntersection(this, p) :
-                v.visitDeclared(this, p);
+            return v.visitIntersection(this, p);
         }
     }
 
--- a/src/share/classes/com/sun/tools/javac/comp/Attr.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/comp/Attr.java	Thu Feb 06 16:12:26 2014 +0000
@@ -28,7 +28,6 @@
 import java.util.*;
 
 import javax.lang.model.element.ElementKind;
-import javax.lang.model.type.TypeKind;
 import javax.tools.JavaFileObject;
 
 import com.sun.source.tree.IdentifierTree;
@@ -933,7 +932,8 @@
             chk.validate(tree.typarams, localEnv);
 
             // Check that result type is well-formed.
-            chk.validate(tree.restype, localEnv);
+            if (tree.restype != null && !tree.restype.type.hasTag(VOID))
+                chk.validate(tree.restype, localEnv);
 
             // Check that receiver type is well-formed.
             if (tree.recvparam != null) {
@@ -2163,11 +2163,6 @@
                     tree.constructor,
                     localEnv,
                     new ResultInfo(pkind, newMethodTemplate(syms.voidType, argtypes, typeargtypes)));
-            } else {
-                if (tree.clazz.hasTag(ANNOTATED_TYPE)) {
-                    checkForDeclarationAnnotations(((JCAnnotatedType) tree.clazz).annotations,
-                            tree.clazz.type.tsym);
-                }
             }
 
             if (tree.constructor != null && tree.constructor.kind == MTH)
@@ -2229,21 +2224,6 @@
                 }
             }
 
-    private void checkForDeclarationAnnotations(List<? extends JCAnnotation> annotations,
-            Symbol sym) {
-        // Ensure that no declaration annotations are present.
-        // Note that a tree type might be an AnnotatedType with
-        // empty annotations, if only declaration annotations were given.
-        // This method will raise an error for such a type.
-        for (JCAnnotation ai : annotations) {
-            if (!ai.type.isErroneous() &&
-                typeAnnotations.annotationType(ai.attribute, sym) == TypeAnnotations.AnnotationType.DECLARATION) {
-                log.error(ai.pos(), "annotation.type.not.applicable");
-            }
-        }
-    }
-
-
     /** Make an attributed null check tree.
      */
     public JCExpression makeNullCheck(JCExpression arg) {
@@ -2270,10 +2250,6 @@
                 attribExpr(l.head, localEnv, syms.intType);
                 owntype = new ArrayType(owntype, syms.arrayClass);
             }
-            if (tree.elemtype.hasTag(ANNOTATED_TYPE)) {
-                checkForDeclarationAnnotations(((JCAnnotatedType) tree.elemtype).annotations,
-                        tree.elemtype.type.tsym);
-            }
         } else {
             // we are seeing an untyped aggregate { ... }
             // this is allowed only if the prototype is an array
@@ -2614,15 +2590,61 @@
             }
         }
 
+        /* Map to hold 'fake' clinit methods. If a lambda is used to initialize a
+         * static field and that lambda has type annotations, these annotations will
+         * also be stored at these fake clinit methods.
+         *
+         * LambdaToMethod also use fake clinit methods so they can be reused.
+         * Also as LTM is a phase subsequent to attribution, the methods from
+         * clinits can be safely removed by LTM to save memory.
+         */
+        private Map<ClassSymbol, MethodSymbol> clinits = new HashMap<>();
+
+        public MethodSymbol removeClinit(ClassSymbol sym) {
+            return clinits.remove(sym);
+        }
+
+        /* This method returns an environment to be used to attribute a lambda
+         * expression.
+         *
+         * The owner of this environment is a method symbol. If the current owner
+         * is not a method, for example if the lambda is used to initialize
+         * a field, then if the field is:
+         *
+         * - an instance field, we use the first constructor.
+         * - a static field, we create a fake clinit method.
+         */
         private Env<AttrContext> lambdaEnv(JCLambda that, Env<AttrContext> env) {
             Env<AttrContext> lambdaEnv;
             Symbol owner = env.info.scope.owner;
             if (owner.kind == VAR && owner.owner.kind == TYP) {
                 //field initializer
                 lambdaEnv = env.dup(that, env.info.dup(env.info.scope.dupUnshared()));
-                lambdaEnv.info.scope.owner =
-                    new MethodSymbol((owner.flags() & STATIC) | BLOCK, names.empty, null,
-                                     env.info.scope.owner);
+                ClassSymbol enclClass = owner.enclClass();
+                /* if the field isn't static, then we can get the first constructor
+                 * and use it as the owner of the environment. This is what
+                 * LTM code is doing to look for type annotations so we are fine.
+                 */
+                if ((owner.flags() & STATIC) == 0) {
+                    for (Symbol s : enclClass.members_field.getElementsByName(names.init)) {
+                        lambdaEnv.info.scope.owner = s;
+                        break;
+                    }
+                } else {
+                    /* if the field is static then we need to create a fake clinit
+                     * method, this method can later be reused by LTM.
+                     */
+                    MethodSymbol clinit = clinits.get(enclClass);
+                    if (clinit == null) {
+                        Type clinitType = new MethodType(List.<Type>nil(),
+                                syms.voidType, List.<Type>nil(), syms.methodClass);
+                        clinit = new MethodSymbol(STATIC | SYNTHETIC | PRIVATE,
+                                names.clinit, clinitType, enclClass);
+                        clinit.params = List.<VarSymbol>nil();
+                        clinits.put(enclClass, clinit);
+                    }
+                    lambdaEnv.info.scope.owner = clinit;
+                }
             } else {
                 lambdaEnv = env.dup(that, env.info.dup(env.info.scope.dup()));
             }
@@ -3982,10 +4004,6 @@
             return bounds.head.type;
         } else {
             Type owntype = types.makeCompoundType(TreeInfo.types(bounds));
-            if (tree.hasTag(TYPEINTERSECTION)) {
-                ((IntersectionClassType)owntype).intersectionKind =
-                        IntersectionClassType.IntersectionKind.EXPLICIT;
-            }
             // ... the variable's bound is a class type flagged COMPOUND
             // (see comment for TypeVar.bound).
             // In this case, generate a class tree that represents the
@@ -4422,7 +4440,7 @@
         }
         public void visitMethodDef(JCMethodDecl tree) {
             if (tree.recvparam != null &&
-                    tree.recvparam.vartype.type.getKind() != TypeKind.ERROR) {
+                    !tree.recvparam.vartype.type.isErroneous()) {
                 checkForDeclarationAnnotations(tree.recvparam.mods.annotations,
                         tree.recvparam.vartype.type.tsym);
             }
@@ -4461,17 +4479,28 @@
             super.visitTypeTest(tree);
         }
         public void visitNewClass(JCNewClass tree) {
-            if (tree.clazz.type != null)
+            if (tree.clazz.hasTag(ANNOTATED_TYPE)) {
+                checkForDeclarationAnnotations(((JCAnnotatedType) tree.clazz).annotations,
+                        tree.clazz.type.tsym);
+            }
+            if (tree.def != null) {
+                checkForDeclarationAnnotations(tree.def.mods.annotations, tree.clazz.type.tsym);
+            }
+            if (tree.clazz.type != null) {
                 validateAnnotatedType(tree.clazz, tree.clazz.type);
+            }
             super.visitNewClass(tree);
         }
         public void visitNewArray(JCNewArray tree) {
-            if (tree.elemtype != null && tree.elemtype.type != null)
+            if (tree.elemtype != null && tree.elemtype.type != null) {
+                if (tree.elemtype.hasTag(ANNOTATED_TYPE)) {
+                    checkForDeclarationAnnotations(((JCAnnotatedType) tree.elemtype).annotations,
+                            tree.elemtype.type.tsym);
+                }
                 validateAnnotatedType(tree.elemtype, tree.elemtype.type);
+            }
             super.visitNewArray(tree);
         }
-
-        @Override
         public void visitClassDef(JCClassDecl tree) {
             if (sigOnly) {
                 scan(tree.mods);
@@ -4486,8 +4515,6 @@
                 scan(member);
             }
         }
-
-        @Override
         public void visitBlock(JCBlock tree) {
             if (!sigOnly) {
                 scan(tree.stats);
@@ -4593,6 +4620,20 @@
                 }
             }
         }
+
+        private void checkForDeclarationAnnotations(List<? extends JCAnnotation> annotations,
+                Symbol sym) {
+            // Ensure that no declaration annotations are present.
+            // Note that a tree type might be an AnnotatedType with
+            // empty annotations, if only declaration annotations were given.
+            // This method will raise an error for such a type.
+            for (JCAnnotation ai : annotations) {
+                if (!ai.type.isErroneous() &&
+                        typeAnnotations.annotationType(ai.attribute, sym) == TypeAnnotations.AnnotationType.DECLARATION) {
+                    log.error(ai.pos(), "annotation.type.not.applicable");
+                }
+            }
+        }
     };
 
     // <editor-fold desc="post-attribution visitor">
--- a/src/share/classes/com/sun/tools/javac/comp/Check.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/comp/Check.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1326,6 +1326,14 @@
             tree.underlyingType.accept(this);
         }
 
+        @Override
+        public void visitTypeIdent(JCPrimitiveTypeTree that) {
+            if (that.type.hasTag(TypeTag.VOID)) {
+                log.error(that.pos(), "void.not.allowed.here");
+            }
+            super.visitTypeIdent(that);
+        }
+
         /** Default visitor method: do nothing.
          */
         @Override
@@ -2977,6 +2985,7 @@
     boolean annotationApplicable(JCAnnotation a, Symbol s) {
         Attribute.Array arr = getAttributeTargetAttribute(a.annotationType.type.tsym);
         Name[] targets;
+
         if (arr == null) {
             targets = defaultTargetMetaInfo(a, s);
         } else {
@@ -2993,7 +3002,7 @@
         }
         for (Name target : targets) {
             if (target == names.TYPE)
-                { if (s.kind == TYP && !s.isAnonymous()) return true; }
+                { if (s.kind == TYP) return true; }
             else if (target == names.FIELD)
                 { if (s.kind == VAR && s.owner.kind != MTH) return true; }
             else if (target == names.METHOD)
--- a/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Thu Feb 06 16:12:26 2014 +0000
@@ -357,9 +357,11 @@
 
         //first determine the method symbol to be used to generate the sam instance
         //this is either the method reference symbol, or the bridged reference symbol
-        Symbol refSym = localContext.needsBridge() ?
-            localContext.bridgeSym :
-            tree.sym;
+        Symbol refSym = localContext.needsBridge()
+                ? localContext.bridgeSym
+                : localContext.isSignaturePolymorphic()
+                ? localContext.sigPolySym
+                : tree.sym;
 
         //build the bridge method, if needed
         if (localContext.needsBridge()) {
@@ -1472,12 +1474,27 @@
         private Symbol initSym(ClassSymbol csym, long flags) {
             boolean isStatic = (flags & STATIC) != 0;
             if (isStatic) {
-                //static clinits are generated in Gen - so we need to fake them
-                Symbol clinit = clinits.get(csym);
+                /* static clinits are generated in Gen, so we need to use a fake
+                 * one. Attr creates a fake clinit method while attributing
+                 * lambda expressions used as initializers of static fields, so
+                 * let's use that one.
+                 */
+                MethodSymbol clinit = attr.removeClinit(csym);
+                if (clinit != null) {
+                    clinits.put(csym, clinit);
+                    return clinit;
+                }
+
+                /* if no clinit is found at Attr, then let's try at clinits.
+                 */
+                clinit = (MethodSymbol)clinits.get(csym);
                 if (clinit == null) {
+                    /* no luck, let's create a new one
+                     */
                     clinit = makePrivateSyntheticMethod(STATIC,
                             names.clinit,
-                            new MethodType(List.<Type>nil(), syms.voidType, List.<Type>nil(), syms.methodClass),
+                            new MethodType(List.<Type>nil(), syms.voidType,
+                                List.<Type>nil(), syms.methodClass),
                             csym);
                     clinits.put(csym, clinit);
                 }
@@ -1995,6 +2012,7 @@
 
             final boolean isSuper;
             final Symbol bridgeSym;
+            final Symbol sigPolySym;
 
             ReferenceTranslationContext(JCMemberReference tree) {
                 super(tree);
@@ -2004,6 +2022,12 @@
                                               referenceBridgeName(), null,
                                               owner.enclClass())
                         : null;
+                this.sigPolySym = isSignaturePolymorphic()
+                        ? makePrivateSyntheticMethod(tree.sym.flags(),
+                                              tree.sym.name,
+                                              bridgedRefSig(),
+                                              tree.sym.enclClass())
+                        : null;
                 if (dumpLambdaToMethodStats) {
                     String key = bridgeSym == null ?
                             "mref.stat" : "mref.stat.1";
@@ -2106,6 +2130,15 @@
             }
 
             /**
+             * Signature polymorphic methods need special handling.
+             * e.g. MethodHandle.invoke() MethodHandle.invokeExact()
+             */
+            final boolean isSignaturePolymorphic() {
+                return  tree.sym.kind == MTH &&
+                        types.isSignaturePolymorphic((MethodSymbol)tree.sym);
+            }
+
+            /**
              * Does this reference needs a bridge (i.e. var args need to be
              * expanded or "super" is used)
              */
--- a/src/share/classes/com/sun/tools/javac/comp/Lower.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/comp/Lower.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1378,11 +1378,14 @@
             ref = make.Ident(sym);
             args = make.Idents(md.params);
         } else {
-            Symbol msym = sym;
-            if (sym.owner.isInterface()) {
-                msym = msym.clone(types.supertype(accessor.owner.type).tsym);
+            JCExpression site = make.Ident(md.params.head);
+            if (acode % 2 != 0) {
+                //odd access codes represent qualified super accesses - need to
+                //emit reference to the direct superclass, even if the refered
+                //member is from an indirect superclass (JLS 13.1)
+                site.setType(types.erasure(types.supertype(vsym.owner.enclClass().type)));
             }
-            ref = make.Select(make.Ident(md.params.head), msym);
+            ref = make.Select(site, sym);
             args = make.Idents(md.params.tail);
         }
         JCStatement stat;          // The statement accessing the private symbol.
--- a/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/comp/Resolve.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1503,7 +1503,7 @@
             return ambiguityError(m1, m2);
         case AMBIGUOUS:
             //check if m1 is more specific than all ambiguous methods in m2
-            AmbiguityError e = (AmbiguityError)m2;
+            AmbiguityError e = (AmbiguityError)m2.baseSymbol();
             for (Symbol s : e.ambiguousSyms) {
                 if (mostSpecific(argtypes, m1, s, env, site, allowBoxing, useVarargs) != m1) {
                     return e.addAmbiguousSymbol(m1);
@@ -3055,7 +3055,7 @@
         final Symbol lookup(Env<AttrContext> env, MethodResolutionPhase phase) {
             Symbol sym = doLookup(env, phase);
             if (sym.kind == AMBIGUOUS) {
-                AmbiguityError a_err = (AmbiguityError)sym;
+                AmbiguityError a_err = (AmbiguityError)sym.baseSymbol();
                 sym = a_err.mergeAbstracts(site);
             }
             return sym;
@@ -3125,7 +3125,7 @@
 
         Symbol access(Env<AttrContext> env, DiagnosticPosition pos, Symbol location, Symbol sym) {
             if (sym.kind == AMBIGUOUS) {
-                AmbiguityError a_err = (AmbiguityError)sym;
+                AmbiguityError a_err = (AmbiguityError)sym.baseSymbol();
                 sym = a_err.mergeAbstracts(site);
             }
             //skip error reporting
@@ -3992,7 +3992,7 @@
 
         private List<Symbol> flatten(Symbol sym) {
             if (sym.kind == AMBIGUOUS) {
-                return ((AmbiguityError)sym).ambiguousSyms;
+                return ((AmbiguityError)sym.baseSymbol()).ambiguousSyms;
             } else {
                 return List.of(sym);
             }
--- a/src/share/classes/com/sun/tools/javac/comp/TransTypes.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/comp/TransTypes.java	Thu Feb 06 16:12:26 2014 +0000
@@ -586,7 +586,7 @@
         try {
             currentMethod = null;
             tree.params = translate(tree.params);
-            tree.body = translate(tree.body, null);
+            tree.body = translate(tree.body, tree.body.type==null? null : erasure(tree.body.type));
             tree.type = erasure(tree.type);
             result = tree;
         }
--- a/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1174,9 +1174,8 @@
         }
 
         // counter for number of generic local variables
-        int nGenericVars = 0;
-
-        if (code.varBufferSize > 0) {
+        if (code.varDebugInfo && code.varBufferSize > 0) {
+            int nGenericVars = 0;
             int alenIdx = writeAttr(names.LocalVariableTable);
             databuf.appendChar(code.getLVTSize());
             for (int i=0; i<code.varBufferSize; i++) {
@@ -1195,37 +1194,38 @@
                     Type vartype = sym.erasure(types);
                     databuf.appendChar(pool.put(typeSig(vartype)));
                     databuf.appendChar(var.reg);
-                    if (needsLocalVariableTypeEntry(var.sym.type))
+                    if (needsLocalVariableTypeEntry(var.sym.type)) {
                         nGenericVars++;
+                    }
                 }
             }
             endAttr(alenIdx);
             acount++;
-        }
 
-        if (nGenericVars > 0) {
-            int alenIdx = writeAttr(names.LocalVariableTypeTable);
-            databuf.appendChar(nGenericVars);
-            int count = 0;
+            if (nGenericVars > 0) {
+                alenIdx = writeAttr(names.LocalVariableTypeTable);
+                databuf.appendChar(nGenericVars);
+                int count = 0;
 
-            for (int i=0; i<code.varBufferSize; i++) {
-                Code.LocalVar var = code.varBuffer[i];
-                VarSymbol sym = var.sym;
-                if (!needsLocalVariableTypeEntry(sym.type))
-                    continue;
-                for (Code.LocalVar.Range r : var.aliveRanges) {
-                    // write variable info
-                    databuf.appendChar(r.start_pc);
-                    databuf.appendChar(r.length);
-                    databuf.appendChar(pool.put(sym.name));
-                    databuf.appendChar(pool.put(typeSig(sym.type)));
-                    databuf.appendChar(var.reg);
-                    count++;
+                for (int i=0; i<code.varBufferSize; i++) {
+                    Code.LocalVar var = code.varBuffer[i];
+                    VarSymbol sym = var.sym;
+                    if (!needsLocalVariableTypeEntry(sym.type))
+                        continue;
+                    for (Code.LocalVar.Range r : var.aliveRanges) {
+                        // write variable info
+                        databuf.appendChar(r.start_pc);
+                        databuf.appendChar(r.length);
+                        databuf.appendChar(pool.put(sym.name));
+                        databuf.appendChar(pool.put(typeSig(sym.type)));
+                        databuf.appendChar(var.reg);
+                        count++;
+                    }
                 }
+                Assert.check(count == nGenericVars);
+                endAttr(alenIdx);
+                acount++;
             }
-            Assert.check(count == nGenericVars);
-            endAttr(alenIdx);
-            acount++;
         }
 
         if (code.stackMapBufferSize > 0) {
--- a/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/jvm/Gen.java	Thu Feb 06 16:12:26 2014 +0000
@@ -2420,7 +2420,7 @@
             if (isInvokeDynamic(sym)) {
                 result = items.makeDynamicItem(sym);
                 return;
-            } else if (!accessSuper) {
+            } else {
                 sym = binaryQualifier(sym, tree.selected.type);
             }
             if ((sym.flags() & STATIC) != 0) {
--- a/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/parser/DocCommentParser.java	Thu Feb 06 16:12:26 2014 +0000
@@ -280,7 +280,7 @@
         try {
             nextChar();
             if (isIdentifierStart(ch)) {
-                Name name = readIdentifier();
+                Name name = readTagName();
                 TagParser tp = tagParsers.get(name);
                 if (tp == null) {
                     List<DCTree> content = blockContent();
@@ -329,7 +329,7 @@
         try {
             nextChar();
             if (isIdentifierStart(ch)) {
-                Name name = readIdentifier();
+                Name name = readTagName();
                 skipWhitespace();
 
                 TagParser tp = tagParsers.get(name);
@@ -905,6 +905,14 @@
         return names.fromChars(buf, start, bp - start);
     }
 
+    protected Name readTagName() {
+        int start = bp;
+        nextChar();
+        while (bp < buflen && (Character.isUnicodeIdentifierPart(ch) || ch == '.'))
+            nextChar();
+        return names.fromChars(buf, start, bp - start);
+    }
+
     protected boolean isJavaIdentifierStart(char ch) {
         return Character.isJavaIdentifierStart(ch);
     }
--- a/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1596,6 +1596,7 @@
                         // Identifier, ')' '->' -> implicit lambda
                         return ParensResult.IMPLICIT_LAMBDA;
                     }
+                    type = false;
                     break;
                 case FINAL:
                 case ELLIPSIS:
--- a/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/processing/JavacRoundEnvironment.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -72,21 +72,21 @@
 compiler.err.already.defined.in.clinit={0} {1}\u306F\u3059\u3067\u306B{3} {4}\u306E{2}\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
 
 # 0: string
-compiler.err.already.defined.single.import={0}\u306F\u5358\u4E00\u306E\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u5BA3\u8A00\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.already.defined.single.import=\u540C\u3058\u5358\u7D14\u540D\u306E\u578B\u304C{0}\u306E\u5358\u4E00\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u3088\u3063\u3066\u3059\u3067\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
 
 # 0: string
-compiler.err.already.defined.static.single.import={0}\u306Fstatic\u306E\u5358\u4E00\u306E\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u5BA3\u8A00\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.already.defined.static.single.import=\u540C\u3058\u5358\u7D14\u540D\u306E\u578B\u304C{0}\u306Estatic\u5358\u4E00\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u3088\u3063\u3066\u3059\u3067\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
 
 compiler.err.already.defined.this.unit={0}\u306F\u30B3\u30F3\u30D1\u30A4\u30EB\u5358\u4F4D\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
 
 # 0: type, 1: list of name
-compiler.err.annotation.missing.default.value=\u6CE8\u91C8{0}\u306B\u306F\u5C5E\u6027{1}\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.annotation.missing.default.value=\u6CE8\u91C8@{0}\u306B\u306F\u8981\u7D20''{1}''\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u304C\u3042\u308A\u307E\u305B\u3093
 
 # 0: type, 1: list of name
-compiler.err.annotation.missing.default.value.1=\u6CE8\u91C8{0}\u306B\u306F\u5C5E\u6027{1}\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.annotation.missing.default.value.1=\u6CE8\u91C8@{0}\u306B\u306F\u8981\u7D20{1}\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u304C\u3042\u308A\u307E\u305B\u3093
 
 # 0: type
-compiler.err.annotation.not.valid.for.type=\u6CE8\u91C8\u306F\u578B{0}\u306E\u5024\u306B\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+compiler.err.annotation.not.valid.for.type=\u6CE8\u91C8\u306F\u578B{0}\u306E\u8981\u7D20\u306B\u5BFE\u3057\u3066\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093
 
 compiler.err.annotation.type.not.applicable=\u6CE8\u91C8\u578B\u306F\u3053\u306E\u7A2E\u985E\u306E\u5BA3\u8A00\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
 
@@ -112,7 +112,7 @@
 # 0: type
 compiler.err.array.req.but.found=\u914D\u5217\u304C\u8981\u6C42\u3055\u308C\u307E\u3057\u305F\u304C\u3001{0}\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
 
-compiler.err.attribute.value.must.be.constant=\u5C5E\u6027\u306E\u5024\u306F\u5B9A\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.attribute.value.must.be.constant=\u8981\u7D20\u5024\u306F\u5B9A\u6570\u5F0F\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
 # 0: statement type
 compiler.err.bad.initializer={0}\u306E\u4E0D\u6B63\u306A\u521D\u671F\u5316\u5B50
@@ -223,62 +223,61 @@
 # 0: symbol
 compiler.err.cyclic.inheritance={0}\u3092\u542B\u3080\u7D99\u627F\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059
 
-compiler.err.cyclic.annotation.element=\u6CE8\u91C8\u306E\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059
+# 0: symbol
+compiler.err.cyclic.annotation.element=\u8981\u7D20{0}\u306E\u578B\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059
 
 # 0: unused
 compiler.err.call.to.super.not.allowed.in.enum.ctor=\u5217\u6319\u578B\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3067\u306F\u3001\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u306E\u547C\u51FA\u3057\u306F\u3067\u304D\u307E\u305B\u3093
 
 # 0: type
-compiler.err.no.superclass={0}\u306B\u306F\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u305B\u3093
+compiler.err.no.superclass={0}\u306B\u306F\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\u3002
 
 # 0: symbol, 1: type, 2: symbol, 3: type, 4: unused
 compiler.err.concrete.inheritance.conflict={1}\u306E\u30E1\u30BD\u30C3\u30C9{0}\u3068{3}\u306E{2}\u306F\u540C\u3058\u30B7\u30B0\u30CD\u30C1\u30E3\u304B\u3089\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u3059
 
-compiler.err.default.allowed.in.intf.annotation.member=\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306F@interface\u30E1\u30F3\u30D0\u30FC\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059
+compiler.err.default.allowed.in.intf.annotation.member=\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306F\u6CE8\u91C8\u578B\u306E\u5BA3\u8A00\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059
 
 # 0: symbol
 compiler.err.doesnt.exist=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u5B58\u5728\u3057\u307E\u305B\u3093
 
-compiler.err.duplicate.annotation=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059
-
 # 0: type
-compiler.err.duplicate.annotation.invalid.repeated=\u6CE8\u91C8{0}\u3092\u7E70\u308A\u8FD4\u305B\u307E\u305B\u3093\n\u6709\u52B9\u306A\u5305\u542B\u3059\u308B\u6CE8\u91C8\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+compiler.err.duplicate.annotation.invalid.repeated=\u6CE8\u91C8{0}\u306F\u6709\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u3067\u306F\u3042\u308A\u307E\u305B\u3093
 
 # 0: name, 1: type
-compiler.err.duplicate.annotation.member.value={1}\u306E\u6CE8\u91C8\u30E1\u30F3\u30D0\u30FC\u306E\u5024{0}\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059
-
-# 0: type, 1: type
-compiler.err.duplicate.annotation.missing.container=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306E\u5BA3\u8A00\u306B\u306F\u6709\u52B9\u306A{1}\u6CE8\u91C8\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
-
-# 0: type
-compiler.err.invalid.repeatable.annotation=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u7121\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u6CE8\u91C8\u3067\u6CE8\u91C8\u4ED8\u3051\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.duplicate.annotation.member.value=\u6CE8\u91C8@{1}\u306B\u91CD\u8907\u3057\u305F\u8981\u7D20''{0}''\u304C\u3042\u308A\u307E\u3059\u3002
+
+# 0: name, 1: unused
+compiler.err.duplicate.annotation.missing.container={0}\u306F\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+
+# 0: type, 1: unused
+compiler.err.invalid.repeatable.annotation=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u7121\u52B9\u306A@Repeatable\u6CE8\u91C8\u3067\u6CE8\u91C8\u4ED8\u3051\u3055\u308C\u3066\u3044\u307E\u3059
 
 # 0: symbol or type
-compiler.err.invalid.repeatable.annotation.no.value=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u6709\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u3082\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u5024\u8981\u7D20\u30E1\u30BD\u30C3\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+compiler.err.invalid.repeatable.annotation.no.value={0}\u306F\u6709\u52B9\u306A@Repeatable\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u5024\u8981\u7D20\u30E1\u30BD\u30C3\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093
 
 # 0: type, 1: number
-compiler.err.invalid.repeatable.annotation.multiple.values=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u6709\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u3082\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002{1}\u5024\u8981\u7D20\u30E1\u30BD\u30C3\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.invalid.repeatable.annotation.multiple.values={0}\u306F\u6709\u52B9\u306A@Repeatable\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002{1}\u8981\u7D20\u30E1\u30BD\u30C3\u30C9''value''\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059
 
 # 0: type
-compiler.err.invalid.repeatable.annotation.invalid.value=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}\u306F\u6709\u52B9\u306A\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u3082\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093: \u5024\u8981\u7D20\u304C\u7121\u52B9\u3067\u3059
-
-# 0: symbol type, 1: type, 2: type
-compiler.err.invalid.repeatable.annotation.value.return=\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: \u5305\u542B\u3059\u308B\u6CE8\u91C8{0}\u306E\u5024\u8981\u7D20\u306B\u306F\u578B{2}\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002{1}\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
+compiler.err.invalid.repeatable.annotation.invalid.value={0}\u306F\u6709\u52B9\u306A@Repeatable\u3067\u306F\u3042\u308A\u307E\u305B\u3093: \u5024\u8981\u7D20\u304C\u7121\u52B9\u3067\u3059
+
+# 0: symbol type, 1: unused, 2: type
+compiler.err.invalid.repeatable.annotation.value.return=\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306F\u578B{2}\u306E\u8981\u7D20''value''\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
 # 0: symbol or type, 1: symbol
-compiler.err.invalid.repeatable.annotation.elem.nondefault=\u5305\u542B\u3059\u308B\u6CE8\u91C8{0}\u306B\u306F\u8981\u7D20{1}\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
-
-# 0: symbol, 1: type, 2: symbol, 3: type
-compiler.err.invalid.repeatable.annotation.retention=\u5305\u542B\u3059\u308B\u6CE8\u91C8{0}\u306B\u306F\u3001\u4FDD\u6709{3}\u3092\u542B\u3080\u5305\u542B\u3055\u308C\u305F\u6CE8\u91C8{2}\u3088\u308A\u77ED\u3044\u4FDD\u6709({1})\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.invalid.repeatable.annotation.elem.nondefault=\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B{0}\u306B\u306F\u8981\u7D20{1}\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+
+# 0: symbol, 1: unused, 2: symbol, 3: unused
+compiler.err.invalid.repeatable.annotation.retention=\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306E\u4FDD\u6709\u304C\u3001\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B({2})\u306E\u4FDD\u6709\u3088\u308A\u77ED\u304F\u306A\u3063\u3066\u3044\u307E\u3059
 
 # 0: symbol, 1: symbol
-compiler.err.invalid.repeatable.annotation.not.documented=\u7E70\u308A\u8FD4\u3055\u308C\u305F\u6CE8\u91C8{1}\u306F@Documented\u3067\u3059\u304C\u3001\u5305\u542B\u3059\u308B\u6CE8\u91C8\u30BF\u30A4\u30D7{0}\u306F\u9055\u3044\u307E\u3059
+compiler.err.invalid.repeatable.annotation.not.documented=\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B({1})\u306F@Documented\u3067\u3059\u304C\u3001\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306F\u9055\u3044\u307E\u3059
 
 # 0: symbol, 1: symbol
-compiler.err.invalid.repeatable.annotation.not.inherited=\u308A\u8FD4\u3055\u308C\u305F\u6CE8\u91C8\u30BF\u30A4\u30D7{1}\u306F@Inherited\u3067\u3059\u304C\u3001\u5305\u542B\u3059\u308B\u6CE8\u91C8\u30BF\u30A4\u30D7{0}\u306F\u9055\u3044\u307E\u3059
+compiler.err.invalid.repeatable.annotation.not.inherited=\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B({1})\u306F@Inherited\u3067\u3059\u304C\u3001\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306F\u9055\u3044\u307E\u3059
 
 # 0: symbol, 1: symbol
-compiler.err.invalid.repeatable.annotation.incompatible.target=\u30B3\u30F3\u30C6\u30CA\u6CE8\u91C8{0}\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306F\u3001\u7E70\u308A\u8FD4\u3055\u308C\u305F\u6CE8\u91C8{1}\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306E\u30B5\u30D6\u30BB\u30C3\u30C8\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+compiler.err.invalid.repeatable.annotation.incompatible.target=\u5305\u542B\u3059\u308B\u6CE8\u91C8\u578B({0})\u306F\u3001\u7E70\u8FD4\u3057\u53EF\u80FD\u306A\u6CE8\u91C8\u578B({1})\u3088\u308A\u591A\u304F\u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u306B\u9069\u7528\u3055\u308C\u307E\u3059
 
 # 0: symbol
 compiler.err.invalid.repeatable.annotation.repeated.and.container.present=\u30B3\u30F3\u30C6\u30CA{0}\u306F\u542B\u307E\u308C\u3066\u3044\u308B\u8981\u7D20\u3068\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093
@@ -408,20 +407,24 @@
 # 0: number
 compiler.err.int.number.too.large=\u6574\u6570{0}\u304C\u5927\u304D\u3059\u304E\u307E\u3059
 
-compiler.err.intf.annotation.members.cant.have.params=@interface\u30E1\u30F3\u30D0\u30FC\u304C\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
-
-compiler.err.intf.annotation.cant.have.type.params=@interface\u304C\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
-
-compiler.err.intf.annotation.members.cant.have.type.params=@interface\u30E1\u30F3\u30D0\u30FC\u304C\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+compiler.err.intf.annotation.members.cant.have.params=\u6CE8\u91C8\u578B\u5BA3\u8A00\u5185\u306E\u8981\u7D20\u304C\u4EEE\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u5BA3\u8A00\u3067\u304D\u307E\u305B\u3093
+
+# 0: symbol
+compiler.err.intf.annotation.cant.have.type.params=\u6CE8\u91C8\u578B{0}\u306F\u6C4E\u7528\u306B\u3067\u304D\u307E\u305B\u3093
+
+compiler.err.intf.annotation.members.cant.have.type.params=\u6CE8\u91C8\u578B\u5BA3\u8A00\u5185\u306E\u8981\u7D20\u306F\u6C4E\u7528\u30E1\u30BD\u30C3\u30C9\u306B\u3067\u304D\u307E\u305B\u3093
 
 # 0: symbol, 1: type
-compiler.err.intf.annotation.member.clash=@interface\u30E1\u30F3\u30D0\u30FC\u306F{1}\u306E\u30E1\u30BD\u30C3\u30C9''{0}''\u3068\u7AF6\u5408\u3057\u307E\u3059
+compiler.err.intf.annotation.member.clash=\u6CE8\u91C8\u578B{1}\u3067\u30E1\u30BD\u30C3\u30C9{0}\u3068\u540C\u3058\u540D\u524D\u306E\u8981\u7D20\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059
 
 compiler.err.intf.expected.here=\u3053\u3053\u306B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304C\u5FC5\u8981\u3067\u3059
 
+compiler.err.intf.or.array.expected.here=\u3053\u3053\u306B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u307E\u305F\u306F\u914D\u5217\u578B\u304C\u5FC5\u8981\u3067\u3059
+
 compiler.err.intf.meth.cant.have.body=\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u62BD\u8C61\u30E1\u30BD\u30C3\u30C9\u304C\u672C\u4F53\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
 
-compiler.err.invalid.annotation.member.type=\u6CE8\u91C8\u30E1\u30F3\u30D0\u30FC\u306E\u578B\u304C\u4E0D\u6B63\u3067\u3059
+# 0: symbol
+compiler.err.invalid.annotation.member.type=\u6CE8\u91C8\u578B\u306E\u8981\u7D20{0}\u306E\u578B\u304C\u7121\u52B9\u3067\u3059
 
 compiler.err.invalid.binary.number=2\u9032\u6570\u5B57\u306F\u5C11\u306A\u304F\u3068\u30821\u6841\u306E2\u9032\u6570\u3092\u542B\u3080\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
 
@@ -531,9 +534,6 @@
 
 compiler.misc.incompatible.arg.types.in.mref=\u30E1\u30BD\u30C3\u30C9\u53C2\u7167\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u578B\u306F\u4E0D\u9069\u5408\u3067\u3059
 
-# 0: list of type, 1: message segment
-compiler.misc.bad.arg.types.in.lambda=\u63A8\u5B9A\u30D1\u30E9\u30E1\u30FC\u30BF\u578B\u3067\u306F\u30E9\u30E0\u30C0\u5F0F\u306E\u578B\u30C1\u30A7\u30C3\u30AF\u3092\u5B9F\u884C\u3067\u304D\u307E\u305B\u3093\n\u63A8\u5B9A\u578B: {0}
-
 compiler.err.new.not.allowed.in.annotation=''new''\u306F\u6CE8\u91C8\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
 
 compiler.err.no.annotation.member={1}\u306E\u6CE8\u91C8\u30E1\u30F3\u30D0\u30FC{0}\u304C\u3042\u308A\u307E\u305B\u3093
@@ -998,6 +998,9 @@
 # 0: symbol
 compiler.warn.missing.SVUID=\u76F4\u5217\u5316\u53EF\u80FD\u306A\u30AF\u30E9\u30B9{0}\u306B\u306F\u3001serialVersionUID\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093
 
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
+compiler.warn.potentially.ambiguous.overload={1}\u5185\u306E{0}\u306F{3}\u5185\u306E{2}\u3068\u77DB\u76FE\u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
+
 # 0: message segment
 compiler.warn.override.varargs.missing={0}\u3002\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306B\u306F''...''\u304C\u3042\u308A\u307E\u305B\u3093
 
@@ -1215,6 +1218,7 @@
 # 0: symbol, 1: message segment
 compiler.err.cant.access={0}\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n{1}
 
+# 0: file name, 1: message segment
 compiler.misc.bad.class.file.header=\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u306F\u4E0D\u6B63\u3067\u3059\n{1}\n\u524A\u9664\u3059\u308B\u304B\u3001\u30AF\u30E9\u30B9\u30D1\u30B9\u306E\u6B63\u3057\u3044\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3042\u308B\u304B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
 
 # 0: file name, 1: message segment
@@ -1244,6 +1248,12 @@
 
 compiler.misc.class.file.not.found={0}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
 
+# 0: classfile major version, 1: classfile minor version
+compiler.misc.invalid.default.interface=\u30D0\u30FC\u30B8\u30E7\u30F3{0}.{1}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306B\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
+
+# 0: classfile major version, 1: classfile minor version
+compiler.misc.invalid.static.interface=\u30D0\u30FC\u30B8\u30E7\u30F3{0}.{1}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306Bstatic\u30E1\u30BD\u30C3\u30C9\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
+
 # 0: name
 compiler.misc.file.doesnt.contain.class=\u30D5\u30A1\u30A4\u30EB\u306B\u30AF\u30E9\u30B9{0}\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093
 
@@ -1362,9 +1372,6 @@
 # 0: type, 1: list of type
 compiler.misc.inferred.do.not.conform.to.eq.bounds=\u63A8\u8AD6\u578B\u304C\u7B49\u4FA1\u5236\u7D04\u306B\u9069\u5408\u3057\u307E\u305B\u3093\n\u63A8\u8AD6: {0}\n\u7B49\u4FA1\u5236\u7D04: {1}
 
-# 0: list of type
-compiler.misc.cyclic.inference=\u63A8\u8AD6\u306E\u30EB\u30FC\u30D7\u306E\u305F\u3081\u3001\u63A8\u8AD6\u5909\u6570{0}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3067\u304D\u307E\u305B\u3093
-
 # 0: symbol
 compiler.misc.diamond={0}<>
 
@@ -1374,6 +1381,9 @@
 # 0: unused
 compiler.misc.diamond.and.explicit.params=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u660E\u793A\u7684\u306A\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u306F''<>''\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
 
+# 0: unused
+compiler.misc.mref.infer.and.explicit.params=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u660E\u793A\u7684\u306A\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u306Fraw\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u53C2\u7167\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+
 # 0: type, 1: list of type
 compiler.misc.explicit.param.do.not.conform.to.bounds=\u660E\u793A\u7684\u306A\u578B\u5F15\u6570{0}\u306F\u3001\u5BA3\u8A00\u3055\u308C\u305F\u5883\u754C{1}\u306B\u9069\u5408\u3057\u307E\u305B\u3093
 
@@ -1574,6 +1584,8 @@
 
 compiler.warn.underscore.as.identifier=\u8B58\u5225\u5B50\u3068\u3057\u3066''_''\u304C\u4F7F\u7528\u3055\u308C\u307E\u3057\u305F\n(\u8B58\u5225\u5B50\u3068\u3057\u3066\u306E''_''\u306E\u4F7F\u7528\u306F\u3001Java SE 8\u3088\u308A\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059)
 
+compiler.err.underscore.as.identifier.in.lambda=''_''\u304C\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\n(\u30E9\u30E0\u30C0\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u306F''_''\u3092\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u7981\u6B62\u3055\u308C\u3066\u3044\u307E\u3059)
+
 compiler.err.enum.as.identifier=\u30EA\u30EA\u30FC\u30B95\u304B\u3089''enum''\u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''enum''\u3092\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F-source 1.4\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
 compiler.err.assert.as.identifier=\u30EA\u30EA\u30FC\u30B91.4\u304B\u3089''assert''\u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u3001\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''assert''\u3092\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001-source 1.3\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
@@ -1585,11 +1597,12 @@
 compiler.err.receiver.parameter.not.applicable.constructor.toplevel.class=\u53D7\u53D6\u308A\u5074\u30D1\u30E9\u30E1\u30FC\u30BF\u306F\u6700\u4E0A\u4F4D\u30EC\u30D9\u30EB\u30FB\u30AF\u30E9\u30B9\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306B\u9069\u7528\u3067\u304D\u307E\u305B\u3093
 
 # TODO 308: make a better error message
-compiler.err.cant.annotate.static.class=\u5305\u542B\u3059\u308Bstatic\u306E\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30AF\u30E9\u30B9\u306F\u6CE8\u91C8\u4ED8\u3051\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+# 0: symbol
+compiler.err.cant.type.annotate.scoping.1=\u30B9\u30B3\u30FC\u30D7\u30FB\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30C8\u3092\u578B\u4F7F\u7528\u6CE8\u91C8\u3067\u6CE8\u91C8\u4ED8\u3051\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093: {0}
 
 # TODO 308: make a better error message
-# 0: unused
-compiler.err.cant.annotate.nested.type=static\u306E\u30CD\u30B9\u30C8\u3055\u308C\u305F\u30BF\u30A4\u30D7\u306E\u30B9\u30B3\u30FC\u30D7\u30FB\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30C8\u306B\u306F\u6CE8\u91C8\u4ED8\u3051\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093
+# 0: list of symbol
+compiler.err.cant.type.annotate.scoping=\u30B9\u30B3\u30FC\u30D7\u30FB\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30C8\u3092\u578B\u4F7F\u7528\u6CE8\u91C8\u3067\u6CE8\u91C8\u4ED8\u3051\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093: {0}
 
 # 0: type, 1: type
 compiler.err.incorrect.receiver.name=\u53D7\u53D6\u308A\u5074\u306E\u540D\u524D\u304C\u3001\u5305\u542B\u3059\u308B\u30AF\u30E9\u30B9\u30FB\u30BF\u30A4\u30D7\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093\n\u5FC5\u9808: {0}\n\u691C\u51FA: {1}
@@ -1618,7 +1631,10 @@
 compiler.err.type.annotations.not.supported.in.source=\u30BF\u30A4\u30D7\u6CE8\u91C8\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u30BF\u30A4\u30D7\u6CE8\u91C8\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 8\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
 # 0: string
-compiler.err.foreach.not.supported.in.source=for-each\u30EB\u30FC\u30D7\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(for-each\u30EB\u30FC\u30D7\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
+compiler.err.repeatable.annotations.not.supported.in.source=\u7E70\u8FD4\u3057\u6CE8\u91C8\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u7E70\u8FD4\u3057\u6CE8\u91C8\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 8\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
+
+# 0: string
+compiler.err.foreach.not.supported.in.source=\u62E1\u5F35for\u30EB\u30FC\u30D7\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(for-each\u30EB\u30FC\u30D7\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
 
 # 0: string
 compiler.err.static.import.not.supported.in.source=static import\u5BA3\u8A00\u306F -source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(static import\u5BA3\u8A00\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5\u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
--- a/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -72,21 +72,21 @@
 compiler.err.already.defined.in.clinit=\u5DF2\u5728{3} {4}\u7684{2}\u4E2D\u5B9A\u4E49\u4E86{0} {1}
 
 # 0: string
-compiler.err.already.defined.single.import=\u5DF2\u5728 single-type \u5BFC\u5165\u4E2D\u5B9A\u4E49{0}
+compiler.err.already.defined.single.import={0}\u7684 single-type-import \u5DF2\u5B9A\u4E49\u5177\u6709\u76F8\u540C\u7B80\u540D\u7684\u7C7B\u578B
 
 # 0: string
-compiler.err.already.defined.static.single.import=\u5DF2\u5728\u9759\u6001 single-type \u5BFC\u5165\u4E2D\u5B9A\u4E49{0}
+compiler.err.already.defined.static.single.import={0}\u7684\u9759\u6001 single-type-import \u5DF2\u5B9A\u4E49\u5177\u6709\u76F8\u540C\u7B80\u540D\u7684\u7C7B\u578B
 
 compiler.err.already.defined.this.unit=\u5DF2\u5728\u8BE5\u7F16\u8BD1\u5355\u5143\u4E2D\u5B9A\u4E49{0}
 
 # 0: type, 1: list of name
-compiler.err.annotation.missing.default.value=\u5BF9\u4E8E\u5C5E\u6027{1}, \u6CE8\u91CA{0}\u7F3A\u5C11\u503C
+compiler.err.annotation.missing.default.value=\u5BF9\u4E8E\u5143\u7D20 ''{1}'', \u6CE8\u91CA @{0} \u7F3A\u5C11\u9ED8\u8BA4\u503C
 
 # 0: type, 1: list of name
-compiler.err.annotation.missing.default.value.1=\u5BF9\u4E8E\u5C5E\u6027{1}, \u6CE8\u91CA{0}\u7F3A\u5C11\u503C
+compiler.err.annotation.missing.default.value.1=\u5BF9\u4E8E\u5143\u7D20{1}, \u6CE8\u91CA @{0} \u7F3A\u5C11\u9ED8\u8BA4\u503C
 
 # 0: type
-compiler.err.annotation.not.valid.for.type=\u5BF9\u4E8E\u7C7B\u578B\u4E3A{0}\u7684\u503C, \u6CE8\u91CA\u65E0\u6548
+compiler.err.annotation.not.valid.for.type=\u6CE8\u91CA\u5BF9\u4E8E\u7C7B\u578B{0}\u7684\u5143\u7D20\u65E0\u6548
 
 compiler.err.annotation.type.not.applicable=\u6CE8\u91CA\u7C7B\u578B\u4E0D\u9002\u7528\u4E8E\u8BE5\u7C7B\u578B\u7684\u58F0\u660E
 
@@ -112,7 +112,7 @@
 # 0: type
 compiler.err.array.req.but.found=\u9700\u8981\u6570\u7EC4, \u4F46\u627E\u5230{0}
 
-compiler.err.attribute.value.must.be.constant=\u5C5E\u6027\u503C\u5FC5\u987B\u4E3A\u5E38\u91CF
+compiler.err.attribute.value.must.be.constant=\u5143\u7D20\u503C\u5FC5\u987B\u4E3A\u5E38\u91CF\u8868\u8FBE\u5F0F
 
 # 0: statement type
 compiler.err.bad.initializer={0}\u7684\u521D\u59CB\u5316\u7A0B\u5E8F\u9519\u8BEF
@@ -223,62 +223,61 @@
 # 0: symbol
 compiler.err.cyclic.inheritance=\u6D89\u53CA{0}\u7684\u5FAA\u73AF\u7EE7\u627F
 
-compiler.err.cyclic.annotation.element=\u5FAA\u73AF\u6CE8\u91CA\u5143\u7D20\u7C7B\u578B
+# 0: symbol
+compiler.err.cyclic.annotation.element=\u5143\u7D20 {0} \u7684\u7C7B\u578B\u4E3A\u5FAA\u73AF
 
 # 0: unused
 compiler.err.call.to.super.not.allowed.in.enum.ctor=\u5728\u679A\u4E3E\u6784\u9020\u5668\u4E2D\u4E0D\u5141\u8BB8\u8C03\u7528\u8D85\u7C7B
 
 # 0: type
-compiler.err.no.superclass={0}\u4E0D\u5177\u6709\u8D85\u7C7B
+compiler.err.no.superclass={0}\u4E0D\u5177\u6709\u8D85\u7C7B\u3002
 
 # 0: symbol, 1: type, 2: symbol, 3: type, 4: unused
 compiler.err.concrete.inheritance.conflict={1}\u4E2D\u7684\u65B9\u6CD5{0}\u548C{3}\u4E2D\u7684\u65B9\u6CD5{2}\u662F\u4F7F\u7528\u76F8\u540C\u7684\u7B7E\u540D\u7EE7\u627F\u7684
 
-compiler.err.default.allowed.in.intf.annotation.member=\u4EC5\u5728 @interface \u6210\u5458\u4E2D\u5141\u8BB8\u4F7F\u7528\u9ED8\u8BA4\u503C
+compiler.err.default.allowed.in.intf.annotation.member=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E\u4E2D\u4EC5\u5141\u8BB8\u9ED8\u8BA4\u503C
 
 # 0: symbol
 compiler.err.doesnt.exist=\u7A0B\u5E8F\u5305{0}\u4E0D\u5B58\u5728
 
-compiler.err.duplicate.annotation=\u6CE8\u91CA\u91CD\u590D
-
 # 0: type
-compiler.err.duplicate.annotation.invalid.repeated=\u65E0\u6CD5\u91CD\u590D\u6CE8\u91CA{0}\n\u5B83\u6CA1\u6709\u5B9A\u4E49\u6709\u6548\u7684\u5305\u542B\u6CE8\u91CA\u3002
+compiler.err.duplicate.annotation.invalid.repeated=\u6CE8\u91CA{0}\u4E0D\u662F\u6709\u6548\u7684\u53EF\u91CD\u590D\u6CE8\u91CA
 
 # 0: name, 1: type
-compiler.err.duplicate.annotation.member.value={1}\u4E2D\u7684\u6CE8\u91CA\u6210\u5458\u503C{0}\u91CD\u590D
-
-# 0: type, 1: type
-compiler.err.duplicate.annotation.missing.container=\u6CE8\u91CA\u91CD\u590D: {0}\u7684\u58F0\u660E\u6CA1\u6709\u6709\u6548\u7684{1}\u6CE8\u91CA
-
-# 0: type
-compiler.err.invalid.repeatable.annotation=\u6CE8\u91CA\u91CD\u590D: \u4F7F\u7528\u65E0\u6548\u7684 Repeatable \u6CE8\u91CA\u5BF9{0}\u8FDB\u884C\u4E86\u6CE8\u91CA
+compiler.err.duplicate.annotation.member.value=\u6CE8\u91CA@{1}\u4E2D\u7684\u5143\u7D20 ''{0}'' \u91CD\u590D\u3002
+
+# 0: name, 1: unused
+compiler.err.duplicate.annotation.missing.container={0} \u4E0D\u662F\u53EF\u91CD\u590D\u7684\u6CE8\u91CA\u7C7B\u578B
+
+# 0: type, 1: unused
+compiler.err.invalid.repeatable.annotation=\u6CE8\u91CA\u91CD\u590D: \u4F7F\u7528\u65E0\u6548\u7684 @Repeatable \u6CE8\u91CA\u5BF9{0}\u8FDB\u884C\u4E86\u6CE8\u91CA
 
 # 0: symbol or type
-compiler.err.invalid.repeatable.annotation.no.value=\u6CE8\u91CA\u91CD\u590D: {0}\u4E0D\u662F\u6709\u6548\u7684 Repeatable, \u672A\u58F0\u660E\u4EFB\u4F55\u503C\u5143\u7D20\u65B9\u6CD5
+compiler.err.invalid.repeatable.annotation.no.value={0}\u4E0D\u662F\u6709\u6548\u7684 @Repeatable, \u672A\u58F0\u660E\u4EFB\u4F55\u503C\u5143\u7D20\u65B9\u6CD5
 
 # 0: type, 1: number
-compiler.err.invalid.repeatable.annotation.multiple.values=\u6CE8\u91CA\u91CD\u590D: {0}\u4E0D\u662F\u6709\u6548\u7684 Repeatable, \u5DF2\u58F0\u660E {1} \u4E2A\u503C\u5143\u7D20\u65B9\u6CD5
+compiler.err.invalid.repeatable.annotation.multiple.values={0}\u4E0D\u662F\u6709\u6548\u7684 @Repeatable, \u5DF2\u58F0\u660E {1} \u4E2A\u540D\u4E3A ''value'' \u7684\u5143\u7D20\u65B9\u6CD5
 
 # 0: type
-compiler.err.invalid.repeatable.annotation.invalid.value=\u6CE8\u91CA\u91CD\u590D: {0}\u4E0D\u662F\u6709\u6548\u7684 Repeatable: \u503C\u5143\u7D20\u65E0\u6548
-
-# 0: symbol type, 1: type, 2: type
-compiler.err.invalid.repeatable.annotation.value.return=\u6CE8\u91CA\u91CD\u590D: \u5305\u542B\u6CE8\u91CA{0}\u7684\u503C\u5143\u7D20\u5E94\u5177\u6709\u7C7B\u578B{2}, \u4F46\u627E\u5230\u7684\u662F{1}
+compiler.err.invalid.repeatable.annotation.invalid.value={0}\u4E0D\u662F\u6709\u6548\u7684 @Repeatable: \u503C\u5143\u7D20\u65E0\u6548
+
+# 0: symbol type, 1: unused, 2: type
+compiler.err.invalid.repeatable.annotation.value.return=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u5FC5\u987B\u58F0\u660E\u7C7B\u578B{2}\u7684\u540D\u4E3A ''value'' \u7684\u5143\u7D20
 
 # 0: symbol or type, 1: symbol
-compiler.err.invalid.repeatable.annotation.elem.nondefault=\u5305\u542B\u6CE8\u91CA{0}\u6CA1\u6709\u5143\u7D20 {1} \u7684\u9ED8\u8BA4\u503C
-
-# 0: symbol, 1: type, 2: symbol, 3: type
-compiler.err.invalid.repeatable.annotation.retention=\u5305\u542B\u6CE8\u91CA {0} \u7684\u4FDD\u7559\u671F ({1}) \u77ED\u4E8E\u5DF2\u5305\u542B\u6CE8\u91CA {2} \u7684\u4FDD\u7559\u671F ({3})
+compiler.err.invalid.repeatable.annotation.elem.nondefault=\u5BF9\u4E8E\u5143\u7D20 {1}, \u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u6CA1\u6709\u9ED8\u8BA4\u503C
+
+# 0: symbol, 1: unused, 2: symbol, 3: unused
+compiler.err.invalid.repeatable.annotation.retention=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u7684\u4FDD\u7559\u671F\u77ED\u4E8E\u53EF\u91CD\u590D\u6CE8\u91CA\u7C7B\u578B ({2}) \u7684\u4FDD\u7559\u671F
 
 # 0: symbol, 1: symbol
-compiler.err.invalid.repeatable.annotation.not.documented=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B {0} \u4E0D\u662F @Documented, \u800C\u91CD\u590D\u7684\u6CE8\u91CA\u7C7B\u578B {1} \u4E3A
+compiler.err.invalid.repeatable.annotation.not.documented=\u53EF\u91CD\u590D\u6CE8\u91CA\u7C7B\u578B ({1}) \u662F @Documented, \u800C\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u5219\u4E0D\u662F
 
 # 0: symbol, 1: symbol
-compiler.err.invalid.repeatable.annotation.not.inherited=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B {0} \u4E0D\u662F @Inherited, \u800C\u91CD\u590D\u7684\u6CE8\u91CA\u7C7B\u578B {1} \u4E3A
+compiler.err.invalid.repeatable.annotation.not.inherited=\u53EF\u91CD\u590D\u6CE8\u91CA\u7C7B\u578B ({1}) \u662F @Inherited, \u800C\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u5219\u4E0D\u662F
 
 # 0: symbol, 1: symbol
-compiler.err.invalid.repeatable.annotation.incompatible.target=\u5BB9\u5668\u6CE8\u91CA {0} \u7684\u76EE\u6807\u4E0D\u662F\u91CD\u590D\u6CE8\u91CA {1} \u7684\u76EE\u6807\u5B50\u96C6
+compiler.err.invalid.repeatable.annotation.incompatible.target=\u5305\u542B\u6CE8\u91CA\u7C7B\u578B ({0}) \u9002\u7528\u7684\u76EE\u6807\u591A\u4E8E\u53EF\u91CD\u590D\u6CE8\u91CA\u7C7B\u578B ({1})
 
 # 0: symbol
 compiler.err.invalid.repeatable.annotation.repeated.and.container.present=\u5BB9\u5668 {0} \u4E0D\u5F97\u4E0E\u5176\u5305\u542B\u7684\u5143\u7D20\u540C\u65F6\u5B58\u5728
@@ -408,20 +407,24 @@
 # 0: number
 compiler.err.int.number.too.large=\u8FC7\u5927\u7684\u6574\u6570: {0}
 
-compiler.err.intf.annotation.members.cant.have.params=@interface \u6210\u5458\u4E0D\u80FD\u5E26\u6709\u53C2\u6570
-
-compiler.err.intf.annotation.cant.have.type.params=@interface \u4E0D\u80FD\u5E26\u6709\u7C7B\u578B\u53C2\u6570
-
-compiler.err.intf.annotation.members.cant.have.type.params=@interface \u6210\u5458\u4E0D\u80FD\u5E26\u6709\u7C7B\u578B\u53C2\u6570
+compiler.err.intf.annotation.members.cant.have.params=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E\u4E2D\u7684\u5143\u7D20\u65E0\u6CD5\u58F0\u660E\u5F62\u53C2
+
+# 0: symbol
+compiler.err.intf.annotation.cant.have.type.params=\u6CE8\u91CA\u7C7B\u578B {0} \u4E0D\u80FD\u4E3A\u6CDB\u578B
+
+compiler.err.intf.annotation.members.cant.have.type.params=\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E\u4E2D\u7684\u5143\u7D20\u4E0D\u80FD\u4E3A\u6CDB\u578B\u65B9\u6CD5
 
 # 0: symbol, 1: type
-compiler.err.intf.annotation.member.clash=@interface \u6210\u5458\u4E0E{1}\u4E2D\u7684\u65B9\u6CD5 ''{0}'' \u51B2\u7A81
+compiler.err.intf.annotation.member.clash=\u6CE8\u91CA\u7C7B\u578B{1}\u58F0\u660E\u4E0E\u65B9\u6CD5 {0} \u540C\u540D\u7684\u5143\u7D20
 
 compiler.err.intf.expected.here=\u6B64\u5904\u9700\u8981\u63A5\u53E3
 
+compiler.err.intf.or.array.expected.here=\u6B64\u5904\u9884\u671F\u4E3A\u63A5\u53E3\u6216\u6570\u7EC4\u7C7B\u578B
+
 compiler.err.intf.meth.cant.have.body=\u63A5\u53E3\u62BD\u8C61\u65B9\u6CD5\u4E0D\u80FD\u5E26\u6709\u4E3B\u4F53
 
-compiler.err.invalid.annotation.member.type=\u6CE8\u91CA\u6210\u5458\u7684\u7C7B\u578B\u65E0\u6548
+# 0: symbol
+compiler.err.invalid.annotation.member.type=\u6CE8\u91CA\u7C7B\u578B\u5143\u7D20 {0} \u7684\u7C7B\u578B\u65E0\u6548
 
 compiler.err.invalid.binary.number=\u4E8C\u8FDB\u5236\u6570\u5B57\u4E2D\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u4E2A\u4E8C\u8FDB\u5236\u6570
 
@@ -531,9 +534,6 @@
 
 compiler.misc.incompatible.arg.types.in.mref=\u65B9\u6CD5\u5F15\u7528\u4E2D\u7684\u53C2\u6570\u7C7B\u578B\u4E0D\u517C\u5BB9
 
-# 0: list of type, 1: message segment
-compiler.misc.bad.arg.types.in.lambda=\u65E0\u6CD5\u4F7F\u7528\u63A8\u65AD\u53C2\u6570\u7C7B\u578B\u5BF9 lambda \u8868\u8FBE\u5F0F\u8FDB\u884C\u7C7B\u578B\u68C0\u67E5\n\u63A8\u65AD\u7C7B\u578B: {0}
-
 compiler.err.new.not.allowed.in.annotation=\u6CE8\u91CA\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528 ''new''
 
 compiler.err.no.annotation.member={1}\u4E2D\u6CA1\u6709\u6CE8\u91CA\u6210\u5458{0}
@@ -998,6 +998,9 @@
 # 0: symbol
 compiler.warn.missing.SVUID=\u53EF\u5E8F\u5217\u5316\u7C7B{0}\u6CA1\u6709 serialVersionUID \u7684\u5B9A\u4E49
 
+# 0: symbol, 1: symbol, 2: symbol, 3: symbol
+compiler.warn.potentially.ambiguous.overload={1} \u4E2D\u7684 {0} \u53EF\u80FD\u4E0E {3} \u4E2D\u7684 {2} \u6DF7\u6DC6
+
 # 0: message segment
 compiler.warn.override.varargs.missing={0}; \u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u6CA1\u6709 ''...''
 
@@ -1215,6 +1218,7 @@
 # 0: symbol, 1: message segment
 compiler.err.cant.access=\u65E0\u6CD5\u8BBF\u95EE{0}\n{1}
 
+# 0: file name, 1: message segment
 compiler.misc.bad.class.file.header=\u9519\u8BEF\u7684\u7C7B\u6587\u4EF6: {0}\n{1}\n\u8BF7\u5220\u9664\u8BE5\u6587\u4EF6\u6216\u786E\u4FDD\u8BE5\u6587\u4EF6\u4F4D\u4E8E\u6B63\u786E\u7684\u7C7B\u8DEF\u5F84\u5B50\u76EE\u5F55\u4E2D\u3002
 
 # 0: file name, 1: message segment
@@ -1244,6 +1248,12 @@
 
 compiler.misc.class.file.not.found=\u627E\u4E0D\u5230{0}\u7684\u7C7B\u6587\u4EF6
 
+# 0: classfile major version, 1: classfile minor version
+compiler.misc.invalid.default.interface=\u5728 {0}.{1} \u7248\u7C7B\u6587\u4EF6\u4E2D\u627E\u5230\u9ED8\u8BA4\u65B9\u6CD5
+
+# 0: classfile major version, 1: classfile minor version
+compiler.misc.invalid.static.interface=\u5728 {0}.{1} \u7248\u7C7B\u6587\u4EF6\u4E2D\u627E\u5230\u9759\u6001\u65B9\u6CD5
+
 # 0: name
 compiler.misc.file.doesnt.contain.class=\u6587\u4EF6\u4E0D\u5305\u542B\u7C7B{0}
 
@@ -1362,9 +1372,6 @@
 # 0: type, 1: list of type
 compiler.misc.inferred.do.not.conform.to.eq.bounds=\u63A8\u65AD\u7C7B\u578B\u4E0D\u7B26\u5408\u7B49\u5F0F\u7EA6\u675F\u6761\u4EF6\n\u63A8\u65AD: {0}\n\u7B49\u5F0F\u7EA6\u675F\u6761\u4EF6: {1}
 
-# 0: list of type
-compiler.misc.cyclic.inference=\u7531\u4E8E\u63A8\u8BBA\u5FAA\u73AF, \u65E0\u6CD5\u5B9E\u4F8B\u5316\u63A8\u8BBA\u53D8\u91CF{0}
-
 # 0: symbol
 compiler.misc.diamond={0}<>
 
@@ -1374,6 +1381,9 @@
 # 0: unused
 compiler.misc.diamond.and.explicit.params=\u4E0D\u80FD\u5C06 ''<>'' \u4E0E\u6784\u9020\u5668\u7684\u663E\u5F0F\u7C7B\u578B\u53C2\u6570\u4E00\u8D77\u4F7F\u7528
 
+# 0: unused
+compiler.misc.mref.infer.and.explicit.params=\u4E0D\u80FD\u5C06\u539F\u59CB\u6784\u9020\u5668\u5F15\u7528\u4E0E\u6784\u9020\u5668\u7684\u663E\u5F0F\u7C7B\u578B\u53C2\u6570\u4E00\u8D77\u4F7F\u7528
+
 # 0: type, 1: list of type
 compiler.misc.explicit.param.do.not.conform.to.bounds=\u663E\u5F0F\u7C7B\u578B\u53C2\u6570{0}\u4E0D\u7B26\u5408\u58F0\u660E\u7684\u8303\u56F4{1}
 
@@ -1574,6 +1584,8 @@
 
 compiler.warn.underscore.as.identifier=''_'' \u7528\u4F5C\u6807\u8BC6\u7B26\n(Java SE 8 \u4E4B\u540E\u7684\u53D1\u884C\u7248\u4E2D\u53EF\u80FD\u4E0D\u652F\u6301\u4F7F\u7528 ''_'' \u4F5C\u4E3A\u6807\u8BC6\u7B26)
 
+compiler.err.underscore.as.identifier.in.lambda=''_'' \u7528\u4F5C\u6807\u8BC6\u7B26\n(\u5BF9\u4E8E lambda \u53C2\u6570, \u7981\u6B62\u5C06 ''_'' \u7528\u4F5C\u6807\u8BC6\u7B26)
+
 compiler.err.enum.as.identifier=\u4ECE\u53D1\u884C\u7248 5 \u5F00\u59CB, ''enum'' \u4E3A\u5173\u952E\u5B57, \u800C\u4E0D\u7528\u4F5C\u6807\u8BC6\u7B26\n(\u8BF7\u4F7F\u7528 -source 1.4 \u6216\u66F4\u4F4E\u7248\u672C\u4EE5\u5C06 ''enum'' \u7528\u4F5C\u6807\u8BC6\u7B26)
 
 compiler.err.assert.as.identifier=\u4ECE\u53D1\u884C\u7248 1.4 \u5F00\u59CB, ''assert'' \u662F\u4E00\u4E2A\u5173\u952E\u5B57, \u4F46\u4E0D\u80FD\u7528\u4F5C\u6807\u8BC6\u7B26\n(\u8BF7\u4F7F\u7528 -source 1.3 \u6216\u66F4\u4F4E\u7248\u672C\u4EE5\u5C06 ''assert'' \u7528\u4F5C\u6807\u8BC6\u7B26)
@@ -1585,11 +1597,12 @@
 compiler.err.receiver.parameter.not.applicable.constructor.toplevel.class=\u63A5\u6536\u65B9\u53C2\u6570\u4E0D\u9002\u7528\u4E8E\u9876\u5C42\u7C7B\u7684\u6784\u9020\u5668
 
 # TODO 308: make a better error message
-compiler.err.cant.annotate.static.class=\u65E0\u6CD5\u5BF9\u5C01\u95ED\u9759\u6001\u5D4C\u5957\u7C7B\u8FDB\u884C\u6CE8\u91CA
+# 0: symbol
+compiler.err.cant.type.annotate.scoping.1=\u65E0\u6CD5\u4F7F\u7528 type-use \u6CE8\u91CA {0} \u6765\u6CE8\u91CA\u786E\u5B9A\u4F5C\u7528\u57DF\u7ED3\u6784
 
 # TODO 308: make a better error message
-# 0: unused
-compiler.err.cant.annotate.nested.type=\u65E0\u6CD5\u6CE8\u91CA\u7528\u4E8E\u9759\u6001\u5D4C\u5957\u7C7B\u578B\u7684\u786E\u5B9A\u4F5C\u7528\u57DF\u7ED3\u6784
+# 0: list of symbol
+compiler.err.cant.type.annotate.scoping=\u65E0\u6CD5\u4F7F\u7528 type-use \u6CE8\u91CA {0} \u6765\u6CE8\u91CA\u786E\u5B9A\u4F5C\u7528\u57DF\u7ED3\u6784
 
 # 0: type, 1: type
 compiler.err.incorrect.receiver.name=\u63A5\u6536\u65B9\u540D\u79F0\u4E0E\u5C01\u95ED\u7C7B\u7C7B\u578B\u4E0D\u5339\u914D\n\u9700\u8981: {0}\n\u627E\u5230: {1}
@@ -1618,7 +1631,10 @@
 compiler.err.type.annotations.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u7C7B\u578B\u6CE8\u91CA\n(\u8BF7\u4F7F\u7528 -source 8 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u7C7B\u578B\u6CE8\u91CA)
 
 # 0: string
-compiler.err.foreach.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301 for-each \u5FAA\u73AF\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 for-each \u5FAA\u73AF)
+compiler.err.repeatable.annotations.not.supported.in.source=-source {0}\u4E2D\u4E0D\u652F\u6301\u91CD\u590D\u6CE8\u91CA\n(\u8BF7\u4F7F\u7528 -source 8 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u91CD\u590D\u6CE8\u91CA)
+
+# 0: string
+compiler.err.foreach.not.supported.in.source=-source {0}\u4E2D\u4E0D\u652F\u6301\u589E\u5F3A\u578B for \u5FAA\u73AF\n(\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 for-each \u5FAA\u73AF)
 
 # 0: string
 compiler.err.static.import.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u9759\u6001\u5BFC\u5165\u58F0\u660E\n(\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u9759\u6001\u5BFC\u5165\u58F0\u660E)
--- a/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/util/AbstractDiagnosticFormatter.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javac/util/Names.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/util/Names.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javadoc/AnnotationDescImpl.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javadoc/ClassDocImpl.java	Thu Feb 06 16:12:26 2014 +0000
@@ -288,10 +288,6 @@
         return false;
     }
 
-    public boolean isFunctionalInterface() {
-        return env.types.isFunctionalInterface(tsym) && env.source.allowLambda();
-    }
-
     /**
      * Return the package that this class is contained in.
      */
--- a/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/javadoc/DocEnv.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javadoc/DocEnv.java	Thu Feb 06 16:12:26 2014 +0000
@@ -39,6 +39,7 @@
 import com.sun.tools.javac.code.Symbol.*;
 import com.sun.tools.javac.code.Type.ClassType;
 import com.sun.tools.javac.comp.Check;
+import com.sun.tools.javac.file.JavacFileManager;
 import com.sun.tools.javac.tree.JCTree;
 import com.sun.tools.javac.tree.JCTree.*;
 import com.sun.tools.javac.util.Context;
@@ -146,6 +147,9 @@
         chk = Check.instance(context);
         types = Types.instance(context);
         fileManager = context.get(JavaFileManager.class);
+        if (fileManager instanceof JavacFileManager) {
+            ((JavacFileManager)fileManager).setSymbolFileEnabled(false);
+        }
 
         // Default.  Should normally be reset with setLocale.
         this.doclocale = new DocLocale(this, "", breakiterator);
--- a/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javadoc/RootDocImpl.java	Thu Feb 06 16:12:26 2014 +0000
@@ -381,6 +381,11 @@
         env.initDoclint(opts, customTagNames);
     }
 
+    public boolean isFunctionalInterface(AnnotationDesc annotationDesc) {
+        return annotationDesc.annotationType().qualifiedName().equals(
+                env.syms.functionalInterfaceType.toString()) && env.source.allowLambda();
+    }
+
     public boolean showTagMessages() {
         return env.showTagMessages();
     }
--- a/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -55,8 +55,8 @@
 main.opt.o=\  -o <file>                \u51FA\u529B\u30D5\u30A1\u30A4\u30EB(-d\u304B-o\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u3092\u4F7F\u7528\u3059\u308B)
 main.opt.d=\  -d <dir>                 \u51FA\u529B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA
 main.opt.v=\  -v  -verbose             \u8A73\u7D30\u306A\u51FA\u529B\u3092\u884C\u3046
-main.opt.h=\  -h  --help  -?           \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3059\u308B
-main.opt.version=\  -version                 \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u8868\u793A\u3059\u308B
+main.opt.h=\  -h  --help  -?           \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B
+main.opt.version=\  -version                 \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B
 main.opt.jni=\  -jni                     JNI\u5F62\u5F0F\u306E\u30D8\u30C3\u30C0\u30FC\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8)
 main.opt.force=\  -force                   \u5E38\u306B\u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080
 main.opt.classpath=\  -classpath <path>        \u30AF\u30E9\u30B9\u3092\u30ED\u30FC\u30C9\u3059\u308B\u30D1\u30B9
--- a/src/share/classes/com/sun/tools/jdeps/Archive.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/jdeps/Archive.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/jdeps/ClassFileReader.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/jdeps/ClassFileReader.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/jdeps/JdepsTask.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/jdeps/JdepsTask.java	Thu Feb 06 16:12:26 2014 +0000
@@ -180,6 +180,15 @@
                 task.options.depth = 0;
             }
         },
+        new Option(false, "-jdkinternals") {
+            void process(JdepsTask task, String opt, String arg) {
+                task.options.findJDKInternals = true;
+                task.options.verbose = Analyzer.Type.CLASS;
+                if (task.options.includePattern == null) {
+                    task.options.includePattern = Pattern.compile(".*");
+                }
+            }
+        },
         new Option(false, "-version") {
             void process(JdepsTask task, String opt, String arg) {
                 task.options.version = true;
@@ -248,6 +257,11 @@
                 showHelp();
                 return EXIT_CMDERR;
             }
+            if (options.findJDKInternals &&
+                   (options.regex != null || options.packageNames.size() > 0 || options.showSummary)) {
+                showHelp();
+                return EXIT_CMDERR;
+            }
             if (options.showSummary && options.verbose != Analyzer.Type.SUMMARY) {
                 showHelp();
                 return EXIT_CMDERR;
@@ -571,6 +585,7 @@
         boolean wildcard;
         boolean apiOnly;
         boolean showLabel;
+        boolean findJDKInternals;
         String dotOutputDir;
         String classpath = "";
         int depth = 1;
@@ -681,11 +696,22 @@
         @Override
         public void visitDependence(String origin, Archive source,
                                     String target, Archive archive, Profile profile) {
-            if (!origin.equals(pkg)) {
-                pkg = origin;
-                writer.format("   %s (%s)%n", origin, source.getFileName());
+            if (options.findJDKInternals &&
+                    !(archive instanceof JDKArchive && profile == null)) {
+                // filter dependences other than JDK internal APIs
+                return;
             }
-            writer.format("      -> %-50s %s%n", target, getProfileArchiveInfo(archive, profile));
+            if (options.verbose == Analyzer.Type.VERBOSE) {
+                writer.format("   %-50s -> %-50s %s%n",
+                              origin, target, getProfileArchiveInfo(archive, profile));
+            } else {
+                if (!origin.equals(pkg)) {
+                    pkg = origin;
+                    writer.format("   %s (%s)%n", origin, source.getFileName());
+                }
+                writer.format("      -> %-50s %s%n",
+                              target, getProfileArchiveInfo(archive, profile));
+            }
         }
 
         @Override
@@ -717,6 +743,11 @@
         @Override
         public void visitDependence(String origin, Archive source,
                                     String target, Archive archive, Profile profile) {
+            if (options.findJDKInternals &&
+                    !(archive instanceof JDKArchive && profile == null)) {
+                // filter dependences other than JDK internal APIs
+                return;
+            }
             // if -P option is specified, package name -> profile will
             // be shown and filter out multiple same edges.
             String name = getProfileArchiveInfo(archive, profile);
--- a/src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -59,10 +59,19 @@
 main.opt.dotoutput=\
 \  -dotoutput <dir>                   Destination directory for DOT file output
 
+main.opt.jdkinternals=\
+\  -jdkinternals                      Finds class-level dependences on JDK internal APIs.\n\
+\                                     By default, it analyzes all classes on -classpath\n\
+\                                     and input files unless -include option is specified.\n\
+\                                     This option cannot be used with -p, -e and -s options.\n\
+\                                     WARNING: JDK internal APIs may not be accessible in\n\
+\                                     the next release.
+
 main.opt.depth=\
 \  -depth=<depth>                     Specify the depth of the transitive\n\
 \                                     dependency analysis
 
+
 err.unknown.option=unknown option: {0}
 err.missing.arg=no value given for {0}
 err.internal.error=internal error: {0} {1} {2}
--- a/src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -1,31 +1,35 @@
 main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes...>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001-h\u3001-?\u307E\u305F\u306F--help\u3092\u4F7F\u7528\u3057\u307E\u3059
 
-main.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes...>\n<classes>\u306B\u306F\u3001.class\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\u540D\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u30D5\u30A1\u30A4\u30EB\u3001\u5B8C\u5168\u4FEE\u98FE\u30AF\u30E9\u30B9\u540D\n\u307E\u305F\u306F\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9"*"\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u4F7F\u7528\u3067\u304D\u308B\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:
+main.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes...>\n<classes>\u306B\u306F\u3001.class\u30D5\u30A1\u30A4\u30EB\u306E\u30D1\u30B9\u540D\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u5B8C\u5168\u4FEE\u98FE\n\u30AF\u30E9\u30B9\u540D\u3092\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\u4F7F\u7528\u3067\u304D\u308B\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:
 
 error.prefix=\u30A8\u30E9\u30FC:
 warn.prefix=\u8B66\u544A:
 
-main.opt.h=\  -h -?      --help                    \u3053\u306E\u4F7F\u7528\u65B9\u6CD5\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B
+main.opt.h=\  -h -?        -help                 \u3053\u306E\u4F7F\u7528\u65B9\u6CD5\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059
 
-main.opt.version=\             --version                 \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
+main.opt.version=\  -version                           \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831
+
+main.opt.v=\  -v           -verbose              \u30AF\u30E9\u30B9\u30FB\u30EC\u30D9\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u3059\u3079\u3066\u51FA\u529B\u3057\u307E\u3059\n  -verbose:package                   \u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30EC\u30D9\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u51FA\u529B\u3057\u307E\u3059\n                                     (\u540C\u3058\u30A2\u30FC\u30AB\u30A4\u30D6\u5185\u306E\u4F9D\u5B58\u6027\u3092\u9664\u304F)\n  -verbose:class                     \u30AF\u30E9\u30B9\u30FB\u30EC\u30D9\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u51FA\u529B\u3057\u307E\u3059\n                                     (\u540C\u3058\u30A2\u30FC\u30AB\u30A4\u30D6\u5185\u306E\u4F9D\u5B58\u6027\u3092\u9664\u304F)
 
-main.opt.V=\  -V <level> --verbose-level=<level>   \u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30EC\u30D9\u30EB\u307E\u305F\u306F\u30AF\u30E9\u30B9\u30FB\u30EC\u30D9\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u51FA\u529B\u3059\u308B\n                                       \u6709\u52B9\u306A\u30EC\u30D9\u30EB: "package"\u304A\u3088\u3073"class"
+main.opt.s=\  -s           -summary              \u4F9D\u5B58\u6027\u306E\u8981\u7D04\u306E\u307F\u51FA\u529B\u3057\u307E\u3059
 
-main.opt.v=\  -v         --verbose                 \u8FFD\u52A0\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B
+main.opt.p=\  -p <pkgname> -package <pkgname>    \u6307\u5B9A\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u5185\u306E\u4F9D\u5B58\u6027\u3092\u691C\u51FA\u3057\u307E\u3059\n                                     (\u8907\u6570\u56DE\u6307\u5B9A\u53EF\u80FD)
 
-main.opt.s=\  -s         --summary                 \u4F9D\u5B58\u6027\u306E\u8981\u7D04\u306E\u307F\u51FA\u529B\u3059\u308B
+main.opt.e=\  -e <regex>   -regex <regex>        \u30D1\u30BF\u30FC\u30F3\u306B\u4E00\u81F4\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u5185\u306E\u4F9D\u5B58\u6027\u3092\u691C\u51FA\u3057\u307E\u3059\n                                     (-p\u3068-e\u306F\u6392\u4ED6\u7684)
 
-main.opt.p=\  -p <pkg name> --package=<pkg name>   \u5206\u6790\u3092\u3053\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30AF\u30E9\u30B9\u306B\u5236\u9650\u3059\u308B\n                                       (\u8907\u6570\u56DE\u6307\u5B9A\u53EF\u80FD)
+main.opt.include=\  -include <regex>                   \u30D1\u30BF\u30FC\u30F3\u306B\u4E00\u81F4\u3059\u308B\u30AF\u30E9\u30B9\u306B\u5206\u6790\u3092\u5236\u9650\u3057\u307E\u3059\n                                     \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\u5206\u6790\u5BFE\u8C61\u30AF\u30E9\u30B9\u306E\n                                     \u30EA\u30B9\u30C8\u304C\u30D5\u30A3\u30EB\u30BF\u51E6\u7406\u3055\u308C\u307E\u3059\u3002\u30D1\u30BF\u30FC\u30F3\u3092\u4F9D\u5B58\u6027\u306B\n                                     \u9069\u7528\u3059\u308B-p\u304A\u3088\u3073-e\u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u3059
 
-main.opt.e=\  -e <regex> --regex=<regex>           \u5206\u6790\u3092\u30D1\u30BF\u30FC\u30F3\u306B\u4E00\u81F4\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u5236\u9650\u3059\u308B\n                                       (-p\u3068-e\u306F\u6392\u4ED6\u7684)
+main.opt.P=\  -P           -profile              \u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3001\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u542B\u3080\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A\u3057\u307E\u3059
 
-main.opt.P=\  -P         --profile                 \u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u542B\u3080\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A\u3059\u308B
+main.opt.cp=\  -cp <path>   -classpath <path>     \u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3057\u307E\u3059
 
-main.opt.c=\  -c <path>  --classpath=<path>        \u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B
+main.opt.R=\  -R           -recursive            \u3059\u3079\u3066\u306E\u4F9D\u5B58\u6027\u3092\u53CD\u5FA9\u7684\u306B\u8D70\u67FB\u3057\u307E\u3059
+
+main.opt.apionly=\  -apionly                           \u5206\u6790\u3092API\u3001\u3064\u307E\u308A\u3001\u30D1\u30D6\u30EA\u30C3\u30AF\u30FB\u30AF\u30E9\u30B9\u306E\n                                     \u30D1\u30D6\u30EA\u30C3\u30AF\u30FB\u30E1\u30F3\u30D0\u30FC\u304A\u3088\u3073\u4FDD\u8B77\u3055\u308C\u305F\u30E1\u30F3\u30D0\u30FC\u306E\n                                     \u7F72\u540D\u306B\u304A\u3051\u308B\u4F9D\u5B58\u6027(\u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30BF\u30A4\u30D7\u3001\u30E1\u30BD\u30C3\u30C9\u30FB\n                                     \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7\u3001\u623B\u3055\u308C\u305F\u30BF\u30A4\u30D7\u3001\u30C1\u30A7\u30C3\u30AF\u3055\u308C\u305F\n                                     \u4F8B\u5916\u30BF\u30A4\u30D7\u306A\u3069)\u306B\u5236\u9650\u3057\u307E\u3059
 
-main.opt.R=\  -R         --recursive               \u3059\u3079\u3066\u306E\u4F9D\u5B58\u6027\u3092\u53CD\u5FA9\u7684\u306B\u8D70\u67FB\u3059\u308B
+main.opt.dotoutput=\  -dotoutput <dir>                   DOT\u30D5\u30A1\u30A4\u30EB\u51FA\u529B\u306E\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA
 
-main.opt.d=\  -d <depth> --depth=<depth>           \u63A8\u79FB\u7684\u306A\u4F9D\u5B58\u6027\u5206\u6790\u306E\u6DF1\u3055\u3092\u6307\u5B9A\u3059\u308B
+main.opt.depth=\  -depth=<depth>                     \u63A8\u79FB\u7684\u306A\u4F9D\u5B58\u6027\u5206\u6790\u306E\u6DF1\u3055\u3092\n                                     \u6307\u5B9A\u3057\u307E\u3059
 
 err.unknown.option=\u4E0D\u660E\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}
 err.missing.arg={0}\u306B\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
@@ -34,6 +38,7 @@
 err.option.after.class=\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AF\u30E9\u30B9\u306E\u524D\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0}
 err.option.unsupported={0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {1}
 err.profiles.msg=\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093
+err.dot.output.path=\u7121\u52B9\u306A\u30D1\u30B9: {0}
 warn.invalid.arg=\u7121\u52B9\u306A\u30AF\u30E9\u30B9\u540D\u307E\u305F\u306F\u30D1\u30B9\u540D\u304C\u5B58\u5728\u3057\u307E\u305B\u3093: {0}
 warn.split.package=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F{1} {2}\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
 
--- a/src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties	Thu Feb 06 16:12:26 2014 +0000
@@ -1,31 +1,35 @@
 main.usage.summary=\u7528\u6CD5: {0} <options> <classes...>\n\u4F7F\u7528 -h, -? \u6216 --help \u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
 
-main.usage=\u7528\u6CD5: {0} <options> <classes...>\n\u5176\u4E2D, <classes> \u53EF\u4EE5\u662F .class \u6587\u4EF6, \u76EE\u5F55, JAR \u6587\u4EF6\u7684\u8DEF\u5F84\u540D,\n\u4E5F\u53EF\u4EE5\u662F\u5168\u9650\u5B9A\u7C7B\u540D\u6216\u901A\u914D\u7B26 "*"\u3002\u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC:
+main.usage=\u7528\u6CD5: {0} <options> <classes...>\n\u5176\u4E2D <classes> \u53EF\u4EE5\u662F .class \u6587\u4EF6, \u76EE\u5F55, JAR \u6587\u4EF6\u7684\u8DEF\u5F84\u540D,\n\u4E5F\u53EF\u4EE5\u662F\u5168\u9650\u5B9A\u7C7B\u540D\u3002\u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC:
 
 error.prefix=\u9519\u8BEF:
 warn.prefix=\u8B66\u544A:
 
-main.opt.h=\  -h -?      --help                    \u8F93\u51FA\u6B64\u7528\u6CD5\u6D88\u606F
+main.opt.h=\  -h -?        -help                 \u8F93\u51FA\u6B64\u7528\u6CD5\u6D88\u606F
 
-main.opt.version=\             --version                 \u7248\u672C\u4FE1\u606F
+main.opt.version=\  -version                           \u7248\u672C\u4FE1\u606F
+
+main.opt.v=\  -v           -verbose              \u8F93\u51FA\u6240\u6709\u7C7B\u7EA7\u522B\u88AB\u4F9D\u8D56\u5BF9\u8C61\n  -verbose:package                   \u8F93\u51FA\u7A0B\u5E8F\u5305\u7EA7\u522B\u88AB\u4F9D\u8D56\u5BF9\u8C61, \u4E0D\u5305\u62EC\n                                     \u540C\u4E00\u6863\u6848\u4E2D\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\n  -verbose:class                     \u8F93\u51FA\u7C7B\u7EA7\u522B\u88AB\u4F9D\u8D56\u5BF9\u8C61, \u4E0D\u5305\u62EC\n                                     \u540C\u4E00\u6863\u6848\u4E2D\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61
 
-main.opt.V=\  -V <level> --verbose-level=<level>   \u8F93\u51FA\u7A0B\u5E8F\u5305\u7EA7\u522B\u6216\u7C7B\u7EA7\u522B\u88AB\u4F9D\u8D56\u5BF9\u8C61\n                                       \u6709\u6548\u7EA7\u522B\u4E3A: "\u7A0B\u5E8F\u5305" \u548C "\u7C7B"
+main.opt.s=\  -s           -summary              \u4EC5\u8F93\u51FA\u88AB\u4F9D\u8D56\u5BF9\u8C61\u6982\u8981
 
-main.opt.v=\  -v         --verbose                 \u8F93\u51FA\u9644\u52A0\u4FE1\u606F
+main.opt.p=\  -p <pkgname> -package <pkgname>    \u67E5\u627E\u7ED9\u5B9A\u7A0B\u5E8F\u5305\u4E2D\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\n                                     (\u53EF\u80FD\u591A\u6B21\u6307\u5B9A)
 
-main.opt.s=\  -s         --summary                 \u4EC5\u8F93\u51FA\u88AB\u4F9D\u8D56\u5BF9\u8C61\u6982\u8981
+main.opt.e=\  -e <regex>   -regex <regex>        \u67E5\u627E\u4E0E\u6A21\u5F0F\u5339\u914D\u7684\u7A0B\u5E8F\u5305\u4E2D\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\n                                     (-p \u548C -e \u4E92\u76F8\u6392\u65A5)
 
-main.opt.p=\  -p <pkg name> --package=<pkg name>   \u5C06\u5206\u6790\u9650\u5236\u4E3A\u6B64\u7A0B\u5E8F\u5305\u4E2D\u7684\u7C7B\n                                       (\u53EF\u4EE5\u6307\u5B9A\u591A\u6B21)
+main.opt.include=\  -include <regex>                   \u5C06\u5206\u6790\u9650\u5236\u4E3A\u4E0E\u6A21\u5F0F\u5339\u914D\u7684\u7C7B\n                                     \u6B64\u9009\u9879\u7B5B\u9009\u8981\u5206\u6790\u7684\u7C7B\u7684\u5217\u8868\u3002\n                                     \u5B83\u53EF\u4EE5\u4E0E\u5411\u88AB\u4F9D\u8D56\u5BF9\u8C61\u5E94\u7528\u6A21\u5F0F\u7684\n                                     -p \u548C -e \u7ED3\u5408\u4F7F\u7528
 
-main.opt.e=\  -e <regex> --regex=<regex>           \u5C06\u5206\u6790\u9650\u5236\u4E3A\u4E0E\u6A21\u5F0F\u5339\u914D\u7684\u7A0B\u5E8F\u5305\n                                       (-p \u548C -e \u4E92\u65A5)
+main.opt.P=\  -P           -profile              \u663E\u793A\u914D\u7F6E\u6587\u4EF6\u6216\u5305\u542B\u7A0B\u5E8F\u5305\u7684\u6587\u4EF6
 
-main.opt.P=\  -P         --profile                 \u663E\u793A\u914D\u7F6E\u6587\u4EF6\u6216\u5305\u542B\u7A0B\u5E8F\u5305\u7684\u6587\u4EF6
+main.opt.cp=\  -cp <path>   -classpath <path>     \u6307\u5B9A\u67E5\u627E\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E
 
-main.opt.c=\  -c <path>  --classpath=<path>        \u6307\u5B9A\u67E5\u627E\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E
+main.opt.R=\  -R           -recursive            \u9012\u5F52\u904D\u5386\u6240\u6709\u88AB\u4F9D\u8D56\u5BF9\u8C61
+
+main.opt.apionly=\  -apionly                           \u901A\u8FC7\u516C\u5171\u7C7B (\u5305\u62EC\u5B57\u6BB5\u7C7B\u578B, \u65B9\u6CD5\u53C2\u6570\n                                     \u7C7B\u578B, \u8FD4\u56DE\u7C7B\u578B, \u53D7\u63A7\u5F02\u5E38\u9519\u8BEF\u7C7B\u578B\n                                     \u7B49) \u7684\u516C\u5171\u548C\u53D7\u4FDD\u62A4\u6210\u5458\u7684\u7B7E\u540D\n                                     \u9650\u5236\u5BF9 API (\u5373\u88AB\u4F9D\u8D56\u5BF9\u8C61)\n                                     \u8FDB\u884C\u5206\u6790
 
-main.opt.R=\  -R         --recursive               \u9012\u5F52\u904D\u5386\u6240\u6709\u88AB\u4F9D\u8D56\u5BF9\u8C61
+main.opt.dotoutput=\  -dotoutput <dir>                   DOT \u6587\u4EF6\u8F93\u51FA\u7684\u76EE\u6807\u76EE\u5F55
 
-main.opt.d=\  -d <depth> --depth=<depth>           \u6307\u5B9A\u8FC7\u6E21\u88AB\u4F9D\u8D56\u5BF9\u8C61\u5206\u6790\u7684\u6DF1\u5EA6
+main.opt.depth=\  -depth=<depth>                     \u6307\u5B9A\u8FC7\u6E21\u88AB\u4F9D\u8D56\u5BF9\u8C61\u5206\u6790\n                                     \u7684\u6DF1\u5EA6
 
 err.unknown.option=\u672A\u77E5\u9009\u9879: {0}
 err.missing.arg=\u6CA1\u6709\u4E3A{0}\u6307\u5B9A\u503C
@@ -34,6 +38,7 @@
 err.option.after.class=\u5FC5\u987B\u5728\u7C7B\u4E4B\u524D\u6307\u5B9A\u9009\u9879: {0}
 err.option.unsupported=\u4E0D\u652F\u6301{0}: {1}
 err.profiles.msg=\u6CA1\u6709\u914D\u7F6E\u6587\u4EF6\u4FE1\u606F
+err.dot.output.path=\u65E0\u6548\u8DEF\u5F84: {0}
 warn.invalid.arg=\u7C7B\u540D\u65E0\u6548\u6216\u8DEF\u5F84\u540D\u4E0D\u5B58\u5728: {0}
 warn.split.package=\u5DF2\u5728{1} {2}\u4E2D\u5B9A\u4E49\u7A0B\u5E8F\u5305{0}
 
--- a/src/share/classes/com/sun/tools/sjavac/CleanProperties.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/CleanProperties.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/CompileChunk.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/CompileChunk.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/CompileProperties.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/CompileProperties.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/CopyFile.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/CopyFile.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/JavacState.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/JavacState.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Log.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/Log.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Module.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/Module.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Package.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/Package.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/ProblemException.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/ProblemException.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Source.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/Source.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Transformer.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/Transformer.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/Util.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/Util.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/comp/JavaCompilerWithDeps.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/comp/PubapiVisitor.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/comp/ResolveWithDeps.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/comp/SmartFileManager.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/comp/SmartFileObject.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/comp/SmartWriter.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/server/CompilerPool.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/server/CompilerPool.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/server/PortFile.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/server/PortFile.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/com/sun/tools/sjavac/server/SysInfo.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/com/sun/tools/sjavac/server/SysInfo.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/element/TypeElement.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/javax/lang/model/element/TypeElement.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/element/VariableElement.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/javax/lang/model/element/VariableElement.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/element/package-info.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/javax/lang/model/element/package-info.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/type/DeclaredType.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/javax/lang/model/type/DeclaredType.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -49,14 +49,6 @@
  * Types#directSupertypes(TypeMirror)} method.  This returns the
  * supertypes with any type arguments substituted in.
  *
- * <p> This interface is also used to represent intersection types.
- * An intersection type is implicit in a program rather than being
- * explictly declared.  For example, the bound of the type parameter
- * {@code <T extends Number & Runnable>}
- * is an intersection type.  It is represented by a {@code DeclaredType}
- * with {@code Number} as its superclass and {@code Runnable} as its
- * lone superinterface.
- *
  * @author Joseph D. Darcy
  * @author Scott Seligman
  * @author Peter von der Ah&eacute;
--- a/src/share/classes/javax/lang/model/type/IntersectionType.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/javax/lang/model/type/IntersectionType.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,9 +30,17 @@
 /**
  * Represents an intersection type.
  *
- * As of the {@link javax.lang.model.SourceVersion#RELEASE_8
- * RELEASE_8} source version, intersection types can appear as the target type
- * of a cast expression.
+ * <p>An intersection type can be either implicitly or explicitly
+ * declared in a program. For example, the bound of the type parameter
+ * {@code <T extends Number & Runnable>} is an (implicit) intersection
+ * type.  As of {@link javax.lang.model.SourceVersion#RELEASE_8
+ * RELEASE_8}, this is represented by an {@code IntersectionType} with
+ * {@code Number} and {@code Runnable} as its bounds.
+ *
+ * @implNote Also as of {@link
+ * javax.lang.model.SourceVersion#RELEASE_8 RELEASE_8}, in the
+ * reference implementation an {@code IntersectionType} is used to
+ * model the explicit target type of a cast expression.
  *
  * @since 1.8
  */
--- a/src/share/classes/javax/lang/model/type/TypeVariable.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/javax/lang/model/type/TypeVariable.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -62,10 +62,9 @@
      * <p> If this type variable was declared with no explicit
      * upper bounds, the result is {@code java.lang.Object}.
      * If it was declared with multiple upper bounds,
-     * the result is an intersection type (modeled as a
-     * {@link DeclaredType}).
-     * Individual bounds can be found by examining the result's
-     * {@linkplain Types#directSupertypes(TypeMirror) supertypes}.
+     * the result is an {@linkplain IntersectionType intersection type};
+     * individual bounds can be found by examining the result's
+     * {@linkplain IntersectionType#getBounds() bounds}.
      *
      * @return the upper bound of this type variable
      */
--- a/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/src/share/classes/javax/lang/model/util/Types.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/src/share/classes/javax/lang/model/util/Types.java	Thu Feb 06 16:12:26 2014 +0000
@@ -60,13 +60,6 @@
     /**
      * Tests whether two {@code TypeMirror} objects represent the same type.
      *
-     * <p>Since annotations are only meta-data associated with a type,
-     * the set of annotations on either argument is <em>not</em> taken
-     * into account when computing whether or not two {@code
-     * TypeMirror} objects are the same type. In particular, two
-     * {@code TypeMirror} objects can have different annotations and
-     * still be considered the same.
-     *
      * <p>Caveat: if either of the arguments to this method represents a
      * wildcard, this method will return false.  As a consequence, a wildcard
      * is not the same type as itself.  This might be surprising at first,
@@ -77,6 +70,13 @@
      *   {@code list.add(list.get(0));}
      * </pre>
      *
+     * <p>Since annotations are only meta-data associated with a type,
+     * the set of annotations on either argument is <em>not</em> taken
+     * into account when computing whether or not two {@code
+     * TypeMirror} objects are the same type. In particular, two
+     * {@code TypeMirror} objects can have different annotations and
+     * still be considered the same.
+     *
      * @param t1  the first type
      * @param t2  the second type
      * @return {@code true} if and only if the two types are the same
--- a/test/com/sun/javadoc/AccessH1/AccessH1.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/AccessH1/AccessH1.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 4636667 7052425
+ * @bug 4636667 7052425 8016549
  * @summary  Use <H1, <H2>, and <H3> in proper sequence for accessibility
  * @author dkramer
  * @run main AccessH1
@@ -85,7 +85,7 @@
     private static final String[][] testArray = {
         // Test the style sheet
         {
-            "h1 {" + LS + "    font-size:1.8em;" + LS +
+            "h1 {" + LS + "    font-size:20px;" + LS +
             "}",
             TMPDEST_DIR1 + "stylesheet.css"
         },
--- a/test/com/sun/javadoc/testAbstractMethod/TestAbstractMethod.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testAbstractMethod/TestAbstractMethod.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testAbstractMethod/pkg/A.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testAbstractMethod/pkg/A.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testAbstractMethod/pkg/B.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testAbstractMethod/pkg/B.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testAbstractMethod/pkg/C.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testAbstractMethod/pkg/C.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testAnnotationOptional/pkg/AnnotationOptional.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testAnnotationOptional/pkg/AnnotationOptional.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/sun/javadoc/testCompletionFailure/TestCompletionFailure.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8027977
+ * @summary Test to verify javadoc executes without CompletionFailure exception.
+ * @author Bhavesh Patel
+ * @library ../lib/
+ * @build JavadocTester TestCompletionFailure
+ * @run main TestCompletionFailure
+ */
+
+public class TestCompletionFailure extends JavadocTester {
+
+    private static final String BUG_ID = "8027977";
+
+    //Input for string search tests.
+    private static final String[][] NEGATED_TEST = {
+        {ERROR_OUTPUT, "TestCompletionFailure: error - " +
+            "com.sun.tools.javac.code.Symbol$CompletionFailure: class file for " +
+            "sun.util.locale.provider.LocaleProviderAdapter not found"
+        }
+    };
+
+    private static final String[] ARGS = new String[] {
+        "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"
+    };
+
+    /**
+     * The entry point of the test.
+     * @param args the array of command line arguments.
+     */
+    public static void main(String[] args) throws Exception {
+        TestCompletionFailure tester = new TestCompletionFailure();
+        run(tester, ARGS, NO_TEST, NEGATED_TEST);
+        tester.printSummary();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getBugId() {
+        return BUG_ID;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getBugName() {
+        return getClass().getName();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/sun/javadoc/testCompletionFailure/pkg1/NumberFormatTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg1;
+
+import java.text.NumberFormat;
+
+public abstract class NumberFormatTest extends NumberFormat { }
--- a/test/com/sun/javadoc/testDocRootLink/TestDocRootLink.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testDocRootLink/TestDocRootLink.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 6553182
+ * @bug 6553182 8025416 8029504
  * @summary This test verifies the -Xdocrootparent option.
  * @author Bhavesh Patel
  * @library ../lib/
@@ -35,43 +35,87 @@
     private static final String BUG_ID = "6553182";
     private static final String[][] TEST1 = {
         {BUG_ID + FS + "pkg1" + FS + "C1.html",
-            "<a href=\"../../technotes/guides/index.html\">"
+            "Refer <a href=\"../../technotes/guides/index.html\">Here</a>"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "C1.html",
+            "This <a href=\"../pkg2/C2.html\">Here</a> should not be replaced" + NL +
+            " with an absolute link."
+        },
+        {BUG_ID + FS + "pkg1" + FS + "C1.html",
+            "Testing <a href=\"../technotes/guides/index.html\">Link 1</a> and" + NL +
+            " <a href=\"../pkg2/C2.html\">Link 2</a>."
         },
         {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
-            "<a href=\"../../technotes/guides/index.html\">"
+            "<a href=\"../../technotes/guides/index.html\">" + NL +
+            "            Test document 1</a>"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
+            "<a href=\"../pkg2/C2.html\">" + NL +
+            "            Another Test document 1</a>"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
+            "<a href=\"../technotes/guides/index.html\">" + NL +
+            "            Another Test document 2.</a>"
         }
     };
     private static final String[][] NEGATED_TEST1 = {
         {BUG_ID + FS + "pkg1" + FS + "C1.html",
             "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">"
         },
+        {BUG_ID + FS + "pkg1" + FS + "C1.html",
+            "<a href=\"http://download.oracle.com/javase/7/docs/pkg2/C2.html\">"
+        },
         {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
             "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "package-summary.html",
+            "<a href=\"http://download.oracle.com/javase/7/docs/pkg2/C2.html\">"
         }
     };
     private static final String[][] TEST2 = {
-        {BUG_ID + FS + "pkg2" + FS + "C2.html",
-            "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">"
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html",
+            "Refer <a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">Here</a>"
+        },
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html",
+            "This <a href=\"../pkg1/C1.html\">Here</a> should not be replaced" + NL +
+            " with an absolute link."
         },
-        {BUG_ID + FS + "pkg2" + FS + "package-summary.html",
-            "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">"
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html",
+            "Testing <a href=\"../technotes/guides/index.html\">Link 1</a> and" + NL +
+            " <a href=\"../pkg1/C1.html\">Link 2</a>."
+        },
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html",
+            "<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">" + NL +
+            "            Test document 1</a>"
+        },
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html",
+            "<a href=\"../pkg1/C1.html\">" + NL + "            Another Test document 1</a>"
+        },
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html",
+            "<a href=\"../technotes/guides/index.html\">" + NL + "            Another Test document 2.</a>"
         }
     };
     private static final String[][] NEGATED_TEST2 = {
-        {BUG_ID + FS + "pkg2" + FS + "C2.html",
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html",
             "<a href=\"../../technotes/guides/index.html\">"
         },
-        {BUG_ID + FS + "pkg2" + FS + "package-summary.html",
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "C2.html",
+            "<a href=\"http://download.oracle.com/javase/7/docs/pkg1/C1.html\">"
+        },
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html",
             "<a href=\"../../technotes/guides/index.html\">"
+        },
+        {BUG_ID + "-1" + FS + "pkg2" + FS + "package-summary.html",
+            "<a href=\"http://download.oracle.com/javase/7/docs/pkg1/C1.html\">"
         }
     };
     private static final String[] ARGS1 =
             new String[]{
-        "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"
+        "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1", "pkg2"
     };
     private static final String[] ARGS2 =
             new String[]{
-        "-d", BUG_ID, "-Xdocrootparent", "http://download.oracle.com/javase/7/docs", "-sourcepath", SRC_DIR, "pkg2"
+        "-d", BUG_ID + "-1", "-Xdocrootparent", "http://download.oracle.com/javase/7/docs", "-sourcepath", SRC_DIR, "pkg1", "pkg2"
     };
 
     /**
--- a/test/com/sun/javadoc/testDocRootLink/pkg1/C1.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testDocRootLink/pkg1/C1.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,12 @@
 
 /**
  * Class 1. This is a test.
- * Refer <a href="{@docRoot}/../technotes/guides/index.html">Here</a>. Lets see if this works
- * or not.
+ * Refer <a href="{@docRoot}/../technotes/guides/index.html">Here</a>. This link should
+ * not be replaced with an absolute link.
+ * This <a href="{@docRoot}/pkg2/C2.html">Here</a> should not be replaced
+ * with an absolute link.
+ * Testing <a href="{@docRoot}/technotes/guides/index.html">Link 1</a> and
+ * <a href="{@docRoot}/pkg2/C2.html">Link 2</a>. 2 back-to-back links using
+ * docroot. These should not be replaced with an absolute link.
  */
 public class C1 {}
--- a/test/com/sun/javadoc/testDocRootLink/pkg1/package.html	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testDocRootLink/pkg1/package.html	Thu Feb 06 16:12:26 2014 +0000
@@ -3,16 +3,16 @@
 <title>javax.management package</title>
 </head>
 <body bgcolor="white">
-This is a test.
-      <p id="spec">
-    @see <a href="{@docRoot}/../technotes/guides/index.html">
-      Test document 1</a>
-      in particular the
-      <a href="{@docRoot}/../technotes/guides/index.html">
+    This is a test.
+    <p id="spec">
+        @see <a href="{@docRoot}/../technotes/guides/index.html">
+            Test document 1</a> should not be replaced with an absolute link.
+        @see <a href="{@docRoot}/pkg2/C2.html">
+            Another Test document 1</a> which should not be replaced with an absolute link.
+        <a href="{@docRoot}/technotes/guides/index.html">
+            Another Test document 2.</a> which should not be replaced with an absolute link.
 
-      Test document 2.</a>
-
-	@since 1.5
+        @since 1.5
 
 </body>
 </html>
--- a/test/com/sun/javadoc/testDocRootLink/pkg2/C2.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testDocRootLink/pkg2/C2.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,13 @@
 package pkg2;
 
 /**
- * Class 1. This is a test.
- * Refer <a href="{@docRoot}/../technotes/guides/index.html">Here</a>. Lets see if this works
- * or not.
+ * Class 2. This is a test.
+ * Refer <a href="{@docRoot}/../technotes/guides/index.html">Here</a> should be
+ * replaced with an absolute link.
+ * This <a href="{@docRoot}/pkg1/C1.html">Here</a> should not be replaced
+ * with an absolute link.
+ * Testing <a href="{@docRoot}/technotes/guides/index.html">Link 1</a> and
+ * <a href="{@docRoot}/pkg1/C1.html">Link 2</a>. Both should not be replaced with
+ * an absolute link.
  */
 public class C2 {}
--- a/test/com/sun/javadoc/testDocRootLink/pkg2/package.html	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testDocRootLink/pkg2/package.html	Thu Feb 06 16:12:26 2014 +0000
@@ -3,16 +3,16 @@
 <title>javax.management package</title>
 </head>
 <body bgcolor="white">
-This is a test.
-      <p id="spec">
-    @see <a href="{@docRoot}/../technotes/guides/index.html">
-      Test document 1</a>
-      in particular the
-      <a href="{@docRoot}/../technotes/guides/index.html">
+    This is a test.
+    <p id="spec">
+        @see <a href="{@docRoot}/../technotes/guides/index.html">
+            Test document 1</a> should be replaced with an absolute link.
+        @see <a href="{@docRoot}/pkg1/C1.html">
+            Another Test document 1</a> which should not be replaced with an absolute link.
+        <a href="{@docRoot}/technotes/guides/index.html">
+            Another Test document 2.</a> which should not be replaced with an absolute link.
 
-      Test document 2.</a>
-
-	@since 1.5
+        @since 1.5
 
 </body>
 </html>
--- a/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java	Thu Feb 06 16:12:26 2014 +0000
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      8004893 8022738
+ * @bug      8004893 8022738 8029143
  * @summary  Make sure that the lambda feature changes work fine in
  *           javadoc.
  * @author   bpatel
@@ -81,6 +81,11 @@
             "<pre>default&nbsp;default&nbsp;void&nbsp;defaultMethod()</pre>"},
         {BUG_ID + FS + "pkg" + FS + "B.html",
             "<td class=\"colFirst\"><code>default void</code></td>"},
+        {BUG_ID + FS + "pkg1" + FS + "NotAFuncInf.html",
+            "<dl>" + NL + "<dt>Functional Interface:</dt>" + NL +
+            "<dd>This is a functional interface and can therefore be used as " +
+            "the assignment target for a lambda expression or method " +
+            "reference.</dd>" + NL + "</dl>"},
         {BUG_ID + FS + "pkg" + FS + "B.html",
             "<dl>" + NL + "<dt>Functional Interface:</dt>"}
     };
--- a/test/com/sun/javadoc/testLambdaFeature/pkg/A.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testLambdaFeature/pkg/A.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,6 +23,7 @@
 
 package pkg;
 
+@FunctionalInterface
 public interface A {
 
     public void method1();
--- a/test/com/sun/javadoc/testLambdaFeature/pkg1/FuncInf.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testLambdaFeature/pkg1/FuncInf.java	Thu Feb 06 16:12:26 2014 +0000
@@ -23,6 +23,7 @@
 
 package pkg1;
 
+@FunctionalInterface
 public interface FuncInf<V> {
 
     V call() throws Exception;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/com/sun/javadoc/testLambdaFeature/pkg1/NotAFuncInf.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg1;
+
+public interface NotAFuncInf<V> {
+
+    V call() throws Exception;
+}
--- a/test/com/sun/javadoc/testLegacyTaglet/C.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testLegacyTaglet/C.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testNavigation/pkg/A.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testNavigation/pkg/A.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testNavigation/pkg/C.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testNavigation/pkg/C.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testNavigation/pkg/E.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testNavigation/pkg/E.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testNavigation/pkg/I.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testNavigation/pkg/I.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/C.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/C.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeRegDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContaineeRegDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegNotDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/ContainerRegNotDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/D.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/D.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/NonSynthDocContainer.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/NonSynthDocContainer.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegArryDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegArryDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeNotDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContaineeNotDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerNotDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegContainerNotDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg/RegDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/C.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/C.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeNotDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContaineeNotDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValNotDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/ContainerValNotDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeNotDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContaineeNotDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValNotDoc.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testRepeatedAnnotations/pkg1/RegContainerValNotDoc.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/com/sun/javadoc/testStylesheet/TestStylesheet.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/com/sun/javadoc/testStylesheet/TestStylesheet.java	Thu Feb 06 16:12:26 2014 +0000
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      4494033 7028815 7052425 8007338 8023608 8008164
+ * @bug      4494033 7028815 7052425 8007338 8023608 8008164 8016549
  * @summary  Run tests on doclet stylesheet.
  * @author   jamieh
  * @library  ../lib/
@@ -54,8 +54,8 @@
         {BUG_ID + FS + "stylesheet.css",
             "body {" + NL + "    background-color:#ffffff;" + NL +
             "    color:#353833;" + NL +
-            "    font-family:Arial, Helvetica, sans-serif;" + NL +
-            "    font-size:76%;" + NL + "    margin:0;" + NL + "}"},
+            "    font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;" + NL +
+            "    font-size:14px;" + NL + "    margin:0;" + NL + "}"},
         {BUG_ID + FS + "stylesheet.css",
             "ul {" + NL + "    list-style-type:disc;" + NL + "}"},
         {BUG_ID + FS + "stylesheet.css",
@@ -64,49 +64,65 @@
             "    position:relative;" + NL +
             "    text-align:left;" + NL +
             "    background-repeat:no-repeat;" + NL +
-            "    color:#FFFFFF;" + NL +
+            "    color:#253441;" + NL +
             "    font-weight:bold;" + NL +
             "    clear:none;" + NL +
             "    overflow:hidden;" + NL +
             "    padding:0px;" + NL +
+            "    padding-top:10px;" + NL +
+            "    padding-left:1px;" + NL +
             "    margin:0px;" + NL +
+            "    white-space:pre;" + NL +
             "}"},
         {BUG_ID + FS + "stylesheet.css",
             ".overviewSummary caption span, .memberSummary caption span, .typeSummary caption span," + NL +
             ".useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {" + NL +
             "    white-space:nowrap;" + NL +
-            "    padding-top:8px;" + NL +
-            "    padding-left:8px;" + NL +
+            "    padding-top:5px;" + NL +
+            "    padding-left:12px;" + NL +
+            "    padding-right:12px;" + NL +
+            "    padding-bottom:7px;" + NL +
             "    display:inline-block;" + NL +
             "    float:left;" + NL +
-            "    background-image:url(resources/titlebar.gif);" + NL +
+            "    background-color:#F8981D;" + NL +
+            "    border: none;" + NL +
+            "    height:16px;" + NL +
             "}"},
         {BUG_ID + FS + "stylesheet.css",
             ".memberSummary caption span.activeTableTab span {" + NL +
             "    white-space:nowrap;" + NL +
-            "    padding-top:8px;" + NL +
-            "    padding-left:8px;" + NL +
+            "    padding-top:5px;" + NL +
+            "    padding-left:12px;" + NL +
+            "    padding-right:12px;" + NL +
+            "    margin-right:3px;" + NL +
             "    display:inline-block;" + NL +
             "    float:left;" + NL +
-            "    background-image:url(resources/activetitlebar.gif);" + NL +
+            "    background-color:#F8981D;" + NL +
+            "    height:16px;" + NL +
             "}"},
         {BUG_ID + FS + "stylesheet.css",
             ".memberSummary caption span.tableTab span {" + NL +
             "    white-space:nowrap;" + NL +
-            "    padding-top:8px;" + NL +
-            "    padding-left:8px;" + NL +
+            "    padding-top:5px;" + NL +
+            "    padding-left:12px;" + NL +
+            "    padding-right:12px;" + NL +
+            "    margin-right:3px;" + NL +
             "    display:inline-block;" + NL +
             "    float:left;" + NL +
-            "    background-image:url(resources/titlebar.gif);" + NL +
+            "    background-color:#4D7A97;" + NL +
+            "    height:16px;" + NL +
             "}"},
         {BUG_ID + FS + "stylesheet.css",
             ".memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {" + NL +
             "    padding-top:0px;" + NL +
             "    padding-left:0px;" + NL +
+            "    padding-right:0px;" + NL +
             "    background-image:none;" + NL +
             "    float:none;" + NL +
-            "    display:inline-block;" + NL +
+            "    display:inline;" + NL +
             "}"},
+        {BUG_ID + FS + "stylesheet.css",
+            "@import url('resources/fonts/dejavu.css');"},
         // Test whether a link to the stylesheet file is inserted properly
         // in the class documentation.
         {BUG_ID + FS + "pkg" + FS + "A.html",
--- a/test/tools/doclint/CustomTagTest.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/doclint/CustomTagTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,17 +1,18 @@
 /*
  * @test /nodynamiccopyright/
- * @bug 8006248
+ * @bug 8006248 8028318
  * @summary DocLint should report unknown tags
  * @build DocLintTester
  * @run main DocLintTester CustomTagTest.java
  * @run main DocLintTester -XcustomTags: -ref CustomTagTest.out CustomTagTest.java
- * @run main DocLintTester -XcustomTags:customTag -ref CustomTagTestWithOption.out CustomTagTest.java
- * @run main DocLintTester -XcustomTags:customTag,anotherCustomTag -ref CustomTagTestWithOption.out CustomTagTest.java
+ * @run main DocLintTester -XcustomTags:customTag,custom.tag -ref CustomTagTestWithOption.out CustomTagTest.java
+ * @run main DocLintTester -XcustomTags:customTag,custom.tag,anotherCustomTag -ref CustomTagTestWithOption.out CustomTagTest.java
  * @author bpatel
  */
 
 /**
  * @customTag Text for a custom tag.
+ * @custom.tag Text for another custom tag.
  * @unknownTag Text for an unknown tag.
  */
 public class CustomTagTest {
--- a/test/tools/doclint/CustomTagTest.out	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/doclint/CustomTagTest.out	Thu Feb 06 16:12:26 2014 +0000
@@ -1,8 +1,11 @@
 CustomTagTest.java:14: error: unknown tag: customTag
  * @customTag Text for a custom tag.
    ^
-CustomTagTest.java:15: error: unknown tag: unknownTag
+CustomTagTest.java:15: error: unknown tag: custom.tag
+ * @custom.tag Text for another custom tag.
+   ^
+CustomTagTest.java:16: error: unknown tag: unknownTag
  * @unknownTag Text for an unknown tag.
    ^
-2 errors
+3 errors
 
--- a/test/tools/doclint/CustomTagTestWithOption.out	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/doclint/CustomTagTestWithOption.out	Thu Feb 06 16:12:26 2014 +0000
@@ -1,4 +1,4 @@
-CustomTagTest.java:15: error: unknown tag: unknownTag
+CustomTagTest.java:16: error: unknown tag: unknownTag
  * @unknownTag Text for an unknown tag.
    ^
 1 error
--- a/test/tools/javac/T6725036.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/T6725036.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/T8028504/DontGenerateLVTForGNoneOpTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8028504
+ * @summary javac generates LocalVariableTable even with -g:none
+ * @compile -g:none DontGenerateLVTForGNoneOpTest.java
+ * @run main DontGenerateLVTForGNoneOpTest
+ */
+
+import java.io.File;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Target;
+import java.nio.file.Paths;
+
+import com.sun.tools.classfile.Attribute;
+import com.sun.tools.classfile.ClassFile;
+import com.sun.tools.classfile.Code_attribute;
+import com.sun.tools.classfile.Method;
+
+public class DontGenerateLVTForGNoneOpTest {
+
+    public static void main(String[] args) throws Exception {
+        new DontGenerateLVTForGNoneOpTest().run();
+    }
+
+    void run() throws Exception {
+        checkClassFile(new File(Paths.get(System.getProperty("test.classes"),
+                this.getClass().getName() + ".class").toUri()));
+    }
+
+    void checkClassFile(final File cfile) throws Exception {
+        ClassFile classFile = ClassFile.read(cfile);
+        for (Method method : classFile.methods) {
+            Code_attribute code = (Code_attribute)method.attributes.get(Attribute.Code);
+            if (code != null) {
+                if (code.attributes.get(Attribute.LocalVariableTable) != null) {
+                    throw new AssertionError("LVT shouldn't be generated for g:none");
+                }
+            }
+        }
+    }
+
+    public void bar() {
+        try {
+            System.out.println();
+        } catch(@TA Exception e) {
+        } catch(Throwable t) {}
+    }
+
+    @Target(ElementType.TYPE_USE)
+    @interface TA {}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/T8029179/CompileErrorForValidBooleanExpTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8029179
+ * @summary javac produces a compile error for valid boolean expressions
+ * @compile CompileErrorForValidBooleanExpTest.java
+ */
+
+public class CompileErrorForValidBooleanExpTest {
+    static int a, b, c, d;
+
+    static void m() {
+        boolean cond1 = (a < b & c > d);
+        boolean cond2 = (f1() < f2() & c > d);
+        boolean cond3 = (f1() < b & f3() > d);
+        boolean cond4 = (f1() < b & f3() > 1);
+    }
+
+    static int f1() {
+        return 0;
+    }
+
+    static int f2() {
+        return 0;
+    }
+
+    static int f3() {
+        return 0;
+    }
+
+    static int f4() {
+        return 0;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/T8029569/VarargsAmbiguityCrashTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8029569
+ * @summary internal javac cast exception when resolving varargs ambiguity
+ * @compile/fail/ref=VarargsAmbiguityCrashTest.out -XDrawDiagnostics VarargsAmbiguityCrashTest.java
+ */
+
+public class VarargsAmbiguityCrashTest {
+    void m1() {
+        m2(null, new Exception());
+    }
+
+    void m2(Long l) {}
+
+    void m2(Exception... exception) {}
+
+    void m2(Long l, Exception... exception) {}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/T8029569/VarargsAmbiguityCrashTest.out	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,2 @@
+VarargsAmbiguityCrashTest.java:33:9: compiler.err.ref.ambiguous: m2, kindname.method, m2(java.lang.Exception...), VarargsAmbiguityCrashTest, kindname.method, m2(java.lang.Long,java.lang.Exception...), VarargsAmbiguityCrashTest
+1 error
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/annotations/AnnotationTypeElementModifiers.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,46 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8028428
+ * @summary Test that only 'public' and 'abstract' elements compile
+ * @compile/fail/ref=AnnotationTypeElementModifiers.out -XDrawDiagnostics AnnotationTypeElementModifiers.java
+ */
+
+public @interface AnnotationTypeElementModifiers {
+    // First 4 should work
+    public int A();
+    public int AA() default  1;
+
+    abstract int B();
+    abstract int BB() default  1;
+
+    // These shouldn't work
+    private int C();
+    private int CC() default  1;
+
+    protected int D();
+    protected int DD() default  1;
+
+    static int E();
+    static int EE() default  1;
+
+    final int F();
+    final int FF() default  1;
+
+    synchronized int H();
+    synchronized int HH() default  1;
+
+    volatile int I();
+    volatile int II() default  1;
+
+    transient int J();
+    transient int JJ() default  1;
+
+    native int K();
+    native int KK() default  1;
+
+    strictfp float L();
+    strictfp float LL() default  0.1f;
+
+    default int M();
+    default int MM() default  1;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/annotations/AnnotationTypeElementModifiers.out	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,21 @@
+AnnotationTypeElementModifiers.java:17:17: compiler.err.mod.not.allowed.here: private
+AnnotationTypeElementModifiers.java:18:17: compiler.err.mod.not.allowed.here: private
+AnnotationTypeElementModifiers.java:20:19: compiler.err.mod.not.allowed.here: protected
+AnnotationTypeElementModifiers.java:21:19: compiler.err.mod.not.allowed.here: protected
+AnnotationTypeElementModifiers.java:23:16: compiler.err.mod.not.allowed.here: static
+AnnotationTypeElementModifiers.java:24:16: compiler.err.mod.not.allowed.here: static
+AnnotationTypeElementModifiers.java:26:15: compiler.err.mod.not.allowed.here: final
+AnnotationTypeElementModifiers.java:27:15: compiler.err.mod.not.allowed.here: final
+AnnotationTypeElementModifiers.java:29:22: compiler.err.mod.not.allowed.here: synchronized
+AnnotationTypeElementModifiers.java:30:22: compiler.err.mod.not.allowed.here: synchronized
+AnnotationTypeElementModifiers.java:32:18: compiler.err.mod.not.allowed.here: volatile
+AnnotationTypeElementModifiers.java:33:18: compiler.err.mod.not.allowed.here: volatile
+AnnotationTypeElementModifiers.java:35:19: compiler.err.mod.not.allowed.here: transient
+AnnotationTypeElementModifiers.java:36:19: compiler.err.mod.not.allowed.here: transient
+AnnotationTypeElementModifiers.java:38:16: compiler.err.mod.not.allowed.here: native
+AnnotationTypeElementModifiers.java:39:16: compiler.err.mod.not.allowed.here: native
+AnnotationTypeElementModifiers.java:41:20: compiler.err.mod.not.allowed.here: strictfp
+AnnotationTypeElementModifiers.java:42:20: compiler.err.mod.not.allowed.here: strictfp
+AnnotationTypeElementModifiers.java:44:17: compiler.err.mod.not.allowed.here: default
+AnnotationTypeElementModifiers.java:45:17: compiler.err.mod.not.allowed.here: default
+20 errors
--- a/test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedBase.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedBase.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedContainer.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/repeatingAnnotations/combo/expectedFiles/ExpectedContainer.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/TargetTypes.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/TargetTypes.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/api/AnnotatedArrayOrder.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/api/ArrayCreationTree.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/api/ArrayPositionConsistency.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/classfile/NoTargetAnnotations.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/failures/CheckForDeclAnnoNPE.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8028699
+ * @summary Ensure there is no NPE in checking for decl. annotations in this example
+ * @author Werner Dietl
+ * @compile -doe CheckForDeclAnnoNPE.java
+ */
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Target;
+
+
+class CheckForDeclAnnoNPE {
+    void test(String s) {
+        test(new @TA String().toString());
+    }
+}
+
+@Target(ElementType.TYPE_USE)
+@interface TA {}
--- a/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.java	Thu Feb 06 16:12:26 2014 +0000
@@ -10,9 +10,6 @@
     Object e1 = new @DA int[5];
     Object e2 = new @DA String[42];
     Object e3 = new @DA Object();
-
-    // The declaration annotation is only allowed for
-    // an anonymous class creation.
     Object ok = new @DA Object() { };
 }
 
--- a/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/failures/common/arrays/DeclarationAnnotation.out	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 DeclarationAnnotation.java:10:21: compiler.err.annotation.type.not.applicable
 DeclarationAnnotation.java:11:21: compiler.err.annotation.type.not.applicable
 DeclarationAnnotation.java:12:21: compiler.err.annotation.type.not.applicable
-DeclarationAnnotation.java:16:21: compiler.err.annotation.type.not.applicable
+DeclarationAnnotation.java:13:21: compiler.err.annotation.type.not.applicable
 4 errors
--- a/test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/failures/target/DotClass.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/newlocations/Lambda.java	Thu Feb 06 16:12:26 2014 +0000
@@ -23,8 +23,9 @@
 
 /*
  * @test
- * @bug 8008077
+ * @bug 8008077 8029721
  * @summary new type annotation location: lambda expressions
+ * javac crash for annotated parameter type of lambda in a field
  * @compile Lambda.java
  * @author Werner Dietl
  */
@@ -57,6 +58,14 @@
     LambdaInt2 getLambda() {
         return (@TA Object x, @TB Object y) -> { @TA Object l = null; System.out.println("We have: " + (@TB Object) x); };
     }
+
+    java.util.function.IntUnaryOperator x = (@TA int y) -> 1;
+
+    static java.util.function.IntUnaryOperator xx = (@TA int y) -> 1;
+
+    java.util.function.IntUnaryOperator foo() {
+        return (@TA int y) -> 2;
+    }
 }
 
 @Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
--- a/test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/newlocations/Varargs.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/Anno.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/MyClass.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/packageanno/mypackage/package-info.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassExtends.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/ClassTypeParam.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/Fields.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/FromSpecification.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/Lambda.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/Lambda.java	Thu Feb 06 16:12:26 2014 +0000
@@ -23,8 +23,9 @@
 
 /*
  * @test
- * @bug 8008077
+ * @bug 8008077 8029721
  * @summary Test population of reference info for lambda expressions
+ * javac crash for annotated parameter type of lambda in a field
  * @compile -g Driver.java ReferenceInfoUtil.java Lambda.java
  * @run main Driver Lambda
  * @author Werner Dietl
@@ -285,4 +286,24 @@
                 "  }" +
                 "}";
     }
+
+    @TADescriptions({
+        @TADescription(annotation = "TA", type = METHOD_FORMAL_PARAMETER,
+            paramIndex = 0)})
+    public String lambdaField1() {
+        return
+            "class Test {" +
+                " java.util.function.IntUnaryOperator field = (@TA int y) -> 1;" +
+            "}";
+    }
+
+    @TADescriptions({
+        @TADescription(annotation = "TA", type = METHOD_FORMAL_PARAMETER,
+            paramIndex = 0)})
+    public String lambdaField2() {
+        return
+            "class Test {" +
+                " static java.util.function.IntUnaryOperator field = (@TA int y) -> 1;" +
+            "}";
+    }
 }
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodParameters.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReceivers.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodReturns.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/MethodTypeParam.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/RepeatingTypeAnnotations.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeCasts.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/annotations/typeAnnotations/referenceinfos/TypeTests.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/cast/intersection/IntersectionTypeParserTest.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/cast/intersection/IntersectionTypeParserTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/cast/intersection/model/Model01.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/cast/intersection/model/Model01.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/cast/intersection/model/ModelChecker.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/cast/intersection/model/ModelChecker.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/declaration/method/MethodVoidParameter.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,9 @@
+/* @test /nodynamiccopyright/
+ * @bug 8026374
+ * @summary Cannot use void as a variable type
+ * @compile/fail/ref=MethodVoidParameter.out -XDrawDiagnostics MethodVoidParameter.java
+ */
+public class MethodVoidParameter {
+    void method(void v) { }
+    void method(void... v) { }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/declaration/method/MethodVoidParameter.out	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,3 @@
+MethodVoidParameter.java:7:17: compiler.err.void.not.allowed.here
+MethodVoidParameter.java:8:17: compiler.err.void.not.allowed.here
+2 errors
--- a/test/tools/javac/defaultMethods/static/Static01.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/static/Static01.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/Static02.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/static/Static02.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/static/hiding/InterfaceMethodHidingTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/StaticImport1.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/static/import/StaticImport1.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/StaticImport2.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/static/import/StaticImport2.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/StaticImport3.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/static/import/StaticImport3.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/pkg/A.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/static/import/pkg/A.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/pkg/B.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/static/import/pkg/B.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/static/import/pkg/C.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/static/import/pkg/C.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/defaultMethods/syntax/TestDefaultMethodsSyntax.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/MessageFile.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/MessageFile.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/MessageInfo.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/MessageInfo.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/AlreadDefinedStaticImport.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/AlreadDefinedStaticImport.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E1.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E1.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E2.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/AlreadyDefinedStaticImport/p/E2.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/IllegalStaticIntfMethCall.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/IllegalStaticIntfMethCall.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/KindnameConstructor.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/KindnameConstructor.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/NonStaticCantBeRefFragment.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/NonStaticCantBeRefFragment.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/NotInProfile.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/NotInProfile.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/RepeatableAnnotationsNotSupported.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/RepeatableAnnotationsNotSupported.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/StaticIntfMethodNotSupported.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/StaticIntfMethodNotSupported.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/diags/examples/WhereIntersection.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/diags/examples/WhereIntersection.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/expression/_super/NonDirectSuper/Base.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package base;
+
+public class Base extends PackagePrivate { }
+
+class PackagePrivate {
+    protected int refTobaseBase() {
+        return 0;
+    }
+    protected int refTotestOtherPackageTest() {
+        return 0;
+    }
+    protected int refTotestTarget11() {
+        return 0;
+    }
+    protected int refTotestCurPackagePrivateExt11() {
+        return 0;
+    }
+    protected int refTobaseBase;
+    protected int refTotestOtherPackageTest;
+    protected int refTotestTarget11;
+    protected int refTotestCurPackagePrivateExt11;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/expression/_super/NonDirectSuper/NonDirectSuper.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,179 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8027789
+ * @summary check that the direct superclass is used as the site when calling
+ *          a superclass' method
+ * @compile Base.java NonDirectSuper.java
+ * @compile -source 1.2 -target 1.1 Target11.java
+ * @run main test.NonDirectSuper
+ */
+
+package test;
+
+import java.io.File;
+
+import com.sun.tools.classfile.Attribute;
+import com.sun.tools.classfile.ClassFile;
+import com.sun.tools.classfile.Code_attribute;
+import com.sun.tools.classfile.ConstantPool.CPRefInfo;
+import com.sun.tools.classfile.Instruction;
+import com.sun.tools.classfile.Method;
+import com.sun.tools.classfile.Opcode;
+
+public class NonDirectSuper {
+    public static void main(String... args) {
+        new NonDirectSuper().run();
+    }
+
+    void run() {
+        String workDir = System.getProperty("test.classes");
+        File testPackage = new File(workDir, "test");
+
+        for (File clazz : testPackage.listFiles()) {
+            if ("NonDirectSuper.class".equals(clazz.getName())) continue;
+            verifyInvokeSpecialRefToObject(clazz);
+        }
+    }
+
+    void verifyInvokeSpecialRefToObject(File clazz) {
+        try {
+            final ClassFile cf = ClassFile.read(clazz);
+            for (Method m : cf.methods) {
+                Code_attribute codeAttr = (Code_attribute)m.attributes.get(Attribute.Code);
+                for (Instruction instr : codeAttr.getInstructions()) {
+                    if (instr.getOpcode() == Opcode.INVOKESPECIAL ||
+                        instr.getOpcode() == Opcode.INVOKEVIRTUAL) {
+                        int pc_index = instr.getShort(1);
+                        CPRefInfo ref = (CPRefInfo)cf.constant_pool.get(pc_index);
+                        String className = ref.getClassName();
+                        String methodName = ref.getNameAndTypeInfo().getName();
+                        if (methodName.equals("toString")) {
+                            if (!className.equals("java/lang/Object"))
+                                throw new IllegalStateException("Must directly refer to j.l.Object");
+                        } else if (methodName.startsWith("refTo")) {
+                            String expectedClass = methodName.substring("refTo".length());
+                            if (!className.replace("/", "").equals(expectedClass)) {
+                                throw new IllegalStateException("Unexpected reference to: " +
+                                        className + ", should be " + expectedClass);
+                            }
+                        }
+                    }
+                    if (instr.getOpcode() == Opcode.GETFIELD ||
+                        instr.getOpcode() == Opcode.PUTFIELD) {
+                        int pc_index = instr.getShort(1);
+                        CPRefInfo ref = (CPRefInfo)cf.constant_pool.get(pc_index);
+                        String className = ref.getClassName();
+                        String fieldName = ref.getNameAndTypeInfo().getName();
+                        if (fieldName.startsWith("refTo")) {
+                            String expectedClass = fieldName.substring("refTo".length());
+                            if (!className.replace("/", "").equals(expectedClass)) {
+                                throw new IllegalStateException("Unexpected reference to: " +
+                                        className + ", should be " + expectedClass);
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new Error("error reading " + clazz +": " + e);
+        }
+    }
+}
+
+class OtherPackageTest extends base.Base {
+    void run() {
+        new Runnable() {
+            public void run() {
+                OtherPackageTest.super.refTobaseBase();
+                OtherPackageTest.super.refTobaseBase = OtherPackageTest.super.refTobaseBase + 1;
+                OtherPackageTest.super.toString();
+                refTotestOtherPackageTest();
+                refTotestOtherPackageTest = refTotestOtherPackageTest + 1;
+                OtherPackageTest.this.refTotestOtherPackageTest();
+                OtherPackageTest.this.refTotestOtherPackageTest =
+                        OtherPackageTest.this.refTotestOtherPackageTest + 1;
+            }
+        }.run();
+        super.refTobaseBase();
+        super.refTobaseBase = super.refTobaseBase + 1;
+        super.toString();
+        OtherPackageTest.super.refTobaseBase();
+        OtherPackageTest.super.refTobaseBase = OtherPackageTest.super.refTobaseBase + 1;
+        OtherPackageTest.super.toString();
+        refTotestOtherPackageTest();
+        refTotestOtherPackageTest = refTotestOtherPackageTest + 1;
+    }
+
+    static class InnerBase {
+        private void refTotestOtherPackageTest$InnerBase() { }
+    }
+    static class InnerTest extends InnerBase {
+        void run() {
+            new Runnable() {
+                public void run() {
+                    InnerTest.super.refTotestOtherPackageTest$InnerBase();
+                }
+            }.run();
+            super.refTotestOtherPackageTest$InnerBase();
+            InnerTest.super.refTotestOtherPackageTest$InnerBase();
+        }
+    }
+}
+
+class CurPackagePrivateBase {
+    void refTotestCurPackagePrivateExt() { }
+    void refTotestCurPackagePrivateTest() { }
+    int refTotestCurPackagePrivateExt;
+    int refTotestCurPackagePrivateTest;
+}
+
+class CurPackagePrivateExt extends CurPackagePrivateBase {
+}
+
+class CurPackagePrivateTest extends CurPackagePrivateExt {
+    void run() {
+        new Runnable() {
+            public void run() {
+                CurPackagePrivateTest.super.refTotestCurPackagePrivateExt();
+                CurPackagePrivateTest.super.refTotestCurPackagePrivateExt =
+                        CurPackagePrivateTest.super.refTotestCurPackagePrivateExt + 1;
+                CurPackagePrivateTest.this.refTotestCurPackagePrivateTest();
+                CurPackagePrivateTest.this.refTotestCurPackagePrivateTest =
+                        CurPackagePrivateTest.this.refTotestCurPackagePrivateTest + 1;
+                refTotestCurPackagePrivateTest();
+                refTotestCurPackagePrivateTest = refTotestCurPackagePrivateTest + 1;
+            }
+        }.run();
+        super.refTotestCurPackagePrivateExt();
+        super.refTotestCurPackagePrivateExt = super.refTotestCurPackagePrivateExt + 1;
+        CurPackagePrivateTest.super.refTotestCurPackagePrivateExt();
+        CurPackagePrivateTest.super.refTotestCurPackagePrivateExt =
+                CurPackagePrivateTest.super.refTotestCurPackagePrivateExt + 1;
+        refTotestCurPackagePrivateTest();
+        refTotestCurPackagePrivateTest = refTotestCurPackagePrivateTest + 1;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/expression/_super/NonDirectSuper/Target11.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package test;
+
+class Target11 extends CurPackagePrivateExt11 {
+    void run() {
+        new Runnable() {
+            public void run() {
+                Target11.super.refTotestCurPackagePrivateBase11();
+                Target11.super.refTotestCurPackagePrivateBase11 =
+                        Target11.super.refTotestCurPackagePrivateBase11 + 1;
+                Target11.super.refTotestCurPackagePrivateExt11();
+                Target11.super.refTotestCurPackagePrivateExt11 =
+                        Target11.super.refTotestCurPackagePrivateExt11 + 1;
+                Target11.super.toString();
+                refTotestCurPackagePrivateBase11();
+                refTotestCurPackagePrivateBase11 =
+                        refTotestCurPackagePrivateBase11 + 1;
+                refTotestTarget11();
+                refTotestTarget11 = refTotestTarget11 + 1;
+                Target11.this.refTotestCurPackagePrivateBase11();
+                Target11.this.refTotestCurPackagePrivateBase11 =
+                        Target11.this.refTotestCurPackagePrivateBase11 + 1;
+                Target11.this.refTotestTarget11();
+                Target11.this.refTotestTarget11 =
+                        Target11.this.refTotestTarget11 + 1;
+            }
+        }.run();
+        super.refTotestCurPackagePrivateBase11();
+        super.refTotestCurPackagePrivateBase11 =
+                super.refTotestCurPackagePrivateBase11 + 1;
+        super.refTotestCurPackagePrivateExt11();
+        super.refTotestCurPackagePrivateExt11 =
+                super.refTotestCurPackagePrivateExt11 + 1;
+        super.toString();
+
+        Target11.super.refTotestCurPackagePrivateBase11();
+        Target11.super.refTotestCurPackagePrivateBase11 =
+                Target11.super.refTotestCurPackagePrivateBase11 + 1;
+        Target11.super.refTotestCurPackagePrivateExt11();
+        Target11.super.refTotestCurPackagePrivateExt11 =
+                Target11.super.refTotestCurPackagePrivateExt11 + 1;
+
+        refTotestCurPackagePrivateBase11();
+        refTotestCurPackagePrivateBase11 = refTotestCurPackagePrivateBase11 + 1;
+        refTotestTarget11 = refTotestTarget11 + 1;
+    }
+}
+
+class CurPackagePrivateBase11 extends base.Base {
+    protected void refTotestCurPackagePrivateBase11() {}
+    protected int refTotestCurPackagePrivateBase11;
+}
+
+class CurPackagePrivateExt11 extends CurPackagePrivateBase11 { }
--- a/test/tools/javac/generics/odersky/BadTest4.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/generics/odersky/BadTest4.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/DoubleStaticImport.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/DoubleStaticImport.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/Intersection01.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/Intersection01.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/Intersection02.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/Intersection02.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/LambdaCapture06.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/LambdaCapture06.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/LambdaConv01.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/LambdaConv01.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/LambdaExpr15.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/LambdaExpr15.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/lambda/LambdaParenGeneric.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8029558
+ * @summary VerifyError lambda body is parenthesized generic value
+ * @author  Robert Field
+ * @run main LambdaParenGeneric
+ */
+
+public class LambdaParenGeneric {
+
+    @FunctionalInterface
+    public interface FI {
+        Integer apply();
+    }
+
+    public static class Val<A> {
+        A value;
+        Val(A v) { value = v; }
+    }
+
+    public static void main(String[] args) {
+        FI inc = () -> (new Val<Integer>(77).value);
+        System.out.println(inc.apply());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/lambda/LambdaParenGenericOrig.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8029558
+ * @summary VerifyError lambda body is parenthesized generic value (originally submitted test)
+ * @author  Dmitrii Afanasyev
+ * @run main LambdaParenGenericOrig
+ */
+
+public class LambdaParenGenericOrig {
+
+    @FunctionalInterface
+    public static interface Function1<R, A> {
+        R apply(A input);
+    }
+
+    @FunctionalInterface
+    public static interface Function2<R, A1, A2> {
+        R apply(A1 input1, A2 input2);
+    }
+
+    public static void main(String[] args) {
+        final Function2<Integer, Integer, Integer> add = (x, y) -> x + y;
+        final Function1<Integer, Integer> inc = x -> (add.apply(x, 1));
+        System.out.println(inc.apply(0));
+    }
+}
--- a/test/tools/javac/lambda/LambdaScope05.out	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/LambdaScope05.out	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 LambdaScope05.java:13:47: compiler.err.already.defined.in.clinit: kindname.variable, p, kindname.static.init, kindname.class, LambdaScope05
-LambdaScope05.java:14:40: compiler.err.already.defined.in.clinit: kindname.variable, p, kindname.instance.init, kindname.class, LambdaScope05
+LambdaScope05.java:14:40: compiler.err.already.defined: kindname.variable, p, kindname.constructor, LambdaScope05()
 LambdaScope05.java:17:43: compiler.err.already.defined.in.clinit: kindname.variable, p, kindname.static.init, kindname.class, LambdaScope05
 LambdaScope05.java:21:43: compiler.err.already.defined.in.clinit: kindname.variable, p, kindname.instance.init, kindname.class, LambdaScope05
 LambdaScope05.java:25:43: compiler.err.already.defined: kindname.variable, p, kindname.method, m_static()
--- a/test/tools/javac/lambda/MethodReference25.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/MethodReference25.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/MethodReference26.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/MethodReference26.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/MethodReference59.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/MethodReference59.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/MethodReference60.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/MethodReference60.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/TargetType51.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/TargetType51.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/lambdaExecution/InInterface.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/lambdaExecution/InInterface.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/lambdaExpression/LambdaTest6.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/lambdaExpression/LambdaTest6.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/methodReference/BridgeMethod.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/methodReference/BridgeMethod.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/methodReference/SamConversion.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/methodReference/SamConversion.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambda/methodReference/SamConversionComboTest.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/methodReference/SamConversionComboTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/tools/javac/lambda/methodReferenceExecution/MethodReferenceTestMethodHandle.java	Thu Feb 06 16:12:26 2014 +0000
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 8028739
+ * @summary javac generates incorrect descriptor for MethodHandle::invoke
+ * @run testng MethodReferenceTestMethodHandle
+ */
+
+import java.lang.invoke.*;
+import java.util.*;
+
+import org.testng.annotations.Test;
+import static org.testng.Assert.assertEquals;
+
+@Test
+public class MethodReferenceTestMethodHandle {
+
+  MethodHandles.Lookup lookup = MethodHandles.lookup();
+
+  interface ReplaceItf {
+      Object apply(String a, char b, char c) throws Throwable;
+  }
+
+  interface FormatItf {
+      Object apply(String a, Object... args) throws Throwable;
+  }
+
+  interface AddItf {
+      void apply(List st, int idx, Object v) throws Throwable;
+  }
+
+  public void testVirtual() throws Throwable {
+
+      MethodType mt = MethodType.methodType(String.class, char.class, char.class);
+      MethodHandle ms = lookup.findVirtual(String.class, "replace", mt);
+
+      // --- String.replace(String, char, char) ---
+
+      assertEquals("oome otring to oearch", ms.invoke("some string to search", 's', 'o'));
+
+      ReplaceItf f1 = (a, b, c) -> ms.invoke(a,b,c);
+      assertEquals("oome otring to oearch", f1.apply("some string to search", 's', 'o'));
+
+      ReplaceItf f2 = ms::invoke;
+      assertEquals("oome otring to oearch", f2.apply("some string to search", 's', 'o'));
+      assertEquals("oome otring to oearch", f2.apply("some string to search", new Character('s'), 'o'));
+      assertEquals("oome otring to oearch", ((ReplaceItf) ms::invoke).apply("some string to search", 's', 'o'));
+  }
+
+  public void testStatic() throws Throwable {
+      MethodType fmt = MethodType.methodType(String.class, String.class, (new Object[1]).getClass());
+      MethodHandle fms = lookup.findStatic(String.class, "format", fmt);
+
+      // --- String.format(String, Object...) ---
+
+      assertEquals("Testing One 2 3", fms.invoke("Testing %s %d %x", "One", new Integer(2), 3));
+
+      FormatItf ff2 = fms::invoke;
+      assertEquals("Testing One 2 3", ff2.apply("Testing %s %d %x", "One", new Integer(2), 3));
+      assertEquals("Testing One 2 3", ((FormatItf) fms::invoke).apply("Testing %s %d %x", "One", new Integer(2), 3));
+      assertEquals("Testing One 2 3 four", ff2.apply("Testing %s %d %x %s", "One", new Integer(2), 3, "four"));
+  }
+
+  public void testVoid() throws Throwable {
+      MethodType pmt = MethodType.methodType(void.class, int.class, Object.class);
+      MethodHandle pms = lookup.findVirtual(List.class, "add", pmt);
+      List<String> list = new ArrayList<>();
+
+      // --- List.add(int,String) ---
+
+      pms.invoke(list, 0, "Hi");
+
+      AddItf pf2 = pms::invoke;
+      pf2.apply(list, 1, "there");
+      AddItf pf3 = pms::invokeExact;
+      pf3.apply(list, 2, "you");
+      assertEquals("Hi", list.get(0));
+      assertEquals("there", list.get(1));
+      assertEquals("you", list.get(2));
+   }
+}
--- a/test/tools/javac/lambda/typeInference/InferenceTest2b.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambda/typeInference/InferenceTest2b.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/Compiler.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/Compiler.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/SourceModel.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/SourceModel.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/TestHarness.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/lambdaShapes/org/openjdk/tests/separate/TestHarness.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/multicatch/Pos05.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/multicatch/Pos05.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/processing/model/type/IntersectionPropertiesTest.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/processing/model/type/IntersectionPropertiesTest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -31,26 +31,27 @@
  */
 
 import com.sun.source.util.*;
-import com.sun.tools.javac.api.*;
-import com.sun.tools.javac.file.*;
+import com.sun.tools.javac.util.Assert;
 import javax.annotation.processing.*;
-import javax.lang.model.SourceVersion;
 import javax.lang.model.type.*;
 import javax.lang.model.util.ElementFilter;
 import javax.lang.model.element.*;
 import javax.tools.*;
 import java.util.*;
 import java.io.*;
+import javax.lang.model.util.Types;
 
 public class IntersectionPropertiesTest {
 
     private int errors = 0;
     private static final String Intersection_name = "IntersectionTest.java";
     private static final String Intersection_contents =
+        "import java.util.AbstractList;\n" +
         "import java.util.List;\n" +
         "import java.io.Serializable;\t" +
-        "public class IntersectionTest<S extends List & Serializable> {\n" +
-        "  void method(S s) { }\n" +
+        "public class IntersectionTest<S extends List & Serializable, One extends AbstractList & Runnable & Serializable, Two extends AbstractList & Serializable & Runnable> {\n" +
+        "  void method(S s, One o, Two t) { }\n" +
+        "  public static abstract class SubType extends AbstractList implements Runnable, Serializable { } \n" +
         "}";
 
     private static final File classesdir = new File("intersectionproperties");
@@ -116,7 +117,8 @@
 
             TypeParameterElement typeParameterElement = ((TypeParameterElement) typeVariable.asElement());
             final List<? extends TypeMirror> bounds = typeParameterElement.getBounds();
-            final HashSet<TypeMirror> actual = new HashSet<TypeMirror>(processingEnv.getTypeUtils().directSupertypes(upperBound));
+            Types types = processingEnv.getTypeUtils();
+            final HashSet<TypeMirror> actual = new HashSet<TypeMirror>(types.directSupertypes(upperBound));
             final HashSet<TypeMirror> expected = new HashSet<TypeMirror>(bounds);
             if (!expected.equals(actual)) {
                 System.err.println("Mismatched expected and actual bounds.");
@@ -128,6 +130,40 @@
                     System.err.println("  " + tm);
                 errors++;
             }
+
+            TypeVariable oneTypeVariable = (TypeVariable) method.getParameters().get(1).asType();
+            TypeMirror oneUpperBound = oneTypeVariable.getUpperBound();
+            TypeVariable twoTypeVariable = (TypeVariable) method.getParameters().get(2).asType();
+            TypeMirror twoUpperBound = twoTypeVariable.getUpperBound();
+            TypeElement oneUpperBoundElement = (TypeElement) types.asElement(oneUpperBound);
+
+            Assert.checkNonNull(oneUpperBoundElement);
+
+            Assert.check("java.util.AbstractList".equals(oneUpperBoundElement.getSuperclass().toString()),
+                         oneUpperBoundElement.getSuperclass().toString());
+
+            List<String> superInterfaces = new java.util.ArrayList<>();
+
+            for (TypeMirror tm : oneUpperBoundElement.getInterfaces()) {
+                superInterfaces.add(tm.toString());
+            }
+
+            Assert.check(java.util.Arrays.asList("java.lang.Runnable",
+                                                 "java.io.Serializable").equals(superInterfaces),
+                         superInterfaces);
+
+            Assert.check(types.isSameType(upperBound, types.capture(upperBound)));
+            Assert.check(types.isSameType(types.erasure(typeVariable), types.erasure(upperBound)));
+
+            TypeElement subTypeClass = processingEnv.getElementUtils().getTypeElement("IntersectionTest.SubType");
+
+            Assert.checkNonNull(subTypeClass);
+
+            Assert.check(types.isAssignable(subTypeClass.asType(), oneUpperBound));
+            Assert.check(types.isSameType(oneUpperBound, twoUpperBound));
+            Assert.check(!types.isSameType(upperBound, twoUpperBound));
+            Assert.check(types.isSubtype(subTypeClass.asType(), oneUpperBound));
+            Assert.check(types.isSubtype(oneUpperBound, upperBound));
         }
 
     }
--- a/test/tools/javac/resolve/Pos.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/resolve/Pos.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/resolve/ResolveHarness.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/resolve/ResolveHarness.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/resolve/tests/PrimitiveOverReferenceVarargsAmbiguous.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/warnings/AuxiliaryClass/ClassUsingAnotherAuxiliary.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/warnings/AuxiliaryClass/ClassUsingAuxiliary.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javac/warnings/AuxiliaryClass/SelfClassWithAux.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
--- a/test/tools/javadoc/api/basic/APITest.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/javadoc/api/basic/APITest.java	Thu Feb 06 16:12:26 2014 +0000
@@ -202,12 +202,6 @@
         "pkg/package-frame.html",
         "pkg/package-summary.html",
         "pkg/package-tree.html",
-        "resources/background.gif",
-        "resources/tab.gif",
-        "resources/activetitlebar_end.gif",
-        "resources/activetitlebar.gif",
-        "resources/titlebar_end.gif",
-        "resources/titlebar.gif",
         "script.js",
         "stylesheet.css"
     ));
--- a/test/tools/jdeps/APIDeps.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/jdeps/APIDeps.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,8 +23,8 @@
 
 /*
  * @test
- * @bug 8015912
- * @summary find API dependencies
+ * @bug 8015912 8029216
+ * @summary Test -apionly and -jdkinternals options
  * @build m.Bar m.Foo m.Gee b.B c.C c.I d.D e.E f.F g.G
  * @run main APIDeps
  */
@@ -88,6 +88,19 @@
              new String[] {"g.G", "sun.misc.Lock"},
              new String[] {testDirBasename, "JDK internal API"},
              new String[] {"-classpath", testDir.getPath(), "-verbose"});
+
+        // -jdkinternals
+        test(new File(mDir, "Gee.class"),
+             new String[] {"sun.misc.Lock"},
+             new String[] {"JDK internal API"},
+             new String[] {"-jdkinternals"});
+        // -jdkinternals parses all classes on -classpath and the input arguments
+        test(new File(mDir, "Gee.class"),
+             new String[] {"sun.misc.Lock", "sun.misc.Unsafe"},
+             new String[] {"JDK internal API"},
+             new String[] {"-classpath", testDir.getPath(), "-jdkinternals"});
+
+        // parse only APIs
         // parse only APIs
         test(mDir,
              new String[] {"java.lang.Object", "java.lang.String",
--- a/test/tools/jdeps/p/Foo.java	Mon Dec 23 13:00:24 2013 +0000
+++ b/test/tools/jdeps/p/Foo.java	Thu Feb 06 16:12:26 2014 +0000
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it