Merge
diff --git a/.hgtags b/.hgtags
index 15669b3..49424e0 100644
--- a/.hgtags
+++ b/.hgtags
@@ -245,3 +245,4 @@
13b877757b0b1c0d5813298df85364f41d7ba6fe jdk9-b00
f130ca87de6637acae7d99fcd7a8573eea1cbaed jdk9-b01
b32e2219736e42baaf45daf0ad67ed34f6033799 jdk9-b02
+7f655f31f9bcee618cf832f08176ad8c1ed3fdd3 jdk9-b03
diff --git a/.hgtags-top-repo b/.hgtags-top-repo
index fe1310f..45398d2 100644
--- a/.hgtags-top-repo
+++ b/.hgtags-top-repo
@@ -245,3 +245,4 @@
1e1f86d5d4e22c15a9bf9f1581acddb8c59abae2 jdk9-b00
50669e45cec4491de0d921d3118a3fe2e767020a jdk9-b01
135f0c7af57ebace31383d8877f47e32172759ff jdk9-b02
+fd8d51bdf9aadf7ae83e65e8655c53581017c363 jdk9-b03
diff --git a/THIRD_PARTY_README b/THIRD_PARTY_README
index 759733b..a93b35b 100644
--- a/THIRD_PARTY_README
+++ b/THIRD_PARTY_README
@@ -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.
+form with the JDK 8 and OpenJDK 8 source distributions, and as object code in
+the JRE 8 & JDK 8 runtimes.
-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.
+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:
+%% 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 Derby 10.8.1.2 [included with JDK 7 only]
+ 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 ---
@@ -3383,397 +3603,3 @@
-------------------------------------------------------------------------------
-%% 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 ---
-
--------------------------------------------------------------------------------
-
diff --git a/common/autoconf/Makefile.in b/common/autoconf/Makefile.in
index 000a9e7..6e47fe9 100644
--- a/common/autoconf/Makefile.in
+++ b/common/autoconf/Makefile.in
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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,4 +24,4 @@
# This Makefile was generated by configure @DATE_WHEN_CONFIGURED@
# GENERATED FILE, DO NOT EDIT
SPEC:=@OUTPUT_ROOT@/spec.gmk
-include @SRC_ROOT@/Makefile
+include @TOPDIR@/Makefile
diff --git a/common/autoconf/autogen.sh b/common/autoconf/autogen.sh
index 69bb67e..d1d8a0d 100644
--- a/common/autoconf/autogen.sh
+++ b/common/autoconf/autogen.sh
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -22,6 +22,23 @@
# questions.
#
+generate_configure_script() {
+ # First create a header
+ cat > $1 << EOT
+#!/bin/bash
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
+EOT
+ # Then replace "magic" variables in configure.ac and append the output
+ # from autoconf. $2 is either cat (just a no-op) or a filter.
+ cat $script_dir/configure.ac | sed -e "s|@DATE_WHEN_GENERATED@|$TIMESTAMP|" | \
+ eval $2 | ${AUTOCONF} -W all -I$script_dir - >> $1
+ rm -rf autom4te.cache
+}
+
script_dir=`dirname $0`
# Create a timestamp as seconds since epoch
@@ -36,7 +53,8 @@
fi
if test "x$CUSTOM_CONFIG_DIR" = "x"; then
- custom_script_dir="$script_dir/../../jdk/make/closed/autoconf"
+ topdir=`cd $script_dir/../.. >/dev/null && pwd`
+ custom_script_dir="$topdir/closed/autoconf"
else
custom_script_dir=$CUSTOM_CONFIG_DIR
fi
@@ -45,25 +63,23 @@
AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
-echo "Autoconf found: ${AUTOCONF}"
-
if test "x${AUTOCONF}" = x; then
- echo You need autoconf installed to be able to regenerate the configure script
- echo Error: Cannot find autoconf 1>&2
+ echo "You need autoconf installed to be able to regenerate the configure script"
+ echo "Error: Cannot find autoconf" 1>&2
exit 1
fi
-echo Generating generated-configure.sh with ${AUTOCONF}
-cat $script_dir/configure.ac | sed -e "s|@DATE_WHEN_GENERATED@|$TIMESTAMP|" | ${AUTOCONF} -W all -I$script_dir - > $script_dir/generated-configure.sh
-rm -rf autom4te.cache
+autoconf_version=`$AUTOCONF --version | head -1`
+echo "Using autoconf at ${AUTOCONF} [$autoconf_version]"
+
+echo "Generating generated-configure.sh"
+generate_configure_script "$script_dir/generated-configure.sh" 'cat'
if test -e $custom_hook; then
- echo Generating custom generated-configure.sh
# We have custom sources available; also generate configure script
# with custom hooks compiled in.
- cat $script_dir/configure.ac | sed -e "s|@DATE_WHEN_GENERATED@|$TIMESTAMP|" | \
- sed -e "s|#CUSTOM_AUTOCONF_INCLUDE|m4_include([$custom_hook])|" | ${AUTOCONF} -W all -I$script_dir - > $custom_script_dir/generated-configure.sh
- rm -rf autom4te.cache
+ echo "Generating custom generated-configure.sh"
+ generate_configure_script "$custom_script_dir/generated-configure.sh" 'sed -e "s|#CUSTOM_AUTOCONF_INCLUDE|m4_include([$custom_hook])|"'
else
- echo No custom hook found: $custom_hook
+ echo "(No custom hook found at $custom_hook)"
fi
diff --git a/common/autoconf/basics.m4 b/common/autoconf/basics.m4
index d34615d..17ed790 100644
--- a/common/autoconf/basics.m4
+++ b/common/autoconf/basics.m4
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -126,7 +126,7 @@
done
IFS="$IFS_save"
else
- AC_MSG_NOTICE([Resolving $1 (as $path) failed, using $path directly.])
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -418,14 +418,8 @@
# Setup basic configuration paths, and platform-specific stuff related to PATHs.
AC_DEFUN_ONCE([BASIC_SETUP_PATHS],
[
- # Locate the directory of this script.
- SCRIPT="[$]0"
- AUTOCONF_DIR=`cd \`$DIRNAME $SCRIPT\`; $THEPWDCMD -L`
-
- # Where is the source? It is located two levels above the configure script.
+ # Save the current directory this script was started from
CURDIR="$PWD"
- cd "$AUTOCONF_DIR/../.."
- SRC_ROOT="`$THEPWDCMD -L`"
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
PATH_SEP=";"
@@ -433,13 +427,21 @@
else
PATH_SEP=":"
fi
-
- AC_SUBST(SRC_ROOT)
AC_SUBST(PATH_SEP)
- cd "$CURDIR"
- BASIC_FIXUP_PATH(SRC_ROOT)
+ # We get the top-level directory from the supporting wrappers.
+ AC_MSG_CHECKING([for top-level directory])
+ AC_MSG_RESULT([$TOPDIR])
+ AC_SUBST(TOPDIR)
+
+ # We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
BASIC_FIXUP_PATH(CURDIR)
+ BASIC_FIXUP_PATH(TOPDIR)
+ # SRC_ROOT is a traditional alias for TOPDIR.
+ SRC_ROOT=$TOPDIR
+
+ # Locate the directory of this script.
+ AUTOCONF_DIR=$TOPDIR/common/autoconf
if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
# Add extra search paths on solaris for utilities like ar and as etc...
@@ -487,13 +489,17 @@
[ CONF_NAME=${with_conf_name} ])
# Test from where we are running configure, in or outside of src root.
+ AC_MSG_CHECKING([where to store configuration])
if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" \
|| test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" \
|| test "x$CURDIR" = "x$SRC_ROOT/make" ; then
# We are running configure from the src root.
# Create a default ./build/target-variant-debuglevel output root.
if test "x${CONF_NAME}" = x; then
+ AC_MSG_RESULT([in default location])
CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}"
+ else
+ AC_MSG_RESULT([in build directory with custom name])
fi
OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
$MKDIR -p "$OUTPUT_ROOT"
@@ -509,6 +515,7 @@
CONF_NAME=`$ECHO $CURDIR | $SED -e "s!^${SRC_ROOT}/build/!!"`
fi
OUTPUT_ROOT="$CURDIR"
+ AC_MSG_RESULT([in current directory])
# WARNING: This might be a bad thing to do. You need to be sure you want to
# have a configuration in this directory. Do some sanity checks!
@@ -558,9 +565,6 @@
# You can run make from the OUTPUT_ROOT, or from the top-level Makefile
# which will look for generated configurations
AC_CONFIG_FILES([$OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in])
-
- # Save the arguments given to us
- echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments
])
AC_DEFUN_ONCE([BASIC_SETUP_LOGGING],
diff --git a/common/autoconf/boot-jdk.m4 b/common/autoconf/boot-jdk.m4
index dde3c92..1700497 100644
--- a/common/autoconf/boot-jdk.m4
+++ b/common/autoconf/boot-jdk.m4
@@ -341,39 +341,45 @@
[
##############################################################################
#
- # Specify options for anything that is run with the Boot JDK.
+ # Specify jvm options for anything that is run with the Boot JDK.
+ # Not all JVM:s accept the same arguments on the command line.
#
AC_ARG_WITH(boot-jdk-jvmargs, [AS_HELP_STRING([--with-boot-jdk-jvmargs],
- [specify JVM arguments to be passed to all invocations of the Boot JDK, overriding the default values,
+ [specify JVM arguments to be passed to all java invocations of boot JDK, overriding the default values,
e.g --with-boot-jdk-jvmargs="-Xmx8G -enableassertions"])])
- if test "x$with_boot_jdk_jvmargs" = x; then
- # Not all JVM:s accept the same arguments on the command line.
- # OpenJDK specific increase in thread stack for JDK build,
- # well more specifically, when running javac.
- if test "x$BUILD_NUM_BITS" = x32; then
- STACK_SIZE=768
- else
- # Running Javac on a JVM on a 64-bit machine, the stack takes more space
- # since 64-bit pointers are pushed on the stach. Apparently, we need
- # to increase the stack space when javacing the JDK....
- STACK_SIZE=1536
- fi
+ AC_MSG_CHECKING([flags for boot jdk java command] )
- # Minimum amount of heap memory.
- ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
- if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then
- # Why does macosx need more heap? Its the huge JDK batch.
- ADD_JVM_ARG_IF_OK([-Xmx1600M],boot_jdk_jvmargs,[$JAVA])
- else
- ADD_JVM_ARG_IF_OK([-Xmx1100M],boot_jdk_jvmargs,[$JAVA])
- fi
- # When is adding -client something that speeds up the JVM?
- # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
- ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA])
- # Disable special log output when a debug build is used as Boot JDK...
- ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA])
+ # Starting amount of heap memory.
+ ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs,[$JAVA])
+
+ # Maximum amount of heap memory.
+ # Maximum stack size.
+ if test "x$BUILD_NUM_BITS" = x32; then
+ JVM_MAX_HEAP=1100M
+ STACK_SIZE=768
+ else
+ # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit
+ # pointers are used. Apparently, we need to increase the heap and stack
+ # space for the jvm. More specifically, when running javac to build huge
+ # jdk batch
+ JVM_MAX_HEAP=1600M
+ STACK_SIZE=1536
fi
+ ADD_JVM_ARG_IF_OK([-Xmx$JVM_MAX_HEAP],boot_jdk_jvmargs,[$JAVA])
+ ADD_JVM_ARG_IF_OK([-XX:ThreadStackSize=$STACK_SIZE],boot_jdk_jvmargs,[$JAVA])
+
+ # Disable special log output when a debug build is used as Boot JDK...
+ ADD_JVM_ARG_IF_OK([-XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput],boot_jdk_jvmargs,[$JAVA])
+
+ # Apply user provided options.
+ ADD_JVM_ARG_IF_OK([$with_boot_jdk_jvmargs],boot_jdk_jvmargs,[$JAVA])
+
+ AC_MSG_RESULT([$boot_jdk_jvmargs])
+
+ # For now, general JAVA_FLAGS are the same as the boot jdk jvmargs
+ JAVA_FLAGS=$boot_jdk_jvmargs
AC_SUBST(BOOT_JDK_JVMARGS, $boot_jdk_jvmargs)
+ AC_SUBST(JAVA_FLAGS, $JAVA_FLAGS)
])
diff --git a/common/autoconf/build-performance.m4 b/common/autoconf/build-performance.m4
index 1bf5628..500c3ad 100644
--- a/common/autoconf/build-performance.m4
+++ b/common/autoconf/build-performance.m4
@@ -261,7 +261,7 @@
if test "x$ENABLE_PRECOMPH" = xyes; then
# Check that the compiler actually supports precomp headers.
- if test "x$GCC" = xyes; then
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
AC_MSG_CHECKING([that precompiled headers work])
echo "int alfa();" > conftest.h
$CXX -x c++-header conftest.h -o conftest.hpp.gch 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD
diff --git a/common/autoconf/compare.sh.in b/common/autoconf/compare.sh.in
index eea3039..6eec8fa 100644
--- a/common/autoconf/compare.sh.in
+++ b/common/autoconf/compare.sh.in
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2014, 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
@@ -64,7 +64,7 @@
UNPACK200="@FIXPATH@ @BOOT_JDK@/bin/unpack200"
UNZIP="@UNZIP@"
-SRC_ROOT="@SRC_ROOT@"
+SRC_ROOT="@TOPDIR@"
if [ "$OPENJDK_TARGET_OS" = "windows" ]; then
PATH="@VS_PATH@"
diff --git a/common/autoconf/configure b/common/autoconf/configure
index b73609a..636f6e8 100644
--- a/common/autoconf/configure
+++ b/common/autoconf/configure
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2014, 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
@@ -22,19 +22,26 @@
# questions.
#
-if test "x$BASH_VERSION" = x; then
- echo This script needs bash to run.
- echo It is recommended to use the configure script in the source tree root instead.
- exit 1
+if test "x$1" != xCHECKME; then
+ echo "WARNING: Calling the wrapper script directly is deprecated and unsupported."
+ echo "Not all features of configure will be available."
+ echo "Use the 'configure' script in the top-level directory instead."
+ TOPDIR=$(cd $(dirname $0)/../.. > /dev/null && pwd)
+else
+ # Now the next argument is the absolute top-level directory path.
+ # The TOPDIR variable is passed on to configure.ac.
+ TOPDIR="$2"
+ # Remove these two arguments to get to the user supplied arguments
+ shift
+ shift
fi
-CONFIGURE_COMMAND_LINE="$@"
-conf_script_dir=`dirname $0`
+conf_script_dir="$TOPDIR/common/autoconf"
if [ "$CUSTOM_CONFIG_DIR" = "" ]; then
- conf_custom_script_dir="$conf_script_dir/../../jdk/make/closed/autoconf"
+ conf_custom_script_dir="$TOPDIR/closed/autoconf"
else
- conf_custom_script_dir=$CUSTOM_CONFIG_DIR
+ conf_custom_script_dir="$CUSTOM_CONFIG_DIR"
fi
###
@@ -110,14 +117,41 @@
if test "x$conf_debug_configure" = xtrue; then
conf_debug_configure=recursive
fi
+
###
### Process command-line arguments
###
+
+# Returns a shell-escaped version of the argument given.
+function shell_quote() {
+ if [[ -n "$1" ]]; then
+ # Uses only shell-safe characters? No quoting needed.
+ # '=' is a zsh meta-character, but only in word-initial position.
+ if echo "$1" | grep '^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\.:,%/+=_-]\{1,\}$' > /dev/null \
+ && ! echo "$1" | grep '^=' > /dev/null; then
+ quoted="$1"
+ else
+ if echo "$1" | grep "[\'!]" > /dev/null; then
+ # csh does history expansion within single quotes, but not
+ # when backslash-escaped!
+ local quoted_quote="'\\''" quoted_exclam="'\\!'"
+ word="${1//\'/${quoted_quote}}"
+ word="${1//\!/${quoted_exclam}}"
+ fi
+ quoted="'$1'"
+ fi
+ echo "$quoted"
+ fi
+}
+
conf_processed_arguments=()
+conf_quoted_arguments=()
conf_openjdk_target=
for conf_option
do
+
+ # Process (and remove) our own extensions that will not be passed to autoconf
case $conf_option in
--openjdk-target=*)
conf_openjdk_target=`expr "X$conf_option" : '[^=]*=\(.*\)'`
@@ -128,18 +162,35 @@
export conf_debug_configure
fi
;;
- [^-]*=*)
- # Add name of variable to CONFIGURE_OVERRIDDEN_VARIABLES list inside !...!.
- conf_env_var=`expr "x$conf_option" : 'x\([^=]*\)='`
- CONFIGURE_OVERRIDDEN_VARIABLES="$CONFIGURE_OVERRIDDEN_VARIABLES!$conf_env_var!"
- # ... and then process argument as usual
- conf_processed_arguments=("${conf_processed_arguments[@]}" "$conf_option")
- ;;
*)
conf_processed_arguments=("${conf_processed_arguments[@]}" "$conf_option")
;;
esac
+ # Store all variables overridden on the command line
+ case $conf_option in
+ [^-]*=*)
+ # Add name of variable to CONFIGURE_OVERRIDDEN_VARIABLES list inside !...!.
+ conf_env_var=`expr "x$conf_option" : 'x\([^=]*\)='`
+ CONFIGURE_OVERRIDDEN_VARIABLES="$CONFIGURE_OVERRIDDEN_VARIABLES!$conf_env_var!"
+ ;;
+ esac
+
+ # Save the arguments, intelligently quoted for CONFIGURE_COMMAND_LINE.
+ case $conf_option in
+ *=*)
+ conf_option_name=`expr "x$conf_option" : 'x\([^=]*\)='`
+ conf_option_name=$(shell_quote "$conf_option_name")
+ conf_option_value=`expr "x$conf_option" : 'x[^=]*=\(.*\)'`
+ conf_option_value=$(shell_quote "$conf_option_value")
+ conf_quoted_arguments=("${conf_quoted_arguments[@]}" "$conf_option_name=$conf_option_value")
+ ;;
+ *)
+ conf_quoted_arguments=("${conf_quoted_arguments[@]}" "$(shell_quote "$conf_option")")
+ ;;
+ esac
+
+ # Check for certain autoconf options that require extra action
case $conf_option in
-build | --build | --buil | --bui | --bu |-build=* | --build=* | --buil=* | --bui=* | --bu=*)
conf_legacy_crosscompile="$conf_legacy_crosscompile $conf_option" ;;
@@ -152,6 +203,9 @@
esac
done
+# Save the quoted command line
+CONFIGURE_COMMAND_LINE="${conf_quoted_arguments[@]}"
+
if test "x$conf_legacy_crosscompile" != "x"; then
if test "x$conf_openjdk_target" != "x"; then
echo "Error: Specifying --openjdk-target together with autoconf"
@@ -181,10 +235,10 @@
###
if test -e $conf_custom_script_dir/generated-configure.sh; then
# Custom source configure available; run that instead
- echo Running custom generated-configure.sh
+ echo "Running custom generated-configure.sh"
conf_script_to_run=$conf_custom_script_dir/generated-configure.sh
else
- echo Running generated-configure.sh
+ echo "Running generated-configure.sh"
conf_script_to_run=$conf_script_dir/generated-configure.sh
fi
@@ -218,6 +272,13 @@
--debug-configure Run the configure script with additional debug
logging enabled.
+EOT
+
+ # Print list of toolchains. This must be done by the autoconf script.
+ ( CONFIGURE_PRINT_TOOLCHAIN_LIST=true . $conf_script_to_run PRINTF=printf )
+
+ cat <<EOT
+
Please be aware that, when cross-compiling, the OpenJDK configure script will
generally use 'target' where autoconf traditionally uses 'host'.
diff --git a/common/autoconf/configure.ac b/common/autoconf/configure.ac
index 7e02b63..a96a1d2 100644
--- a/common/autoconf/configure.ac
+++ b/common/autoconf/configure.ac
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -31,9 +31,9 @@
AC_PREREQ([2.69])
-AC_INIT(OpenJDK, jdk8, build-dev@openjdk.java.net,,http://openjdk.java.net)
+AC_INIT(OpenJDK, jdk9, build-dev@openjdk.java.net,,http://openjdk.java.net)
-AC_CONFIG_AUX_DIR([build-aux])
+AC_CONFIG_AUX_DIR([$TOPDIR/common/autoconf/build-aux])
m4_include([build-aux/pkg.m4])
# Include these first...
@@ -43,6 +43,7 @@
# ... then the rest
m4_include([boot-jdk.m4])
m4_include([build-performance.m4])
+m4_include([flags.m4])
m4_include([help.m4])
m4_include([jdk-options.m4])
m4_include([libraries.m4])
@@ -71,7 +72,11 @@
#
###############################################################################
-# Basic initialization that must happen first of all
+# If we are requested to print additional help, do that and then exit.
+# This must be the very first call.
+HELP_PRINT_ADDITIONAL_HELP_AND_EXIT
+
+# Basic initialization that must happen first of all in the normal process.
BASIC_INIT
BASIC_SETUP_FUNDAMENTAL_TOOLS
@@ -148,26 +153,41 @@
###############################################################################
#
-# Setup the toolchain (compilers etc), i.e. the tools that need to be
-# cross-compilation aware.
+# Setup the toolchain (compilers etc), i.e. tools used to compile and process
+# native code.
#
###############################################################################
-TOOLCHAIN_SETUP_SYSROOT_AND_OUT_OPTIONS
-# Locate the actual tools
-TOOLCHAIN_SETUP_PATHS
+# First determine the toolchain type (compiler family)
+TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE
-# FIXME: Currently we must test this after paths but before flags. Fix!
+# Then detect the actual binaries needed
+TOOLCHAIN_PRE_DETECTION
+TOOLCHAIN_DETECT_TOOLCHAIN_CORE
+TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA
+TOOLCHAIN_POST_DETECTION
-# And we can test some aspects on the target using configure macros.
+# Finally do some processing after the detection phase
+TOOLCHAIN_SETUP_BUILD_COMPILERS
+TOOLCHAIN_SETUP_LEGACY
+TOOLCHAIN_MISC_CHECKS
+
+# Setup the JTReg Regression Test Harness.
+TOOLCHAIN_SETUP_JTREG
+
+FLAGS_SETUP_INIT_FLAGS
+
+# FIXME: Currently we must test this after toolchain but before flags. Fix!
+
+# Now we can test some aspects on the target using configure macros.
PLATFORM_SETUP_OPENJDK_TARGET_BITS
PLATFORM_SETUP_OPENJDK_TARGET_ENDIANNESS
# Configure flags for the tools
-TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_LIBS
-TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION
-TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_JDK
-TOOLCHAIN_SETUP_COMPILER_FLAGS_MISC
+FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS
+FLAGS_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION
+FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK
+FLAGS_SETUP_COMPILER_FLAGS_MISC
# Setup debug symbols (need objcopy from the toolchain for that)
JDKOPT_SETUP_DEBUG_SYMBOLS
@@ -188,7 +208,7 @@
LIB_SETUP_ALSA
LIB_SETUP_MISC_LIBS
LIB_SETUP_STATIC_LINK_LIBSTDCPP
-
+LIB_SETUP_ON_WINDOWS
###############################################################################
#
diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4
new file mode 100644
index 0000000..613afc3
--- /dev/null
+++ b/common/autoconf/flags.m4
@@ -0,0 +1,699 @@
+#
+# Copyright (c) 2011, 2014, 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.
+#
+
+AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
+[
+ # Option used to tell the compiler whether to create 32- or 64-bit executables
+ if test "x$TOOLCHAIN_TYPE" = xxlc; then
+ COMPILER_TARGET_BITS_FLAG="-q"
+ else
+ COMPILER_TARGET_BITS_FLAG="-m"
+ fi
+ AC_SUBST(COMPILER_TARGET_BITS_FLAG)
+
+ # FIXME: figure out if we should select AR flags depending on OS or toolchain.
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ ARFLAGS="-r"
+ elif test "x$OPENJDK_TARGET_OS" = xaix; then
+ ARFLAGS="-X64"
+ elif test "x$OPENJDK_TARGET_OS" = xwindows; then
+ # lib.exe is used as AR to create static libraries.
+ ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT"
+ else
+ ARFLAGS=""
+ fi
+ AC_SUBST(ARFLAGS)
+
+ ## Setup strip.
+ # FIXME: should this really be per platform, or should it be per toolchain type?
+ # strip is not provided by clang or solstudio; so guessing platform makes most sense.
+ # FIXME: we should really only export STRIPFLAGS from here, not POST_STRIP_CMD.
+ if test "x$OPENJDK_TARGET_OS" = xlinux; then
+ STRIPFLAGS="-g"
+ elif test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ STRIPFLAGS="-x"
+ elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ STRIPFLAGS="-S"
+ elif test "x$OPENJDK_TARGET_OS" = xaix; then
+ STRIPFLAGS="-X32_64"
+ fi
+
+ if test "x$OPENJDK_TARGET_OS" != xwindows; then
+ POST_STRIP_CMD="$STRIP $STRIPFLAGS"
+ fi
+ AC_SUBST(POST_STRIP_CMD)
+
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ # FIXME: break out into MCSFLAGS
+ POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
+ fi
+ AC_SUBST(POST_MCS_CMD)
+
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ CC_OUT_OPTION=-Fo
+ EXE_OUT_OPTION=-out:
+ LD_OUT_OPTION=-out:
+ AR_OUT_OPTION=-out:
+ else
+ # The option used to specify the target .o,.a or .so file.
+ # When compiling, how to specify the to be created object file.
+ CC_OUT_OPTION='-o$(SPACE)'
+ # When linking, how to specify the to be created executable.
+ EXE_OUT_OPTION='-o$(SPACE)'
+ # When linking, how to specify the to be created dynamically linkable library.
+ LD_OUT_OPTION='-o$(SPACE)'
+ # When archiving, how to specify the to be create static archive for object files.
+ AR_OUT_OPTION='rcs$(SPACE)'
+ fi
+ AC_SUBST(CC_OUT_OPTION)
+ AC_SUBST(EXE_OUT_OPTION)
+ AC_SUBST(LD_OUT_OPTION)
+ AC_SUBST(AR_OUT_OPTION)
+
+ # On Windows, we need to set RC flags.
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ RC_FLAGS="-nologo -l 0x409 -r"
+ if test "x$VARIANT" = xOPT; then
+ RC_FLAGS="$RC_FLAGS -d NDEBUG"
+ fi
+
+ # The version variables used to create RC_FLAGS may be overridden
+ # in a custom configure script, or possibly the command line.
+ # Let those variables be expanded at make time in spec.gmk.
+ # The \$ are escaped to the shell, and the $(...) variables
+ # are evaluated by make.
+ RC_FLAGS="$RC_FLAGS \
+ -d \"JDK_BUILD_ID=\$(FULL_VERSION)\" \
+ -d \"JDK_COMPANY=\$(COMPANY_NAME)\" \
+ -d \"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
+ -d \"JDK_VER=\$(JDK_MINOR_VERSION).\$(JDK_MICRO_VERSION).\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0).\$(COOKED_BUILD_NUMBER)\" \
+ -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
+ -d \"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(JDK_MINOR_VERSION) \$(JDK_UPDATE_META_TAG)\" \
+ -d \"JDK_FVER=\$(JDK_MINOR_VERSION),\$(JDK_MICRO_VERSION),\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0),\$(COOKED_BUILD_NUMBER)\""
+ fi
+ AC_SUBST(RC_FLAGS)
+
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # FIXME: likely bug, should be CCXXFLAGS_JDK? or one for C or CXX.
+ CCXXFLAGS="$CCXXFLAGS -nologo"
+ fi
+])
+
+AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS],
+[
+ ###############################################################################
+ #
+ # How to compile shared libraries.
+ #
+
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ PICFLAG="-fPIC"
+ C_FLAG_REORDER=''
+ CXX_FLAG_REORDER=''
+
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ # Linking is different on MacOSX
+ SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
+ SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
+ SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
+ SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1'
+ SET_SHARED_LIBRARY_MAPFILE=''
+ else
+ # Default works for linux, might work on other platforms as well.
+ SHARED_LIBRARY_FLAGS='-shared'
+ SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker \$$$$ORIGIN[$]1'
+ SET_SHARED_LIBRARY_ORIGIN="-Xlinker -z -Xlinker origin $SET_EXECUTABLE_ORIGIN"
+ SET_SHARED_LIBRARY_NAME='-Xlinker -soname=[$]1'
+ SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=[$]1'
+ fi
+ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ PICFLAG="-KPIC"
+ C_FLAG_REORDER='-xF'
+ CXX_FLAG_REORDER='-xF'
+ SHARED_LIBRARY_FLAGS="-G"
+ SET_EXECUTABLE_ORIGIN='-R\$$$$ORIGIN[$]1'
+ SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
+ SET_SHARED_LIBRARY_NAME=''
+ SET_SHARED_LIBRARY_MAPFILE='-M[$]1'
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ PICFLAG="-qpic=large"
+ C_FLAG_REORDER=''
+ CXX_FLAG_REORDER=''
+ SHARED_LIBRARY_FLAGS="-qmkshrobj"
+ SET_EXECUTABLE_ORIGIN=""
+ SET_SHARED_LIBRARY_ORIGIN=''
+ SET_SHARED_LIBRARY_NAME=''
+ SET_SHARED_LIBRARY_MAPFILE=''
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ PICFLAG=""
+ C_FLAG_REORDER=''
+ CXX_FLAG_REORDER=''
+ SHARED_LIBRARY_FLAGS="-LD"
+ SET_EXECUTABLE_ORIGIN=''
+ SET_SHARED_LIBRARY_ORIGIN=''
+ SET_SHARED_LIBRARY_NAME=''
+ SET_SHARED_LIBRARY_MAPFILE=''
+ fi
+
+ AC_SUBST(C_FLAG_REORDER)
+ AC_SUBST(CXX_FLAG_REORDER)
+ AC_SUBST(SHARED_LIBRARY_FLAGS)
+ AC_SUBST(SET_EXECUTABLE_ORIGIN)
+ AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
+ AC_SUBST(SET_SHARED_LIBRARY_NAME)
+ AC_SUBST(SET_SHARED_LIBRARY_MAPFILE)
+
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
+ CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
+ CFLAGS_JDKLIB_EXTRA='-xstrconst'
+ fi
+ # The (cross) compiler is now configured, we can now test capabilities
+ # of the target platform.
+])
+
+# Documentation on common flags used for solstudio in HIGHEST.
+#
+# WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
+# done with care, there are some assumptions below that need to
+# be understood about the use of pointers, and IEEE behavior.
+#
+# -fns: Use non-standard floating point mode (not IEEE 754)
+# -fsimple: Do some simplification of floating point arithmetic (not IEEE 754)
+# -fsingle: Use single precision floating point with 'float'
+# -xalias_level=basic: Assume memory references via basic pointer types do not alias
+# (Source with excessing pointer casting and data access with mixed
+# pointer types are not recommended)
+# -xbuiltin=%all: Use intrinsic or inline versions for math/std functions
+# (If you expect perfect errno behavior, do not use this)
+# -xdepend: Loop data dependency optimizations (need -xO3 or higher)
+# -xrestrict: Pointer parameters to functions do not overlap
+# (Similar to -xalias_level=basic usage, but less obvious sometimes.
+# If you pass in multiple pointers to the same data, do not use this)
+# -xlibmil: Inline some library routines
+# (If you expect perfect errno behavior, do not use this)
+# -xlibmopt: Use optimized math routines (CURRENTLY DISABLED)
+# (If you expect perfect errno behavior, do not use this)
+# Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
+
+ # FIXME: this will never happen since sparc != sparcv9, ie 32 bit, which we don't build anymore.
+ # Bug?
+ #if test "x$OPENJDK_TARGET_CPU" = xsparc; then
+ # CFLAGS_JDK="${CFLAGS_JDK} -xmemalign=4s"
+ # CXXFLAGS_JDK="${CXXFLAGS_JDK} -xmemalign=4s"
+ #fi
+
+AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
+[
+
+ ###############################################################################
+ #
+ # Setup the opt flags for different compilers
+ # and different operating systems.
+ #
+
+ # FIXME: this was indirectly the old default, but just inherited.
+ # if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # C_FLAG_DEPS="-MMD -MF"
+ # fi
+
+ # Generate make dependency files
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ C_FLAG_DEPS="-MMD -MF"
+ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ C_FLAG_DEPS="-xMMD -xMF"
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ C_FLAG_DEPS="-qmakedep=gcc -MF"
+ fi
+ CXX_FLAG_DEPS="$C_FLAG_DEPS"
+ AC_SUBST(C_FLAG_DEPS)
+ AC_SUBST(CXX_FLAG_DEPS)
+
+ # Debug symbols
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
+ CFLAGS_DEBUG_SYMBOLS="-g1"
+ CXXFLAGS_DEBUG_SYMBOLS="-g1"
+ else
+ CFLAGS_DEBUG_SYMBOLS="-g"
+ CXXFLAGS_DEBUG_SYMBOLS="-g"
+ fi
+ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ CFLAGS_DEBUG_SYMBOLS="-g -xs"
+ CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ CFLAGS_DEBUG_SYMBOLS="-g"
+ CXXFLAGS_DEBUG_SYMBOLS="-g"
+ fi
+ AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
+ AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
+
+ # Optimization levels
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ CC_HIGHEST="$CC_HIGHEST -fns -fsimple -fsingle -xbuiltin=%all -xdepend -xrestrict -xlibmil"
+
+ if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86"; then
+ # FIXME: seems we always set -xregs=no%frameptr; put it elsewhere more global?
+ C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xalias_level=basic -xregs=no%frameptr"
+ C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
+ C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
+ C_O_FLAG_NONE="-xregs=no%frameptr"
+ CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
+ CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
+ CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"
+ CXX_O_FLAG_NONE="-xregs=no%frameptr"
+ if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
+ C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xchip=pentium"
+ CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HIGHEST -xchip=pentium"
+ fi
+ elif test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then
+ C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 $CC_HIGHEST -xalias_level=basic -xprefetch=auto,explicit -xchip=ultra"
+ C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
+ C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
+ C_O_FLAG_NONE=""
+ CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
+ CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
+ CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
+ CXX_O_FLAG_NONE=""
+ fi
+ else
+ # The remaining toolchains share opt flags between CC and CXX;
+ # setup for C and duplicate afterwards.
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ # On MacOSX we optimize for size, something
+ # we should do for all platforms?
+ C_O_FLAG_HIGHEST="-Os"
+ C_O_FLAG_HI="-Os"
+ C_O_FLAG_NORM="-Os"
+ C_O_FLAG_NONE=""
+ else
+ C_O_FLAG_HIGHEST="-O3"
+ C_O_FLAG_HI="-O3"
+ C_O_FLAG_NORM="-O2"
+ C_O_FLAG_NONE="-O0"
+ fi
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ C_O_FLAG_HIGHEST="-O3"
+ C_O_FLAG_HI="-O3 -qstrict"
+ C_O_FLAG_NORM="-O2"
+ C_O_FLAG_NONE=""
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ C_O_FLAG_HIGHEST="-O2"
+ C_O_FLAG_HI="-O1"
+ C_O_FLAG_NORM="-O1"
+ C_O_FLAG_NONE="-Od"
+ fi
+ CXX_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST"
+ CXX_O_FLAG_HI="$C_O_FLAG_HI"
+ CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
+ CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
+ fi
+
+ AC_SUBST(C_O_FLAG_HIGHEST)
+ AC_SUBST(C_O_FLAG_HI)
+ AC_SUBST(C_O_FLAG_NORM)
+ AC_SUBST(C_O_FLAG_NONE)
+ AC_SUBST(CXX_O_FLAG_HIGHEST)
+ AC_SUBST(CXX_O_FLAG_HI)
+ AC_SUBST(CXX_O_FLAG_NORM)
+ AC_SUBST(CXX_O_FLAG_NONE)
+])
+
+AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
+[
+ # Special extras...
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ if test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then
+ CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
+ CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
+ fi
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall"
+ CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
+ CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
+ fi
+
+ if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
+ AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
+ fi
+
+ if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
+ AC_MSG_WARN([Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags])
+ fi
+
+ if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
+ AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags])
+ fi
+
+ AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags],
+ [extra flags to be used when compiling jdk c-files])])
+
+ AC_ARG_WITH(extra-cxxflags, [AS_HELP_STRING([--with-extra-cxxflags],
+ [extra flags to be used when compiling jdk c++-files])])
+
+ AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags],
+ [extra flags to be used when linking jdk])])
+
+ CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
+ CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
+ LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
+
+ # Hotspot needs these set in their legacy form
+ LEGACY_EXTRA_CFLAGS=$with_extra_cflags
+ LEGACY_EXTRA_CXXFLAGS=$with_extra_cxxflags
+ LEGACY_EXTRA_LDFLAGS=$with_extra_ldflags
+
+ AC_SUBST(LEGACY_EXTRA_CFLAGS)
+ AC_SUBST(LEGACY_EXTRA_CXXFLAGS)
+ AC_SUBST(LEGACY_EXTRA_LDFLAGS)
+
+ ###############################################################################
+ #
+ # Now setup the CFLAGS and LDFLAGS for the JDK build.
+ # Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build.
+ #
+
+ # Setup compiler/platform specific flags to CFLAGS_JDK,
+ # CXXFLAGS_JDK and CCXXFLAGS_JDK (common to C and CXX?)
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # these options are used for both C and C++ compiles
+ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \
+ -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
+ case $OPENJDK_TARGET_CPU_ARCH in
+ arm )
+ # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
+ CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
+ ;;
+ ppc )
+ # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
+ ;;
+ * )
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
+ CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
+ ;;
+ esac
+ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
+ if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB"
+ CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE"
+ fi
+
+ CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal"
+ CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt -features=no%except -DCC_NOEX -norunpath -xnolib"
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ CFLAGS_JDK="$CFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
+ CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
+ -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
+ -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
+ -DWIN32 -DIAL"
+ if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64"
+ else
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86"
+ fi
+ fi
+
+ ###############################################################################
+
+ # Adjust flags according to debug level.
+ case $DEBUG_LEVEL in
+ fastdebug )
+ CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
+ CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
+ C_O_FLAG_HI="$C_O_FLAG_NORM"
+ C_O_FLAG_NORM="$C_O_FLAG_NORM"
+ CXX_O_FLAG_HI="$CXX_O_FLAG_NORM"
+ CXX_O_FLAG_NORM="$CXX_O_FLAG_NORM"
+ JAVAC_FLAGS="$JAVAC_FLAGS -g"
+ ;;
+ slowdebug )
+ CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
+ CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
+ C_O_FLAG_HI="$C_O_FLAG_NONE"
+ C_O_FLAG_NORM="$C_O_FLAG_NONE"
+ CXX_O_FLAG_HI="$CXX_O_FLAG_NONE"
+ CXX_O_FLAG_NORM="$CXX_O_FLAG_NONE"
+ JAVAC_FLAGS="$JAVAC_FLAGS -g"
+ ;;
+ esac
+
+ # Setup LP64
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
+
+ # Set some common defines. These works for all compilers, but assume
+ # -D is universally accepted.
+
+ # Setup endianness
+ if test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
+ # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
+ # Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
+ # (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
+ # Note: -Dmacro is the same as #define macro 1
+ # -Dmacro= is the same as #define macro
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN="
+ else
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN"
+ fi
+ else
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN"
+ fi
+
+ # Setup target OS define. Use OS target name but in upper case.
+ OPENJDK_TARGET_OS_UPPERCASE=`$ECHO $OPENJDK_TARGET_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D$OPENJDK_TARGET_OS_UPPERCASE"
+
+ # Setup target CPU
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
+
+ # Setup debug/release defines
+ if test "x$DEBUG_LEVEL" = xrelease; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG"
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED"
+ fi
+ else
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG"
+ fi
+
+ # Setup release name
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'"
+
+
+ # Set some additional per-OS defines.
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
+ elif test "x$OPENJDK_TARGET_OS" = xaix; then
+ # FIXME: PPC64 should not be here.
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DPPC64"
+ elif test "x$OPENJDK_TARGET_OS" = xbsd; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_ALLBSD_SOURCE"
+ fi
+
+ # Additional macosx handling
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # FIXME: This needs to be exported in spec.gmk due to closed legacy code.
+ # FIXME: clean this up, and/or move it elsewhere.
+
+ # Setting these parameters makes it an error to link to macosx APIs that are
+ # newer than the given OS version and makes the linked binaries compatible
+ # even if built on a newer version of the OS.
+ # The expected format is X.Y.Z
+ MACOSX_VERSION_MIN=10.7.0
+ AC_SUBST(MACOSX_VERSION_MIN)
+
+ # The macro takes the version with no dots, ex: 1070
+ # Let the flags variables get resolved in make for easier override on make
+ # command line.
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
+ LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
+ fi
+ fi
+
+ # Setup some hard coded includes
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
+ -I${JDK_OUTPUTDIR}/include \
+ -I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \
+ -I${JDK_TOPDIR}/src/share/javavm/export \
+ -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_EXPORT_DIR/javavm/export \
+ -I${JDK_TOPDIR}/src/share/native/common \
+ -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/native/common"
+
+ # The shared libraries are compiled using the picflag.
+ CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
+ CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
+
+ # Executable flags
+ CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK"
+ CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK"
+
+ AC_SUBST(CFLAGS_JDKLIB)
+ AC_SUBST(CFLAGS_JDKEXE)
+ AC_SUBST(CXXFLAGS_JDKLIB)
+ AC_SUBST(CXXFLAGS_JDKEXE)
+
+ # Setup LDFLAGS et al.
+ #
+ # Now this is odd. The JDK native libraries have to link against libjvm.so
+ # On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
+ # Which should we link to? Are we lucky enough that the binary api to the libjvm.so library
+ # is identical for client and server? Yes. Which is picked at runtime (client or server)?
+ # Neither, since the chosen libjvm.so has already been loaded by the launcher, all the following
+ # libraries will link to whatever is in memory. Yuck.
+ #
+ # Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh.
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ LDFLAGS_JDK="$LDFLAGS_JDK -nologo -opt:ref -incremental:no"
+ if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
+ LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
+ fi
+ # TODO: make -debug optional "--disable-full-debug-symbols"
+ LDFLAGS_JDK="$LDFLAGS_JDK -debug"
+ LDFLAGS_JDKLIB="${LDFLAGS_JDK} -dll -libpath:${JDK_OUTPUTDIR}/lib"
+ LDFLAGS_JDKLIB_SUFFIX=""
+ if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
+ LDFLAGS_STACK_SIZE=1048576
+ else
+ LDFLAGS_STACK_SIZE=327680
+ fi
+ LDFLAGS_JDKEXE="${LDFLAGS_JDK} /STACK:$LDFLAGS_STACK_SIZE"
+ else
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # If this is a --hash-style=gnu system, use --hash-style=both, why?
+ # We have previously set HAS_GNU_HASH if this is the case
+ if test -n "$HAS_GNU_HASH"; then
+ LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker --hash-style=both "
+ fi
+ if test "x$OPENJDK_TARGET_OS" = xlinux; then
+ # And since we now know that the linker is gnu, then add -z defs, to forbid
+ # undefined symbols in object files.
+ LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -z -Xlinker defs"
+ if test "x$DEBUG_LEVEL" = "xrelease"; then
+ # When building release libraries, tell the linker optimize them.
+ # Should this be supplied to the OSS linker as well?
+ LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -O1"
+ fi
+ fi
+ fi
+
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
+ LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
+ fi
+
+ LDFLAGS_JDKLIB="${LDFLAGS_JDK} $SHARED_LIBRARY_FLAGS \
+ -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}"
+
+ # On some platforms (mac) the linker warns about non existing -L dirs.
+ # Add server first if available. Linking aginst client does not always produce the same results.
+ # Only add client dir if client is being built. Add minimal (note not minimal1) if only building minimal1.
+ # Default to server for other variants.
+ if test "x$JVM_VARIANT_SERVER" = xtrue; then
+ LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
+ elif test "x$JVM_VARIANT_CLIENT" = xtrue; then
+ LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/client"
+ elif test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
+ LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/minimal"
+ else
+ LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
+ fi
+
+ LDFLAGS_JDKLIB_SUFFIX="-ljava -ljvm"
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc"
+ fi
+
+ LDFLAGS_JDKEXE="${LDFLAGS_JDK}"
+ if test "x$OPENJDK_TARGET_OS" = xlinux; then
+ LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
+ fi
+ fi
+ AC_SUBST(LDFLAGS_JDKLIB)
+ AC_SUBST(LDFLAGS_JDKEXE)
+ AC_SUBST(LDFLAGS_JDKLIB_SUFFIX)
+ AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)
+ AC_SUBST(LDFLAGS_CXX_JDK)
+])
+
+
+# FLAGS_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE],
+# [RUN-IF-FALSE])
+# ------------------------------------------------------------
+# Check that the c and c++ compilers support an argument
+AC_DEFUN([FLAGS_COMPILER_CHECK_ARGUMENTS],
+[
+ AC_MSG_CHECKING([if compiler supports "$1"])
+ supports=yes
+
+ saved_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS $1"
+ AC_LANG_PUSH([C])
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
+ [supports=no])
+ AC_LANG_POP([C])
+ CFLAGS="$saved_cflags"
+
+ saved_cxxflags="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAG $1"
+ AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
+ [supports=no])
+ AC_LANG_POP([C++])
+ CXXFLAGS="$saved_cxxflags"
+
+ AC_MSG_RESULT([$supports])
+ if test "x$supports" = "xyes" ; then
+ m4_ifval([$2], [$2], [:])
+ else
+ m4_ifval([$3], [$3], [:])
+ fi
+])
+
+AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_MISC],
+[
+ # Some Zero and Shark settings.
+ # ZERO_ARCHFLAG tells the compiler which mode to build for
+ case "${OPENJDK_TARGET_CPU}" in
+ s390)
+ ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}31"
+ ;;
+ *)
+ ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
+ esac
+ FLAGS_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""])
+ AC_SUBST(ZERO_ARCHFLAG)
+
+ # Check that the compiler supports -mX (or -qX on AIX) flags
+ # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
+ FLAGS_COMPILER_CHECK_ARGUMENTS([${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}],
+ [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
+ [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
+ AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
+])
diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh
index a03ee5c..7473edb 100644
--- a/common/autoconf/generated-configure.sh
+++ b/common/autoconf/generated-configure.sh
@@ -1,6 +1,12 @@
+#!/bin/bash
+#
+# ##########################################################
+# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
+# ##########################################################
+#
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for OpenJDK jdk8.
+# Generated by GNU Autoconf 2.69 for OpenJDK jdk9.
#
# Report bugs to <build-dev@openjdk.java.net>.
#
@@ -580,8 +586,8 @@
# Identity of this package.
PACKAGE_NAME='OpenJDK'
PACKAGE_TARNAME='openjdk'
-PACKAGE_VERSION='jdk8'
-PACKAGE_STRING='OpenJDK jdk8'
+PACKAGE_VERSION='jdk9'
+PACKAGE_STRING='OpenJDK jdk9'
PACKAGE_BUGREPORT='build-dev@openjdk.java.net'
PACKAGE_URL='http://openjdk.java.net'
@@ -634,6 +640,7 @@
ENABLE_INTREE_EC
SALIB_NAME
HOTSPOT_MAKE_ARGS
+MSVCR_DLL
LIBCXX
LLVM_LIBS
LLVM_LDFLAGS
@@ -661,11 +668,8 @@
X_CFLAGS
XMKMF
FIXPATH
-CXXFLAGS_DEBUG_SYMBOLS
-CFLAGS_DEBUG_SYMBOLS
ZIP_DEBUGINFO_FILES
ENABLE_DEBUG_SYMBOLS
-USING_BROKEN_SUSE_LD
COMPILER_SUPPORTS_TARGET_BITS_FLAG
ZERO_ARCHFLAG
LDFLAGS_CXX_JDK
@@ -678,12 +682,9 @@
CFLAGS_JDKEXE
CFLAGS_JDKLIB
MACOSX_VERSION_MIN
-PACKAGE_PATH
LEGACY_EXTRA_LDFLAGS
LEGACY_EXTRA_CXXFLAGS
LEGACY_EXTRA_CFLAGS
-CXX_FLAG_DEPS
-C_FLAG_DEPS
CXX_O_FLAG_NONE
CXX_O_FLAG_NORM
CXX_O_FLAG_HI
@@ -692,60 +693,64 @@
C_O_FLAG_NORM
C_O_FLAG_HI
C_O_FLAG_HIGHEST
-POST_MCS_CMD
-POST_STRIP_CMD
-SET_EXECUTABLE_ORIGIN
-SET_SHARED_LIBRARY_ORIGIN
-CXX_FLAG_REORDER
-C_FLAG_REORDER
+CXXFLAGS_DEBUG_SYMBOLS
+CFLAGS_DEBUG_SYMBOLS
+CXX_FLAG_DEPS
+C_FLAG_DEPS
SET_SHARED_LIBRARY_MAPFILE
SET_SHARED_LIBRARY_NAME
+SET_SHARED_LIBRARY_ORIGIN
+SET_EXECUTABLE_ORIGIN
SHARED_LIBRARY_FLAGS
-EXE_SUFFIX
-STATIC_LIBRARY_SUFFIX
-SHARED_LIBRARY_SUFFIX
-LIBRARY_PREFIX
-STATIC_LIBRARY
-SHARED_LIBRARY
-OBJ_SUFFIX
-COMPILER_NAME
+CXX_FLAG_REORDER
+C_FLAG_REORDER
+RC_FLAGS
+AR_OUT_OPTION
+LD_OUT_OPTION
+EXE_OUT_OPTION
+CC_OUT_OPTION
+POST_MCS_CMD
+POST_STRIP_CMD
+ARFLAGS
+COMPILER_TARGET_BITS_FLAG
JT_HOME
JTREGEXE
-LIPO
+USING_BROKEN_SUSE_LD
+PACKAGE_PATH
+LDEXECXX
+LDEXE
+USE_CLANG
+HOTSPOT_LD
+HOTSPOT_CXX
+HOTSPOT_RC
+HOTSPOT_MT
+BUILD_LD
+BUILD_CXX
+BUILD_CC
ac_ct_OBJDUMP
OBJDUMP
ac_ct_OBJCOPY
OBJCOPY
-ac_ct_STRIP
ac_ct_NM
+ac_ct_STRIP
MCS
-STRIP
GNM
NM
-AS
-CXXCPP
-CPP
-COMPILER_TYPE
-RC_FLAGS
+STRIP
DUMPBIN
-WINAR
-HOTSPOT_RC
-HOTSPOT_MT
RC
MT
-WINLD
-HOTSPOT_LD
-HOTSPOT_CXX
-ARFLAGS
-ac_ct_AR
-AR
-LDEXECXX
-LDCXX
-LDEXE
-LD
+LIPO
ac_ct_OBJC
OBJCFLAGS
OBJC
+ac_ct_AR
+AR
+AS
+LDCXX
+LD
+CXXCPP
+CPP
ac_ct_CXX
CXXFLAGS
CXX
@@ -753,7 +758,6 @@
PROPER_COMPILER_CXX
TOOLS_DIR_CXX
POTENTIAL_CXX
-COMPILER_TARGET_BITS_FLAG
OBJEXT
EXEEXT
ac_ct_CC
@@ -765,18 +769,18 @@
PROPER_COMPILER_CC
TOOLS_DIR_CC
POTENTIAL_CC
-BUILD_LD
-BUILD_CXX
-BUILD_CC
-MSVCR_DLL
VS_PATH
VS_LIB
VS_INCLUDE
CYGWIN_LINK
-AR_OUT_OPTION
-LD_OUT_OPTION
-EXE_OUT_OPTION
-CC_OUT_OPTION
+EXE_SUFFIX
+OBJ_SUFFIX
+STATIC_LIBRARY
+SHARED_LIBRARY
+STATIC_LIBRARY_SUFFIX
+SHARED_LIBRARY_SUFFIX
+LIBRARY_PREFIX
+TOOLCHAIN_TYPE
BUILD_HOTSPOT
HOTSPOT_DIST
BUILD_OUTPUT
@@ -789,6 +793,7 @@
JAXP_TOPDIR
CORBA_TOPDIR
LANGTOOLS_TOPDIR
+JAVA_FLAGS
BOOT_JDK_JVMARGS
JAVAC_FLAGS
BOOT_JDK_SOURCETARGET
@@ -821,6 +826,7 @@
JDK_MAJOR_VERSION
USER_RELEASE_SUFFIX
COMPRESS_JARS
+RMICONNECTOR_IIOP
UNLIMITED_CRYPTO
CACERTS_FILE
TEST_IN_BUILD
@@ -877,8 +883,8 @@
BUILD_LOG_PREVIOUS
BUILD_LOG
SYS_ROOT
+TOPDIR
PATH_SEP
-SRC_ROOT
ZERO_ARCHDEF
DEFINE_CROSS_COMPILE_ARCH
LP64
@@ -967,7 +973,6 @@
BASENAME
DATE_WHEN_CONFIGURED
CONFIGURE_COMMAND_LINE
-CUSTOM_MAKE_DIR
target_alias
host_alias
build_alias
@@ -1009,12 +1014,12 @@
ac_subst_files=''
ac_user_opts='
enable_option_checking
-with_custom_make_dir
with_target_bits
with_sys_root
with_tools_dir
with_devkit
enable_openjdk_only
+with_custom_make_dir
with_jdk_variant
with_jvm_interpreter
with_jvm_variants
@@ -1029,6 +1034,7 @@
enable_hotspot_test_in_build
with_cacerts_file
enable_unlimited_crypto
+enable_rmiconnector_iiop
with_milestone
with_update_version
with_user_release_suffix
@@ -1046,10 +1052,7 @@
with_override_nashorn
with_override_jdk
with_import_hotspot
-with_msvcr_dll
-with_dxsdk
-with_dxsdk_lib
-with_dxsdk_include
+with_toolchain_type
with_jtreg
with_extra_cflags
with_extra_cxxflags
@@ -1070,6 +1073,10 @@
with_giflib
with_zlib
with_stdc__lib
+with_msvcr_dll
+with_dxsdk
+with_dxsdk_lib
+with_dxsdk_include
with_num_cores
with_memory_size
with_jobs
@@ -1146,9 +1153,6 @@
JAR
NATIVE2ASCII
JARSIGNER
-BUILD_CC
-BUILD_CXX
-BUILD_LD
CC
CFLAGS
LDFLAGS
@@ -1157,19 +1161,22 @@
CXX
CXXFLAGS
CCC
-OBJC
-OBJCFLAGS
-AR
CPP
CXXCPP
AS
+AR
+OBJC
+OBJCFLAGS
+LIPO
+STRIP
NM
GNM
-STRIP
MCS
OBJCOPY
OBJDUMP
-LIPO
+BUILD_CC
+BUILD_CXX
+BUILD_LD
JTREGEXE
XMKMF
FREETYPE_CFLAGS
@@ -1719,7 +1726,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures OpenJDK jdk8 to adapt to many kinds of systems.
+\`configure' configures OpenJDK jdk9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1789,7 +1796,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenJDK jdk8:";;
+ short | recursive ) echo "Configuration of OpenJDK jdk9:";;
esac
cat <<\_ACEOF
@@ -1807,6 +1814,9 @@
run the Queens test after Hotspot build [disabled]
--enable-unlimited-crypto
Enable unlimited crypto policy [disabled]
+ --enable-rmiconnector-iiop
+ enable the JMX RMIConnector iiop transport
+ [disabled]
--disable-debug-symbols disable generation of debug symbols [enabled]
--disable-zip-debug-info
disable zipping of debug-info files [enabled]
@@ -1828,7 +1838,6 @@
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-custom-make-dir use this directory for custom build/make files
--with-target-bits build 32-bit or 64-bit binaries (for platforms that
support it), e.g. --with-target-bits=32 [guessed]
--with-sys-root pass this sys-root to the compilers and tools (for
@@ -1837,6 +1846,8 @@
cross-compiling)
--with-devkit use this directory as base for tools-dir and
sys-root (for cross-compiling)
+ --with-custom-make-dir Deprecated. Option is kept for backwards
+ compatibility and is ignored
--with-jdk-variant JDK variant to build (normal) [normal]
--with-jvm-interpreter JVM interpreter to build (template, cpp) [template]
--with-jvm-variants JVM variants (separated by commas) to build (server,
@@ -1858,11 +1869,11 @@
--with-update-version Set update version value for build [b00]
--with-user-release-suffix
Add a custom string to the version string if build
- number isn't set.[username_builddateb00]
+ number is not set.[username_builddateb00]
--with-build-number Set build number value for build [b00]
--with-boot-jdk path to Boot JDK (used to bootstrap build) [probed]
- --with-boot-jdk-jvmargs specify JVM arguments to be passed to all
- invocations of the Boot JDK, overriding the default
+ --with-boot-jdk-jvmargs specify JVM arguments to be passed to all java
+ invocations of boot JDK, overriding the default
values, e.g --with-boot-jdk-jvmargs="-Xmx8G
-enableassertions"
--with-add-source-root for each and every source directory, look in this
@@ -1888,14 +1899,8 @@
--with-import-hotspot import hotspot binaries from this jdk image or
hotspot build dist dir instead of building from
source
- --with-msvcr-dll copy this msvcr100.dll into the built JDK (Windows
- only) [probed]
- --with-dxsdk Deprecated. Option is kept for backwards
- compatibility and is ignored
- --with-dxsdk-lib Deprecated. Option is kept for backwards
- compatibility and is ignored
- --with-dxsdk-include Deprecated. Option is kept for backwards
- compatibility and is ignored
+ --with-toolchain-type the toolchain type (or family) to use, use '--help'
+ to show possible values [platform dependent]
--with-jtreg Regression Test Harness [probed]
--with-extra-cflags extra flags to be used when compiling jdk c-files
--with-extra-cxxflags extra flags to be used when compiling jdk c++-files
@@ -1922,6 +1927,14 @@
force linking of the C++ runtime on Linux to either
static or dynamic, default is static with dynamic as
fallback
+ --with-msvcr-dll copy this msvcr100.dll into the built JDK (Windows
+ only) [probed]
+ --with-dxsdk Deprecated. Option is kept for backwards
+ compatibility and is ignored
+ --with-dxsdk-lib Deprecated. Option is kept for backwards
+ compatibility and is ignored
+ --with-dxsdk-include Deprecated. Option is kept for backwards
+ compatibility and is ignored
--with-num-cores number of cores in the build system, e.g.
--with-num-cores=8 [probed]
--with-memory-size memory (in MB) available in the build system, e.g.
@@ -1999,9 +2012,6 @@
NATIVE2ASCII
Override default value for NATIVE2ASCII
JARSIGNER Override default value for JARSIGNER
- BUILD_CC Override default value for BUILD_CC
- BUILD_CXX Override default value for BUILD_CXX
- BUILD_LD Override default value for BUILD_LD
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
@@ -2011,19 +2021,22 @@
you have headers in a nonstandard directory <include dir>
CXX C++ compiler command
CXXFLAGS C++ compiler flags
- OBJC Objective C compiler command
- OBJCFLAGS Objective C compiler flags
- AR Override default value for AR
CPP C preprocessor
CXXCPP C++ preprocessor
AS Override default value for AS
+ AR Override default value for AR
+ OBJC Objective C compiler command
+ OBJCFLAGS Objective C compiler flags
+ LIPO Override default value for LIPO
+ STRIP Override default value for STRIP
NM Override default value for NM
GNM Override default value for GNM
- STRIP Override default value for STRIP
MCS Override default value for MCS
OBJCOPY Override default value for OBJCOPY
OBJDUMP Override default value for OBJDUMP
- LIPO Override default value for LIPO
+ BUILD_CC Override default value for BUILD_CC
+ BUILD_CXX Override default value for BUILD_CXX
+ BUILD_LD Override default value for BUILD_LD
JTREGEXE Override default value for JTREGEXE
XMKMF Path to xmkmf, Makefile generator for X Window System
FREETYPE_CFLAGS
@@ -2104,7 +2117,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenJDK configure jdk8
+OpenJDK configure jdk9
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2194,44 +2207,6 @@
} # ac_fn_cxx_try_compile
-# ac_fn_objc_try_compile LINENO
-# -----------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_objc_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_objc_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_objc_try_compile
-
# ac_fn_c_try_cpp LINENO
# ----------------------
# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
@@ -2306,6 +2281,44 @@
} # ac_fn_cxx_try_cpp
+# ac_fn_objc_try_compile LINENO
+# -----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_objc_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_objc_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_objc_try_compile
+
# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
# ---------------------------------------------------------
# Tests whether HEADER exists, giving a warning if it cannot be compiled using
@@ -2800,7 +2813,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by OpenJDK $as_me jdk8, which was
+It was created by OpenJDK $as_me jdk9, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3150,7 +3163,7 @@
ac_aux_dir=
-for ac_dir in build-aux "$srcdir"/build-aux; do
+for ac_dir in $TOPDIR/common/autoconf/build-aux "$srcdir"/$TOPDIR/common/autoconf/build-aux; do
if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
@@ -3166,7 +3179,7 @@
fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in $TOPDIR/common/autoconf/build-aux \"$srcdir\"/$TOPDIR/common/autoconf/build-aux" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
@@ -3268,7 +3281,7 @@
# Include these first...
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -3653,7 +3666,80 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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.
+#
+
+
+
+
+
+# Documentation on common flags used for solstudio in HIGHEST.
+#
+# WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
+# done with care, there are some assumptions below that need to
+# be understood about the use of pointers, and IEEE behavior.
+#
+# -fns: Use non-standard floating point mode (not IEEE 754)
+# -fsimple: Do some simplification of floating point arithmetic (not IEEE 754)
+# -fsingle: Use single precision floating point with 'float'
+# -xalias_level=basic: Assume memory references via basic pointer types do not alias
+# (Source with excessing pointer casting and data access with mixed
+# pointer types are not recommended)
+# -xbuiltin=%all: Use intrinsic or inline versions for math/std functions
+# (If you expect perfect errno behavior, do not use this)
+# -xdepend: Loop data dependency optimizations (need -xO3 or higher)
+# -xrestrict: Pointer parameters to functions do not overlap
+# (Similar to -xalias_level=basic usage, but less obvious sometimes.
+# If you pass in multiple pointers to the same data, do not use this)
+# -xlibmil: Inline some library routines
+# (If you expect perfect errno behavior, do not use this)
+# -xlibmopt: Use optimized math routines (CURRENTLY DISABLED)
+# (If you expect perfect errno behavior, do not use this)
+# Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
+
+ # FIXME: this will never happen since sparc != sparcv9, ie 32 bit, which we don't build anymore.
+ # Bug?
+ #if test "x$OPENJDK_TARGET_CPU" = xsparc; then
+ # CFLAGS_JDK="${CFLAGS_JDK} -xmemalign=4s"
+ # CXXFLAGS_JDK="${CXXFLAGS_JDK} -xmemalign=4s"
+ #fi
+
+
+
+
+
+
+# FLAGS_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE],
+# [RUN-IF-FALSE])
+# ------------------------------------------------------------
+# Check that the c and c++ compilers support an argument
+
+
+
+
+#
+# Copyright (c) 2011, 2014, 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
@@ -3772,10 +3858,16 @@
PKGHANDLER_COMMAND=""
}
+# This function will check if we're called from the "configure" wrapper while
+# printing --help. If so, we will print out additional information that can
+# only be extracted within the autoconf script, and then exit. This must be
+# called at the very beginning in configure.ac.
+
+
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -3826,20 +3918,8 @@
-# Support for customization of the build process. Some build files
-# will include counterparts from this location, if they exist. This allows
-# for a degree of customization of the build targets and the rules/recipes
-# to create them
-
-# Check whether --with-custom-make-dir was given.
-if test "${with_custom_make_dir+set}" = set; then :
- withval=$with_custom_make_dir; CUSTOM_MAKE_DIR=$with_custom_make_dir
-fi
-
-
-
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -3879,6 +3959,8 @@
+
+
#
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -3979,7 +4061,7 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -4003,38 +4085,90 @@
# questions.
#
+########################################################################
+# This file is responsible for detecting, verifying and setting up the
+# toolchain, i.e. the compiler, linker and related utilities. It will setup
+# proper paths to the binaries, but it will not setup any flags.
+#
+# The binaries used is determined by the toolchain type, which is the family of
+# compilers and related tools that are used.
+########################################################################
+
+
+# All valid toolchains, regardless of platform (used by help.m4)
+VALID_TOOLCHAINS_all="gcc clang solstudio xlc microsoft"
+
+# These toolchains are valid on different platforms
+VALID_TOOLCHAINS_linux="gcc clang"
+VALID_TOOLCHAINS_solaris="solstudio"
+VALID_TOOLCHAINS_macosx="gcc clang"
+VALID_TOOLCHAINS_aix="xlc"
+VALID_TOOLCHAINS_windows="microsoft"
+
+# Toolchain descriptions
+TOOLCHAIN_DESCRIPTION_clang="clang/LLVM"
+TOOLCHAIN_DESCRIPTION_gcc="GNU Compiler Collection"
+TOOLCHAIN_DESCRIPTION_microsoft="Microsoft Visual Studio"
+TOOLCHAIN_DESCRIPTION_solstudio="Oracle Solaris Studio"
+TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
+
+# Setup a number of variables describing how native output files are
+# named on this platform/toolchain.
+
+
+# Determine which toolchain type to use, and make sure it is valid for this
+# platform. Setup various information about the selected toolchain.
+
+
+# Before we start detecting the toolchain executables, we might need some
+# special setup, e.g. additional paths etc.
+
+
+# Restore path, etc
+
+
+# Check if a compiler is of the toolchain type we expect, and save the version
+# information from it. If the compiler does not match the expected type,
+# this function will abort using AC_MSG_ERROR. If it matches, the version will
+# be stored in CC_VERSION_NUMBER/CXX_VERSION_NUMBER (as a dotted number), and
+# the full version string in CC_VERSION_STRING/CXX_VERSION_STRING.
+#
# $1 = compiler to test (CC or CXX)
# $2 = human readable name of compiler (C or C++)
-
-
-
+# Try to locate the given C or C++ compiler in the path, or otherwise.
+#
# $1 = compiler to test (CC or CXX)
# $2 = human readable name of compiler (C or C++)
# $3 = list of compiler names to search for
+# Detect the core components of the toolchain, i.e. the compilers (CC and CXX),
+# preprocessor (CPP and CXXCPP), the linker (LD), the assembler (AS) and the
+# archiver (AR). Verify that the compilers are correct according to the
+# toolchain type.
+# Setup additional tools that is considered a part of the toolchain, but not the
+# core part. Many of these are highly platform-specific and do not exist,
+# and/or are not needed on all platforms.
+# Setup the build tools (i.e, the compiler and linker used to build programs
+# that should be run on the build platform, not the target platform, as a build
+# helper). Since the non-cross-compile case uses the normal, target compilers
+# for this, we can only do this after these have been setup.
+# Setup legacy variables that are still needed as alternative ways to refer to
+# parts of the toolchain.
+# Do some additional checks on the detected tools.
-
-# TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE],
-# [RUN-IF-FALSE])
-# ------------------------------------------------------------
-# Check that the c and c++ compilers support an argument
-
-
-
-
-# Setup the JTREG paths
+# Setup the JTReg Regression Test Harness.
#
@@ -4087,7 +4221,7 @@
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1391160222
+DATE_WHEN_GENERATED=1394011255
###############################################################################
#
@@ -4098,7 +4232,25 @@
#
###############################################################################
-# Basic initialization that must happen first of all
+# If we are requested to print additional help, do that and then exit.
+# This must be the very first call.
+
+ if test "x$CONFIGURE_PRINT_TOOLCHAIN_LIST" != x; then
+ $PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
+ $PRINTF "Which are valid to use depends on the build platform.\n"
+ for toolchain in $VALID_TOOLCHAINS_all; do
+ # Use indirect variable referencing
+ toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
+ TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
+ $PRINTF " %-10s %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
+ done
+
+ # And now exit directly
+ exit 0
+ fi
+
+
+# Basic initialization that must happen first of all in the normal process.
# Save the original command line. This is passed to us by the wrapper configure script.
@@ -13718,14 +13870,8 @@
# Continue setting up basic stuff. Most remaining code require fundamental tools.
- # Locate the directory of this script.
- SCRIPT="$0"
- AUTOCONF_DIR=`cd \`$DIRNAME $SCRIPT\`; $THEPWDCMD -L`
-
- # Where is the source? It is located two levels above the configure script.
+ # Save the current directory this script was started from
CURDIR="$PWD"
- cd "$AUTOCONF_DIR/../.."
- SRC_ROOT="`$THEPWDCMD -L`"
if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
PATH_SEP=";"
@@ -13824,131 +13970,14 @@
fi
-
- cd "$CURDIR"
+ # We get the top-level directory from the supporting wrappers.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for top-level directory" >&5
+$as_echo_n "checking for top-level directory... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TOPDIR" >&5
+$as_echo "$TOPDIR" >&6; }
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- path="$SRC_ROOT"
- new_path=`$CYGPATH -u "$path"`
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file precense.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of SRC_ROOT, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of SRC_ROOT, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Cannot locate the the path of SRC_ROOT" "$LINENO" 5
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
-
- if test "x$path" != "x$new_path"; then
- SRC_ROOT="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting SRC_ROOT to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting SRC_ROOT to \"$new_path\"" >&6;}
- fi
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- path="$SRC_ROOT"
- has_colon=`$ECHO $path | $GREP ^.:`
- new_path="$path"
- if test "x$has_colon" = x; then
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $path`
- fi
-
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- if test "x$path" != "x$new_path"; then
- SRC_ROOT="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting SRC_ROOT to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting SRC_ROOT to \"$new_path\"" >&6;}
- fi
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
-
- else
- # We're on a posix platform. Hooray! :)
- path="$SRC_ROOT"
- has_space=`$ECHO "$path" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of SRC_ROOT, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of SRC_ROOT, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
- fi
-
- # Use eval to expand a potential ~
- eval path="$path"
- if test ! -f "$path" && test ! -d "$path"; then
- as_fn_error $? "The path of SRC_ROOT, which resolves as \"$path\", is not found." "$LINENO" 5
- fi
-
- SRC_ROOT="`cd "$path"; $THEPWDCMD -L`"
- fi
-
+ # We can only call BASIC_FIXUP_PATH after BASIC_CHECK_PATHS_WINDOWS.
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -14072,6 +14101,133 @@
fi
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ path="$TOPDIR"
+ new_path=`$CYGPATH -u "$path"`
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file precense.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of TOPDIR, which resolves as \"$path\", is invalid." >&5
+$as_echo "$as_me: The path of TOPDIR, which resolves as \"$path\", is invalid." >&6;}
+ as_fn_error $? "Cannot locate the the path of TOPDIR" "$LINENO" 5
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+
+ if test "x$path" != "x$new_path"; then
+ TOPDIR="$new_path"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting TOPDIR to \"$new_path\"" >&5
+$as_echo "$as_me: Rewriting TOPDIR to \"$new_path\"" >&6;}
+ fi
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ path="$TOPDIR"
+ has_colon=`$ECHO $path | $GREP ^.:`
+ new_path="$path"
+ if test "x$has_colon" = x; then
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $path`
+ fi
+
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ if test "x$path" != "x$new_path"; then
+ TOPDIR="$new_path"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting TOPDIR to \"$new_path\"" >&5
+$as_echo "$as_me: Rewriting TOPDIR to \"$new_path\"" >&6;}
+ fi
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+
+ else
+ # We're on a posix platform. Hooray! :)
+ path="$TOPDIR"
+ has_space=`$ECHO "$path" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of TOPDIR, which resolves as \"$path\", is invalid." >&5
+$as_echo "$as_me: The path of TOPDIR, which resolves as \"$path\", is invalid." >&6;}
+ as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
+ fi
+
+ # Use eval to expand a potential ~
+ eval path="$path"
+ if test ! -f "$path" && test ! -d "$path"; then
+ as_fn_error $? "The path of TOPDIR, which resolves as \"$path\", is not found." "$LINENO" 5
+ fi
+
+ TOPDIR="`cd "$path"; $THEPWDCMD -L`"
+ fi
+
+ # SRC_ROOT is a traditional alias for TOPDIR.
+ SRC_ROOT=$TOPDIR
+
+ # Locate the directory of this script.
+ AUTOCONF_DIR=$TOPDIR/common/autoconf
+
if test "x$OPENJDK_BUILD_OS" = "xsolaris"; then
# Add extra search paths on solaris for utilities like ar and as etc...
PATH="$PATH:/usr/ccs/bin:/usr/sfw/bin:/opt/csw/bin"
@@ -14302,6 +14458,18 @@
+ # custom-make-dir is deprecated. Please use your custom-hook.m4 to override
+ # the IncludeCustomExtension macro.
+
+
+# Check whether --with-custom-make-dir was given.
+if test "${with_custom_make_dir+set}" = set; then :
+ withval=$with_custom_make_dir; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-custom-make-dir is deprecated and will be ignored." >&5
+$as_echo "$as_me: WARNING: Option --with-custom-make-dir is deprecated and will be ignored." >&2;}
+fi
+
+
+
# These are needed to be able to create a configuration name (and thus the output directory)
@@ -14608,13 +14776,20 @@
# Test from where we are running configure, in or outside of src root.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where to store configuration" >&5
+$as_echo_n "checking where to store configuration... " >&6; }
if test "x$CURDIR" = "x$SRC_ROOT" || test "x$CURDIR" = "x$SRC_ROOT/common" \
|| test "x$CURDIR" = "x$SRC_ROOT/common/autoconf" \
|| test "x$CURDIR" = "x$SRC_ROOT/make" ; then
# We are running configure from the src root.
# Create a default ./build/target-variant-debuglevel output root.
if test "x${CONF_NAME}" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: in default location" >&5
+$as_echo "in default location" >&6; }
CONF_NAME="${OPENJDK_TARGET_OS}-${OPENJDK_TARGET_CPU}-${JDK_VARIANT}-${ANDED_JVM_VARIANTS}-${DEBUG_LEVEL}"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: in build directory with custom name" >&5
+$as_echo "in build directory with custom name" >&6; }
fi
OUTPUT_ROOT="$SRC_ROOT/build/${CONF_NAME}"
$MKDIR -p "$OUTPUT_ROOT"
@@ -14630,6 +14805,8 @@
CONF_NAME=`$ECHO $CURDIR | $SED -e "s!^${SRC_ROOT}/build/!!"`
fi
OUTPUT_ROOT="$CURDIR"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: in current directory" >&5
+$as_echo "in current directory" >&6; }
# WARNING: This might be a bad thing to do. You need to be sure you want to
# have a configuration in this directory. Do some sanity checks!
@@ -14820,9 +14997,6 @@
ac_config_files="$ac_config_files $OUTPUT_ROOT/Makefile:$AUTOCONF_DIR/Makefile.in"
- # Save the arguments given to us
- echo "$CONFIGURE_COMMAND_LINE" > $OUTPUT_ROOT/configure-arguments
-
# Must be done before we can call HELP_MSG_MISSING_DEPENDENCY.
@@ -15151,8 +15325,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -15508,8 +15681,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -15862,8 +16034,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -16221,8 +16392,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -16574,8 +16744,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving FOUND_MAKE (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -19375,6 +19544,22 @@
###############################################################################
#
+ # --enable-rmiconnector-iiop
+ #
+ # Check whether --enable-rmiconnector-iiop was given.
+if test "${enable_rmiconnector_iiop+set}" = set; then :
+ enableval=$enable_rmiconnector_iiop;
+fi
+
+ if test "x$enable_rmiconnector_iiop" = "xyes"; then
+ RMICONNECTOR_IIOP=true
+ else
+ RMICONNECTOR_IIOP=false
+ fi
+
+
+ ###############################################################################
+ #
# Compress jars
#
COMPRESS_JARS=false
@@ -25658,7 +25843,8 @@
##############################################################################
#
- # Specify options for anything that is run with the Boot JDK.
+ # Specify jvm options for anything that is run with the Boot JDK.
+ # Not all JVM:s accept the same arguments on the command line.
#
# Check whether --with-boot-jdk-jvmargs was given.
@@ -25667,20 +25853,10 @@
fi
- if test "x$with_boot_jdk_jvmargs" = x; then
- # Not all JVM:s accept the same arguments on the command line.
- # OpenJDK specific increase in thread stack for JDK build,
- # well more specifically, when running javac.
- if test "x$BUILD_NUM_BITS" = x32; then
- STACK_SIZE=768
- else
- # Running Javac on a JVM on a 64-bit machine, the stack takes more space
- # since 64-bit pointers are pushed on the stach. Apparently, we need
- # to increase the stack space when javacing the JDK....
- STACK_SIZE=1536
- fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking flags for boot jdk java command " >&5
+$as_echo_n "checking flags for boot jdk java command ... " >&6; }
- # Minimum amount of heap memory.
+ # Starting amount of heap memory.
$ECHO "Check if jvm arg is ok: -Xms64M" >&5
$ECHO "Command: $JAVA -Xms64M -version" >&5
@@ -25696,16 +25872,28 @@
JVM_ARG_OK=false
fi
- if test "x$OPENJDK_TARGET_OS" = "xmacosx" || test "x$OPENJDK_TARGET_CPU" = "xppc64" ; then
- # Why does macosx need more heap? Its the huge JDK batch.
- $ECHO "Check if jvm arg is ok: -Xmx1600M" >&5
- $ECHO "Command: $JAVA -Xmx1600M -version" >&5
- OUTPUT=`$JAVA -Xmx1600M -version 2>&1`
+ # Maximum amount of heap memory.
+ # Maximum stack size.
+ if test "x$BUILD_NUM_BITS" = x32; then
+ JVM_MAX_HEAP=1100M
+ STACK_SIZE=768
+ else
+ # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit
+ # pointers are used. Apparently, we need to increase the heap and stack
+ # space for the jvm. More specifically, when running javac to build huge
+ # jdk batch
+ JVM_MAX_HEAP=1600M
+ STACK_SIZE=1536
+ fi
+
+ $ECHO "Check if jvm arg is ok: -Xmx$JVM_MAX_HEAP" >&5
+ $ECHO "Command: $JAVA -Xmx$JVM_MAX_HEAP -version" >&5
+ OUTPUT=`$JAVA -Xmx$JVM_MAX_HEAP -version 2>&1`
FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
- boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1600M"
+ boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx$JVM_MAX_HEAP"
JVM_ARG_OK=true
else
$ECHO "Arg failed:" >&5
@@ -25713,25 +25901,6 @@
JVM_ARG_OK=false
fi
- else
-
- $ECHO "Check if jvm arg is ok: -Xmx1100M" >&5
- $ECHO "Command: $JAVA -Xmx1100M -version" >&5
- OUTPUT=`$JAVA -Xmx1100M -version 2>&1`
- FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
- FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
- if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
- boot_jdk_jvmargs="$boot_jdk_jvmargs -Xmx1100M"
- JVM_ARG_OK=true
- else
- $ECHO "Arg failed:" >&5
- $ECHO "$OUTPUT" >&5
- JVM_ARG_OK=false
- fi
-
- fi
- # When is adding -client something that speeds up the JVM?
- # ADD_JVM_ARG_IF_OK([-client],boot_jdk_jvmargs,[$JAVA])
$ECHO "Check if jvm arg is ok: -XX:ThreadStackSize=$STACK_SIZE" >&5
$ECHO "Command: $JAVA -XX:ThreadStackSize=$STACK_SIZE -version" >&5
@@ -25747,7 +25916,8 @@
JVM_ARG_OK=false
fi
- # Disable special log output when a debug build is used as Boot JDK...
+
+ # Disable special log output when a debug build is used as Boot JDK...
$ECHO "Check if jvm arg is ok: -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput" >&5
$ECHO "Command: $JAVA -XX:-PrintVMOptions -XX:-UnlockDiagnosticVMOptions -XX:-LogVMOutput -version" >&5
@@ -25763,10 +25933,34 @@
JVM_ARG_OK=false
fi
+
+ # Apply user provided options.
+
+ $ECHO "Check if jvm arg is ok: $with_boot_jdk_jvmargs" >&5
+ $ECHO "Command: $JAVA $with_boot_jdk_jvmargs -version" >&5
+ OUTPUT=`$JAVA $with_boot_jdk_jvmargs -version 2>&1`
+ FOUND_WARN=`$ECHO "$OUTPUT" | grep -i warn`
+ FOUND_VERSION=`$ECHO $OUTPUT | grep " version \""`
+ if test "x$FOUND_VERSION" != x && test "x$FOUND_WARN" = x; then
+ boot_jdk_jvmargs="$boot_jdk_jvmargs $with_boot_jdk_jvmargs"
+ JVM_ARG_OK=true
+ else
+ $ECHO "Arg failed:" >&5
+ $ECHO "$OUTPUT" >&5
+ JVM_ARG_OK=false
fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $boot_jdk_jvmargs" >&5
+$as_echo "$boot_jdk_jvmargs" >&6; }
+
+ # For now, general JAVA_FLAGS are the same as the boot jdk jvmargs
+ JAVA_FLAGS=$boot_jdk_jvmargs
+
BOOT_JDK_JVMARGS=$boot_jdk_jvmargs
+ JAVA_FLAGS=$JAVA_FLAGS
+
###############################################################################
@@ -26086,16 +26280,118 @@
###############################################################################
#
-# Setup the toolchain (compilers etc), i.e. the tools that need to be
-# cross-compilation aware.
+# Setup the toolchain (compilers etc), i.e. tools used to compile and process
+# native code.
#
###############################################################################
+# First determine the toolchain type (compiler family)
- ###############################################################################
- #
- # Configure the development tool paths and potential sysroot.
- #
+
+# Check whether --with-toolchain-type was given.
+if test "${with_toolchain_type+set}" = set; then :
+ withval=$with_toolchain_type;
+fi
+
+
+ # Use indirect variable referencing
+ toolchain_var_name=VALID_TOOLCHAINS_$OPENJDK_BUILD_OS
+ VALID_TOOLCHAINS=${!toolchain_var_name}
+ # First toolchain type in the list is the default
+ DEFAULT_TOOLCHAIN=${VALID_TOOLCHAINS%% *}
+
+ if test "x$with_toolchain_type" = xlist; then
+ # List all toolchains
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The following toolchains are valid on this platform:" >&5
+$as_echo "$as_me: The following toolchains are valid on this platform:" >&6;}
+ for toolchain in $VALID_TOOLCHAINS; do
+ toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
+ TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
+ $PRINTF " %-10s %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
+ done
+
+ exit 0
+ elif test "x$with_toolchain_type" != x; then
+ # User override; check that it is valid
+ if test "x${VALID_TOOLCHAINS/$with_toolchain_type/}" = "x${VALID_TOOLCHAINS}"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Toolchain type $with_toolchain_type is not valid on this platform." >&5
+$as_echo "$as_me: Toolchain type $with_toolchain_type is not valid on this platform." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Valid toolchains: $VALID_TOOLCHAINS." >&5
+$as_echo "$as_me: Valid toolchains: $VALID_TOOLCHAINS." >&6;}
+ as_fn_error $? "Cannot continue." "$LINENO" 5
+ fi
+ TOOLCHAIN_TYPE=$with_toolchain_type
+ else
+ # No flag given, use default
+ TOOLCHAIN_TYPE=$DEFAULT_TOOLCHAIN
+ fi
+
+
+ TOOLCHAIN_CC_BINARY_clang="clang"
+ TOOLCHAIN_CC_BINARY_gcc="gcc"
+ TOOLCHAIN_CC_BINARY_microsoft="cl"
+ TOOLCHAIN_CC_BINARY_solstudio="cc"
+ TOOLCHAIN_CC_BINARY_xlc="xlc_r"
+
+ TOOLCHAIN_CXX_BINARY_clang="clang++"
+ TOOLCHAIN_CXX_BINARY_gcc="g++"
+ TOOLCHAIN_CXX_BINARY_microsoft="cl"
+ TOOLCHAIN_CXX_BINARY_solstudio="CC"
+ TOOLCHAIN_CXX_BINARY_xlc="xlC_r"
+
+ # Use indirect variable referencing
+ toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
+ TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
+ toolchain_var_name=TOOLCHAIN_CC_BINARY_$TOOLCHAIN_TYPE
+ TOOLCHAIN_CC_BINARY=${!toolchain_var_name}
+ toolchain_var_name=TOOLCHAIN_CXX_BINARY_$TOOLCHAIN_TYPE
+ TOOLCHAIN_CXX_BINARY=${!toolchain_var_name}
+
+
+ # Define filename patterns
+ if test "x$OPENJDK_TARGET_OS" = xwindows; then
+ LIBRARY_PREFIX=
+ SHARED_LIBRARY_SUFFIX='.dll'
+ STATIC_LIBRARY_SUFFIX='.lib'
+ SHARED_LIBRARY='$1.dll'
+ STATIC_LIBRARY='$1.lib'
+ OBJ_SUFFIX='.obj'
+ EXE_SUFFIX='.exe'
+ else
+ LIBRARY_PREFIX=lib
+ SHARED_LIBRARY_SUFFIX='.so'
+ STATIC_LIBRARY_SUFFIX='.a'
+ SHARED_LIBRARY='lib$1.so'
+ STATIC_LIBRARY='lib$1.a'
+ OBJ_SUFFIX='.o'
+ EXE_SUFFIX=''
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ SHARED_LIBRARY='lib$1.dylib'
+ SHARED_LIBRARY_SUFFIX='.dylib'
+ fi
+ fi
+
+
+
+
+
+
+
+
+
+
+ if test "x$TOOLCHAIN_TYPE" = "x$DEFAULT_TOOLCHAIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Using default toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)" >&5
+$as_echo "$as_me: Using default toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)" >&6;}
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Using user selected toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION). Default toolchain is $DEFAULT_TOOLCHAIN." >&5
+$as_echo "$as_me: Using user selected toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION). Default toolchain is $DEFAULT_TOOLCHAIN." >&6;}
+ fi
+
+
+# Then detect the actual binaries needed
+
+ # FIXME: Is this needed?
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -26103,384 +26399,16 @@
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
- # The option used to specify the target .o,.a or .so file.
- # When compiling, how to specify the to be created object file.
- CC_OUT_OPTION='-o$(SPACE)'
- # When linking, how to specify the to be created executable.
- EXE_OUT_OPTION='-o$(SPACE)'
- # When linking, how to specify the to be created dynamically linkable library.
- LD_OUT_OPTION='-o$(SPACE)'
- # When archiving, how to specify the to be create static archive for object files.
- AR_OUT_OPTION='rcs$(SPACE)'
+ # Store the CFLAGS etc passed to the configure script.
+ ORG_CFLAGS="$CFLAGS"
+ ORG_CXXFLAGS="$CXXFLAGS"
+ ORG_OBJCFLAGS="$OBJCFLAGS"
-
-
-
-
-# Locate the actual tools
-
-
-# Check whether --with-jtreg was given.
-if test "${with_jtreg+set}" = set; then :
- withval=$with_jtreg;
-else
- with_jtreg=no
-fi
-
-
- if test "x$with_jtreg" = xno; then
- # jtreg disabled
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jtreg" >&5
-$as_echo_n "checking for jtreg... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- else
- if test "x$with_jtreg" != xyes; then
- # with path specified.
- JT_HOME="$with_jtreg"
- fi
-
- if test "x$JT_HOME" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jtreg" >&5
-$as_echo_n "checking for jtreg... " >&6; }
-
- # use JT_HOME enviroment var.
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- path="$JT_HOME"
- new_path=`$CYGPATH -u "$path"`
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file precense.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JT_HOME, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of JT_HOME, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Cannot locate the the path of JT_HOME" "$LINENO" 5
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
-
- if test "x$path" != "x$new_path"; then
- JT_HOME="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting JT_HOME to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting JT_HOME to \"$new_path\"" >&6;}
- fi
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- path="$JT_HOME"
- has_colon=`$ECHO $path | $GREP ^.:`
- new_path="$path"
- if test "x$has_colon" = x; then
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $path`
- fi
-
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- if test "x$path" != "x$new_path"; then
- JT_HOME="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting JT_HOME to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting JT_HOME to \"$new_path\"" >&6;}
- fi
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
-
- else
- # We're on a posix platform. Hooray! :)
- path="$JT_HOME"
- has_space=`$ECHO "$path" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JT_HOME, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of JT_HOME, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
- fi
-
- # Use eval to expand a potential ~
- eval path="$path"
- if test ! -f "$path" && test ! -d "$path"; then
- as_fn_error $? "The path of JT_HOME, which resolves as \"$path\", is not found." "$LINENO" 5
- fi
-
- JT_HOME="`cd "$path"; $THEPWDCMD -L`"
- fi
-
-
- # jtreg win32 script works for everybody
- JTREGEXE="$JT_HOME/win32/bin/jtreg"
-
- if test ! -f "$JTREGEXE"; then
- as_fn_error $? "JTReg executable does not exist: $JTREGEXE" "$LINENO" 5
- fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JTREGEXE" >&5
-$as_echo "$JTREGEXE" >&6; }
- else
- # try to find jtreg on path
-
-
-
- # Publish this variable in the help.
-
-
- if test "x$JTREGEXE" = x; then
- # The variable is not set by user, try to locate tool using the code snippet
- for ac_prog in jtreg
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_JTREGEXE+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $JTREGEXE in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_JTREGEXE="$JTREGEXE" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_JTREGEXE="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-JTREGEXE=$ac_cv_path_JTREGEXE
-if test -n "$JTREGEXE"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JTREGEXE" >&5
-$as_echo "$JTREGEXE" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$JTREGEXE" && break
-done
-
- else
- # The variable is set, but is it from the command line or the environment?
-
- # Try to remove the string !JTREGEXE! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!JTREGEXE!/}
- if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
- # If it failed, the variable was not from the command line. Ignore it,
- # but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xJTREGEXE" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of JTREGEXE from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of JTREGEXE from the environment. Use command line variables instead." >&2;}
- fi
- # Try to locate tool using the code snippet
- for ac_prog in jtreg
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_JTREGEXE+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $JTREGEXE in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_JTREGEXE="$JTREGEXE" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_JTREGEXE="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-JTREGEXE=$ac_cv_path_JTREGEXE
-if test -n "$JTREGEXE"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JTREGEXE" >&5
-$as_echo "$JTREGEXE" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$JTREGEXE" && break
-done
-
- else
- # If it succeeded, then it was overridden by the user. We will use it
- # for the tool.
-
- # First remove it from the list of overridden variables, so we can test
- # for unknown variables in the end.
- CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
-
- # Check if the provided tool contains a complete path.
- tool_specified="$JTREGEXE"
- tool_basename="${tool_specified##*/}"
- if test "x$tool_basename" = "x$tool_specified"; then
- # A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool JTREGEXE=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool JTREGEXE=$tool_basename" >&6;}
- # Extract the first word of "$tool_basename", so it can be a program name with args.
-set dummy $tool_basename; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_JTREGEXE+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $JTREGEXE in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_JTREGEXE="$JTREGEXE" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_JTREGEXE="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-JTREGEXE=$ac_cv_path_JTREGEXE
-if test -n "$JTREGEXE"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JTREGEXE" >&5
-$as_echo "$JTREGEXE" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$JTREGEXE" = x; then
- as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
- fi
- else
- # Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool JTREGEXE=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool JTREGEXE=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JTREGEXE" >&5
-$as_echo_n "checking for JTREGEXE... " >&6; }
- if test ! -x "$tool_specified"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool JTREGEXE=$tool_specified does not exist or is not executable" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
-$as_echo "$tool_specified" >&6; }
- fi
- fi
- fi
-
-
-
- if test "x$JTREGEXE" = x; then
- as_fn_error $? "Could not find required tool for JTREGEXE" "$LINENO" 5
- fi
-
-
- JT_HOME="`$DIRNAME $JTREGEXE`"
- fi
- fi
-
-
-
-
-
- if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+ # On Windows, we need to detect the visual studio installation first.
+ # This will change the PATH, but we need to keep that new PATH even
+ # after toolchain detection is done, since the compiler (on x86) uses
+ # it for DLL resolution in runtime.
+ if test "x$OPENJDK_BUILD_OS" = "xwindows" && test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
# Store path to cygwin link.exe to help excluding it when searching for
# VS linker. This must be done before changing the PATH when looking for VS.
@@ -27152,8 +27080,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving VS_ENV_CMD (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving VS_ENV_CMD (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -27289,1835 +27216,25 @@
as_fn_error $? "Cannot continue" "$LINENO" 5
fi
-
-
-# Check whether --with-msvcr-dll was given.
-if test "${with_msvcr_dll+set}" = set; then :
- withval=$with_msvcr_dll;
-fi
-
-
- if test "x$with_msvcr_dll" != x; then
- # If given explicitely by user, do not probe. If not present, fail directly.
-
- POSSIBLE_MSVCR_DLL="$with_msvcr_dll"
- METHOD="--with-msvcr-dll"
- if test -e "$POSSIBLE_MSVCR_DLL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
-$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
-
- # Need to check if the found msvcr is correct architecture
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
-$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
- MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
- if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
- CORRECT_MSVCR_ARCH=386
- else
- CORRECT_MSVCR_ARCH=x86-64
- fi
- if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
- MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
-$as_echo_n "checking for msvcr100.dll... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
-$as_echo "$MSVCR_DLL" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
-$as_echo "incorrect, ignoring" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
-$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
- fi
- fi
-
- if test "x$MSVCR_DLL" = x; then
- as_fn_error $? "Could not find a proper msvcr100.dll as specified by --with-msvcr-dll" "$LINENO" 5
- fi
fi
- if test "x$MSVCR_DLL" = x; then
- # Probe: Using well-known location from Visual Studio 10.0
- if test "x$VCINSTALLDIR" != x; then
- CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
+ # autoconf magic only relies on PATH, so update it if tools dir is specified
+ OLD_PATH="$PATH"
- windows_path="$CYGWIN_VC_INSTALL_DIR"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- CYGWIN_VC_INSTALL_DIR="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- CYGWIN_VC_INSTALL_DIR="$unix_path"
+ # For solaris we really need solaris tools, and not the GNU equivalent.
+ # The build tools on Solaris reside in /usr/ccs (C Compilation System),
+ # so add that to path before starting to probe.
+ # FIXME: This was originally only done for AS,NM,GNM,STRIP,MCS,OBJCOPY,OBJDUMP.
+ if test "x$OPENJDK_BUILD_OS" = xsolaris; then
+ PATH="/usr/ccs/bin:$PATH"
fi
- if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
- POSSIBLE_MSVCR_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC100.CRT/msvcr100.dll"
- else
- POSSIBLE_MSVCR_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC100.CRT/msvcr100.dll"
- fi
-
- POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- METHOD="well-known location in VCINSTALLDIR"
- if test -e "$POSSIBLE_MSVCR_DLL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
-$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
-
- # Need to check if the found msvcr is correct architecture
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
-$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
- MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
- if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
- CORRECT_MSVCR_ARCH=386
- else
- CORRECT_MSVCR_ARCH=x86-64
- fi
- if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
- MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
-$as_echo_n "checking for msvcr100.dll... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
-$as_echo "$MSVCR_DLL" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
-$as_echo "incorrect, ignoring" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
-$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
- fi
- fi
-
- fi
- fi
-
- if test "x$MSVCR_DLL" = x; then
- # Probe: Check in the Boot JDK directory.
- POSSIBLE_MSVCR_DLL="$BOOT_JDK/bin/msvcr100.dll"
-
- POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- METHOD="well-known location in Boot JDK"
- if test -e "$POSSIBLE_MSVCR_DLL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
-$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
-
- # Need to check if the found msvcr is correct architecture
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
-$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
- MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
- if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
- CORRECT_MSVCR_ARCH=386
- else
- CORRECT_MSVCR_ARCH=x86-64
- fi
- if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
- MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
-$as_echo_n "checking for msvcr100.dll... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
-$as_echo "$MSVCR_DLL" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
-$as_echo "incorrect, ignoring" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
-$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
- fi
- fi
-
- fi
-
- if test "x$MSVCR_DLL" = x; then
- # Probe: Look in the Windows system32 directory
- CYGWIN_SYSTEMROOT="$SYSTEMROOT"
-
- windows_path="$CYGWIN_SYSTEMROOT"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- CYGWIN_SYSTEMROOT="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- CYGWIN_SYSTEMROOT="$unix_path"
- fi
-
- POSSIBLE_MSVCR_DLL="$CYGWIN_SYSTEMROOT/system32/msvcr100.dll"
-
- POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- METHOD="well-known location in SYSTEMROOT"
- if test -e "$POSSIBLE_MSVCR_DLL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
-$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
-
- # Need to check if the found msvcr is correct architecture
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
-$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
- MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
- if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
- CORRECT_MSVCR_ARCH=386
- else
- CORRECT_MSVCR_ARCH=x86-64
- fi
- if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
- MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
-$as_echo_n "checking for msvcr100.dll... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
-$as_echo "$MSVCR_DLL" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
-$as_echo "incorrect, ignoring" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
-$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
- fi
- fi
-
- fi
-
- if test "x$MSVCR_DLL" = x; then
- # Probe: If Visual Studio Express is installed, there is usually one with the debugger
- if test "x$VS100COMNTOOLS" != x; then
- CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
-
- windows_path="$CYGWIN_VS_TOOLS_DIR"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- CYGWIN_VS_TOOLS_DIR="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- CYGWIN_VS_TOOLS_DIR="$unix_path"
- fi
-
- if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
- POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name msvcr100.dll | $GREP -i /x64/ | $HEAD --lines 1`
- else
- POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name msvcr100.dll | $GREP -i /x86/ | $HEAD --lines 1`
- fi
-
- POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- METHOD="search of VS100COMNTOOLS"
- if test -e "$POSSIBLE_MSVCR_DLL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
-$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
-
- # Need to check if the found msvcr is correct architecture
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
-$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
- MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
- if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
- CORRECT_MSVCR_ARCH=386
- else
- CORRECT_MSVCR_ARCH=x86-64
- fi
- if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
- MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
-$as_echo_n "checking for msvcr100.dll... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
-$as_echo "$MSVCR_DLL" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
-$as_echo "incorrect, ignoring" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
-$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
- fi
- fi
-
- fi
- fi
-
- if test "x$MSVCR_DLL" = x; then
- # Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
- # (This was the original behaviour; kept since it might turn up something)
- if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
- if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
- POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $GREP x64 | $HEAD --lines 1`
- else
- POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
- if test "x$POSSIBLE_MSVCR_DLL" = x; then
- # We're grasping at straws now...
- POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $HEAD --lines 1`
- fi
- fi
-
-
- POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- METHOD="search of VCINSTALLDIR"
- if test -e "$POSSIBLE_MSVCR_DLL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
-$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
-
- # Need to check if the found msvcr is correct architecture
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
-$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
- MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
- if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
- CORRECT_MSVCR_ARCH=386
- else
- CORRECT_MSVCR_ARCH=x86-64
- fi
- if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
- MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
-$as_echo_n "checking for msvcr100.dll... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
-$as_echo "$MSVCR_DLL" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
-$as_echo "incorrect, ignoring" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
-$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
- fi
- fi
-
- fi
- fi
-
- if test "x$MSVCR_DLL" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
-$as_echo_n "checking for msvcr100.dll... " >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- as_fn_error $? "Could not find msvcr100.dll. Please specify using --with-msvcr-dll." "$LINENO" 5
- fi
-
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- path="$MSVCR_DLL"
- new_path=`$CYGPATH -u "$path"`
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file precense.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Cannot locate the the path of MSVCR_DLL" "$LINENO" 5
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
-
- if test "x$path" != "x$new_path"; then
- MSVCR_DLL="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVCR_DLL to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting MSVCR_DLL to \"$new_path\"" >&6;}
- fi
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- path="$MSVCR_DLL"
- has_colon=`$ECHO $path | $GREP ^.:`
- new_path="$path"
- if test "x$has_colon" = x; then
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $path`
- fi
-
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- if test "x$path" != "x$new_path"; then
- MSVCR_DLL="$new_path"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVCR_DLL to \"$new_path\"" >&5
-$as_echo "$as_me: Rewriting MSVCR_DLL to \"$new_path\"" >&6;}
- fi
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
-
- else
- # We're on a posix platform. Hooray! :)
- path="$MSVCR_DLL"
- has_space=`$ECHO "$path" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&5
-$as_echo "$as_me: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&6;}
- as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
- fi
-
- # Use eval to expand a potential ~
- eval path="$path"
- if test ! -f "$path" && test ! -d "$path"; then
- as_fn_error $? "The path of MSVCR_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
- fi
-
- MSVCR_DLL="`cd "$path"; $THEPWDCMD -L`"
- fi
-
-
-
-
-# Check whether --with-dxsdk was given.
-if test "${with_dxsdk+set}" = set; then :
- withval=$with_dxsdk; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-dxsdk is deprecated and will be ignored." >&5
-$as_echo "$as_me: WARNING: Option --with-dxsdk is deprecated and will be ignored." >&2;}
-fi
-
-
-
-
-# Check whether --with-dxsdk-lib was given.
-if test "${with_dxsdk_lib+set}" = set; then :
- withval=$with_dxsdk_lib; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-dxsdk-lib is deprecated and will be ignored." >&5
-$as_echo "$as_me: WARNING: Option --with-dxsdk-lib is deprecated and will be ignored." >&2;}
-fi
-
-
-
-
-# Check whether --with-dxsdk-include was given.
-if test "${with_dxsdk_include+set}" = set; then :
- withval=$with_dxsdk_include; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-dxsdk-include is deprecated and will be ignored." >&5
-$as_echo "$as_me: WARNING: Option --with-dxsdk-include is deprecated and will be ignored." >&2;}
-fi
-
-
- fi
-
-
-
- # If --build AND --host is set, then the configure script will find any
- # cross compilation tools in the PATH. Cross compilation tools
- # follows the cross compilation standard where they are prefixed with ${host}.
- # For example the binary i686-sun-solaris2.10-gcc
- # will cross compile for i686-sun-solaris2.10
- # If neither of build and host is not set, then build=host and the
- # default compiler found in the path will be used.
- # Setting only --host, does not seem to be really supported.
- # Please set both --build and --host if you want to cross compile.
-
- if test "x$COMPILE_TYPE" = "xcross"; then
- # Now we to find a C/C++ compiler that can build executables for the build
- # platform. We can't use the AC_PROG_CC macro, since it can only be used
- # once. Also, we need to do this before adding a tools dir to the path,
- # otherwise we might pick up cross-compilers which don't use standard naming.
- # Otherwise, we'll set the BUILD_tools to the native tools, but that'll have
- # to wait until they are properly discovered.
-
-
- # Publish this variable in the help.
-
-
- if test "x$BUILD_CC" = x; then
- # The variable is not set by user, try to locate tool using the code snippet
- for ac_prog in cl cc gcc
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BUILD_CC in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BUILD_CC="$BUILD_CC" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BUILD_CC="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-BUILD_CC=$ac_cv_path_BUILD_CC
-if test -n "$BUILD_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5
-$as_echo "$BUILD_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$BUILD_CC" && break
-done
-
- else
- # The variable is set, but is it from the command line or the environment?
-
- # Try to remove the string !BUILD_CC! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!BUILD_CC!/}
- if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
- # If it failed, the variable was not from the command line. Ignore it,
- # but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xBUILD_CC" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of BUILD_CC from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of BUILD_CC from the environment. Use command line variables instead." >&2;}
- fi
- # Try to locate tool using the code snippet
- for ac_prog in cl cc gcc
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BUILD_CC in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BUILD_CC="$BUILD_CC" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BUILD_CC="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-BUILD_CC=$ac_cv_path_BUILD_CC
-if test -n "$BUILD_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5
-$as_echo "$BUILD_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$BUILD_CC" && break
-done
-
- else
- # If it succeeded, then it was overridden by the user. We will use it
- # for the tool.
-
- # First remove it from the list of overridden variables, so we can test
- # for unknown variables in the end.
- CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
-
- # Check if the provided tool contains a complete path.
- tool_specified="$BUILD_CC"
- tool_basename="${tool_specified##*/}"
- if test "x$tool_basename" = "x$tool_specified"; then
- # A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool BUILD_CC=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool BUILD_CC=$tool_basename" >&6;}
- # Extract the first word of "$tool_basename", so it can be a program name with args.
-set dummy $tool_basename; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BUILD_CC in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BUILD_CC="$BUILD_CC" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BUILD_CC="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-BUILD_CC=$ac_cv_path_BUILD_CC
-if test -n "$BUILD_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5
-$as_echo "$BUILD_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$BUILD_CC" = x; then
- as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
- fi
- else
- # Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool BUILD_CC=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool BUILD_CC=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_CC" >&5
-$as_echo_n "checking for BUILD_CC... " >&6; }
- if test ! -x "$tool_specified"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool BUILD_CC=$tool_specified does not exist or is not executable" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
-$as_echo "$tool_specified" >&6; }
- fi
- fi
- fi
-
-
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$BUILD_CC"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of BUILD_CC" "$LINENO" 5
- fi
- fi
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of BUILD_CC, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of BUILD_CC" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$BUILD_CC"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of BUILD_CC" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
- fi
-
- else
- # We're on a posix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$BUILD_CC"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving BUILD_CC (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving BUILD_CC (as $path) failed, using $path directly." >&6;}
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of BUILD_CC" "$LINENO" 5
- fi
- fi
-
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- BUILD_CC="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_CC to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting BUILD_CC to \"$new_complete\"" >&6;}
- fi
-
-
-
- # Publish this variable in the help.
-
-
- if test "x$BUILD_CXX" = x; then
- # The variable is not set by user, try to locate tool using the code snippet
- for ac_prog in cl CC g++
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_CXX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BUILD_CXX in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BUILD_CXX="$BUILD_CXX" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BUILD_CXX="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-BUILD_CXX=$ac_cv_path_BUILD_CXX
-if test -n "$BUILD_CXX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CXX" >&5
-$as_echo "$BUILD_CXX" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$BUILD_CXX" && break
-done
-
- else
- # The variable is set, but is it from the command line or the environment?
-
- # Try to remove the string !BUILD_CXX! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!BUILD_CXX!/}
- if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
- # If it failed, the variable was not from the command line. Ignore it,
- # but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xBUILD_CXX" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of BUILD_CXX from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of BUILD_CXX from the environment. Use command line variables instead." >&2;}
- fi
- # Try to locate tool using the code snippet
- for ac_prog in cl CC g++
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_CXX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BUILD_CXX in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BUILD_CXX="$BUILD_CXX" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BUILD_CXX="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-BUILD_CXX=$ac_cv_path_BUILD_CXX
-if test -n "$BUILD_CXX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CXX" >&5
-$as_echo "$BUILD_CXX" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$BUILD_CXX" && break
-done
-
- else
- # If it succeeded, then it was overridden by the user. We will use it
- # for the tool.
-
- # First remove it from the list of overridden variables, so we can test
- # for unknown variables in the end.
- CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
-
- # Check if the provided tool contains a complete path.
- tool_specified="$BUILD_CXX"
- tool_basename="${tool_specified##*/}"
- if test "x$tool_basename" = "x$tool_specified"; then
- # A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool BUILD_CXX=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool BUILD_CXX=$tool_basename" >&6;}
- # Extract the first word of "$tool_basename", so it can be a program name with args.
-set dummy $tool_basename; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_CXX+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BUILD_CXX in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BUILD_CXX="$BUILD_CXX" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BUILD_CXX="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-BUILD_CXX=$ac_cv_path_BUILD_CXX
-if test -n "$BUILD_CXX"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CXX" >&5
-$as_echo "$BUILD_CXX" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$BUILD_CXX" = x; then
- as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
- fi
- else
- # Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool BUILD_CXX=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool BUILD_CXX=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_CXX" >&5
-$as_echo_n "checking for BUILD_CXX... " >&6; }
- if test ! -x "$tool_specified"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool BUILD_CXX=$tool_specified does not exist or is not executable" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
-$as_echo "$tool_specified" >&6; }
- fi
- fi
- fi
-
-
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$BUILD_CXX"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of BUILD_CXX" "$LINENO" 5
- fi
- fi
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of BUILD_CXX, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of BUILD_CXX" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$BUILD_CXX"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of BUILD_CXX" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
- fi
-
- else
- # We're on a posix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$BUILD_CXX"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving BUILD_CXX (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving BUILD_CXX (as $path) failed, using $path directly." >&6;}
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of BUILD_CXX" "$LINENO" 5
- fi
- fi
-
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- BUILD_CXX="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_CXX to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting BUILD_CXX to \"$new_complete\"" >&6;}
- fi
-
-
-
- # Publish this variable in the help.
-
-
- if test "x$BUILD_LD" = x; then
- # The variable is not set by user, try to locate tool using the code snippet
- for ac_prog in ld
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BUILD_LD in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BUILD_LD="$BUILD_LD" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BUILD_LD="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-BUILD_LD=$ac_cv_path_BUILD_LD
-if test -n "$BUILD_LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_LD" >&5
-$as_echo "$BUILD_LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$BUILD_LD" && break
-done
-
- else
- # The variable is set, but is it from the command line or the environment?
-
- # Try to remove the string !BUILD_LD! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!BUILD_LD!/}
- if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
- # If it failed, the variable was not from the command line. Ignore it,
- # but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xBUILD_LD" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of BUILD_LD from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of BUILD_LD from the environment. Use command line variables instead." >&2;}
- fi
- # Try to locate tool using the code snippet
- for ac_prog in ld
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BUILD_LD in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BUILD_LD="$BUILD_LD" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BUILD_LD="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-BUILD_LD=$ac_cv_path_BUILD_LD
-if test -n "$BUILD_LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_LD" >&5
-$as_echo "$BUILD_LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$BUILD_LD" && break
-done
-
- else
- # If it succeeded, then it was overridden by the user. We will use it
- # for the tool.
-
- # First remove it from the list of overridden variables, so we can test
- # for unknown variables in the end.
- CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
-
- # Check if the provided tool contains a complete path.
- tool_specified="$BUILD_LD"
- tool_basename="${tool_specified##*/}"
- if test "x$tool_basename" = "x$tool_specified"; then
- # A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool BUILD_LD=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool BUILD_LD=$tool_basename" >&6;}
- # Extract the first word of "$tool_basename", so it can be a program name with args.
-set dummy $tool_basename; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BUILD_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BUILD_LD in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BUILD_LD="$BUILD_LD" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BUILD_LD="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-BUILD_LD=$ac_cv_path_BUILD_LD
-if test -n "$BUILD_LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_LD" >&5
-$as_echo "$BUILD_LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$BUILD_LD" = x; then
- as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
- fi
- else
- # Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool BUILD_LD=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool BUILD_LD=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_LD" >&5
-$as_echo_n "checking for BUILD_LD... " >&6; }
- if test ! -x "$tool_specified"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool BUILD_LD=$tool_specified does not exist or is not executable" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
-$as_echo "$tool_specified" >&6; }
- fi
- fi
- fi
-
-
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$BUILD_LD"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of BUILD_LD" "$LINENO" 5
- fi
- fi
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of BUILD_LD, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of BUILD_LD" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$BUILD_LD"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of BUILD_LD" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
- fi
-
- else
- # We're on a posix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$BUILD_LD"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving BUILD_LD (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving BUILD_LD (as $path) failed, using $path directly." >&6;}
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of BUILD_LD" "$LINENO" 5
- fi
- fi
-
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- BUILD_LD="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_LD to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting BUILD_LD to \"$new_complete\"" >&6;}
- fi
-
+ # Finally add TOOLS_DIR at the beginning, to allow --with-tools-dir to
+ # override all other locations.
+ if test "x$TOOLS_DIR" != x; then
+ PATH=$TOOLS_DIR:$PATH
fi
-
-
-
# If a devkit is found on the builddeps server, then prepend its path to the
# PATH variable. If there are cross compilers available in the devkit, these
# will be found by AC_PROG_CC et al.
@@ -29276,38 +27393,13 @@
fi
- # Store the CFLAGS etal passed to the configure script.
- ORG_CFLAGS="$CFLAGS"
- ORG_CXXFLAGS="$CXXFLAGS"
- ORG_OBJCFLAGS="$OBJCFLAGS"
- # autoconf magic only relies on PATH, so update it if tools dir is specified
- OLD_PATH="$PATH"
- if test "x$TOOLS_DIR" != x; then
- PATH=$TOOLS_DIR:$PATH
- fi
-
-
- ### Locate C compiler (CC)
-
- # On windows, only cl.exe is supported.
- # On Solaris, cc is preferred to gcc.
- # Elsewhere, gcc is preferred to cc.
-
- if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
- COMPILER_CHECK_LIST="cl"
- elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
- COMPILER_CHECK_LIST="cc gcc"
- elif test "x$OPENJDK_TARGET_OS" = "xaix"; then
- # Do not probe for cc on AIX.
- COMPILER_CHECK_LIST="xlc_r"
- else
- COMPILER_CHECK_LIST="gcc cc"
- fi
-
+ #
+ # Setup the compilers (CC and CXX)
+ #
COMPILER_NAME=C
- SEARCH_LIST="$COMPILER_CHECK_LIST"
+ SEARCH_LIST="$TOOLCHAIN_CC_BINARY"
if test "x$CC" != x; then
# User has supplied compiler name already, always let that override.
@@ -29373,10 +27465,20 @@
fi
fi
else
- # No user supplied value. Locate compiler ourselves
+ # No user supplied value. Locate compiler ourselves.
+
+ # If we are cross compiling, assume cross compilation tools follows the
+ # cross compilation standard where they are prefixed with the autoconf
+ # standard name for the target. For example the binary
+ # i686-sun-solaris2.10-gcc will cross compile for i686-sun-solaris2.10.
+ # If we are not cross compiling, then the default compiler name will be
+ # used.
+
CC=
# If TOOLS_DIR is set, check for all compiler names in there first
# before checking the rest of the PATH.
+ # FIXME: Now that we prefix the TOOLS_DIR to the PATH in the PRE_DETECTION
+ # step, this should not be necessary.
if test -n "$TOOLS_DIR"; then
PATH_save="$PATH"
PATH="$TOOLS_DIR"
@@ -29752,8 +27854,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving CC (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving CC (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -29786,6 +27887,7 @@
# Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
# to 'xlc' but it is crucial that we invoke the compiler with the right name!
if test "x$OPENJDK_BUILD_OS" != xaix; then
+ # FIXME: This test should not be needed anymore; we don't do that for any platform.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CC" >&5
$as_echo_n "checking resolved symbolic links for CC... " >&6; }
@@ -29857,7 +27959,7 @@
# Try again looking for our compiler
if test -n "$ac_tool_prefix"; then
- for ac_prog in $COMPILER_CHECK_LIST
+ for ac_prog in $TOOLCHAIN_CC_BINARY
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
@@ -29901,7 +28003,7 @@
fi
if test -z "$PROPER_COMPILER_CC"; then
ac_ct_PROPER_COMPILER_CC=$PROPER_COMPILER_CC
- for ac_prog in $COMPILER_CHECK_LIST
+ for ac_prog in $TOOLCHAIN_CC_BINARY
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@@ -30192,8 +28294,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving PROPER_COMPILER_CC (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving PROPER_COMPILER_CC (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -30286,71 +28387,121 @@
COMPILER=$CC
COMPILER_NAME=$COMPILER_NAME
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- # Make sure we use the Sun Studio compiler and not gcc on Solaris, which won't work
- COMPILER_VERSION_TEST=`$COMPILER -V 2>&1 | $HEAD -n 1`
- $ECHO $COMPILER_VERSION_TEST | $GREP "^.*: Sun $COMPILER_NAME" > /dev/null
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ # cc -V output typically looks like
+ # cc: Sun C 5.12 Linux_i386 2011/11/16
+ COMPILER_VERSION_OUTPUT=`$COMPILER -V 2>&1`
+ # Check that this is likely to be the Solaris Studio cc.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "^.*: Sun $COMPILER_NAME" > /dev/null
if test $? -ne 0; then
- GCC_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required Sun Studio compiler." >&5
-$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required Sun Studio compiler." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with -V was: \"$COMPILER_VERSION_TEST\" and with --version: \"$GCC_VERSION_TEST\"" >&5
-$as_echo "$as_me: The result from running with -V was: \"$COMPILER_VERSION_TEST\" and with --version: \"$GCC_VERSION_TEST\"" >&6;}
- as_fn_error $? "Sun Studio compiler is required. Try setting --with-tools-dir." "$LINENO" 5
- else
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p"`
- COMPILER_VENDOR="Sun Studio"
+ ALT_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with -V was: \"$COMPILER_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with -V was: \"$COMPILER_VERSION_OUTPUT\"" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$ALT_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with --version was: \"$ALT_VERSION_OUTPUT\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
fi
- elif test "x$OPENJDK_TARGET_OS" = xaix; then
- COMPILER_VERSION_TEST=`$COMPILER -qversion 2>&1 | $TAIL -n 1`
- $ECHO $COMPILER_VERSION_TEST | $GREP "^Version: " > /dev/null
- if test $? -ne 0; then
- as_fn_error $? "Failed to detect the compiler version of $COMPILER ...." "$LINENO" 5
- else
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n 's/Version: \(0-90-9\.0-90-9*\).*/\1/p'`
- COMPILER_VENDOR='IBM'
- fi
- elif test "x$OPENJDK_TARGET_OS" = xwindows; then
+ # Remove usage instructions (if present), and
+ # collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/ *[Uu]sage:.*//'`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/"`
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ # xlc -qversion output typically looks like
+ # IBM XL C/C++ for AIX, V11.1 (5724-X13)
+ # Version: 11.01.0000.0015
+ COMPILER_VERSION_OUTPUT=`$COMPILER -qversion 2>&1`
+ # Check that this is likely to be the IBM XL C compiler.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "IBM XL C" > /dev/null
+ if test $? -ne 0; then
+ ALT_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with -qversion was: \"$COMPILER_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with -qversion was: \"$COMPILER_VERSION_OUTPUT\"" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$ALT_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with --version was: \"$ALT_VERSION_OUTPUT\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
+ fi
+ # Collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.*, V\([1-9][0-9.]*\).*$/\1/'`
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # There is no specific version flag, but all output starts with a version string.
# First line typically looks something like:
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
- COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*Version \([1-9][0-9.]*\) .*/\1/p"`
- COMPILER_VENDOR="Microsoft CL.EXE"
- COMPILER_CPU_TEST=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* for \(.*\)$/\1/p"`
- if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
- if test "x$COMPILER_CPU_TEST" != "x80x86"; then
- as_fn_error $? "Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for \"$COMPILER_CPU_TEST\"; expected \"80x86\"." "$LINENO" 5
- fi
- elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
- if test "x$COMPILER_CPU_TEST" != "xx64"; then
- as_fn_error $? "Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for \"$COMPILER_CPU_TEST\"; expected \"x64\"." "$LINENO" 5
- fi
- fi
- else
- COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
- # Check that this is likely to be GCC.
- $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null
+ COMPILER_VERSION_OUTPUT=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
+ # Check that this is likely to be Microsoft CL.EXE.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft.*Compiler" > /dev/null
if test $? -ne 0; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&5
-$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&5
-$as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&6;}
- as_fn_error $? "GCC compiler is required. Try setting --with-tools-dir." "$LINENO" 5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running it was: \"$COMPILER_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running it was: \"$COMPILER_VERSION_OUTPUT\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
fi
-
- # First line typically looks something like:
- # gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* \([1-9][0-9.]*\)/\1/p"`
- COMPILER_VENDOR=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^\(.*\) [1-9][0-9.]*/\1/p"`
+ # Collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.*ersion.\([1-9][0-9.]*\) .*$/\1/'`
+ elif test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # gcc --version output typically looks like
+ # gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
+ # Copyright (C) 2013 Free Software Foundation, Inc.
+ # This is free software; see the source for copying conditions. There is NO
+ # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ COMPILER_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ # Check that this is likely to be GCC.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Free Software Foundation" > /dev/null
+ if test $? -ne 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION\"" >&5
+$as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSION\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
+ fi
+ # Remove Copyright and legalese from version string, and
+ # collapse into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/ *Copyright .*//'`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.* \([1-9]\.[0-9.]*\) .*$/\1/'`
+ elif test "x$TOOLCHAIN_TYPE" = xclang; then
+ # clang --version output typically looks like
+ # Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
+ # clang version 3.3 (tags/RELEASE_33/final)
+ # or
+ # Debian clang version 3.2-7ubuntu1 (tags/RELEASE_32/final) (based on LLVM 3.2)
+ # Target: x86_64-pc-linux-gnu
+ # Thread model: posix
+ COMPILER_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ # Check that this is likely to be clang
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "clang" > /dev/null
+ if test $? -ne 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSION_OUTPUT\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
+ fi
+ # Collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.*clang version \([1-9][0-9.]*\).*$/\1/'`
+ else
+ as_fn_error $? "Unknown toolchain type $TOOLCHAIN_TYPE." "$LINENO" 5
fi
- # This sets CC_VERSION or CXX_VERSION. (This comment is a grep marker)
- CC_VERSION="$COMPILER_VERSION"
- # This sets CC_VENDOR or CXX_VENDOR. (This comment is a grep marker)
- CC_VENDOR="$COMPILER_VENDOR"
+ # This sets CC_VERSION_NUMBER or CXX_VERSION_NUMBER. (This comment is a grep marker)
+ CC_VERSION_NUMBER="$COMPILER_VERSION_NUMBER"
+ # This sets CC_VERSION_STRING or CXX_VERSION_STRING. (This comment is a grep marker)
+ CC_VERSION_STRING="$COMPILER_VERSION_STRING"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Using $COMPILER_VENDOR $COMPILER_NAME compiler version $COMPILER_VERSION (located at $COMPILER)" >&5
-$as_echo "$as_me: Using $COMPILER_VENDOR $COMPILER_NAME compiler version $COMPILER_VERSION (located at $COMPILER)" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Using $TOOLCHAIN_TYPE $COMPILER_NAME compiler version $COMPILER_VERSION_NUMBER [$COMPILER_VERSION_STRING]" >&5
+$as_echo "$as_me: Using $TOOLCHAIN_TYPE $COMPILER_NAME compiler version $COMPILER_VERSION_NUMBER [$COMPILER_VERSION_STRING]" >&6;}
# Now that we have resolved CC ourself, let autoconf have its go at it
@@ -30952,30 +29103,9 @@
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
- # Option used to tell the compiler whether to create 32- or 64-bit executables
- # Notice that CC contains the full compiler path at this point.
- case $CC in
- *xlc_r) COMPILER_TARGET_BITS_FLAG="-q";;
- *) COMPILER_TARGET_BITS_FLAG="-m";;
- esac
-
-
- ### Locate C++ compiler (CXX)
-
- if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
- COMPILER_CHECK_LIST="cl"
- elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
- COMPILER_CHECK_LIST="CC g++"
- elif test "x$OPENJDK_TARGET_OS" = "xaix"; then
- # Do not probe for CC on AIX .
- COMPILER_CHECK_LIST="xlC_r"
- else
- COMPILER_CHECK_LIST="g++ CC"
- fi
-
COMPILER_NAME=C++
- SEARCH_LIST="$COMPILER_CHECK_LIST"
+ SEARCH_LIST="$TOOLCHAIN_CXX_BINARY"
if test "x$CXX" != x; then
# User has supplied compiler name already, always let that override.
@@ -31041,10 +29171,20 @@
fi
fi
else
- # No user supplied value. Locate compiler ourselves
+ # No user supplied value. Locate compiler ourselves.
+
+ # If we are cross compiling, assume cross compilation tools follows the
+ # cross compilation standard where they are prefixed with the autoconf
+ # standard name for the target. For example the binary
+ # i686-sun-solaris2.10-gcc will cross compile for i686-sun-solaris2.10.
+ # If we are not cross compiling, then the default compiler name will be
+ # used.
+
CXX=
# If TOOLS_DIR is set, check for all compiler names in there first
# before checking the rest of the PATH.
+ # FIXME: Now that we prefix the TOOLS_DIR to the PATH in the PRE_DETECTION
+ # step, this should not be necessary.
if test -n "$TOOLS_DIR"; then
PATH_save="$PATH"
PATH="$TOOLS_DIR"
@@ -31420,8 +29560,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving CXX (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving CXX (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -31454,6 +29593,7 @@
# Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
# to 'xlc' but it is crucial that we invoke the compiler with the right name!
if test "x$OPENJDK_BUILD_OS" != xaix; then
+ # FIXME: This test should not be needed anymore; we don't do that for any platform.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking resolved symbolic links for CXX" >&5
$as_echo_n "checking resolved symbolic links for CXX... " >&6; }
@@ -31525,7 +29665,7 @@
# Try again looking for our compiler
if test -n "$ac_tool_prefix"; then
- for ac_prog in $COMPILER_CHECK_LIST
+ for ac_prog in $TOOLCHAIN_CXX_BINARY
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
@@ -31569,7 +29709,7 @@
fi
if test -z "$PROPER_COMPILER_CXX"; then
ac_ct_PROPER_COMPILER_CXX=$PROPER_COMPILER_CXX
- for ac_prog in $COMPILER_CHECK_LIST
+ for ac_prog in $TOOLCHAIN_CXX_BINARY
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
@@ -31860,8 +30000,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving PROPER_COMPILER_CXX (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving PROPER_COMPILER_CXX (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -31954,71 +30093,121 @@
COMPILER=$CXX
COMPILER_NAME=$COMPILER_NAME
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- # Make sure we use the Sun Studio compiler and not gcc on Solaris, which won't work
- COMPILER_VERSION_TEST=`$COMPILER -V 2>&1 | $HEAD -n 1`
- $ECHO $COMPILER_VERSION_TEST | $GREP "^.*: Sun $COMPILER_NAME" > /dev/null
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ # cc -V output typically looks like
+ # cc: Sun C 5.12 Linux_i386 2011/11/16
+ COMPILER_VERSION_OUTPUT=`$COMPILER -V 2>&1`
+ # Check that this is likely to be the Solaris Studio cc.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "^.*: Sun $COMPILER_NAME" > /dev/null
if test $? -ne 0; then
- GCC_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required Sun Studio compiler." >&5
-$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required Sun Studio compiler." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with -V was: \"$COMPILER_VERSION_TEST\" and with --version: \"$GCC_VERSION_TEST\"" >&5
-$as_echo "$as_me: The result from running with -V was: \"$COMPILER_VERSION_TEST\" and with --version: \"$GCC_VERSION_TEST\"" >&6;}
- as_fn_error $? "Sun Studio compiler is required. Try setting --with-tools-dir." "$LINENO" 5
- else
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/p"`
- COMPILER_VENDOR="Sun Studio"
+ ALT_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with -V was: \"$COMPILER_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with -V was: \"$COMPILER_VERSION_OUTPUT\"" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$ALT_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with --version was: \"$ALT_VERSION_OUTPUT\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
fi
- elif test "x$OPENJDK_TARGET_OS" = xaix; then
- COMPILER_VERSION_TEST=`$COMPILER -qversion 2>&1 | $TAIL -n 1`
- $ECHO $COMPILER_VERSION_TEST | $GREP "^Version: " > /dev/null
- if test $? -ne 0; then
- as_fn_error $? "Failed to detect the compiler version of $COMPILER ...." "$LINENO" 5
- else
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n 's/Version: \(0-90-9\.0-90-9*\).*/\1/p'`
- COMPILER_VENDOR='IBM'
- fi
- elif test "x$OPENJDK_TARGET_OS" = xwindows; then
+ # Remove usage instructions (if present), and
+ # collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/ *[Uu]sage:.*//'`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/"`
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ # xlc -qversion output typically looks like
+ # IBM XL C/C++ for AIX, V11.1 (5724-X13)
+ # Version: 11.01.0000.0015
+ COMPILER_VERSION_OUTPUT=`$COMPILER -qversion 2>&1`
+ # Check that this is likely to be the IBM XL C compiler.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "IBM XL C" > /dev/null
+ if test $? -ne 0; then
+ ALT_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with -qversion was: \"$COMPILER_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with -qversion was: \"$COMPILER_VERSION_OUTPUT\"" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$ALT_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with --version was: \"$ALT_VERSION_OUTPUT\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
+ fi
+ # Collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.*, V\([1-9][0-9.]*\).*$/\1/'`
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # There is no specific version flag, but all output starts with a version string.
# First line typically looks something like:
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
- COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*Version \([1-9][0-9.]*\) .*/\1/p"`
- COMPILER_VENDOR="Microsoft CL.EXE"
- COMPILER_CPU_TEST=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* for \(.*\)$/\1/p"`
- if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
- if test "x$COMPILER_CPU_TEST" != "x80x86"; then
- as_fn_error $? "Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for \"$COMPILER_CPU_TEST\"; expected \"80x86\"." "$LINENO" 5
- fi
- elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
- if test "x$COMPILER_CPU_TEST" != "xx64"; then
- as_fn_error $? "Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for \"$COMPILER_CPU_TEST\"; expected \"x64\"." "$LINENO" 5
- fi
- fi
- else
- COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
- # Check that this is likely to be GCC.
- $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null
+ COMPILER_VERSION_OUTPUT=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
+ # Check that this is likely to be Microsoft CL.EXE.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft.*Compiler" > /dev/null
if test $? -ne 0; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&5
-$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&5
-$as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSION_TEST\"" >&6;}
- as_fn_error $? "GCC compiler is required. Try setting --with-tools-dir." "$LINENO" 5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running it was: \"$COMPILER_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running it was: \"$COMPILER_VERSION_OUTPUT\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
fi
-
- # First line typically looks something like:
- # gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* \([1-9][0-9.]*\)/\1/p"`
- COMPILER_VENDOR=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^\(.*\) [1-9][0-9.]*/\1/p"`
+ # Collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.*ersion.\([1-9][0-9.]*\) .*$/\1/'`
+ elif test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # gcc --version output typically looks like
+ # gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
+ # Copyright (C) 2013 Free Software Foundation, Inc.
+ # This is free software; see the source for copying conditions. There is NO
+ # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ COMPILER_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ # Check that this is likely to be GCC.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Free Software Foundation" > /dev/null
+ if test $? -ne 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION\"" >&5
+$as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSION\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
+ fi
+ # Remove Copyright and legalese from version string, and
+ # collapse into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/ *Copyright .*//'`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.* \([1-9]\.[0-9.]*\) .*$/\1/'`
+ elif test "x$TOOLCHAIN_TYPE" = xclang; then
+ # clang --version output typically looks like
+ # Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
+ # clang version 3.3 (tags/RELEASE_33/final)
+ # or
+ # Debian clang version 3.2-7ubuntu1 (tags/RELEASE_32/final) (based on LLVM 3.2)
+ # Target: x86_64-pc-linux-gnu
+ # Thread model: posix
+ COMPILER_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ # Check that this is likely to be clang
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "clang" > /dev/null
+ if test $? -ne 0; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&5
+$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The result from running with --version was: \"$COMPILER_VERSION_OUTPUT\"" >&5
+$as_echo "$as_me: The result from running with --version was: \"$COMPILER_VERSION_OUTPUT\"" >&6;}
+ as_fn_error $? "A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir." "$LINENO" 5
+ fi
+ # Collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.*clang version \([1-9][0-9.]*\).*$/\1/'`
+ else
+ as_fn_error $? "Unknown toolchain type $TOOLCHAIN_TYPE." "$LINENO" 5
fi
- # This sets CC_VERSION or CXX_VERSION. (This comment is a grep marker)
- CXX_VERSION="$COMPILER_VERSION"
- # This sets CC_VENDOR or CXX_VENDOR. (This comment is a grep marker)
- CXX_VENDOR="$COMPILER_VENDOR"
+ # This sets CC_VERSION_NUMBER or CXX_VERSION_NUMBER. (This comment is a grep marker)
+ CXX_VERSION_NUMBER="$COMPILER_VERSION_NUMBER"
+ # This sets CC_VERSION_STRING or CXX_VERSION_STRING. (This comment is a grep marker)
+ CXX_VERSION_STRING="$COMPILER_VERSION_STRING"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Using $COMPILER_VENDOR $COMPILER_NAME compiler version $COMPILER_VERSION (located at $COMPILER)" >&5
-$as_echo "$as_me: Using $COMPILER_VENDOR $COMPILER_NAME compiler version $COMPILER_VERSION (located at $COMPILER)" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Using $TOOLCHAIN_TYPE $COMPILER_NAME compiler version $COMPILER_VERSION_NUMBER [$COMPILER_VERSION_STRING]" >&5
+$as_echo "$as_me: Using $TOOLCHAIN_TYPE $COMPILER_NAME compiler version $COMPILER_VERSION_NUMBER [$COMPILER_VERSION_STRING]" >&6;}
# Now that we have resolved CXX ourself, let autoconf have its go at it
@@ -32280,9 +30469,2228 @@
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
- ### Locate other tools
+ #
+ # Setup the preprocessor (CPP and CXXCPP)
+ #
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
- if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$CPP"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path=`$CYGPATH -u "$path"`
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path=`$CYGPATH -u "$path"`
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of CPP, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of CPP" "$LINENO" 5
+ fi
+ fi
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file presence.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ # Short path failed, file does not exist as specified.
+ # Try adding .exe or .cmd
+ if test -f "${new_path}.exe"; then
+ input_to_shortpath="${new_path}.exe"
+ elif test -f "${new_path}.cmd"; then
+ input_to_shortpath="${new_path}.cmd"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of CPP, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+ as_fn_error $? "Cannot locate the the path of CPP" "$LINENO" 5
+ fi
+ else
+ input_to_shortpath="$new_path"
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+ new_path="$input_to_shortpath"
+
+ input_path="$input_to_shortpath"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$CPP"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of CPP, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of CPP" "$LINENO" 5
+ fi
+ fi
+
+ # Now new_path has a complete unix path to the binary
+ if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+ # Keep paths in /bin as-is, but remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+ # Do not save /bin paths to all_fixpath_prefixes!
+ else
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $new_path`
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+ # Output is in $new_path
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+ fi
+
+ else
+ # We're on a posix platform. Hooray! :)
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$CPP"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Cannot rely on the command "which" here since it doesn't always work.
+ is_absolute_path=`$ECHO "$path" | $GREP ^/`
+ if test -z "$is_absolute_path"; then
+ # Path to executable is not absolute. Find it.
+ IFS_save="$IFS"
+ IFS=:
+ for p in $PATH; do
+ if test -f "$p/$path" && test -x "$p/$path"; then
+ new_path="$p/$path"
+ break
+ fi
+ done
+ IFS="$IFS_save"
+ else
+ # This is an absolute path, we can use it without further modifications.
+ new_path="$path"
+ fi
+
+ if test "x$new_path" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of CPP, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of CPP" "$LINENO" 5
+ fi
+ fi
+
+ # Now join together the path and the arguments once again
+ if test "x$arguments" != xEOL; then
+ new_complete="$new_path ${arguments% *}"
+ else
+ new_complete="$new_path"
+ fi
+
+ if test "x$complete" != "x$new_complete"; then
+ CPP="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CPP to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting CPP to \"$new_complete\"" >&6;}
+ fi
+
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+ if ${ac_cv_prog_CXXCPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CXXCPP needs to be expanded
+ for CXXCPP in "$CXX -E" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+ CXXCPP=$ac_cv_prog_CXXCPP
+else
+ ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$CXXCPP"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path=`$CYGPATH -u "$path"`
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path=`$CYGPATH -u "$path"`
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of CXXCPP, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of CXXCPP" "$LINENO" 5
+ fi
+ fi
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file presence.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ # Short path failed, file does not exist as specified.
+ # Try adding .exe or .cmd
+ if test -f "${new_path}.exe"; then
+ input_to_shortpath="${new_path}.exe"
+ elif test -f "${new_path}.cmd"; then
+ input_to_shortpath="${new_path}.cmd"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of CXXCPP, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+ as_fn_error $? "Cannot locate the the path of CXXCPP" "$LINENO" 5
+ fi
+ else
+ input_to_shortpath="$new_path"
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+ new_path="$input_to_shortpath"
+
+ input_path="$input_to_shortpath"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$CXXCPP"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of CXXCPP, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of CXXCPP" "$LINENO" 5
+ fi
+ fi
+
+ # Now new_path has a complete unix path to the binary
+ if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+ # Keep paths in /bin as-is, but remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+ # Do not save /bin paths to all_fixpath_prefixes!
+ else
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $new_path`
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+ # Output is in $new_path
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+ fi
+
+ else
+ # We're on a posix platform. Hooray! :)
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$CXXCPP"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Cannot rely on the command "which" here since it doesn't always work.
+ is_absolute_path=`$ECHO "$path" | $GREP ^/`
+ if test -z "$is_absolute_path"; then
+ # Path to executable is not absolute. Find it.
+ IFS_save="$IFS"
+ IFS=:
+ for p in $PATH; do
+ if test -f "$p/$path" && test -x "$p/$path"; then
+ new_path="$p/$path"
+ break
+ fi
+ done
+ IFS="$IFS_save"
+ else
+ # This is an absolute path, we can use it without further modifications.
+ new_path="$path"
+ fi
+
+ if test "x$new_path" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of CXXCPP, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of CXXCPP" "$LINENO" 5
+ fi
+ fi
+
+ # Now join together the path and the arguments once again
+ if test "x$arguments" != xEOL; then
+ new_complete="$new_path ${arguments% *}"
+ else
+ new_complete="$new_path"
+ fi
+
+ if test "x$complete" != "x$new_complete"; then
+ CXXCPP="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CXXCPP to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting CXXCPP to \"$new_complete\"" >&6;}
+ fi
+
+
+ #
+ # Setup the linker (LD)
+ #
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # In the Microsoft toolchain we have a separate LD command "link".
+ # Make sure we reject /usr/bin/link (as determined in CYGWIN_LINK), which is
+ # a cygwin program for something completely different.
+ # Extract the first word of "link", so it can be a program name with args.
+set dummy link; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LD"; then
+ ac_cv_prog_LD="$LD" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "$CYGWIN_LINK"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_LD="link"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_LD
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set LD to just the basename; use the full file name.
+ shift
+ ac_cv_prog_LD="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+LD=$ac_cv_prog_LD
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$LD"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path=`$CYGPATH -u "$path"`
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path=`$CYGPATH -u "$path"`
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LD, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of LD, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of LD" "$LINENO" 5
+ fi
+ fi
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file presence.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ # Short path failed, file does not exist as specified.
+ # Try adding .exe or .cmd
+ if test -f "${new_path}.exe"; then
+ input_to_shortpath="${new_path}.exe"
+ elif test -f "${new_path}.cmd"; then
+ input_to_shortpath="${new_path}.cmd"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LD, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of LD, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+ as_fn_error $? "Cannot locate the the path of LD" "$LINENO" 5
+ fi
+ else
+ input_to_shortpath="$new_path"
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+ new_path="$input_to_shortpath"
+
+ input_path="$input_to_shortpath"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$LD"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LD, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of LD, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of LD" "$LINENO" 5
+ fi
+ fi
+
+ # Now new_path has a complete unix path to the binary
+ if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+ # Keep paths in /bin as-is, but remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+ # Do not save /bin paths to all_fixpath_prefixes!
+ else
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $new_path`
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+ # Output is in $new_path
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+ fi
+
+ else
+ # We're on a posix platform. Hooray! :)
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$LD"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Cannot rely on the command "which" here since it doesn't always work.
+ is_absolute_path=`$ECHO "$path" | $GREP ^/`
+ if test -z "$is_absolute_path"; then
+ # Path to executable is not absolute. Find it.
+ IFS_save="$IFS"
+ IFS=:
+ for p in $PATH; do
+ if test -f "$p/$path" && test -x "$p/$path"; then
+ new_path="$p/$path"
+ break
+ fi
+ done
+ IFS="$IFS_save"
+ else
+ # This is an absolute path, we can use it without further modifications.
+ new_path="$path"
+ fi
+
+ if test "x$new_path" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LD, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of LD, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of LD" "$LINENO" 5
+ fi
+ fi
+
+ # Now join together the path and the arguments once again
+ if test "x$arguments" != xEOL; then
+ new_complete="$new_path ${arguments% *}"
+ else
+ new_complete="$new_path"
+ fi
+
+ if test "x$complete" != "x$new_complete"; then
+ LD="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting LD to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting LD to \"$new_complete\"" >&6;}
+ fi
+
+ # Verify that we indeed succeeded with this trick.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the found link.exe is actually the Visual Studio linker" >&5
+$as_echo_n "checking if the found link.exe is actually the Visual Studio linker... " >&6; }
+ "$LD" --version > /dev/null
+ if test $? -eq 0 ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ as_fn_error $? "This is the Cygwin link tool. Please check your PATH and rerun configure." "$LINENO" 5
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ fi
+ LDCXX="$LD"
+ else
+ # All other toolchains use the compiler to link.
+ LD="$CC"
+ LDCXX="$CXX"
+ fi
+
+ # FIXME: it should be CXXLD, according to standard (cf CXXCPP)
+
+
+ #
+ # Setup the assembler (AS)
+ #
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ # FIXME: should this really be solaris, or solstudio?
+
+
+ # Publish this variable in the help.
+
+
+ if test "x$AS" = x; then
+ # The variable is not set by user, try to locate tool using the code snippet
+ for ac_prog in as
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $AS in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_AS="$AS" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_AS="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+AS=$ac_cv_path_AS
+if test -n "$AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AS" && break
+done
+
+ else
+ # The variable is set, but is it from the command line or the environment?
+
+ # Try to remove the string !AS! from our list.
+ try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!AS!/}
+ if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+ # If it failed, the variable was not from the command line. Ignore it,
+ # but warn the user (except for BASH, which is always set by the calling BASH).
+ if test "xAS" != xBASH; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of AS from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of AS from the environment. Use command line variables instead." >&2;}
+ fi
+ # Try to locate tool using the code snippet
+ for ac_prog in as
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $AS in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_AS="$AS" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_AS="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+AS=$ac_cv_path_AS
+if test -n "$AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AS" && break
+done
+
+ else
+ # If it succeeded, then it was overridden by the user. We will use it
+ # for the tool.
+
+ # First remove it from the list of overridden variables, so we can test
+ # for unknown variables in the end.
+ CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+ # Check if the provided tool contains a complete path.
+ tool_specified="$AS"
+ tool_basename="${tool_specified##*/}"
+ if test "x$tool_basename" = "x$tool_specified"; then
+ # A command without a complete path is provided, search $PATH.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool AS=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool AS=$tool_basename" >&6;}
+ # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_AS+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $AS in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_AS="$AS" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_AS="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+AS=$ac_cv_path_AS
+if test -n "$AS"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "x$AS" = x; then
+ as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+ fi
+ else
+ # Otherwise we believe it is a complete path. Use it as it is.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool AS=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool AS=$tool_specified" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AS" >&5
+$as_echo_n "checking for AS... " >&6; }
+ if test ! -x "$tool_specified"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ as_fn_error $? "User supplied tool AS=$tool_specified does not exist or is not executable" "$LINENO" 5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+ fi
+ fi
+ fi
+
+
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$AS"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path=`$CYGPATH -u "$path"`
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path=`$CYGPATH -u "$path"`
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of AS, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of AS" "$LINENO" 5
+ fi
+ fi
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file presence.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ # Short path failed, file does not exist as specified.
+ # Try adding .exe or .cmd
+ if test -f "${new_path}.exe"; then
+ input_to_shortpath="${new_path}.exe"
+ elif test -f "${new_path}.cmd"; then
+ input_to_shortpath="${new_path}.cmd"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of AS, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+ as_fn_error $? "Cannot locate the the path of AS" "$LINENO" 5
+ fi
+ else
+ input_to_shortpath="$new_path"
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+ new_path="$input_to_shortpath"
+
+ input_path="$input_to_shortpath"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$AS"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of AS, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of AS" "$LINENO" 5
+ fi
+ fi
+
+ # Now new_path has a complete unix path to the binary
+ if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+ # Keep paths in /bin as-is, but remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+ # Do not save /bin paths to all_fixpath_prefixes!
+ else
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $new_path`
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+ # Output is in $new_path
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+ fi
+
+ else
+ # We're on a posix platform. Hooray! :)
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$AS"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Cannot rely on the command "which" here since it doesn't always work.
+ is_absolute_path=`$ECHO "$path" | $GREP ^/`
+ if test -z "$is_absolute_path"; then
+ # Path to executable is not absolute. Find it.
+ IFS_save="$IFS"
+ IFS=:
+ for p in $PATH; do
+ if test -f "$p/$path" && test -x "$p/$path"; then
+ new_path="$p/$path"
+ break
+ fi
+ done
+ IFS="$IFS_save"
+ else
+ # This is an absolute path, we can use it without further modifications.
+ new_path="$path"
+ fi
+
+ if test "x$new_path" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of AS, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of AS" "$LINENO" 5
+ fi
+ fi
+
+ # Now join together the path and the arguments once again
+ if test "x$arguments" != xEOL; then
+ new_complete="$new_path ${arguments% *}"
+ else
+ new_complete="$new_path"
+ fi
+
+ if test "x$complete" != "x$new_complete"; then
+ AS="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting AS to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting AS to \"$new_complete\"" >&6;}
+ fi
+
+ else
+ # FIXME: is this correct for microsoft?
+ AS="$CC -c"
+ fi
+
+
+ #
+ # Setup the archiver (AR)
+ #
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # The corresponding ar tool is lib.exe (used to create static libraries)
+ # Extract the first word of "lib", so it can be a program name with args.
+set dummy lib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="lib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ else
+
+
+ # Publish this variable in the help.
+
+
+ if test "x$AR" = x; then
+ # The variable is not set by user, try to locate tool using the code snippet
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+ else
+ # The variable is set, but is it from the command line or the environment?
+
+ # Try to remove the string !AR! from our list.
+ try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!AR!/}
+ if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+ # If it failed, the variable was not from the command line. Ignore it,
+ # but warn the user (except for BASH, which is always set by the calling BASH).
+ if test "xAR" != xBASH; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of AR from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of AR from the environment. Use command line variables instead." >&2;}
+ fi
+ # Try to locate tool using the code snippet
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+ else
+ # If it succeeded, then it was overridden by the user. We will use it
+ # for the tool.
+
+ # First remove it from the list of overridden variables, so we can test
+ # for unknown variables in the end.
+ CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+ # Check if the provided tool contains a complete path.
+ tool_specified="$AR"
+ tool_basename="${tool_specified##*/}"
+ if test "x$tool_basename" = "x$tool_specified"; then
+ # A command without a complete path is provided, search $PATH.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool AR=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool AR=$tool_basename" >&6;}
+ # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $AR in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_AR="$AR" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+AR=$ac_cv_path_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "x$AR" = x; then
+ as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+ fi
+ else
+ # Otherwise we believe it is a complete path. Use it as it is.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool AR=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool AR=$tool_specified" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AR" >&5
+$as_echo_n "checking for AR... " >&6; }
+ if test ! -x "$tool_specified"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ as_fn_error $? "User supplied tool AR=$tool_specified does not exist or is not executable" "$LINENO" 5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+ fi
+ fi
+ fi
+
+
+ fi
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$AR"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path=`$CYGPATH -u "$path"`
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path=`$CYGPATH -u "$path"`
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of AR, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of AR" "$LINENO" 5
+ fi
+ fi
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file presence.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ # Short path failed, file does not exist as specified.
+ # Try adding .exe or .cmd
+ if test -f "${new_path}.exe"; then
+ input_to_shortpath="${new_path}.exe"
+ elif test -f "${new_path}.cmd"; then
+ input_to_shortpath="${new_path}.cmd"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of AR, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+ as_fn_error $? "Cannot locate the the path of AR" "$LINENO" 5
+ fi
+ else
+ input_to_shortpath="$new_path"
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+ new_path="$input_to_shortpath"
+
+ input_path="$input_to_shortpath"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$AR"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of AR, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of AR" "$LINENO" 5
+ fi
+ fi
+
+ # Now new_path has a complete unix path to the binary
+ if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+ # Keep paths in /bin as-is, but remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+ # Do not save /bin paths to all_fixpath_prefixes!
+ else
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $new_path`
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+ # Output is in $new_path
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+ fi
+
+ else
+ # We're on a posix platform. Hooray! :)
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$AR"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Cannot rely on the command "which" here since it doesn't always work.
+ is_absolute_path=`$ECHO "$path" | $GREP ^/`
+ if test -z "$is_absolute_path"; then
+ # Path to executable is not absolute. Find it.
+ IFS_save="$IFS"
+ IFS=:
+ for p in $PATH; do
+ if test -f "$p/$path" && test -x "$p/$path"; then
+ new_path="$p/$path"
+ break
+ fi
+ done
+ IFS="$IFS_save"
+ else
+ # This is an absolute path, we can use it without further modifications.
+ new_path="$path"
+ fi
+
+ if test "x$new_path" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of AR, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of AR" "$LINENO" 5
+ fi
+ fi
+
+ # Now join together the path and the arguments once again
+ if test "x$arguments" != xEOL; then
+ new_complete="$new_path ${arguments% *}"
+ else
+ new_complete="$new_path"
+ fi
+
+ if test "x$complete" != "x$new_complete"; then
+ AR="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting AR to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting AR to \"$new_complete\"" >&6;}
+ fi
+
+
+
+ if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
ac_ext=m
ac_cpp='$OBJCPP $CPPFLAGS'
ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -32770,8 +33178,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving OBJC (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving OBJC (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -32800,101 +33207,35 @@
$as_echo "$as_me: Rewriting OBJC to \"$new_complete\"" >&6;}
fi
- else
- OBJC=
- fi
-
- # Restore the flags to the user specified values.
- # This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
- CFLAGS="$ORG_CFLAGS"
- CXXFLAGS="$ORG_CXXFLAGS"
- OBJCFLAGS="$ORG_OBJCFLAGS"
-
- LD="$CC"
- LDEXE="$CC"
- LDCXX="$CXX"
- LDEXECXX="$CXX"
-
- # LDEXE is the linker to use, when creating executables.
-
- # Linking C++ libraries.
-
- # Linking C++ executables.
-
-
- if test "x$OPENJDK_TARGET_OS" != xwindows; then
# Publish this variable in the help.
- if test "x$AR" = x; then
+ if test "x$LIPO" = x; then
# The variable is not set by user, try to locate tool using the code snippet
- if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
+ for ac_prog in lipo
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
+if ${ac_cv_path_LIPO+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ case $LIPO in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_LIPO="$LIPO" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
+ ac_cv_path_LIPO="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -32902,112 +33243,57 @@
done
IFS=$as_save_IFS
+ ;;
+esac
fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
+LIPO=$ac_cv_path_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$ac_ct_AR" && break
+ test -n "$LIPO" && break
done
- if test "x$ac_ct_AR" = x; then
- AR=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
else
# The variable is set, but is it from the command line or the environment?
- # Try to remove the string !AR! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!AR!/}
+ # Try to remove the string !LIPO! from our list.
+ try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!LIPO!/}
if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
# If it failed, the variable was not from the command line. Ignore it,
# but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xAR" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of AR from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of AR from the environment. Use command line variables instead." >&2;}
+ if test "xLIPO" != xBASH; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of LIPO from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of LIPO from the environment. Use command line variables instead." >&2;}
fi
# Try to locate tool using the code snippet
- if test -n "$ac_tool_prefix"; then
- for ac_prog in ar
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$AR" && break
- done
-fi
-if test -z "$AR"; then
- ac_ct_AR=$AR
- for ac_prog in ar
+ for ac_prog in lipo
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
+if ${ac_cv_path_LIPO+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$ac_ct_AR"; then
- ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ case $LIPO in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_LIPO="$LIPO" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_AR="$ac_prog"
+ ac_cv_path_LIPO="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -33015,34 +33301,22 @@
done
IFS=$as_save_IFS
+ ;;
+esac
fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
+LIPO=$ac_cv_path_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$ac_ct_AR" && break
+ test -n "$LIPO" && break
done
- if test "x$ac_ct_AR" = x; then
- AR=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_ct_AR
- fi
-fi
-
else
# If it succeeded, then it was overridden by the user. We will use it
# for the tool.
@@ -33052,22 +33326,22 @@
CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
# Check if the provided tool contains a complete path.
- tool_specified="$AR"
+ tool_specified="$LIPO"
tool_basename="${tool_specified##*/}"
if test "x$tool_basename" = "x$tool_specified"; then
# A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool AR=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool AR=$tool_basename" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool LIPO=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool LIPO=$tool_basename" >&6;}
# Extract the first word of "$tool_basename", so it can be a program name with args.
set dummy $tool_basename; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_AR+:} false; then :
+if ${ac_cv_path_LIPO+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $AR in
+ case $LIPO in
[\\/]* | ?:[\\/]*)
- ac_cv_path_AR="$AR" # Let the user override the test with a path.
+ ac_cv_path_LIPO="$LIPO" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -33077,7 +33351,7 @@
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_LIPO="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -33088,29 +33362,29 @@
;;
esac
fi
-AR=$ac_cv_path_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
+LIPO=$ac_cv_path_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$AR" = x; then
+ if test "x$LIPO" = x; then
as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
fi
else
# Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool AR=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool AR=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AR" >&5
-$as_echo_n "checking for AR... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool LIPO=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool LIPO=$tool_specified" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIPO" >&5
+$as_echo_n "checking for LIPO... " >&6; }
if test ! -x "$tool_specified"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool AR=$tool_specified does not exist or is not executable" "$LINENO" 5
+ as_fn_error $? "User supplied tool LIPO=$tool_specified does not exist or is not executable" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
$as_echo "$tool_specified" >&6; }
@@ -33124,7 +33398,7 @@
# First separate the path from the arguments. This will split at the first
# space.
- complete="$AR"
+ complete="$LIPO"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
@@ -33160,14 +33434,14 @@
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of AR, which resolves as \"$complete\", is not found." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of LIPO, which resolves as \"$complete\", is not found." >&6;}
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
fi
- as_fn_error $? "Cannot locate the the path of AR" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of LIPO" "$LINENO" 5
fi
fi
@@ -33187,11 +33461,11 @@
elif test -f "${new_path}.cmd"; then
input_to_shortpath="${new_path}.cmd"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of AR, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of LIPO, which resolves as \"$new_path\", is invalid." >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of AR" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of LIPO" "$LINENO" 5
fi
else
input_to_shortpath="$new_path"
@@ -33238,7 +33512,7 @@
# First separate the path from the arguments. This will split at the first
# space.
- complete="$AR"
+ complete="$LIPO"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
@@ -33283,14 +33557,14 @@
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of AR, which resolves as \"$complete\", is not found." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of LIPO, which resolves as \"$complete\", is not found." >&6;}
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
fi
- as_fn_error $? "Cannot locate the the path of AR" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of LIPO" "$LINENO" 5
fi
fi
@@ -33336,7 +33610,7 @@
# We're on a posix platform. Hooray! :)
# First separate the path from the arguments. This will split at the first
# space.
- complete="$AR"
+ complete="$LIPO"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
@@ -33355,20 +33629,19 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving AR (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving AR (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AR, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of AR, which resolves as \"$complete\", is not found." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of LIPO, which resolves as \"$complete\", is not found." >&6;}
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
fi
- as_fn_error $? "Cannot locate the the path of AR" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of LIPO" "$LINENO" 5
fi
fi
@@ -33380,377 +33653,16 @@
fi
if test "x$complete" != "x$new_complete"; then
- AR="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting AR to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting AR to \"$new_complete\"" >&6;}
- fi
-
- fi
- if test "x$OPENJDK_TARGET_OS" = xmacosx; then
- ARFLAGS="-r"
- elif test "x$OPENJDK_TARGET_OS" = xaix; then
- ARFLAGS="-X64"
- else
- ARFLAGS=""
- fi
-
-
- # For hotspot, we need these in Windows mixed path; other platforms keep them the same
- HOTSPOT_CXX="$CXX"
- HOTSPOT_LD="$LD"
-
-
-
- COMPILER_NAME=gcc
- COMPILER_TYPE=CC
- if test "x$OPENJDK_TARGET_OS" = xwindows; then :
-
- # For now, assume that we are always compiling using cl.exe.
- CC_OUT_OPTION=-Fo
- EXE_OUT_OPTION=-out:
- LD_OUT_OPTION=-out:
- AR_OUT_OPTION=-out:
- # On Windows, reject /usr/bin/link (as determined in CYGWIN_LINK), which is a cygwin
- # program for something completely different.
- # Extract the first word of "link", so it can be a program name with args.
-set dummy link; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_WINLD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$WINLD"; then
- ac_cv_prog_WINLD="$WINLD" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "$CYGWIN_LINK"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_WINLD="link"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_WINLD
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set WINLD to just the basename; use the full file name.
- shift
- ac_cv_prog_WINLD="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-WINLD=$ac_cv_prog_WINLD
-if test -n "$WINLD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINLD" >&5
-$as_echo "$WINLD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- # Since we must ignore the first found link, WINLD will contain
- # the full path to the link.exe program.
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$WINLD"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINLD, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of WINLD, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of WINLD" "$LINENO" 5
- fi
- fi
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINLD, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of WINLD, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of WINLD" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$WINLD"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINLD, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of WINLD, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of WINLD" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+ LIPO="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting LIPO to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting LIPO to \"$new_complete\"" >&6;}
fi
else
- # We're on a posix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$WINLD"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving WINLD (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving WINLD (as $path) failed, using $path directly." >&6;}
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINLD, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of WINLD, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of WINLD" "$LINENO" 5
- fi
+ OBJC=
fi
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- WINLD="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting WINLD to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting WINLD to \"$new_complete\"" >&6;}
- fi
-
- printf "Windows linker was found at $WINLD\n"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the found link.exe is actually the Visual Studio linker" >&5
-$as_echo_n "checking if the found link.exe is actually the Visual Studio linker... " >&6; }
- "$WINLD" --version > /dev/null
- if test $? -eq 0 ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- as_fn_error $? "This is the Cygwin link tool. Please check your PATH and rerun configure." "$LINENO" 5
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- fi
- LD="$WINLD"
- LDEXE="$WINLD"
- LDCXX="$WINLD"
- LDEXECXX="$WINLD"
-
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
# Extract the first word of "mt", so it can be a program name with args.
set dummy mt; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -34041,8 +33953,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving MT (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving MT (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -34071,7 +33982,7 @@
$as_echo "$as_me: Rewriting MT to \"$new_complete\"" >&6;}
fi
- # The resource compiler
+ # Setup the resource compiler (RC)
# Extract the first word of "rc", so it can be a program name with args.
set dummy rc; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -34362,8 +34273,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving RC (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving RC (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -34392,385 +34302,7 @@
$as_echo "$as_me: Rewriting RC to \"$new_complete\"" >&6;}
fi
-
- # For hotspot, we need these in Windows mixed path,
- # so rewrite them all. Need added .exe suffix.
- HOTSPOT_CXX="$CXX.exe"
- HOTSPOT_LD="$LD.exe"
- HOTSPOT_MT="$MT.exe"
- HOTSPOT_RC="$RC.exe"
-
- unix_path="$HOTSPOT_CXX"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- windows_path=`$CYGPATH -m "$unix_path"`
- HOTSPOT_CXX="$windows_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- windows_path=`cmd //c echo $unix_path`
- HOTSPOT_CXX="$windows_path"
- fi
-
-
- unix_path="$HOTSPOT_LD"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- windows_path=`$CYGPATH -m "$unix_path"`
- HOTSPOT_LD="$windows_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- windows_path=`cmd //c echo $unix_path`
- HOTSPOT_LD="$windows_path"
- fi
-
-
- unix_path="$HOTSPOT_MT"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- windows_path=`$CYGPATH -m "$unix_path"`
- HOTSPOT_MT="$windows_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- windows_path=`cmd //c echo $unix_path`
- HOTSPOT_MT="$windows_path"
- fi
-
-
- unix_path="$HOTSPOT_RC"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- windows_path=`$CYGPATH -m "$unix_path"`
- HOTSPOT_RC="$windows_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- windows_path=`cmd //c echo $unix_path`
- HOTSPOT_RC="$windows_path"
- fi
-
-
-
-
- RC_FLAGS="-nologo -l 0x409 -r"
- if test "x$VARIANT" = xOPT; then :
-
- RC_FLAGS="$RC_FLAGS -d NDEBUG"
-
-fi
-
- # The version variables used to create RC_FLAGS may be overridden
- # in a custom configure script, or possibly the command line.
- # Let those variables be expanded at make time in spec.gmk.
- # The \$ are escaped to the shell, and the $(...) variables
- # are evaluated by make.
- RC_FLAGS="$RC_FLAGS \
- -d \"JDK_BUILD_ID=\$(FULL_VERSION)\" \
- -d \"JDK_COMPANY=\$(COMPANY_NAME)\" \
- -d \"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
- -d \"JDK_VER=\$(JDK_MINOR_VERSION).\$(JDK_MICRO_VERSION).\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0).\$(COOKED_BUILD_NUMBER)\" \
- -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
- -d \"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(JDK_MINOR_VERSION) \$(JDK_UPDATE_META_TAG)\" \
- -d \"JDK_FVER=\$(JDK_MINOR_VERSION),\$(JDK_MICRO_VERSION),\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0),\$(COOKED_BUILD_NUMBER)\""
-
- # lib.exe is used to create static libraries.
- # Extract the first word of "lib", so it can be a program name with args.
-set dummy lib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_WINAR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$WINAR"; then
- ac_cv_prog_WINAR="$WINAR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_WINAR="lib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-WINAR=$ac_cv_prog_WINAR
-if test -n "$WINAR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINAR" >&5
-$as_echo "$WINAR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$WINAR"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINAR, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of WINAR, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of WINAR" "$LINENO" 5
- fi
- fi
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINAR, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of WINAR, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of WINAR" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$WINAR"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINAR, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of WINAR, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of WINAR" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
- fi
-
- else
- # We're on a posix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$WINAR"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving WINAR (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving WINAR (as $path) failed, using $path directly." >&6;}
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of WINAR, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of WINAR, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of WINAR" "$LINENO" 5
- fi
- fi
-
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- WINAR="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting WINAR to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting WINAR to \"$new_complete\"" >&6;}
- fi
-
- AR="$WINAR"
- ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT"
-
- # Extract the first word of "dumpbin", so it can be a program name with args.
+ # Extract the first word of "dumpbin", so it can be a program name with args.
set dummy dumpbin; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
@@ -35043,8 +34575,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving DUMPBIN (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving DUMPBIN (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -35073,859 +34604,28 @@
$as_echo "$as_me: Rewriting DUMPBIN to \"$new_complete\"" >&6;}
fi
-
- COMPILER_TYPE=CL
- CCXXFLAGS="$CCXXFLAGS -nologo"
-
-fi
-
-
-
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$CPP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of CPP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of CPP" "$LINENO" 5
- fi
fi
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of CPP, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of CPP" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$CPP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of CPP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of CPP" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
- fi
-
- else
- # We're on a posix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$CPP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving CPP (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving CPP (as $path) failed, using $path directly." >&6;}
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CPP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of CPP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of CPP" "$LINENO" 5
- fi
- fi
-
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- CPP="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CPP to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting CPP to \"$new_complete\"" >&6;}
- fi
-
-
- ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
- if ${ac_cv_prog_CXXCPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CXXCPP needs to be expanded
- for CXXCPP in "$CXX -E" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
- CXXCPP=$ac_cv_prog_CXXCPP
-else
- ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$CXXCPP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of CXXCPP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of CXXCPP" "$LINENO" 5
- fi
- fi
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of CXXCPP, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of CXXCPP" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$CXXCPP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of CXXCPP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of CXXCPP" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
- fi
-
- else
- # We're on a posix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$CXXCPP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving CXXCPP (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving CXXCPP (as $path) failed, using $path directly." >&6;}
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of CXXCPP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of CXXCPP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of CXXCPP" "$LINENO" 5
- fi
- fi
-
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- CXXCPP="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting CXXCPP to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting CXXCPP to \"$new_complete\"" >&6;}
- fi
-
-
- if test "x$COMPILE_TYPE" != "xcross"; then
- # If we are not cross compiling, use the same compilers for
- # building the build platform executables. The cross-compilation
- # case needed to be done earlier, but this can only be done after
- # the native tools have been localized.
- BUILD_CC="$CC"
- BUILD_CXX="$CXX"
- BUILD_LD="$LD"
- fi
-
- # for solaris we really need solaris tools, and not gnu equivalent
- # these seems to normally reside in /usr/ccs/bin so add that to path before
- # starting to probe
- #
- # NOTE: I add this /usr/ccs/bin after TOOLS but before OLD_PATH
- # so that it can be overriden --with-tools-dir
- if test "x$OPENJDK_BUILD_OS" = xsolaris; then
- PATH="${TOOLS_DIR}:/usr/ccs/bin:${OLD_PATH}"
- fi
-
- # Find the right assembler.
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
# Publish this variable in the help.
- if test "x$AS" = x; then
+ if test "x$STRIP" = x; then
# The variable is not set by user, try to locate tool using the code snippet
- for ac_prog in as
+ for ac_prog in strip
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_AS+:} false; then :
+if ${ac_cv_path_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $AS in
+ case $STRIP in
[\\/]* | ?:[\\/]*)
- ac_cv_path_AS="$AS" # Let the user override the test with a path.
+ ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -35935,7 +34635,7 @@
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_AS="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -35946,44 +34646,44 @@
;;
esac
fi
-AS=$ac_cv_path_AS
-if test -n "$AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
+STRIP=$ac_cv_path_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$AS" && break
+ test -n "$STRIP" && break
done
else
# The variable is set, but is it from the command line or the environment?
- # Try to remove the string !AS! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!AS!/}
+ # Try to remove the string !STRIP! from our list.
+ try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!STRIP!/}
if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
# If it failed, the variable was not from the command line. Ignore it,
# but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xAS" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of AS from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of AS from the environment. Use command line variables instead." >&2;}
+ if test "xSTRIP" != xBASH; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of STRIP from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of STRIP from the environment. Use command line variables instead." >&2;}
fi
# Try to locate tool using the code snippet
- for ac_prog in as
+ for ac_prog in strip
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_AS+:} false; then :
+if ${ac_cv_path_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $AS in
+ case $STRIP in
[\\/]* | ?:[\\/]*)
- ac_cv_path_AS="$AS" # Let the user override the test with a path.
+ ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -35993,7 +34693,7 @@
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_AS="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -36004,17 +34704,17 @@
;;
esac
fi
-AS=$ac_cv_path_AS
-if test -n "$AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
+STRIP=$ac_cv_path_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$AS" && break
+ test -n "$STRIP" && break
done
else
@@ -36026,22 +34726,22 @@
CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
# Check if the provided tool contains a complete path.
- tool_specified="$AS"
+ tool_specified="$STRIP"
tool_basename="${tool_specified##*/}"
if test "x$tool_basename" = "x$tool_specified"; then
# A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool AS=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool AS=$tool_basename" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool STRIP=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool STRIP=$tool_basename" >&6;}
# Extract the first word of "$tool_basename", so it can be a program name with args.
set dummy $tool_basename; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_AS+:} false; then :
+if ${ac_cv_path_STRIP+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $AS in
+ case $STRIP in
[\\/]* | ?:[\\/]*)
- ac_cv_path_AS="$AS" # Let the user override the test with a path.
+ ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -36051,7 +34751,7 @@
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_AS="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -36062,29 +34762,29 @@
;;
esac
fi
-AS=$ac_cv_path_AS
-if test -n "$AS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
-$as_echo "$AS" >&6; }
+STRIP=$ac_cv_path_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$AS" = x; then
+ if test "x$STRIP" = x; then
as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
fi
else
# Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool AS=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool AS=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for AS" >&5
-$as_echo_n "checking for AS... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool STRIP=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool STRIP=$tool_specified" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for STRIP" >&5
+$as_echo_n "checking for STRIP... " >&6; }
if test ! -x "$tool_specified"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool AS=$tool_specified does not exist or is not executable" "$LINENO" 5
+ as_fn_error $? "User supplied tool STRIP=$tool_specified does not exist or is not executable" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
$as_echo "$tool_specified" >&6; }
@@ -36098,7 +34798,7 @@
# First separate the path from the arguments. This will split at the first
# space.
- complete="$AS"
+ complete="$STRIP"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
@@ -36134,14 +34834,14 @@
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of AS, which resolves as \"$complete\", is not found." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
fi
- as_fn_error $? "Cannot locate the the path of AS" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
fi
fi
@@ -36161,11 +34861,11 @@
elif test -f "${new_path}.cmd"; then
input_to_shortpath="${new_path}.cmd"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of AS, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of STRIP, which resolves as \"$new_path\", is invalid." >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of AS" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
fi
else
input_to_shortpath="$new_path"
@@ -36212,7 +34912,7 @@
# First separate the path from the arguments. This will split at the first
# space.
- complete="$AS"
+ complete="$STRIP"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
@@ -36257,14 +34957,14 @@
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of AS, which resolves as \"$complete\", is not found." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
fi
- as_fn_error $? "Cannot locate the the path of AS" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
fi
fi
@@ -36310,7 +35010,7 @@
# We're on a posix platform. Hooray! :)
# First separate the path from the arguments. This will split at the first
# space.
- complete="$AS"
+ complete="$STRIP"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
@@ -36329,20 +35029,19 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving AS (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving AS (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of AS, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of AS, which resolves as \"$complete\", is not found." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
fi
- as_fn_error $? "Cannot locate the the path of AS" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
fi
fi
@@ -36354,17 +35053,11 @@
fi
if test "x$complete" != "x$new_complete"; then
- AS="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting AS to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting AS to \"$new_complete\"" >&6;}
+ STRIP="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting STRIP to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting STRIP to \"$new_complete\"" >&6;}
fi
- else
- AS="$CC -c"
- fi
-
-
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
# Publish this variable in the help.
@@ -36787,8 +35480,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving NM (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving NM (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -37239,8 +35931,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving GNM (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving GNM (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -37271,457 +35962,6 @@
- # Publish this variable in the help.
-
-
- if test "x$STRIP" = x; then
- # The variable is not set by user, try to locate tool using the code snippet
- for ac_prog in strip
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $STRIP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-STRIP=$ac_cv_path_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$STRIP" && break
-done
-
- else
- # The variable is set, but is it from the command line or the environment?
-
- # Try to remove the string !STRIP! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!STRIP!/}
- if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
- # If it failed, the variable was not from the command line. Ignore it,
- # but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xSTRIP" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of STRIP from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of STRIP from the environment. Use command line variables instead." >&2;}
- fi
- # Try to locate tool using the code snippet
- for ac_prog in strip
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $STRIP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-STRIP=$ac_cv_path_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$STRIP" && break
-done
-
- else
- # If it succeeded, then it was overridden by the user. We will use it
- # for the tool.
-
- # First remove it from the list of overridden variables, so we can test
- # for unknown variables in the end.
- CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
-
- # Check if the provided tool contains a complete path.
- tool_specified="$STRIP"
- tool_basename="${tool_specified##*/}"
- if test "x$tool_basename" = "x$tool_specified"; then
- # A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool STRIP=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool STRIP=$tool_basename" >&6;}
- # Extract the first word of "$tool_basename", so it can be a program name with args.
-set dummy $tool_basename; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $STRIP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-STRIP=$ac_cv_path_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$STRIP" = x; then
- as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
- fi
- else
- # Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool STRIP=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool STRIP=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for STRIP" >&5
-$as_echo_n "checking for STRIP... " >&6; }
- if test ! -x "$tool_specified"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool STRIP=$tool_specified does not exist or is not executable" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
-$as_echo "$tool_specified" >&6; }
- fi
- fi
- fi
-
-
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$STRIP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
- fi
- fi
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of STRIP, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$STRIP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
- fi
-
- else
- # We're on a posix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$STRIP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving STRIP (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving STRIP (as $path) failed, using $path directly." >&6;}
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
- fi
- fi
-
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- STRIP="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting STRIP to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting STRIP to \"$new_complete\"" >&6;}
- fi
-
-
# Publish this variable in the help.
@@ -38143,8 +36383,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving MCS (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving MCS (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -38174,6 +36413,568 @@
fi
elif test "x$OPENJDK_TARGET_OS" != xwindows; then
+ # FIXME: we should unify this with the solaris case above.
+
+
+ # Publish this variable in the help.
+
+
+ if test "x$STRIP" = x; then
+ # The variable is not set by user, try to locate tool using the code snippet
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in strip
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$STRIP" && break
+ done
+fi
+if test -z "$STRIP"; then
+ ac_ct_STRIP=$STRIP
+ for ac_prog in strip
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_STRIP" && break
+done
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+fi
+
+ else
+ # The variable is set, but is it from the command line or the environment?
+
+ # Try to remove the string !STRIP! from our list.
+ try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!STRIP!/}
+ if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+ # If it failed, the variable was not from the command line. Ignore it,
+ # but warn the user (except for BASH, which is always set by the calling BASH).
+ if test "xSTRIP" != xBASH; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of STRIP from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of STRIP from the environment. Use command line variables instead." >&2;}
+ fi
+ # Try to locate tool using the code snippet
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in strip
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$STRIP" && break
+ done
+fi
+if test -z "$STRIP"; then
+ ac_ct_STRIP=$STRIP
+ for ac_prog in strip
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_STRIP" && break
+done
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+fi
+
+ else
+ # If it succeeded, then it was overridden by the user. We will use it
+ # for the tool.
+
+ # First remove it from the list of overridden variables, so we can test
+ # for unknown variables in the end.
+ CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+ # Check if the provided tool contains a complete path.
+ tool_specified="$STRIP"
+ tool_basename="${tool_specified##*/}"
+ if test "x$tool_basename" = "x$tool_specified"; then
+ # A command without a complete path is provided, search $PATH.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool STRIP=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool STRIP=$tool_basename" >&6;}
+ # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $STRIP in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+STRIP=$ac_cv_path_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "x$STRIP" = x; then
+ as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+ fi
+ else
+ # Otherwise we believe it is a complete path. Use it as it is.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool STRIP=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool STRIP=$tool_specified" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for STRIP" >&5
+$as_echo_n "checking for STRIP... " >&6; }
+ if test ! -x "$tool_specified"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ as_fn_error $? "User supplied tool STRIP=$tool_specified does not exist or is not executable" "$LINENO" 5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+ fi
+ fi
+ fi
+
+
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$STRIP"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path=`$CYGPATH -u "$path"`
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path=`$CYGPATH -u "$path"`
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
+ fi
+ fi
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file presence.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ # Short path failed, file does not exist as specified.
+ # Try adding .exe or .cmd
+ if test -f "${new_path}.exe"; then
+ input_to_shortpath="${new_path}.exe"
+ elif test -f "${new_path}.cmd"; then
+ input_to_shortpath="${new_path}.cmd"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of STRIP, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+ as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
+ fi
+ else
+ input_to_shortpath="$new_path"
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+ new_path="$input_to_shortpath"
+
+ input_path="$input_to_shortpath"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$STRIP"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
+ fi
+ fi
+
+ # Now new_path has a complete unix path to the binary
+ if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+ # Keep paths in /bin as-is, but remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+ # Do not save /bin paths to all_fixpath_prefixes!
+ else
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $new_path`
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+ # Output is in $new_path
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+ fi
+
+ else
+ # We're on a posix platform. Hooray! :)
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$STRIP"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Cannot rely on the command "which" here since it doesn't always work.
+ is_absolute_path=`$ECHO "$path" | $GREP ^/`
+ if test -z "$is_absolute_path"; then
+ # Path to executable is not absolute. Find it.
+ IFS_save="$IFS"
+ IFS=:
+ for p in $PATH; do
+ if test -f "$p/$path" && test -x "$p/$path"; then
+ new_path="$p/$path"
+ break
+ fi
+ done
+ IFS="$IFS_save"
+ else
+ # This is an absolute path, we can use it without further modifications.
+ new_path="$path"
+ fi
+
+ if test "x$new_path" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
+ fi
+ fi
+
+ # Now join together the path and the arguments once again
+ if test "x$arguments" != xEOL; then
+ new_complete="$new_path ${arguments% *}"
+ else
+ new_complete="$new_path"
+ fi
+
+ if test "x$complete" != "x$new_complete"; then
+ STRIP="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting STRIP to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting STRIP to \"$new_complete\"" >&6;}
+ fi
+
# Publish this variable in the help.
@@ -38706,8 +37507,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving NM (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving NM (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -38738,568 +37538,6 @@
GNM="$NM"
-
-
- # Publish this variable in the help.
-
-
- if test "x$STRIP" = x; then
- # The variable is not set by user, try to locate tool using the code snippet
- if test -n "$ac_tool_prefix"; then
- for ac_prog in strip
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$STRIP" && break
- done
-fi
-if test -z "$STRIP"; then
- ac_ct_STRIP=$STRIP
- for ac_prog in strip
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_STRIP" && break
-done
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-fi
-
- else
- # The variable is set, but is it from the command line or the environment?
-
- # Try to remove the string !STRIP! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!STRIP!/}
- if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
- # If it failed, the variable was not from the command line. Ignore it,
- # but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xSTRIP" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of STRIP from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of STRIP from the environment. Use command line variables instead." >&2;}
- fi
- # Try to locate tool using the code snippet
- if test -n "$ac_tool_prefix"; then
- for ac_prog in strip
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$STRIP"; then
- ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_STRIP="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$STRIP" && break
- done
-fi
-if test -z "$STRIP"; then
- ac_ct_STRIP=$STRIP
- for ac_prog in strip
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_STRIP"; then
- ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_STRIP="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_STRIP" && break
-done
-
- if test "x$ac_ct_STRIP" = x; then
- STRIP=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- STRIP=$ac_ct_STRIP
- fi
-fi
-
- else
- # If it succeeded, then it was overridden by the user. We will use it
- # for the tool.
-
- # First remove it from the list of overridden variables, so we can test
- # for unknown variables in the end.
- CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
-
- # Check if the provided tool contains a complete path.
- tool_specified="$STRIP"
- tool_basename="${tool_specified##*/}"
- if test "x$tool_basename" = "x$tool_specified"; then
- # A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool STRIP=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool STRIP=$tool_basename" >&6;}
- # Extract the first word of "$tool_basename", so it can be a program name with args.
-set dummy $tool_basename; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_STRIP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $STRIP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_STRIP="$STRIP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_STRIP="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-STRIP=$ac_cv_path_STRIP
-if test -n "$STRIP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test "x$STRIP" = x; then
- as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
- fi
- else
- # Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool STRIP=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool STRIP=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for STRIP" >&5
-$as_echo_n "checking for STRIP... " >&6; }
- if test ! -x "$tool_specified"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
-$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool STRIP=$tool_specified does not exist or is not executable" "$LINENO" 5
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
-$as_echo "$tool_specified" >&6; }
- fi
- fi
- fi
-
-
-
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$STRIP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path=`$CYGPATH -u "$path"`
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path=`$CYGPATH -u "$path"`
- new_path=`$WHICH "$new_path" 2> /dev/null`
- # bat and cmd files are not always considered executable in cygwin causing which
- # to not find them
- if test "x$new_path" = x \
- && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
- && test "x`$LS \"$path\" 2>/dev/null`" != x; then
- new_path=`$CYGPATH -u "$path"`
- fi
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
- fi
- fi
-
- # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
- # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
- # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
- # "foo.exe" is OK but "foo" is an error.
- #
- # This test is therefore slightly more accurate than "test -f" to check for file presence.
- # It is also a way to make sure we got the proper file name for the real test later on.
- test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
- if test "x$test_shortpath" = x; then
- # Short path failed, file does not exist as specified.
- # Try adding .exe or .cmd
- if test -f "${new_path}.exe"; then
- input_to_shortpath="${new_path}.exe"
- elif test -f "${new_path}.cmd"; then
- input_to_shortpath="${new_path}.cmd"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of STRIP, which resolves as \"$new_path\", is invalid." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
-$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
- fi
- else
- input_to_shortpath="$new_path"
- fi
-
- # Call helper function which possibly converts this using DOS-style short mode.
- # If so, the updated path is stored in $new_path.
- new_path="$input_to_shortpath"
-
- input_path="$input_to_shortpath"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- shortmode_path=`$CYGPATH -s -m -a "$input_path"`
- path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
- if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
- # Going to short mode and back again did indeed matter. Since short mode is
- # case insensitive, let's make it lowercase to improve readability.
- shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Now convert it back to Unix-stile (cygpath)
- input_path=`$CYGPATH -u "$shortmode_path"`
- new_path="$input_path"
- fi
- fi
-
- test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
- if test "x$test_cygdrive_prefix" = x; then
- # As a simple fix, exclude /usr/bin since it's not a real path.
- if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
- # The path is in a Cygwin special directory (e.g. /home). We need this converted to
- # a path prefixed by /cygdrive for fixpath to work.
- new_path="$CYGWIN_ROOT_PATH$input_path"
- fi
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
-
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$STRIP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Input might be given as Windows format, start by converting to
- # unix format.
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- # Now try to locate executable using which
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # Oops. Which didn't find the executable.
- # The splitting of arguments from the executable at a space might have been incorrect,
- # since paths with space are more likely in Windows. Give it another try with the whole
- # argument.
- path="$complete"
- arguments="EOL"
- new_path="$path"
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
-
- new_path=`$WHICH "$new_path" 2> /dev/null`
-
- if test "x$new_path" = x; then
- # It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
-$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
- fi
- fi
-
- # Now new_path has a complete unix path to the binary
- if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
- # Keep paths in /bin as-is, but remove trailing .exe if any
- new_path="${new_path/%.exe/}"
- # Do not save /bin paths to all_fixpath_prefixes!
- else
- # Not in mixed or Windows style, start by that.
- new_path=`cmd //c echo $new_path`
-
- input_path="$new_path"
- # Check if we need to convert this using DOS-style short mode. If the path
- # contains just simple characters, use it. Otherwise (spaces, weird characters),
- # take no chances and rewrite it.
- # Note: m4 eats our [], so we need to use [ and ] instead.
- has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
- if test "x$has_forbidden_chars" != x; then
- # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
- new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- fi
-
- # Output is in $new_path
-
- windows_path="$new_path"
- if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
- unix_path=`$CYGPATH -u "$windows_path"`
- new_path="$unix_path"
- elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
- unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
- new_path="$unix_path"
- fi
-
- # remove trailing .exe if any
- new_path="${new_path/%.exe/}"
-
- # Save the first 10 bytes of this path to the storage, so fixpath can work.
- all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
- fi
-
- else
- # We're on a posix platform. Hooray! :)
- # First separate the path from the arguments. This will split at the first
- # space.
- complete="$STRIP"
- path="${complete%% *}"
- tmp="$complete EOL"
- arguments="${tmp#* }"
-
- # Cannot rely on the command "which" here since it doesn't always work.
- is_absolute_path=`$ECHO "$path" | $GREP ^/`
- if test -z "$is_absolute_path"; then
- # Path to executable is not absolute. Find it.
- IFS_save="$IFS"
- IFS=:
- for p in $PATH; do
- if test -f "$p/$path" && test -x "$p/$path"; then
- new_path="$p/$path"
- break
- fi
- done
- IFS="$IFS_save"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving STRIP (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving STRIP (as $path) failed, using $path directly." >&6;}
- new_path="$path"
- fi
-
- if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of STRIP, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of STRIP, which resolves as \"$complete\", is not found." >&6;}
- has_space=`$ECHO "$complete" | $GREP " "`
- if test "x$has_space" != x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
-$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
- fi
- as_fn_error $? "Cannot locate the the path of STRIP" "$LINENO" 5
- fi
- fi
-
- # Now join together the path and the arguments once again
- if test "x$arguments" != xEOL; then
- new_complete="$new_path ${arguments% *}"
- else
- new_complete="$new_path"
- fi
-
- if test "x$complete" != "x$new_complete"; then
- STRIP="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting STRIP to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting STRIP to \"$new_complete\"" >&6;}
- fi
-
fi
# objcopy is used for moving debug symbols to separate files when
@@ -39839,8 +38077,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving OBJCOPY (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving OBJCOPY (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -40169,7 +38406,8 @@
if test "x$OBJDUMP" != x; then
- # Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE bails if argument is missing.
+ # Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE
+ # bails if argument is missing.
if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
@@ -40406,8 +38644,7 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving OBJDUMP (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving OBJDUMP (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
@@ -40438,26 +38675,48 @@
fi
- if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+
+ # Restore old path.
+ PATH="$OLD_PATH"
+
+ # Restore the flags to the user specified values.
+ # This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
+ CFLAGS="$ORG_CFLAGS"
+ CXXFLAGS="$ORG_CXXFLAGS"
+ OBJCFLAGS="$ORG_OBJCFLAGS"
+
+
+# Finally do some processing after the detection phase
+
+ if test "x$COMPILE_TYPE" = "xcross"; then
+ # Now we need to find a C/C++ compiler that can build executables for the
+ # build platform. We can't use the AC_PROG_CC macro, since it can only be
+ # used once. Also, we need to do this without adding a tools dir to the
+ # path, otherwise we might pick up cross-compilers which don't use standard
+ # naming.
+
+ # FIXME: we should list the discovered compilers as an exclude pattern!
+ # If we do that, we can do this detection before POST_DETECTION, and still
+ # find the build compilers in the tools dir, if needed.
# Publish this variable in the help.
- if test "x$LIPO" = x; then
+ if test "x$BUILD_CC" = x; then
# The variable is not set by user, try to locate tool using the code snippet
- for ac_prog in lipo
+ for ac_prog in cl cc gcc
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LIPO+:} false; then :
+if ${ac_cv_path_BUILD_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $LIPO in
+ case $BUILD_CC in
[\\/]* | ?:[\\/]*)
- ac_cv_path_LIPO="$LIPO" # Let the user override the test with a path.
+ ac_cv_path_BUILD_CC="$BUILD_CC" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -40467,7 +38726,7 @@
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_LIPO="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_BUILD_CC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -40478,44 +38737,44 @@
;;
esac
fi
-LIPO=$ac_cv_path_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
+BUILD_CC=$ac_cv_path_BUILD_CC
+if test -n "$BUILD_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5
+$as_echo "$BUILD_CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$LIPO" && break
+ test -n "$BUILD_CC" && break
done
else
# The variable is set, but is it from the command line or the environment?
- # Try to remove the string !LIPO! from our list.
- try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!LIPO!/}
+ # Try to remove the string !BUILD_CC! from our list.
+ try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!BUILD_CC!/}
if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
# If it failed, the variable was not from the command line. Ignore it,
# but warn the user (except for BASH, which is always set by the calling BASH).
- if test "xLIPO" != xBASH; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of LIPO from the environment. Use command line variables instead." >&5
-$as_echo "$as_me: WARNING: Ignoring value of LIPO from the environment. Use command line variables instead." >&2;}
+ if test "xBUILD_CC" != xBASH; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of BUILD_CC from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of BUILD_CC from the environment. Use command line variables instead." >&2;}
fi
# Try to locate tool using the code snippet
- for ac_prog in lipo
+ for ac_prog in cl cc gcc
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LIPO+:} false; then :
+if ${ac_cv_path_BUILD_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $LIPO in
+ case $BUILD_CC in
[\\/]* | ?:[\\/]*)
- ac_cv_path_LIPO="$LIPO" # Let the user override the test with a path.
+ ac_cv_path_BUILD_CC="$BUILD_CC" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -40525,7 +38784,7 @@
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_LIPO="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_BUILD_CC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -40536,17 +38795,17 @@
;;
esac
fi
-LIPO=$ac_cv_path_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
+BUILD_CC=$ac_cv_path_BUILD_CC
+if test -n "$BUILD_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5
+$as_echo "$BUILD_CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$LIPO" && break
+ test -n "$BUILD_CC" && break
done
else
@@ -40558,22 +38817,22 @@
CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
# Check if the provided tool contains a complete path.
- tool_specified="$LIPO"
+ tool_specified="$BUILD_CC"
tool_basename="${tool_specified##*/}"
if test "x$tool_basename" = "x$tool_specified"; then
# A command without a complete path is provided, search $PATH.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool LIPO=$tool_basename" >&5
-$as_echo "$as_me: Will search for user supplied tool LIPO=$tool_basename" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool BUILD_CC=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool BUILD_CC=$tool_basename" >&6;}
# Extract the first word of "$tool_basename", so it can be a program name with args.
set dummy $tool_basename; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LIPO+:} false; then :
+if ${ac_cv_path_BUILD_CC+:} false; then :
$as_echo_n "(cached) " >&6
else
- case $LIPO in
+ case $BUILD_CC in
[\\/]* | ?:[\\/]*)
- ac_cv_path_LIPO="$LIPO" # Let the user override the test with a path.
+ ac_cv_path_BUILD_CC="$BUILD_CC" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -40583,7 +38842,7 @@
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_LIPO="$as_dir/$ac_word$ac_exec_ext"
+ ac_cv_path_BUILD_CC="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -40594,29 +38853,29 @@
;;
esac
fi
-LIPO=$ac_cv_path_LIPO
-if test -n "$LIPO"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
+BUILD_CC=$ac_cv_path_BUILD_CC
+if test -n "$BUILD_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CC" >&5
+$as_echo "$BUILD_CC" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$LIPO" = x; then
+ if test "x$BUILD_CC" = x; then
as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
fi
else
# Otherwise we believe it is a complete path. Use it as it is.
- { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool LIPO=$tool_specified" >&5
-$as_echo "$as_me: Will use user supplied tool LIPO=$tool_specified" >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIPO" >&5
-$as_echo_n "checking for LIPO... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool BUILD_CC=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool BUILD_CC=$tool_specified" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_CC" >&5
+$as_echo_n "checking for BUILD_CC... " >&6; }
if test ! -x "$tool_specified"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
- as_fn_error $? "User supplied tool LIPO=$tool_specified does not exist or is not executable" "$LINENO" 5
+ as_fn_error $? "User supplied tool BUILD_CC=$tool_specified does not exist or is not executable" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
$as_echo "$tool_specified" >&6; }
@@ -40630,7 +38889,7 @@
# First separate the path from the arguments. This will split at the first
# space.
- complete="$LIPO"
+ complete="$BUILD_CC"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
@@ -40666,14 +38925,14 @@
fi
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of LIPO, which resolves as \"$complete\", is not found." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&6;}
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
fi
- as_fn_error $? "Cannot locate the the path of LIPO" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of BUILD_CC" "$LINENO" 5
fi
fi
@@ -40693,11 +38952,11 @@
elif test -f "${new_path}.cmd"; then
input_to_shortpath="${new_path}.cmd"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$new_path\", is invalid." >&5
-$as_echo "$as_me: The path of LIPO, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of BUILD_CC, which resolves as \"$new_path\", is invalid." >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
- as_fn_error $? "Cannot locate the the path of LIPO" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of BUILD_CC" "$LINENO" 5
fi
else
input_to_shortpath="$new_path"
@@ -40744,7 +39003,7 @@
# First separate the path from the arguments. This will split at the first
# space.
- complete="$LIPO"
+ complete="$BUILD_CC"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
@@ -40789,14 +39048,14 @@
if test "x$new_path" = x; then
# It's still not found. Now this is an unrecoverable error.
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of LIPO, which resolves as \"$complete\", is not found." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&6;}
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
fi
- as_fn_error $? "Cannot locate the the path of LIPO" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of BUILD_CC" "$LINENO" 5
fi
fi
@@ -40842,7 +39101,7 @@
# We're on a posix platform. Hooray! :)
# First separate the path from the arguments. This will split at the first
# space.
- complete="$LIPO"
+ complete="$BUILD_CC"
path="${complete%% *}"
tmp="$complete EOL"
arguments="${tmp#* }"
@@ -40861,20 +39120,19 @@
done
IFS="$IFS_save"
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: Resolving LIPO (as $path) failed, using $path directly." >&5
-$as_echo "$as_me: Resolving LIPO (as $path) failed, using $path directly." >&6;}
+ # This is an absolute path, we can use it without further modifications.
new_path="$path"
fi
if test "x$new_path" = x; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: The path of LIPO, which resolves as \"$complete\", is not found." >&5
-$as_echo "$as_me: The path of LIPO, which resolves as \"$complete\", is not found." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_CC, which resolves as \"$complete\", is not found." >&6;}
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
fi
- as_fn_error $? "Cannot locate the the path of LIPO" "$LINENO" 5
+ as_fn_error $? "Cannot locate the the path of BUILD_CC" "$LINENO" 5
fi
fi
@@ -40886,22 +39144,1507 @@
fi
if test "x$complete" != "x$new_complete"; then
- LIPO="$new_complete"
- { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting LIPO to \"$new_complete\"" >&5
-$as_echo "$as_me: Rewriting LIPO to \"$new_complete\"" >&6;}
- fi
-
+ BUILD_CC="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_CC to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting BUILD_CC to \"$new_complete\"" >&6;}
fi
- # Restore old path without tools dir
- PATH="$OLD_PATH"
+ # Publish this variable in the help.
-# FIXME: Currently we must test this after paths but before flags. Fix!
+ if test "x$BUILD_CXX" = x; then
+ # The variable is not set by user, try to locate tool using the code snippet
+ for ac_prog in cl CC g++
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $BUILD_CXX in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_BUILD_CXX="$BUILD_CXX" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_BUILD_CXX="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
-# And we can test some aspects on the target using configure macros.
+ ;;
+esac
+fi
+BUILD_CXX=$ac_cv_path_BUILD_CXX
+if test -n "$BUILD_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CXX" >&5
+$as_echo "$BUILD_CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$BUILD_CXX" && break
+done
+
+ else
+ # The variable is set, but is it from the command line or the environment?
+
+ # Try to remove the string !BUILD_CXX! from our list.
+ try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!BUILD_CXX!/}
+ if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+ # If it failed, the variable was not from the command line. Ignore it,
+ # but warn the user (except for BASH, which is always set by the calling BASH).
+ if test "xBUILD_CXX" != xBASH; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of BUILD_CXX from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of BUILD_CXX from the environment. Use command line variables instead." >&2;}
+ fi
+ # Try to locate tool using the code snippet
+ for ac_prog in cl CC g++
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $BUILD_CXX in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_BUILD_CXX="$BUILD_CXX" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_BUILD_CXX="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+BUILD_CXX=$ac_cv_path_BUILD_CXX
+if test -n "$BUILD_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CXX" >&5
+$as_echo "$BUILD_CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$BUILD_CXX" && break
+done
+
+ else
+ # If it succeeded, then it was overridden by the user. We will use it
+ # for the tool.
+
+ # First remove it from the list of overridden variables, so we can test
+ # for unknown variables in the end.
+ CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+ # Check if the provided tool contains a complete path.
+ tool_specified="$BUILD_CXX"
+ tool_basename="${tool_specified##*/}"
+ if test "x$tool_basename" = "x$tool_specified"; then
+ # A command without a complete path is provided, search $PATH.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool BUILD_CXX=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool BUILD_CXX=$tool_basename" >&6;}
+ # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $BUILD_CXX in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_BUILD_CXX="$BUILD_CXX" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_BUILD_CXX="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+BUILD_CXX=$ac_cv_path_BUILD_CXX
+if test -n "$BUILD_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_CXX" >&5
+$as_echo "$BUILD_CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "x$BUILD_CXX" = x; then
+ as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+ fi
+ else
+ # Otherwise we believe it is a complete path. Use it as it is.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool BUILD_CXX=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool BUILD_CXX=$tool_specified" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_CXX" >&5
+$as_echo_n "checking for BUILD_CXX... " >&6; }
+ if test ! -x "$tool_specified"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ as_fn_error $? "User supplied tool BUILD_CXX=$tool_specified does not exist or is not executable" "$LINENO" 5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+ fi
+ fi
+ fi
+
+
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$BUILD_CXX"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path=`$CYGPATH -u "$path"`
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path=`$CYGPATH -u "$path"`
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of BUILD_CXX" "$LINENO" 5
+ fi
+ fi
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file presence.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ # Short path failed, file does not exist as specified.
+ # Try adding .exe or .cmd
+ if test -f "${new_path}.exe"; then
+ input_to_shortpath="${new_path}.exe"
+ elif test -f "${new_path}.cmd"; then
+ input_to_shortpath="${new_path}.cmd"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of BUILD_CXX, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+ as_fn_error $? "Cannot locate the the path of BUILD_CXX" "$LINENO" 5
+ fi
+ else
+ input_to_shortpath="$new_path"
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+ new_path="$input_to_shortpath"
+
+ input_path="$input_to_shortpath"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$BUILD_CXX"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of BUILD_CXX" "$LINENO" 5
+ fi
+ fi
+
+ # Now new_path has a complete unix path to the binary
+ if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+ # Keep paths in /bin as-is, but remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+ # Do not save /bin paths to all_fixpath_prefixes!
+ else
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $new_path`
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+ # Output is in $new_path
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+ fi
+
+ else
+ # We're on a posix platform. Hooray! :)
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$BUILD_CXX"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Cannot rely on the command "which" here since it doesn't always work.
+ is_absolute_path=`$ECHO "$path" | $GREP ^/`
+ if test -z "$is_absolute_path"; then
+ # Path to executable is not absolute. Find it.
+ IFS_save="$IFS"
+ IFS=:
+ for p in $PATH; do
+ if test -f "$p/$path" && test -x "$p/$path"; then
+ new_path="$p/$path"
+ break
+ fi
+ done
+ IFS="$IFS_save"
+ else
+ # This is an absolute path, we can use it without further modifications.
+ new_path="$path"
+ fi
+
+ if test "x$new_path" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_CXX, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of BUILD_CXX" "$LINENO" 5
+ fi
+ fi
+
+ # Now join together the path and the arguments once again
+ if test "x$arguments" != xEOL; then
+ new_complete="$new_path ${arguments% *}"
+ else
+ new_complete="$new_path"
+ fi
+
+ if test "x$complete" != "x$new_complete"; then
+ BUILD_CXX="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_CXX to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting BUILD_CXX to \"$new_complete\"" >&6;}
+ fi
+
+
+
+ # Publish this variable in the help.
+
+
+ if test "x$BUILD_LD" = x; then
+ # The variable is not set by user, try to locate tool using the code snippet
+ for ac_prog in ld
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $BUILD_LD in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_BUILD_LD="$BUILD_LD" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_BUILD_LD="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+BUILD_LD=$ac_cv_path_BUILD_LD
+if test -n "$BUILD_LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_LD" >&5
+$as_echo "$BUILD_LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$BUILD_LD" && break
+done
+
+ else
+ # The variable is set, but is it from the command line or the environment?
+
+ # Try to remove the string !BUILD_LD! from our list.
+ try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!BUILD_LD!/}
+ if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+ # If it failed, the variable was not from the command line. Ignore it,
+ # but warn the user (except for BASH, which is always set by the calling BASH).
+ if test "xBUILD_LD" != xBASH; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of BUILD_LD from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of BUILD_LD from the environment. Use command line variables instead." >&2;}
+ fi
+ # Try to locate tool using the code snippet
+ for ac_prog in ld
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $BUILD_LD in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_BUILD_LD="$BUILD_LD" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_BUILD_LD="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+BUILD_LD=$ac_cv_path_BUILD_LD
+if test -n "$BUILD_LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_LD" >&5
+$as_echo "$BUILD_LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$BUILD_LD" && break
+done
+
+ else
+ # If it succeeded, then it was overridden by the user. We will use it
+ # for the tool.
+
+ # First remove it from the list of overridden variables, so we can test
+ # for unknown variables in the end.
+ CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+ # Check if the provided tool contains a complete path.
+ tool_specified="$BUILD_LD"
+ tool_basename="${tool_specified##*/}"
+ if test "x$tool_basename" = "x$tool_specified"; then
+ # A command without a complete path is provided, search $PATH.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool BUILD_LD=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool BUILD_LD=$tool_basename" >&6;}
+ # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BUILD_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $BUILD_LD in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_BUILD_LD="$BUILD_LD" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_BUILD_LD="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+BUILD_LD=$ac_cv_path_BUILD_LD
+if test -n "$BUILD_LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BUILD_LD" >&5
+$as_echo "$BUILD_LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "x$BUILD_LD" = x; then
+ as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+ fi
+ else
+ # Otherwise we believe it is a complete path. Use it as it is.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool BUILD_LD=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool BUILD_LD=$tool_specified" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BUILD_LD" >&5
+$as_echo_n "checking for BUILD_LD... " >&6; }
+ if test ! -x "$tool_specified"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ as_fn_error $? "User supplied tool BUILD_LD=$tool_specified does not exist or is not executable" "$LINENO" 5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+ fi
+ fi
+ fi
+
+
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$BUILD_LD"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path=`$CYGPATH -u "$path"`
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path=`$CYGPATH -u "$path"`
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+ # bat and cmd files are not always considered executable in cygwin causing which
+ # to not find them
+ if test "x$new_path" = x \
+ && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \
+ && test "x`$LS \"$path\" 2>/dev/null`" != x; then
+ new_path=`$CYGPATH -u "$path"`
+ fi
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of BUILD_LD" "$LINENO" 5
+ fi
+ fi
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file presence.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ # Short path failed, file does not exist as specified.
+ # Try adding .exe or .cmd
+ if test -f "${new_path}.exe"; then
+ input_to_shortpath="${new_path}.exe"
+ elif test -f "${new_path}.cmd"; then
+ input_to_shortpath="${new_path}.cmd"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$new_path\", is invalid." >&5
+$as_echo "$as_me: The path of BUILD_LD, which resolves as \"$new_path\", is invalid." >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5
+$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;}
+ as_fn_error $? "Cannot locate the the path of BUILD_LD" "$LINENO" 5
+ fi
+ else
+ input_to_shortpath="$new_path"
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+ new_path="$input_to_shortpath"
+
+ input_path="$input_to_shortpath"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$BUILD_LD"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ # Now try to locate executable using which
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # Oops. Which didn't find the executable.
+ # The splitting of arguments from the executable at a space might have been incorrect,
+ # since paths with space are more likely in Windows. Give it another try with the whole
+ # argument.
+ path="$complete"
+ arguments="EOL"
+ new_path="$path"
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+
+ new_path=`$WHICH "$new_path" 2> /dev/null`
+
+ if test "x$new_path" = x; then
+ # It's still not found. Now this is an unrecoverable error.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5
+$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of BUILD_LD" "$LINENO" 5
+ fi
+ fi
+
+ # Now new_path has a complete unix path to the binary
+ if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then
+ # Keep paths in /bin as-is, but remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+ # Do not save /bin paths to all_fixpath_prefixes!
+ else
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $new_path`
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+ # Output is in $new_path
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ # remove trailing .exe if any
+ new_path="${new_path/%.exe/}"
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+ fi
+
+ else
+ # We're on a posix platform. Hooray! :)
+ # First separate the path from the arguments. This will split at the first
+ # space.
+ complete="$BUILD_LD"
+ path="${complete%% *}"
+ tmp="$complete EOL"
+ arguments="${tmp#* }"
+
+ # Cannot rely on the command "which" here since it doesn't always work.
+ is_absolute_path=`$ECHO "$path" | $GREP ^/`
+ if test -z "$is_absolute_path"; then
+ # Path to executable is not absolute. Find it.
+ IFS_save="$IFS"
+ IFS=:
+ for p in $PATH; do
+ if test -f "$p/$path" && test -x "$p/$path"; then
+ new_path="$p/$path"
+ break
+ fi
+ done
+ IFS="$IFS_save"
+ else
+ # This is an absolute path, we can use it without further modifications.
+ new_path="$path"
+ fi
+
+ if test "x$new_path" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&5
+$as_echo "$as_me: The path of BUILD_LD, which resolves as \"$complete\", is not found." >&6;}
+ has_space=`$ECHO "$complete" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5
+$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;}
+ fi
+ as_fn_error $? "Cannot locate the the path of BUILD_LD" "$LINENO" 5
+ fi
+ fi
+
+ # Now join together the path and the arguments once again
+ if test "x$arguments" != xEOL; then
+ new_complete="$new_path ${arguments% *}"
+ else
+ new_complete="$new_path"
+ fi
+
+ if test "x$complete" != "x$new_complete"; then
+ BUILD_LD="$new_complete"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting BUILD_LD to \"$new_complete\"" >&5
+$as_echo "$as_me: Rewriting BUILD_LD to \"$new_complete\"" >&6;}
+ fi
+
+ else
+ # If we are not cross compiling, use the normal target compilers for
+ # building the build platform executables.
+ BUILD_CC="$CC"
+ BUILD_CXX="$CXX"
+ BUILD_LD="$LD"
+ fi
+
+
+
+
+
+
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # For hotspot, we need these in Windows mixed path,
+ # so rewrite them all. Need added .exe suffix.
+ HOTSPOT_CXX="$CXX.exe"
+ HOTSPOT_LD="$LD.exe"
+ HOTSPOT_MT="$MT.exe"
+ HOTSPOT_RC="$RC.exe"
+
+ unix_path="$HOTSPOT_CXX"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ windows_path=`$CYGPATH -m "$unix_path"`
+ HOTSPOT_CXX="$windows_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ windows_path=`cmd //c echo $unix_path`
+ HOTSPOT_CXX="$windows_path"
+ fi
+
+
+ unix_path="$HOTSPOT_LD"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ windows_path=`$CYGPATH -m "$unix_path"`
+ HOTSPOT_LD="$windows_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ windows_path=`cmd //c echo $unix_path`
+ HOTSPOT_LD="$windows_path"
+ fi
+
+
+ unix_path="$HOTSPOT_MT"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ windows_path=`$CYGPATH -m "$unix_path"`
+ HOTSPOT_MT="$windows_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ windows_path=`cmd //c echo $unix_path`
+ HOTSPOT_MT="$windows_path"
+ fi
+
+
+ unix_path="$HOTSPOT_RC"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ windows_path=`$CYGPATH -m "$unix_path"`
+ HOTSPOT_RC="$windows_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ windows_path=`cmd //c echo $unix_path`
+ HOTSPOT_RC="$windows_path"
+ fi
+
+
+
+ else
+ HOTSPOT_CXX="$CXX"
+ HOTSPOT_LD="$LD"
+ fi
+
+
+
+ if test "x$TOOLCHAIN_TYPE" = xclang; then
+ USE_CLANG=true
+ fi
+
+
+ # LDEXE is the linker to use, when creating executables. Not really used.
+ # FIXME: These should just be removed!
+ LDEXE="$LD"
+ LDEXECXX="$LDCXX"
+
+
+
+
+ # The package path is used only on macosx?
+ # FIXME: clean this up, and/or move it elsewhere.
+ PACKAGE_PATH=/opt/local
+
+
+ # Check for extra potential brokenness.
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # On Windows, double-check that we got the right compiler.
+ CC_VERSION_OUTPUT=`$CC 2>&1 | $HEAD -n 1 | $TR -d '\r'`
+ COMPILER_CPU_TEST=`$ECHO $CC_VERSION_OUTPUT | $SED -n "s/^.* \(.*\)$/\1/p"`
+ if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
+ if test "x$COMPILER_CPU_TEST" != "x80x86"; then
+ as_fn_error $? "Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for \"$COMPILER_CPU_TEST\"; expected \"80x86\"." "$LINENO" 5
+ fi
+ elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
+ if test "x$COMPILER_CPU_TEST" != "xx64"; then
+ as_fn_error $? "Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for \"$COMPILER_CPU_TEST\"; expected \"x64\"." "$LINENO" 5
+ fi
+ fi
+ fi
+
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # If this is a --hash-style=gnu system, use --hash-style=both, why?
+ HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'`
+ # This is later checked when setting flags.
+ fi
+
+ # Check for broken SuSE 'ld' for which 'Only anonymous version tag is allowed
+ # in executable.'
+ USING_BROKEN_SUSE_LD=no
+ if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$TOOLCHAIN_TYPE" = xgcc; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken SuSE 'ld' which only understands anonymous version tags in executables" >&5
+$as_echo_n "checking for broken SuSE 'ld' which only understands anonymous version tags in executables... " >&6; }
+ echo "SUNWprivate_1.1 { local: *; };" > version-script.map
+ echo "int main() { }" > main.c
+ if $CXX -Xlinker -version-script=version-script.map main.c 2>&5 >&5; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ USING_BROKEN_SUSE_LD=no
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ USING_BROKEN_SUSE_LD=yes
+ fi
+ rm -rf version-script.map main.c a.out
+ fi
+
+
+
+# Setup the JTReg Regression Test Harness.
+
+
+# Check whether --with-jtreg was given.
+if test "${with_jtreg+set}" = set; then :
+ withval=$with_jtreg;
+else
+ with_jtreg=no
+fi
+
+
+ if test "x$with_jtreg" = xno; then
+ # jtreg disabled
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jtreg" >&5
+$as_echo_n "checking for jtreg... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else
+ if test "x$with_jtreg" != xyes; then
+ # with path specified.
+ JT_HOME="$with_jtreg"
+ fi
+
+ if test "x$JT_HOME" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jtreg" >&5
+$as_echo_n "checking for jtreg... " >&6; }
+
+ # use JT_HOME enviroment var.
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ path="$JT_HOME"
+ new_path=`$CYGPATH -u "$path"`
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file precense.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JT_HOME, which resolves as \"$path\", is invalid." >&5
+$as_echo "$as_me: The path of JT_HOME, which resolves as \"$path\", is invalid." >&6;}
+ as_fn_error $? "Cannot locate the the path of JT_HOME" "$LINENO" 5
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+
+ if test "x$path" != "x$new_path"; then
+ JT_HOME="$new_path"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting JT_HOME to \"$new_path\"" >&5
+$as_echo "$as_me: Rewriting JT_HOME to \"$new_path\"" >&6;}
+ fi
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ path="$JT_HOME"
+ has_colon=`$ECHO $path | $GREP ^.:`
+ new_path="$path"
+ if test "x$has_colon" = x; then
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $path`
+ fi
+
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ if test "x$path" != "x$new_path"; then
+ JT_HOME="$new_path"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting JT_HOME to \"$new_path\"" >&5
+$as_echo "$as_me: Rewriting JT_HOME to \"$new_path\"" >&6;}
+ fi
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+
+ else
+ # We're on a posix platform. Hooray! :)
+ path="$JT_HOME"
+ has_space=`$ECHO "$path" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JT_HOME, which resolves as \"$path\", is invalid." >&5
+$as_echo "$as_me: The path of JT_HOME, which resolves as \"$path\", is invalid." >&6;}
+ as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
+ fi
+
+ # Use eval to expand a potential ~
+ eval path="$path"
+ if test ! -f "$path" && test ! -d "$path"; then
+ as_fn_error $? "The path of JT_HOME, which resolves as \"$path\", is not found." "$LINENO" 5
+ fi
+
+ JT_HOME="`cd "$path"; $THEPWDCMD -L`"
+ fi
+
+
+ # jtreg win32 script works for everybody
+ JTREGEXE="$JT_HOME/win32/bin/jtreg"
+
+ if test ! -f "$JTREGEXE"; then
+ as_fn_error $? "JTReg executable does not exist: $JTREGEXE" "$LINENO" 5
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JTREGEXE" >&5
+$as_echo "$JTREGEXE" >&6; }
+ else
+ # try to find jtreg on path
+
+
+
+ # Publish this variable in the help.
+
+
+ if test "x$JTREGEXE" = x; then
+ # The variable is not set by user, try to locate tool using the code snippet
+ for ac_prog in jtreg
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_JTREGEXE+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $JTREGEXE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_JTREGEXE="$JTREGEXE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_JTREGEXE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+JTREGEXE=$ac_cv_path_JTREGEXE
+if test -n "$JTREGEXE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JTREGEXE" >&5
+$as_echo "$JTREGEXE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$JTREGEXE" && break
+done
+
+ else
+ # The variable is set, but is it from the command line or the environment?
+
+ # Try to remove the string !JTREGEXE! from our list.
+ try_remove_var=${CONFIGURE_OVERRIDDEN_VARIABLES//!JTREGEXE!/}
+ if test "x$try_remove_var" = "x$CONFIGURE_OVERRIDDEN_VARIABLES"; then
+ # If it failed, the variable was not from the command line. Ignore it,
+ # but warn the user (except for BASH, which is always set by the calling BASH).
+ if test "xJTREGEXE" != xBASH; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring value of JTREGEXE from the environment. Use command line variables instead." >&5
+$as_echo "$as_me: WARNING: Ignoring value of JTREGEXE from the environment. Use command line variables instead." >&2;}
+ fi
+ # Try to locate tool using the code snippet
+ for ac_prog in jtreg
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_JTREGEXE+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $JTREGEXE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_JTREGEXE="$JTREGEXE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_JTREGEXE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+JTREGEXE=$ac_cv_path_JTREGEXE
+if test -n "$JTREGEXE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JTREGEXE" >&5
+$as_echo "$JTREGEXE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$JTREGEXE" && break
+done
+
+ else
+ # If it succeeded, then it was overridden by the user. We will use it
+ # for the tool.
+
+ # First remove it from the list of overridden variables, so we can test
+ # for unknown variables in the end.
+ CONFIGURE_OVERRIDDEN_VARIABLES="$try_remove_var"
+
+ # Check if the provided tool contains a complete path.
+ tool_specified="$JTREGEXE"
+ tool_basename="${tool_specified##*/}"
+ if test "x$tool_basename" = "x$tool_specified"; then
+ # A command without a complete path is provided, search $PATH.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will search for user supplied tool JTREGEXE=$tool_basename" >&5
+$as_echo "$as_me: Will search for user supplied tool JTREGEXE=$tool_basename" >&6;}
+ # Extract the first word of "$tool_basename", so it can be a program name with args.
+set dummy $tool_basename; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_JTREGEXE+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $JTREGEXE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_JTREGEXE="$JTREGEXE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_JTREGEXE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+JTREGEXE=$ac_cv_path_JTREGEXE
+if test -n "$JTREGEXE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JTREGEXE" >&5
+$as_echo "$JTREGEXE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test "x$JTREGEXE" = x; then
+ as_fn_error $? "User supplied tool $tool_basename could not be found" "$LINENO" 5
+ fi
+ else
+ # Otherwise we believe it is a complete path. Use it as it is.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Will use user supplied tool JTREGEXE=$tool_specified" >&5
+$as_echo "$as_me: Will use user supplied tool JTREGEXE=$tool_specified" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for JTREGEXE" >&5
+$as_echo_n "checking for JTREGEXE... " >&6; }
+ if test ! -x "$tool_specified"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ as_fn_error $? "User supplied tool JTREGEXE=$tool_specified does not exist or is not executable" "$LINENO" 5
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $tool_specified" >&5
+$as_echo "$tool_specified" >&6; }
+ fi
+ fi
+ fi
+
+
+
+ if test "x$JTREGEXE" = x; then
+ as_fn_error $? "Could not find required tool for JTREGEXE" "$LINENO" 5
+ fi
+
+
+ JT_HOME="`$DIRNAME $JTREGEXE`"
+ fi
+ fi
+
+
+
+
+
+
+ # Option used to tell the compiler whether to create 32- or 64-bit executables
+ if test "x$TOOLCHAIN_TYPE" = xxlc; then
+ COMPILER_TARGET_BITS_FLAG="-q"
+ else
+ COMPILER_TARGET_BITS_FLAG="-m"
+ fi
+
+
+ # FIXME: figure out if we should select AR flags depending on OS or toolchain.
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ ARFLAGS="-r"
+ elif test "x$OPENJDK_TARGET_OS" = xaix; then
+ ARFLAGS="-X64"
+ elif test "x$OPENJDK_TARGET_OS" = xwindows; then
+ # lib.exe is used as AR to create static libraries.
+ ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT"
+ else
+ ARFLAGS=""
+ fi
+
+
+ ## Setup strip.
+ # FIXME: should this really be per platform, or should it be per toolchain type?
+ # strip is not provided by clang or solstudio; so guessing platform makes most sense.
+ # FIXME: we should really only export STRIPFLAGS from here, not POST_STRIP_CMD.
+ if test "x$OPENJDK_TARGET_OS" = xlinux; then
+ STRIPFLAGS="-g"
+ elif test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ STRIPFLAGS="-x"
+ elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ STRIPFLAGS="-S"
+ elif test "x$OPENJDK_TARGET_OS" = xaix; then
+ STRIPFLAGS="-X32_64"
+ fi
+
+ if test "x$OPENJDK_TARGET_OS" != xwindows; then
+ POST_STRIP_CMD="$STRIP $STRIPFLAGS"
+ fi
+
+
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ # FIXME: break out into MCSFLAGS
+ POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
+ fi
+
+
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ CC_OUT_OPTION=-Fo
+ EXE_OUT_OPTION=-out:
+ LD_OUT_OPTION=-out:
+ AR_OUT_OPTION=-out:
+ else
+ # The option used to specify the target .o,.a or .so file.
+ # When compiling, how to specify the to be created object file.
+ CC_OUT_OPTION='-o$(SPACE)'
+ # When linking, how to specify the to be created executable.
+ EXE_OUT_OPTION='-o$(SPACE)'
+ # When linking, how to specify the to be created dynamically linkable library.
+ LD_OUT_OPTION='-o$(SPACE)'
+ # When archiving, how to specify the to be create static archive for object files.
+ AR_OUT_OPTION='rcs$(SPACE)'
+ fi
+
+
+
+
+
+ # On Windows, we need to set RC flags.
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ RC_FLAGS="-nologo -l 0x409 -r"
+ if test "x$VARIANT" = xOPT; then
+ RC_FLAGS="$RC_FLAGS -d NDEBUG"
+ fi
+
+ # The version variables used to create RC_FLAGS may be overridden
+ # in a custom configure script, or possibly the command line.
+ # Let those variables be expanded at make time in spec.gmk.
+ # The \$ are escaped to the shell, and the $(...) variables
+ # are evaluated by make.
+ RC_FLAGS="$RC_FLAGS \
+ -d \"JDK_BUILD_ID=\$(FULL_VERSION)\" \
+ -d \"JDK_COMPANY=\$(COMPANY_NAME)\" \
+ -d \"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
+ -d \"JDK_VER=\$(JDK_MINOR_VERSION).\$(JDK_MICRO_VERSION).\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0).\$(COOKED_BUILD_NUMBER)\" \
+ -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
+ -d \"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(JDK_MINOR_VERSION) \$(JDK_UPDATE_META_TAG)\" \
+ -d \"JDK_FVER=\$(JDK_MINOR_VERSION),\$(JDK_MICRO_VERSION),\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0),\$(COOKED_BUILD_NUMBER)\""
+ fi
+
+
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # FIXME: likely bug, should be CCXXFLAGS_JDK? or one for C or CXX.
+ CCXXFLAGS="$CCXXFLAGS -nologo"
+ fi
+
+
+# FIXME: Currently we must test this after toolchain but before flags. Fix!
+
+# Now we can test some aspects on the target using configure macros.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
@@ -41468,114 +41211,58 @@
# Configure flags for the tools
-
###############################################################################
#
# How to compile shared libraries.
#
- if test "x$GCC" = xyes; then
- COMPILER_NAME=gcc
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
PICFLAG="-fPIC"
- LIBRARY_PREFIX=lib
- SHARED_LIBRARY='lib$1.so'
- STATIC_LIBRARY='lib$1.a'
- SHARED_LIBRARY_FLAGS="-shared"
- SHARED_LIBRARY_SUFFIX='.so'
- STATIC_LIBRARY_SUFFIX='.a'
- OBJ_SUFFIX='.o'
- EXE_SUFFIX=''
- SET_SHARED_LIBRARY_NAME='-Xlinker -soname=$1'
- SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=$1'
C_FLAG_REORDER=''
CXX_FLAG_REORDER=''
- SET_SHARED_LIBRARY_ORIGIN='-Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$$$ORIGIN$1'
- SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker \$$$$ORIGIN$1'
- LD="$CC"
- LDEXE="$CC"
- LDCXX="$CXX"
- LDEXECXX="$CXX"
- POST_STRIP_CMD="$STRIP -g"
- # Linking is different on MacOSX
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
- # Might change in the future to clang.
- COMPILER_NAME=gcc
- SHARED_LIBRARY='lib$1.dylib'
+ # Linking is different on MacOSX
SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
- SHARED_LIBRARY_SUFFIX='.dylib'
- EXE_SUFFIX=''
+ SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
+ SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/$1'
SET_SHARED_LIBRARY_MAPFILE=''
- SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
- SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
- POST_STRIP_CMD="$STRIP -S"
+ else
+ # Default works for linux, might work on other platforms as well.
+ SHARED_LIBRARY_FLAGS='-shared'
+ SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker \$$$$ORIGIN$1'
+ SET_SHARED_LIBRARY_ORIGIN="-Xlinker -z -Xlinker origin $SET_EXECUTABLE_ORIGIN"
+ SET_SHARED_LIBRARY_NAME='-Xlinker -soname=$1'
+ SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=$1'
fi
- else
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler
- COMPILER_NAME=ossc
- PICFLAG="-KPIC"
- LIBRARY_PREFIX=lib
- SHARED_LIBRARY='lib$1.so'
- STATIC_LIBRARY='lib$1.a'
- SHARED_LIBRARY_FLAGS="-G"
- SHARED_LIBRARY_SUFFIX='.so'
- STATIC_LIBRARY_SUFFIX='.a'
- OBJ_SUFFIX='.o'
- EXE_SUFFIX=''
- SET_SHARED_LIBRARY_NAME=''
- SET_SHARED_LIBRARY_MAPFILE='-M$1'
- C_FLAG_REORDER='-xF'
- CXX_FLAG_REORDER='-xF'
- SET_SHARED_LIBRARY_ORIGIN='-R\$$$$ORIGIN$1'
- SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
- CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
- CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
- CFLAGS_JDKLIB_EXTRA='-xstrconst'
- POST_STRIP_CMD="$STRIP -x"
- POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
- fi
- if test "x$OPENJDK_TARGET_OS" = xaix; then
- COMPILER_NAME=xlc
- PICFLAG="-qpic=large"
- LIBRARY_PREFIX=lib
- SHARED_LIBRARY='lib$1.so'
- STATIC_LIBRARY='lib$1.a'
- SHARED_LIBRARY_FLAGS="-qmkshrobj"
- SHARED_LIBRARY_SUFFIX='.so'
- STATIC_LIBRARY_SUFFIX='.a'
- OBJ_SUFFIX='.o'
- EXE_SUFFIX=''
- SET_SHARED_LIBRARY_NAME=''
- SET_SHARED_LIBRARY_MAPFILE=''
- C_FLAG_REORDER=''
- CXX_FLAG_REORDER=''
- SET_SHARED_LIBRARY_ORIGIN=''
- SET_EXECUTABLE_ORIGIN=""
- CFLAGS_JDK=""
- CXXFLAGS_JDK=""
- CFLAGS_JDKLIB_EXTRA=''
- POST_STRIP_CMD="$STRIP -X32_64"
- POST_MCS_CMD=""
- fi
- if test "x$OPENJDK_TARGET_OS" = xwindows; then
- # If it is not gcc, then assume it is the MS Visual Studio compiler
- COMPILER_NAME=cl
- PICFLAG=""
- LIBRARY_PREFIX=
- SHARED_LIBRARY='$1.dll'
- STATIC_LIBRARY='$1.lib'
- SHARED_LIBRARY_FLAGS="-LD"
- SHARED_LIBRARY_SUFFIX='.dll'
- STATIC_LIBRARY_SUFFIX='.lib'
- OBJ_SUFFIX='.obj'
- EXE_SUFFIX='.exe'
- SET_SHARED_LIBRARY_NAME=''
- SET_SHARED_LIBRARY_MAPFILE=''
- SET_SHARED_LIBRARY_ORIGIN=''
- SET_EXECUTABLE_ORIGIN=''
- fi
+ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ PICFLAG="-KPIC"
+ C_FLAG_REORDER='-xF'
+ CXX_FLAG_REORDER='-xF'
+ SHARED_LIBRARY_FLAGS="-G"
+ SET_EXECUTABLE_ORIGIN='-R\$$$$ORIGIN$1'
+ SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
+ SET_SHARED_LIBRARY_NAME=''
+ SET_SHARED_LIBRARY_MAPFILE='-M$1'
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ PICFLAG="-qpic=large"
+ C_FLAG_REORDER=''
+ CXX_FLAG_REORDER=''
+ SHARED_LIBRARY_FLAGS="-qmkshrobj"
+ SET_EXECUTABLE_ORIGIN=""
+ SET_SHARED_LIBRARY_ORIGIN=''
+ SET_SHARED_LIBRARY_NAME=''
+ SET_SHARED_LIBRARY_MAPFILE=''
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ PICFLAG=""
+ C_FLAG_REORDER=''
+ CXX_FLAG_REORDER=''
+ SHARED_LIBRARY_FLAGS="-LD"
+ SET_EXECUTABLE_ORIGIN=''
+ SET_SHARED_LIBRARY_ORIGIN=''
+ SET_SHARED_LIBRARY_NAME=''
+ SET_SHARED_LIBRARY_MAPFILE=''
fi
@@ -41586,16 +41273,11 @@
-
-
-
-
-
-
-
-
-
-
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
+ CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
+ CFLAGS_JDKLIB_EXTRA='-xstrconst'
+ fi
# The (cross) compiler is now configured, we can now test capabilities
# of the target platform.
@@ -41607,181 +41289,102 @@
# and different operating systems.
#
- #
- # NOTE: check for -mstackrealign needs to be below potential addition of -m32
- #
- if test "x$OPENJDK_TARGET_CPU_BITS" = x32 && test "x$OPENJDK_TARGET_OS" = xmacosx; then
- # On 32-bit MacOSX the OS requires C-entry points to be 16 byte aligned.
- # While waiting for a better solution, the current workaround is to use -mstackrealign.
- CFLAGS="$CFLAGS -mstackrealign"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if 32-bit compiler supports -mstackrealign" >&5
-$as_echo_n "checking if 32-bit compiler supports -mstackrealign... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int main() { return 0; }
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
+ # FIXME: this was indirectly the old default, but just inherited.
+ # if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # C_FLAG_DEPS="-MMD -MF"
+ # fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- as_fn_error $? "The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path." "$LINENO" 5
+ # Generate make dependency files
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ C_FLAG_DEPS="-MMD -MF"
+ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ C_FLAG_DEPS="-xMMD -xMF"
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ C_FLAG_DEPS="-qmakedep=gcc -MF"
+ fi
+ CXX_FLAG_DEPS="$C_FLAG_DEPS"
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+
+ # Debug symbols
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
+ CFLAGS_DEBUG_SYMBOLS="-g1"
+ CXXFLAGS_DEBUG_SYMBOLS="-g1"
+ else
+ CFLAGS_DEBUG_SYMBOLS="-g"
+ CXXFLAGS_DEBUG_SYMBOLS="-g"
+ fi
+ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ CFLAGS_DEBUG_SYMBOLS="-g -xs"
+ CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ CFLAGS_DEBUG_SYMBOLS="-g"
+ CXXFLAGS_DEBUG_SYMBOLS="-g"
fi
- C_FLAG_DEPS="-MMD -MF"
- CXX_FLAG_DEPS="-MMD -MF"
- case $COMPILER_TYPE in
- CC )
- case $COMPILER_NAME in
- gcc )
- case $OPENJDK_TARGET_OS in
- macosx )
- # On MacOSX we optimize for size, something
- # we should do for all platforms?
- C_O_FLAG_HI="-Os"
- C_O_FLAG_NORM="-Os"
- C_O_FLAG_NONE=""
- ;;
- *)
- C_O_FLAG_HI="-O3"
- C_O_FLAG_NORM="-O2"
- C_O_FLAG_NONE="-O0"
- ;;
- esac
- CXX_O_FLAG_HI="$C_O_FLAG_HI"
- CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
- CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
- CFLAGS_DEBUG_SYMBOLS="-g"
- CXXFLAGS_DEBUG_SYMBOLS="-g"
- if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
- CFLAGS_DEBUG_SYMBOLS="-g1"
- CXXFLAGS_DEBUG_SYMBOLS="-g1"
- fi
- ;;
- ossc )
- #
- # Forte has different names for this with their C++ compiler...
- #
- C_FLAG_DEPS="-xMMD -xMF"
- CXX_FLAG_DEPS="-xMMD -xMF"
- # Extra options used with HIGHEST
- #
- # WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
- # done with care, there are some assumptions below that need to
- # be understood about the use of pointers, and IEEE behavior.
- #
- # Use non-standard floating point mode (not IEEE 754)
- CC_HIGHEST="$CC_HIGHEST -fns"
- # Do some simplification of floating point arithmetic (not IEEE 754)
- CC_HIGHEST="$CC_HIGHEST -fsimple"
- # Use single precision floating point with 'float'
- CC_HIGHEST="$CC_HIGHEST -fsingle"
- # Assume memory references via basic pointer types do not alias
- # (Source with excessing pointer casting and data access with mixed
- # pointer types are not recommended)
- CC_HIGHEST="$CC_HIGHEST -xalias_level=basic"
- # Use intrinsic or inline versions for math/std functions
- # (If you expect perfect errno behavior, do not use this)
- CC_HIGHEST="$CC_HIGHEST -xbuiltin=%all"
- # Loop data dependency optimizations (need -xO3 or higher)
- CC_HIGHEST="$CC_HIGHEST -xdepend"
- # Pointer parameters to functions do not overlap
- # (Similar to -xalias_level=basic usage, but less obvious sometimes.
- # If you pass in multiple pointers to the same data, do not use this)
- CC_HIGHEST="$CC_HIGHEST -xrestrict"
- # Inline some library routines
- # (If you expect perfect errno behavior, do not use this)
- CC_HIGHEST="$CC_HIGHEST -xlibmil"
- # Use optimized math routines
- # (If you expect perfect errno behavior, do not use this)
- # Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
- #CC_HIGHEST="$CC_HIGHEST -xlibmopt"
+ # Optimization levels
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ CC_HIGHEST="$CC_HIGHEST -fns -fsimple -fsingle -xbuiltin=%all -xdepend -xrestrict -xlibmil"
- if test "x$OPENJDK_TARGET_CPU" = xsparc; then
- CFLAGS_JDK="${CFLAGS_JDK} -xmemalign=4s"
- CXXFLAGS_JDK="${CXXFLAGS_JDK} -xmemalign=4s"
- fi
-
- case $OPENJDK_TARGET_CPU_ARCH in
- x86)
- C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xregs=no%frameptr"
- C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
- C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
- C_O_FLAG_NONE="-xregs=no%frameptr"
- CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
- CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
- CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"
- CXX_O_FLAG_NONE="-xregs=no%frameptr"
- if test "x$OPENJDK_TARGET_CPU" = xx86; then
- C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xchip=pentium"
- CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HIGHEST -xchip=pentium"
- fi
- ;;
- sparc)
- CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
- CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
- C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
- C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
- C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
- C_O_FLAG_NONE=""
- CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
- CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
- CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
- CXX_O_FLAG_NONE=""
- ;;
- esac
-
- CFLAGS_DEBUG_SYMBOLS="-g -xs"
- CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
- ;;
- xlc )
- C_FLAG_DEPS="-qmakedep=gcc -MF"
- CXX_FLAG_DEPS="-qmakedep=gcc -MF"
- C_O_FLAG_HIGHEST="-O3"
- C_O_FLAG_HI="-O3 -qstrict"
- C_O_FLAG_NORM="-O2"
- C_O_FLAG_NONE=""
- CXX_O_FLAG_HIGHEST="-O3"
- CXX_O_FLAG_HI="-O3 -qstrict"
- CXX_O_FLAG_NORM="-O2"
- CXX_O_FLAG_NONE=""
- CFLAGS_DEBUG_SYMBOLS="-g"
- CXXFLAGS_DEBUG_SYMBOLS="-g"
- LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall"
- CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
- CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
- ;;
- esac
- ;;
- CL )
+ if test "x$OPENJDK_TARGET_CPU_ARCH" = "xx86"; then
+ # FIXME: seems we always set -xregs=no%frameptr; put it elsewhere more global?
+ C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xalias_level=basic -xregs=no%frameptr"
+ C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
+ C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
+ C_O_FLAG_NONE="-xregs=no%frameptr"
+ CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
+ CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
+ CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"
+ CXX_O_FLAG_NONE="-xregs=no%frameptr"
+ if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
+ C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xchip=pentium"
+ CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HIGHEST -xchip=pentium"
+ fi
+ elif test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then
+ C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 $CC_HIGHEST -xalias_level=basic -xprefetch=auto,explicit -xchip=ultra"
+ C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
+ C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
+ C_O_FLAG_NONE=""
+ CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
+ CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
+ CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
+ CXX_O_FLAG_NONE=""
+ fi
+ else
+ # The remaining toolchains share opt flags between CC and CXX;
+ # setup for C and duplicate afterwards.
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ # On MacOSX we optimize for size, something
+ # we should do for all platforms?
+ C_O_FLAG_HIGHEST="-Os"
+ C_O_FLAG_HI="-Os"
+ C_O_FLAG_NORM="-Os"
+ C_O_FLAG_NONE=""
+ else
+ C_O_FLAG_HIGHEST="-O3"
+ C_O_FLAG_HI="-O3"
+ C_O_FLAG_NORM="-O2"
+ C_O_FLAG_NONE="-O0"
+ fi
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ C_O_FLAG_HIGHEST="-O3"
+ C_O_FLAG_HI="-O3 -qstrict"
+ C_O_FLAG_NORM="-O2"
+ C_O_FLAG_NONE=""
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
C_O_FLAG_HIGHEST="-O2"
C_O_FLAG_HI="-O1"
C_O_FLAG_NORM="-O1"
C_O_FLAG_NONE="-Od"
- CXX_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST"
- CXX_O_FLAG_HI="$C_O_FLAG_HI"
- CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
- CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
- ;;
- esac
-
- if test -z "$C_O_FLAG_HIGHEST"; then
- C_O_FLAG_HIGHEST="$C_O_FLAG_HI"
- fi
-
- if test -z "$CXX_O_FLAG_HIGHEST"; then
- CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HI"
+ fi
+ CXX_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST"
+ CXX_O_FLAG_HI="$C_O_FLAG_HI"
+ CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
+ CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
fi
@@ -41794,8 +41397,17 @@
-
-
+ # Special extras...
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ if test "x$OPENJDK_TARGET_CPU_ARCH" = "xsparc"; then
+ CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
+ CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
+ fi
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall"
+ CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
+ CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
+ fi
if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&5
@@ -41851,62 +41463,49 @@
# Now setup the CFLAGS and LDFLAGS for the JDK build.
# Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build.
#
- case $COMPILER_NAME in
- gcc )
- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
- -pipe \
- -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
- case $OPENJDK_TARGET_CPU_ARCH in
- arm )
- # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
- CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
- ;;
- ppc )
- # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
- ;;
- * )
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
- CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
- ;;
- esac
- ;;
- ossc )
- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
- case $OPENJDK_TARGET_CPU_ARCH in
- x86 )
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB"
- CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE"
- ;;
- esac
- CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal"
- CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt -features=no%except -DCC_NOEX -norunpath -xnolib"
+ # Setup compiler/platform specific flags to CFLAGS_JDK,
+ # CXXFLAGS_JDK and CCXXFLAGS_JDK (common to C and CXX?)
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # these options are used for both C and C++ compiles
+ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \
+ -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
+ case $OPENJDK_TARGET_CPU_ARCH in
+ arm )
+ # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
+ CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
+ ;;
+ ppc )
+ # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
+ ;;
+ * )
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
+ CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
+ ;;
+ esac
+ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
+ if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB"
+ CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE"
+ fi
- LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
- LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
- ;;
- xlc )
- CFLAGS_JDK="$CFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
- CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
-
- LDFLAGS_JDK="$LDFLAGS_JDK"
- LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK"
- ;;
- cl )
- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
- -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
- -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
- -DWIN32 -DIAL"
- case $OPENJDK_TARGET_CPU in
- x86 )
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86"
- ;;
- x86_64 )
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64"
- ;;
- esac
- ;;
- esac
+ CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal"
+ CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt -features=no%except -DCC_NOEX -norunpath -xnolib"
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ CFLAGS_JDK="$CFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
+ CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
+ -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
+ -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
+ -DWIN32 -DIAL"
+ if test "x$OPENJDK_TARGET_CPU" = xx86_64; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64"
+ else
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86"
+ fi
+ fi
###############################################################################
@@ -41932,12 +41531,13 @@
;;
esac
+ # Setup LP64
CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
- # The package path is used only on macosx?
- PACKAGE_PATH=/opt/local
+ # Set some common defines. These works for all compilers, but assume
+ # -D is universally accepted.
-
+ # Setup endianness
if test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
# The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
# Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
@@ -41952,47 +41552,60 @@
else
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN"
fi
- if test "x$OPENJDK_TARGET_OS" = xlinux; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX"
- fi
- if test "x$OPENJDK_TARGET_OS" = xwindows; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DWINDOWS"
- fi
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS"
- fi
- if test "x$OPENJDK_TARGET_OS" = xaix; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DAIX -DPPC64"
- fi
- if test "x$OPENJDK_TARGET_OS" = xmacosx; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
- # Setting these parameters makes it an error to link to macosx APIs that are
- # newer than the given OS version and makes the linked binaries compatible even
- # if built on a newer version of the OS.
- # The expected format is X.Y.Z
- MACOSX_VERSION_MIN=10.7.0
- # The macro takes the version with no dots, ex: 1070
- # Let the flags variables get resolved in make for easier override on make
- # command line.
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
- LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
- fi
- if test "x$OPENJDK_TARGET_OS" = xbsd; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE"
- fi
+ # Setup target OS define. Use OS target name but in upper case.
+ OPENJDK_TARGET_OS_UPPERCASE=`$ECHO $OPENJDK_TARGET_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D$OPENJDK_TARGET_OS_UPPERCASE"
+
+ # Setup target CPU
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
+
+ # Setup debug/release defines
if test "x$DEBUG_LEVEL" = xrelease; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG"
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED"
- fi
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED"
+ fi
else
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG"
fi
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
+ # Setup release name
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'"
+
+ # Set some additional per-OS defines.
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
+ elif test "x$OPENJDK_TARGET_OS" = xaix; then
+ # FIXME: PPC64 should not be here.
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DPPC64"
+ elif test "x$OPENJDK_TARGET_OS" = xbsd; then
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_ALLBSD_SOURCE"
+ fi
+
+ # Additional macosx handling
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # FIXME: This needs to be exported in spec.gmk due to closed legacy code.
+ # FIXME: clean this up, and/or move it elsewhere.
+
+ # Setting these parameters makes it an error to link to macosx APIs that are
+ # newer than the given OS version and makes the linked binaries compatible
+ # even if built on a newer version of the OS.
+ # The expected format is X.Y.Z
+ MACOSX_VERSION_MIN=10.7.0
+
+
+ # The macro takes the version with no dots, ex: 1070
+ # Let the flags variables get resolved in make for easier override on make
+ # command line.
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
+ LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
+ fi
+ fi
+
+ # Setup some hard coded includes
CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
-I${JDK_OUTPUTDIR}/include \
-I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \
@@ -42009,6 +41622,13 @@
CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK"
CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK"
+
+
+
+
+
+ # Setup LDFLAGS et al.
+ #
# Now this is odd. The JDK native libraries have to link against libjvm.so
# On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
# Which should we link to? Are we lucky enough that the binary api to the libjvm.so library
@@ -42017,9 +41637,9 @@
# libraries will link to whatever is in memory. Yuck.
#
# Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh.
- if test "x$COMPILER_NAME" = xcl; then
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
LDFLAGS_JDK="$LDFLAGS_JDK -nologo -opt:ref -incremental:no"
- if test "x$OPENJDK_TARGET_CPU" = xx86; then
+ if test "x$OPENJDK_TARGET_CPU_BITS" = "x32"; then
LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
fi
# TODO: make -debug optional "--disable-full-debug-symbols"
@@ -42033,9 +41653,9 @@
fi
LDFLAGS_JDKEXE="${LDFLAGS_JDK} /STACK:$LDFLAGS_STACK_SIZE"
else
- if test "x$COMPILER_NAME" = xgcc; then
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
# If this is a --hash-style=gnu system, use --hash-style=both, why?
- HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'`
+ # We have previously set HAS_GNU_HASH if this is the case
if test -n "$HAS_GNU_HASH"; then
LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker --hash-style=both "
fi
@@ -42050,6 +41670,12 @@
fi
fi
fi
+
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
+ LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
+ fi
+
LDFLAGS_JDKLIB="${LDFLAGS_JDK} $SHARED_LIBRARY_FLAGS \
-L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}"
@@ -42068,7 +41694,7 @@
fi
LDFLAGS_JDKLIB_SUFFIX="-ljava -ljvm"
- if test "x$COMPILER_NAME" = xossc; then
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc"
fi
@@ -42085,13 +41711,6 @@
-
-
-
-
-
-
-
# Some Zero and Shark settings.
# ZERO_ARCHFLAG tells the compiler which mode to build for
case "${OPENJDK_TARGET_CPU}" in
@@ -42238,27 +41857,6 @@
- # Check for broken SuSE 'ld' for which 'Only anonymous version tag is allowed in executable.'
- USING_BROKEN_SUSE_LD=no
- if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$GCC" = xyes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken SuSE 'ld' which only understands anonymous version tags in executables" >&5
-$as_echo_n "checking for broken SuSE 'ld' which only understands anonymous version tags in executables... " >&6; }
- echo "SUNWprivate_1.1 { local: *; };" > version-script.map
- echo "int main() { }" > main.c
- if $CXX -Xlinker -version-script=version-script.map main.c 2>&5 >&5; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- USING_BROKEN_SUSE_LD=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- USING_BROKEN_SUSE_LD=yes
- fi
- rm -rf version-script.map main.c
- fi
-
-
-
# Setup debug symbols (need objcopy from the toolchain for that)
#
@@ -42324,8 +41922,6 @@
-
-
###############################################################################
#
# Check dependencies for external and internal libraries.
@@ -46758,7 +46354,7 @@
fi
if test "x${with_alsa}" != x; then
- ALSA_LIBS="-L${with_alsa}/lib -lalsa"
+ ALSA_LIBS="-L${with_alsa}/lib -lasound"
ALSA_CFLAGS="-I${with_alsa}/include"
ALSA_FOUND=yes
fi
@@ -46767,7 +46363,7 @@
ALSA_FOUND=yes
fi
if test "x${with_alsa_lib}" != x; then
- ALSA_LIBS="-L${with_alsa_lib} -lalsa"
+ ALSA_LIBS="-L${with_alsa_lib} -lasound"
ALSA_FOUND=yes
fi
if test "x$ALSA_FOUND" = xno; then
@@ -47751,18 +47347,469 @@
fi
# libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
- if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$LIBCXX" = x; then
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio && test "x$LIBCXX" = x; then
LIBCXX="/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1"
fi
# TODO better (platform agnostic) test
- if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$GCC" = xyes; then
+ if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$TOOLCHAIN_TYPE" = xgcc; then
LIBCXX="-lstdc++"
fi
+ if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+
+
+# Check whether --with-msvcr-dll was given.
+if test "${with_msvcr_dll+set}" = set; then :
+ withval=$with_msvcr_dll;
+fi
+
+
+ if test "x$with_msvcr_dll" != x; then
+ # If given explicitely by user, do not probe. If not present, fail directly.
+
+ POSSIBLE_MSVCR_DLL="$with_msvcr_dll"
+ METHOD="--with-msvcr-dll"
+ if test -e "$POSSIBLE_MSVCR_DLL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
+$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
+
+ # Need to check if the found msvcr is correct architecture
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
+$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
+ MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
+ if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
+ CORRECT_MSVCR_ARCH=386
+ else
+ CORRECT_MSVCR_ARCH=x86-64
+ fi
+ if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+ MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
+$as_echo_n "checking for msvcr100.dll... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
+$as_echo "$MSVCR_DLL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
+$as_echo "incorrect, ignoring" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
+$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
+ fi
+ fi
+
+ if test "x$MSVCR_DLL" = x; then
+ as_fn_error $? "Could not find a proper msvcr100.dll as specified by --with-msvcr-dll" "$LINENO" 5
+ fi
+ fi
+
+ if test "x$MSVCR_DLL" = x; then
+ # Probe: Using well-known location from Visual Studio 10.0
+ if test "x$VCINSTALLDIR" != x; then
+ CYGWIN_VC_INSTALL_DIR="$VCINSTALLDIR"
+
+ windows_path="$CYGWIN_VC_INSTALL_DIR"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ CYGWIN_VC_INSTALL_DIR="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ CYGWIN_VC_INSTALL_DIR="$unix_path"
+ fi
+
+ if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
+ POSSIBLE_MSVCR_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x64/Microsoft.VC100.CRT/msvcr100.dll"
+ else
+ POSSIBLE_MSVCR_DLL="$CYGWIN_VC_INSTALL_DIR/redist/x86/Microsoft.VC100.CRT/msvcr100.dll"
+ fi
+
+ POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ METHOD="well-known location in VCINSTALLDIR"
+ if test -e "$POSSIBLE_MSVCR_DLL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
+$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
+
+ # Need to check if the found msvcr is correct architecture
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
+$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
+ MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
+ if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
+ CORRECT_MSVCR_ARCH=386
+ else
+ CORRECT_MSVCR_ARCH=x86-64
+ fi
+ if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+ MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
+$as_echo_n "checking for msvcr100.dll... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
+$as_echo "$MSVCR_DLL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
+$as_echo "incorrect, ignoring" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
+$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
+ fi
+ fi
+
+ fi
+ fi
+
+ if test "x$MSVCR_DLL" = x; then
+ # Probe: Check in the Boot JDK directory.
+ POSSIBLE_MSVCR_DLL="$BOOT_JDK/bin/msvcr100.dll"
+
+ POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ METHOD="well-known location in Boot JDK"
+ if test -e "$POSSIBLE_MSVCR_DLL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
+$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
+
+ # Need to check if the found msvcr is correct architecture
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
+$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
+ MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
+ if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
+ CORRECT_MSVCR_ARCH=386
+ else
+ CORRECT_MSVCR_ARCH=x86-64
+ fi
+ if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+ MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
+$as_echo_n "checking for msvcr100.dll... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
+$as_echo "$MSVCR_DLL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
+$as_echo "incorrect, ignoring" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
+$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
+ fi
+ fi
+
+ fi
+
+ if test "x$MSVCR_DLL" = x; then
+ # Probe: Look in the Windows system32 directory
+ CYGWIN_SYSTEMROOT="$SYSTEMROOT"
+
+ windows_path="$CYGWIN_SYSTEMROOT"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ CYGWIN_SYSTEMROOT="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ CYGWIN_SYSTEMROOT="$unix_path"
+ fi
+
+ POSSIBLE_MSVCR_DLL="$CYGWIN_SYSTEMROOT/system32/msvcr100.dll"
+
+ POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ METHOD="well-known location in SYSTEMROOT"
+ if test -e "$POSSIBLE_MSVCR_DLL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
+$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
+
+ # Need to check if the found msvcr is correct architecture
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
+$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
+ MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
+ if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
+ CORRECT_MSVCR_ARCH=386
+ else
+ CORRECT_MSVCR_ARCH=x86-64
+ fi
+ if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+ MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
+$as_echo_n "checking for msvcr100.dll... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
+$as_echo "$MSVCR_DLL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
+$as_echo "incorrect, ignoring" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
+$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
+ fi
+ fi
+
+ fi
+
+ if test "x$MSVCR_DLL" = x; then
+ # Probe: If Visual Studio Express is installed, there is usually one with the debugger
+ if test "x$VS100COMNTOOLS" != x; then
+ CYGWIN_VS_TOOLS_DIR="$VS100COMNTOOLS/.."
+
+ windows_path="$CYGWIN_VS_TOOLS_DIR"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ CYGWIN_VS_TOOLS_DIR="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ CYGWIN_VS_TOOLS_DIR="$unix_path"
+ fi
+
+ if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
+ POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name msvcr100.dll | $GREP -i /x64/ | $HEAD --lines 1`
+ else
+ POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VS_TOOLS_DIR" -name msvcr100.dll | $GREP -i /x86/ | $HEAD --lines 1`
+ fi
+
+ POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ METHOD="search of VS100COMNTOOLS"
+ if test -e "$POSSIBLE_MSVCR_DLL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
+$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
+
+ # Need to check if the found msvcr is correct architecture
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
+$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
+ MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
+ if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
+ CORRECT_MSVCR_ARCH=386
+ else
+ CORRECT_MSVCR_ARCH=x86-64
+ fi
+ if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+ MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
+$as_echo_n "checking for msvcr100.dll... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
+$as_echo "$MSVCR_DLL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
+$as_echo "incorrect, ignoring" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
+$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
+ fi
+ fi
+
+ fi
+ fi
+
+ if test "x$MSVCR_DLL" = x; then
+ # Probe: Search wildly in the VCINSTALLDIR. We've probably lost by now.
+ # (This was the original behaviour; kept since it might turn up something)
+ if test "x$CYGWIN_VC_INSTALL_DIR" != x; then
+ if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
+ POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $GREP x64 | $HEAD --lines 1`
+ else
+ POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $GREP x86 | $GREP -v ia64 | $GREP -v x64 | $HEAD --lines 1`
+ if test "x$POSSIBLE_MSVCR_DLL" = x; then
+ # We're grasping at straws now...
+ POSSIBLE_MSVCR_DLL=`$FIND "$CYGWIN_VC_INSTALL_DIR" -name msvcr100.dll | $HEAD --lines 1`
+ fi
+ fi
+
+
+ POSSIBLE_MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ METHOD="search of VCINSTALLDIR"
+ if test -e "$POSSIBLE_MSVCR_DLL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&5
+$as_echo "$as_me: Found msvcr100.dll at $POSSIBLE_MSVCR_DLL using $METHOD" >&6;}
+
+ # Need to check if the found msvcr is correct architecture
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking found msvcr100.dll architecture" >&5
+$as_echo_n "checking found msvcr100.dll architecture... " >&6; }
+ MSVCR_DLL_FILETYPE=`$FILE -b "$POSSIBLE_MSVCR_DLL"`
+ if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
+ CORRECT_MSVCR_ARCH=386
+ else
+ CORRECT_MSVCR_ARCH=x86-64
+ fi
+ if $ECHO "$MSVCR_DLL_FILETYPE" | $GREP $CORRECT_MSVCR_ARCH 2>&1 > /dev/null; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+ MSVCR_DLL="$POSSIBLE_MSVCR_DLL"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
+$as_echo_n "checking for msvcr100.dll... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSVCR_DLL" >&5
+$as_echo "$MSVCR_DLL" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: incorrect, ignoring" >&5
+$as_echo "incorrect, ignoring" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&5
+$as_echo "$as_me: The file type of the located msvcr100.dll is $MSVCR_DLL_FILETYPE" >&6;}
+ fi
+ fi
+
+ fi
+ fi
+
+ if test "x$MSVCR_DLL" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for msvcr100.dll" >&5
+$as_echo_n "checking for msvcr100.dll... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ as_fn_error $? "Could not find msvcr100.dll. Please specify using --with-msvcr-dll." "$LINENO" 5
+ fi
+
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+
+ # Input might be given as Windows format, start by converting to
+ # unix format.
+ path="$MSVCR_DLL"
+ new_path=`$CYGPATH -u "$path"`
+
+ # Cygwin tries to hide some aspects of the Windows file system, such that binaries are
+ # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered
+ # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then
+ # "foo.exe" is OK but "foo" is an error.
+ #
+ # This test is therefore slightly more accurate than "test -f" to check for file precense.
+ # It is also a way to make sure we got the proper file name for the real test later on.
+ test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null`
+ if test "x$test_shortpath" = x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&5
+$as_echo "$as_me: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&6;}
+ as_fn_error $? "Cannot locate the the path of MSVCR_DLL" "$LINENO" 5
+ fi
+
+ # Call helper function which possibly converts this using DOS-style short mode.
+ # If so, the updated path is stored in $new_path.
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ shortmode_path=`$CYGPATH -s -m -a "$input_path"`
+ path_after_shortmode=`$CYGPATH -u "$shortmode_path"`
+ if test "x$path_after_shortmode" != "x$input_to_shortpath"; then
+ # Going to short mode and back again did indeed matter. Since short mode is
+ # case insensitive, let's make it lowercase to improve readability.
+ shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ # Now convert it back to Unix-stile (cygpath)
+ input_path=`$CYGPATH -u "$shortmode_path"`
+ new_path="$input_path"
+ fi
+ fi
+
+ test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/`
+ if test "x$test_cygdrive_prefix" = x; then
+ # As a simple fix, exclude /usr/bin since it's not a real path.
+ if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then
+ # The path is in a Cygwin special directory (e.g. /home). We need this converted to
+ # a path prefixed by /cygdrive for fixpath to work.
+ new_path="$CYGWIN_ROOT_PATH$input_path"
+ fi
+ fi
+
+
+ if test "x$path" != "x$new_path"; then
+ MSVCR_DLL="$new_path"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVCR_DLL to \"$new_path\"" >&5
+$as_echo "$as_me: Rewriting MSVCR_DLL to \"$new_path\"" >&6;}
+ fi
+
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+
+ path="$MSVCR_DLL"
+ has_colon=`$ECHO $path | $GREP ^.:`
+ new_path="$path"
+ if test "x$has_colon" = x; then
+ # Not in mixed or Windows style, start by that.
+ new_path=`cmd //c echo $path`
+ fi
+
+
+ input_path="$new_path"
+ # Check if we need to convert this using DOS-style short mode. If the path
+ # contains just simple characters, use it. Otherwise (spaces, weird characters),
+ # take no chances and rewrite it.
+ # Note: m4 eats our [], so we need to use [ and ] instead.
+ has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]`
+ if test "x$has_forbidden_chars" != x; then
+ # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \)
+ new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ fi
+
+
+ windows_path="$new_path"
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ unix_path=`$CYGPATH -u "$windows_path"`
+ new_path="$unix_path"
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'`
+ new_path="$unix_path"
+ fi
+
+ if test "x$path" != "x$new_path"; then
+ MSVCR_DLL="$new_path"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting MSVCR_DLL to \"$new_path\"" >&5
+$as_echo "$as_me: Rewriting MSVCR_DLL to \"$new_path\"" >&6;}
+ fi
+
+ # Save the first 10 bytes of this path to the storage, so fixpath can work.
+ all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}")
+
+ else
+ # We're on a posix platform. Hooray! :)
+ path="$MSVCR_DLL"
+ has_space=`$ECHO "$path" | $GREP " "`
+ if test "x$has_space" != x; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&5
+$as_echo "$as_me: The path of MSVCR_DLL, which resolves as \"$path\", is invalid." >&6;}
+ as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5
+ fi
+
+ # Use eval to expand a potential ~
+ eval path="$path"
+ if test ! -f "$path" && test ! -d "$path"; then
+ as_fn_error $? "The path of MSVCR_DLL, which resolves as \"$path\", is not found." "$LINENO" 5
+ fi
+
+ MSVCR_DLL="`cd "$path"; $THEPWDCMD -L`"
+ fi
+
+
+
+
+# Check whether --with-dxsdk was given.
+if test "${with_dxsdk+set}" = set; then :
+ withval=$with_dxsdk; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-dxsdk is deprecated and will be ignored." >&5
+$as_echo "$as_me: WARNING: Option --with-dxsdk is deprecated and will be ignored." >&2;}
+fi
+
+
+
+
+# Check whether --with-dxsdk-lib was given.
+if test "${with_dxsdk_lib+set}" = set; then :
+ withval=$with_dxsdk_lib; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-dxsdk-lib is deprecated and will be ignored." >&5
+$as_echo "$as_me: WARNING: Option --with-dxsdk-lib is deprecated and will be ignored." >&2;}
+fi
+
+
+
+
+# Check whether --with-dxsdk-include was given.
+if test "${with_dxsdk_include+set}" = set; then :
+ withval=$with_dxsdk_include; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Option --with-dxsdk-include is deprecated and will be ignored." >&5
+$as_echo "$as_me: WARNING: Option --with-dxsdk-include is deprecated and will be ignored." >&2;}
+fi
+
+
+ fi
+
+
###############################################################################
#
@@ -48190,7 +48237,7 @@
if test "x$ENABLE_PRECOMPH" = xyes; then
# Check that the compiler actually supports precomp headers.
- if test "x$GCC" = xyes; then
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that precompiled headers work" >&5
$as_echo_n "checking that precompiled headers work... " >&6; }
echo "int alfa();" > conftest.h
@@ -49101,7 +49148,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by OpenJDK $as_me jdk8, which was
+This file was extended by OpenJDK $as_me jdk9, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -49164,7 +49211,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-OpenJDK config.status jdk8
+OpenJDK config.status jdk9
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -49889,8 +49936,19 @@
printf "\n"
printf "====================================================\n"
- printf "A new configuration has been successfully created in\n"
- printf "$OUTPUT_ROOT\n"
+ if test "x$no_create" != "xyes"; then
+ if test "x$IS_RECONFIGURE" != "xyes"; then
+ printf "A new configuration has been successfully created in\n %s\n" "$OUTPUT_ROOT"
+ else
+ printf "The existing configuration has been successfully updated in\n %s\n" "$OUTPUT_ROOT"
+ fi
+ else
+ if test "x$IS_RECONFIGURE" != "xyes"; then
+ printf "A configuration has been successfully checked but not created\n"
+ else
+ printf "The existing configuration has been successfully checked in\n %s\n" "$OUTPUT_ROOT"
+ fi
+ fi
if test "x$CONFIGURE_COMMAND_LINE" != x; then
printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
else
@@ -49910,8 +49968,9 @@
printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
fi
printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
- printf "* C Compiler: $CC_VENDOR version $CC_VERSION (at $CC)\n"
- printf "* C++ Compiler: $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
+ printf "* Toolchain: $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)\n"
+ printf "* C Compiler: Version $CC_VERSION_NUMBER (at $CC)\n"
+ printf "* C++ Compiler: Version $CXX_VERSION_NUMBER (at $CXX)\n"
printf "\n"
printf "Build performance summary:\n"
@@ -49944,10 +50003,16 @@
printf "\n"
fi
- if test "x$IS_RECONFIGURE" = "xyes"; then
+ if test "x$IS_RECONFIGURE" = "xyes" && test "x$no_create" != "xyes"; then
printf "WARNING: The result of this configuration has overridden an older\n"
printf "configuration. You *should* run 'make clean' to make sure you get a\n"
printf "proper build. Failure to do so might result in strange build problems.\n"
printf "\n"
fi
+ if test "x$IS_RECONFIGURE" != "xyes" && test "x$no_create" = "xyes"; then
+ printf "WARNING: The result of this configuration was not saved.\n"
+ printf "You should run without '--no-create | -n' to create the configuration.\n"
+ printf "\n"
+ fi
+
diff --git a/common/autoconf/help.m4 b/common/autoconf/help.m4
index 89ecfbe..2cad8d6f 100644
--- a/common/autoconf/help.m4
+++ b/common/autoconf/help.m4
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -151,14 +151,46 @@
PKGHANDLER_COMMAND=""
}
+# This function will check if we're called from the "configure" wrapper while
+# printing --help. If so, we will print out additional information that can
+# only be extracted within the autoconf script, and then exit. This must be
+# called at the very beginning in configure.ac.
+AC_DEFUN_ONCE([HELP_PRINT_ADDITIONAL_HELP_AND_EXIT],
+[
+ if test "x$CONFIGURE_PRINT_TOOLCHAIN_LIST" != x; then
+ $PRINTF "The following toolchains are available as arguments to --with-toolchain-type.\n"
+ $PRINTF "Which are valid to use depends on the build platform.\n"
+ for toolchain in $VALID_TOOLCHAINS_all; do
+ # Use indirect variable referencing
+ toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
+ TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
+ $PRINTF " %-10s %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
+ done
+
+ # And now exit directly
+ exit 0
+ fi
+])
+
AC_DEFUN_ONCE([HELP_PRINT_SUMMARY_AND_WARNINGS],
[
# Finally output some useful information to the user
printf "\n"
printf "====================================================\n"
- printf "A new configuration has been successfully created in\n"
- printf "$OUTPUT_ROOT\n"
+ if test "x$no_create" != "xyes"; then
+ if test "x$IS_RECONFIGURE" != "xyes"; then
+ printf "A new configuration has been successfully created in\n %s\n" "$OUTPUT_ROOT"
+ else
+ printf "The existing configuration has been successfully updated in\n %s\n" "$OUTPUT_ROOT"
+ fi
+ else
+ if test "x$IS_RECONFIGURE" != "xyes"; then
+ printf "A configuration has been successfully checked but not created\n"
+ else
+ printf "The existing configuration has been successfully checked in\n %s\n" "$OUTPUT_ROOT"
+ fi
+ fi
if test "x$CONFIGURE_COMMAND_LINE" != x; then
printf "using configure arguments '$CONFIGURE_COMMAND_LINE'.\n"
else
@@ -178,8 +210,9 @@
printf "* Environment: $WINDOWS_ENV_VENDOR version $WINDOWS_ENV_VERSION (root at $WINDOWS_ENV_ROOT_PATH)\n"
fi
printf "* Boot JDK: $BOOT_JDK_VERSION (at $BOOT_JDK)\n"
- printf "* C Compiler: $CC_VENDOR version $CC_VERSION (at $CC)\n"
- printf "* C++ Compiler: $CXX_VENDOR version $CXX_VERSION (at $CXX)\n"
+ printf "* Toolchain: $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)\n"
+ printf "* C Compiler: Version $CC_VERSION_NUMBER (at $CC)\n"
+ printf "* C++ Compiler: Version $CXX_VERSION_NUMBER (at $CXX)\n"
printf "\n"
printf "Build performance summary:\n"
@@ -212,10 +245,16 @@
printf "\n"
fi
- if test "x$IS_RECONFIGURE" = "xyes"; then
+ if test "x$IS_RECONFIGURE" = "xyes" && test "x$no_create" != "xyes"; then
printf "WARNING: The result of this configuration has overridden an older\n"
printf "configuration. You *should* run 'make clean' to make sure you get a\n"
printf "proper build. Failure to do so might result in strange build problems.\n"
printf "\n"
fi
+
+ if test "x$IS_RECONFIGURE" != "xyes" && test "x$no_create" = "xyes"; then
+ printf "WARNING: The result of this configuration was not saved.\n"
+ printf "You should run without '--no-create | -n' to create the configuration.\n"
+ printf "\n"
+ fi
])
diff --git a/common/autoconf/hotspot-spec.gmk.in b/common/autoconf/hotspot-spec.gmk.in
index 25aca38..f7abdd4 100644
--- a/common/autoconf/hotspot-spec.gmk.in
+++ b/common/autoconf/hotspot-spec.gmk.in
@@ -102,6 +102,8 @@
# Control wether Hotspot runs Queens test after building
TEST_IN_BUILD=@TEST_IN_BUILD@
+USE_CLANG := @USE_CLANG@
+
# For hotspot, override compiler/tools definition to not include FIXPATH prefix.
# Hotspot has its own handling on the Windows path situation.
CXX:=@CCACHE@ @HOTSPOT_CXX@
diff --git a/common/autoconf/jdk-options.m4 b/common/autoconf/jdk-options.m4
index 095fa79..58d148f 100644
--- a/common/autoconf/jdk-options.m4
+++ b/common/autoconf/jdk-options.m4
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -332,6 +332,10 @@
fi
AC_SUBST(SET_OPENJDK)
+
+ # custom-make-dir is deprecated. Please use your custom-hook.m4 to override
+ # the IncludeCustomExtension macro.
+ BASIC_DEPRECATED_ARG_WITH(custom-make-dir)
])
AC_DEFUN_ONCE([JDKOPT_SETUP_JDK_OPTIONS],
@@ -426,6 +430,19 @@
###############################################################################
#
+ # --enable-rmiconnector-iiop
+ #
+ AC_ARG_ENABLE(rmiconnector-iiop, [AS_HELP_STRING([--enable-rmiconnector-iiop],
+ [enable the JMX RMIConnector iiop transport @<:@disabled@:>@])])
+ if test "x$enable_rmiconnector_iiop" = "xyes"; then
+ RMICONNECTOR_IIOP=true
+ else
+ RMICONNECTOR_IIOP=false
+ fi
+ AC_SUBST(RMICONNECTOR_IIOP)
+
+ ###############################################################################
+ #
# Compress jars
#
COMPRESS_JARS=false
@@ -469,7 +486,7 @@
fi
AC_ARG_WITH(user-release-suffix, [AS_HELP_STRING([--with-user-release-suffix],
- [Add a custom string to the version string if build number isn't set.@<:@username_builddateb00@:>@])])
+ [Add a custom string to the version string if build number is not set.@<:@username_builddateb00@:>@])])
if test "x$with_user_release_suffix" = xyes; then
AC_MSG_ERROR([Release suffix must have a value])
elif test "x$with_user_release_suffix" != x; then
@@ -589,14 +606,4 @@
AC_SUBST(ENABLE_DEBUG_SYMBOLS)
AC_SUBST(ZIP_DEBUGINFO_FILES)
- AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
- AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
])
-
-# Support for customization of the build process. Some build files
-# will include counterparts from this location, if they exist. This allows
-# for a degree of customization of the build targets and the rules/recipes
-# to create them
-AC_ARG_WITH([custom-make-dir], [AS_HELP_STRING([--with-custom-make-dir],
-[use this directory for custom build/make files])], [CUSTOM_MAKE_DIR=$with_custom_make_dir])
-AC_SUBST(CUSTOM_MAKE_DIR)
diff --git a/common/autoconf/libraries.m4 b/common/autoconf/libraries.m4
index fa96a03..685e9a9 100644
--- a/common/autoconf/libraries.m4
+++ b/common/autoconf/libraries.m4
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -562,7 +562,7 @@
fi
if test "x${with_alsa}" != x; then
- ALSA_LIBS="-L${with_alsa}/lib -lalsa"
+ ALSA_LIBS="-L${with_alsa}/lib -lasound"
ALSA_CFLAGS="-I${with_alsa}/include"
ALSA_FOUND=yes
fi
@@ -571,7 +571,7 @@
ALSA_FOUND=yes
fi
if test "x${with_alsa_lib}" != x; then
- ALSA_LIBS="-L${with_alsa_lib} -lalsa"
+ ALSA_LIBS="-L${with_alsa_lib} -lasound"
ALSA_FOUND=yes
fi
if test "x$ALSA_FOUND" = xno; then
@@ -876,14 +876,25 @@
fi
# libCrun is the c++ runtime-library with SunStudio (roughly the equivalent of gcc's libstdc++.so)
- if test "x$OPENJDK_TARGET_OS" = xsolaris && test "x$LIBCXX" = x; then
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio && test "x$LIBCXX" = x; then
LIBCXX="/usr/lib${OPENJDK_TARGET_CPU_ISADIR}/libCrun.so.1"
fi
# TODO better (platform agnostic) test
- if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$GCC" = xyes; then
+ if test "x$OPENJDK_TARGET_OS" = xmacosx && test "x$LIBCXX" = x && test "x$TOOLCHAIN_TYPE" = xgcc; then
LIBCXX="-lstdc++"
fi
AC_SUBST(LIBCXX)
])
+
+AC_DEFUN_ONCE([LIB_SETUP_ON_WINDOWS],
+[
+ if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
+ TOOLCHAIN_SETUP_MSVCR_DLL
+ BASIC_DEPRECATED_ARG_WITH([dxsdk])
+ BASIC_DEPRECATED_ARG_WITH([dxsdk-lib])
+ BASIC_DEPRECATED_ARG_WITH([dxsdk-include])
+ fi
+ AC_SUBST(MSVCR_DLL)
+])
diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in
index ee18cb1..81dc5a9 100644
--- a/common/autoconf/spec.gmk.in
+++ b/common/autoconf/spec.gmk.in
@@ -48,6 +48,9 @@
endef
+# The command line given to configure.
+CONFIGURE_COMMAND_LINE:=@CONFIGURE_COMMAND_LINE@
+
# A self-referential reference to this file.
SPEC:=@SPEC@
@@ -67,8 +70,8 @@
endif
# Specify where the common include directory for makefiles is.
-ifeq (,$(findstring -I @SRC_ROOT@/make/common,$(MAKE)))
- MAKE:=$(MAKE) -I @SRC_ROOT@/make/common
+ifeq (,$(findstring -I @TOPDIR@/make/common,$(MAKE)))
+ MAKE:=$(MAKE) -I @TOPDIR@/make/common
endif
# The "human readable" name of this configuration
@@ -133,10 +136,13 @@
SYS_ROOT:=@SYS_ROOT@
# Paths to the source code
-SRC_ROOT:=@SRC_ROOT@
ADD_SRC_ROOT:=@ADD_SRC_ROOT@
OVERRIDE_SRC_ROOT:=@OVERRIDE_SRC_ROOT@
-TOPDIR:=@SRC_ROOT@
+
+# The top-level directory of the forest (SRC_ROOT is a traditional alias)
+TOPDIR:=@TOPDIR@
+SRC_ROOT:=@TOPDIR@
+
OUTPUT_ROOT:=@OUTPUT_ROOT@
JDK_TOPDIR:=@JDK_TOPDIR@
LANGTOOLS_TOPDIR:=@LANGTOOLS_TOPDIR@
@@ -147,9 +153,6 @@
NASHORN_TOPDIR:=@NASHORN_TOPDIR@
COPYRIGHT_YEAR:=@COPYRIGHT_YEAR@
-# Location where build customization files may be found
-CUSTOM_MAKE_DIR:=@CUSTOM_MAKE_DIR@
-
# Information gathered from the version.numbers file.
JDK_MAJOR_VERSION:=@JDK_MAJOR_VERSION@
JDK_MINOR_VERSION:=@JDK_MINOR_VERSION@
@@ -172,7 +175,7 @@
COOKED_BUILD_NUMBER:=@COOKED_BUILD_NUMBER@
# These variables need to be generated here so that MILESTONE and
# JDK_BUILD_NUMBER can be overridden on the make command line.
-ifeq ($(MILESTONE),)
+ifeq ($(MILESTONE), fcs)
RELEASE=$(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
else
RELEASE=$(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
@@ -286,6 +289,9 @@
# Enable unlimited crypto policy
UNLIMITED_CRYPTO=@UNLIMITED_CRYPTO@
+# Enable RMIConnector IIOP transport
+RMICONNECTOR_IIOP=@RMICONNECTOR_IIOP@
+
# Necessary additional compiler flags to compile X11
X_CFLAGS:=@X_CFLAGS@
X_LIBS:=@X_LIBS@
@@ -294,11 +300,8 @@
# The lowest required version of macosx to enforce compatiblity for
MACOSX_VERSION_MIN=@MACOSX_VERSION_MIN@
-# There are two types: CC or CL
-# CC is gcc and others behaving reasonably similar.
-# CL is cl.exe only.
-COMPILER_TYPE:=@COMPILER_TYPE@
-COMPILER_NAME:=@COMPILER_NAME@
+# Toolchain type: gcc, clang, solstudio, lxc, microsoft...
+TOOLCHAIN_TYPE:=@TOOLCHAIN_TYPE@
# Option used to tell the compiler whether to create 32- or 64-bit executables
COMPILER_TARGET_BITS_FLAG:=@COMPILER_TARGET_BITS_FLAG@
@@ -438,7 +441,7 @@
POST_STRIP_CMD:=@POST_STRIP_CMD@
POST_MCS_CMD:=@POST_MCS_CMD@
-JAVA_FLAGS:=@BOOT_JDK_JVMARGS@
+JAVA_FLAGS:=@JAVA_FLAGS@
JAVA=@FIXPATH@ @JAVA@ $(JAVA_FLAGS)
@@ -674,5 +677,14 @@
JDK_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JDK_BUNDLE_SUBDIR)
JRE_BUNDLE_DIR=$(IMAGES_OUTPUTDIR)/$(JRE_BUNDLE_SUBDIR)
+# This macro is called to allow inclusion of closed source counterparts.
+# Unless overridden in closed sources, it expands to nothing.
+# Usage: This function is called in an open makefile, with the following
+# arguments:
+# $1 the name of the repo, or empty if the top-level repo.
+# $2 the name of the makefile
+define IncludeCustomExtension
+endef
+
# Include the custom-spec.gmk file if it exists
-include $(dir @SPEC@)/custom-spec.gmk
diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
index f358daf..7110d78 100644
--- a/common/autoconf/toolchain.m4
+++ b/common/autoconf/toolchain.m4
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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,210 @@
# questions.
#
+########################################################################
+# This file is responsible for detecting, verifying and setting up the
+# toolchain, i.e. the compiler, linker and related utilities. It will setup
+# proper paths to the binaries, but it will not setup any flags.
+#
+# The binaries used is determined by the toolchain type, which is the family of
+# compilers and related tools that are used.
+########################################################################
+
+
+# All valid toolchains, regardless of platform (used by help.m4)
+VALID_TOOLCHAINS_all="gcc clang solstudio xlc microsoft"
+
+# These toolchains are valid on different platforms
+VALID_TOOLCHAINS_linux="gcc clang"
+VALID_TOOLCHAINS_solaris="solstudio"
+VALID_TOOLCHAINS_macosx="gcc clang"
+VALID_TOOLCHAINS_aix="xlc"
+VALID_TOOLCHAINS_windows="microsoft"
+
+# Toolchain descriptions
+TOOLCHAIN_DESCRIPTION_clang="clang/LLVM"
+TOOLCHAIN_DESCRIPTION_gcc="GNU Compiler Collection"
+TOOLCHAIN_DESCRIPTION_microsoft="Microsoft Visual Studio"
+TOOLCHAIN_DESCRIPTION_solstudio="Oracle Solaris Studio"
+TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++"
+
+# Setup a number of variables describing how native output files are
+# named on this platform/toolchain.
+AC_DEFUN([TOOLCHAIN_SETUP_FILENAME_PATTERNS],
+[
+ # Define filename patterns
+ if test "x$OPENJDK_TARGET_OS" = xwindows; then
+ LIBRARY_PREFIX=
+ SHARED_LIBRARY_SUFFIX='.dll'
+ STATIC_LIBRARY_SUFFIX='.lib'
+ SHARED_LIBRARY='[$]1.dll'
+ STATIC_LIBRARY='[$]1.lib'
+ OBJ_SUFFIX='.obj'
+ EXE_SUFFIX='.exe'
+ else
+ LIBRARY_PREFIX=lib
+ SHARED_LIBRARY_SUFFIX='.so'
+ STATIC_LIBRARY_SUFFIX='.a'
+ SHARED_LIBRARY='lib[$]1.so'
+ STATIC_LIBRARY='lib[$]1.a'
+ OBJ_SUFFIX='.o'
+ EXE_SUFFIX=''
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ SHARED_LIBRARY='lib[$]1.dylib'
+ SHARED_LIBRARY_SUFFIX='.dylib'
+ fi
+ fi
+
+ AC_SUBST(LIBRARY_PREFIX)
+ AC_SUBST(SHARED_LIBRARY_SUFFIX)
+ AC_SUBST(STATIC_LIBRARY_SUFFIX)
+ AC_SUBST(SHARED_LIBRARY)
+ AC_SUBST(STATIC_LIBRARY)
+ AC_SUBST(OBJ_SUFFIX)
+ AC_SUBST(EXE_SUFFIX)
+])
+
+# Determine which toolchain type to use, and make sure it is valid for this
+# platform. Setup various information about the selected toolchain.
+AC_DEFUN_ONCE([TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE],
+[
+ AC_ARG_WITH(toolchain-type, [AS_HELP_STRING([--with-toolchain-type],
+ [the toolchain type (or family) to use, use '--help' to show possible values @<:@platform dependent@:>@])])
+
+ # Use indirect variable referencing
+ toolchain_var_name=VALID_TOOLCHAINS_$OPENJDK_BUILD_OS
+ VALID_TOOLCHAINS=${!toolchain_var_name}
+ # First toolchain type in the list is the default
+ DEFAULT_TOOLCHAIN=${VALID_TOOLCHAINS%% *}
+
+ if test "x$with_toolchain_type" = xlist; then
+ # List all toolchains
+ AC_MSG_NOTICE([The following toolchains are valid on this platform:])
+ for toolchain in $VALID_TOOLCHAINS; do
+ toolchain_var_name=TOOLCHAIN_DESCRIPTION_$toolchain
+ TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
+ $PRINTF " %-10s %s\n" $toolchain "$TOOLCHAIN_DESCRIPTION"
+ done
+
+ exit 0
+ elif test "x$with_toolchain_type" != x; then
+ # User override; check that it is valid
+ if test "x${VALID_TOOLCHAINS/$with_toolchain_type/}" = "x${VALID_TOOLCHAINS}"; then
+ AC_MSG_NOTICE([Toolchain type $with_toolchain_type is not valid on this platform.])
+ AC_MSG_NOTICE([Valid toolchains: $VALID_TOOLCHAINS.])
+ AC_MSG_ERROR([Cannot continue.])
+ fi
+ TOOLCHAIN_TYPE=$with_toolchain_type
+ else
+ # No flag given, use default
+ TOOLCHAIN_TYPE=$DEFAULT_TOOLCHAIN
+ fi
+ AC_SUBST(TOOLCHAIN_TYPE)
+
+ TOOLCHAIN_CC_BINARY_clang="clang"
+ TOOLCHAIN_CC_BINARY_gcc="gcc"
+ TOOLCHAIN_CC_BINARY_microsoft="cl"
+ TOOLCHAIN_CC_BINARY_solstudio="cc"
+ TOOLCHAIN_CC_BINARY_xlc="xlc_r"
+
+ TOOLCHAIN_CXX_BINARY_clang="clang++"
+ TOOLCHAIN_CXX_BINARY_gcc="g++"
+ TOOLCHAIN_CXX_BINARY_microsoft="cl"
+ TOOLCHAIN_CXX_BINARY_solstudio="CC"
+ TOOLCHAIN_CXX_BINARY_xlc="xlC_r"
+
+ # Use indirect variable referencing
+ toolchain_var_name=TOOLCHAIN_DESCRIPTION_$TOOLCHAIN_TYPE
+ TOOLCHAIN_DESCRIPTION=${!toolchain_var_name}
+ toolchain_var_name=TOOLCHAIN_CC_BINARY_$TOOLCHAIN_TYPE
+ TOOLCHAIN_CC_BINARY=${!toolchain_var_name}
+ toolchain_var_name=TOOLCHAIN_CXX_BINARY_$TOOLCHAIN_TYPE
+ TOOLCHAIN_CXX_BINARY=${!toolchain_var_name}
+
+ TOOLCHAIN_SETUP_FILENAME_PATTERNS
+
+ if test "x$TOOLCHAIN_TYPE" = "x$DEFAULT_TOOLCHAIN"; then
+ AC_MSG_NOTICE([Using default toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION)])
+ else
+ AC_MSG_NOTICE([Using user selected toolchain $TOOLCHAIN_TYPE ($TOOLCHAIN_DESCRIPTION). Default toolchain is $DEFAULT_TOOLCHAIN.])
+ fi
+])
+
+# Before we start detecting the toolchain executables, we might need some
+# special setup, e.g. additional paths etc.
+AC_DEFUN_ONCE([TOOLCHAIN_PRE_DETECTION],
+[
+ # FIXME: Is this needed?
+ AC_LANG(C++)
+
+ # Store the CFLAGS etc passed to the configure script.
+ ORG_CFLAGS="$CFLAGS"
+ ORG_CXXFLAGS="$CXXFLAGS"
+ ORG_OBJCFLAGS="$OBJCFLAGS"
+
+ # On Windows, we need to detect the visual studio installation first.
+ # This will change the PATH, but we need to keep that new PATH even
+ # after toolchain detection is done, since the compiler (on x86) uses
+ # it for DLL resolution in runtime.
+ if test "x$OPENJDK_BUILD_OS" = "xwindows" && test "x$TOOLCHAIN_TYPE" = "xmicrosoft"; then
+ TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
+ fi
+
+ # autoconf magic only relies on PATH, so update it if tools dir is specified
+ OLD_PATH="$PATH"
+
+ # For solaris we really need solaris tools, and not the GNU equivalent.
+ # The build tools on Solaris reside in /usr/ccs (C Compilation System),
+ # so add that to path before starting to probe.
+ # FIXME: This was originally only done for AS,NM,GNM,STRIP,MCS,OBJCOPY,OBJDUMP.
+ if test "x$OPENJDK_BUILD_OS" = xsolaris; then
+ PATH="/usr/ccs/bin:$PATH"
+ fi
+
+ # Finally add TOOLS_DIR at the beginning, to allow --with-tools-dir to
+ # override all other locations.
+ if test "x$TOOLS_DIR" != x; then
+ PATH=$TOOLS_DIR:$PATH
+ fi
+
+ # If a devkit is found on the builddeps server, then prepend its path to the
+ # PATH variable. If there are cross compilers available in the devkit, these
+ # will be found by AC_PROG_CC et al.
+ DEVKIT=
+ BDEPS_CHECK_MODULE(DEVKIT, devkit, xxx,
+ [
+ # Found devkit
+ PATH="$DEVKIT/bin:$PATH"
+ SYS_ROOT="$DEVKIT/${rewritten_target}/sys-root"
+ if test "x$x_includes" = "xNONE"; then
+ x_includes="$SYS_ROOT/usr/include/X11"
+ fi
+ if test "x$x_libraries" = "xNONE"; then
+ x_libraries="$SYS_ROOT/usr/lib"
+ fi
+ ],
+ [])
+])
+
+# Restore path, etc
+AC_DEFUN_ONCE([TOOLCHAIN_POST_DETECTION],
+[
+ # Restore old path.
+ PATH="$OLD_PATH"
+
+ # Restore the flags to the user specified values.
+ # This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
+ CFLAGS="$ORG_CFLAGS"
+ CXXFLAGS="$ORG_CXXFLAGS"
+ OBJCFLAGS="$ORG_OBJCFLAGS"
+])
+
+# Check if a compiler is of the toolchain type we expect, and save the version
+# information from it. If the compiler does not match the expected type,
+# this function will abort using AC_MSG_ERROR. If it matches, the version will
+# be stored in CC_VERSION_NUMBER/CXX_VERSION_NUMBER (as a dotted number), and
+# the full version string in CC_VERSION_STRING/CXX_VERSION_STRING.
+#
# $1 = compiler to test (CC or CXX)
# $2 = human readable name of compiler (C or C++)
AC_DEFUN([TOOLCHAIN_CHECK_COMPILER_VERSION],
@@ -30,92 +234,112 @@
COMPILER=[$]$1
COMPILER_NAME=$2
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- # Make sure we use the Sun Studio compiler and not gcc on Solaris, which won't work
- COMPILER_VERSION_TEST=`$COMPILER -V 2>&1 | $HEAD -n 1`
- $ECHO $COMPILER_VERSION_TEST | $GREP "^.*: Sun $COMPILER_NAME" > /dev/null
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ # cc -V output typically looks like
+ # cc: Sun C 5.12 Linux_i386 2011/11/16
+ COMPILER_VERSION_OUTPUT=`$COMPILER -V 2>&1`
+ # Check that this is likely to be the Solaris Studio cc.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "^.*: Sun $COMPILER_NAME" > /dev/null
if test $? -ne 0; then
- GCC_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
-
- AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required Sun Studio compiler.])
- AC_MSG_NOTICE([The result from running with -V was: "$COMPILER_VERSION_TEST" and with --version: "$GCC_VERSION_TEST"])
- AC_MSG_ERROR([Sun Studio compiler is required. Try setting --with-tools-dir.])
- else
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*@<:@ ,\t@:>@$COMPILER_NAME@<:@ ,\t@:>@\(@<:@1-9@:>@\.@<:@0-9@:>@@<:@0-9@:>@*\).*/\1/p"`
- COMPILER_VENDOR="Sun Studio"
+ ALT_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
+ AC_MSG_NOTICE([The result from running with -V was: "$COMPILER_VERSION_OUTPUT"])
+ AC_MSG_NOTICE([The result from running with --version was: "$ALT_VERSION_OUTPUT"])
+ AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
fi
- elif test "x$OPENJDK_TARGET_OS" = xaix; then
- COMPILER_VERSION_TEST=`$COMPILER -qversion 2>&1 | $TAIL -n 1`
- $ECHO $COMPILER_VERSION_TEST | $GREP "^Version: " > /dev/null
- if test $? -ne 0; then
- AC_MSG_ERROR([Failed to detect the compiler version of $COMPILER ....])
- else
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n 's/Version: \([0-9][0-9]\.[0-9][0-9]*\).*/\1/p'`
- COMPILER_VENDOR='IBM'
- fi
- elif test "x$OPENJDK_TARGET_OS" = xwindows; then
+ # Remove usage instructions (if present), and
+ # collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/ *@<:@Uu@:>@sage:.*//'`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e "s/^.*@<:@ ,\t@:>@$COMPILER_NAME@<:@ ,\t@:>@\(@<:@1-9@:>@\.@<:@0-9@:>@@<:@0-9@:>@*\).*/\1/"`
+ elif test "x$TOOLCHAIN_TYPE" = xxlc; then
+ # xlc -qversion output typically looks like
+ # IBM XL C/C++ for AIX, V11.1 (5724-X13)
+ # Version: 11.01.0000.0015
+ COMPILER_VERSION_OUTPUT=`$COMPILER -qversion 2>&1`
+ # Check that this is likely to be the IBM XL C compiler.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "IBM XL C" > /dev/null
+ if test $? -ne 0; then
+ ALT_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
+ AC_MSG_NOTICE([The result from running with -qversion was: "$COMPILER_VERSION_OUTPUT"])
+ AC_MSG_NOTICE([The result from running with --version was: "$ALT_VERSION_OUTPUT"])
+ AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
+ fi
+ # Collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.*, V\(@<:@1-9@:>@@<:@0-9.@:>@*\).*$/\1/'`
+ elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # There is no specific version flag, but all output starts with a version string.
# First line typically looks something like:
# Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
- COMPILER_VERSION_TEST=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.*Version \(@<:@1-9@:>@@<:@0-9.@:>@*\) .*/\1/p"`
- COMPILER_VENDOR="Microsoft CL.EXE"
- COMPILER_CPU_TEST=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* for \(.*\)$/\1/p"`
- if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
- if test "x$COMPILER_CPU_TEST" != "x80x86"; then
- AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "80x86".])
- fi
- elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
- if test "x$COMPILER_CPU_TEST" != "xx64"; then
- AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "x64".])
- fi
- fi
- else
- COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
- # Check that this is likely to be GCC.
- $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null
+ COMPILER_VERSION_OUTPUT=`$COMPILER 2>&1 | $HEAD -n 1 | $TR -d '\r'`
+ # Check that this is likely to be Microsoft CL.EXE.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft.*Compiler" > /dev/null
if test $? -ne 0; then
- AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler.])
- AC_MSG_NOTICE([The result from running with --version was: "$COMPILER_VERSION_TEST"])
- AC_MSG_ERROR([GCC compiler is required. Try setting --with-tools-dir.])
+ AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
+ AC_MSG_NOTICE([The result from running it was: "$COMPILER_VERSION_OUTPUT"])
+ AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
fi
-
- # First line typically looks something like:
- # gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
- COMPILER_VERSION=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^.* \(@<:@1-9@:>@@<:@0-9.@:>@*\)/\1/p"`
- COMPILER_VENDOR=`$ECHO $COMPILER_VERSION_TEST | $SED -n "s/^\(.*\) @<:@1-9@:>@@<:@0-9.@:>@*/\1/p"`
+ # Collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.*ersion.\(@<:@1-9@:>@@<:@0-9.@:>@*\) .*$/\1/'`
+ elif test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # gcc --version output typically looks like
+ # gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
+ # Copyright (C) 2013 Free Software Foundation, Inc.
+ # This is free software; see the source for copying conditions. There is NO
+ # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ COMPILER_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ # Check that this is likely to be GCC.
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Free Software Foundation" > /dev/null
+ if test $? -ne 0; then
+ AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
+ AC_MSG_NOTICE([The result from running with --version was: "$COMPILER_VERSION"])
+ AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
+ fi
+ # Remove Copyright and legalese from version string, and
+ # collapse into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/ *Copyright .*//'`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.* \(@<:@1-9@:>@\.@<:@0-9.@:>@*\) .*$/\1/'`
+ elif test "x$TOOLCHAIN_TYPE" = xclang; then
+ # clang --version output typically looks like
+ # Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
+ # clang version 3.3 (tags/RELEASE_33/final)
+ # or
+ # Debian clang version 3.2-7ubuntu1 (tags/RELEASE_32/final) (based on LLVM 3.2)
+ # Target: x86_64-pc-linux-gnu
+ # Thread model: posix
+ COMPILER_VERSION_OUTPUT=`$COMPILER --version 2>&1`
+ # Check that this is likely to be clang
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "clang" > /dev/null
+ if test $? -ne 0; then
+ AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required $TOOLCHAIN_TYPE compiler.])
+ AC_MSG_NOTICE([The result from running with --version was: "$COMPILER_VERSION_OUTPUT"])
+ AC_MSG_ERROR([A $TOOLCHAIN_TYPE compiler is required. Try setting --with-tools-dir.])
+ fi
+ # Collapse compiler output into a single line
+ COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT`
+ COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \
+ $SED -e 's/^.*clang version \(@<:@1-9@:>@@<:@0-9.@:>@*\).*$/\1/'`
+ else
+ AC_MSG_ERROR([Unknown toolchain type $TOOLCHAIN_TYPE.])
fi
- # This sets CC_VERSION or CXX_VERSION. (This comment is a grep marker)
- $1_VERSION="$COMPILER_VERSION"
- # This sets CC_VENDOR or CXX_VENDOR. (This comment is a grep marker)
- $1_VENDOR="$COMPILER_VENDOR"
+ # This sets CC_VERSION_NUMBER or CXX_VERSION_NUMBER. (This comment is a grep marker)
+ $1_VERSION_NUMBER="$COMPILER_VERSION_NUMBER"
+ # This sets CC_VERSION_STRING or CXX_VERSION_STRING. (This comment is a grep marker)
+ $1_VERSION_STRING="$COMPILER_VERSION_STRING"
- AC_MSG_NOTICE([Using $COMPILER_VENDOR $COMPILER_NAME compiler version $COMPILER_VERSION (located at $COMPILER)])
+ AC_MSG_NOTICE([Using $TOOLCHAIN_TYPE $COMPILER_NAME compiler version $COMPILER_VERSION_NUMBER @<:@$COMPILER_VERSION_STRING@:>@])
])
-
-AC_DEFUN_ONCE([TOOLCHAIN_SETUP_SYSROOT_AND_OUT_OPTIONS],
-[
- ###############################################################################
- #
- # Configure the development tool paths and potential sysroot.
- #
- AC_LANG(C++)
-
- # The option used to specify the target .o,.a or .so file.
- # When compiling, how to specify the to be created object file.
- CC_OUT_OPTION='-o$(SPACE)'
- # When linking, how to specify the to be created executable.
- EXE_OUT_OPTION='-o$(SPACE)'
- # When linking, how to specify the to be created dynamically linkable library.
- LD_OUT_OPTION='-o$(SPACE)'
- # When archiving, how to specify the to be create static archive for object files.
- AR_OUT_OPTION='rcs$(SPACE)'
- AC_SUBST(CC_OUT_OPTION)
- AC_SUBST(EXE_OUT_OPTION)
- AC_SUBST(LD_OUT_OPTION)
- AC_SUBST(AR_OUT_OPTION)
-])
-
+# Try to locate the given C or C++ compiler in the path, or otherwise.
+#
# $1 = compiler to test (CC or CXX)
# $2 = human readable name of compiler (C or C++)
# $3 = list of compiler names to search for
@@ -143,10 +367,20 @@
fi
fi
else
- # No user supplied value. Locate compiler ourselves
+ # No user supplied value. Locate compiler ourselves.
+
+ # If we are cross compiling, assume cross compilation tools follows the
+ # cross compilation standard where they are prefixed with the autoconf
+ # standard name for the target. For example the binary
+ # i686-sun-solaris2.10-gcc will cross compile for i686-sun-solaris2.10.
+ # If we are not cross compiling, then the default compiler name will be
+ # used.
+
$1=
# If TOOLS_DIR is set, check for all compiler names in there first
# before checking the rest of the PATH.
+ # FIXME: Now that we prefix the TOOLS_DIR to the PATH in the PRE_DETECTION
+ # step, this should not be necessary.
if test -n "$TOOLS_DIR"; then
PATH_save="$PATH"
PATH="$TOOLS_DIR"
@@ -174,6 +408,7 @@
# Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
# to 'xlc' but it is crucial that we invoke the compiler with the right name!
if test "x$OPENJDK_BUILD_OS" != xaix; then
+ # FIXME: This test should not be needed anymore; we don't do that for any platform.
AC_MSG_CHECKING([resolved symbolic links for $1])
BASIC_REMOVE_SYMBOLIC_LINKS(TEST_COMPILER)
AC_MSG_RESULT([$TEST_COMPILER])
@@ -208,301 +443,126 @@
TOOLCHAIN_CHECK_COMPILER_VERSION([$1], [$COMPILER_NAME])
])
-
-AC_DEFUN([TOOLCHAIN_SETUP_PATHS],
+# Detect the core components of the toolchain, i.e. the compilers (CC and CXX),
+# preprocessor (CPP and CXXCPP), the linker (LD), the assembler (AS) and the
+# archiver (AR). Verify that the compilers are correct according to the
+# toolchain type.
+AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_CORE],
[
- if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
- TOOLCHAIN_SETUP_VISUAL_STUDIO_ENV
- TOOLCHAIN_SETUP_MSVCR_DLL
- BASIC_DEPRECATED_ARG_WITH([dxsdk])
- BASIC_DEPRECATED_ARG_WITH([dxsdk-lib])
- BASIC_DEPRECATED_ARG_WITH([dxsdk-include])
- fi
-
- AC_SUBST(MSVCR_DLL)
-
- # If --build AND --host is set, then the configure script will find any
- # cross compilation tools in the PATH. Cross compilation tools
- # follows the cross compilation standard where they are prefixed with ${host}.
- # For example the binary i686-sun-solaris2.10-gcc
- # will cross compile for i686-sun-solaris2.10
- # If neither of build and host is not set, then build=host and the
- # default compiler found in the path will be used.
- # Setting only --host, does not seem to be really supported.
- # Please set both --build and --host if you want to cross compile.
-
- if test "x$COMPILE_TYPE" = "xcross"; then
- # Now we to find a C/C++ compiler that can build executables for the build
- # platform. We can't use the AC_PROG_CC macro, since it can only be used
- # once. Also, we need to do this before adding a tools dir to the path,
- # otherwise we might pick up cross-compilers which don't use standard naming.
- # Otherwise, we'll set the BUILD_tools to the native tools, but that'll have
- # to wait until they are properly discovered.
- BASIC_PATH_PROGS(BUILD_CC, [cl cc gcc])
- BASIC_FIXUP_EXECUTABLE(BUILD_CC)
- BASIC_PATH_PROGS(BUILD_CXX, [cl CC g++])
- BASIC_FIXUP_EXECUTABLE(BUILD_CXX)
- BASIC_PATH_PROGS(BUILD_LD, ld)
- BASIC_FIXUP_EXECUTABLE(BUILD_LD)
- fi
- AC_SUBST(BUILD_CC)
- AC_SUBST(BUILD_CXX)
- AC_SUBST(BUILD_LD)
-
- # If a devkit is found on the builddeps server, then prepend its path to the
- # PATH variable. If there are cross compilers available in the devkit, these
- # will be found by AC_PROG_CC et al.
- DEVKIT=
- BDEPS_CHECK_MODULE(DEVKIT, devkit, xxx,
- [
- # Found devkit
- PATH="$DEVKIT/bin:$PATH"
- SYS_ROOT="$DEVKIT/${rewritten_target}/sys-root"
- if test "x$x_includes" = "xNONE"; then
- x_includes="$SYS_ROOT/usr/include/X11"
- fi
- if test "x$x_libraries" = "xNONE"; then
- x_libraries="$SYS_ROOT/usr/lib"
- fi
- ],
- [])
-
- # Store the CFLAGS etal passed to the configure script.
- ORG_CFLAGS="$CFLAGS"
- ORG_CXXFLAGS="$CXXFLAGS"
- ORG_OBJCFLAGS="$OBJCFLAGS"
-
- # autoconf magic only relies on PATH, so update it if tools dir is specified
- OLD_PATH="$PATH"
- if test "x$TOOLS_DIR" != x; then
- PATH=$TOOLS_DIR:$PATH
- fi
-
-
- ### Locate C compiler (CC)
-
- # On windows, only cl.exe is supported.
- # On Solaris, cc is preferred to gcc.
- # Elsewhere, gcc is preferred to cc.
-
- if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
- COMPILER_CHECK_LIST="cl"
- elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
- COMPILER_CHECK_LIST="cc gcc"
- elif test "x$OPENJDK_TARGET_OS" = "xaix"; then
- # Do not probe for cc on AIX.
- COMPILER_CHECK_LIST="xlc_r"
- else
- COMPILER_CHECK_LIST="gcc cc"
- fi
-
- TOOLCHAIN_FIND_COMPILER([CC],[C],[$COMPILER_CHECK_LIST])
+ #
+ # Setup the compilers (CC and CXX)
+ #
+ TOOLCHAIN_FIND_COMPILER([CC], [C], $TOOLCHAIN_CC_BINARY)
# Now that we have resolved CC ourself, let autoconf have its go at it
AC_PROG_CC([$CC])
- # Option used to tell the compiler whether to create 32- or 64-bit executables
- # Notice that CC contains the full compiler path at this point.
- case $CC in
- *xlc_r) COMPILER_TARGET_BITS_FLAG="-q";;
- *) COMPILER_TARGET_BITS_FLAG="-m";;
- esac
- AC_SUBST(COMPILER_TARGET_BITS_FLAG)
-
- ### Locate C++ compiler (CXX)
-
- if test "x$OPENJDK_TARGET_OS" = "xwindows"; then
- COMPILER_CHECK_LIST="cl"
- elif test "x$OPENJDK_TARGET_OS" = "xsolaris"; then
- COMPILER_CHECK_LIST="CC g++"
- elif test "x$OPENJDK_TARGET_OS" = "xaix"; then
- # Do not probe for CC on AIX .
- COMPILER_CHECK_LIST="xlC_r"
- else
- COMPILER_CHECK_LIST="g++ CC"
- fi
-
- TOOLCHAIN_FIND_COMPILER([CXX],[C++],[$COMPILER_CHECK_LIST])
+ TOOLCHAIN_FIND_COMPILER([CXX], [C++], $TOOLCHAIN_CXX_BINARY)
# Now that we have resolved CXX ourself, let autoconf have its go at it
AC_PROG_CXX([$CXX])
- ### Locate other tools
+ #
+ # Setup the preprocessor (CPP and CXXCPP)
+ #
+ AC_PROG_CPP
+ BASIC_FIXUP_EXECUTABLE(CPP)
+ AC_PROG_CXXCPP
+ BASIC_FIXUP_EXECUTABLE(CXXCPP)
- if test "x$OPENJDK_TARGET_OS" = xmacosx; then
- AC_PROG_OBJC
- BASIC_FIXUP_EXECUTABLE(OBJC)
- else
- OBJC=
- fi
-
- # Restore the flags to the user specified values.
- # This is necessary since AC_PROG_CC defaults CFLAGS to "-g -O2"
- CFLAGS="$ORG_CFLAGS"
- CXXFLAGS="$ORG_CXXFLAGS"
- OBJCFLAGS="$ORG_OBJCFLAGS"
-
- LD="$CC"
- LDEXE="$CC"
- LDCXX="$CXX"
- LDEXECXX="$CXX"
- AC_SUBST(LD)
- # LDEXE is the linker to use, when creating executables.
- AC_SUBST(LDEXE)
- # Linking C++ libraries.
- AC_SUBST(LDCXX)
- # Linking C++ executables.
- AC_SUBST(LDEXECXX)
-
- if test "x$OPENJDK_TARGET_OS" != xwindows; then
- BASIC_CHECK_TOOLS(AR, ar)
- BASIC_FIXUP_EXECUTABLE(AR)
- fi
- if test "x$OPENJDK_TARGET_OS" = xmacosx; then
- ARFLAGS="-r"
- elif test "x$OPENJDK_TARGET_OS" = xaix; then
- ARFLAGS="-X64"
- else
- ARFLAGS=""
- fi
- AC_SUBST(ARFLAGS)
-
- # For hotspot, we need these in Windows mixed path; other platforms keep them the same
- HOTSPOT_CXX="$CXX"
- HOTSPOT_LD="$LD"
- AC_SUBST(HOTSPOT_CXX)
- AC_SUBST(HOTSPOT_LD)
-
- COMPILER_NAME=gcc
- COMPILER_TYPE=CC
- AS_IF([test "x$OPENJDK_TARGET_OS" = xwindows], [
- # For now, assume that we are always compiling using cl.exe.
- CC_OUT_OPTION=-Fo
- EXE_OUT_OPTION=-out:
- LD_OUT_OPTION=-out:
- AR_OUT_OPTION=-out:
- # On Windows, reject /usr/bin/link (as determined in CYGWIN_LINK), which is a cygwin
- # program for something completely different.
- AC_CHECK_PROG([WINLD], [link],[link],,, [$CYGWIN_LINK])
- # Since we must ignore the first found link, WINLD will contain
- # the full path to the link.exe program.
- BASIC_FIXUP_EXECUTABLE(WINLD)
- printf "Windows linker was found at $WINLD\n"
+ #
+ # Setup the linker (LD)
+ #
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # In the Microsoft toolchain we have a separate LD command "link".
+ # Make sure we reject /usr/bin/link (as determined in CYGWIN_LINK), which is
+ # a cygwin program for something completely different.
+ AC_CHECK_PROG([LD], [link],[link],,, [$CYGWIN_LINK])
+ BASIC_FIXUP_EXECUTABLE(LD)
+ # Verify that we indeed succeeded with this trick.
AC_MSG_CHECKING([if the found link.exe is actually the Visual Studio linker])
- "$WINLD" --version > /dev/null
+ "$LD" --version > /dev/null
if test $? -eq 0 ; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([This is the Cygwin link tool. Please check your PATH and rerun configure.])
else
AC_MSG_RESULT([yes])
fi
- LD="$WINLD"
- LDEXE="$WINLD"
- LDCXX="$WINLD"
- LDEXECXX="$WINLD"
-
- AC_CHECK_PROG([MT], [mt], [mt],,, [/usr/bin/mt])
- BASIC_FIXUP_EXECUTABLE(MT)
- # The resource compiler
- AC_CHECK_PROG([RC], [rc], [rc],,, [/usr/bin/rc])
- BASIC_FIXUP_EXECUTABLE(RC)
-
- # For hotspot, we need these in Windows mixed path,
- # so rewrite them all. Need added .exe suffix.
- HOTSPOT_CXX="$CXX.exe"
- HOTSPOT_LD="$LD.exe"
- HOTSPOT_MT="$MT.exe"
- HOTSPOT_RC="$RC.exe"
- BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(HOTSPOT_CXX)
- BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(HOTSPOT_LD)
- BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(HOTSPOT_MT)
- BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(HOTSPOT_RC)
- AC_SUBST(HOTSPOT_MT)
- AC_SUBST(HOTSPOT_RC)
-
- RC_FLAGS="-nologo -l 0x409 -r"
- AS_IF([test "x$VARIANT" = xOPT], [
- RC_FLAGS="$RC_FLAGS -d NDEBUG"
- ])
-
- # The version variables used to create RC_FLAGS may be overridden
- # in a custom configure script, or possibly the command line.
- # Let those variables be expanded at make time in spec.gmk.
- # The \$ are escaped to the shell, and the $(...) variables
- # are evaluated by make.
- RC_FLAGS="$RC_FLAGS \
- -d \"JDK_BUILD_ID=\$(FULL_VERSION)\" \
- -d \"JDK_COMPANY=\$(COMPANY_NAME)\" \
- -d \"JDK_COMPONENT=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) binary\" \
- -d \"JDK_VER=\$(JDK_MINOR_VERSION).\$(JDK_MICRO_VERSION).\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0).\$(COOKED_BUILD_NUMBER)\" \
- -d \"JDK_COPYRIGHT=Copyright \xA9 $COPYRIGHT_YEAR\" \
- -d \"JDK_NAME=\$(PRODUCT_NAME) \$(JDK_RC_PLATFORM_NAME) \$(JDK_MINOR_VERSION) \$(JDK_UPDATE_META_TAG)\" \
- -d \"JDK_FVER=\$(JDK_MINOR_VERSION),\$(JDK_MICRO_VERSION),\$(if \$(JDK_UPDATE_VERSION),\$(JDK_UPDATE_VERSION),0),\$(COOKED_BUILD_NUMBER)\""
-
- # lib.exe is used to create static libraries.
- AC_CHECK_PROG([WINAR], [lib],[lib],,,)
- BASIC_FIXUP_EXECUTABLE(WINAR)
- AR="$WINAR"
- ARFLAGS="-nologo -NODEFAULTLIB:MSVCRT"
-
- AC_CHECK_PROG([DUMPBIN], [dumpbin], [dumpbin],,,)
- BASIC_FIXUP_EXECUTABLE(DUMPBIN)
-
- COMPILER_TYPE=CL
- CCXXFLAGS="$CCXXFLAGS -nologo"
- ])
- AC_SUBST(RC_FLAGS)
- AC_SUBST(COMPILER_TYPE)
-
- AC_PROG_CPP
- BASIC_FIXUP_EXECUTABLE(CPP)
-
- AC_PROG_CXXCPP
- BASIC_FIXUP_EXECUTABLE(CXXCPP)
-
- if test "x$COMPILE_TYPE" != "xcross"; then
- # If we are not cross compiling, use the same compilers for
- # building the build platform executables. The cross-compilation
- # case needed to be done earlier, but this can only be done after
- # the native tools have been localized.
- BUILD_CC="$CC"
- BUILD_CXX="$CXX"
- BUILD_LD="$LD"
+ LDCXX="$LD"
+ else
+ # All other toolchains use the compiler to link.
+ LD="$CC"
+ LDCXX="$CXX"
fi
+ AC_SUBST(LD)
+ # FIXME: it should be CXXLD, according to standard (cf CXXCPP)
+ AC_SUBST(LDCXX)
- # for solaris we really need solaris tools, and not gnu equivalent
- # these seems to normally reside in /usr/ccs/bin so add that to path before
- # starting to probe
#
- # NOTE: I add this /usr/ccs/bin after TOOLS but before OLD_PATH
- # so that it can be overriden --with-tools-dir
- if test "x$OPENJDK_BUILD_OS" = xsolaris; then
- PATH="${TOOLS_DIR}:/usr/ccs/bin:${OLD_PATH}"
- fi
-
- # Find the right assembler.
+ # Setup the assembler (AS)
+ #
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ # FIXME: should this really be solaris, or solstudio?
BASIC_PATH_PROGS(AS, as)
BASIC_FIXUP_EXECUTABLE(AS)
else
+ # FIXME: is this correct for microsoft?
AS="$CC -c"
fi
AC_SUBST(AS)
+ #
+ # Setup the archiver (AR)
+ #
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # The corresponding ar tool is lib.exe (used to create static libraries)
+ AC_CHECK_PROG([AR], [lib],[lib],,,)
+ else
+ BASIC_CHECK_TOOLS(AR, ar)
+ fi
+ BASIC_FIXUP_EXECUTABLE(AR)
+])
+
+# Setup additional tools that is considered a part of the toolchain, but not the
+# core part. Many of these are highly platform-specific and do not exist,
+# and/or are not needed on all platforms.
+AC_DEFUN_ONCE([TOOLCHAIN_DETECT_TOOLCHAIN_EXTRA],
+[
+ if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
+ AC_PROG_OBJC
+ BASIC_FIXUP_EXECUTABLE(OBJC)
+ BASIC_PATH_PROGS(LIPO, lipo)
+ BASIC_FIXUP_EXECUTABLE(LIPO)
+ else
+ OBJC=
+ fi
+
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ AC_CHECK_PROG([MT], [mt], [mt],,, [/usr/bin/mt])
+ BASIC_FIXUP_EXECUTABLE(MT)
+ # Setup the resource compiler (RC)
+ AC_CHECK_PROG([RC], [rc], [rc],,, [/usr/bin/rc])
+ BASIC_FIXUP_EXECUTABLE(RC)
+ AC_CHECK_PROG([DUMPBIN], [dumpbin], [dumpbin],,,)
+ BASIC_FIXUP_EXECUTABLE(DUMPBIN)
+ fi
+
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ BASIC_PATH_PROGS(STRIP, strip)
+ BASIC_FIXUP_EXECUTABLE(STRIP)
BASIC_PATH_PROGS(NM, nm)
BASIC_FIXUP_EXECUTABLE(NM)
BASIC_PATH_PROGS(GNM, gnm)
BASIC_FIXUP_EXECUTABLE(GNM)
- BASIC_PATH_PROGS(STRIP, strip)
- BASIC_FIXUP_EXECUTABLE(STRIP)
+
BASIC_PATH_PROGS(MCS, mcs)
BASIC_FIXUP_EXECUTABLE(MCS)
elif test "x$OPENJDK_TARGET_OS" != xwindows; then
+ # FIXME: we should unify this with the solaris case above.
+ BASIC_CHECK_TOOLS(STRIP, strip)
+ BASIC_FIXUP_EXECUTABLE(STRIP)
BASIC_CHECK_TOOLS(NM, nm)
BASIC_FIXUP_EXECUTABLE(NM)
GNM="$NM"
AC_SUBST(GNM)
- BASIC_CHECK_TOOLS(STRIP, strip)
- BASIC_FIXUP_EXECUTABLE(STRIP)
fi
# objcopy is used for moving debug symbols to separate files when
@@ -517,684 +577,118 @@
BASIC_CHECK_TOOLS(OBJDUMP, [gobjdump objdump])
if test "x$OBJDUMP" != x; then
- # Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE bails if argument is missing.
+ # Only used for compare.sh; we can live without it. BASIC_FIXUP_EXECUTABLE
+ # bails if argument is missing.
BASIC_FIXUP_EXECUTABLE(OBJDUMP)
fi
-
- if test "x$OPENJDK_TARGET_OS" = "xmacosx"; then
- BASIC_PATH_PROGS(LIPO, lipo)
- BASIC_FIXUP_EXECUTABLE(LIPO)
- fi
-
- TOOLCHAIN_SETUP_JTREG
-
- # Restore old path without tools dir
- PATH="$OLD_PATH"
])
-
-AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_LIBS],
-[
-
- ###############################################################################
- #
- # How to compile shared libraries.
- #
-
- if test "x$GCC" = xyes; then
- COMPILER_NAME=gcc
- PICFLAG="-fPIC"
- LIBRARY_PREFIX=lib
- SHARED_LIBRARY='lib[$]1.so'
- STATIC_LIBRARY='lib[$]1.a'
- SHARED_LIBRARY_FLAGS="-shared"
- SHARED_LIBRARY_SUFFIX='.so'
- STATIC_LIBRARY_SUFFIX='.a'
- OBJ_SUFFIX='.o'
- EXE_SUFFIX=''
- SET_SHARED_LIBRARY_NAME='-Xlinker -soname=[$]1'
- SET_SHARED_LIBRARY_MAPFILE='-Xlinker -version-script=[$]1'
- C_FLAG_REORDER=''
- CXX_FLAG_REORDER=''
- SET_SHARED_LIBRARY_ORIGIN='-Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$$$$ORIGIN[$]1'
- SET_EXECUTABLE_ORIGIN='-Xlinker -rpath -Xlinker \$$$$ORIGIN[$]1'
- LD="$CC"
- LDEXE="$CC"
- LDCXX="$CXX"
- LDEXECXX="$CXX"
- POST_STRIP_CMD="$STRIP -g"
-
- # Linking is different on MacOSX
- if test "x$OPENJDK_TARGET_OS" = xmacosx; then
- # Might change in the future to clang.
- COMPILER_NAME=gcc
- SHARED_LIBRARY='lib[$]1.dylib'
- SHARED_LIBRARY_FLAGS="-dynamiclib -compatibility_version 1.0.0 -current_version 1.0.0 $PICFLAG"
- SHARED_LIBRARY_SUFFIX='.dylib'
- EXE_SUFFIX=''
- SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1'
- SET_SHARED_LIBRARY_MAPFILE=''
- SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
- SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
- POST_STRIP_CMD="$STRIP -S"
- fi
+# Setup the build tools (i.e, the compiler and linker used to build programs
+# that should be run on the build platform, not the target platform, as a build
+# helper). Since the non-cross-compile case uses the normal, target compilers
+# for this, we can only do this after these have been setup.
+AC_DEFUN_ONCE([TOOLCHAIN_SETUP_BUILD_COMPILERS],
+[
+ if test "x$COMPILE_TYPE" = "xcross"; then
+ # Now we need to find a C/C++ compiler that can build executables for the
+ # build platform. We can't use the AC_PROG_CC macro, since it can only be
+ # used once. Also, we need to do this without adding a tools dir to the
+ # path, otherwise we might pick up cross-compilers which don't use standard
+ # naming.
+
+ # FIXME: we should list the discovered compilers as an exclude pattern!
+ # If we do that, we can do this detection before POST_DETECTION, and still
+ # find the build compilers in the tools dir, if needed.
+ BASIC_PATH_PROGS(BUILD_CC, [cl cc gcc])
+ BASIC_FIXUP_EXECUTABLE(BUILD_CC)
+ BASIC_PATH_PROGS(BUILD_CXX, [cl CC g++])
+ BASIC_FIXUP_EXECUTABLE(BUILD_CXX)
+ BASIC_PATH_PROGS(BUILD_LD, ld)
+ BASIC_FIXUP_EXECUTABLE(BUILD_LD)
else
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler
- COMPILER_NAME=ossc
- PICFLAG="-KPIC"
- LIBRARY_PREFIX=lib
- SHARED_LIBRARY='lib[$]1.so'
- STATIC_LIBRARY='lib[$]1.a'
- SHARED_LIBRARY_FLAGS="-G"
- SHARED_LIBRARY_SUFFIX='.so'
- STATIC_LIBRARY_SUFFIX='.a'
- OBJ_SUFFIX='.o'
- EXE_SUFFIX=''
- SET_SHARED_LIBRARY_NAME=''
- SET_SHARED_LIBRARY_MAPFILE='-M[$]1'
- C_FLAG_REORDER='-xF'
- CXX_FLAG_REORDER='-xF'
- SET_SHARED_LIBRARY_ORIGIN='-R\$$$$ORIGIN[$]1'
- SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
- CFLAGS_JDK="${CFLAGS_JDK} -D__solaris__"
- CXXFLAGS_JDK="${CXXFLAGS_JDK} -D__solaris__"
- CFLAGS_JDKLIB_EXTRA='-xstrconst'
- POST_STRIP_CMD="$STRIP -x"
- POST_MCS_CMD="$MCS -d -a \"JDK $FULL_VERSION\""
- fi
- if test "x$OPENJDK_TARGET_OS" = xaix; then
- COMPILER_NAME=xlc
- PICFLAG="-qpic=large"
- LIBRARY_PREFIX=lib
- SHARED_LIBRARY='lib[$]1.so'
- STATIC_LIBRARY='lib[$]1.a'
- SHARED_LIBRARY_FLAGS="-qmkshrobj"
- SHARED_LIBRARY_SUFFIX='.so'
- STATIC_LIBRARY_SUFFIX='.a'
- OBJ_SUFFIX='.o'
- EXE_SUFFIX=''
- SET_SHARED_LIBRARY_NAME=''
- SET_SHARED_LIBRARY_MAPFILE=''
- C_FLAG_REORDER=''
- CXX_FLAG_REORDER=''
- SET_SHARED_LIBRARY_ORIGIN=''
- SET_EXECUTABLE_ORIGIN=""
- CFLAGS_JDK=""
- CXXFLAGS_JDK=""
- CFLAGS_JDKLIB_EXTRA=''
- POST_STRIP_CMD="$STRIP -X32_64"
- POST_MCS_CMD=""
- fi
- if test "x$OPENJDK_TARGET_OS" = xwindows; then
- # If it is not gcc, then assume it is the MS Visual Studio compiler
- COMPILER_NAME=cl
- PICFLAG=""
- LIBRARY_PREFIX=
- SHARED_LIBRARY='[$]1.dll'
- STATIC_LIBRARY='[$]1.lib'
- SHARED_LIBRARY_FLAGS="-LD"
- SHARED_LIBRARY_SUFFIX='.dll'
- STATIC_LIBRARY_SUFFIX='.lib'
- OBJ_SUFFIX='.obj'
- EXE_SUFFIX='.exe'
- SET_SHARED_LIBRARY_NAME=''
- SET_SHARED_LIBRARY_MAPFILE=''
- SET_SHARED_LIBRARY_ORIGIN=''
- SET_EXECUTABLE_ORIGIN=''
- fi
+ # If we are not cross compiling, use the normal target compilers for
+ # building the build platform executables.
+ BUILD_CC="$CC"
+ BUILD_CXX="$CXX"
+ BUILD_LD="$LD"
fi
- AC_SUBST(COMPILER_NAME)
- AC_SUBST(OBJ_SUFFIX)
- AC_SUBST(SHARED_LIBRARY)
- AC_SUBST(STATIC_LIBRARY)
- AC_SUBST(LIBRARY_PREFIX)
- AC_SUBST(SHARED_LIBRARY_SUFFIX)
- AC_SUBST(STATIC_LIBRARY_SUFFIX)
- AC_SUBST(EXE_SUFFIX)
- AC_SUBST(SHARED_LIBRARY_FLAGS)
- AC_SUBST(SET_SHARED_LIBRARY_NAME)
- AC_SUBST(SET_SHARED_LIBRARY_MAPFILE)
- AC_SUBST(C_FLAG_REORDER)
- AC_SUBST(CXX_FLAG_REORDER)
- AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
- AC_SUBST(SET_EXECUTABLE_ORIGIN)
- AC_SUBST(POST_STRIP_CMD)
- AC_SUBST(POST_MCS_CMD)
-
- # The (cross) compiler is now configured, we can now test capabilities
- # of the target platform.
+ AC_SUBST(BUILD_CC)
+ AC_SUBST(BUILD_CXX)
+ AC_SUBST(BUILD_LD)
])
-AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
+# Setup legacy variables that are still needed as alternative ways to refer to
+# parts of the toolchain.
+AC_DEFUN_ONCE([TOOLCHAIN_SETUP_LEGACY],
[
-
- ###############################################################################
- #
- # Setup the opt flags for different compilers
- # and different operating systems.
- #
-
- #
- # NOTE: check for -mstackrealign needs to be below potential addition of -m32
- #
- if test "x$OPENJDK_TARGET_CPU_BITS" = x32 && test "x$OPENJDK_TARGET_OS" = xmacosx; then
- # On 32-bit MacOSX the OS requires C-entry points to be 16 byte aligned.
- # While waiting for a better solution, the current workaround is to use -mstackrealign.
- CFLAGS="$CFLAGS -mstackrealign"
- AC_MSG_CHECKING([if 32-bit compiler supports -mstackrealign])
- AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])],
- [
- AC_MSG_RESULT([yes])
- ],
- [
- AC_MSG_RESULT([no])
- AC_MSG_ERROR([The selected compiler $CXX does not support -mstackrealign! Try to put another compiler in the path.])
- ]
- )
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # For hotspot, we need these in Windows mixed path,
+ # so rewrite them all. Need added .exe suffix.
+ HOTSPOT_CXX="$CXX.exe"
+ HOTSPOT_LD="$LD.exe"
+ HOTSPOT_MT="$MT.exe"
+ HOTSPOT_RC="$RC.exe"
+ BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(HOTSPOT_CXX)
+ BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(HOTSPOT_LD)
+ BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(HOTSPOT_MT)
+ BASIC_WINDOWS_REWRITE_AS_WINDOWS_MIXED_PATH(HOTSPOT_RC)
+ AC_SUBST(HOTSPOT_MT)
+ AC_SUBST(HOTSPOT_RC)
+ else
+ HOTSPOT_CXX="$CXX"
+ HOTSPOT_LD="$LD"
fi
+ AC_SUBST(HOTSPOT_CXX)
+ AC_SUBST(HOTSPOT_LD)
- C_FLAG_DEPS="-MMD -MF"
- CXX_FLAG_DEPS="-MMD -MF"
-
- case $COMPILER_TYPE in
- CC )
- case $COMPILER_NAME in
- gcc )
- case $OPENJDK_TARGET_OS in
- macosx )
- # On MacOSX we optimize for size, something
- # we should do for all platforms?
- C_O_FLAG_HI="-Os"
- C_O_FLAG_NORM="-Os"
- C_O_FLAG_NONE=""
- ;;
- *)
- C_O_FLAG_HI="-O3"
- C_O_FLAG_NORM="-O2"
- C_O_FLAG_NONE="-O0"
- ;;
- esac
- CXX_O_FLAG_HI="$C_O_FLAG_HI"
- CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
- CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
- CFLAGS_DEBUG_SYMBOLS="-g"
- CXXFLAGS_DEBUG_SYMBOLS="-g"
- if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
- CFLAGS_DEBUG_SYMBOLS="-g1"
- CXXFLAGS_DEBUG_SYMBOLS="-g1"
- fi
- ;;
- ossc )
- #
- # Forte has different names for this with their C++ compiler...
- #
- C_FLAG_DEPS="-xMMD -xMF"
- CXX_FLAG_DEPS="-xMMD -xMF"
-
- # Extra options used with HIGHEST
- #
- # WARNING: Use of OPTIMIZATION_LEVEL=HIGHEST in your Makefile needs to be
- # done with care, there are some assumptions below that need to
- # be understood about the use of pointers, and IEEE behavior.
- #
- # Use non-standard floating point mode (not IEEE 754)
- CC_HIGHEST="$CC_HIGHEST -fns"
- # Do some simplification of floating point arithmetic (not IEEE 754)
- CC_HIGHEST="$CC_HIGHEST -fsimple"
- # Use single precision floating point with 'float'
- CC_HIGHEST="$CC_HIGHEST -fsingle"
- # Assume memory references via basic pointer types do not alias
- # (Source with excessing pointer casting and data access with mixed
- # pointer types are not recommended)
- CC_HIGHEST="$CC_HIGHEST -xalias_level=basic"
- # Use intrinsic or inline versions for math/std functions
- # (If you expect perfect errno behavior, do not use this)
- CC_HIGHEST="$CC_HIGHEST -xbuiltin=%all"
- # Loop data dependency optimizations (need -xO3 or higher)
- CC_HIGHEST="$CC_HIGHEST -xdepend"
- # Pointer parameters to functions do not overlap
- # (Similar to -xalias_level=basic usage, but less obvious sometimes.
- # If you pass in multiple pointers to the same data, do not use this)
- CC_HIGHEST="$CC_HIGHEST -xrestrict"
- # Inline some library routines
- # (If you expect perfect errno behavior, do not use this)
- CC_HIGHEST="$CC_HIGHEST -xlibmil"
- # Use optimized math routines
- # (If you expect perfect errno behavior, do not use this)
- # Can cause undefined external on Solaris 8 X86 on __sincos, removing for now
- #CC_HIGHEST="$CC_HIGHEST -xlibmopt"
-
- if test "x$OPENJDK_TARGET_CPU" = xsparc; then
- CFLAGS_JDK="${CFLAGS_JDK} -xmemalign=4s"
- CXXFLAGS_JDK="${CXXFLAGS_JDK} -xmemalign=4s"
- fi
-
- case $OPENJDK_TARGET_CPU_ARCH in
- x86)
- C_O_FLAG_HIGHEST="-xO4 -Wu,-O4~yz $CC_HIGHEST -xregs=no%frameptr"
- C_O_FLAG_HI="-xO4 -Wu,-O4~yz -xregs=no%frameptr"
- C_O_FLAG_NORM="-xO2 -Wu,-O2~yz -xregs=no%frameptr"
- C_O_FLAG_NONE="-xregs=no%frameptr"
- CXX_O_FLAG_HIGHEST="-xO4 -Qoption ube -O4~yz $CC_HIGHEST -xregs=no%frameptr"
- CXX_O_FLAG_HI="-xO4 -Qoption ube -O4~yz -xregs=no%frameptr"
- CXX_O_FLAG_NORM="-xO2 -Qoption ube -O2~yz -xregs=no%frameptr"
- CXX_O_FLAG_NONE="-xregs=no%frameptr"
- if test "x$OPENJDK_TARGET_CPU" = xx86; then
- C_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST -xchip=pentium"
- CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HIGHEST -xchip=pentium"
- fi
- ;;
- sparc)
- CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
- CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl"
- C_O_FLAG_HIGHEST="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
- C_O_FLAG_HI="-xO4 -Wc,-Qrm-s -Wc,-Qiselect-T0"
- C_O_FLAG_NORM="-xO2 -Wc,-Qrm-s -Wc,-Qiselect-T0"
- C_O_FLAG_NONE=""
- CXX_O_FLAG_HIGHEST="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0 $CC_HIGHEST -xprefetch=auto,explicit -xchip=ultra"
- CXX_O_FLAG_HI="-xO4 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
- CXX_O_FLAG_NORM="-xO2 -Qoption cg -Qrm-s -Qoption cg -Qiselect-T0"
- CXX_O_FLAG_NONE=""
- ;;
- esac
-
- CFLAGS_DEBUG_SYMBOLS="-g -xs"
- CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
- ;;
- xlc )
- C_FLAG_DEPS="-qmakedep=gcc -MF"
- CXX_FLAG_DEPS="-qmakedep=gcc -MF"
- C_O_FLAG_HIGHEST="-O3"
- C_O_FLAG_HI="-O3 -qstrict"
- C_O_FLAG_NORM="-O2"
- C_O_FLAG_NONE=""
- CXX_O_FLAG_HIGHEST="-O3"
- CXX_O_FLAG_HI="-O3 -qstrict"
- CXX_O_FLAG_NORM="-O2"
- CXX_O_FLAG_NONE=""
- CFLAGS_DEBUG_SYMBOLS="-g"
- CXXFLAGS_DEBUG_SYMBOLS="-g"
- LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall"
- CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
- CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt"
- ;;
- esac
- ;;
- CL )
- C_O_FLAG_HIGHEST="-O2"
- C_O_FLAG_HI="-O1"
- C_O_FLAG_NORM="-O1"
- C_O_FLAG_NONE="-Od"
- CXX_O_FLAG_HIGHEST="$C_O_FLAG_HIGHEST"
- CXX_O_FLAG_HI="$C_O_FLAG_HI"
- CXX_O_FLAG_NORM="$C_O_FLAG_NORM"
- CXX_O_FLAG_NONE="$C_O_FLAG_NONE"
- ;;
- esac
-
- if test -z "$C_O_FLAG_HIGHEST"; then
- C_O_FLAG_HIGHEST="$C_O_FLAG_HI"
+ if test "x$TOOLCHAIN_TYPE" = xclang; then
+ USE_CLANG=true
fi
+ AC_SUBST(USE_CLANG)
- if test -z "$CXX_O_FLAG_HIGHEST"; then
- CXX_O_FLAG_HIGHEST="$CXX_O_FLAG_HI"
- fi
-
- AC_SUBST(C_O_FLAG_HIGHEST)
- AC_SUBST(C_O_FLAG_HI)
- AC_SUBST(C_O_FLAG_NORM)
- AC_SUBST(C_O_FLAG_NONE)
- AC_SUBST(CXX_O_FLAG_HIGHEST)
- AC_SUBST(CXX_O_FLAG_HI)
- AC_SUBST(CXX_O_FLAG_NORM)
- AC_SUBST(CXX_O_FLAG_NONE)
- AC_SUBST(C_FLAG_DEPS)
- AC_SUBST(CXX_FLAG_DEPS)
+ # LDEXE is the linker to use, when creating executables. Not really used.
+ # FIXME: These should just be removed!
+ LDEXE="$LD"
+ LDEXECXX="$LDCXX"
+ AC_SUBST(LDEXE)
+ AC_SUBST(LDEXECXX)
])
-AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_JDK],
+# Do some additional checks on the detected tools.
+AC_DEFUN_ONCE([TOOLCHAIN_MISC_CHECKS],
[
-
- if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
- AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
- fi
-
- if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
- AC_MSG_WARN([Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags])
- fi
-
- if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
- AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags])
- fi
-
- AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags],
- [extra flags to be used when compiling jdk c-files])])
-
- AC_ARG_WITH(extra-cxxflags, [AS_HELP_STRING([--with-extra-cxxflags],
- [extra flags to be used when compiling jdk c++-files])])
-
- AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags],
- [extra flags to be used when linking jdk])])
-
- CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
- CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
- LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
-
- # Hotspot needs these set in their legacy form
- LEGACY_EXTRA_CFLAGS=$with_extra_cflags
- LEGACY_EXTRA_CXXFLAGS=$with_extra_cxxflags
- LEGACY_EXTRA_LDFLAGS=$with_extra_ldflags
-
- AC_SUBST(LEGACY_EXTRA_CFLAGS)
- AC_SUBST(LEGACY_EXTRA_CXXFLAGS)
- AC_SUBST(LEGACY_EXTRA_LDFLAGS)
-
- ###############################################################################
- #
- # Now setup the CFLAGS and LDFLAGS for the JDK build.
- # Later we will also have CFLAGS and LDFLAGS for the hotspot subrepo build.
- #
- case $COMPILER_NAME in
- gcc )
- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \
- -pipe \
- -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE"
- case $OPENJDK_TARGET_CPU_ARCH in
- arm )
- # on arm we don't prevent gcc to omit frame pointer but do prevent strict aliasing
- CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
- ;;
- ppc )
- # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
- ;;
- * )
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -fno-omit-frame-pointer"
- CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
- ;;
- esac
- ;;
- ossc )
- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS"
- case $OPENJDK_TARGET_CPU_ARCH in
- x86 )
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB"
- CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE"
- ;;
- esac
-
- CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal"
- CXXFLAGS_JDK="$CXXFLAGS_JDK -errtags=yes +w -mt -features=no%except -DCC_NOEX -norunpath -xnolib"
-
- LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext"
- LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib"
- ;;
- xlc )
- CFLAGS_JDK="$CFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
- CXXFLAGS_JDK="$CXXFLAGS_JDK -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE -DSTDC"
-
- LDFLAGS_JDK="$LDFLAGS_JDK"
- LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK"
- ;;
- cl )
- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -Zi -MD -Zc:wchar_t- -W3 -wd4800 \
- -D_STATIC_CPPLIB -D_DISABLE_DEPRECATE_STATIC_CPPLIB -DWIN32_LEAN_AND_MEAN \
- -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE \
- -DWIN32 -DIAL"
- case $OPENJDK_TARGET_CPU in
- x86 )
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_X86_ -Dx86"
- ;;
- x86_64 )
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_AMD64_ -Damd64"
- ;;
- esac
- ;;
- esac
-
- ###############################################################################
-
- # Adjust flags according to debug level.
- case $DEBUG_LEVEL in
- fastdebug )
- CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
- CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
- C_O_FLAG_HI="$C_O_FLAG_NORM"
- C_O_FLAG_NORM="$C_O_FLAG_NORM"
- CXX_O_FLAG_HI="$CXX_O_FLAG_NORM"
- CXX_O_FLAG_NORM="$CXX_O_FLAG_NORM"
- JAVAC_FLAGS="$JAVAC_FLAGS -g"
- ;;
- slowdebug )
- CFLAGS_JDK="$CFLAGS_JDK $CFLAGS_DEBUG_SYMBOLS"
- CXXFLAGS_JDK="$CXXFLAGS_JDK $CXXFLAGS_DEBUG_SYMBOLS"
- C_O_FLAG_HI="$C_O_FLAG_NONE"
- C_O_FLAG_NORM="$C_O_FLAG_NONE"
- CXX_O_FLAG_HI="$CXX_O_FLAG_NONE"
- CXX_O_FLAG_NORM="$CXX_O_FLAG_NONE"
- JAVAC_FLAGS="$JAVAC_FLAGS -g"
- ;;
- esac
-
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
-
# The package path is used only on macosx?
+ # FIXME: clean this up, and/or move it elsewhere.
PACKAGE_PATH=/opt/local
AC_SUBST(PACKAGE_PATH)
- if test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
- # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
- # Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
- # (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
- # Note: -Dmacro is the same as #define macro 1
- # -Dmacro= is the same as #define macro
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN="
- else
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN"
- fi
- else
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN"
- fi
- if test "x$OPENJDK_TARGET_OS" = xlinux; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX"
- fi
- if test "x$OPENJDK_TARGET_OS" = xwindows; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DWINDOWS"
- fi
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DSOLARIS"
- fi
- if test "x$OPENJDK_TARGET_OS" = xaix; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DAIX -DPPC64"
- fi
- if test "x$OPENJDK_TARGET_OS" = xmacosx; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMACOSX -D_ALLBSD_SOURCE -D_DARWIN_UNLIMITED_SELECT"
- # Setting these parameters makes it an error to link to macosx APIs that are
- # newer than the given OS version and makes the linked binaries compatible even
- # if built on a newer version of the OS.
- # The expected format is X.Y.Z
- MACOSX_VERSION_MIN=10.7.0
- AC_SUBST(MACOSX_VERSION_MIN)
- # The macro takes the version with no dots, ex: 1070
- # Let the flags variables get resolved in make for easier override on make
- # command line.
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DMAC_OS_X_VERSION_MAX_ALLOWED=\$(subst .,,\$(MACOSX_VERSION_MIN)) -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
- LDFLAGS_JDK="$LDFLAGS_JDK -mmacosx-version-min=\$(MACOSX_VERSION_MIN)"
- fi
- if test "x$OPENJDK_TARGET_OS" = xbsd; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DBSD -D_ALLBSD_SOURCE"
- fi
- if test "x$DEBUG_LEVEL" = xrelease; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DNDEBUG"
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DTRIMMED"
- fi
- else
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DDEBUG"
- fi
-
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'"
-
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
- -I${JDK_OUTPUTDIR}/include \
- -I${JDK_OUTPUTDIR}/include/$OPENJDK_TARGET_OS \
- -I${JDK_TOPDIR}/src/share/javavm/export \
- -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_EXPORT_DIR/javavm/export \
- -I${JDK_TOPDIR}/src/share/native/common \
- -I${JDK_TOPDIR}/src/$OPENJDK_TARGET_OS_API_DIR/native/common"
-
- # The shared libraries are compiled using the picflag.
- CFLAGS_JDKLIB="$CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA"
- CXXFLAGS_JDKLIB="$CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA "
-
- # Executable flags
- CFLAGS_JDKEXE="$CCXXFLAGS_JDK $CFLAGS_JDK"
- CXXFLAGS_JDKEXE="$CCXXFLAGS_JDK $CXXFLAGS_JDK"
-
- # Now this is odd. The JDK native libraries have to link against libjvm.so
- # On 32-bit machines there is normally two distinct libjvm.so:s, client and server.
- # Which should we link to? Are we lucky enough that the binary api to the libjvm.so library
- # is identical for client and server? Yes. Which is picked at runtime (client or server)?
- # Neither, since the chosen libjvm.so has already been loaded by the launcher, all the following
- # libraries will link to whatever is in memory. Yuck.
- #
- # Thus we offer the compiler to find libjvm.so first in server then in client. It works. Ugh.
- if test "x$COMPILER_NAME" = xcl; then
- LDFLAGS_JDK="$LDFLAGS_JDK -nologo -opt:ref -incremental:no"
- if test "x$OPENJDK_TARGET_CPU" = xx86; then
- LDFLAGS_JDK="$LDFLAGS_JDK -safeseh"
- fi
- # TODO: make -debug optional "--disable-full-debug-symbols"
- LDFLAGS_JDK="$LDFLAGS_JDK -debug"
- LDFLAGS_JDKLIB="${LDFLAGS_JDK} -dll -libpath:${JDK_OUTPUTDIR}/lib"
- LDFLAGS_JDKLIB_SUFFIX=""
- if test "x$OPENJDK_TARGET_CPU_BITS" = "x64"; then
- LDFLAGS_STACK_SIZE=1048576
- else
- LDFLAGS_STACK_SIZE=327680
- fi
- LDFLAGS_JDKEXE="${LDFLAGS_JDK} /STACK:$LDFLAGS_STACK_SIZE"
- else
- if test "x$COMPILER_NAME" = xgcc; then
- # If this is a --hash-style=gnu system, use --hash-style=both, why?
- HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'`
- if test -n "$HAS_GNU_HASH"; then
- LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker --hash-style=both "
+ # Check for extra potential brokenness.
+ if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
+ # On Windows, double-check that we got the right compiler.
+ CC_VERSION_OUTPUT=`$CC 2>&1 | $HEAD -n 1 | $TR -d '\r'`
+ COMPILER_CPU_TEST=`$ECHO $CC_VERSION_OUTPUT | $SED -n "s/^.* \(.*\)$/\1/p"`
+ if test "x$OPENJDK_TARGET_CPU" = "xx86"; then
+ if test "x$COMPILER_CPU_TEST" != "x80x86"; then
+ AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "80x86".])
fi
- if test "x$OPENJDK_TARGET_OS" = xlinux; then
- # And since we now know that the linker is gnu, then add -z defs, to forbid
- # undefined symbols in object files.
- LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -z -Xlinker defs"
- if test "x$DEBUG_LEVEL" = "xrelease"; then
- # When building release libraries, tell the linker optimize them.
- # Should this be supplied to the OSS linker as well?
- LDFLAGS_JDK="${LDFLAGS_JDK} -Xlinker -O1"
- fi
+ elif test "x$OPENJDK_TARGET_CPU" = "xx86_64"; then
+ if test "x$COMPILER_CPU_TEST" != "xx64"; then
+ AC_MSG_ERROR([Target CPU mismatch. We are building for $OPENJDK_TARGET_CPU but CL is for "$COMPILER_CPU_TEST"; expected "x64".])
fi
fi
- LDFLAGS_JDKLIB="${LDFLAGS_JDK} $SHARED_LIBRARY_FLAGS \
- -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}"
-
- # On some platforms (mac) the linker warns about non existing -L dirs.
- # Add server first if available. Linking aginst client does not always produce the same results.
- # Only add client dir if client is being built. Add minimal (note not minimal1) if only building minimal1.
- # Default to server for other variants.
- if test "x$JVM_VARIANT_SERVER" = xtrue; then
- LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
- elif test "x$JVM_VARIANT_CLIENT" = xtrue; then
- LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/client"
- elif test "x$JVM_VARIANT_MINIMAL1" = xtrue; then
- LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/minimal"
- else
- LDFLAGS_JDKLIB="${LDFLAGS_JDKLIB} -L${JDK_OUTPUTDIR}/lib${OPENJDK_TARGET_CPU_LIBDIR}/server"
- fi
-
- LDFLAGS_JDKLIB_SUFFIX="-ljava -ljvm"
- if test "x$COMPILER_NAME" = xossc; then
- LDFLAGS_JDKLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX -lc"
- fi
-
- LDFLAGS_JDKEXE="${LDFLAGS_JDK}"
- if test "x$OPENJDK_TARGET_OS" = xlinux; then
- LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE -Xlinker --allow-shlib-undefined"
- fi
fi
- AC_SUBST(CFLAGS_JDKLIB)
- AC_SUBST(CFLAGS_JDKEXE)
-
- AC_SUBST(CXXFLAGS_JDKLIB)
- AC_SUBST(CXXFLAGS_JDKEXE)
-
- AC_SUBST(LDFLAGS_JDKLIB)
- AC_SUBST(LDFLAGS_JDKEXE)
- AC_SUBST(LDFLAGS_JDKLIB_SUFFIX)
- AC_SUBST(LDFLAGS_JDKEXE_SUFFIX)
- AC_SUBST(LDFLAGS_CXX_JDK)
-])
-
-
-# TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE],
-# [RUN-IF-FALSE])
-# ------------------------------------------------------------
-# Check that the c and c++ compilers support an argument
-AC_DEFUN([TOOLCHAIN_COMPILER_CHECK_ARGUMENTS],
-[
- AC_MSG_CHECKING([if compiler supports "$1"])
- supports=yes
-
- saved_cflags="$CFLAGS"
- CFLAGS="$CFLAGS $1"
- AC_LANG_PUSH([C])
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
- [supports=no])
- AC_LANG_POP([C])
- CFLAGS="$saved_cflags"
-
- saved_cxxflags="$CXXFLAGS"
- CXXFLAGS="$CXXFLAG $1"
- AC_LANG_PUSH([C++])
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i;]])], [],
- [supports=no])
- AC_LANG_POP([C++])
- CXXFLAGS="$saved_cxxflags"
-
- AC_MSG_RESULT([$supports])
- if test "x$supports" = "xyes" ; then
- m4_ifval([$2], [$2], [:])
- else
- m4_ifval([$3], [$3], [:])
+ if test "x$TOOLCHAIN_TYPE" = xgcc; then
+ # If this is a --hash-style=gnu system, use --hash-style=both, why?
+ HAS_GNU_HASH=`$CC -dumpspecs 2>/dev/null | $GREP 'hash-style=gnu'`
+ # This is later checked when setting flags.
fi
-])
-AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_MISC],
-[
- # Some Zero and Shark settings.
- # ZERO_ARCHFLAG tells the compiler which mode to build for
- case "${OPENJDK_TARGET_CPU}" in
- s390)
- ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}31"
- ;;
- *)
- ZERO_ARCHFLAG="${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}"
- esac
- TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([$ZERO_ARCHFLAG], [], [ZERO_ARCHFLAG=""])
- AC_SUBST(ZERO_ARCHFLAG)
-
- # Check that the compiler supports -mX (or -qX on AIX) flags
- # Set COMPILER_SUPPORTS_TARGET_BITS_FLAG to 'true' if it does
- TOOLCHAIN_COMPILER_CHECK_ARGUMENTS([${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}],
- [COMPILER_SUPPORTS_TARGET_BITS_FLAG=true],
- [COMPILER_SUPPORTS_TARGET_BITS_FLAG=false])
- AC_SUBST(COMPILER_SUPPORTS_TARGET_BITS_FLAG)
-
-
- # Check for broken SuSE 'ld' for which 'Only anonymous version tag is allowed in executable.'
+ # Check for broken SuSE 'ld' for which 'Only anonymous version tag is allowed
+ # in executable.'
USING_BROKEN_SUSE_LD=no
- if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$GCC" = xyes; then
+ if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$TOOLCHAIN_TYPE" = xgcc; then
AC_MSG_CHECKING([for broken SuSE 'ld' which only understands anonymous version tags in executables])
echo "SUNWprivate_1.1 { local: *; };" > version-script.map
echo "int main() { }" > main.c
@@ -1205,12 +699,12 @@
AC_MSG_RESULT(yes)
USING_BROKEN_SUSE_LD=yes
fi
- rm -rf version-script.map main.c
+ rm -rf version-script.map main.c a.out
fi
AC_SUBST(USING_BROKEN_SUSE_LD)
])
-# Setup the JTREG paths
+# Setup the JTReg Regression Test Harness.
AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG],
[
AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg],
diff --git a/common/bin/hgforest.sh b/common/bin/hgforest.sh
index 2282c32..d8164d6 100644
--- a/common/bin/hgforest.sh
+++ b/common/bin/hgforest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2014, 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
@@ -88,7 +88,7 @@
fi
done
if [ "${pull_extra_base}" != "" ] ; then
- subrepos_extra="jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs"
+ subrepos_extra="closed jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs"
pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'`
pull_extra="${pull_extra_base}/${pull_default_tail}"
for i in ${subrepos_extra} ; do
diff --git a/configure b/configure
index dbb1da1..4ab8846 100644
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2014, 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,5 +25,10 @@
# This is a thin wrapper which will call the real configure script, and
# make sure that is called using bash.
+# Get an absolute path to this script, since that determines the top-level directory.
this_script_dir=`dirname $0`
-bash $this_script_dir/common/autoconf/configure "$@"
+this_script_dir=`cd $this_script_dir > /dev/null && pwd`
+
+# Delegate to wrapper, forcing wrapper to believe $0 is this script by using -c.
+# This trick is needed to get autoconf to co-operate properly.
+bash -c ". $this_script_dir/common/autoconf/configure" $this_script_dir/configure CHECKME $this_script_dir "$@"
diff --git a/corba/.hgtags b/corba/.hgtags
index 03c69ec..13a64cf 100644
--- a/corba/.hgtags
+++ b/corba/.hgtags
@@ -245,3 +245,4 @@
a7d3638deb2f4e33217b1ecf889479e90f9e5b50 jdk9-b00
79a8136b18c1c6848f500088f5a4b39f262f082d jdk9-b01
8394993063135a42b63a94473280399fb2a13aa7 jdk9-b02
+d338b892a13db19b093f85cf5f949a4504e4d31f jdk9-b03
diff --git a/corba/THIRD_PARTY_README b/corba/THIRD_PARTY_README
index ee5463a..a93b35b 100644
--- a/corba/THIRD_PARTY_README
+++ b/corba/THIRD_PARTY_README
@@ -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.
+form with the JDK 8 and OpenJDK 8 source distributions, and as object code in
+the JRE 8 & JDK 8 runtimes.
-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.
+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:
+%% 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 Derby 10.8.1.2 [included with JDK 7 only]
+ 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 ---
diff --git a/corba/make/CompileCorba.gmk b/corba/make/CompileCorba.gmk
index 16e0c4e..f50d4ca 100644
--- a/corba/make/CompileCorba.gmk
+++ b/corba/make/CompileCorba.gmk
@@ -37,8 +37,7 @@
$(eval $(call SetupJavaCompilation,BUILD_CORBA, \
SETUP := GENERATE_NEWBYTECODE, \
SRC := $(CORBA_TOPDIR)/src/share/classes $(CORBA_OUTPUTDIR)/gensrc, \
- EXCLUDES := com/sun/corba/se/PortableActivationIDL \
- com/sun/tools/corba/se/logutil, \
+ EXCLUDES := com/sun/corba/se/PortableActivationIDL, \
EXCLUDE_FILES := com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \
com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \
com/sun/org/omg/CORBA/IDLTypeOperations.java \
diff --git a/corba/make/GensrcCorba.gmk b/corba/make/GensrcCorba.gmk
index 61030ed..8dbf510 100644
--- a/corba/make/GensrcCorba.gmk
+++ b/corba/make/GensrcCorba.gmk
@@ -34,14 +34,17 @@
################################################################################
-$(eval $(call SetupJavaCompilation,BUILD_STRIPPROP, \
+$(eval $(call SetupJavaCompilation,BUILD_TOOLS, \
SETUP := GENERATE_OLDBYTECODE, \
- SRC := $(CORBA_TOPDIR)/make/tools/src, \
- BIN := $(CORBA_OUTPUTDIR)/stripprop_classes))
+ SRC := $(CORBA_TOPDIR)/make/src/classes, \
+ BIN := $(CORBA_OUTPUTDIR)/tools_classes))
-TOOL_STRIPPROP_CMD := $(JAVA) -cp $(CORBA_OUTPUTDIR)/stripprop_classes \
+TOOL_STRIPPROP_CMD := $(JAVA) -cp $(CORBA_OUTPUTDIR)/tools_classes \
build.tools.stripproperties.StripPropertiesCorba
+TOOL_LOGUTIL_CMD := $(JAVA) -cp $(CORBA_OUTPUTDIR)/tools_classes \
+ build.tools.logutil.MC
+
$(eval $(call SetupJavaCompilation,BUILD_IDLJ, \
SETUP := GENERATE_OLDBYTECODE, \
SRC := $(CORBA_TOPDIR)/src/share/classes, \
@@ -53,21 +56,12 @@
TOOL_IDLJ_CMD := $(JAVA) -cp $(CORBA_OUTPUTDIR)/idlj_classes \
com.sun.tools.corba.se.idl.toJavaPortable.Compile
-$(eval $(call SetupJavaCompilation,BUILD_LOGUTIL, \
- SETUP := GENERATE_OLDBYTECODE, \
- SRC := $(CORBA_TOPDIR)/src/share/classes, \
- BIN := $(CORBA_OUTPUTDIR)/logutil_classes, \
- INCLUDES := com/sun/tools/corba/se/logutil))
-
-TOOL_LOGUTIL_CMD := $(JAVA) -cp $(CORBA_OUTPUTDIR)/logutil_classes \
- com.sun.tools.corba.se.logutil.MC
-
################################################################################
# Generate LogWrapper classes
$(CORBA_OUTPUTDIR)/gensrc/com/sun/corba/se/impl/logging/%SystemException.java: \
$(CORBA_TOPDIR)/src/share/classes/com/sun/corba/se/spi/logging/data/%.mc \
- $(BUILD_LOGUTIL)
+ $(BUILD_TOOLS)
$(MKDIR) -p $(@D)
$(RM) -f $(@D)/_the_wrappers.d
$(ECHO) $(LOG_INFO) Generating class file from $*.mc
@@ -90,7 +84,7 @@
# The resources files are generated from lisp-like .mc files.
$(CORBA_OUTPUTDIR)/logwrappers/%SystemException.resource: \
$(CORBA_TOPDIR)/src/share/classes/com/sun/corba/se/spi/logging/data/%.mc \
- $(BUILD_LOGUTIL)
+ $(BUILD_TOOLS)
$(MKDIR) -p $(@D)
$(RM) -f $(@D)/_the_wrappers.d
$(ECHO) $(LOG_INFO) Generating resource file from $*.mc
@@ -111,6 +105,115 @@
################################################################################
# Build the IDLs.
+IDL_DELETES := \
+ org/omg/DynamicAny/*POA* \
+ org/omg/DynamicAny/*Holder* \
+ org/omg/DynamicAny/DynValueBoxHelper.java \
+ org/omg/DynamicAny/DynValueCommonHelper.java \
+ org/omg/DynamicAny/_DynValueCommonStub.java \
+ org/omg/DynamicAny/_DynValueBoxStub.java \
+ org/omg/DynamicAny/DynAnyPackage/TypeMismatchHolder.java \
+ org/omg/DynamicAny/DynAnyPackage/InvalidValueHolder.java \
+ org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHolder.java \
+ org/omg/IOP/BI_DIR_IIOP.java \
+ org/omg/IOP/ChainBypassCheck.java \
+ org/omg/IOP/ChainBypassInfo.java \
+ org/omg/IOP/FORWARDED_IDENTITY.java \
+ org/omg/IOP/INVOCATION_POLICIES.java \
+ org/omg/IOP/LogicalThreadId.java \
+ org/omg/IOP/SendingContextRunTime.java \
+ org/omg/IOP/UnknownExceptionInfo.java \
+ org/omg/IOP/TaggedComponentSeqHolder.java \
+ org/omg/PortableServer/CurrentPackage/NoContextHolder.java \
+ org/omg/PortableServer/ForwardRequestHolder.java \
+ org/omg/PortableServer/IdAssignmentPolicyValueHelper.java \
+ org/omg/PortableServer/IdAssignmentPolicyValueHolder.java \
+ org/omg/PortableServer/IdUniquenessPolicyValueHelper.java \
+ org/omg/PortableServer/IdUniquenessPolicyValueHolder.java \
+ org/omg/PortableServer/ImplicitActivationPolicyValueHelper.java \
+ org/omg/PortableServer/ImplicitActivationPolicyValueHolder.java \
+ org/omg/PortableServer/LifespanPolicyValueHelper.java \
+ org/omg/PortableServer/LifespanPolicyValueHolder.java \
+ org/omg/PortableServer/ServantRetentionPolicyValueHelper.java \
+ org/omg/PortableServer/ServantRetentionPolicyValueHolder.java \
+ org/omg/PortableServer/ObjectIdHelper.java \
+ org/omg/PortableServer/ObjectIdHolder.java \
+ org/omg/PortableServer/POAListHelper.java \
+ org/omg/PortableServer/POAListHolder.java \
+ org/omg/PortableServer/POAManagerPackage/AdapterInactiveHolder.java \
+ org/omg/PortableServer/POAManagerPackage/StateHelper.java \
+ org/omg/PortableServer/POAManagerPackage/StateHolder.java \
+ org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHolder.java \
+ org/omg/PortableServer/POAPackage/AdapterNonExistentHolder.java \
+ org/omg/PortableServer/POAPackage/InvalidPolicyHolder.java \
+ org/omg/PortableServer/POAPackage/NoServantHolder.java \
+ org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHolder.java \
+ org/omg/PortableServer/POAPackage/ObjectNotActiveHolder.java \
+ org/omg/PortableServer/POAPackage/ServantAlreadyActiveHolder.java \
+ org/omg/PortableServer/POAPackage/ServantNotActiveHolder.java \
+ org/omg/PortableServer/POAPackage/WrongAdapterHolder.java \
+ org/omg/PortableServer/POAPackage/WrongPolicyHolder.java \
+ org/omg/PortableServer/RequestProcessingPolicyValueHelper.java \
+ org/omg/PortableServer/RequestProcessingPolicyValueHolder.java \
+ org/omg/PortableServer/ServantActivatorHolder.java \
+ org/omg/PortableServer/ServantLocatorHolder.java \
+ org/omg/PortableServer/ThreadPolicyValueHelper.java \
+ org/omg/PortableServer/ThreadPolicyValueHolder.java \
+ org/omg/PortableInterceptor/ClientRequestInfoHelper.java \
+ org/omg/PortableInterceptor/ClientRequestInterceptorHelper.java \
+ org/omg/PortableInterceptor/IORInfoHelper.java \
+ org/omg/PortableInterceptor/IORInterceptorHelper.java \
+ org/omg/PortableInterceptor/InterceptorHelper.java \
+ org/omg/PortableInterceptor/ORBInitInfoHelper.java \
+ org/omg/PortableInterceptor/ORBInitializerHelper.java \
+ org/omg/PortableInterceptor/PolicyFactoryHelper.java \
+ org/omg/PortableInterceptor/ReplyStatusHelper.java \
+ org/omg/PortableInterceptor/RequestInfoHelper.java \
+ org/omg/PortableInterceptor/ServerRequestInfoHelper.java \
+ org/omg/PortableInterceptor/ServerRequestInterceptorHelper.java \
+ org/omg/PortableInterceptor/SlotIdHelper.java \
+ org/omg/PortableInterceptor/ClientRequestInfoHolder.java \
+ org/omg/PortableInterceptor/ClientRequestInterceptorHolder.java \
+ org/omg/PortableInterceptor/CurrentHolder.java \
+ org/omg/PortableInterceptor/ForwardRequestHolder.java \
+ org/omg/PortableInterceptor/IORInfoHolder.java \
+ org/omg/PortableInterceptor/IORInterceptorHolder.java \
+ org/omg/PortableInterceptor/InterceptorHolder.java \
+ org/omg/PortableInterceptor/InvalidSlotHolder.java \
+ org/omg/PortableInterceptor/ORBInitInfoHolder.java \
+ org/omg/PortableInterceptor/ORBInitializerHolder.java \
+ org/omg/PortableInterceptor/PolicyFactoryHolder.java \
+ org/omg/PortableInterceptor/RequestInfoHolder.java \
+ org/omg/PortableInterceptor/ServerRequestInfoHolder.java \
+ org/omg/PortableInterceptor/ServerRequestInterceptorHolder.java \
+ org/omg/PortableInterceptor/TaggedComponentSeqHolder.java \
+ org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHolder.java \
+ org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHolder.java \
+ org/omg/IOP/CodecPackage/FormatMismatchHolder.java \
+ org/omg/IOP/CodecPackage/InvalidTypeForEncodingHolder.java \
+ org/omg/IOP/CodecPackage/TypeMismatchHolder.java \
+ org/omg/IOP/CodecHelper.java \
+ org/omg/IOP/EncodingFormatHelper.java \
+ org/omg/IOP/EncodingHelper.java \
+ org/omg/IOP/CodecFactoryPackage/UnknownEncodingHolder.java \
+ org/omg/IOP/CodecFactoryHolder.java \
+ org/omg/IOP/CodecHolder.java \
+ org/omg/IOP/EncodingHolder.java \
+ org/omg/IOP/TaggedComponentSeqHelper.java \
+ org/omg/Dynamic/ContextListHelper.java \
+ org/omg/Dynamic/ExceptionListHelper.java \
+ org/omg/Dynamic/ParameterHolder.java \
+ org/omg/Dynamic/ParameterListHolder.java \
+ org/omg/Dynamic/ExceptionListHolder.java \
+ org/omg/Dynamic/ParameterHelper.java \
+ org/omg/Dynamic/ParameterListHelper.java \
+ org/omg/Dynamic/RequestContextHelper.java \
+ org/omg/CORBA/OctetSeqHelper.java \
+ org/omg/CORBA/OctetSeqHolder.java \
+ org/omg/CORBA/PolicyError.java \
+ org/omg/CORBA/RepositoryIdHelper.java \
+ #
+
$(eval $(call SetupIdlCompilation,BUILD_IDLS, \
IDLJ := $(TOOL_IDLJ_CMD), \
SRC := $(CORBA_TOPDIR)/src/share/classes, \
@@ -122,7 +225,7 @@
INCLUDES := %, \
OLDIMPLBASES := com/sun/corba/se/PortableActivationIDL/activation.idl \
com/sun/corba/se/spi/activation/activation.idl, \
- DELETES := DYNANYDELETEFILES org/omg/DynamicAny/*POA* org/omg/DynamicAny/*Holder* org/omg/DynamicAny/DynValueBoxHelper.java org/omg/DynamicAny/DynValueCommonHelper.java org/omg/DynamicAny/_DynValueCommonStub.java org/omg/DynamicAny/_DynValueBoxStub.java org/omg/DynamicAny/DynAnyPackage/TypeMismatchHolder.java org/omg/DynamicAny/DynAnyPackage/InvalidValueHolder.java org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHolder.java IOPDELETEFILES org/omg/IOP/BI_DIR_IIOP.java org/omg/IOP/ChainBypassCheck.java org/omg/IOP/ChainBypassInfo.java org/omg/IOP/FORWARDED_IDENTITY.java org/omg/IOP/INVOCATION_POLICIES.java org/omg/IOP/LogicalThreadId.java org/omg/IOP/SendingContextRunTime.java org/omg/IOP/UnknownExceptionInfo.java org/omg/IOP/TaggedComponentSeqHolder.java POAHELHOLFILES org/omg/PortableServer/CurrentPackage/NoContextHolder.java org/omg/PortableServer/ForwardRequestHolder.java org/omg/PortableServer/IdAssignmentPolicyValueHelper.java org/omg/PortableServer/IdAssignmentPolicyValueHolder.java org/omg/PortableServer/IdUniquenessPolicyValueHelper.java org/omg/PortableServer/IdUniquenessPolicyValueHolder.java org/omg/PortableServer/ImplicitActivationPolicyValueHelper.java org/omg/PortableServer/ImplicitActivationPolicyValueHolder.java org/omg/PortableServer/LifespanPolicyValueHelper.java org/omg/PortableServer/LifespanPolicyValueHolder.java org/omg/PortableServer/ServantRetentionPolicyValueHelper.java org/omg/PortableServer/ServantRetentionPolicyValueHolder.java org/omg/PortableServer/ObjectIdHelper.java org/omg/PortableServer/ObjectIdHolder.java org/omg/PortableServer/POAListHelper.java org/omg/PortableServer/POAListHolder.java org/omg/PortableServer/POAManagerPackage/AdapterInactiveHolder.java org/omg/PortableServer/POAManagerPackage/StateHelper.java org/omg/PortableServer/POAManagerPackage/StateHolder.java org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHolder.java org/omg/PortableServer/POAPackage/AdapterNonExistentHolder.java org/omg/PortableServer/POAPackage/InvalidPolicyHolder.java org/omg/PortableServer/POAPackage/NoServantHolder.java org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHolder.java org/omg/PortableServer/POAPackage/ObjectNotActiveHolder.java org/omg/PortableServer/POAPackage/ServantAlreadyActiveHolder.java org/omg/PortableServer/POAPackage/ServantNotActiveHolder.java org/omg/PortableServer/POAPackage/WrongAdapterHolder.java org/omg/PortableServer/POAPackage/WrongPolicyHolder.java org/omg/PortableServer/RequestProcessingPolicyValueHelper.java org/omg/PortableServer/RequestProcessingPolicyValueHolder.java org/omg/PortableServer/ServantActivatorHolder.java org/omg/PortableServer/ServantLocatorHolder.java org/omg/PortableServer/ThreadPolicyValueHelper.java org/omg/PortableServer/ThreadPolicyValueHolder.java PIHELHOLFILES org/omg/PortableInterceptor/ClientRequestInfoHelper.java org/omg/PortableInterceptor/ClientRequestInterceptorHelper.java org/omg/PortableInterceptor/IORInfoHelper.java org/omg/PortableInterceptor/IORInterceptorHelper.java org/omg/PortableInterceptor/InterceptorHelper.java org/omg/PortableInterceptor/ORBInitInfoHelper.java org/omg/PortableInterceptor/ORBInitializerHelper.java org/omg/PortableInterceptor/PolicyFactoryHelper.java org/omg/PortableInterceptor/ReplyStatusHelper.java org/omg/PortableInterceptor/RequestInfoHelper.java org/omg/PortableInterceptor/ServerRequestInfoHelper.java org/omg/PortableInterceptor/ServerRequestInterceptorHelper.java org/omg/PortableInterceptor/SlotIdHelper.java org/omg/PortableInterceptor/ClientRequestInfoHolder.java org/omg/PortableInterceptor/ClientRequestInterceptorHolder.java org/omg/PortableInterceptor/CurrentHolder.java org/omg/PortableInterceptor/ForwardRequestHolder.java org/omg/PortableInterceptor/IORInfoHolder.java org/omg/PortableInterceptor/IORInterceptorHolder.java org/omg/PortableInterceptor/InterceptorHolder.java org/omg/PortableInterceptor/InvalidSlotHolder.java org/omg/PortableInterceptor/ORBInitInfoHolder.java org/omg/PortableInterceptor/ORBInitializerHolder.java org/omg/PortableInterceptor/PolicyFactoryHolder.java org/omg/PortableInterceptor/RequestInfoHolder.java org/omg/PortableInterceptor/ServerRequestInfoHolder.java org/omg/PortableInterceptor/ServerRequestInterceptorHolder.java org/omg/PortableInterceptor/TaggedComponentSeqHolder.java org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHolder.java org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHolder.java org/omg/IOP/CodecPackage/FormatMismatchHolder.java org/omg/IOP/CodecPackage/InvalidTypeForEncodingHolder.java org/omg/IOP/CodecPackage/TypeMismatchHolder.java org/omg/IOP/CodecHelper.java org/omg/IOP/EncodingFormatHelper.java org/omg/IOP/EncodingHelper.java org/omg/IOP/CodecFactoryPackage/UnknownEncodingHolder.java org/omg/IOP/CodecFactoryHolder.java org/omg/IOP/CodecHolder.java org/omg/IOP/EncodingHolder.java org/omg/IOP/TaggedComponentSeqHelper.java org/omg/Dynamic/ContextListHelper.java org/omg/Dynamic/ExceptionListHelper.java org/omg/Dynamic/ParameterHolder.java org/omg/Dynamic/ParameterListHolder.java org/omg/Dynamic/ExceptionListHolder.java org/omg/Dynamic/ParameterHelper.java org/omg/Dynamic/ParameterListHelper.java org/omg/Dynamic/RequestContextHelper.java CORBAX org/omg/CORBA/OctetSeqHelper.java org/omg/CORBA/OctetSeqHolder.java org/omg/CORBA/PolicyError.java org/omg/CORBA/RepositoryIdHelper.java))
+ DELETES := $(IDL_DELETES)))
$(BUILD_IDLS): $(BUILD_IDLJ)
@@ -142,7 +245,7 @@
$(addprefix _SPACE_, $(STRIP_PROP_FILES))))
$(CORBA_OUTPUTDIR)/_the.stripped_properties: $(STRIP_PROP_SRC_FILES) \
- $(BUILD_STRIPPROP)
+ $(BUILD_TOOLS)
$(MKDIR) -p $(sort $(dir $(STRIP_PROP_FILES)))
$(call ListPathsSafely,STRIP_PROP_CMDLINE,\n, >> $(CORBA_OUTPUTDIR)/_the.strip_prop.cmdline)
$(TOOL_STRIPPROP_CMD) @$(CORBA_OUTPUTDIR)/_the.strip_prop.cmdline
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/logutil/IndentingPrintWriter.java b/corba/make/src/classes/build/tools/logutil/IndentingPrintWriter.java
similarity index 98%
rename from corba/src/share/classes/com/sun/tools/corba/se/logutil/IndentingPrintWriter.java
rename to corba/make/src/classes/build/tools/logutil/IndentingPrintWriter.java
index 164b8cb..d6272db 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/logutil/IndentingPrintWriter.java
+++ b/corba/make/src/classes/build/tools/logutil/IndentingPrintWriter.java
@@ -23,7 +23,7 @@
* questions.
*/
-package com.sun.tools.corba.se.logutil;
+package build.tools.logutil;
import java.io.PrintWriter ;
import java.io.Writer ;
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/logutil/Input.java b/corba/make/src/classes/build/tools/logutil/Input.java
similarity index 98%
rename from corba/src/share/classes/com/sun/tools/corba/se/logutil/Input.java
rename to corba/make/src/classes/build/tools/logutil/Input.java
index c0e5cf6..62c80a9 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/logutil/Input.java
+++ b/corba/make/src/classes/build/tools/logutil/Input.java
@@ -23,7 +23,7 @@
* questions.
*/
-package com.sun.tools.corba.se.logutil;
+package build.tools.logutil;
import java.io.BufferedReader;
import java.io.File;
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/logutil/InputCode.java b/corba/make/src/classes/build/tools/logutil/InputCode.java
similarity index 98%
rename from corba/src/share/classes/com/sun/tools/corba/se/logutil/InputCode.java
rename to corba/make/src/classes/build/tools/logutil/InputCode.java
index 1e26e72..b033382 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/logutil/InputCode.java
+++ b/corba/make/src/classes/build/tools/logutil/InputCode.java
@@ -22,7 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.sun.tools.corba.se.logutil;
+package build.tools.logutil;
public class InputCode {
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/logutil/InputException.java b/corba/make/src/classes/build/tools/logutil/InputException.java
similarity index 97%
rename from corba/src/share/classes/com/sun/tools/corba/se/logutil/InputException.java
rename to corba/make/src/classes/build/tools/logutil/InputException.java
index d4aecc0..5b13de2 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/logutil/InputException.java
+++ b/corba/make/src/classes/build/tools/logutil/InputException.java
@@ -22,7 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.sun.tools.corba.se.logutil;
+package build.tools.logutil;
import java.util.LinkedList;
import java.util.Queue;
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/logutil/MC.java b/corba/make/src/classes/build/tools/logutil/MC.java
similarity index 99%
rename from corba/src/share/classes/com/sun/tools/corba/se/logutil/MC.java
rename to corba/make/src/classes/build/tools/logutil/MC.java
index b2fd98a..c02602e 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/logutil/MC.java
+++ b/corba/make/src/classes/build/tools/logutil/MC.java
@@ -22,7 +22,7 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package com.sun.tools.corba.se.logutil;
+package build.tools.logutil;
import java.io.File;
import java.io.FileNotFoundException;
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/logutil/StringUtil.java b/corba/make/src/classes/build/tools/logutil/StringUtil.java
similarity index 97%
rename from corba/src/share/classes/com/sun/tools/corba/se/logutil/StringUtil.java
rename to corba/make/src/classes/build/tools/logutil/StringUtil.java
index 2eacfe9..c560235 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/logutil/StringUtil.java
+++ b/corba/make/src/classes/build/tools/logutil/StringUtil.java
@@ -23,7 +23,7 @@
* questions.
*/
-package com.sun.tools.corba.se.logutil;
+package build.tools.logutil;
public abstract class StringUtil {
/** Take a string containing underscores, and return a string
diff --git a/corba/make/tools/src/build/tools/stripproperties/StripPropertiesCorba.java b/corba/make/src/classes/build/tools/stripproperties/StripPropertiesCorba.java
similarity index 100%
rename from corba/make/tools/src/build/tools/stripproperties/StripPropertiesCorba.java
rename to corba/make/src/classes/build/tools/stripproperties/StripPropertiesCorba.java
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp
index 25f662a..47ba5c6 100644
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp
@@ -110,7 +110,7 @@
ParseException.badCustom=%0 (\u884C%1): forward\u5024\u5BA3\u8A00\u306Fcustom\u3068\u3057\u3066\u5BA3\u8A00\u3067\u304D\u307E\u305B\u3093\u3002\n%2\n%3
ParseException.badRepIDAlreadyAssigned=%0 (\u884C%1): \u578B%2\u306B\u306F\u3001\u524D\u306EID\u30D7\u30E9\u30B0\u30DE\u30FB\u30C7\u30A3\u30EC\u30AF\u30C6\u30A3\u30D6\u306E\u30EA\u30DD\u30B8\u30C8\u30EAID\u304C\u3059\u3067\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u3066\u3044\u307E\u3059\u3002\n%3\n%4
ParseException.badRepIDForm=%0 (\u884C%1): \u30EA\u30DD\u30B8\u30C8\u30EAID '%2'\u306E\u5F62\u5F0F\u306F'<format>:<string>'\u306B\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n%3\n%4
-ParseException.badRepIDPrefix=%0 (\u884C%1): \u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9%2\u306B\u306F\u3001'%4'\u3067\u306F\u306A\u304F\u30EA\u30DD\u30B8\u30C8\u30EAID\u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9`%3'\u304C\u5FC5\u8981\u3067\u3059\u3002\n%5\n%6
+ParseException.badRepIDPrefix=%0 (\u884C%1): \u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9%2\u306B\u306F\u3001'%4'\u3067\u306F\u306A\u304F\u30EA\u30DD\u30B8\u30C8\u30EAID\u63A5\u982D\u8F9E`%3'\u304C\u5FC5\u8981\u3067\u3059\u3002\n%5\n%6
ParseException.badState=%0 (\u884C%1): %2\u306F\u30B9\u30C6\u30FC\u30C8\u30D5\u30EB\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u3067\u304D\u307E\u305B\u3093\u3002\u8907\u6570\u306E\u30B9\u30C6\u30FC\u30C8\u30D5\u30EB\u89AA\u304C\u3042\u308A\u307E\u3059\u3002\n%3\n%4
ParseException.branchLabel=%0 (\u884C%1): case %2\u306F\u3059\u3067\u306B\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n%3\n%4
ParseException.branchName=%0 (\u884C%1): %2\u3068\u3044\u3046\u540D\u524D\u306E\u5206\u5C90\u306F\u3059\u3067\u306B\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u3002\n%3\n%4
diff --git a/corba/src/share/classes/com/sun/tools/corba/se/logutil/Makefile b/corba/src/share/classes/com/sun/tools/corba/se/logutil/Makefile
deleted file mode 100644
index 9fcb326..0000000
--- a/corba/src/share/classes/com/sun/tools/corba/se/logutil/Makefile
+++ /dev/null
@@ -1,93 +0,0 @@
-#
-# Copyright (c) 2003, 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.
-#
-
-PACKAGE=com/sun/kenc/util
-
-CLASSES=LogWrapperBase IndentingPrintWriter StringUtil
-SOURCE=$(CLASSES:%=$(PACKAGE)/%.java)
-OBJECT=$(CLASSES:%=$(PACKAGE)/%.class)
-
-MCROOTS= Activation Interceptors IOR Naming ORBUtil POA Util OMG
-MCFILES=$(MCROOTS:%=data/%.mc)
-MCSOURCE=$(MCROOTS:%=$(PACKAGE)/%SystemException.java)
-MCCLASS=$(MCROOTS:%=$(PACKAGE)/%SystemException.class)
-MCRESOURCE=$(MCROOTS:%=resources/%SystemException.resource)
-
-JARDIR=lib
-UTILJAR=$(JARDIR)/util.jar
-JSCHEMEJAR=$(JARDIR)/jscheme.jar
-JARS=$(UTILJAR):$(JSCHEMEJAR)
-
-all: mkdir jar resources classes
-
-mkdir :
- @-mkdir resources
-
-clean:
- @-rm $(OBJECT) $(MCSOURCE) $(MCOBJECT) $(MCCLASS) $(MCRESOURCE) $(UTILJAR)
-
-test:
- @echo "PACKAGE :" $(PACKAGE)
- @echo "CLASSES :" $(CLASSES)
- @echo "SOURCE :" $(SOURCE)
- @echo "OBJECT :" $(OBJECT)
- @echo "MCROOTS :" $(MCROOTS)
- @echo "MCFILES :" $(MCFILES)
- @echo "MCCLASS :" $(MCCLASS)
- @echo "MCRESOURCE :" $(MCRESOURCE)
-
-jar: $(UTILJAR)
-
-$(UTILJAR) : $(OBJECT)
- jar cvf $(JARDIR)/util.jar $(OBJECT)
-
-$(OBJECT) : $(SOURCE)
-
-classes: $(MCCLASS)
-
-$(MCCLASS) : $(MCSOURCE)
-
-$(MCSOURCE) : $(MCFILES)
-
-resources: $(MCRESOURCE)
-
-$(MCRESOURCE) : $(MCFILES)
-
-# This target does not compile, because the generated source code requires
-# com.sun.corba.se.impl.util.SUNVMCID, which would normally be built in the
-# ee package. This should not be a problem once everything is merged into the
-# workspace.
-genclasses: $(MCCLASS)
-
-$(PACKAGE)/%SystemException.java : data/%.mc
- ./mc make-class $<
- mv *SystemException.java $(PACKAGE)
-
-resources/%SystemException.resource : data/%.mc
- ./mc make-resource $<
- mv *.resource resources
-
-$(PACKAGE)/%.class : $(PACKAGE)/%.java
- javac -classpath $(JARS) $<
diff --git a/hotspot/.hgtags b/hotspot/.hgtags
index 9b4aa75..71ad931 100644
--- a/hotspot/.hgtags
+++ b/hotspot/.hgtags
@@ -405,3 +405,4 @@
ce2d7e46f3c7e41241f3b407705a4071323a11ab jdk9-b00
050a626a88951140df874f7b163e304d07b6c296 jdk9-b01
b188446de75bda5fc52d102cddf242c3ef5ecbdf jdk9-b02
+b2fee789d23f3cdabb3db4e51af43038e5692d3a jdk9-b03
diff --git a/hotspot/make/aix/Makefile b/hotspot/make/aix/Makefile
index 19bab54..79bcf78 100644
--- a/hotspot/make/aix/Makefile
+++ b/hotspot/make/aix/Makefile
@@ -70,6 +70,10 @@
FORCE_TIERED=1
endif
endif
+# C1 is not ported on ppc64(le), so we cannot build a tiered VM:
+ifneq (,$(filter $(ARCH),ppc64 pp64le))
+ FORCE_TIERED=0
+endif
ifdef LP64
ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","")
diff --git a/hotspot/make/aix/makefiles/adjust-mflags.sh b/hotspot/make/aix/makefiles/adjust-mflags.sh
index df1aa62..6c06819 100644
--- a/hotspot/make/aix/makefiles/adjust-mflags.sh
+++ b/hotspot/make/aix/makefiles/adjust-mflags.sh
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2014, 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
@@ -64,7 +64,7 @@
echo "$MFLAGS" \
| sed '
s/^-/ -/
- s/ -\([^ ][^ ]*\)j/ -\1 -j/
+ s/ -\([^ I][^ I]*\)j/ -\1 -j/
s/ -j[0-9][0-9]*/ -j/
s/ -j\([^ ]\)/ -j -\1/
s/ -j/ -j'${HOTSPOT_BUILD_JOBS:-${default_build_jobs}}'/
diff --git a/hotspot/make/bsd/makefiles/gcc.make b/hotspot/make/bsd/makefiles/gcc.make
index 9c9cef0..2a0eab17 100644
--- a/hotspot/make/bsd/makefiles/gcc.make
+++ b/hotspot/make/bsd/makefiles/gcc.make
@@ -260,7 +260,7 @@
WARNINGS_ARE_ERRORS += -Wno-empty-body
endif
-WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wformat=2 -Wno-error=format-nonliteral
+WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wformat=2
ifeq ($(USE_CLANG),)
# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
diff --git a/hotspot/make/linux/Makefile b/hotspot/make/linux/Makefile
index 0820c25..8321f8e 100644
--- a/hotspot/make/linux/Makefile
+++ b/hotspot/make/linux/Makefile
@@ -66,6 +66,10 @@
FORCE_TIERED=1
endif
endif
+# C1 is not ported on ppc64(le), so we cannot build a tiered VM:
+ifneq (,$(filter $(ARCH),ppc64 pp64le))
+ FORCE_TIERED=0
+endif
ifdef LP64
ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","")
diff --git a/hotspot/make/linux/makefiles/gcc.make b/hotspot/make/linux/makefiles/gcc.make
index 071c36e..87ef16f 100644
--- a/hotspot/make/linux/makefiles/gcc.make
+++ b/hotspot/make/linux/makefiles/gcc.make
@@ -215,7 +215,7 @@
WARNINGS_ARE_ERRORS += -Wno-return-type -Wno-empty-body
endif
-WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wno-error=format-nonliteral
+WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2
ifeq ($(USE_CLANG),)
# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
diff --git a/hotspot/make/linux/makefiles/zeroshark.make b/hotspot/make/linux/makefiles/zeroshark.make
index 890a091..3c10770 100644
--- a/hotspot/make/linux/makefiles/zeroshark.make
+++ b/hotspot/make/linux/makefiles/zeroshark.make
@@ -25,6 +25,9 @@
# Setup common to Zero (non-Shark) and Shark versions of VM
+# override this from the main file because some version of llvm do not like -Wundef
+WARNING_FLAGS = -Wpointer-arith -Wsign-compare -Wunused-function -Wunused-value
+
# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
diff --git a/hotspot/make/solaris/makefiles/gcc.make b/hotspot/make/solaris/makefiles/gcc.make
index 627691c..9477859 100644
--- a/hotspot/make/solaris/makefiles/gcc.make
+++ b/hotspot/make/solaris/makefiles/gcc.make
@@ -118,7 +118,7 @@
# Compiler warnings are treated as errors
WARNINGS_ARE_ERRORS = -Werror
# Enable these warnings. See 'info gcc' about details on these options
-WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef -Wformat=2 -Wno-error=format-nonliteral
+WARNING_FLAGS = -Wpointer-arith -Wconversion -Wsign-compare -Wundef -Wformat=2
CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) $(WARNING_FLAGS)
# Special cases
CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@))
diff --git a/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp b/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp
index b0519a6..56b0b92 100644
--- a/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp
+++ b/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp
@@ -124,6 +124,7 @@
}
};
+#if !defined(ABI_ELFv2)
// A ppc64 function descriptor.
struct FunctionDescriptor VALUE_OBJ_CLASS_SPEC {
private:
@@ -161,6 +162,7 @@
_env = (address) 0xbad;
}
};
+#endif
class Assembler : public AbstractAssembler {
protected:
@@ -1067,6 +1069,7 @@
// Emit an address.
inline address emit_addr(const address addr = NULL);
+#if !defined(ABI_ELFv2)
// Emit a function descriptor with the specified entry point, TOC,
// and ENV. If the entry point is NULL, the descriptor will point
// just past the descriptor.
@@ -1074,6 +1077,7 @@
inline address emit_fd(address entry = NULL,
address toc = (address) FunctionDescriptor::friend_toc,
address env = (address) FunctionDescriptor::friend_env);
+#endif
/////////////////////////////////////////////////////////////////////////////////////
// PPC instructions
diff --git a/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp b/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp
index 200aaf1..d96d920 100644
--- a/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp
+++ b/hotspot/src/cpu/ppc/vm/assembler_ppc.inline.hpp
@@ -55,6 +55,7 @@
return start;
}
+#if !defined(ABI_ELFv2)
// Emit a function descriptor with the specified entry point, TOC, and
// ENV. If the entry point is NULL, the descriptor will point just
// past the descriptor.
@@ -73,6 +74,7 @@
return (address)fd;
}
+#endif
// Issue an illegal instruction. 0 is guaranteed to be an illegal instruction.
inline void Assembler::illtrap() { Assembler::emit_int32(0); }
diff --git a/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp b/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp
index c9853c5..5cf5a6a 100644
--- a/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/cppInterpreter_ppc.cpp
@@ -1136,7 +1136,9 @@
// (outgoing C args), R3_ARG1 to R10_ARG8, and F1_ARG1 to
// F13_ARG13.
__ mr(R3_ARG1, R18_locals);
+#if !defined(ABI_ELFv2)
__ ld(signature_handler_fd, 0, signature_handler_fd);
+#endif
__ call_stub(signature_handler_fd);
// reload method
__ ld(R19_method, state_(_method));
@@ -1295,8 +1297,13 @@
// native result acrosss the call. No oop is present
__ mr(R3_ARG1, R16_thread);
+#if defined(ABI_ELFv2)
+ __ call_c(CAST_FROM_FN_PTR(address, JavaThread::check_special_condition_for_native_trans),
+ relocInfo::none);
+#else
__ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, JavaThread::check_special_condition_for_native_trans),
relocInfo::none);
+#endif
__ bind(sync_check_done);
//=============================================================================
@@ -1346,9 +1353,9 @@
// notify here, we'll drop it on the floor.
__ notify_method_exit(true/*native method*/,
- ilgl /*illegal state (not used for native methods)*/);
-
-
+ ilgl /*illegal state (not used for native methods)*/,
+ InterpreterMacroAssembler::NotifyJVMTI,
+ false /*check_exceptions*/);
//=============================================================================
// Handle exceptions
@@ -1413,7 +1420,7 @@
// First, pop to caller's frame.
__ pop_interpreter_frame(R11_scratch1, R12_scratch2, R21_tmp1 /* set to return pc */, R22_tmp2);
- __ push_frame_abi112(0, R11_scratch1);
+ __ push_frame_reg_args(0, R11_scratch1);
// Get the address of the exception handler.
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address),
R16_thread,
@@ -2545,7 +2552,7 @@
__ mr(R4_ARG2, R3_ARG1); // ARG2 := ARG1
// Find the address of the "catch_exception" stub.
- __ push_frame_abi112(0, R11_scratch1);
+ __ push_frame_reg_args(0, R11_scratch1);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address),
R16_thread,
R4_ARG2);
diff --git a/hotspot/src/cpu/ppc/vm/frame_ppc.cpp b/hotspot/src/cpu/ppc/vm/frame_ppc.cpp
index 1cd2c6a..6df316d 100644
--- a/hotspot/src/cpu/ppc/vm/frame_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/frame_ppc.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -42,10 +42,6 @@
#include "runtime/vframeArray.hpp"
#endif
-#ifndef CC_INTERP
-#error "CC_INTERP must be defined on PPC64"
-#endif
-
#ifdef ASSERT
void RegisterMap::check_location_valid() {
}
@@ -89,7 +85,10 @@
frame frame::sender_for_interpreter_frame(RegisterMap *map) const {
// Pass callers initial_caller_sp as unextended_sp.
- return frame(sender_sp(), sender_pc(), (intptr_t*)((parent_ijava_frame_abi *)callers_abi())->initial_caller_sp);
+ return frame(sender_sp(), sender_pc(),
+ CC_INTERP_ONLY((intptr_t*)((parent_ijava_frame_abi *)callers_abi())->initial_caller_sp)
+ NOT_CC_INTERP((intptr_t*)get_ijava_state()->sender_sp)
+ );
}
frame frame::sender_for_compiled_frame(RegisterMap *map) const {
@@ -183,6 +182,9 @@
interpreterState istate = get_interpreterState();
address lresult = (address)istate + in_bytes(BytecodeInterpreter::native_lresult_offset());
address fresult = (address)istate + in_bytes(BytecodeInterpreter::native_fresult_offset());
+#else
+ address lresult = (address)&(get_ijava_state()->lresult);
+ address fresult = (address)&(get_ijava_state()->fresult);
#endif
switch (method->result_type()) {
@@ -259,7 +261,21 @@
values.describe(frame_no, (intptr_t*)&(istate->_native_fresult), " native_fresult");
values.describe(frame_no, (intptr_t*)&(istate->_native_lresult), " native_lresult");
#else
- Unimplemented();
+#define DESCRIBE_ADDRESS(name) \
+ values.describe(frame_no, (intptr_t*)&(get_ijava_state()->name), #name);
+
+ DESCRIBE_ADDRESS(method);
+ DESCRIBE_ADDRESS(locals);
+ DESCRIBE_ADDRESS(monitors);
+ DESCRIBE_ADDRESS(cpoolCache);
+ DESCRIBE_ADDRESS(bcp);
+ DESCRIBE_ADDRESS(esp);
+ DESCRIBE_ADDRESS(mdx);
+ DESCRIBE_ADDRESS(top_frame_sp);
+ DESCRIBE_ADDRESS(sender_sp);
+ DESCRIBE_ADDRESS(oop_tmp);
+ DESCRIBE_ADDRESS(lresult);
+ DESCRIBE_ADDRESS(fresult);
#endif
}
}
diff --git a/hotspot/src/cpu/ppc/vm/frame_ppc.hpp b/hotspot/src/cpu/ppc/vm/frame_ppc.hpp
index 26321ba..f327d2c 100644
--- a/hotspot/src/cpu/ppc/vm/frame_ppc.hpp
+++ b/hotspot/src/cpu/ppc/vm/frame_ppc.hpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -29,10 +29,6 @@
#include "runtime/synchronizer.hpp"
#include "utilities/top.hpp"
-#ifndef CC_INTERP
-#error "CC_INTERP must be defined on PPC64"
-#endif
-
// C frame layout on PPC-64.
//
// In this figure the stack grows upwards, while memory grows
@@ -50,7 +46,7 @@
// [C_FRAME]
//
// C_FRAME:
- // 0 [ABI_112]
+ // 0 [ABI_REG_ARGS]
// 112 CARG_9: outgoing arg 9 (arg_1 ... arg_8 via gpr_3 ... gpr_{10})
// ...
// 40+M*8 CARG_M: outgoing arg M (M is the maximum of outgoing args taken over all call sites in the procedure)
@@ -77,7 +73,7 @@
// 32 reserved
// 40 space for TOC (=R2) register for next call
//
- // ABI_112:
+ // ABI_REG_ARGS:
// 0 [ABI_48]
// 48 CARG_1: spill slot for outgoing arg 1. used by next callee.
// ... ...
@@ -95,23 +91,25 @@
log_2_of_alignment_in_bits = 7
};
- // ABI_48:
- struct abi_48 {
+ // ABI_MINFRAME:
+ struct abi_minframe {
uint64_t callers_sp;
uint64_t cr; //_16
uint64_t lr;
+#if !defined(ABI_ELFv2)
uint64_t reserved1; //_16
uint64_t reserved2;
+#endif
uint64_t toc; //_16
// nothing to add here!
// aligned to frame::alignment_in_bytes (16)
};
enum {
- abi_48_size = sizeof(abi_48)
+ abi_minframe_size = sizeof(abi_minframe)
};
- struct abi_112 : abi_48 {
+ struct abi_reg_args : abi_minframe {
uint64_t carg_1;
uint64_t carg_2; //_16
uint64_t carg_3;
@@ -124,13 +122,13 @@
};
enum {
- abi_112_size = sizeof(abi_112)
+ abi_reg_args_size = sizeof(abi_reg_args)
};
#define _abi(_component) \
- (offset_of(frame::abi_112, _component))
+ (offset_of(frame::abi_reg_args, _component))
- struct abi_112_spill : abi_112 {
+ struct abi_reg_args_spill : abi_reg_args {
// additional spill slots
uint64_t spill_ret;
uint64_t spill_fret; //_16
@@ -138,11 +136,11 @@
};
enum {
- abi_112_spill_size = sizeof(abi_112_spill)
+ abi_reg_args_spill_size = sizeof(abi_reg_args_spill)
};
- #define _abi_112_spill(_component) \
- (offset_of(frame::abi_112_spill, _component))
+ #define _abi_reg_args_spill(_component) \
+ (offset_of(frame::abi_reg_args_spill, _component))
// non-volatile GPRs:
@@ -195,7 +193,85 @@
#define _spill_nonvolatiles_neg(_component) \
(int)(-frame::spill_nonvolatiles_size + offset_of(frame::spill_nonvolatiles, _component))
- // Frame layout for the Java interpreter on PPC64.
+
+
+#ifndef CC_INTERP
+ // Frame layout for the Java template interpreter on PPC64.
+ //
+ // Diffs to the CC_INTERP are marked with 'X'.
+ //
+ // TOP_IJAVA_FRAME:
+ //
+ // 0 [TOP_IJAVA_FRAME_ABI]
+ // alignment (optional)
+ // [operand stack]
+ // [monitors] (optional)
+ // X[IJAVA_STATE]
+ // note: own locals are located in the caller frame.
+ //
+ // PARENT_IJAVA_FRAME:
+ //
+ // 0 [PARENT_IJAVA_FRAME_ABI]
+ // alignment (optional)
+ // [callee's Java result]
+ // [callee's locals w/o arguments]
+ // [outgoing arguments]
+ // [used part of operand stack w/o arguments]
+ // [monitors] (optional)
+ // X[IJAVA_STATE]
+ //
+
+ struct parent_ijava_frame_abi : abi_minframe {
+ };
+
+ enum {
+ parent_ijava_frame_abi_size = sizeof(parent_ijava_frame_abi)
+ };
+
+#define _parent_ijava_frame_abi(_component) \
+ (offset_of(frame::parent_ijava_frame_abi, _component))
+
+ struct top_ijava_frame_abi : abi_reg_args {
+ };
+
+ enum {
+ top_ijava_frame_abi_size = sizeof(top_ijava_frame_abi)
+ };
+
+#define _top_ijava_frame_abi(_component) \
+ (offset_of(frame::top_ijava_frame_abi, _component))
+
+ struct ijava_state {
+#ifdef ASSERT
+ uint64_t ijava_reserved; // Used for assertion.
+ uint64_t ijava_reserved2; // Inserted for alignment.
+#endif
+ uint64_t method;
+ uint64_t locals;
+ uint64_t monitors;
+ uint64_t cpoolCache;
+ uint64_t bcp;
+ uint64_t esp;
+ uint64_t mdx;
+ uint64_t top_frame_sp; // Maybe define parent_frame_abi and move there.
+ uint64_t sender_sp;
+ // Slots only needed for native calls. Maybe better to move elsewhere.
+ uint64_t oop_tmp;
+ uint64_t lresult;
+ uint64_t fresult;
+ // Aligned to frame::alignment_in_bytes (16).
+ };
+
+ enum {
+ ijava_state_size = sizeof(ijava_state)
+ };
+
+#define _ijava_state_neg(_component) \
+ (int) (-frame::ijava_state_size + offset_of(frame::ijava_state, _component))
+
+#else // CC_INTERP:
+
+ // Frame layout for the Java C++ interpreter on PPC64.
//
// This frame layout provides a C-like frame for every Java frame.
//
@@ -242,7 +318,7 @@
// [ENTRY_FRAME_LOCALS]
//
// PARENT_IJAVA_FRAME_ABI:
- // 0 [ABI_48]
+ // 0 [ABI_MINFRAME]
// top_frame_sp
// initial_caller_sp
//
@@ -258,7 +334,7 @@
// PARENT_IJAVA_FRAME_ABI
- struct parent_ijava_frame_abi : abi_48 {
+ struct parent_ijava_frame_abi : abi_minframe {
// SOE registers.
// C2i adapters spill their top-frame stack-pointer here.
uint64_t top_frame_sp; // carg_1
@@ -285,7 +361,7 @@
uint64_t carg_6_unused; //_16 carg_6
uint64_t carg_7_unused; // carg_7
// Use arg8 for storing frame_manager_lr. The size of
- // top_ijava_frame_abi must match abi_112.
+ // top_ijava_frame_abi must match abi_reg_args.
uint64_t frame_manager_lr; //_16 carg_8
// nothing to add here!
// aligned to frame::alignment_in_bytes (16)
@@ -298,6 +374,8 @@
#define _top_ijava_frame_abi(_component) \
(offset_of(frame::top_ijava_frame_abi, _component))
+#endif // CC_INTERP
+
// ENTRY_FRAME
struct entry_frame_locals {
@@ -395,8 +473,8 @@
intptr_t* fp() const { return _fp; }
// Accessors for ABIs
- inline abi_48* own_abi() const { return (abi_48*) _sp; }
- inline abi_48* callers_abi() const { return (abi_48*) _fp; }
+ inline abi_minframe* own_abi() const { return (abi_minframe*) _sp; }
+ inline abi_minframe* callers_abi() const { return (abi_minframe*) _fp; }
private:
@@ -421,6 +499,14 @@
#ifdef CC_INTERP
// Additional interface for interpreter frames:
inline interpreterState get_interpreterState() const;
+#else
+ inline ijava_state* get_ijava_state() const;
+ // Some convenient register frame setters/getters for deoptimization.
+ inline intptr_t* interpreter_frame_esp() const;
+ inline void interpreter_frame_set_cpcache(ConstantPoolCache* cp);
+ inline void interpreter_frame_set_esp(intptr_t* esp);
+ inline void interpreter_frame_set_top_frame_sp(intptr_t* top_frame_sp);
+ inline void interpreter_frame_set_sender_sp(intptr_t* sender_sp);
#endif // CC_INTERP
// Size of a monitor in bytes.
diff --git a/hotspot/src/cpu/ppc/vm/frame_ppc.inline.hpp b/hotspot/src/cpu/ppc/vm/frame_ppc.inline.hpp
index 2dadd6c..8e46363 100644
--- a/hotspot/src/cpu/ppc/vm/frame_ppc.inline.hpp
+++ b/hotspot/src/cpu/ppc/vm/frame_ppc.inline.hpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -26,10 +26,6 @@
#ifndef CPU_PPC_VM_FRAME_PPC_INLINE_HPP
#define CPU_PPC_VM_FRAME_PPC_INLINE_HPP
-#ifndef CC_INTERP
-#error "CC_INTERP must be defined on PPC64"
-#endif
-
// Inline functions for ppc64 frames:
// Find codeblob and set deopt_state.
@@ -199,6 +195,75 @@
interpreterState istate = get_interpreterState();
return &istate->_constants;
}
+
+#else // !CC_INTERP
+
+// Template Interpreter frame value accessors.
+
+inline frame::ijava_state* frame::get_ijava_state() const {
+ return (ijava_state*) ((uintptr_t)fp() - ijava_state_size);
+}
+
+inline intptr_t** frame::interpreter_frame_locals_addr() const {
+ return (intptr_t**) &(get_ijava_state()->locals);
+}
+inline intptr_t* frame::interpreter_frame_bcx_addr() const {
+ return (intptr_t*) &(get_ijava_state()->bcp);
+}
+inline intptr_t* frame::interpreter_frame_mdx_addr() const {
+ return (intptr_t*) &(get_ijava_state()->mdx);
+}
+// Pointer beyond the "oldest/deepest" BasicObjectLock on stack.
+inline BasicObjectLock* frame::interpreter_frame_monitor_end() const {
+ return (BasicObjectLock *) get_ijava_state()->monitors;
+}
+
+inline BasicObjectLock* frame::interpreter_frame_monitor_begin() const {
+ return (BasicObjectLock *) get_ijava_state();
+}
+
+// SAPJVM ASc 2012-11-21. Return register stack slot addr at which currently interpreted method is found
+inline Method** frame::interpreter_frame_method_addr() const {
+ return (Method**) &(get_ijava_state()->method);
+}
+inline ConstantPoolCache** frame::interpreter_frame_cpoolcache_addr() const {
+ return (ConstantPoolCache**) &(get_ijava_state()->cpoolCache);
+}
+inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const {
+ return (ConstantPoolCache**) &(get_ijava_state()->cpoolCache);
+}
+
+inline oop* frame::interpreter_frame_temp_oop_addr() const {
+ return (oop *) &(get_ijava_state()->oop_tmp);
+}
+inline intptr_t* frame::interpreter_frame_esp() const {
+ return (intptr_t*) get_ijava_state()->esp;
+}
+
+// Convenient setters
+inline void frame::interpreter_frame_set_monitor_end(BasicObjectLock* end) { get_ijava_state()->monitors = (intptr_t) end;}
+inline void frame::interpreter_frame_set_cpcache(ConstantPoolCache* cp) { *frame::interpreter_frame_cpoolcache_addr() = cp; }
+inline void frame::interpreter_frame_set_esp(intptr_t* esp) { get_ijava_state()->esp = (intptr_t) esp; }
+inline void frame::interpreter_frame_set_top_frame_sp(intptr_t* top_frame_sp) { get_ijava_state()->top_frame_sp = (intptr_t) top_frame_sp; }
+inline void frame::interpreter_frame_set_sender_sp(intptr_t* sender_sp) { get_ijava_state()->sender_sp = (intptr_t) sender_sp; }
+
+inline intptr_t* frame::interpreter_frame_expression_stack() const {
+ return (intptr_t*)interpreter_frame_monitor_end() - 1;
+}
+
+inline jint frame::interpreter_frame_expression_stack_direction() {
+ return -1;
+}
+
+// top of expression stack
+inline intptr_t* frame::interpreter_frame_tos_address() const {
+ return ((intptr_t*) get_ijava_state()->esp) + Interpreter::stackElementWords;
+}
+
+inline intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
+ return &interpreter_frame_tos_address()[offset];
+}
+
#endif // CC_INTERP
inline int frame::interpreter_frame_monitor_size() {
diff --git a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp
index 5d13519..f71acac 100644
--- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp
+++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -29,6 +29,7 @@
#include "asm/macroAssembler.inline.hpp"
#include "interp_masm_ppc_64.hpp"
#include "interpreter/interpreterRuntime.hpp"
+#include "prims/jvmtiThreadState.hpp"
#ifdef PRODUCT
#define BLOCK_COMMENT(str) // nothing
@@ -45,6 +46,691 @@
MacroAssembler::null_check_throw(a, offset, temp_reg, exception_entry);
}
+void InterpreterMacroAssembler::branch_to_entry(address entry, Register Rscratch) {
+ assert(entry, "Entry must have been generated by now");
+ if (is_within_range_of_b(entry, pc())) {
+ b(entry);
+ } else {
+ load_const_optimized(Rscratch, entry, R0);
+ mtctr(Rscratch);
+ bctr();
+ }
+}
+
+#ifndef CC_INTERP
+
+void InterpreterMacroAssembler::dispatch_next(TosState state, int bcp_incr) {
+ Register bytecode = R12_scratch2;
+ if (bcp_incr != 0) {
+ lbzu(bytecode, bcp_incr, R14_bcp);
+ } else {
+ lbz(bytecode, 0, R14_bcp);
+ }
+
+ dispatch_Lbyte_code(state, bytecode, Interpreter::dispatch_table(state));
+}
+
+void InterpreterMacroAssembler::dispatch_via(TosState state, address* table) {
+ // Load current bytecode.
+ Register bytecode = R12_scratch2;
+ lbz(bytecode, 0, R14_bcp);
+ dispatch_Lbyte_code(state, bytecode, table);
+}
+
+// Dispatch code executed in the prolog of a bytecode which does not do it's
+// own dispatch. The dispatch address is computed and placed in R24_dispatch_addr.
+void InterpreterMacroAssembler::dispatch_prolog(TosState state, int bcp_incr) {
+ Register bytecode = R12_scratch2;
+ lbz(bytecode, bcp_incr, R14_bcp);
+
+ load_dispatch_table(R24_dispatch_addr, Interpreter::dispatch_table(state));
+
+ sldi(bytecode, bytecode, LogBytesPerWord);
+ ldx(R24_dispatch_addr, R24_dispatch_addr, bytecode);
+}
+
+// Dispatch code executed in the epilog of a bytecode which does not do it's
+// own dispatch. The dispatch address in R24_dispatch_addr is used for the
+// dispatch.
+void InterpreterMacroAssembler::dispatch_epilog(TosState state, int bcp_incr) {
+ mtctr(R24_dispatch_addr);
+ addi(R14_bcp, R14_bcp, bcp_incr);
+ bctr();
+}
+
+void InterpreterMacroAssembler::check_and_handle_popframe(Register scratch_reg) {
+ assert(scratch_reg != R0, "can't use R0 as scratch_reg here");
+ if (JvmtiExport::can_pop_frame()) {
+ Label L;
+
+ // Check the "pending popframe condition" flag in the current thread.
+ lwz(scratch_reg, in_bytes(JavaThread::popframe_condition_offset()), R16_thread);
+
+ // Initiate popframe handling only if it is not already being
+ // processed. If the flag has the popframe_processing bit set, it
+ // means that this code is called *during* popframe handling - we
+ // don't want to reenter.
+ andi_(R0, scratch_reg, JavaThread::popframe_pending_bit);
+ beq(CCR0, L);
+
+ andi_(R0, scratch_reg, JavaThread::popframe_processing_bit);
+ bne(CCR0, L);
+
+ // Call the Interpreter::remove_activation_preserving_args_entry()
+ // func to get the address of the same-named entrypoint in the
+ // generated interpreter code.
+ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*,
+ Interpreter::remove_activation_preserving_args_entry),
+ relocInfo::none);
+
+ // Jump to Interpreter::_remove_activation_preserving_args_entry.
+ mtctr(R3_RET);
+ bctr();
+
+ align(32, 12);
+ bind(L);
+ }
+}
+
+void InterpreterMacroAssembler::check_and_handle_earlyret(Register scratch_reg) {
+ const Register Rthr_state_addr = scratch_reg;
+ if (JvmtiExport::can_force_early_return()) {
+ Label Lno_early_ret;
+ ld(Rthr_state_addr, in_bytes(JavaThread::jvmti_thread_state_offset()), R16_thread);
+ cmpdi(CCR0, Rthr_state_addr, 0);
+ beq(CCR0, Lno_early_ret);
+
+ lwz(R0, in_bytes(JvmtiThreadState::earlyret_state_offset()), Rthr_state_addr);
+ cmpwi(CCR0, R0, JvmtiThreadState::earlyret_pending);
+ bne(CCR0, Lno_early_ret);
+
+ // Jump to Interpreter::_earlyret_entry.
+ lwz(R3_ARG1, in_bytes(JvmtiThreadState::earlyret_tos_offset()), Rthr_state_addr);
+ call_VM_leaf(CAST_FROM_FN_PTR(address, Interpreter::remove_activation_early_entry));
+ mtlr(R3_RET);
+ blr();
+
+ align(32, 12);
+ bind(Lno_early_ret);
+ }
+}
+
+void InterpreterMacroAssembler::load_earlyret_value(TosState state, Register Rscratch1) {
+ const Register RjvmtiState = Rscratch1;
+ const Register Rscratch2 = R0;
+
+ ld(RjvmtiState, in_bytes(JavaThread::jvmti_thread_state_offset()), R16_thread);
+ li(Rscratch2, 0);
+
+ switch (state) {
+ case atos: ld(R17_tos, in_bytes(JvmtiThreadState::earlyret_oop_offset()), RjvmtiState);
+ std(Rscratch2, in_bytes(JvmtiThreadState::earlyret_oop_offset()), RjvmtiState);
+ break;
+ case ltos: ld(R17_tos, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState);
+ break;
+ case btos: // fall through
+ case ctos: // fall through
+ case stos: // fall through
+ case itos: lwz(R17_tos, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState);
+ break;
+ case ftos: lfs(F15_ftos, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState);
+ break;
+ case dtos: lfd(F15_ftos, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState);
+ break;
+ case vtos: break;
+ default : ShouldNotReachHere();
+ }
+
+ // Clean up tos value in the jvmti thread state.
+ std(Rscratch2, in_bytes(JvmtiThreadState::earlyret_value_offset()), RjvmtiState);
+ // Set tos state field to illegal value.
+ li(Rscratch2, ilgl);
+ stw(Rscratch2, in_bytes(JvmtiThreadState::earlyret_tos_offset()), RjvmtiState);
+}
+
+// Common code to dispatch and dispatch_only.
+// Dispatch value in Lbyte_code and increment Lbcp.
+
+void InterpreterMacroAssembler::load_dispatch_table(Register dst, address* table) {
+ address table_base = (address)Interpreter::dispatch_table((TosState)0);
+ intptr_t table_offs = (intptr_t)table - (intptr_t)table_base;
+ if (is_simm16(table_offs)) {
+ addi(dst, R25_templateTableBase, (int)table_offs);
+ } else {
+ load_const_optimized(dst, table, R0);
+ }
+}
+
+void InterpreterMacroAssembler::dispatch_Lbyte_code(TosState state, Register bytecode, address* table, bool verify) {
+ if (verify) {
+ unimplemented("dispatch_Lbyte_code: verify"); // See Sparc Implementation to implement this
+ }
+
+#ifdef FAST_DISPATCH
+ unimplemented("dispatch_Lbyte_code FAST_DISPATCH");
+#else
+ assert_different_registers(bytecode, R11_scratch1);
+
+ // Calc dispatch table address.
+ load_dispatch_table(R11_scratch1, table);
+
+ sldi(R12_scratch2, bytecode, LogBytesPerWord);
+ ldx(R11_scratch1, R11_scratch1, R12_scratch2);
+
+ // Jump off!
+ mtctr(R11_scratch1);
+ bctr();
+#endif
+}
+
+void InterpreterMacroAssembler::load_receiver(Register Rparam_count, Register Rrecv_dst) {
+ sldi(Rrecv_dst, Rparam_count, Interpreter::logStackElementSize);
+ ldx(Rrecv_dst, Rrecv_dst, R15_esp);
+}
+
+// helpers for expression stack
+
+void InterpreterMacroAssembler::pop_i(Register r) {
+ lwzu(r, Interpreter::stackElementSize, R15_esp);
+}
+
+void InterpreterMacroAssembler::pop_ptr(Register r) {
+ ldu(r, Interpreter::stackElementSize, R15_esp);
+}
+
+void InterpreterMacroAssembler::pop_l(Register r) {
+ ld(r, Interpreter::stackElementSize, R15_esp);
+ addi(R15_esp, R15_esp, 2 * Interpreter::stackElementSize);
+}
+
+void InterpreterMacroAssembler::pop_f(FloatRegister f) {
+ lfsu(f, Interpreter::stackElementSize, R15_esp);
+}
+
+void InterpreterMacroAssembler::pop_d(FloatRegister f) {
+ lfd(f, Interpreter::stackElementSize, R15_esp);
+ addi(R15_esp, R15_esp, 2 * Interpreter::stackElementSize);
+}
+
+void InterpreterMacroAssembler::push_i(Register r) {
+ stw(r, 0, R15_esp);
+ addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
+}
+
+void InterpreterMacroAssembler::push_ptr(Register r) {
+ std(r, 0, R15_esp);
+ addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
+}
+
+void InterpreterMacroAssembler::push_l(Register r) {
+ std(r, - Interpreter::stackElementSize, R15_esp);
+ addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
+}
+
+void InterpreterMacroAssembler::push_f(FloatRegister f) {
+ stfs(f, 0, R15_esp);
+ addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
+}
+
+void InterpreterMacroAssembler::push_d(FloatRegister f) {
+ stfd(f, - Interpreter::stackElementSize, R15_esp);
+ addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
+}
+
+void InterpreterMacroAssembler::push_2ptrs(Register first, Register second) {
+ std(first, 0, R15_esp);
+ std(second, -Interpreter::stackElementSize, R15_esp);
+ addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
+}
+
+void InterpreterMacroAssembler::push_l_pop_d(Register l, FloatRegister d) {
+ std(l, 0, R15_esp);
+ lfd(d, 0, R15_esp);
+}
+
+void InterpreterMacroAssembler::push_d_pop_l(FloatRegister d, Register l) {
+ stfd(d, 0, R15_esp);
+ ld(l, 0, R15_esp);
+}
+
+void InterpreterMacroAssembler::push(TosState state) {
+ switch (state) {
+ case atos: push_ptr(); break;
+ case btos:
+ case ctos:
+ case stos:
+ case itos: push_i(); break;
+ case ltos: push_l(); break;
+ case ftos: push_f(); break;
+ case dtos: push_d(); break;
+ case vtos: /* nothing to do */ break;
+ default : ShouldNotReachHere();
+ }
+}
+
+void InterpreterMacroAssembler::pop(TosState state) {
+ switch (state) {
+ case atos: pop_ptr(); break;
+ case btos:
+ case ctos:
+ case stos:
+ case itos: pop_i(); break;
+ case ltos: pop_l(); break;
+ case ftos: pop_f(); break;
+ case dtos: pop_d(); break;
+ case vtos: /* nothing to do */ break;
+ default : ShouldNotReachHere();
+ }
+ verify_oop(R17_tos, state);
+}
+
+void InterpreterMacroAssembler::empty_expression_stack() {
+ addi(R15_esp, R26_monitor, - Interpreter::stackElementSize);
+}
+
+void InterpreterMacroAssembler::get_2_byte_integer_at_bcp(int bcp_offset,
+ Register Rdst,
+ signedOrNot is_signed) {
+ // Read Java big endian format.
+ if (is_signed == Signed) {
+ lha(Rdst, bcp_offset, R14_bcp);
+ } else {
+ lhz(Rdst, bcp_offset, R14_bcp);
+ }
+#if 0
+ assert(Rtmp != Rdst, "need separate temp register");
+ Register Rfirst = Rtmp;
+ lbz(Rfirst, bcp_offset, R14_bcp); // first byte
+ lbz(Rdst, bcp_offset+1, R14_bcp); // second byte
+
+ // Rdst = ((Rfirst<<8) & 0xFF00) | (Rdst &~ 0xFF00)
+ rldimi(/*RA=*/Rdst, /*RS=*/Rfirst, /*sh=*/8, /*mb=*/48);
+ if (is_signed == Signed) {
+ extsh(Rdst, Rdst);
+ }
+#endif
+}
+
+void InterpreterMacroAssembler::get_4_byte_integer_at_bcp(int bcp_offset,
+ Register Rdst,
+ signedOrNot is_signed) {
+ // Read Java big endian format.
+ if (bcp_offset & 3) { // Offset unaligned?
+ load_const_optimized(Rdst, bcp_offset);
+ if (is_signed == Signed) {
+ lwax(Rdst, R14_bcp, Rdst);
+ } else {
+ lwzx(Rdst, R14_bcp, Rdst);
+ }
+ } else {
+ if (is_signed == Signed) {
+ lwa(Rdst, bcp_offset, R14_bcp);
+ } else {
+ lwz(Rdst, bcp_offset, R14_bcp);
+ }
+ }
+}
+
+// Load the constant pool cache index from the bytecode stream.
+//
+// Kills / writes:
+// - Rdst, Rscratch
+void InterpreterMacroAssembler::get_cache_index_at_bcp(Register Rdst, int bcp_offset, size_t index_size) {
+ assert(bcp_offset > 0, "bcp is still pointing to start of bytecode");
+ if (index_size == sizeof(u2)) {
+ get_2_byte_integer_at_bcp(bcp_offset, Rdst, Unsigned);
+ } else if (index_size == sizeof(u4)) {
+ assert(EnableInvokeDynamic, "giant index used only for JSR 292");
+ get_4_byte_integer_at_bcp(bcp_offset, Rdst, Signed);
+ assert(ConstantPool::decode_invokedynamic_index(~123) == 123, "else change next line");
+ nand(Rdst, Rdst, Rdst); // convert to plain index
+ } else if (index_size == sizeof(u1)) {
+ lbz(Rdst, bcp_offset, R14_bcp);
+ } else {
+ ShouldNotReachHere();
+ }
+ // Rdst now contains cp cache index.
+}
+
+void InterpreterMacroAssembler::get_cache_and_index_at_bcp(Register cache, int bcp_offset, size_t index_size) {
+ get_cache_index_at_bcp(cache, bcp_offset, index_size);
+ sldi(cache, cache, exact_log2(in_words(ConstantPoolCacheEntry::size()) * BytesPerWord));
+ add(cache, R27_constPoolCache, cache);
+}
+
+// Load object from cpool->resolved_references(index).
+void InterpreterMacroAssembler::load_resolved_reference_at_index(Register result, Register index) {
+ assert_different_registers(result, index);
+ get_constant_pool(result);
+
+ // Convert from field index to resolved_references() index and from
+ // word index to byte offset. Since this is a java object, it can be compressed.
+ Register tmp = index; // reuse
+ sldi(tmp, index, LogBytesPerHeapOop);
+ // Load pointer for resolved_references[] objArray.
+ ld(result, ConstantPool::resolved_references_offset_in_bytes(), result);
+ // JNIHandles::resolve(result)
+ ld(result, 0, result);
+#ifdef ASSERT
+ Label index_ok;
+ lwa(R0, arrayOopDesc::length_offset_in_bytes(), result);
+ sldi(R0, R0, LogBytesPerHeapOop);
+ cmpd(CCR0, tmp, R0);
+ blt(CCR0, index_ok);
+ stop("resolved reference index out of bounds", 0x09256);
+ bind(index_ok);
+#endif
+ // Add in the index.
+ add(result, tmp, result);
+ load_heap_oop(result, arrayOopDesc::base_offset_in_bytes(T_OBJECT), result);
+}
+
+// Generate a subtype check: branch to ok_is_subtype if sub_klass is
+// a subtype of super_klass. Blows registers Rsub_klass, tmp1, tmp2.
+void InterpreterMacroAssembler::gen_subtype_check(Register Rsub_klass, Register Rsuper_klass, Register Rtmp1,
+ Register Rtmp2, Register Rtmp3, Label &ok_is_subtype) {
+ // Profile the not-null value's klass.
+ profile_typecheck(Rsub_klass, Rtmp1, Rtmp2);
+ check_klass_subtype(Rsub_klass, Rsuper_klass, Rtmp1, Rtmp2, ok_is_subtype);
+ profile_typecheck_failed(Rtmp1, Rtmp2);
+}
+
+void InterpreterMacroAssembler::generate_stack_overflow_check_with_compare_and_throw(Register Rmem_frame_size, Register Rscratch1) {
+ Label done;
+ sub(Rmem_frame_size, R1_SP, Rmem_frame_size);
+ ld(Rscratch1, thread_(stack_overflow_limit));
+ cmpld(CCR0/*is_stack_overflow*/, Rmem_frame_size, Rscratch1);
+ bgt(CCR0/*is_stack_overflow*/, done);
+
+ // Load target address of the runtime stub.
+ assert(StubRoutines::throw_StackOverflowError_entry() != NULL, "generated in wrong order");
+ load_const_optimized(Rscratch1, (StubRoutines::throw_StackOverflowError_entry()), R0);
+ mtctr(Rscratch1);
+ // Restore caller_sp.
+#ifdef ASSERT
+ ld(Rscratch1, 0, R1_SP);
+ ld(R0, 0, R21_sender_SP);
+ cmpd(CCR0, R0, Rscratch1);
+ asm_assert_eq("backlink", 0x547);
+#endif // ASSERT
+ mr(R1_SP, R21_sender_SP);
+ bctr();
+
+ align(32, 12);
+ bind(done);
+}
+
+// Separate these two to allow for delay slot in middle.
+// These are used to do a test and full jump to exception-throwing code.
+
+// Check that index is in range for array, then shift index by index_shift,
+// and put arrayOop + shifted_index into res.
+// Note: res is still shy of address by array offset into object.
+
+void InterpreterMacroAssembler::index_check_without_pop(Register Rarray, Register Rindex, int index_shift, Register Rtmp, Register Rres) {
+ // Check that index is in range for array, then shift index by index_shift,
+ // and put arrayOop + shifted_index into res.
+ // Note: res is still shy of address by array offset into object.
+ // Kills:
+ // - Rindex
+ // Writes:
+ // - Rres: Address that corresponds to the array index if check was successful.
+ verify_oop(Rarray);
+ const Register Rlength = R0;
+ const Register RsxtIndex = Rtmp;
+ Label LisNull, LnotOOR;
+
+ // Array nullcheck
+ if (!ImplicitNullChecks) {
+ cmpdi(CCR0, Rarray, 0);
+ beq(CCR0, LisNull);
+ } else {
+ null_check_throw(Rarray, arrayOopDesc::length_offset_in_bytes(), /*temp*/RsxtIndex);
+ }
+
+ // Rindex might contain garbage in upper bits (remember that we don't sign extend
+ // during integer arithmetic operations). So kill them and put value into same register
+ // where ArrayIndexOutOfBounds would expect the index in.
+ rldicl(RsxtIndex, Rindex, 0, 32); // zero extend 32 bit -> 64 bit
+
+ // Index check
+ lwz(Rlength, arrayOopDesc::length_offset_in_bytes(), Rarray);
+ cmplw(CCR0, Rindex, Rlength);
+ sldi(RsxtIndex, RsxtIndex, index_shift);
+ blt(CCR0, LnotOOR);
+ load_dispatch_table(Rtmp, (address*)Interpreter::_throw_ArrayIndexOutOfBoundsException_entry);
+ mtctr(Rtmp);
+ bctr();
+
+ if (!ImplicitNullChecks) {
+ bind(LisNull);
+ load_dispatch_table(Rtmp, (address*)Interpreter::_throw_NullPointerException_entry);
+ mtctr(Rtmp);
+ bctr();
+ }
+
+ align(32, 16);
+ bind(LnotOOR);
+
+ // Calc address
+ add(Rres, RsxtIndex, Rarray);
+}
+
+void InterpreterMacroAssembler::index_check(Register array, Register index, int index_shift, Register tmp, Register res) {
+ // pop array
+ pop_ptr(array);
+
+ // check array
+ index_check_without_pop(array, index, index_shift, tmp, res);
+}
+
+void InterpreterMacroAssembler::get_const(Register Rdst) {
+ ld(Rdst, in_bytes(Method::const_offset()), R19_method);
+}
+
+void InterpreterMacroAssembler::get_constant_pool(Register Rdst) {
+ get_const(Rdst);
+ ld(Rdst, in_bytes(ConstMethod::constants_offset()), Rdst);
+}
+
+void InterpreterMacroAssembler::get_constant_pool_cache(Register Rdst) {
+ get_constant_pool(Rdst);
+ ld(Rdst, ConstantPool::cache_offset_in_bytes(), Rdst);
+}
+
+void InterpreterMacroAssembler::get_cpool_and_tags(Register Rcpool, Register Rtags) {
+ get_constant_pool(Rcpool);
+ ld(Rtags, ConstantPool::tags_offset_in_bytes(), Rcpool);
+}
+
+// Unlock if synchronized method.
+//
+// Unlock the receiver if this is a synchronized method.
+// Unlock any Java monitors from synchronized blocks.
+//
+// If there are locked Java monitors
+// If throw_monitor_exception
+// throws IllegalMonitorStateException
+// Else if install_monitor_exception
+// installs IllegalMonitorStateException
+// Else
+// no error processing
+void InterpreterMacroAssembler::unlock_if_synchronized_method(TosState state,
+ bool throw_monitor_exception,
+ bool install_monitor_exception) {
+ Label Lunlocked, Lno_unlock;
+ {
+ Register Rdo_not_unlock_flag = R11_scratch1;
+ Register Raccess_flags = R12_scratch2;
+
+ // Check if synchronized method or unlocking prevented by
+ // JavaThread::do_not_unlock_if_synchronized flag.
+ lbz(Rdo_not_unlock_flag, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread);
+ lwz(Raccess_flags, in_bytes(Method::access_flags_offset()), R19_method);
+ li(R0, 0);
+ stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread); // reset flag
+
+ push(state);
+
+ // Skip if we don't have to unlock.
+ rldicl_(R0, Raccess_flags, 64-JVM_ACC_SYNCHRONIZED_BIT, 63); // Extract bit and compare to 0.
+ beq(CCR0, Lunlocked);
+
+ cmpwi(CCR0, Rdo_not_unlock_flag, 0);
+ bne(CCR0, Lno_unlock);
+ }
+
+ // Unlock
+ {
+ Register Rmonitor_base = R11_scratch1;
+
+ Label Lunlock;
+ // If it's still locked, everything is ok, unlock it.
+ ld(Rmonitor_base, 0, R1_SP);
+ addi(Rmonitor_base, Rmonitor_base, - (frame::ijava_state_size + frame::interpreter_frame_monitor_size_in_bytes())); // Monitor base
+
+ ld(R0, BasicObjectLock::obj_offset_in_bytes(), Rmonitor_base);
+ cmpdi(CCR0, R0, 0);
+ bne(CCR0, Lunlock);
+
+ // If it's already unlocked, throw exception.
+ if (throw_monitor_exception) {
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_illegal_monitor_state_exception));
+ should_not_reach_here();
+ } else {
+ if (install_monitor_exception) {
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::new_illegal_monitor_state_exception));
+ b(Lunlocked);
+ }
+ }
+
+ bind(Lunlock);
+ unlock_object(Rmonitor_base);
+ }
+
+ // Check that all other monitors are unlocked. Throw IllegelMonitorState exception if not.
+ bind(Lunlocked);
+ {
+ Label Lexception, Lrestart;
+ Register Rcurrent_obj_addr = R11_scratch1;
+ const int delta = frame::interpreter_frame_monitor_size_in_bytes();
+ assert((delta & LongAlignmentMask) == 0, "sizeof BasicObjectLock must be even number of doublewords");
+
+ bind(Lrestart);
+ // Set up search loop: Calc num of iterations.
+ {
+ Register Riterations = R12_scratch2;
+ Register Rmonitor_base = Rcurrent_obj_addr;
+ ld(Rmonitor_base, 0, R1_SP);
+ addi(Rmonitor_base, Rmonitor_base, - frame::ijava_state_size); // Monitor base
+
+ subf_(Riterations, R26_monitor, Rmonitor_base);
+ ble(CCR0, Lno_unlock);
+
+ addi(Rcurrent_obj_addr, Rmonitor_base, BasicObjectLock::obj_offset_in_bytes() - frame::interpreter_frame_monitor_size_in_bytes());
+ // Check if any monitor is on stack, bail out if not
+ srdi(Riterations, Riterations, exact_log2(delta));
+ mtctr(Riterations);
+ }
+
+ // The search loop: Look for locked monitors.
+ {
+ const Register Rcurrent_obj = R0;
+ Label Lloop;
+
+ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
+ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, -delta);
+ bind(Lloop);
+
+ // Check if current entry is used.
+ cmpdi(CCR0, Rcurrent_obj, 0);
+ bne(CCR0, Lexception);
+ // Preload next iteration's compare value.
+ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
+ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, -delta);
+ bdnz(Lloop);
+ }
+ // Fell through: Everything's unlocked => finish.
+ b(Lno_unlock);
+
+ // An object is still locked => need to throw exception.
+ bind(Lexception);
+ if (throw_monitor_exception) {
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_illegal_monitor_state_exception));
+ should_not_reach_here();
+ } else {
+ // Stack unrolling. Unlock object and if requested, install illegal_monitor_exception.
+ // Unlock does not block, so don't have to worry about the frame.
+ Register Rmonitor_addr = R11_scratch1;
+ addi(Rmonitor_addr, Rcurrent_obj_addr, -BasicObjectLock::obj_offset_in_bytes() + delta);
+ unlock_object(Rmonitor_addr);
+ if (install_monitor_exception) {
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::new_illegal_monitor_state_exception));
+ }
+ b(Lrestart);
+ }
+ }
+
+ align(32, 12);
+ bind(Lno_unlock);
+ pop(state);
+}
+
+// Support function for remove_activation & Co.
+void InterpreterMacroAssembler::merge_frames(Register Rsender_sp, Register return_pc, Register Rscratch1, Register Rscratch2) {
+ // Pop interpreter frame.
+ ld(Rscratch1, 0, R1_SP); // *SP
+ ld(Rsender_sp, _ijava_state_neg(sender_sp), Rscratch1); // top_frame_sp
+ ld(Rscratch2, 0, Rscratch1); // **SP
+#ifdef ASSERT
+ {
+ Label Lok;
+ ld(R0, _ijava_state_neg(ijava_reserved), Rscratch1);
+ cmpdi(CCR0, R0, 0x5afe);
+ beq(CCR0, Lok);
+ stop("frame corrupted (remove activation)", 0x5afe);
+ bind(Lok);
+ }
+#endif
+ if (return_pc!=noreg) {
+ ld(return_pc, _abi(lr), Rscratch1); // LR
+ }
+
+ // Merge top frames.
+ subf(Rscratch1, R1_SP, Rsender_sp); // top_frame_sp - SP
+ stdux(Rscratch2, R1_SP, Rscratch1); // atomically set *(SP = top_frame_sp) = **SP
+}
+
+// Remove activation.
+//
+// Unlock the receiver if this is a synchronized method.
+// Unlock any Java monitors from synchronized blocks.
+// Remove the activation from the stack.
+//
+// If there are locked Java monitors
+// If throw_monitor_exception
+// throws IllegalMonitorStateException
+// Else if install_monitor_exception
+// installs IllegalMonitorStateException
+// Else
+// no error processing
+void InterpreterMacroAssembler::remove_activation(TosState state,
+ bool throw_monitor_exception,
+ bool install_monitor_exception) {
+ unlock_if_synchronized_method(state, throw_monitor_exception, install_monitor_exception);
+
+ // Save result (push state before jvmti call and pop it afterwards) and notify jvmti.
+ notify_method_exit(false, state, NotifyJVMTI, true);
+
+ verify_oop(R17_tos, state);
+ verify_thread();
+
+ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ R0, R11_scratch1, R12_scratch2);
+ mtlr(R0);
+}
+
+#endif // !CC_INTERP
+
// Lock object
//
// Registers alive
@@ -81,7 +767,6 @@
assert_different_registers(displaced_header, object_mark_addr, current_header, tmp);
-
// markOop displaced_header = obj->mark().set_unlocked();
// Load markOop from object into displaced_header.
@@ -94,7 +779,6 @@
// Set displaced_header to be (markOop of object | UNLOCK_VALUE).
ori(displaced_header, displaced_header, markOopDesc::unlocked_value);
-
// monitor->lock()->set_displaced_header(displaced_header);
// Initialize the box (Must happen before we update the object mark!).
@@ -147,7 +831,6 @@
BasicLock::displaced_header_offset_in_bytes(), monitor);
b(done);
-
// } else {
// // Slow path.
// InterpreterRuntime::monitorenter(THREAD, monitor);
@@ -158,7 +841,7 @@
call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorenter),
monitor, /*check_for_exceptions=*/true CC_INTERP_ONLY(&& false));
// }
-
+ align(32, 12);
bind(done);
}
}
@@ -173,13 +856,13 @@
void InterpreterMacroAssembler::unlock_object(Register monitor, bool check_for_exceptions) {
if (UseHeavyMonitors) {
call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::monitorexit),
- monitor, /*check_for_exceptions=*/false);
+ monitor, check_for_exceptions CC_INTERP_ONLY(&& false));
} else {
// template code:
//
// if ((displaced_header = monitor->displaced_header()) == NULL) {
- // // Recursive unlock. Mark the monitor unlocked by setting the object field to NULL.
+ // // Recursive unlock. Mark the monitor unlocked by setting the object field to NULL.
// monitor->set_obj(NULL);
// } else if (Atomic::cmpxchg_ptr(displaced_header, obj->mark_addr(), monitor) == monitor) {
// // We swapped the unlocked mark in displaced_header into the object's mark word.
@@ -221,7 +904,7 @@
// If we still have a lightweight lock, unlock the object and be done.
// The object address from the monitor is in object.
- if (!UseBiasedLocking) ld(object, BasicObjectLock::obj_offset_in_bytes(), monitor);
+ if (!UseBiasedLocking) { ld(object, BasicObjectLock::obj_offset_in_bytes(), monitor); }
addi(object_mark_addr, object, oopDesc::mark_offset_in_bytes());
// We have the displaced header in displaced_header. If the lock is still
@@ -261,6 +944,959 @@
}
}
+#ifndef CC_INTERP
+
+// Load compiled (i2c) or interpreter entry when calling from interpreted and
+// do the call. Centralized so that all interpreter calls will do the same actions.
+// If jvmti single stepping is on for a thread we must not call compiled code.
+//
+// Input:
+// - Rtarget_method: method to call
+// - Rret_addr: return address
+// - 2 scratch regs
+//
+void InterpreterMacroAssembler::call_from_interpreter(Register Rtarget_method, Register Rret_addr, Register Rscratch1, Register Rscratch2) {
+ assert_different_registers(Rscratch1, Rscratch2, Rtarget_method, Rret_addr);
+ // Assume we want to go compiled if available.
+ const Register Rtarget_addr = Rscratch1;
+ const Register Rinterp_only = Rscratch2;
+
+ ld(Rtarget_addr, in_bytes(Method::from_interpreted_offset()), Rtarget_method);
+
+ if (JvmtiExport::can_post_interpreter_events()) {
+ lwz(Rinterp_only, in_bytes(JavaThread::interp_only_mode_offset()), R16_thread);
+
+ // JVMTI events, such as single-stepping, are implemented partly by avoiding running
+ // compiled code in threads for which the event is enabled. Check here for
+ // interp_only_mode if these events CAN be enabled.
+ Label done;
+ verify_thread();
+ cmpwi(CCR0, Rinterp_only, 0);
+ beq(CCR0, done);
+ ld(Rtarget_addr, in_bytes(Method::interpreter_entry_offset()), Rtarget_method);
+ align(32, 12);
+ bind(done);
+ }
+
+#ifdef ASSERT
+ {
+ Label Lok;
+ cmpdi(CCR0, Rtarget_addr, 0);
+ bne(CCR0, Lok);
+ stop("null entry point");
+ bind(Lok);
+ }
+#endif // ASSERT
+
+ mr(R21_sender_SP, R1_SP);
+
+ // Calc a precise SP for the call. The SP value we calculated in
+ // generate_fixed_frame() is based on the max_stack() value, so we would waste stack space
+ // if esp is not max. Also, the i2c adapter extends the stack space without restoring
+ // our pre-calced value, so repeating calls via i2c would result in stack overflow.
+ // Since esp already points to an empty slot, we just have to sub 1 additional slot
+ // to meet the abi scratch requirements.
+ // The max_stack pointer will get restored by means of the GR_Lmax_stack local in
+ // the return entry of the interpreter.
+ addi(Rscratch2, R15_esp, Interpreter::stackElementSize - frame::abi_reg_args_size);
+ clrrdi(Rscratch2, Rscratch2, exact_log2(frame::alignment_in_bytes)); // round towards smaller address
+ resize_frame_absolute(Rscratch2, Rscratch2, R0);
+
+ mr_if_needed(R19_method, Rtarget_method);
+ mtctr(Rtarget_addr);
+ mtlr(Rret_addr);
+
+ save_interpreter_state(Rscratch2);
+#ifdef ASSERT
+ ld(Rscratch1, _ijava_state_neg(top_frame_sp), Rscratch2); // Rscratch2 contains fp
+ cmpd(CCR0, R21_sender_SP, Rscratch1);
+ asm_assert_eq("top_frame_sp incorrect", 0x951);
+#endif
+
+ bctr();
+}
+
+// Set the method data pointer for the current bcp.
+void InterpreterMacroAssembler::set_method_data_pointer_for_bcp() {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+ Label get_continue;
+ ld(R28_mdx, in_bytes(Method::method_data_offset()), R19_method);
+ test_method_data_pointer(get_continue);
+ call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::bcp_to_di), R19_method, R14_bcp);
+
+ addi(R28_mdx, R28_mdx, in_bytes(MethodData::data_offset()));
+ add(R28_mdx, R28_mdx, R3_RET);
+ bind(get_continue);
+}
+
+// Test ImethodDataPtr. If it is null, continue at the specified label.
+void InterpreterMacroAssembler::test_method_data_pointer(Label& zero_continue) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+ cmpdi(CCR0, R28_mdx, 0);
+ beq(CCR0, zero_continue);
+}
+
+void InterpreterMacroAssembler::verify_method_data_pointer() {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+#ifdef ASSERT
+ Label verify_continue;
+ test_method_data_pointer(verify_continue);
+
+ // If the mdp is valid, it will point to a DataLayout header which is
+ // consistent with the bcp. The converse is highly probable also.
+ lhz(R11_scratch1, in_bytes(DataLayout::bci_offset()), R28_mdx);
+ ld(R12_scratch2, in_bytes(Method::const_offset()), R19_method);
+ addi(R11_scratch1, R11_scratch1, in_bytes(ConstMethod::codes_offset()));
+ add(R11_scratch1, R12_scratch2, R12_scratch2);
+ cmpd(CCR0, R11_scratch1, R14_bcp);
+ beq(CCR0, verify_continue);
+
+ call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::verify_mdp ), R19_method, R14_bcp, R28_mdx);
+
+ bind(verify_continue);
+#endif
+}
+
+void InterpreterMacroAssembler::test_invocation_counter_for_mdp(Register invocation_count,
+ Register Rscratch,
+ Label &profile_continue) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+ // Control will flow to "profile_continue" if the counter is less than the
+ // limit or if we call profile_method().
+ Label done;
+
+ // If no method data exists, and the counter is high enough, make one.
+ int ipl_offs = load_const_optimized(Rscratch, &InvocationCounter::InterpreterProfileLimit, R0, true);
+ lwz(Rscratch, ipl_offs, Rscratch);
+
+ cmpdi(CCR0, R28_mdx, 0);
+ // Test to see if we should create a method data oop.
+ cmpd(CCR1, Rscratch /* InterpreterProfileLimit */, invocation_count);
+ bne(CCR0, done);
+ bge(CCR1, profile_continue);
+
+ // Build it now.
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method));
+ set_method_data_pointer_for_bcp();
+ b(profile_continue);
+
+ align(32, 12);
+ bind(done);
+}
+
+void InterpreterMacroAssembler::test_backedge_count_for_osr(Register backedge_count, Register branch_bcp, Register Rtmp) {
+ assert_different_registers(backedge_count, Rtmp, branch_bcp);
+ assert(UseOnStackReplacement,"Must UseOnStackReplacement to test_backedge_count_for_osr");
+
+ Label did_not_overflow;
+ Label overflow_with_error;
+
+ int ibbl_offs = load_const_optimized(Rtmp, &InvocationCounter::InterpreterBackwardBranchLimit, R0, true);
+ lwz(Rtmp, ibbl_offs, Rtmp);
+ cmpw(CCR0, backedge_count, Rtmp);
+
+ blt(CCR0, did_not_overflow);
+
+ // When ProfileInterpreter is on, the backedge_count comes from the
+ // methodDataOop, which value does not get reset on the call to
+ // frequency_counter_overflow(). To avoid excessive calls to the overflow
+ // routine while the method is being compiled, add a second test to make sure
+ // the overflow function is called only once every overflow_frequency.
+ if (ProfileInterpreter) {
+ const int overflow_frequency = 1024;
+ li(Rtmp, overflow_frequency-1);
+ andr(Rtmp, Rtmp, backedge_count);
+ cmpwi(CCR0, Rtmp, 0);
+ bne(CCR0, did_not_overflow);
+ }
+
+ // Overflow in loop, pass branch bytecode.
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), branch_bcp, true);
+
+ // Was an OSR adapter generated?
+ // O0 = osr nmethod
+ cmpdi(CCR0, R3_RET, 0);
+ beq(CCR0, overflow_with_error);
+
+ // Has the nmethod been invalidated already?
+ lwz(Rtmp, nmethod::entry_bci_offset(), R3_RET);
+ cmpwi(CCR0, Rtmp, InvalidOSREntryBci);
+ beq(CCR0, overflow_with_error);
+
+ // Migrate the interpreter frame off of the stack.
+ // We can use all registers because we will not return to interpreter from this point.
+
+ // Save nmethod.
+ const Register osr_nmethod = R31;
+ mr(osr_nmethod, R3_RET);
+ set_top_ijava_frame_at_SP_as_last_Java_frame(R1_SP, R11_scratch1);
+ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::OSR_migration_begin), R16_thread);
+ reset_last_Java_frame();
+ // OSR buffer is in ARG1
+
+ // Remove the interpreter frame.
+ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ R0, R11_scratch1, R12_scratch2);
+
+ // Jump to the osr code.
+ ld(R11_scratch1, nmethod::osr_entry_point_offset(), osr_nmethod);
+ mtlr(R0);
+ mtctr(R11_scratch1);
+ bctr();
+
+ align(32, 12);
+ bind(overflow_with_error);
+ bind(did_not_overflow);
+}
+
+// Store a value at some constant offset from the method data pointer.
+void InterpreterMacroAssembler::set_mdp_data_at(int constant, Register value) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+
+ std(value, constant, R28_mdx);
+}
+
+// Increment the value at some constant offset from the method data pointer.
+void InterpreterMacroAssembler::increment_mdp_data_at(int constant,
+ Register counter_addr,
+ Register Rbumped_count,
+ bool decrement) {
+ // Locate the counter at a fixed offset from the mdp:
+ addi(counter_addr, R28_mdx, constant);
+ increment_mdp_data_at(counter_addr, Rbumped_count, decrement);
+}
+
+// Increment the value at some non-fixed (reg + constant) offset from
+// the method data pointer.
+void InterpreterMacroAssembler::increment_mdp_data_at(Register reg,
+ int constant,
+ Register scratch,
+ Register Rbumped_count,
+ bool decrement) {
+ // Add the constant to reg to get the offset.
+ add(scratch, R28_mdx, reg);
+ // Then calculate the counter address.
+ addi(scratch, scratch, constant);
+ increment_mdp_data_at(scratch, Rbumped_count, decrement);
+}
+
+void InterpreterMacroAssembler::increment_mdp_data_at(Register counter_addr,
+ Register Rbumped_count,
+ bool decrement) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+
+ // Load the counter.
+ ld(Rbumped_count, 0, counter_addr);
+
+ if (decrement) {
+ // Decrement the register. Set condition codes.
+ addi(Rbumped_count, Rbumped_count, - DataLayout::counter_increment);
+ // Store the decremented counter, if it is still negative.
+ std(Rbumped_count, 0, counter_addr);
+ // Note: add/sub overflow check are not ported, since 64 bit
+ // calculation should never overflow.
+ } else {
+ // Increment the register. Set carry flag.
+ addi(Rbumped_count, Rbumped_count, DataLayout::counter_increment);
+ // Store the incremented counter.
+ std(Rbumped_count, 0, counter_addr);
+ }
+}
+
+// Set a flag value at the current method data pointer position.
+void InterpreterMacroAssembler::set_mdp_flag_at(int flag_constant,
+ Register scratch) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+ // Load the data header.
+ lbz(scratch, in_bytes(DataLayout::flags_offset()), R28_mdx);
+ // Set the flag.
+ ori(scratch, scratch, flag_constant);
+ // Store the modified header.
+ stb(scratch, in_bytes(DataLayout::flags_offset()), R28_mdx);
+}
+
+// Test the location at some offset from the method data pointer.
+// If it is not equal to value, branch to the not_equal_continue Label.
+void InterpreterMacroAssembler::test_mdp_data_at(int offset,
+ Register value,
+ Label& not_equal_continue,
+ Register test_out) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+
+ ld(test_out, offset, R28_mdx);
+ cmpd(CCR0, value, test_out);
+ bne(CCR0, not_equal_continue);
+}
+
+// Update the method data pointer by the displacement located at some fixed
+// offset from the method data pointer.
+void InterpreterMacroAssembler::update_mdp_by_offset(int offset_of_disp,
+ Register scratch) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+
+ ld(scratch, offset_of_disp, R28_mdx);
+ add(R28_mdx, scratch, R28_mdx);
+}
+
+// Update the method data pointer by the displacement located at the
+// offset (reg + offset_of_disp).
+void InterpreterMacroAssembler::update_mdp_by_offset(Register reg,
+ int offset_of_disp,
+ Register scratch) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+
+ add(scratch, reg, R28_mdx);
+ ld(scratch, offset_of_disp, scratch);
+ add(R28_mdx, scratch, R28_mdx);
+}
+
+// Update the method data pointer by a simple constant displacement.
+void InterpreterMacroAssembler::update_mdp_by_constant(int constant) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+ addi(R28_mdx, R28_mdx, constant);
+}
+
+// Update the method data pointer for a _ret bytecode whose target
+// was not among our cached targets.
+void InterpreterMacroAssembler::update_mdp_for_ret(TosState state,
+ Register return_bci) {
+ assert(ProfileInterpreter, "must be profiling interpreter");
+
+ push(state);
+ assert(return_bci->is_nonvolatile(), "need to protect return_bci");
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::update_mdp_for_ret), return_bci);
+ pop(state);
+}
+
+// Increments the backedge counter.
+// Returns backedge counter + invocation counter in Rdst.
+void InterpreterMacroAssembler::increment_backedge_counter(const Register Rcounters, const Register Rdst,
+ const Register Rtmp1, Register Rscratch) {
+ assert(UseCompiler, "incrementing must be useful");
+ assert_different_registers(Rdst, Rtmp1);
+ const Register invocation_counter = Rtmp1;
+ const Register counter = Rdst;
+ // TODO ppc port assert(4 == InvocationCounter::sz_counter(), "unexpected field size.");
+
+ // Load backedge counter.
+ lwz(counter, in_bytes(MethodCounters::backedge_counter_offset()) +
+ in_bytes(InvocationCounter::counter_offset()), Rcounters);
+ // Load invocation counter.
+ lwz(invocation_counter, in_bytes(MethodCounters::invocation_counter_offset()) +
+ in_bytes(InvocationCounter::counter_offset()), Rcounters);
+
+ // Add the delta to the backedge counter.
+ addi(counter, counter, InvocationCounter::count_increment);
+
+ // Mask the invocation counter.
+ li(Rscratch, InvocationCounter::count_mask_value);
+ andr(invocation_counter, invocation_counter, Rscratch);
+
+ // Store new counter value.
+ stw(counter, in_bytes(MethodCounters::backedge_counter_offset()) +
+ in_bytes(InvocationCounter::counter_offset()), Rcounters);
+ // Return invocation counter + backedge counter.
+ add(counter, counter, invocation_counter);
+}
+
+// Count a taken branch in the bytecodes.
+void InterpreterMacroAssembler::profile_taken_branch(Register scratch, Register bumped_count) {
+ if (ProfileInterpreter) {
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ // We are taking a branch. Increment the taken count.
+ increment_mdp_data_at(in_bytes(JumpData::taken_offset()), scratch, bumped_count);
+
+ // The method data pointer needs to be updated to reflect the new target.
+ update_mdp_by_offset(in_bytes(JumpData::displacement_offset()), scratch);
+ bind (profile_continue);
+ }
+}
+
+// Count a not-taken branch in the bytecodes.
+void InterpreterMacroAssembler::profile_not_taken_branch(Register scratch1, Register scratch2) {
+ if (ProfileInterpreter) {
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ // We are taking a branch. Increment the not taken count.
+ increment_mdp_data_at(in_bytes(BranchData::not_taken_offset()), scratch1, scratch2);
+
+ // The method data pointer needs to be updated to correspond to the
+ // next bytecode.
+ update_mdp_by_constant(in_bytes(BranchData::branch_data_size()));
+ bind (profile_continue);
+ }
+}
+
+// Count a non-virtual call in the bytecodes.
+void InterpreterMacroAssembler::profile_call(Register scratch1, Register scratch2) {
+ if (ProfileInterpreter) {
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ // We are making a call. Increment the count.
+ increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2);
+
+ // The method data pointer needs to be updated to reflect the new target.
+ update_mdp_by_constant(in_bytes(CounterData::counter_data_size()));
+ bind (profile_continue);
+ }
+}
+
+// Count a final call in the bytecodes.
+void InterpreterMacroAssembler::profile_final_call(Register scratch1, Register scratch2) {
+ if (ProfileInterpreter) {
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ // We are making a call. Increment the count.
+ increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2);
+
+ // The method data pointer needs to be updated to reflect the new target.
+ update_mdp_by_constant(in_bytes(VirtualCallData::virtual_call_data_size()));
+ bind (profile_continue);
+ }
+}
+
+// Count a virtual call in the bytecodes.
+void InterpreterMacroAssembler::profile_virtual_call(Register Rreceiver,
+ Register Rscratch1,
+ Register Rscratch2,
+ bool receiver_can_be_null) {
+ if (!ProfileInterpreter) { return; }
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ Label skip_receiver_profile;
+ if (receiver_can_be_null) {
+ Label not_null;
+ cmpdi(CCR0, Rreceiver, 0);
+ bne(CCR0, not_null);
+ // We are making a call. Increment the count for null receiver.
+ increment_mdp_data_at(in_bytes(CounterData::count_offset()), Rscratch1, Rscratch2);
+ b(skip_receiver_profile);
+ bind(not_null);
+ }
+
+ // Record the receiver type.
+ record_klass_in_profile(Rreceiver, Rscratch1, Rscratch2, true);
+ bind(skip_receiver_profile);
+
+ // The method data pointer needs to be updated to reflect the new target.
+ update_mdp_by_constant(in_bytes(VirtualCallData::virtual_call_data_size()));
+ bind (profile_continue);
+}
+
+void InterpreterMacroAssembler::profile_typecheck(Register Rklass, Register Rscratch1, Register Rscratch2) {
+ if (ProfileInterpreter) {
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ int mdp_delta = in_bytes(BitData::bit_data_size());
+ if (TypeProfileCasts) {
+ mdp_delta = in_bytes(VirtualCallData::virtual_call_data_size());
+
+ // Record the object type.
+ record_klass_in_profile(Rklass, Rscratch1, Rscratch2, false);
+ }
+
+ // The method data pointer needs to be updated.
+ update_mdp_by_constant(mdp_delta);
+
+ bind (profile_continue);
+ }
+}
+
+void InterpreterMacroAssembler::profile_typecheck_failed(Register Rscratch1, Register Rscratch2) {
+ if (ProfileInterpreter && TypeProfileCasts) {
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ int count_offset = in_bytes(CounterData::count_offset());
+ // Back up the address, since we have already bumped the mdp.
+ count_offset -= in_bytes(VirtualCallData::virtual_call_data_size());
+
+ // *Decrement* the counter. We expect to see zero or small negatives.
+ increment_mdp_data_at(count_offset, Rscratch1, Rscratch2, true);
+
+ bind (profile_continue);
+ }
+}
+
+// Count a ret in the bytecodes.
+void InterpreterMacroAssembler::profile_ret(TosState state, Register return_bci, Register scratch1, Register scratch2) {
+ if (ProfileInterpreter) {
+ Label profile_continue;
+ uint row;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ // Update the total ret count.
+ increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2 );
+
+ for (row = 0; row < RetData::row_limit(); row++) {
+ Label next_test;
+
+ // See if return_bci is equal to bci[n]:
+ test_mdp_data_at(in_bytes(RetData::bci_offset(row)), return_bci, next_test, scratch1);
+
+ // return_bci is equal to bci[n]. Increment the count.
+ increment_mdp_data_at(in_bytes(RetData::bci_count_offset(row)), scratch1, scratch2);
+
+ // The method data pointer needs to be updated to reflect the new target.
+ update_mdp_by_offset(in_bytes(RetData::bci_displacement_offset(row)), scratch1);
+ b(profile_continue);
+ bind(next_test);
+ }
+
+ update_mdp_for_ret(state, return_bci);
+
+ bind (profile_continue);
+ }
+}
+
+// Count the default case of a switch construct.
+void InterpreterMacroAssembler::profile_switch_default(Register scratch1, Register scratch2) {
+ if (ProfileInterpreter) {
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ // Update the default case count
+ increment_mdp_data_at(in_bytes(MultiBranchData::default_count_offset()),
+ scratch1, scratch2);
+
+ // The method data pointer needs to be updated.
+ update_mdp_by_offset(in_bytes(MultiBranchData::default_displacement_offset()),
+ scratch1);
+
+ bind (profile_continue);
+ }
+}
+
+// Count the index'th case of a switch construct.
+void InterpreterMacroAssembler::profile_switch_case(Register index,
+ Register scratch1,
+ Register scratch2,
+ Register scratch3) {
+ if (ProfileInterpreter) {
+ assert_different_registers(index, scratch1, scratch2, scratch3);
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ // Build the base (index * per_case_size_in_bytes()) + case_array_offset_in_bytes().
+ li(scratch3, in_bytes(MultiBranchData::case_array_offset()));
+
+ assert (in_bytes(MultiBranchData::per_case_size()) == 16, "so that shladd works");
+ sldi(scratch1, index, exact_log2(in_bytes(MultiBranchData::per_case_size())));
+ add(scratch1, scratch1, scratch3);
+
+ // Update the case count.
+ increment_mdp_data_at(scratch1, in_bytes(MultiBranchData::relative_count_offset()), scratch2, scratch3);
+
+ // The method data pointer needs to be updated.
+ update_mdp_by_offset(scratch1, in_bytes(MultiBranchData::relative_displacement_offset()), scratch2);
+
+ bind (profile_continue);
+ }
+}
+
+void InterpreterMacroAssembler::profile_null_seen(Register Rscratch1, Register Rscratch2) {
+ if (ProfileInterpreter) {
+ assert_different_registers(Rscratch1, Rscratch2);
+ Label profile_continue;
+
+ // If no method data exists, go to profile_continue.
+ test_method_data_pointer(profile_continue);
+
+ set_mdp_flag_at(BitData::null_seen_byte_constant(), Rscratch1);
+
+ // The method data pointer needs to be updated.
+ int mdp_delta = in_bytes(BitData::bit_data_size());
+ if (TypeProfileCasts) {
+ mdp_delta = in_bytes(VirtualCallData::virtual_call_data_size());
+ }
+ update_mdp_by_constant(mdp_delta);
+
+ bind (profile_continue);
+ }
+}
+
+void InterpreterMacroAssembler::record_klass_in_profile(Register Rreceiver,
+ Register Rscratch1, Register Rscratch2,
+ bool is_virtual_call) {
+ assert(ProfileInterpreter, "must be profiling");
+ assert_different_registers(Rreceiver, Rscratch1, Rscratch2);
+
+ Label done;
+ record_klass_in_profile_helper(Rreceiver, Rscratch1, Rscratch2, 0, done, is_virtual_call);
+ bind (done);
+}
+
+void InterpreterMacroAssembler::record_klass_in_profile_helper(
+ Register receiver, Register scratch1, Register scratch2,
+ int start_row, Label& done, bool is_virtual_call) {
+ if (TypeProfileWidth == 0) {
+ if (is_virtual_call) {
+ increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2);
+ }
+ return;
+ }
+
+ int last_row = VirtualCallData::row_limit() - 1;
+ assert(start_row <= last_row, "must be work left to do");
+ // Test this row for both the receiver and for null.
+ // Take any of three different outcomes:
+ // 1. found receiver => increment count and goto done
+ // 2. found null => keep looking for case 1, maybe allocate this cell
+ // 3. found something else => keep looking for cases 1 and 2
+ // Case 3 is handled by a recursive call.
+ for (int row = start_row; row <= last_row; row++) {
+ Label next_test;
+ bool test_for_null_also = (row == start_row);
+
+ // See if the receiver is receiver[n].
+ int recvr_offset = in_bytes(VirtualCallData::receiver_offset(row));
+ test_mdp_data_at(recvr_offset, receiver, next_test, scratch1);
+ // delayed()->tst(scratch);
+
+ // The receiver is receiver[n]. Increment count[n].
+ int count_offset = in_bytes(VirtualCallData::receiver_count_offset(row));
+ increment_mdp_data_at(count_offset, scratch1, scratch2);
+ b(done);
+ bind(next_test);
+
+ if (test_for_null_also) {
+ Label found_null;
+ // Failed the equality check on receiver[n]... Test for null.
+ if (start_row == last_row) {
+ // The only thing left to do is handle the null case.
+ if (is_virtual_call) {
+ // Scratch1 contains test_out from test_mdp_data_at.
+ cmpdi(CCR0, scratch1, 0);
+ beq(CCR0, found_null);
+ // Receiver did not match any saved receiver and there is no empty row for it.
+ // Increment total counter to indicate polymorphic case.
+ increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch1, scratch2);
+ b(done);
+ bind(found_null);
+ } else {
+ cmpdi(CCR0, scratch1, 0);
+ bne(CCR0, done);
+ }
+ break;
+ }
+ // Since null is rare, make it be the branch-taken case.
+ cmpdi(CCR0, scratch1, 0);
+ beq(CCR0, found_null);
+
+ // Put all the "Case 3" tests here.
+ record_klass_in_profile_helper(receiver, scratch1, scratch2, start_row + 1, done, is_virtual_call);
+
+ // Found a null. Keep searching for a matching receiver,
+ // but remember that this is an empty (unused) slot.
+ bind(found_null);
+ }
+ }
+
+ // In the fall-through case, we found no matching receiver, but we
+ // observed the receiver[start_row] is NULL.
+
+ // Fill in the receiver field and increment the count.
+ int recvr_offset = in_bytes(VirtualCallData::receiver_offset(start_row));
+ set_mdp_data_at(recvr_offset, receiver);
+ int count_offset = in_bytes(VirtualCallData::receiver_count_offset(start_row));
+ li(scratch1, DataLayout::counter_increment);
+ set_mdp_data_at(count_offset, scratch1);
+ if (start_row > 0) {
+ b(done);
+ }
+}
+
+// Add a InterpMonitorElem to stack (see frame_sparc.hpp).
+void InterpreterMacroAssembler::add_monitor_to_stack(bool stack_is_empty, Register Rtemp1, Register Rtemp2) {
+
+ // Very-local scratch registers.
+ const Register esp = Rtemp1;
+ const Register slot = Rtemp2;
+
+ // Extracted monitor_size.
+ int monitor_size = frame::interpreter_frame_monitor_size_in_bytes();
+ assert(Assembler::is_aligned((unsigned int)monitor_size,
+ (unsigned int)frame::alignment_in_bytes),
+ "size of a monitor must respect alignment of SP");
+
+ resize_frame(-monitor_size, /*temp*/esp); // Allocate space for new monitor
+ std(R1_SP, _ijava_state_neg(top_frame_sp), esp); // esp contains fp
+
+ // Shuffle expression stack down. Recall that stack_base points
+ // just above the new expression stack bottom. Old_tos and new_tos
+ // are used to scan thru the old and new expression stacks.
+ if (!stack_is_empty) {
+ Label copy_slot, copy_slot_finished;
+ const Register n_slots = slot;
+
+ addi(esp, R15_esp, Interpreter::stackElementSize); // Point to first element (pre-pushed stack).
+ subf(n_slots, esp, R26_monitor);
+ srdi_(n_slots, n_slots, LogBytesPerWord); // Compute number of slots to copy.
+ assert(LogBytesPerWord == 3, "conflicts assembler instructions");
+ beq(CCR0, copy_slot_finished); // Nothing to copy.
+
+ mtctr(n_slots);
+
+ // loop
+ bind(copy_slot);
+ ld(slot, 0, esp); // Move expression stack down.
+ std(slot, -monitor_size, esp); // distance = monitor_size
+ addi(esp, esp, BytesPerWord);
+ bdnz(copy_slot);
+
+ bind(copy_slot_finished);
+ }
+
+ addi(R15_esp, R15_esp, -monitor_size);
+ addi(R26_monitor, R26_monitor, -monitor_size);
+
+ // Restart interpreter
+}
+
+// ============================================================================
+// Java locals access
+
+// Load a local variable at index in Rindex into register Rdst_value.
+// Also puts address of local into Rdst_address as a service.
+// Kills:
+// - Rdst_value
+// - Rdst_address
+void InterpreterMacroAssembler::load_local_int(Register Rdst_value, Register Rdst_address, Register Rindex) {
+ sldi(Rdst_address, Rindex, Interpreter::logStackElementSize);
+ subf(Rdst_address, Rdst_address, R18_locals);
+ lwz(Rdst_value, 0, Rdst_address);
+}
+
+// Load a local variable at index in Rindex into register Rdst_value.
+// Also puts address of local into Rdst_address as a service.
+// Kills:
+// - Rdst_value
+// - Rdst_address
+void InterpreterMacroAssembler::load_local_long(Register Rdst_value, Register Rdst_address, Register Rindex) {
+ sldi(Rdst_address, Rindex, Interpreter::logStackElementSize);
+ subf(Rdst_address, Rdst_address, R18_locals);
+ ld(Rdst_value, -8, Rdst_address);
+}
+
+// Load a local variable at index in Rindex into register Rdst_value.
+// Also puts address of local into Rdst_address as a service.
+// Input:
+// - Rindex: slot nr of local variable
+// Kills:
+// - Rdst_value
+// - Rdst_address
+void InterpreterMacroAssembler::load_local_ptr(Register Rdst_value, Register Rdst_address, Register Rindex) {
+ sldi(Rdst_address, Rindex, Interpreter::logStackElementSize);
+ subf(Rdst_address, Rdst_address, R18_locals);
+ ld(Rdst_value, 0, Rdst_address);
+}
+
+// Load a local variable at index in Rindex into register Rdst_value.
+// Also puts address of local into Rdst_address as a service.
+// Kills:
+// - Rdst_value
+// - Rdst_address
+void InterpreterMacroAssembler::load_local_float(FloatRegister Rdst_value, Register Rdst_address, Register Rindex) {
+ sldi(Rdst_address, Rindex, Interpreter::logStackElementSize);
+ subf(Rdst_address, Rdst_address, R18_locals);
+ lfs(Rdst_value, 0, Rdst_address);
+}
+
+// Load a local variable at index in Rindex into register Rdst_value.
+// Also puts address of local into Rdst_address as a service.
+// Kills:
+// - Rdst_value
+// - Rdst_address
+void InterpreterMacroAssembler::load_local_double(FloatRegister Rdst_value, Register Rdst_address, Register Rindex) {
+ sldi(Rdst_address, Rindex, Interpreter::logStackElementSize);
+ subf(Rdst_address, Rdst_address, R18_locals);
+ lfd(Rdst_value, -8, Rdst_address);
+}
+
+// Store an int value at local variable slot Rindex.
+// Kills:
+// - Rindex
+void InterpreterMacroAssembler::store_local_int(Register Rvalue, Register Rindex) {
+ sldi(Rindex, Rindex, Interpreter::logStackElementSize);
+ subf(Rindex, Rindex, R18_locals);
+ stw(Rvalue, 0, Rindex);
+}
+
+// Store a long value at local variable slot Rindex.
+// Kills:
+// - Rindex
+void InterpreterMacroAssembler::store_local_long(Register Rvalue, Register Rindex) {
+ sldi(Rindex, Rindex, Interpreter::logStackElementSize);
+ subf(Rindex, Rindex, R18_locals);
+ std(Rvalue, -8, Rindex);
+}
+
+// Store an oop value at local variable slot Rindex.
+// Kills:
+// - Rindex
+void InterpreterMacroAssembler::store_local_ptr(Register Rvalue, Register Rindex) {
+ sldi(Rindex, Rindex, Interpreter::logStackElementSize);
+ subf(Rindex, Rindex, R18_locals);
+ std(Rvalue, 0, Rindex);
+}
+
+// Store an int value at local variable slot Rindex.
+// Kills:
+// - Rindex
+void InterpreterMacroAssembler::store_local_float(FloatRegister Rvalue, Register Rindex) {
+ sldi(Rindex, Rindex, Interpreter::logStackElementSize);
+ subf(Rindex, Rindex, R18_locals);
+ stfs(Rvalue, 0, Rindex);
+}
+
+// Store an int value at local variable slot Rindex.
+// Kills:
+// - Rindex
+void InterpreterMacroAssembler::store_local_double(FloatRegister Rvalue, Register Rindex) {
+ sldi(Rindex, Rindex, Interpreter::logStackElementSize);
+ subf(Rindex, Rindex, R18_locals);
+ stfd(Rvalue, -8, Rindex);
+}
+
+// Read pending exception from thread and jump to interpreter.
+// Throw exception entry if one if pending. Fall through otherwise.
+void InterpreterMacroAssembler::check_and_forward_exception(Register Rscratch1, Register Rscratch2) {
+ assert_different_registers(Rscratch1, Rscratch2, R3);
+ Register Rexception = Rscratch1;
+ Register Rtmp = Rscratch2;
+ Label Ldone;
+ // Get pending exception oop.
+ ld(Rexception, thread_(pending_exception));
+ cmpdi(CCR0, Rexception, 0);
+ beq(CCR0, Ldone);
+ li(Rtmp, 0);
+ mr_if_needed(R3, Rexception);
+ std(Rtmp, thread_(pending_exception)); // Clear exception in thread
+ if (Interpreter::rethrow_exception_entry() != NULL) {
+ // Already got entry address.
+ load_dispatch_table(Rtmp, (address*)Interpreter::rethrow_exception_entry());
+ } else {
+ // Dynamically load entry address.
+ int simm16_rest = load_const_optimized(Rtmp, &Interpreter::_rethrow_exception_entry, R0, true);
+ ld(Rtmp, simm16_rest, Rtmp);
+ }
+ mtctr(Rtmp);
+ save_interpreter_state(Rtmp);
+ bctr();
+
+ align(32, 12);
+ bind(Ldone);
+}
+
+void InterpreterMacroAssembler::call_VM(Register oop_result, address entry_point, bool check_exceptions) {
+ save_interpreter_state(R11_scratch1);
+
+ MacroAssembler::call_VM(oop_result, entry_point, false);
+
+ restore_interpreter_state(R11_scratch1, /*bcp_and_mdx_only*/ true);
+
+ check_and_handle_popframe(R11_scratch1);
+ check_and_handle_earlyret(R11_scratch1);
+ // Now check exceptions manually.
+ if (check_exceptions) {
+ check_and_forward_exception(R11_scratch1, R12_scratch2);
+ }
+}
+
+void InterpreterMacroAssembler::call_VM(Register oop_result, address entry_point, Register arg_1, bool check_exceptions) {
+ // ARG1 is reserved for the thread.
+ mr_if_needed(R4_ARG2, arg_1);
+ call_VM(oop_result, entry_point, check_exceptions);
+}
+
+void InterpreterMacroAssembler::call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, bool check_exceptions) {
+ // ARG1 is reserved for the thread.
+ mr_if_needed(R4_ARG2, arg_1);
+ assert(arg_2 != R4_ARG2, "smashed argument");
+ mr_if_needed(R5_ARG3, arg_2);
+ call_VM(oop_result, entry_point, check_exceptions);
+}
+
+void InterpreterMacroAssembler::call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, Register arg_3, bool check_exceptions) {
+ // ARG1 is reserved for the thread.
+ mr_if_needed(R4_ARG2, arg_1);
+ assert(arg_2 != R4_ARG2, "smashed argument");
+ mr_if_needed(R5_ARG3, arg_2);
+ assert(arg_3 != R4_ARG2 && arg_3 != R5_ARG3, "smashed argument");
+ mr_if_needed(R6_ARG4, arg_3);
+ call_VM(oop_result, entry_point, check_exceptions);
+}
+
+void InterpreterMacroAssembler::save_interpreter_state(Register scratch) {
+ ld(scratch, 0, R1_SP);
+ std(R15_esp, _ijava_state_neg(esp), scratch);
+ std(R14_bcp, _ijava_state_neg(bcp), scratch);
+ std(R26_monitor, _ijava_state_neg(monitors), scratch);
+ if (ProfileInterpreter) { std(R28_mdx, _ijava_state_neg(mdx), scratch); }
+ // Other entries should be unchanged.
+}
+
+void InterpreterMacroAssembler::restore_interpreter_state(Register scratch, bool bcp_and_mdx_only) {
+ ld(scratch, 0, R1_SP);
+ ld(R14_bcp, _ijava_state_neg(bcp), scratch); // Changed by VM code (exception).
+ if (ProfileInterpreter) { ld(R28_mdx, _ijava_state_neg(mdx), scratch); } // Changed by VM code.
+ if (!bcp_and_mdx_only) {
+ // Following ones are Metadata.
+ ld(R19_method, _ijava_state_neg(method), scratch);
+ ld(R27_constPoolCache, _ijava_state_neg(cpoolCache), scratch);
+ // Following ones are stack addresses and don't require reload.
+ ld(R15_esp, _ijava_state_neg(esp), scratch);
+ ld(R18_locals, _ijava_state_neg(locals), scratch);
+ ld(R26_monitor, _ijava_state_neg(monitors), scratch);
+ }
+#ifdef ASSERT
+ {
+ Label Lok;
+ subf(R0, R1_SP, scratch);
+ cmpdi(CCR0, R0, frame::abi_reg_args_size + frame::ijava_state_size);
+ bge(CCR0, Lok);
+ stop("frame too small (restore istate)", 0x5432);
+ bind(Lok);
+ }
+ {
+ Label Lok;
+ ld(R0, _ijava_state_neg(ijava_reserved), scratch);
+ cmpdi(CCR0, R0, 0x5afe);
+ beq(CCR0, Lok);
+ stop("frame corrupted (restore istate)", 0x5afe);
+ bind(Lok);
+ }
+#endif
+}
+
+#endif // !CC_INTERP
+
void InterpreterMacroAssembler::get_method_counters(Register method,
Register Rcounters,
Label& skip) {
@@ -321,6 +1957,66 @@
if (state == atos) { MacroAssembler::verify_oop(reg); }
}
+#ifndef CC_INTERP
+// Local helper function for the verify_oop_or_return_address macro.
+static bool verify_return_address(Method* m, int bci) {
+#ifndef PRODUCT
+ address pc = (address)(m->constMethod()) + in_bytes(ConstMethod::codes_offset()) + bci;
+ // Assume it is a valid return address if it is inside m and is preceded by a jsr.
+ if (!m->contains(pc)) return false;
+ address jsr_pc;
+ jsr_pc = pc - Bytecodes::length_for(Bytecodes::_jsr);
+ if (*jsr_pc == Bytecodes::_jsr && jsr_pc >= m->code_base()) return true;
+ jsr_pc = pc - Bytecodes::length_for(Bytecodes::_jsr_w);
+ if (*jsr_pc == Bytecodes::_jsr_w && jsr_pc >= m->code_base()) return true;
+#endif // PRODUCT
+ return false;
+}
+
+void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) {
+ if (VerifyFPU) {
+ unimplemented("verfiyFPU");
+ }
+}
+
+void InterpreterMacroAssembler::verify_oop_or_return_address(Register reg, Register Rtmp) {
+ if (!VerifyOops) return;
+
+ // The VM documentation for the astore[_wide] bytecode allows
+ // the TOS to be not only an oop but also a return address.
+ Label test;
+ Label skip;
+ // See if it is an address (in the current method):
+
+ const int log2_bytecode_size_limit = 16;
+ srdi_(Rtmp, reg, log2_bytecode_size_limit);
+ bne(CCR0, test);
+
+ address fd = CAST_FROM_FN_PTR(address, verify_return_address);
+ unsigned int nbytes_save = 10*8; // 10 volatile gprs
+
+ save_LR_CR(Rtmp);
+ push_frame_reg_args(nbytes_save, Rtmp);
+ save_volatile_gprs(R1_SP, 112); // except R0
+
+ load_const_optimized(Rtmp, fd, R0);
+ mr_if_needed(R4_ARG2, reg);
+ mr(R3_ARG1, R19_method);
+ call_c(Rtmp); // call C
+
+ restore_volatile_gprs(R1_SP, 112); // except R0
+ pop_frame();
+ restore_LR_CR(Rtmp);
+ b(skip);
+
+ // Perform a more elaborate out-of-line call.
+ // Not an address; verify it:
+ bind(test);
+ verify_oop(reg);
+ bind(skip);
+}
+#endif // !CC_INTERP
+
// Inline assembly for:
//
// if (thread is in interp_only_mode) {
@@ -343,13 +2039,12 @@
cmpwi(CCR0, R0, 0);
beq(CCR0, jvmti_post_done);
call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_entry),
- /*check_exceptions=*/false);
+ /*check_exceptions=*/true CC_INTERP_ONLY(&& false));
bind(jvmti_post_done);
}
}
-
// Inline assembly for:
//
// if (thread is in interp_only_mode) {
@@ -365,26 +2060,33 @@
//
// Native methods have their result stored in d_tmp and l_tmp.
// Java methods have their result stored in the expression stack.
-void InterpreterMacroAssembler::notify_method_exit(bool is_native_method, TosState state) {
+void InterpreterMacroAssembler::notify_method_exit(bool is_native_method, TosState state,
+ NotifyMethodExitMode mode, bool check_exceptions) {
// JVMTI
// Whenever JVMTI puts a thread in interp_only_mode, method
// entry/exit events are sent for that thread to track stack
// depth. If it is possible to enter interp_only_mode we add
// the code to check if the event should be sent.
- if (JvmtiExport::can_post_interpreter_events()) {
+ if (mode == NotifyJVMTI && JvmtiExport::can_post_interpreter_events()) {
Label jvmti_post_done;
lwz(R0, in_bytes(JavaThread::interp_only_mode_offset()), R16_thread);
cmpwi(CCR0, R0, 0);
beq(CCR0, jvmti_post_done);
+ CC_INTERP_ONLY(assert(is_native_method && !check_exceptions, "must not push state"));
+ if (!is_native_method) push(state); // Expose tos to GC.
call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_method_exit),
- /*check_exceptions=*/false);
+ /*check_exceptions=*/check_exceptions);
+ if (!is_native_method) pop(state);
align(32, 12);
bind(jvmti_post_done);
}
+
+ // Dtrace support not implemented.
}
+#ifdef CC_INTERP
// Convert the current TOP_IJAVA_FRAME into a PARENT_IJAVA_FRAME
// (using parent_frame_resize) and push a new interpreter
// TOP_IJAVA_FRAME (using frame_size).
@@ -442,7 +2144,6 @@
std(R1_SP, _top_ijava_frame_abi(top_frame_sp), R1_SP);
}
-#ifdef CC_INTERP
// Turn state's interpreter frame into the current TOP_IJAVA_FRAME.
void InterpreterMacroAssembler::pop_interpreter_frame_to_state(Register state, Register tmp1, Register tmp2, Register tmp3) {
assert_different_registers(R14_state, R15_prev_state, tmp1, tmp2, tmp3);
@@ -471,7 +2172,6 @@
// Used for non-initial callers by unextended_sp().
std(R1_SP, _top_ijava_frame_abi(initial_caller_sp), R1_SP);
}
-#endif // CC_INTERP
// Set SP to initial caller's sp, but before fix the back chain.
void InterpreterMacroAssembler::resize_frame_to_initial_caller(Register tmp1, Register tmp2) {
@@ -481,7 +2181,6 @@
mr(R1_SP, tmp1); // ... and resize to initial caller.
}
-#ifdef CC_INTERP
// Pop the current interpreter state (without popping the correspoding
// frame) and restore R14_state and R15_prev_state accordingly.
// Use prev_state_may_be_0 to indicate whether prev_state may be 0
diff --git a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.hpp b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.hpp
index a189e30..9846bb5 100644
--- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.hpp
+++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.hpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -29,7 +29,7 @@
#include "assembler_ppc.inline.hpp"
#include "interpreter/invocationCounter.hpp"
-// This file specializes the assembler with interpreter-specific macros
+// This file specializes the assembler with interpreter-specific macros.
class InterpreterMacroAssembler: public MacroAssembler {
@@ -39,15 +39,176 @@
void null_check_throw(Register a, int offset, Register temp_reg);
- // Handy address generation macros
+ void branch_to_entry(address entry, Register Rscratch);
+
+ // Handy address generation macros.
#define thread_(field_name) in_bytes(JavaThread::field_name ## _offset()), R16_thread
#define method_(field_name) in_bytes(Method::field_name ## _offset()), R19_method
#ifdef CC_INTERP
#define state_(field_name) in_bytes(byte_offset_of(BytecodeInterpreter, field_name)), R14_state
#define prev_state_(field_name) in_bytes(byte_offset_of(BytecodeInterpreter, field_name)), R15_prev_state
+ void pop (TosState state) {}; // Not needed.
+ void push(TosState state) {}; // Not needed.
#endif
+#ifndef CC_INTERP
+ virtual void check_and_handle_popframe(Register java_thread);
+ virtual void check_and_handle_earlyret(Register java_thread);
+
+ // Base routine for all dispatches.
+ void dispatch_base(TosState state, address* table);
+
+ void load_earlyret_value(TosState state, Register Rscratch1);
+
+ static const Address l_tmp;
+ static const Address d_tmp;
+
+ // dispatch routines
+ void dispatch_next(TosState state, int step = 0);
+ void dispatch_via (TosState state, address* table);
+ void load_dispatch_table(Register dst, address* table);
+ void dispatch_Lbyte_code(TosState state, Register bytecode, address* table, bool verify = false);
+
+ // Called by shared interpreter generator.
+ void dispatch_prolog(TosState state, int step = 0);
+ void dispatch_epilog(TosState state, int step = 0);
+
+ // Super call_VM calls - correspond to MacroAssembler::call_VM(_leaf) calls.
+ void super_call_VM_leaf(Register thread_cache, address entry_point, Register arg_1);
+ void super_call_VM(Register thread_cache, Register oop_result, Register last_java_sp,
+ address entry_point, Register arg_1, Register arg_2, bool check_exception = true);
+
+ // Generate a subtype check: branch to ok_is_subtype if sub_klass is
+ // a subtype of super_klass. Blows registers tmp1, tmp2 and tmp3.
+ void gen_subtype_check(Register sub_klass, Register super_klass,
+ Register tmp1, Register tmp2, Register tmp3, Label &ok_is_subtype);
+
+ // Load object from cpool->resolved_references(index).
+ void load_resolved_reference_at_index(Register result, Register index);
+
+ void generate_stack_overflow_check_with_compare_and_throw(Register Rmem_frame_size, Register Rscratch1);
+ void load_receiver(Register Rparam_count, Register Rrecv_dst);
+
+ // helpers for expression stack
+ void pop_i( Register r = R17_tos);
+ void pop_ptr( Register r = R17_tos);
+ void pop_l( Register r = R17_tos);
+ void pop_f(FloatRegister f = F15_ftos);
+ void pop_d(FloatRegister f = F15_ftos );
+
+ void push_i( Register r = R17_tos);
+ void push_ptr( Register r = R17_tos);
+ void push_l( Register r = R17_tos);
+ void push_f(FloatRegister f = F15_ftos );
+ void push_d(FloatRegister f = F15_ftos);
+
+ void push_2ptrs(Register first, Register second);
+
+ void push_l_pop_d(Register l = R17_tos, FloatRegister d = F15_ftos);
+ void push_d_pop_l(FloatRegister d = F15_ftos, Register l = R17_tos);
+
+ void pop (TosState state); // transition vtos -> state
+ void push(TosState state); // transition state -> vtos
+ void empty_expression_stack(); // Resets both Lesp and SP.
+
+ public:
+ // Load values from bytecode stream:
+
+ enum signedOrNot { Signed, Unsigned };
+ enum setCCOrNot { set_CC, dont_set_CC };
+
+ void get_2_byte_integer_at_bcp(int bcp_offset,
+ Register Rdst,
+ signedOrNot is_signed);
+
+ void get_4_byte_integer_at_bcp(int bcp_offset,
+ Register Rdst,
+ signedOrNot is_signed = Unsigned);
+
+ void get_cache_index_at_bcp(Register Rdst, int bcp_offset, size_t index_size);
+
+ void get_cache_and_index_at_bcp(Register cache, int bcp_offset, size_t index_size = sizeof(u2));
+
+
+ // common code
+
+ void field_offset_at(int n, Register tmp, Register dest, Register base);
+ int field_offset_at(Register object, address bcp, int offset);
+ void fast_iaaccess(int n, address bcp);
+ void fast_iagetfield(address bcp);
+ void fast_iaputfield(address bcp, bool do_store_check);
+
+ void index_check(Register array, Register index, int index_shift, Register tmp, Register res);
+ void index_check_without_pop(Register array, Register index, int index_shift, Register tmp, Register res);
+
+ void get_const(Register Rdst);
+ void get_constant_pool(Register Rdst);
+ void get_constant_pool_cache(Register Rdst);
+ void get_cpool_and_tags(Register Rcpool, Register Rtags);
+ void is_a(Label& L);
+
+ // Java Call Helpers
+ void call_from_interpreter(Register Rtarget_method, Register Rret_addr, Register Rscratch1, Register Rscratch2);
+
+ // --------------------------------------------------
+
+ void unlock_if_synchronized_method(TosState state, bool throw_monitor_exception = true,
+ bool install_monitor_exception = true);
+
+ // Removes the current activation (incl. unlocking of monitors).
+ // Additionally this code is used for earlyReturn in which case we
+ // want to skip throwing an exception and installing an exception.
+ void remove_activation(TosState state,
+ bool throw_monitor_exception = true,
+ bool install_monitor_exception = true);
+ void merge_frames(Register Rtop_frame_sp, Register return_pc, Register Rscratch1, Register Rscratch2); // merge top frames
+
+ void add_monitor_to_stack(bool stack_is_empty, Register Rtemp1, Register Rtemp2);
+
+ // Local variable access helpers
+ void load_local_int(Register Rdst_value, Register Rdst_address, Register Rindex);
+ void load_local_long(Register Rdst_value, Register Rdst_address, Register Rindex);
+ void load_local_ptr(Register Rdst_value, Register Rdst_address, Register Rindex);
+ void load_local_float(FloatRegister Rdst_value, Register Rdst_address, Register Rindex);
+ void load_local_double(FloatRegister Rdst_value, Register Rdst_address, Register Rindex);
+ void store_local_int(Register Rvalue, Register Rindex);
+ void store_local_long(Register Rvalue, Register Rindex);
+ void store_local_ptr(Register Rvalue, Register Rindex);
+ void store_local_float(FloatRegister Rvalue, Register Rindex);
+ void store_local_double(FloatRegister Rvalue, Register Rindex);
+
+ // Call VM for std frames
+ // Special call VM versions that check for exceptions and forward exception
+ // via short cut (not via expensive forward exception stub).
+ void check_and_forward_exception(Register Rscratch1, Register Rscratch2);
+ void call_VM(Register oop_result, address entry_point, bool check_exceptions = true);
+ void call_VM(Register oop_result, address entry_point, Register arg_1, bool check_exceptions = true);
+ void call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, bool check_exceptions = true);
+ void call_VM(Register oop_result, address entry_point, Register arg_1, Register arg_2, Register arg_3, bool check_exceptions = true);
+ // Should not be used:
+ void call_VM(Register oop_result, Register last_java_sp, address entry_point, bool check_exceptions = true) {ShouldNotReachHere();}
+ void call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, bool check_exceptions = true) {ShouldNotReachHere();}
+ void call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, Register arg_2, bool check_exceptions = true) {ShouldNotReachHere();}
+ void call_VM(Register oop_result, Register last_java_sp, address entry_point, Register arg_1, Register arg_2, Register arg_3, bool check_exceptions = true) {ShouldNotReachHere();}
+
+ Address first_local_in_stack();
+
+ enum LoadOrStore { load, store };
+ void static_iload_or_store(int which_local, LoadOrStore direction, Register Rtmp);
+ void static_aload_or_store(int which_local, LoadOrStore direction, Register Rtmp);
+ void static_dload_or_store(int which_local, LoadOrStore direction);
+
+ void save_interpreter_state(Register scratch);
+ void restore_interpreter_state(Register scratch, bool bcp_and_mdx_only = false);
+
+ void increment_backedge_counter(const Register Rcounters, Register Rtmp, Register Rtmp2, Register Rscratch);
+ void test_backedge_count_for_osr(Register backedge_count, Register branch_bcp, Register Rtmp);
+
+ void record_static_call_in_profile(Register Rentry, Register Rtmp);
+ void record_receiver_call_in_profile(Register Rklass, Register Rentry, Register Rtmp);
+#endif // !CC_INTERP
+
void get_method_counters(Register method, Register Rcounters, Label& skip);
void increment_invocation_counter(Register iv_be_count, Register Rtmp1, Register Rtmp2_r0);
@@ -55,12 +216,59 @@
void lock_object (Register lock_reg, Register obj_reg);
void unlock_object(Register lock_reg, bool check_for_exceptions = true);
+#ifndef CC_INTERP
+
+ // Interpreter profiling operations
+ void set_method_data_pointer_for_bcp();
+ void test_method_data_pointer(Label& zero_continue);
+ void verify_method_data_pointer();
+ void test_invocation_counter_for_mdp(Register invocation_count, Register Rscratch, Label &profile_continue);
+
+ void set_mdp_data_at(int constant, Register value);
+
+ void increment_mdp_data_at(int constant, Register counter_addr, Register Rbumped_count, bool decrement = false);
+
+ void increment_mdp_data_at(Register counter_addr, Register Rbumped_count, bool decrement = false);
+ void increment_mdp_data_at(Register reg, int constant, Register scratch, Register Rbumped_count, bool decrement = false);
+
+ void set_mdp_flag_at(int flag_constant, Register scratch);
+ void test_mdp_data_at(int offset, Register value, Label& not_equal_continue, Register test_out);
+
+ void update_mdp_by_offset(int offset_of_disp, Register scratch);
+ void update_mdp_by_offset(Register reg, int offset_of_disp,
+ Register scratch);
+ void update_mdp_by_constant(int constant);
+ void update_mdp_for_ret(TosState state, Register return_bci);
+
+ void profile_taken_branch(Register scratch, Register bumped_count);
+ void profile_not_taken_branch(Register scratch1, Register scratch2);
+ void profile_call(Register scratch1, Register scratch2);
+ void profile_final_call(Register scratch1, Register scratch2);
+ void profile_virtual_call(Register Rreceiver, Register Rscratch1, Register Rscratch2, bool receiver_can_be_null);
+ void profile_typecheck(Register Rklass, Register Rscratch1, Register Rscratch2);
+ void profile_typecheck_failed(Register Rscratch1, Register Rscratch2);
+ void profile_ret(TosState state, Register return_bci, Register scratch1, Register scratch2);
+ void profile_switch_default(Register scratch1, Register scratch2);
+ void profile_switch_case(Register index, Register scratch1,Register scratch2, Register scratch3);
+ void profile_null_seen(Register Rscratch1, Register Rscratch2);
+ void record_klass_in_profile(Register receiver, Register scratch1, Register scratch2, bool is_virtual_call);
+ void record_klass_in_profile_helper(Register receiver, Register scratch1, Register scratch2, int start_row, Label& done, bool is_virtual_call);
+
+#endif // !CC_INTERP
+
// Debugging
void verify_oop(Register reg, TosState state = atos); // only if +VerifyOops && state == atos
+#ifndef CC_INTERP
+ void verify_oop_or_return_address(Register reg, Register rtmp); // for astore
+ void verify_FPU(int stack_depth, TosState state = ftos);
+#endif // !CC_INTERP
- // support for jvmdi/jvmpi
+ typedef enum { NotifyJVMTI, SkipNotifyJVMTI } NotifyMethodExitMode;
+
+ // Support for jvmdi/jvmpi.
void notify_method_entry();
- void notify_method_exit(bool is_native_method, TosState state);
+ void notify_method_exit(bool is_native_method, TosState state,
+ NotifyMethodExitMode mode, bool check_exceptions);
#ifdef CC_INTERP
// Convert the current TOP_IJAVA_FRAME into a PARENT_IJAVA_FRAME
diff --git a/hotspot/src/cpu/ppc/vm/interpreterRT_ppc.cpp b/hotspot/src/cpu/ppc/vm/interpreterRT_ppc.cpp
index 3a1389f..5d45d8b 100644
--- a/hotspot/src/cpu/ppc/vm/interpreterRT_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/interpreterRT_ppc.cpp
@@ -109,8 +109,10 @@
}
void InterpreterRuntime::SignatureHandlerGenerator::generate(uint64_t fingerprint) {
+#if !defined(ABI_ELFv2)
// Emit fd for current codebuffer. Needs patching!
__ emit_fd();
+#endif
// Generate code to handle arguments.
iterate(fingerprint);
@@ -127,11 +129,13 @@
// Implementation of SignatureHandlerLibrary
void SignatureHandlerLibrary::pd_set_handler(address handler) {
+#if !defined(ABI_ELFv2)
// patch fd here.
FunctionDescriptor* fd = (FunctionDescriptor*) handler;
fd->set_entry(handler + (int)sizeof(FunctionDescriptor));
assert(fd->toc() == (address)0xcafe, "need to adjust TOC here");
+#endif
}
diff --git a/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp b/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp
index 3cc1b7f..80bfc2d 100644
--- a/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -51,10 +51,6 @@
#include "c1/c1_Runtime1.hpp"
#endif
-#ifndef CC_INTERP
-#error "CC_INTERP must be defined on PPC"
-#endif
-
#define __ _masm->
#ifdef PRODUCT
@@ -128,13 +124,13 @@
const Register target_sp = R28_tmp8;
const FloatRegister floatSlot = F0;
- address entry = __ emit_fd();
+ address entry = __ function_entry();
__ save_LR_CR(R0);
__ save_nonvolatile_gprs(R1_SP, _spill_nonvolatiles_neg(r14));
// We use target_sp for storing arguments in the C frame.
__ mr(target_sp, R1_SP);
- __ push_frame_abi112_nonvolatiles(0, R11_scratch1);
+ __ push_frame_reg_args_nonvolatiles(0, R11_scratch1);
__ mr(arg_java, R3_ARG1);
@@ -147,7 +143,8 @@
#ifdef CC_INTERP
__ ld(R19_method, state_(_method));
#else
- __ unimplemented("slow signature handler 1");
+ __ ld(R19_method, 0, target_sp);
+ __ ld(R19_method, _ijava_state_neg(method), R19_method);
#endif
// Get the result handler.
@@ -157,7 +154,8 @@
#ifdef CC_INTERP
__ ld(R19_method, state_(_method));
#else
- __ unimplemented("slow signature handler 2");
+ __ ld(R19_method, 0, target_sp);
+ __ ld(R19_method, _ijava_state_neg(method), R19_method);
#endif
{
@@ -453,7 +451,7 @@
//
// Registers alive
// R16_thread - JavaThread*
- // R19_method - callee's methodOop (method to be invoked)
+ // R19_method - callee's method (method to be invoked)
// R1_SP - SP prepared such that caller's outgoing args are near top
// LR - return address to caller
//
@@ -474,7 +472,7 @@
// Push a new C frame and save LR.
__ save_LR_CR(R0);
- __ push_frame_abi112(0, R11_scratch1);
+ __ push_frame_reg_args(0, R11_scratch1);
// This is not a leaf but we have a JavaFrameAnchor now and we will
// check (create) exceptions afterward so this is ok.
@@ -491,7 +489,12 @@
// Return to frame manager, it will handle the pending exception.
__ blr();
#else
- Unimplemented();
+ // We don't know our caller, so jump to the general forward exception stub,
+ // which will also pop our full frame off. Satisfy the interface of
+ // SharedRuntime::generate_forward_exception()
+ __ load_const_optimized(R11_scratch1, StubRoutines::forward_exception_entry(), R0);
+ __ mtctr(R11_scratch1);
+ __ bctr();
#endif
return entry;
@@ -500,8 +503,9 @@
// Call an accessor method (assuming it is resolved, otherwise drop into
// vanilla (slow path) entry.
address InterpreterGenerator::generate_accessor_entry(void) {
- if(!UseFastAccessorMethods && (!FLAG_IS_ERGO(UseFastAccessorMethods)))
+ if (!UseFastAccessorMethods && (!FLAG_IS_ERGO(UseFastAccessorMethods))) {
return NULL;
+ }
Label Lslow_path, Lacquire;
@@ -586,10 +590,14 @@
// Load from branch table and dispatch (volatile case: one instruction ahead)
__ sldi(Rflags, Rflags, LogBytesPerWord);
__ cmpwi(CCR6, Rscratch, 1); // volatile?
- __ sldi(Rscratch, Rscratch, exact_log2(BytesPerInstWord)); // volatile ? size of 1 instruction : 0
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ sldi(Rscratch, Rscratch, exact_log2(BytesPerInstWord)); // volatile ? size of 1 instruction : 0
+ }
__ ldx(Rbtable, Rbtable, Rflags);
- __ subf(Rbtable, Rscratch, Rbtable); // point to volatile/non-volatile entry point
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ subf(Rbtable, Rscratch, Rbtable); // point to volatile/non-volatile entry point
+ }
__ mtctr(Rbtable);
__ bctr();
@@ -605,7 +613,7 @@
}
assert(all_uninitialized != all_initialized, "consistency"); // either or
- __ sync(); // volatile entry point (one instruction before non-volatile_entry point)
+ __ fence(); // volatile entry point (one instruction before non-volatile_entry point)
if (branch_table[vtos] == 0) branch_table[vtos] = __ pc(); // non-volatile_entry point
if (branch_table[dtos] == 0) branch_table[dtos] = __ pc(); // non-volatile_entry point
if (branch_table[ftos] == 0) branch_table[ftos] = __ pc(); // non-volatile_entry point
@@ -614,7 +622,7 @@
if (branch_table[itos] == 0) { // generate only once
__ align(32, 28, 28); // align load
- __ sync(); // volatile entry point (one instruction before non-volatile_entry point)
+ __ fence(); // volatile entry point (one instruction before non-volatile_entry point)
branch_table[itos] = __ pc(); // non-volatile_entry point
__ lwax(R3_RET, Rclass_or_obj, Roffset);
__ beq(CCR6, Lacquire);
@@ -623,7 +631,7 @@
if (branch_table[ltos] == 0) { // generate only once
__ align(32, 28, 28); // align load
- __ sync(); // volatile entry point (one instruction before non-volatile_entry point)
+ __ fence(); // volatile entry point (one instruction before non-volatile_entry point)
branch_table[ltos] = __ pc(); // non-volatile_entry point
__ ldx(R3_RET, Rclass_or_obj, Roffset);
__ beq(CCR6, Lacquire);
@@ -632,7 +640,7 @@
if (branch_table[btos] == 0) { // generate only once
__ align(32, 28, 28); // align load
- __ sync(); // volatile entry point (one instruction before non-volatile_entry point)
+ __ fence(); // volatile entry point (one instruction before non-volatile_entry point)
branch_table[btos] = __ pc(); // non-volatile_entry point
__ lbzx(R3_RET, Rclass_or_obj, Roffset);
__ extsb(R3_RET, R3_RET);
@@ -642,7 +650,7 @@
if (branch_table[ctos] == 0) { // generate only once
__ align(32, 28, 28); // align load
- __ sync(); // volatile entry point (one instruction before non-volatile_entry point)
+ __ fence(); // volatile entry point (one instruction before non-volatile_entry point)
branch_table[ctos] = __ pc(); // non-volatile_entry point
__ lhzx(R3_RET, Rclass_or_obj, Roffset);
__ beq(CCR6, Lacquire);
@@ -651,7 +659,7 @@
if (branch_table[stos] == 0) { // generate only once
__ align(32, 28, 28); // align load
- __ sync(); // volatile entry point (one instruction before non-volatile_entry point)
+ __ fence(); // volatile entry point (one instruction before non-volatile_entry point)
branch_table[stos] = __ pc(); // non-volatile_entry point
__ lhax(R3_RET, Rclass_or_obj, Roffset);
__ beq(CCR6, Lacquire);
@@ -660,7 +668,7 @@
if (branch_table[atos] == 0) { // generate only once
__ align(32, 28, 28); // align load
- __ sync(); // volatile entry point (one instruction before non-volatile_entry point)
+ __ fence(); // volatile entry point (one instruction before non-volatile_entry point)
branch_table[atos] = __ pc(); // non-volatile_entry point
__ load_heap_oop(R3_RET, (RegisterOrConstant)Roffset, Rclass_or_obj);
__ verify_oop(R3_RET);
@@ -683,10 +691,7 @@
#endif
__ bind(Lslow_path);
- assert(Interpreter::entry_for_kind(Interpreter::zerolocals), "Normal entry must have been generated by now");
- __ load_const_optimized(Rscratch, Interpreter::entry_for_kind(Interpreter::zerolocals), R0);
- __ mtctr(Rscratch);
- __ bctr();
+ __ branch_to_entry(Interpreter::entry_for_kind(Interpreter::zerolocals), Rscratch);
__ flush();
return entry;
@@ -773,10 +778,7 @@
// Generate regular method entry.
__ bind(slow_path);
- assert(Interpreter::entry_for_kind(Interpreter::zerolocals), "Normal entry must have been generated by now");
- __ load_const_optimized(R11_scratch1, Interpreter::entry_for_kind(Interpreter::zerolocals), R0);
- __ mtctr(R11_scratch1);
- __ bctr();
+ __ branch_to_entry(Interpreter::entry_for_kind(Interpreter::zerolocals), R11_scratch1);
__ flush();
return entry;
diff --git a/hotspot/src/cpu/ppc/vm/interpreter_ppc.hpp b/hotspot/src/cpu/ppc/vm/interpreter_ppc.hpp
index 37bf8e9..48864ae 100644
--- a/hotspot/src/cpu/ppc/vm/interpreter_ppc.hpp
+++ b/hotspot/src/cpu/ppc/vm/interpreter_ppc.hpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -28,15 +28,23 @@
public:
- // Stack index relative to tos (which points at value)
+ // Stack index relative to tos (which points at value).
static int expr_index_at(int i) {
return stackElementWords * i;
}
- // Already negated by c++ interpreter
+ // Already negated by c++ interpreter.
static int local_index_at(int i) {
assert(i <= 0, "local direction already negated");
return stackElementWords * i;
}
+#ifndef CC_INTERP
+ // The offset in bytes to access a expression stack slot
+ // relative to the esp pointer.
+ static int expr_offset_in_bytes(int slot) {
+ return stackElementSize * slot + wordSize;
+ }
+#endif
+
#endif // CPU_PPC_VM_INTERPRETER_PPC_PP
diff --git a/hotspot/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp b/hotspot/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp
index f12df9c..26ca0db 100644
--- a/hotspot/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp
+++ b/hotspot/src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -26,10 +26,6 @@
#ifndef CPU_PPC_VM_JAVAFRAMEANCHOR_PPC_HPP
#define CPU_PPC_VM_JAVAFRAMEANCHOR_PPC_HPP
-#ifndef CC_INTERP
-#error "CC_INTERP must be defined on PPC64"
-#endif
-
public:
// Each arch must define reset, save, restore
// These are used by objects that only care about:
diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp
index dfe97ad..2d3d9cf 100644
--- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.cpp
@@ -594,7 +594,13 @@
"can't identify emitted call");
} else {
// variant 1:
-
+#if defined(ABI_ELFv2)
+ nop();
+ calculate_address_from_global_toc(R12, dest, true, true, false);
+ mtctr(R12);
+ nop();
+ nop();
+#else
mr(R0, R11); // spill R11 -> R0.
// Load the destination address into CTR,
@@ -604,6 +610,7 @@
mtctr(R11);
mr(R11, R0); // spill R11 <- R0.
nop();
+#endif
// do the call/jump
if (link) {
@@ -912,16 +919,16 @@
}
}
-// Push a frame of size `bytes' plus abi112 on top.
-void MacroAssembler::push_frame_abi112(unsigned int bytes, Register tmp) {
- push_frame(bytes + frame::abi_112_size, tmp);
+// Push a frame of size `bytes' plus abi_reg_args on top.
+void MacroAssembler::push_frame_reg_args(unsigned int bytes, Register tmp) {
+ push_frame(bytes + frame::abi_reg_args_size, tmp);
}
// Setup up a new C frame with a spill area for non-volatile GPRs and
// additional space for local variables.
-void MacroAssembler::push_frame_abi112_nonvolatiles(unsigned int bytes,
- Register tmp) {
- push_frame(bytes + frame::abi_112_size + frame::spill_nonvolatiles_size, tmp);
+void MacroAssembler::push_frame_reg_args_nonvolatiles(unsigned int bytes,
+ Register tmp) {
+ push_frame(bytes + frame::abi_reg_args_size + frame::spill_nonvolatiles_size, tmp);
}
// Pop current C frame.
@@ -929,6 +936,42 @@
ld(R1_SP, _abi(callers_sp), R1_SP);
}
+#if defined(ABI_ELFv2)
+address MacroAssembler::branch_to(Register r_function_entry, bool and_link) {
+ // TODO(asmundak): make sure the caller uses R12 as function descriptor
+ // most of the times.
+ if (R12 != r_function_entry) {
+ mr(R12, r_function_entry);
+ }
+ mtctr(R12);
+ // Do a call or a branch.
+ if (and_link) {
+ bctrl();
+ } else {
+ bctr();
+ }
+ _last_calls_return_pc = pc();
+
+ return _last_calls_return_pc;
+}
+
+// Call a C function via a function descriptor and use full C
+// calling conventions. Updates and returns _last_calls_return_pc.
+address MacroAssembler::call_c(Register r_function_entry) {
+ return branch_to(r_function_entry, /*and_link=*/true);
+}
+
+// For tail calls: only branch, don't link, so callee returns to caller of this function.
+address MacroAssembler::call_c_and_return_to_caller(Register r_function_entry) {
+ return branch_to(r_function_entry, /*and_link=*/false);
+}
+
+address MacroAssembler::call_c(address function_entry, relocInfo::relocType rt) {
+ load_const(R12, function_entry, R0);
+ return branch_to(R12, /*and_link=*/true);
+}
+
+#else
// Generic version of a call to C function via a function descriptor
// with variable support for C calling conventions (TOC, ENV, etc.).
// Updates and returns _last_calls_return_pc.
@@ -1077,6 +1120,7 @@
}
return _last_calls_return_pc;
}
+#endif
void MacroAssembler::call_VM_base(Register oop_result,
Register last_java_sp,
@@ -1091,8 +1135,11 @@
// ARG1 must hold thread address.
mr(R3_ARG1, R16_thread);
-
+#if defined(ABI_ELFv2)
+ address return_pc = call_c(entry_point, relocInfo::none);
+#else
address return_pc = call_c((FunctionDescriptor*)entry_point, relocInfo::none);
+#endif
reset_last_Java_frame();
@@ -1113,7 +1160,11 @@
void MacroAssembler::call_VM_leaf_base(address entry_point) {
BLOCK_COMMENT("call_VM_leaf {");
+#if defined(ABI_ELFv2)
+ call_c(entry_point, relocInfo::none);
+#else
call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, entry_point), relocInfo::none);
+#endif
BLOCK_COMMENT("} call_VM_leaf");
}
@@ -2227,7 +2278,7 @@
// VM call need frame to access(write) O register.
if (needs_frame) {
save_LR_CR(Rtmp1);
- push_frame_abi112(0, Rtmp2);
+ push_frame_reg_args(0, Rtmp2);
}
if (Rpre_val->is_volatile() && Robj == noreg) mr(R31, Rpre_val); // Save pre_val across C call if it was preloaded.
@@ -2361,7 +2412,8 @@
#ifdef CC_INTERP
ld(tmp1/*pc*/, _top_ijava_frame_abi(frame_manager_lr), sp);
#else
- Unimplemented();
+ address entry = pc();
+ load_const_optimized(tmp1, entry);
#endif
set_last_Java_frame(/*sp=*/sp, /*pc=*/tmp1);
@@ -2421,6 +2473,16 @@
}
}
+void MacroAssembler::store_klass_gap(Register dst_oop, Register val) {
+ if (UseCompressedClassPointers) {
+ if (val == noreg) {
+ val = R0;
+ li(val, 0);
+ }
+ stw(val, oopDesc::klass_gap_offset_in_bytes(), dst_oop); // klass gap if compressed
+ }
+}
+
int MacroAssembler::instr_size_for_decode_klass_not_null() {
if (!UseCompressedClassPointers) return 0;
int num_instrs = 1; // shift or move
@@ -3006,13 +3068,13 @@
mr(R0, tmp);
// kill tmp
save_LR_CR(tmp);
- push_frame_abi112(nbytes_save, tmp);
+ push_frame_reg_args(nbytes_save, tmp);
// restore tmp
mr(tmp, R0);
save_volatile_gprs(R1_SP, 112); // except R0
- // load FunctionDescriptor**
+ // load FunctionDescriptor** / entry_address *
load_const(tmp, fd);
- // load FunctionDescriptor*
+ // load FunctionDescriptor* / entry_address
ld(tmp, 0, tmp);
mr(R4_ARG2, oop);
load_const(R3_ARG1, (address)msg);
@@ -3092,3 +3154,15 @@
}
#endif // !PRODUCT
+
+SkipIfEqualZero::SkipIfEqualZero(MacroAssembler* masm, Register temp, const bool* flag_addr) : _masm(masm), _label() {
+ int simm16_offset = masm->load_const_optimized(temp, (address)flag_addr, R0, true);
+ assert(sizeof(bool) == 1, "PowerPC ABI");
+ masm->lbz(temp, simm16_offset, temp);
+ masm->cmpwi(CCR0, temp, 0);
+ masm->beq(CCR0, _label);
+}
+
+SkipIfEqualZero::~SkipIfEqualZero() {
+ _masm->bind(_label);
+}
diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp
index e3ba572..a6576a4 100644
--- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp
+++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.hpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -279,12 +279,12 @@
// Push a frame of size `bytes'. No abi space provided.
void push_frame(unsigned int bytes, Register tmp);
- // Push a frame of size `bytes' plus abi112 on top.
- void push_frame_abi112(unsigned int bytes, Register tmp);
+ // Push a frame of size `bytes' plus abi_reg_args on top.
+ void push_frame_reg_args(unsigned int bytes, Register tmp);
// Setup up a new C frame with a spill area for non-volatile GPRs and additional
// space for local variables
- void push_frame_abi112_nonvolatiles(unsigned int bytes, Register tmp);
+ void push_frame_reg_args_nonvolatiles(unsigned int bytes, Register tmp);
// pop current C frame
void pop_frame();
@@ -296,17 +296,31 @@
private:
address _last_calls_return_pc;
+#if defined(ABI_ELFv2)
+ // Generic version of a call to C function.
+ // Updates and returns _last_calls_return_pc.
+ address branch_to(Register function_entry, bool and_link);
+#else
// Generic version of a call to C function via a function descriptor
// with variable support for C calling conventions (TOC, ENV, etc.).
// updates and returns _last_calls_return_pc.
address branch_to(Register function_descriptor, bool and_link, bool save_toc_before_call,
bool restore_toc_after_call, bool load_toc_of_callee, bool load_env_of_callee);
+#endif
public:
// Get the pc where the last call will return to. returns _last_calls_return_pc.
inline address last_calls_return_pc();
+#if defined(ABI_ELFv2)
+ // Call a C function via a function descriptor and use full C
+ // calling conventions. Updates and returns _last_calls_return_pc.
+ address call_c(Register function_entry);
+ // For tail calls: only branch, don't link, so callee returns to caller of this function.
+ address call_c_and_return_to_caller(Register function_entry);
+ address call_c(address function_entry, relocInfo::relocType rt);
+#else
// Call a C function via a function descriptor and use full C
// calling conventions. Updates and returns _last_calls_return_pc.
address call_c(Register function_descriptor);
@@ -315,6 +329,7 @@
address call_c(const FunctionDescriptor* function_descriptor, relocInfo::relocType rt);
address call_c_using_toc(const FunctionDescriptor* function_descriptor, relocInfo::relocType rt,
Register toc);
+#endif
protected:
@@ -551,12 +566,14 @@
// Load heap oop and decompress. Loaded oop may not be null.
inline void load_heap_oop_not_null(Register d, RegisterOrConstant offs, Register s1 = noreg);
+ inline void store_heap_oop_not_null(Register d, RegisterOrConstant offs, Register s1,
+ /*specify if d must stay uncompressed*/ Register tmp = noreg);
// Null allowed.
inline void load_heap_oop(Register d, RegisterOrConstant offs, Register s1 = noreg);
// Encode/decode heap oop. Oop may not be null, else en/decoding goes wrong.
- inline void encode_heap_oop_not_null(Register d);
+ inline Register encode_heap_oop_not_null(Register d, Register src = noreg);
inline void decode_heap_oop_not_null(Register d);
// Null allowed.
@@ -566,6 +583,7 @@
void load_klass(Register dst, Register src);
void load_klass_with_trap_null_check(Register dst, Register src);
void store_klass(Register dst_oop, Register klass, Register tmp = R0);
+ void store_klass_gap(Register dst_oop, Register val = noreg); // Will store 0 if val not specified.
static int instr_size_for_decode_klass_not_null();
void decode_klass_not_null(Register dst, Register src = noreg);
void encode_klass_not_null(Register dst, Register src = noreg);
@@ -649,6 +667,11 @@
void _verify_method_ptr(Register reg, const char * msg, const char * file, int line) {}
void _verify_klass_ptr(Register reg, const char * msg, const char * file, int line) {}
+ // Convenience method returning function entry. For the ELFv1 case
+ // creates function descriptor at the current address and returs
+ // the pointer to it. For the ELFv2 case returns the current address.
+ inline address function_entry();
+
#define verify_method_ptr(reg) _verify_method_ptr(reg, "broken method " #reg, __FILE__, __LINE__)
#define verify_klass_ptr(reg) _verify_klass_ptr(reg, "broken klass " #reg, __FILE__, __LINE__)
@@ -673,4 +696,21 @@
void zap_from_to(Register low, int before, Register high, int after, Register val, Register addr) PRODUCT_RETURN;
};
+// class SkipIfEqualZero:
+//
+// Instantiating this class will result in assembly code being output that will
+// jump around any code emitted between the creation of the instance and it's
+// automatic destruction at the end of a scope block, depending on the value of
+// the flag passed to the constructor, which will be checked at run-time.
+class SkipIfEqualZero : public StackObj {
+ private:
+ MacroAssembler* _masm;
+ Label _label;
+
+ public:
+ // 'Temp' is a temp register that this object can use (and trash).
+ explicit SkipIfEqualZero(MacroAssembler*, Register temp, const bool* flag_addr);
+ ~SkipIfEqualZero();
+};
+
#endif // CPU_PPC_VM_MACROASSEMBLER_PPC_HPP
diff --git a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp
index 93f31a7..84485d4 100644
--- a/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp
+++ b/hotspot/src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -321,6 +321,15 @@
}
}
+inline void MacroAssembler::store_heap_oop_not_null(Register d, RegisterOrConstant offs, Register s1, Register tmp) {
+ if (UseCompressedOops) {
+ Register compressedOop = encode_heap_oop_not_null((tmp != noreg) ? tmp : d, d);
+ stw(compressedOop, offs, s1);
+ } else {
+ std(d, offs, s1);
+ }
+}
+
inline void MacroAssembler::load_heap_oop(Register d, RegisterOrConstant offs, Register s1) {
if (UseCompressedOops) {
lwz(d, offs, s1);
@@ -330,13 +339,17 @@
}
}
-inline void MacroAssembler::encode_heap_oop_not_null(Register d) {
+inline Register MacroAssembler::encode_heap_oop_not_null(Register d, Register src) {
+ Register current = (src!=noreg) ? src : d; // Compressed oop is in d if no src provided.
if (Universe::narrow_oop_base() != NULL) {
- sub(d, d, R30);
+ sub(d, current, R30);
+ current = d;
}
if (Universe::narrow_oop_shift() != 0) {
- srdi(d, d, LogMinObjAlignmentInBytes);
+ srdi(d, current, LogMinObjAlignmentInBytes);
+ current = d;
}
+ return current; // Encoded oop is in this register.
}
inline void MacroAssembler::decode_heap_oop_not_null(Register d) {
@@ -385,4 +398,10 @@
twi(traptoEqual | traptoGreaterThanUnsigned, a/*reg a*/, si16);
}
+#if defined(ABI_ELFv2)
+inline address MacroAssembler::function_entry() { return pc(); }
+#else
+inline address MacroAssembler::function_entry() { return emit_fd(); }
+#endif
+
#endif // CPU_PPC_VM_MACROASSEMBLER_PPC_INLINE_HPP
diff --git a/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp b/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp
index 6709c8c..2636375 100644
--- a/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp
@@ -453,11 +453,11 @@
if (Verbose) {
tty->print_cr("Registers:");
- const int abi_offset = frame::abi_112_size / 8;
+ const int abi_offset = frame::abi_reg_args_size / 8;
for (int i = R3->encoding(); i <= R12->encoding(); i++) {
Register r = as_Register(i);
int count = i - R3->encoding();
- // The registers are stored in reverse order on the stack (by save_volatile_gprs(R1_SP, abi_112_size)).
+ // The registers are stored in reverse order on the stack (by save_volatile_gprs(R1_SP, abi_reg_args_size)).
tty->print("%3s=" PTR_FORMAT, r->name(), saved_regs[abi_offset + count]);
if ((count + 1) % 4 == 0) {
tty->cr();
@@ -524,9 +524,9 @@
__ save_LR_CR(R0);
__ mr(R0, R1_SP); // saved_sp
assert(Assembler::is_simm(-nbytes_save, 16), "Overwriting R0");
- // push_frame_abi112 only uses R0 if nbytes_save is wider than 16 bit
- __ push_frame_abi112(nbytes_save, R0);
- __ save_volatile_gprs(R1_SP, frame::abi_112_size); // Except R0.
+ // Push_frame_reg_args only uses R0 if nbytes_save is wider than 16 bit.
+ __ push_frame_reg_args(nbytes_save, R0);
+ __ save_volatile_gprs(R1_SP, frame::abi_reg_args_size); // Except R0.
__ load_const(R3_ARG1, (address)adaptername);
__ mr(R4_ARG2, R23_method_handle);
diff --git a/hotspot/src/cpu/ppc/vm/ppc.ad b/hotspot/src/cpu/ppc/vm/ppc.ad
index 6006c1a..c2854e6 100644
--- a/hotspot/src/cpu/ppc/vm/ppc.ad
+++ b/hotspot/src/cpu/ppc/vm/ppc.ad
@@ -1008,7 +1008,11 @@
}
int MachCallRuntimeNode::ret_addr_offset() {
+#if defined(ABI_ELFv2)
+ return 28;
+#else
return 40;
+#endif
}
//=============================================================================
@@ -3674,6 +3678,10 @@
MacroAssembler _masm(&cbuf);
const address start_pc = __ pc();
+#if defined(ABI_ELFv2)
+ address entry= !($meth$$method) ? NULL : (address)$meth$$method;
+ __ call_c(entry, relocInfo::runtime_call_type);
+#else
// The function we're going to call.
FunctionDescriptor fdtemp;
const FunctionDescriptor* fd = !($meth$$method) ? &fdtemp : (FunctionDescriptor*)$meth$$method;
@@ -3684,6 +3692,7 @@
// Put entry, env, toc into the constant pool, this needs up to 3 constant
// pool entries; call_c_using_toc will optimize the call.
__ call_c_using_toc(fd, relocInfo::runtime_call_type, Rtoc);
+#endif
// Check the ret_addr_offset.
assert(((MachCallRuntimeNode*)this)->ret_addr_offset() == __ last_calls_return_pc() - start_pc,
@@ -3699,20 +3708,25 @@
__ mtctr($src$$Register);
%}
- // postalloc expand emitter for runtime leaf calls.
+ // Postalloc expand emitter for runtime leaf calls.
enc_class postalloc_expand_java_to_runtime_call(method meth, iRegLdst toc) %{
+ loadConLNodesTuple loadConLNodes_Entry;
+#if defined(ABI_ELFv2)
+ jlong entry_address = (jlong) this->entry_point();
+ assert(entry_address, "need address here");
+ loadConLNodes_Entry = loadConLNodesTuple_create(C, ra_, n_toc, new (C) immLOper(entry_address),
+ OptoReg::Name(R12_H_num), OptoReg::Name(R12_num));
+#else
// Get the struct that describes the function we are about to call.
FunctionDescriptor* fd = (FunctionDescriptor*) this->entry_point();
assert(fd, "need fd here");
+ jlong entry_address = (jlong) fd->entry();
// new nodes
- loadConLNodesTuple loadConLNodes_Entry;
loadConLNodesTuple loadConLNodes_Env;
loadConLNodesTuple loadConLNodes_Toc;
- MachNode *mtctr = NULL;
- MachCallLeafNode *call = NULL;
// Create nodes and operands for loading the entry point.
- loadConLNodes_Entry = loadConLNodesTuple_create(C, ra_, n_toc, new (C) immLOper((jlong) fd->entry()),
+ loadConLNodes_Entry = loadConLNodesTuple_create(C, ra_, n_toc, new (C) immLOper(entry_address),
OptoReg::Name(R12_H_num), OptoReg::Name(R12_num));
@@ -3733,8 +3747,9 @@
// Create nodes and operands for loading the Toc point.
loadConLNodes_Toc = loadConLNodesTuple_create(C, ra_, n_toc, new (C) immLOper((jlong) fd->toc()),
OptoReg::Name(R2_H_num), OptoReg::Name(R2_num));
+#endif // ABI_ELFv2
// mtctr node
- mtctr = new (C) CallLeafDirect_mtctrNode();
+ MachNode *mtctr = new (C) CallLeafDirect_mtctrNode();
assert(loadConLNodes_Entry._last != NULL, "entry must exist");
mtctr->add_req(0, loadConLNodes_Entry._last);
@@ -3743,10 +3758,10 @@
mtctr->_opnds[1] = new (C) iRegLdstOper();
// call node
- call = new (C) CallLeafDirectNode();
+ MachCallLeafNode *call = new (C) CallLeafDirectNode();
call->_opnds[0] = _opnds[0];
- call->_opnds[1] = new (C) methodOper((intptr_t) fd->entry()); // may get set later
+ call->_opnds[1] = new (C) methodOper((intptr_t) entry_address); // May get set later.
// Make the new call node look like the old one.
call->_name = _name;
@@ -3773,8 +3788,10 @@
// These must be reqired edges, as the registers are live up to
// the call. Else the constants are handled as kills.
call->add_req(mtctr);
+#if !defined(ABI_ELFv2)
call->add_req(loadConLNodes_Env._last);
call->add_req(loadConLNodes_Toc._last);
+#endif
// ...as well as prec
for (uint i = req(); i < len(); ++i) {
@@ -3787,10 +3804,12 @@
// Insert the new nodes.
if (loadConLNodes_Entry._large_hi) nodes->push(loadConLNodes_Entry._large_hi);
if (loadConLNodes_Entry._last) nodes->push(loadConLNodes_Entry._last);
+#if !defined(ABI_ELFv2)
if (loadConLNodes_Env._large_hi) nodes->push(loadConLNodes_Env._large_hi);
if (loadConLNodes_Env._last) nodes->push(loadConLNodes_Env._last);
if (loadConLNodes_Toc._large_hi) nodes->push(loadConLNodes_Toc._large_hi);
if (loadConLNodes_Toc._last) nodes->push(loadConLNodes_Toc._last);
+#endif
nodes->push(mtctr);
nodes->push(call);
%}
@@ -3837,7 +3856,7 @@
// out_preserve_stack_slots for calls to C. Supports the var-args
// backing area for register parms.
//
- varargs_C_out_slots_killed(((frame::abi_112_size - frame::jit_out_preserve_size) / VMRegImpl::stack_slot_size));
+ varargs_C_out_slots_killed(((frame::abi_reg_args_size - frame::jit_out_preserve_size) / VMRegImpl::stack_slot_size));
// The after-PROLOG location of the return address. Location of
// return address specifies a type (REG or STACK) and a number
diff --git a/hotspot/src/cpu/ppc/vm/register_ppc.hpp b/hotspot/src/cpu/ppc/vm/register_ppc.hpp
index bc04d8d..107c5ba 100644
--- a/hotspot/src/cpu/ppc/vm/register_ppc.hpp
+++ b/hotspot/src/cpu/ppc/vm/register_ppc.hpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -579,15 +579,27 @@
// Register declarations to be used in frame manager assembly code.
// Use only non-volatile registers in order to keep values across C-calls.
+#ifdef CC_INTERP
REGISTER_DECLARATION(Register, R14_state, R14); // address of new cInterpreter.
REGISTER_DECLARATION(Register, R15_prev_state, R15); // address of old cInterpreter
+#else // CC_INTERP
+REGISTER_DECLARATION(Register, R14_bcp, R14);
+REGISTER_DECLARATION(Register, R15_esp, R15);
+REGISTER_DECLARATION(FloatRegister, F15_ftos, F15);
+#endif // CC_INTERP
REGISTER_DECLARATION(Register, R16_thread, R16); // address of current thread
REGISTER_DECLARATION(Register, R17_tos, R17); // address of Java tos (prepushed).
REGISTER_DECLARATION(Register, R18_locals, R18); // address of first param slot (receiver).
REGISTER_DECLARATION(Register, R19_method, R19); // address of current method
#ifndef DONT_USE_REGISTER_DEFINES
+#ifdef CC_INTERP
#define R14_state AS_REGISTER(Register, R14)
#define R15_prev_state AS_REGISTER(Register, R15)
+#else // CC_INTERP
+#define R14_bcp AS_REGISTER(Register, R14)
+#define R15_esp AS_REGISTER(Register, R15)
+#define F15_ftos AS_REGISTER(FloatRegister, F15)
+#endif // CC_INTERP
#define R16_thread AS_REGISTER(Register, R16)
#define R17_tos AS_REGISTER(Register, R17)
#define R18_locals AS_REGISTER(Register, R18)
@@ -608,6 +620,14 @@
REGISTER_DECLARATION(Register, R27_tmp7, R27);
REGISTER_DECLARATION(Register, R28_tmp8, R28);
REGISTER_DECLARATION(Register, R29_tmp9, R29);
+#ifndef CC_INTERP
+REGISTER_DECLARATION(Register, R24_dispatch_addr, R24);
+REGISTER_DECLARATION(Register, R25_templateTableBase, R25);
+REGISTER_DECLARATION(Register, R26_monitor, R26);
+REGISTER_DECLARATION(Register, R27_constPoolCache, R27);
+REGISTER_DECLARATION(Register, R28_mdx, R28);
+#endif // CC_INTERP
+
#ifndef DONT_USE_REGISTER_DEFINES
#define R21_tmp1 AS_REGISTER(Register, R21)
#define R22_tmp2 AS_REGISTER(Register, R22)
@@ -618,6 +638,16 @@
#define R27_tmp7 AS_REGISTER(Register, R27)
#define R28_tmp8 AS_REGISTER(Register, R28)
#define R29_tmp9 AS_REGISTER(Register, R29)
+#ifndef CC_INTERP
+// Lmonitors : monitor pointer
+// LcpoolCache: constant pool cache
+// mdx: method data index
+#define R24_dispatch_addr AS_REGISTER(Register, R24)
+#define R25_templateTableBase AS_REGISTER(Register, R25)
+#define R26_monitor AS_REGISTER(Register, R26)
+#define R27_constPoolCache AS_REGISTER(Register, R27)
+#define R28_mdx AS_REGISTER(Register, R28)
+#endif
#define CCR4_is_synced AS_REGISTER(ConditionRegister, CCR4)
#endif
diff --git a/hotspot/src/cpu/ppc/vm/runtime_ppc.cpp b/hotspot/src/cpu/ppc/vm/runtime_ppc.cpp
index bc3432b..0e58983 100644
--- a/hotspot/src/cpu/ppc/vm/runtime_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/runtime_ppc.cpp
@@ -87,7 +87,7 @@
address start = __ pc();
- int frame_size_in_bytes = frame::abi_112_size;
+ int frame_size_in_bytes = frame::abi_reg_args_size;
OopMap* map = new OopMap(frame_size_in_bytes / sizeof(jint), 0);
// Exception pc is 'return address' for stack walker.
@@ -99,7 +99,7 @@
// Save callee-saved registers.
// Push a C frame for the exception blob. It is needed for the C call later on.
- __ push_frame_abi112(0, R11_scratch1);
+ __ push_frame_reg_args(0, R11_scratch1);
// This call does all the hard work. It checks if an exception handler
// exists in the method.
@@ -109,8 +109,12 @@
__ set_last_Java_frame(/*sp=*/R1_SP, noreg);
__ mr(R3_ARG1, R16_thread);
+#if defined(ABI_ELFv2)
+ __ call_c((address) OptoRuntime::handle_exception_C, relocInfo::none);
+#else
__ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, OptoRuntime::handle_exception_C),
relocInfo::none);
+#endif
address calls_return_pc = __ last_calls_return_pc();
# ifdef ASSERT
__ cmpdi(CCR0, R3_RET, 0);
@@ -162,7 +166,11 @@
__ bind(mh_callsite);
__ mr(R31, R3_RET); // Save branch address.
__ mr(R3_ARG1, R16_thread);
+#if defined(ABI_ELFv2)
+ __ call_c((address) adjust_SP_for_methodhandle_callsite, relocInfo::none);
+#else
__ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, adjust_SP_for_methodhandle_callsite), relocInfo::none);
+#endif
// Returns unextended_sp in R3_RET.
__ mtctr(R31); // Move address of exception handler to SR_CTR.
diff --git a/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp b/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp
index 2d9b490..d556d70 100644
--- a/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -67,7 +67,7 @@
return_pc_is_thread_saved_exception_pc
};
- static OopMap* push_frame_abi112_and_save_live_registers(MacroAssembler* masm,
+ static OopMap* push_frame_reg_args_and_save_live_registers(MacroAssembler* masm,
int* out_frame_size_in_bytes,
bool generate_oop_map,
int return_pc_adjustment,
@@ -200,12 +200,12 @@
RegisterSaver_LiveIntReg( R30 ), // r30 must be the last register
};
-OopMap* RegisterSaver::push_frame_abi112_and_save_live_registers(MacroAssembler* masm,
+OopMap* RegisterSaver::push_frame_reg_args_and_save_live_registers(MacroAssembler* masm,
int* out_frame_size_in_bytes,
bool generate_oop_map,
int return_pc_adjustment,
ReturnPCLocation return_pc_location) {
- // Push an abi112-frame and store all registers which may be live.
+ // Push an abi_reg_args-frame and store all registers which may be live.
// If requested, create an OopMap: Record volatile registers as
// callee-save values in an OopMap so their save locations will be
// propagated to the RegisterMap of the caller frame during
@@ -221,7 +221,7 @@
sizeof(RegisterSaver::LiveRegType);
const int register_save_size = regstosave_num * reg_size;
const int frame_size_in_bytes = round_to(register_save_size, frame::alignment_in_bytes)
- + frame::abi_112_size;
+ + frame::abi_reg_args_size;
*out_frame_size_in_bytes = frame_size_in_bytes;
const int frame_size_in_slots = frame_size_in_bytes / sizeof(jint);
const int register_save_offset = frame_size_in_bytes - register_save_size;
@@ -229,7 +229,7 @@
// OopMap frame size is in c2 stack slots (sizeof(jint)) not bytes or words.
OopMap* map = generate_oop_map ? new OopMap(frame_size_in_slots, 0) : NULL;
- BLOCK_COMMENT("push_frame_abi112_and_save_live_registers {");
+ BLOCK_COMMENT("push_frame_reg_args_and_save_live_registers {");
// Save r30 in the last slot of the not yet pushed frame so that we
// can use it as scratch reg.
@@ -294,7 +294,7 @@
offset += reg_size;
}
- BLOCK_COMMENT("} push_frame_abi112_and_save_live_registers");
+ BLOCK_COMMENT("} push_frame_reg_args_and_save_live_registers");
// And we're done.
return map;
@@ -699,15 +699,19 @@
int i;
VMReg reg;
- // Leave room for C-compatible ABI_112.
- int stk = (frame::abi_112_size - frame::jit_out_preserve_size) / VMRegImpl::stack_slot_size;
+ // Leave room for C-compatible ABI_REG_ARGS.
+ int stk = (frame::abi_reg_args_size - frame::jit_out_preserve_size) / VMRegImpl::stack_slot_size;
int arg = 0;
int freg = 0;
// Avoid passing C arguments in the wrong stack slots.
+#if defined(ABI_ELFv2)
+ assert((SharedRuntime::out_preserve_stack_slots() + stk) * VMRegImpl::stack_slot_size == 96,
+ "passing C arguments in wrong stack slots");
+#else
assert((SharedRuntime::out_preserve_stack_slots() + stk) * VMRegImpl::stack_slot_size == 112,
"passing C arguments in wrong stack slots");
-
+#endif
// We fill-out regs AND regs2 if an argument must be passed in a
// register AND in a stack slot. If regs2 is NULL in such a
// situation, we bail-out with a fatal error.
@@ -953,6 +957,9 @@
#ifdef CC_INTERP
const Register tos = R17_tos;
+#else
+ const Register tos = R15_esp;
+ __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1);
#endif
// load TOS
@@ -971,7 +978,7 @@
const BasicType *sig_bt,
const VMRegPair *regs) {
- // Load method's entry-point from methodOop.
+ // Load method's entry-point from method.
__ ld(R12_scratch2, in_bytes(Method::from_compiled_offset()), R19_method);
__ mtctr(R12_scratch2);
@@ -992,7 +999,10 @@
#ifdef CC_INTERP
const Register ld_ptr = R17_tos;
+#else
+ const Register ld_ptr = R15_esp;
#endif
+
const Register value_regs[] = { R22_tmp2, R23_tmp3, R24_tmp4, R25_tmp5, R26_tmp6 };
const int num_value_regs = sizeof(value_regs) / sizeof(Register);
int value_regs_index = 0;
@@ -1083,8 +1093,8 @@
}
}
- BLOCK_COMMENT("Store method oop");
- // Store method oop into thread->callee_target.
+ BLOCK_COMMENT("Store method");
+ // Store method into thread->callee_target.
// We might end up in handle_wrong_method if the callee is
// deoptimized as we race thru here. If that happens we don't want
// to take a safepoint because the caller frame will look
@@ -1504,7 +1514,11 @@
__ block_comment("block_for_jni_critical");
address entry_point = CAST_FROM_FN_PTR(address, SharedRuntime::block_for_jni_critical);
+#if defined(ABI_ELFv2)
+ __ call_c(entry_point, relocInfo::runtime_call_type);
+#else
__ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, entry_point), relocInfo::runtime_call_type);
+#endif
address start = __ pc() - __ offset(),
calls_return_pc = __ last_calls_return_pc();
oop_maps->add_gc_map(calls_return_pc - start, map);
@@ -1877,7 +1891,7 @@
// Layout of the native wrapper frame:
// (stack grows upwards, memory grows downwards)
//
- // NW [ABI_112] <-- 1) R1_SP
+ // NW [ABI_REG_ARGS] <-- 1) R1_SP
// [outgoing arguments] <-- 2) R1_SP + out_arg_slot_offset
// [oopHandle area] <-- 3) R1_SP + oop_handle_offset (save area for critical natives)
// klass <-- 4) R1_SP + klass_offset
@@ -2211,8 +2225,8 @@
// slow case of monitor enter. Inline a special case of call_VM that
// disallows any pending_exception.
- // Save argument registers and leave room for C-compatible ABI_112.
- int frame_size = frame::abi_112_size +
+ // Save argument registers and leave room for C-compatible ABI_REG_ARGS.
+ int frame_size = frame::abi_reg_args_size +
round_to(total_c_args * wordSize, frame::alignment_in_bytes);
__ mr(R11_scratch1, R1_SP);
RegisterSaver::push_frame_and_save_argument_registers(masm, R12_scratch2, frame_size, total_c_args, out_regs, out_regs2);
@@ -2250,9 +2264,12 @@
// The JNI call
// --------------------------------------------------------------------------
-
+#if defined(ABI_ELFv2)
+ __ call_c(native_func, relocInfo::runtime_call_type);
+#else
FunctionDescriptor* fd_native_method = (FunctionDescriptor*) native_func;
__ call_c(fd_native_method, relocInfo::runtime_call_type);
+#endif
// Now, we are back from the native code.
@@ -2606,8 +2623,12 @@
#ifdef CC_INTERP
__ std(R1_SP, _parent_ijava_frame_abi(initial_caller_sp), R1_SP);
#else
- Unimplemented();
+#ifdef ASSERT
+ __ load_const_optimized(pc_reg, 0x5afe);
+ __ std(pc_reg, _ijava_state_neg(ijava_reserved), R1_SP);
#endif
+ __ std(R1_SP, _ijava_state_neg(sender_sp), R1_SP);
+#endif // CC_INTERP
__ addi(number_of_frames_reg, number_of_frames_reg, -1);
__ addi(frame_sizes_reg, frame_sizes_reg, wordSize);
__ addi(pcs_reg, pcs_reg, wordSize);
@@ -2679,7 +2700,15 @@
__ std(R12_scratch2, _abi(lr), R1_SP);
// Initialize initial_caller_sp.
+#ifdef CC_INTERP
__ std(frame_size_reg/*old_sp*/, _parent_ijava_frame_abi(initial_caller_sp), R1_SP);
+#else
+#ifdef ASSERT
+ __ load_const_optimized(pc_reg, 0x5afe);
+ __ std(pc_reg, _ijava_state_neg(ijava_reserved), R1_SP);
+#endif
+ __ std(frame_size_reg, _ijava_state_neg(sender_sp), R1_SP);
+#endif // CC_INTERP
#ifdef ASSERT
// Make sure that there is at least one entry in the array.
@@ -2724,7 +2753,7 @@
OopMapSet *oop_maps = new OopMapSet();
// size of ABI112 plus spill slots for R3_RET and F1_RET.
- const int frame_size_in_bytes = frame::abi_112_spill_size;
+ const int frame_size_in_bytes = frame::abi_reg_args_spill_size;
const int frame_size_in_slots = frame_size_in_bytes / sizeof(jint);
int first_frame_size_in_bytes = 0; // frame size of "unpack frame" for call to fetch_unroll_info.
@@ -2757,11 +2786,11 @@
// Push the "unpack frame"
// Save everything in sight.
- map = RegisterSaver::push_frame_abi112_and_save_live_registers(masm,
- &first_frame_size_in_bytes,
- /*generate_oop_map=*/ true,
- return_pc_adjustment_no_exception,
- RegisterSaver::return_pc_is_lr);
+ map = RegisterSaver::push_frame_reg_args_and_save_live_registers(masm,
+ &first_frame_size_in_bytes,
+ /*generate_oop_map=*/ true,
+ return_pc_adjustment_no_exception,
+ RegisterSaver::return_pc_is_lr);
assert(map != NULL, "OopMap must have been created");
__ li(exec_mode_reg, Deoptimization::Unpack_deopt);
@@ -2787,11 +2816,11 @@
// Push the "unpack frame".
// Save everything in sight.
assert(R4 == R4_ARG2, "exception pc must be in r4");
- RegisterSaver::push_frame_abi112_and_save_live_registers(masm,
- &first_frame_size_in_bytes,
- /*generate_oop_map=*/ false,
- return_pc_adjustment_exception,
- RegisterSaver::return_pc_is_r4);
+ RegisterSaver::push_frame_reg_args_and_save_live_registers(masm,
+ &first_frame_size_in_bytes,
+ /*generate_oop_map=*/ false,
+ return_pc_adjustment_exception,
+ RegisterSaver::return_pc_is_r4);
// Deopt during an exception. Save exec mode for unpack_frames.
__ li(exec_mode_reg, Deoptimization::Unpack_exception);
@@ -2876,8 +2905,8 @@
// ...).
// Spill live volatile registers since we'll do a call.
- __ std( R3_RET, _abi_112_spill(spill_ret), R1_SP);
- __ stfd(F1_RET, _abi_112_spill(spill_fret), R1_SP);
+ __ std( R3_RET, _abi_reg_args_spill(spill_ret), R1_SP);
+ __ stfd(F1_RET, _abi_reg_args_spill(spill_fret), R1_SP);
// Let the unpacker layout information in the skeletal frames just
// allocated.
@@ -2889,8 +2918,8 @@
__ reset_last_Java_frame();
// Restore the volatiles saved above.
- __ ld( R3_RET, _abi_112_spill(spill_ret), R1_SP);
- __ lfd(F1_RET, _abi_112_spill(spill_fret), R1_SP);
+ __ ld( R3_RET, _abi_reg_args_spill(spill_ret), R1_SP);
+ __ lfd(F1_RET, _abi_reg_args_spill(spill_fret), R1_SP);
// Pop the unpack frame.
__ pop_frame();
@@ -2900,10 +2929,16 @@
// optional c2i, caller of deoptee, ...).
// Initialize R14_state.
+#ifdef CC_INTERP
__ ld(R14_state, 0, R1_SP);
__ addi(R14_state, R14_state, -frame::interpreter_frame_cinterpreterstate_size_in_bytes());
// Also inititialize R15_prev_state.
__ restore_prev_state();
+#else
+ __ restore_interpreter_state(R11_scratch1);
+ __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1);
+#endif // CC_INTERP
+
// Return to the interpreter entry point.
__ blr();
@@ -2930,7 +2965,7 @@
Register unc_trap_reg = R23_tmp3;
OopMapSet* oop_maps = new OopMapSet();
- int frame_size_in_bytes = frame::abi_112_size;
+ int frame_size_in_bytes = frame::abi_reg_args_size;
OopMap* map = new OopMap(frame_size_in_bytes / sizeof(jint), 0);
// stack: (deoptee, optional i2c, caller_of_deoptee, ...).
@@ -2943,7 +2978,7 @@
__ save_LR_CR(R11_scratch1);
// Push an "uncommon_trap" frame.
- __ push_frame_abi112(0, R11_scratch1);
+ __ push_frame_reg_args(0, R11_scratch1);
// stack: (unpack frame, deoptee, optional i2c, caller_of_deoptee, ...).
@@ -2996,7 +3031,7 @@
// interpreter frames just created.
// Push a simple "unpack frame" here.
- __ push_frame_abi112(0, R11_scratch1);
+ __ push_frame_reg_args(0, R11_scratch1);
// stack: (unpack frame, skeletal interpreter frame, ..., optional
// skeletal interpreter frame, optional c2i, caller of deoptee,
@@ -3022,11 +3057,17 @@
// stack: (top interpreter frame, ..., optional interpreter frame,
// optional c2i, caller of deoptee, ...).
+#ifdef CC_INTERP
// Initialize R14_state, ...
__ ld(R11_scratch1, 0, R1_SP);
__ addi(R14_state, R11_scratch1, -frame::interpreter_frame_cinterpreterstate_size_in_bytes());
// also initialize R15_prev_state.
__ restore_prev_state();
+#else
+ __ restore_interpreter_state(R11_scratch1);
+ __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1);
+#endif // CC_INTERP
+
// Return to the interpreter entry point.
__ blr();
@@ -3064,11 +3105,11 @@
}
// Save registers, fpu state, and flags.
- map = RegisterSaver::push_frame_abi112_and_save_live_registers(masm,
- &frame_size_in_bytes,
- /*generate_oop_map=*/ true,
- /*return_pc_adjustment=*/0,
- return_pc_location);
+ map = RegisterSaver::push_frame_reg_args_and_save_live_registers(masm,
+ &frame_size_in_bytes,
+ /*generate_oop_map=*/ true,
+ /*return_pc_adjustment=*/0,
+ return_pc_location);
// The following is basically a call_VM. However, we need the precise
// address of the call in order to generate an oopmap. Hence, we do all the
@@ -3104,7 +3145,6 @@
frame_size_in_bytes,
/*restore_ctr=*/true);
-
BLOCK_COMMENT(" Jump to forward_exception_entry.");
// Jump to forward_exception_entry, with the issuing PC in LR
// so it looks like the original nmethod called forward_exception_entry.
@@ -3151,11 +3191,11 @@
address start = __ pc();
- map = RegisterSaver::push_frame_abi112_and_save_live_registers(masm,
- &frame_size_in_bytes,
- /*generate_oop_map*/ true,
- /*return_pc_adjustment*/ 0,
- RegisterSaver::return_pc_is_lr);
+ map = RegisterSaver::push_frame_reg_args_and_save_live_registers(masm,
+ &frame_size_in_bytes,
+ /*generate_oop_map*/ true,
+ /*return_pc_adjustment*/ 0,
+ RegisterSaver::return_pc_is_lr);
// Use noreg as last_Java_pc, the return pc will be reconstructed
// from the physical frame.
@@ -3189,7 +3229,7 @@
RegisterSaver::restore_live_registers_and_pop_frame(masm, frame_size_in_bytes, /*restore_ctr*/ false);
- // Get the returned methodOop.
+ // Get the returned method.
__ get_vm_result_2(R19_method);
__ bctr();
diff --git a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp
index 1cd4d29..d452b27 100644
--- a/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/stubGenerator_ppc.cpp
@@ -1,6 +1,6 @@
/*
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2013 SAP AG. All rights reserved.
+ * Copyright 2012, 2014 SAP AG. 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
@@ -39,15 +39,10 @@
#include "runtime/stubCodeGenerator.hpp"
#include "runtime/stubRoutines.hpp"
#include "utilities/top.hpp"
-#ifdef TARGET_OS_FAMILY_aix
-# include "thread_aix.inline.hpp"
-#endif
-#ifdef TARGET_OS_FAMILY_linux
-# include "thread_linux.inline.hpp"
-#endif
#ifdef COMPILER2
#include "opto/runtime.hpp"
#endif
+#include "runtime/thread.inline.hpp"
#define __ _masm->
@@ -79,11 +74,11 @@
StubCodeMark mark(this, "StubRoutines", "call_stub");
- address start = __ emit_fd();
+ address start = __ function_entry();
// some sanity checks
- assert((sizeof(frame::abi_48) % 16) == 0, "unaligned");
- assert((sizeof(frame::abi_112) % 16) == 0, "unaligned");
+ assert((sizeof(frame::abi_minframe) % 16) == 0, "unaligned");
+ assert((sizeof(frame::abi_reg_args) % 16) == 0, "unaligned");
assert((sizeof(frame::spill_nonvolatiles) % 16) == 0, "unaligned");
assert((sizeof(frame::parent_ijava_frame_abi) % 16) == 0, "unaligned");
assert((sizeof(frame::entry_frame_locals) % 16) == 0, "unaligned");
@@ -221,7 +216,7 @@
{
BLOCK_COMMENT("Call frame manager or native entry.");
// Call frame manager or native entry.
- Register r_new_arg_entry = R14_state;
+ Register r_new_arg_entry = R14; // PPC_state;
assert_different_registers(r_new_arg_entry, r_top_of_arguments_addr,
r_arg_method, r_arg_thread);
@@ -234,7 +229,11 @@
// R16_thread - JavaThread*
// Tos must point to last argument - element_size.
+#ifdef CC_INTERP
const Register tos = R17_tos;
+#else
+ const Register tos = R15_esp;
+#endif
__ addi(tos, r_top_of_arguments_addr, -Interpreter::stackElementSize);
// initialize call_stub locals (step 2)
@@ -248,8 +247,11 @@
assert(tos != r_arg_thread && R19_method != r_arg_thread, "trashed r_arg_thread");
// Set R15_prev_state to 0 for simplifying checks in callee.
+#ifdef CC_INTERP
__ li(R15_prev_state, 0);
-
+#else
+ __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1);
+#endif
// Stack on entry to frame manager / native entry:
//
// F0 [TOP_IJAVA_FRAME_ABI]
@@ -444,7 +446,7 @@
// Save LR/CR and copy exception pc (LR) into R4_ARG2.
__ save_LR_CR(R4_ARG2);
- __ push_frame_abi112(0, R0);
+ __ push_frame_reg_args(0, R0);
// Find exception handler.
__ call_VM_leaf(CAST_FROM_FN_PTR(address,
SharedRuntime::exception_handler_for_return_address),
@@ -519,7 +521,7 @@
MacroAssembler* masm = new MacroAssembler(&code);
OopMapSet* oop_maps = new OopMapSet();
- int frame_size_in_bytes = frame::abi_112_size;
+ int frame_size_in_bytes = frame::abi_reg_args_size;
OopMap* map = new OopMap(frame_size_in_bytes / sizeof(jint), 0);
StubCodeMark mark(this, "StubRoutines", "throw_exception");
@@ -529,7 +531,7 @@
__ save_LR_CR(R11_scratch1);
// Push a frame.
- __ push_frame_abi112(0, R11_scratch1);
+ __ push_frame_reg_args(0, R11_scratch1);
address frame_complete_pc = __ pc();
@@ -551,8 +553,11 @@
if (arg2 != noreg) {
__ mr(R5_ARG3, arg2);
}
- __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, runtime_entry),
- relocInfo::none);
+#if defined(ABI_ELFv2)
+ __ call_c(runtime_entry, relocInfo::none);
+#else
+ __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, runtime_entry), relocInfo::none);
+#endif
// Set an oopmap for the call site.
oop_maps->add_gc_map((int)(gc_map_pc - start), map);
@@ -614,7 +619,7 @@
// With G1, don't generate the call if we statically know that the target in uninitialized
if (!dest_uninitialized) {
const int spill_slots = 4 * wordSize;
- const int frame_size = frame::abi_112_size + spill_slots;
+ const int frame_size = frame::abi_reg_args_size + spill_slots;
Label filtered;
// Is marking active?
@@ -628,7 +633,7 @@
__ beq(CCR0, filtered);
__ save_LR_CR(R0);
- __ push_frame_abi112(spill_slots, R0);
+ __ push_frame_reg_args(spill_slots, R0);
__ std(from, frame_size - 1 * wordSize, R1_SP);
__ std(to, frame_size - 2 * wordSize, R1_SP);
__ std(count, frame_size - 3 * wordSize, R1_SP);
@@ -672,7 +677,7 @@
if (branchToEnd) {
__ save_LR_CR(R0);
// We need this frame only to spill LR.
- __ push_frame_abi112(0, R0);
+ __ push_frame_reg_args(0, R0);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post), addr, count);
__ pop_frame();
__ restore_LR_CR(R0);
@@ -742,7 +747,7 @@
StubCodeMark mark(this, "StubRoutines", "zero_words_aligned8");
// Implemented as in ClearArray.
- address start = __ emit_fd();
+ address start = __ function_entry();
Register base_ptr_reg = R3_ARG1; // tohw (needs to be 8b aligned)
Register cnt_dwords_reg = R4_ARG2; // count (in dwords)
@@ -820,7 +825,7 @@
//
address generate_handler_for_unsafe_access() {
StubCodeMark mark(this, "StubRoutines", "handler_for_unsafe_access");
- address start = __ emit_fd();
+ address start = __ function_entry();
__ unimplemented("StubRoutines::handler_for_unsafe_access", 93);
return start;
}
@@ -861,7 +866,7 @@
// to read from the safepoint polling page.
address generate_load_from_poll() {
StubCodeMark mark(this, "StubRoutines", "generate_load_from_poll");
- address start = __ emit_fd();
+ address start = __ function_entry();
__ unimplemented("StubRoutines::verify_oop", 95); // TODO PPC port
return start;
}
@@ -885,7 +890,7 @@
//
address generate_fill(BasicType t, bool aligned, const char* name) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
const Register to = R3_ARG1; // source array address
const Register value = R4_ARG2; // fill value
@@ -1123,7 +1128,7 @@
//
address generate_disjoint_byte_copy(bool aligned, const char * name) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
Register tmp1 = R6_ARG4;
Register tmp2 = R7_ARG5;
@@ -1254,15 +1259,21 @@
//
address generate_conjoint_byte_copy(bool aligned, const char * name) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
Register tmp1 = R6_ARG4;
Register tmp2 = R7_ARG5;
Register tmp3 = R8_ARG6;
+#if defined(ABI_ELFv2)
+ address nooverlap_target = aligned ?
+ StubRoutines::arrayof_jbyte_disjoint_arraycopy() :
+ StubRoutines::jbyte_disjoint_arraycopy();
+#else
address nooverlap_target = aligned ?
((FunctionDescriptor*)StubRoutines::arrayof_jbyte_disjoint_arraycopy())->entry() :
((FunctionDescriptor*)StubRoutines::jbyte_disjoint_arraycopy())->entry();
+#endif
array_overlap_test(nooverlap_target, 0);
// Do reverse copy. We assume the case of actual overlap is rare enough
@@ -1345,7 +1356,7 @@
Register tmp3 = R8_ARG6;
Register tmp4 = R9_ARG7;
- address start = __ emit_fd();
+ address start = __ function_entry();
Label l_1, l_2, l_3, l_4, l_5, l_6, l_7, l_8;
// don't try anything fancy if arrays don't have many elements
@@ -1474,15 +1485,21 @@
//
address generate_conjoint_short_copy(bool aligned, const char * name) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
Register tmp1 = R6_ARG4;
Register tmp2 = R7_ARG5;
Register tmp3 = R8_ARG6;
+#if defined(ABI_ELFv2)
+ address nooverlap_target = aligned ?
+ StubRoutines::arrayof_jshort_disjoint_arraycopy() :
+ StubRoutines::jshort_disjoint_arraycopy();
+#else
address nooverlap_target = aligned ?
((FunctionDescriptor*)StubRoutines::arrayof_jshort_disjoint_arraycopy())->entry() :
((FunctionDescriptor*)StubRoutines::jshort_disjoint_arraycopy())->entry();
+#endif
array_overlap_test(nooverlap_target, 1);
@@ -1597,7 +1614,7 @@
//
address generate_disjoint_int_copy(bool aligned, const char * name) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
generate_disjoint_int_copy_core(aligned);
__ blr();
return start;
@@ -1681,11 +1698,17 @@
//
address generate_conjoint_int_copy(bool aligned, const char * name) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
+#if defined(ABI_ELFv2)
+ address nooverlap_target = aligned ?
+ StubRoutines::arrayof_jint_disjoint_arraycopy() :
+ StubRoutines::jint_disjoint_arraycopy();
+#else
address nooverlap_target = aligned ?
((FunctionDescriptor*)StubRoutines::arrayof_jint_disjoint_arraycopy())->entry() :
((FunctionDescriptor*)StubRoutines::jint_disjoint_arraycopy())->entry();
+#endif
array_overlap_test(nooverlap_target, 2);
@@ -1767,7 +1790,7 @@
//
address generate_disjoint_long_copy(bool aligned, const char * name) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
generate_disjoint_long_copy_core(aligned);
__ blr();
@@ -1849,11 +1872,17 @@
//
address generate_conjoint_long_copy(bool aligned, const char * name) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
+#if defined(ABI_ELFv2)
+ address nooverlap_target = aligned ?
+ StubRoutines::arrayof_jlong_disjoint_arraycopy() :
+ StubRoutines::jlong_disjoint_arraycopy();
+#else
address nooverlap_target = aligned ?
((FunctionDescriptor*)StubRoutines::arrayof_jlong_disjoint_arraycopy())->entry() :
((FunctionDescriptor*)StubRoutines::jlong_disjoint_arraycopy())->entry();
+#endif
array_overlap_test(nooverlap_target, 3);
generate_conjoint_long_copy_core(aligned);
@@ -1875,11 +1904,17 @@
address generate_conjoint_oop_copy(bool aligned, const char * name, bool dest_uninitialized) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
+#if defined(ABI_ELFv2)
+ address nooverlap_target = aligned ?
+ StubRoutines::arrayof_oop_disjoint_arraycopy() :
+ StubRoutines::oop_disjoint_arraycopy();
+#else
address nooverlap_target = aligned ?
((FunctionDescriptor*)StubRoutines::arrayof_oop_disjoint_arraycopy())->entry() :
((FunctionDescriptor*)StubRoutines::oop_disjoint_arraycopy())->entry();
+#endif
gen_write_ref_array_pre_barrier(R3_ARG1, R4_ARG2, R5_ARG3, dest_uninitialized, R9_ARG7);
@@ -1910,7 +1945,7 @@
//
address generate_disjoint_oop_copy(bool aligned, const char * name, bool dest_uninitialized) {
StubCodeMark mark(this, "StubRoutines", name);
- address start = __ emit_fd();
+ address start = __ function_entry();
gen_write_ref_array_pre_barrier(R3_ARG1, R4_ARG2, R5_ARG3, dest_uninitialized, R9_ARG7);
@@ -1991,7 +2026,7 @@
StubCodeMark mark(this, "StubRoutines", name);
// Entry point, pc or function descriptor.
- *entry = __ emit_fd();
+ *entry = __ function_entry();
// Load *adr into R4_ARG2, may fault.
*fault_pc = __ pc();
@@ -2056,7 +2091,7 @@
guarantee(!UseAESIntrinsics, "not yet implemented.");
}
- // PPC uses stubs for safefetch.
+ // Safefetch stubs.
generate_safefetch("SafeFetch32", sizeof(int), &StubRoutines::_safefetch32_entry,
&StubRoutines::_safefetch32_fault_pc,
&StubRoutines::_safefetch32_continuation_pc);
diff --git a/hotspot/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.hpp b/hotspot/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.hpp
new file mode 100644
index 0000000..051ed26
--- /dev/null
+++ b/hotspot/src/cpu/ppc/vm/templateInterpreterGenerator_ppc.hpp
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2013, 2014 SAP AG. 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.
+ *
+ */
+
+#ifndef CPU_PPC_VM_TEMPLATEINTERPRETERGENERATOR_PPC_HPP
+#define CPU_PPC_VM_TEMPLATEINTERPRETERGENERATOR_PPC_HPP
+
+ protected:
+ address generate_normal_entry(bool synchronized);
+ address generate_native_entry(bool synchronized);
+ address generate_math_entry(AbstractInterpreter::MethodKind kind);
+ address generate_empty_entry(void);
+
+ void lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded=false);
+ void unlock_method(bool check_exceptions = true);
+
+ void generate_counter_incr(Label* overflow, Label* profile_method, Label* profile_method_continue);
+ void generate_counter_overflow(Label& continue_entry);
+
+ void generate_fixed_frame(bool native_call, Register Rsize_of_parameters, Register Rsize_of_locals);
+ void generate_stack_overflow_check(Register Rframe_size, Register Rscratch1);
+
+#endif // CPU_PPC_VM_TEMPLATEINTERPRETERGENERATOR_PPC_HPP
diff --git a/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.cpp b/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.cpp
new file mode 100644
index 0000000..2e19fca
--- /dev/null
+++ b/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.cpp
@@ -0,0 +1,1813 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2013, 2014 SAP AG. 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.
+ *
+ */
+
+#include "precompiled.hpp"
+#ifndef CC_INTERP
+#include "asm/macroAssembler.inline.hpp"
+#include "interpreter/bytecodeHistogram.hpp"
+#include "interpreter/interpreter.hpp"
+#include "interpreter/interpreterGenerator.hpp"
+#include "interpreter/interpreterRuntime.hpp"
+#include "interpreter/templateTable.hpp"
+#include "oops/arrayOop.hpp"
+#include "oops/methodData.hpp"
+#include "oops/method.hpp"
+#include "oops/oop.inline.hpp"
+#include "prims/jvmtiExport.hpp"
+#include "prims/jvmtiThreadState.hpp"
+#include "runtime/arguments.hpp"
+#include "runtime/deoptimization.hpp"
+#include "runtime/frame.inline.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "runtime/stubRoutines.hpp"
+#include "runtime/synchronizer.hpp"
+#include "runtime/timer.hpp"
+#include "runtime/vframeArray.hpp"
+#include "utilities/debug.hpp"
+#include "utilities/macros.hpp"
+
+#undef __
+#define __ _masm->
+
+#ifdef PRODUCT
+#define BLOCK_COMMENT(str) /* nothing */
+#else
+#define BLOCK_COMMENT(str) __ block_comment(str)
+#endif
+
+#define BIND(label) bind(label); BLOCK_COMMENT(#label ":")
+
+//-----------------------------------------------------------------------------
+
+// Actually we should never reach here since we do stack overflow checks before pushing any frame.
+address TemplateInterpreterGenerator::generate_StackOverflowError_handler() {
+ address entry = __ pc();
+ __ unimplemented("generate_StackOverflowError_handler");
+ return entry;
+}
+
+address TemplateInterpreterGenerator::generate_ArrayIndexOutOfBounds_handler(const char* name) {
+ address entry = __ pc();
+ __ empty_expression_stack();
+ __ load_const_optimized(R4_ARG2, (address) name);
+ // Index is in R17_tos.
+ __ mr(R5_ARG3, R17_tos);
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ArrayIndexOutOfBoundsException));
+ return entry;
+}
+
+#if 0
+// Call special ClassCastException constructor taking object to cast
+// and target class as arguments.
+address TemplateInterpreterGenerator::generate_ClassCastException_verbose_handler(const char* name) {
+ address entry = __ pc();
+
+ // Target class oop is in register R6_ARG4 by convention!
+
+ // Expression stack must be empty before entering the VM if an
+ // exception happened.
+ __ empty_expression_stack();
+ // Setup parameters.
+ // Thread will be loaded to R3_ARG1.
+ __ load_const_optimized(R4_ARG2, (address) name);
+ __ mr(R5_ARG3, R17_tos);
+ // R6_ARG4 contains specified class.
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ClassCastException_verbose));
+#ifdef ASSERT
+ // Above call must not return here since exception pending.
+ __ should_not_reach_here();
+#endif
+ return entry;
+}
+#endif
+
+address TemplateInterpreterGenerator::generate_ClassCastException_handler() {
+ address entry = __ pc();
+ // Expression stack must be empty before entering the VM if an
+ // exception happened.
+ __ empty_expression_stack();
+
+ // Load exception object.
+ // Thread will be loaded to R3_ARG1.
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_ClassCastException), R17_tos);
+#ifdef ASSERT
+ // Above call must not return here since exception pending.
+ __ should_not_reach_here();
+#endif
+ return entry;
+}
+
+address TemplateInterpreterGenerator::generate_exception_handler_common(const char* name, const char* message, bool pass_oop) {
+ address entry = __ pc();
+ //__ untested("generate_exception_handler_common");
+ Register Rexception = R17_tos;
+
+ // Expression stack must be empty before entering the VM if an exception happened.
+ __ empty_expression_stack();
+
+ __ load_const_optimized(R4_ARG2, (address) name, R11_scratch1);
+ if (pass_oop) {
+ __ mr(R5_ARG3, Rexception);
+ __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_klass_exception), false);
+ } else {
+ __ load_const_optimized(R5_ARG3, (address) message, R11_scratch1);
+ __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::create_exception), false);
+ }
+
+ // Throw exception.
+ __ mr(R3_ARG1, Rexception);
+ __ load_const_optimized(R11_scratch1, Interpreter::throw_exception_entry(), R12_scratch2);
+ __ mtctr(R11_scratch1);
+ __ bctr();
+
+ return entry;
+}
+
+address TemplateInterpreterGenerator::generate_continuation_for(TosState state) {
+ address entry = __ pc();
+ __ unimplemented("generate_continuation_for");
+ return entry;
+}
+
+// This entry is returned to when a call returns to the interpreter.
+// When we arrive here, we expect that the callee stack frame is already popped.
+address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step, size_t index_size) {
+ address entry = __ pc();
+
+ // Move the value out of the return register back to the TOS cache of current frame.
+ switch (state) {
+ case ltos:
+ case btos:
+ case ctos:
+ case stos:
+ case atos:
+ case itos: __ mr(R17_tos, R3_RET); break; // RET -> TOS cache
+ case ftos:
+ case dtos: __ fmr(F15_ftos, F1_RET); break; // TOS cache -> GR_FRET
+ case vtos: break; // Nothing to do, this was a void return.
+ default : ShouldNotReachHere();
+ }
+
+ __ restore_interpreter_state(R11_scratch1); // Sets R11_scratch1 = fp.
+ __ ld(R12_scratch2, _ijava_state_neg(top_frame_sp), R11_scratch1);
+ __ resize_frame_absolute(R12_scratch2, R11_scratch1, R0);
+
+ // Compiled code destroys templateTableBase, reload.
+ __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R12_scratch2);
+
+ const Register cache = R11_scratch1;
+ const Register size = R12_scratch2;
+ __ get_cache_and_index_at_bcp(cache, 1, index_size);
+
+ // Big Endian (get least significant byte of 64 bit value):
+ __ lbz(size, in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset()) + 7, cache);
+ __ sldi(size, size, Interpreter::logStackElementSize);
+ __ add(R15_esp, R15_esp, size);
+ __ dispatch_next(state, step);
+ return entry;
+}
+
+address TemplateInterpreterGenerator::generate_deopt_entry_for(TosState state, int step) {
+ address entry = __ pc();
+ // If state != vtos, we're returning from a native method, which put it's result
+ // into the result register. So move the value out of the return register back
+ // to the TOS cache of current frame.
+
+ switch (state) {
+ case ltos:
+ case btos:
+ case ctos:
+ case stos:
+ case atos:
+ case itos: __ mr(R17_tos, R3_RET); break; // GR_RET -> TOS cache
+ case ftos:
+ case dtos: __ fmr(F15_ftos, F1_RET); break; // TOS cache -> GR_FRET
+ case vtos: break; // Nothing to do, this was a void return.
+ default : ShouldNotReachHere();
+ }
+
+ // Load LcpoolCache @@@ should be already set!
+ __ get_constant_pool_cache(R27_constPoolCache);
+
+ // Handle a pending exception, fall through if none.
+ __ check_and_forward_exception(R11_scratch1, R12_scratch2);
+
+ // Start executing bytecodes.
+ __ dispatch_next(state, step);
+
+ return entry;
+}
+
+// A result handler converts the native result into java format.
+// Use the shared code between c++ and template interpreter.
+address TemplateInterpreterGenerator::generate_result_handler_for(BasicType type) {
+ return AbstractInterpreterGenerator::generate_result_handler_for(type);
+}
+
+address TemplateInterpreterGenerator::generate_safept_entry_for(TosState state, address runtime_entry) {
+ address entry = __ pc();
+
+ __ push(state);
+ __ call_VM(noreg, runtime_entry);
+ __ dispatch_via(vtos, Interpreter::_normal_table.table_for(vtos));
+
+ return entry;
+}
+
+// Helpers for commoning out cases in the various type of method entries.
+
+// Increment invocation count & check for overflow.
+//
+// Note: checking for negative value instead of overflow
+// so we have a 'sticky' overflow test.
+//
+void TemplateInterpreterGenerator::generate_counter_incr(Label* overflow, Label* profile_method, Label* profile_method_continue) {
+ // Note: In tiered we increment either counters in method or in MDO depending if we're profiling or not.
+ Register Rscratch1 = R11_scratch1;
+ Register Rscratch2 = R12_scratch2;
+ Register R3_counters = R3_ARG1;
+ Label done;
+
+ if (TieredCompilation) {
+ const int increment = InvocationCounter::count_increment;
+ const int mask = ((1 << Tier0InvokeNotifyFreqLog) - 1) << InvocationCounter::count_shift;
+ Label no_mdo;
+ if (ProfileInterpreter) {
+ const Register Rmdo = Rscratch1;
+ // If no method data exists, go to profile_continue.
+ __ ld(Rmdo, in_bytes(Method::method_data_offset()), R19_method);
+ __ cmpdi(CCR0, Rmdo, 0);
+ __ beq(CCR0, no_mdo);
+
+ // Increment backedge counter in the MDO.
+ const int mdo_bc_offs = in_bytes(MethodData::backedge_counter_offset()) + in_bytes(InvocationCounter::counter_offset());
+ __ lwz(Rscratch2, mdo_bc_offs, Rmdo);
+ __ addi(Rscratch2, Rscratch2, increment);
+ __ stw(Rscratch2, mdo_bc_offs, Rmdo);
+ __ load_const_optimized(Rscratch1, mask, R0);
+ __ and_(Rscratch1, Rscratch2, Rscratch1);
+ __ bne(CCR0, done);
+ __ b(*overflow);
+ }
+
+ // Increment counter in MethodCounters*.
+ const int mo_bc_offs = in_bytes(MethodCounters::backedge_counter_offset()) + in_bytes(InvocationCounter::counter_offset());
+ __ bind(no_mdo);
+ __ get_method_counters(R19_method, R3_counters, done);
+ __ lwz(Rscratch2, mo_bc_offs, R3_counters);
+ __ addi(Rscratch2, Rscratch2, increment);
+ __ stw(Rscratch2, mo_bc_offs, R3_counters);
+ __ load_const_optimized(Rscratch1, mask, R0);
+ __ and_(Rscratch1, Rscratch2, Rscratch1);
+ __ beq(CCR0, *overflow);
+
+ __ bind(done);
+
+ } else {
+
+ // Update standard invocation counters.
+ Register Rsum_ivc_bec = R4_ARG2;
+ __ get_method_counters(R19_method, R3_counters, done);
+ __ increment_invocation_counter(R3_counters, Rsum_ivc_bec, R12_scratch2);
+ // Increment interpreter invocation counter.
+ if (ProfileInterpreter) { // %%% Merge this into methodDataOop.
+ __ lwz(R12_scratch2, in_bytes(MethodCounters::interpreter_invocation_counter_offset()), R3_counters);
+ __ addi(R12_scratch2, R12_scratch2, 1);
+ __ stw(R12_scratch2, in_bytes(MethodCounters::interpreter_invocation_counter_offset()), R3_counters);
+ }
+ // Check if we must create a method data obj.
+ if (ProfileInterpreter && profile_method != NULL) {
+ const Register profile_limit = Rscratch1;
+ int pl_offs = __ load_const_optimized(profile_limit, &InvocationCounter::InterpreterProfileLimit, R0, true);
+ __ lwz(profile_limit, pl_offs, profile_limit);
+ // Test to see if we should create a method data oop.
+ __ cmpw(CCR0, Rsum_ivc_bec, profile_limit);
+ __ blt(CCR0, *profile_method_continue);
+ // If no method data exists, go to profile_method.
+ __ test_method_data_pointer(*profile_method);
+ }
+ // Finally check for counter overflow.
+ if (overflow) {
+ const Register invocation_limit = Rscratch1;
+ int il_offs = __ load_const_optimized(invocation_limit, &InvocationCounter::InterpreterInvocationLimit, R0, true);
+ __ lwz(invocation_limit, il_offs, invocation_limit);
+ assert(4 == sizeof(InvocationCounter::InterpreterInvocationLimit), "unexpected field size");
+ __ cmpw(CCR0, Rsum_ivc_bec, invocation_limit);
+ __ bge(CCR0, *overflow);
+ }
+
+ __ bind(done);
+ }
+}
+
+// Generate code to initiate compilation on invocation counter overflow.
+void TemplateInterpreterGenerator::generate_counter_overflow(Label& continue_entry) {
+ // Generate code to initiate compilation on the counter overflow.
+
+ // InterpreterRuntime::frequency_counter_overflow takes one arguments,
+ // which indicates if the counter overflow occurs at a backwards branch (NULL bcp)
+ // We pass zero in.
+ // The call returns the address of the verified entry point for the method or NULL
+ // if the compilation did not complete (either went background or bailed out).
+ //
+ // Unlike the C++ interpreter above: Check exceptions!
+ // Assumption: Caller must set the flag "do_not_unlock_if_sychronized" if the monitor of a sync'ed
+ // method has not yet been created. Thus, no unlocking of a non-existing monitor can occur.
+
+ __ li(R4_ARG2, 0);
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), R4_ARG2, true);
+
+ // Returns verified_entry_point or NULL.
+ // We ignore it in any case.
+ __ b(continue_entry);
+}
+
+void TemplateInterpreterGenerator::generate_stack_overflow_check(Register Rmem_frame_size, Register Rscratch1) {
+ assert_different_registers(Rmem_frame_size, Rscratch1);
+ __ generate_stack_overflow_check_with_compare_and_throw(Rmem_frame_size, Rscratch1);
+}
+
+void TemplateInterpreterGenerator::unlock_method(bool check_exceptions) {
+ __ unlock_object(R26_monitor, check_exceptions);
+}
+
+// Lock the current method, interpreter register window must be set up!
+void TemplateInterpreterGenerator::lock_method(Register Rflags, Register Rscratch1, Register Rscratch2, bool flags_preloaded) {
+ const Register Robj_to_lock = Rscratch2;
+
+ {
+ if (!flags_preloaded) {
+ __ lwz(Rflags, method_(access_flags));
+ }
+
+#ifdef ASSERT
+ // Check if methods needs synchronization.
+ {
+ Label Lok;
+ __ testbitdi(CCR0, R0, Rflags, JVM_ACC_SYNCHRONIZED_BIT);
+ __ btrue(CCR0,Lok);
+ __ stop("method doesn't need synchronization");
+ __ bind(Lok);
+ }
+#endif // ASSERT
+ }
+
+ // Get synchronization object to Rscratch2.
+ {
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
+ Label Lstatic;
+ Label Ldone;
+
+ __ testbitdi(CCR0, R0, Rflags, JVM_ACC_STATIC_BIT);
+ __ btrue(CCR0, Lstatic);
+
+ // Non-static case: load receiver obj from stack and we're done.
+ __ ld(Robj_to_lock, R18_locals);
+ __ b(Ldone);
+
+ __ bind(Lstatic); // Static case: Lock the java mirror
+ __ ld(Robj_to_lock, in_bytes(Method::const_offset()), R19_method);
+ __ ld(Robj_to_lock, in_bytes(ConstMethod::constants_offset()), Robj_to_lock);
+ __ ld(Robj_to_lock, ConstantPool::pool_holder_offset_in_bytes(), Robj_to_lock);
+ __ ld(Robj_to_lock, mirror_offset, Robj_to_lock);
+
+ __ bind(Ldone);
+ __ verify_oop(Robj_to_lock);
+ }
+
+ // Got the oop to lock => execute!
+ __ add_monitor_to_stack(true, Rscratch1, R0);
+
+ __ std(Robj_to_lock, BasicObjectLock::obj_offset_in_bytes(), R26_monitor);
+ __ lock_object(R26_monitor, Robj_to_lock);
+}
+
+// Generate a fixed interpreter frame for pure interpreter
+// and I2N native transition frames.
+//
+// Before (stack grows downwards):
+//
+// | ... |
+// |------------- |
+// | java arg0 |
+// | ... |
+// | java argn |
+// | | <- R15_esp
+// | |
+// |--------------|
+// | abi_112 |
+// | | <- R1_SP
+// |==============|
+//
+//
+// After:
+//
+// | ... |
+// | java arg0 |<- R18_locals
+// | ... |
+// | java argn |
+// |--------------|
+// | |
+// | java locals |
+// | |
+// |--------------|
+// | abi_48 |
+// |==============|
+// | |
+// | istate |
+// | |
+// |--------------|
+// | monitor |<- R26_monitor
+// |--------------|
+// | |<- R15_esp
+// | expression |
+// | stack |
+// | |
+// |--------------|
+// | |
+// | abi_112 |<- R1_SP
+// |==============|
+//
+// The top most frame needs an abi space of 112 bytes. This space is needed,
+// since we call to c. The c function may spill their arguments to the caller
+// frame. When we call to java, we don't need these spill slots. In order to save
+// space on the stack, we resize the caller. However, java local reside in
+// the caller frame and the frame has to be increased. The frame_size for the
+// current frame was calculated based on max_stack as size for the expression
+// stack. At the call, just a part of the expression stack might be used.
+// We don't want to waste this space and cut the frame back accordingly.
+// The resulting amount for resizing is calculated as follows:
+// resize = (number_of_locals - number_of_arguments) * slot_size
+// + (R1_SP - R15_esp) + 48
+//
+// The size for the callee frame is calculated:
+// framesize = 112 + max_stack + monitor + state_size
+//
+// maxstack: Max number of slots on the expression stack, loaded from the method.
+// monitor: We statically reserve room for one monitor object.
+// state_size: We save the current state of the interpreter to this area.
+//
+void TemplateInterpreterGenerator::generate_fixed_frame(bool native_call, Register Rsize_of_parameters, Register Rsize_of_locals) {
+ Register parent_frame_resize = R6_ARG4, // Frame will grow by this number of bytes.
+ top_frame_size = R7_ARG5,
+ Rconst_method = R8_ARG6;
+
+ assert_different_registers(Rsize_of_parameters, Rsize_of_locals, parent_frame_resize, top_frame_size);
+
+ __ ld(Rconst_method, method_(const));
+ __ lhz(Rsize_of_parameters /* number of params */,
+ in_bytes(ConstMethod::size_of_parameters_offset()), Rconst_method);
+ if (native_call) {
+ // If we're calling a native method, we reserve space for the worst-case signature
+ // handler varargs vector, which is max(Argument::n_register_parameters, parameter_count+2).
+ // We add two slots to the parameter_count, one for the jni
+ // environment and one for a possible native mirror.
+ Label skip_native_calculate_max_stack;
+ __ addi(top_frame_size, Rsize_of_parameters, 2);
+ __ cmpwi(CCR0, top_frame_size, Argument::n_register_parameters);
+ __ bge(CCR0, skip_native_calculate_max_stack);
+ __ li(top_frame_size, Argument::n_register_parameters);
+ __ bind(skip_native_calculate_max_stack);
+ __ sldi(Rsize_of_parameters, Rsize_of_parameters, Interpreter::logStackElementSize);
+ __ sldi(top_frame_size, top_frame_size, Interpreter::logStackElementSize);
+ __ sub(parent_frame_resize, R1_SP, R15_esp); // <0, off by Interpreter::stackElementSize!
+ assert(Rsize_of_locals == noreg, "Rsize_of_locals not initialized"); // Only relevant value is Rsize_of_parameters.
+ } else {
+ __ lhz(Rsize_of_locals /* number of params */, in_bytes(ConstMethod::size_of_locals_offset()), Rconst_method);
+ __ sldi(Rsize_of_parameters, Rsize_of_parameters, Interpreter::logStackElementSize);
+ __ sldi(Rsize_of_locals, Rsize_of_locals, Interpreter::logStackElementSize);
+ __ lhz(top_frame_size, in_bytes(ConstMethod::max_stack_offset()), Rconst_method);
+ __ sub(R11_scratch1, Rsize_of_locals, Rsize_of_parameters); // >=0
+ __ sub(parent_frame_resize, R1_SP, R15_esp); // <0, off by Interpreter::stackElementSize!
+ __ sldi(top_frame_size, top_frame_size, Interpreter::logStackElementSize);
+ __ add(parent_frame_resize, parent_frame_resize, R11_scratch1);
+ }
+
+ // Compute top frame size.
+ __ addi(top_frame_size, top_frame_size, frame::abi_reg_args_size + frame::ijava_state_size);
+
+ // Cut back area between esp and max_stack.
+ __ addi(parent_frame_resize, parent_frame_resize, frame::abi_minframe_size - Interpreter::stackElementSize);
+
+ __ round_to(top_frame_size, frame::alignment_in_bytes);
+ __ round_to(parent_frame_resize, frame::alignment_in_bytes);
+ // parent_frame_resize = (locals-parameters) - (ESP-SP-ABI48) Rounded to frame alignment size.
+ // Enlarge by locals-parameters (not in case of native_call), shrink by ESP-SP-ABI48.
+
+ {
+ // --------------------------------------------------------------------------
+ // Stack overflow check
+
+ Label cont;
+ __ add(R11_scratch1, parent_frame_resize, top_frame_size);
+ generate_stack_overflow_check(R11_scratch1, R12_scratch2);
+ }
+
+ // Set up interpreter state registers.
+
+ __ add(R18_locals, R15_esp, Rsize_of_parameters);
+ __ ld(R27_constPoolCache, in_bytes(ConstMethod::constants_offset()), Rconst_method);
+ __ ld(R27_constPoolCache, ConstantPool::cache_offset_in_bytes(), R27_constPoolCache);
+
+ // Set method data pointer.
+ if (ProfileInterpreter) {
+ Label zero_continue;
+ __ ld(R28_mdx, method_(method_data));
+ __ cmpdi(CCR0, R28_mdx, 0);
+ __ beq(CCR0, zero_continue);
+ __ addi(R28_mdx, R28_mdx, in_bytes(MethodData::data_offset()));
+ __ bind(zero_continue);
+ }
+
+ if (native_call) {
+ __ li(R14_bcp, 0); // Must initialize.
+ } else {
+ __ add(R14_bcp, in_bytes(ConstMethod::codes_offset()), Rconst_method);
+ }
+
+ // Resize parent frame.
+ __ mflr(R12_scratch2);
+ __ neg(parent_frame_resize, parent_frame_resize);
+ __ resize_frame(parent_frame_resize, R11_scratch1);
+ __ std(R12_scratch2, _abi(lr), R1_SP);
+
+ __ addi(R26_monitor, R1_SP, - frame::ijava_state_size);
+ __ addi(R15_esp, R26_monitor, - Interpreter::stackElementSize);
+
+ // Store values.
+ // R15_esp, R14_bcp, R26_monitor, R28_mdx are saved at java calls
+ // in InterpreterMacroAssembler::call_from_interpreter.
+ __ std(R19_method, _ijava_state_neg(method), R1_SP);
+ __ std(R21_sender_SP, _ijava_state_neg(sender_sp), R1_SP);
+ __ std(R27_constPoolCache, _ijava_state_neg(cpoolCache), R1_SP);
+ __ std(R18_locals, _ijava_state_neg(locals), R1_SP);
+
+ // Note: esp, bcp, monitor, mdx live in registers. Hence, the correct version can only
+ // be found in the frame after save_interpreter_state is done. This is always true
+ // for non-top frames. But when a signal occurs, dumping the top frame can go wrong,
+ // because e.g. frame::interpreter_frame_bcp() will not access the correct value
+ // (Enhanced Stack Trace).
+ // The signal handler does not save the interpreter state into the frame.
+ __ li(R0, 0);
+#ifdef ASSERT
+ // Fill remaining slots with constants.
+ __ load_const_optimized(R11_scratch1, 0x5afe);
+ __ load_const_optimized(R12_scratch2, 0xdead);
+#endif
+ // We have to initialize some frame slots for native calls (accessed by GC).
+ if (native_call) {
+ __ std(R26_monitor, _ijava_state_neg(monitors), R1_SP);
+ __ std(R14_bcp, _ijava_state_neg(bcp), R1_SP);
+ if (ProfileInterpreter) { __ std(R28_mdx, _ijava_state_neg(mdx), R1_SP); }
+ }
+#ifdef ASSERT
+ else {
+ __ std(R12_scratch2, _ijava_state_neg(monitors), R1_SP);
+ __ std(R12_scratch2, _ijava_state_neg(bcp), R1_SP);
+ __ std(R12_scratch2, _ijava_state_neg(mdx), R1_SP);
+ }
+ __ std(R11_scratch1, _ijava_state_neg(ijava_reserved), R1_SP);
+ __ std(R12_scratch2, _ijava_state_neg(esp), R1_SP);
+ __ std(R12_scratch2, _ijava_state_neg(lresult), R1_SP);
+ __ std(R12_scratch2, _ijava_state_neg(fresult), R1_SP);
+#endif
+ __ subf(R12_scratch2, top_frame_size, R1_SP);
+ __ std(R0, _ijava_state_neg(oop_tmp), R1_SP);
+ __ std(R12_scratch2, _ijava_state_neg(top_frame_sp), R1_SP);
+
+ // Push top frame.
+ __ push_frame(top_frame_size, R11_scratch1);
+}
+
+// End of helpers
+
+// ============================================================================
+// Various method entries
+//
+
+// Empty method, generate a very fast return. We must skip this entry if
+// someone's debugging, indicated by the flag
+// "interp_mode" in the Thread obj.
+// Note: empty methods are generated mostly methods that do assertions, which are
+// disabled in the "java opt build".
+address TemplateInterpreterGenerator::generate_empty_entry(void) {
+ if (!UseFastEmptyMethods) {
+ NOT_PRODUCT(__ should_not_reach_here();)
+ return Interpreter::entry_for_kind(Interpreter::zerolocals);
+ }
+
+ Label Lslow_path;
+ const Register Rjvmti_mode = R11_scratch1;
+ address entry = __ pc();
+
+ __ lwz(Rjvmti_mode, thread_(interp_only_mode));
+ __ cmpwi(CCR0, Rjvmti_mode, 0);
+ __ bne(CCR0, Lslow_path); // jvmti_mode!=0
+
+ // Noone's debuggin: Simply return.
+ // Pop c2i arguments (if any) off when we return.
+#ifdef ASSERT
+ __ ld(R9_ARG7, 0, R1_SP);
+ __ ld(R10_ARG8, 0, R21_sender_SP);
+ __ cmpd(CCR0, R9_ARG7, R10_ARG8);
+ __ asm_assert_eq("backlink", 0x545);
+#endif // ASSERT
+ __ mr(R1_SP, R21_sender_SP); // Cut the stack back to where the caller started.
+
+ // And we're done.
+ __ blr();
+
+ __ bind(Lslow_path);
+ __ branch_to_entry(Interpreter::entry_for_kind(Interpreter::zerolocals), R11_scratch1);
+ __ flush();
+
+ return entry;
+}
+
+// Support abs and sqrt like in compiler.
+// For others we can use a normal (native) entry.
+
+inline bool math_entry_available(AbstractInterpreter::MethodKind kind) {
+ // Provide math entry with debugging on demand.
+ // Note: Debugging changes which code will get executed:
+ // Debugging or disabled InlineIntrinsics: java method will get interpreted and performs a native call.
+ // Not debugging and enabled InlineIntrinics: processor instruction will get used.
+ // Result might differ slightly due to rounding etc.
+ if (!InlineIntrinsics && (!FLAG_IS_ERGO(InlineIntrinsics))) return false; // Generate a vanilla entry.
+
+ return ((kind==Interpreter::java_lang_math_sqrt && VM_Version::has_fsqrt()) ||
+ (kind==Interpreter::java_lang_math_abs));
+}
+
+address TemplateInterpreterGenerator::generate_math_entry(AbstractInterpreter::MethodKind kind) {
+ if (!math_entry_available(kind)) {
+ NOT_PRODUCT(__ should_not_reach_here();)
+ return Interpreter::entry_for_kind(Interpreter::zerolocals);
+ }
+
+ Label Lslow_path;
+ const Register Rjvmti_mode = R11_scratch1;
+ address entry = __ pc();
+
+ // Provide math entry with debugging on demand.
+ __ lwz(Rjvmti_mode, thread_(interp_only_mode));
+ __ cmpwi(CCR0, Rjvmti_mode, 0);
+ __ bne(CCR0, Lslow_path); // jvmti_mode!=0
+
+ __ lfd(F1_RET, Interpreter::stackElementSize, R15_esp);
+
+ // Pop c2i arguments (if any) off when we return.
+#ifdef ASSERT
+ __ ld(R9_ARG7, 0, R1_SP);
+ __ ld(R10_ARG8, 0, R21_sender_SP);
+ __ cmpd(CCR0, R9_ARG7, R10_ARG8);
+ __ asm_assert_eq("backlink", 0x545);
+#endif // ASSERT
+ __ mr(R1_SP, R21_sender_SP); // Cut the stack back to where the caller started.
+
+ if (kind == Interpreter::java_lang_math_sqrt) {
+ __ fsqrt(F1_RET, F1_RET);
+ } else if (kind == Interpreter::java_lang_math_abs) {
+ __ fabs(F1_RET, F1_RET);
+ } else {
+ ShouldNotReachHere();
+ }
+
+ // And we're done.
+ __ blr();
+
+ // Provide slow path for JVMTI case.
+ __ bind(Lslow_path);
+ __ branch_to_entry(Interpreter::entry_for_kind(Interpreter::zerolocals), R12_scratch2);
+ __ flush();
+
+ return entry;
+}
+
+// Interpreter stub for calling a native method. (asm interpreter)
+// This sets up a somewhat different looking stack for calling the
+// native method than the typical interpreter frame setup.
+//
+// On entry:
+// R19_method - method
+// R16_thread - JavaThread*
+// R15_esp - intptr_t* sender tos
+//
+// abstract stack (grows up)
+// [ IJava (caller of JNI callee) ] <-- ASP
+// ...
+address TemplateInterpreterGenerator::generate_native_entry(bool synchronized) {
+
+ address entry = __ pc();
+
+ const bool inc_counter = UseCompiler || CountCompiledCalls;
+
+ // -----------------------------------------------------------------------------
+ // Allocate a new frame that represents the native callee (i2n frame).
+ // This is not a full-blown interpreter frame, but in particular, the
+ // following registers are valid after this:
+ // - R19_method
+ // - R18_local (points to start of argumuments to native function)
+ //
+ // abstract stack (grows up)
+ // [ IJava (caller of JNI callee) ] <-- ASP
+ // ...
+
+ const Register signature_handler_fd = R11_scratch1;
+ const Register pending_exception = R0;
+ const Register result_handler_addr = R31;
+ const Register native_method_fd = R11_scratch1;
+ const Register access_flags = R22_tmp2;
+ const Register active_handles = R11_scratch1; // R26_monitor saved to state.
+ const Register sync_state = R12_scratch2;
+ const Register sync_state_addr = sync_state; // Address is dead after use.
+ const Register suspend_flags = R11_scratch1;
+
+ //=============================================================================
+ // Allocate new frame and initialize interpreter state.
+
+ Label exception_return;
+ Label exception_return_sync_check;
+ Label stack_overflow_return;
+
+ // Generate new interpreter state and jump to stack_overflow_return in case of
+ // a stack overflow.
+ //generate_compute_interpreter_state(stack_overflow_return);
+
+ Register size_of_parameters = R22_tmp2;
+
+ generate_fixed_frame(true, size_of_parameters, noreg /* unused */);
+
+ //=============================================================================
+ // Increment invocation counter. On overflow, entry to JNI method
+ // will be compiled.
+ Label invocation_counter_overflow, continue_after_compile;
+ if (inc_counter) {
+ if (synchronized) {
+ // Since at this point in the method invocation the exception handler
+ // would try to exit the monitor of synchronized methods which hasn't
+ // been entered yet, we set the thread local variable
+ // _do_not_unlock_if_synchronized to true. If any exception was thrown by
+ // runtime, exception handling i.e. unlock_if_synchronized_method will
+ // check this thread local flag.
+ // This flag has two effects, one is to force an unwind in the topmost
+ // interpreter frame and not perform an unlock while doing so.
+ __ li(R0, 1);
+ __ stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread);
+ }
+ generate_counter_incr(&invocation_counter_overflow, NULL, NULL);
+
+ __ BIND(continue_after_compile);
+ // Reset the _do_not_unlock_if_synchronized flag.
+ if (synchronized) {
+ __ li(R0, 0);
+ __ stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread);
+ }
+ }
+
+ // access_flags = method->access_flags();
+ // Load access flags.
+ assert(access_flags->is_nonvolatile(),
+ "access_flags must be in a non-volatile register");
+ // Type check.
+ assert(4 == sizeof(AccessFlags), "unexpected field size");
+ __ lwz(access_flags, method_(access_flags));
+
+ // We don't want to reload R19_method and access_flags after calls
+ // to some helper functions.
+ assert(R19_method->is_nonvolatile(),
+ "R19_method must be a non-volatile register");
+
+ // Check for synchronized methods. Must happen AFTER invocation counter
+ // check, so method is not locked if counter overflows.
+
+ if (synchronized) {
+ lock_method(access_flags, R11_scratch1, R12_scratch2, true);
+
+ // Update monitor in state.
+ __ ld(R11_scratch1, 0, R1_SP);
+ __ std(R26_monitor, _ijava_state_neg(monitors), R11_scratch1);
+ }
+
+ // jvmti/jvmpi support
+ __ notify_method_entry();
+
+ //=============================================================================
+ // Get and call the signature handler.
+
+ __ ld(signature_handler_fd, method_(signature_handler));
+ Label call_signature_handler;
+
+ __ cmpdi(CCR0, signature_handler_fd, 0);
+ __ bne(CCR0, call_signature_handler);
+
+ // Method has never been called. Either generate a specialized
+ // handler or point to the slow one.
+ //
+ // Pass parameter 'false' to avoid exception check in call_VM.
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::prepare_native_call), R19_method, false);
+
+ // Check for an exception while looking up the target method. If we
+ // incurred one, bail.
+ __ ld(pending_exception, thread_(pending_exception));
+ __ cmpdi(CCR0, pending_exception, 0);
+ __ bne(CCR0, exception_return_sync_check); // Has pending exception.
+
+ // Reload signature handler, it may have been created/assigned in the meanwhile.
+ __ ld(signature_handler_fd, method_(signature_handler));
+ __ twi_0(signature_handler_fd); // Order wrt. load of klass mirror and entry point (isync is below).
+
+ __ BIND(call_signature_handler);
+
+ // Before we call the signature handler we push a new frame to
+ // protect the interpreter frame volatile registers when we return
+ // from jni but before we can get back to Java.
+
+ // First set the frame anchor while the SP/FP registers are
+ // convenient and the slow signature handler can use this same frame
+ // anchor.
+
+ // We have a TOP_IJAVA_FRAME here, which belongs to us.
+ __ set_top_ijava_frame_at_SP_as_last_Java_frame(R1_SP, R12_scratch2/*tmp*/);
+
+ // Now the interpreter frame (and its call chain) have been
+ // invalidated and flushed. We are now protected against eager
+ // being enabled in native code. Even if it goes eager the
+ // registers will be reloaded as clean and we will invalidate after
+ // the call so no spurious flush should be possible.
+
+ // Call signature handler and pass locals address.
+ //
+ // Our signature handlers copy required arguments to the C stack
+ // (outgoing C args), R3_ARG1 to R10_ARG8, and FARG1 to FARG13.
+ __ mr(R3_ARG1, R18_locals);
+ __ ld(signature_handler_fd, 0, signature_handler_fd);
+
+ __ call_stub(signature_handler_fd);
+
+ // Remove the register parameter varargs slots we allocated in
+ // compute_interpreter_state. SP+16 ends up pointing to the ABI
+ // outgoing argument area.
+ //
+ // Not needed on PPC64.
+ //__ add(SP, SP, Argument::n_register_parameters*BytesPerWord);
+
+ assert(result_handler_addr->is_nonvolatile(), "result_handler_addr must be in a non-volatile register");
+ // Save across call to native method.
+ __ mr(result_handler_addr, R3_RET);
+
+ __ isync(); // Acquire signature handler before trying to fetch the native entry point and klass mirror.
+
+ // Set up fixed parameters and call the native method.
+ // If the method is static, get mirror into R4_ARG2.
+ {
+ Label method_is_not_static;
+ // Access_flags is non-volatile and still, no need to restore it.
+
+ // Restore access flags.
+ __ testbitdi(CCR0, R0, access_flags, JVM_ACC_STATIC_BIT);
+ __ bfalse(CCR0, method_is_not_static);
+
+ // constants = method->constants();
+ __ ld(R11_scratch1, in_bytes(Method::const_offset()), R19_method);
+ __ ld(R11_scratch1, in_bytes(ConstMethod::constants_offset()), R11_scratch1);
+ // pool_holder = method->constants()->pool_holder();
+ __ ld(R11_scratch1/*pool_holder*/, ConstantPool::pool_holder_offset_in_bytes(),
+ R11_scratch1/*constants*/);
+
+ const int mirror_offset = in_bytes(Klass::java_mirror_offset());
+
+ // mirror = pool_holder->klass_part()->java_mirror();
+ __ ld(R0/*mirror*/, mirror_offset, R11_scratch1/*pool_holder*/);
+ // state->_native_mirror = mirror;
+
+ __ ld(R11_scratch1, 0, R1_SP);
+ __ std(R0/*mirror*/, _ijava_state_neg(oop_tmp), R11_scratch1);
+ // R4_ARG2 = &state->_oop_temp;
+ __ addi(R4_ARG2, R11_scratch1, _ijava_state_neg(oop_tmp));
+ __ BIND(method_is_not_static);
+ }
+
+ // At this point, arguments have been copied off the stack into
+ // their JNI positions. Oops are boxed in-place on the stack, with
+ // handles copied to arguments. The result handler address is in a
+ // register.
+
+ // Pass JNIEnv address as first parameter.
+ __ addir(R3_ARG1, thread_(jni_environment));
+
+ // Load the native_method entry before we change the thread state.
+ __ ld(native_method_fd, method_(native_function));
+
+ //=============================================================================
+ // Transition from _thread_in_Java to _thread_in_native. As soon as
+ // we make this change the safepoint code needs to be certain that
+ // the last Java frame we established is good. The pc in that frame
+ // just needs to be near here not an actual return address.
+
+ // We use release_store_fence to update values like the thread state, where
+ // we don't want the current thread to continue until all our prior memory
+ // accesses (including the new thread state) are visible to other threads.
+ __ li(R0, _thread_in_native);
+ __ release();
+
+ // TODO PPC port assert(4 == JavaThread::sz_thread_state(), "unexpected field size");
+ __ stw(R0, thread_(thread_state));
+
+ if (UseMembar) {
+ __ fence();
+ }
+
+ //=============================================================================
+ // Call the native method. Argument registers must not have been
+ // overwritten since "__ call_stub(signature_handler);" (except for
+ // ARG1 and ARG2 for static methods).
+ __ call_c(native_method_fd);
+
+ __ li(R0, 0);
+ __ ld(R11_scratch1, 0, R1_SP);
+ __ std(R3_RET, _ijava_state_neg(lresult), R11_scratch1);
+ __ stfd(F1_RET, _ijava_state_neg(fresult), R11_scratch1);
+ __ std(R0/*mirror*/, _ijava_state_neg(oop_tmp), R11_scratch1); // reset
+
+ // Note: C++ interpreter needs the following here:
+ // The frame_manager_lr field, which we use for setting the last
+ // java frame, gets overwritten by the signature handler. Restore
+ // it now.
+ //__ get_PC_trash_LR(R11_scratch1);
+ //__ std(R11_scratch1, _top_ijava_frame_abi(frame_manager_lr), R1_SP);
+
+ // Because of GC R19_method may no longer be valid.
+
+ // Block, if necessary, before resuming in _thread_in_Java state.
+ // In order for GC to work, don't clear the last_Java_sp until after
+ // blocking.
+
+ //=============================================================================
+ // Switch thread to "native transition" state before reading the
+ // synchronization state. This additional state is necessary
+ // because reading and testing the synchronization state is not
+ // atomic w.r.t. GC, as this scenario demonstrates: Java thread A,
+ // in _thread_in_native state, loads _not_synchronized and is
+ // preempted. VM thread changes sync state to synchronizing and
+ // suspends threads for GC. Thread A is resumed to finish this
+ // native method, but doesn't block here since it didn't see any
+ // synchronization in progress, and escapes.
+
+ // We use release_store_fence to update values like the thread state, where
+ // we don't want the current thread to continue until all our prior memory
+ // accesses (including the new thread state) are visible to other threads.
+ __ li(R0/*thread_state*/, _thread_in_native_trans);
+ __ release();
+ __ stw(R0/*thread_state*/, thread_(thread_state));
+ if (UseMembar) {
+ __ fence();
+ }
+ // Write serialization page so that the VM thread can do a pseudo remote
+ // membar. We use the current thread pointer to calculate a thread
+ // specific offset to write to within the page. This minimizes bus
+ // traffic due to cache line collision.
+ else {
+ __ serialize_memory(R16_thread, R11_scratch1, R12_scratch2);
+ }
+
+ // Now before we return to java we must look for a current safepoint
+ // (a new safepoint can not start since we entered native_trans).
+ // We must check here because a current safepoint could be modifying
+ // the callers registers right this moment.
+
+ // Acquire isn't strictly necessary here because of the fence, but
+ // sync_state is declared to be volatile, so we do it anyway
+ // (cmp-br-isync on one path, release (same as acquire on PPC64) on the other path).
+ int sync_state_offs = __ load_const_optimized(sync_state_addr, SafepointSynchronize::address_of_state(), /*temp*/R0, true);
+
+ // TODO PPC port assert(4 == SafepointSynchronize::sz_state(), "unexpected field size");
+ __ lwz(sync_state, sync_state_offs, sync_state_addr);
+
+ // TODO PPC port assert(4 == Thread::sz_suspend_flags(), "unexpected field size");
+ __ lwz(suspend_flags, thread_(suspend_flags));
+
+ Label sync_check_done;
+ Label do_safepoint;
+ // No synchronization in progress nor yet synchronized.
+ __ cmpwi(CCR0, sync_state, SafepointSynchronize::_not_synchronized);
+ // Not suspended.
+ __ cmpwi(CCR1, suspend_flags, 0);
+
+ __ bne(CCR0, do_safepoint);
+ __ beq(CCR1, sync_check_done);
+ __ bind(do_safepoint);
+ __ isync();
+ // Block. We do the call directly and leave the current
+ // last_Java_frame setup undisturbed. We must save any possible
+ // native result across the call. No oop is present.
+
+ __ mr(R3_ARG1, R16_thread);
+ __ call_c(CAST_FROM_FN_PTR(FunctionDescriptor*, JavaThread::check_special_condition_for_native_trans),
+ relocInfo::none);
+
+ __ bind(sync_check_done);
+
+ //=============================================================================
+ // <<<<<< Back in Interpreter Frame >>>>>
+
+ // We are in thread_in_native_trans here and back in the normal
+ // interpreter frame. We don't have to do anything special about
+ // safepoints and we can switch to Java mode anytime we are ready.
+
+ // Note: frame::interpreter_frame_result has a dependency on how the
+ // method result is saved across the call to post_method_exit. For
+ // native methods it assumes that the non-FPU/non-void result is
+ // saved in _native_lresult and a FPU result in _native_fresult. If
+ // this changes then the interpreter_frame_result implementation
+ // will need to be updated too.
+
+ // On PPC64, we have stored the result directly after the native call.
+
+ //=============================================================================
+ // Back in Java
+
+ // We use release_store_fence to update values like the thread state, where
+ // we don't want the current thread to continue until all our prior memory
+ // accesses (including the new thread state) are visible to other threads.
+ __ li(R0/*thread_state*/, _thread_in_Java);
+ __ release();
+ __ stw(R0/*thread_state*/, thread_(thread_state));
+ if (UseMembar) {
+ __ fence();
+ }
+
+ __ reset_last_Java_frame();
+
+ // Jvmdi/jvmpi support. Whether we've got an exception pending or
+ // not, and whether unlocking throws an exception or not, we notify
+ // on native method exit. If we do have an exception, we'll end up
+ // in the caller's context to handle it, so if we don't do the
+ // notify here, we'll drop it on the floor.
+ __ notify_method_exit(true/*native method*/,
+ ilgl /*illegal state (not used for native methods)*/,
+ InterpreterMacroAssembler::NotifyJVMTI,
+ false /*check_exceptions*/);
+
+ //=============================================================================
+ // Handle exceptions
+
+ if (synchronized) {
+ // Don't check for exceptions since we're still in the i2n frame. Do that
+ // manually afterwards.
+ unlock_method(false);
+ }
+
+ // Reset active handles after returning from native.
+ // thread->active_handles()->clear();
+ __ ld(active_handles, thread_(active_handles));
+ // TODO PPC port assert(4 == JNIHandleBlock::top_size_in_bytes(), "unexpected field size");
+ __ li(R0, 0);
+ __ stw(R0, JNIHandleBlock::top_offset_in_bytes(), active_handles);
+
+ Label exception_return_sync_check_already_unlocked;
+ __ ld(R0/*pending_exception*/, thread_(pending_exception));
+ __ cmpdi(CCR0, R0/*pending_exception*/, 0);
+ __ bne(CCR0, exception_return_sync_check_already_unlocked);
+
+ //-----------------------------------------------------------------------------
+ // No exception pending.
+
+ // Move native method result back into proper registers and return.
+ // Invoke result handler (may unbox/promote).
+ __ ld(R11_scratch1, 0, R1_SP);
+ __ ld(R3_RET, _ijava_state_neg(lresult), R11_scratch1);
+ __ lfd(F1_RET, _ijava_state_neg(fresult), R11_scratch1);
+ __ call_stub(result_handler_addr);
+
+ __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ R0, R11_scratch1, R12_scratch2);
+
+ // Must use the return pc which was loaded from the caller's frame
+ // as the VM uses return-pc-patching for deoptimization.
+ __ mtlr(R0);
+ __ blr();
+
+ //-----------------------------------------------------------------------------
+ // An exception is pending. We call into the runtime only if the
+ // caller was not interpreted. If it was interpreted the
+ // interpreter will do the correct thing. If it isn't interpreted
+ // (call stub/compiled code) we will change our return and continue.
+
+ __ BIND(exception_return_sync_check);
+
+ if (synchronized) {
+ // Don't check for exceptions since we're still in the i2n frame. Do that
+ // manually afterwards.
+ unlock_method(false);
+ }
+ __ BIND(exception_return_sync_check_already_unlocked);
+
+ const Register return_pc = R31;
+
+ __ ld(return_pc, 0, R1_SP);
+ __ ld(return_pc, _abi(lr), return_pc);
+
+ // Get the address of the exception handler.
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address),
+ R16_thread,
+ return_pc /* return pc */);
+ __ merge_frames(/*top_frame_sp*/ R21_sender_SP, noreg, R11_scratch1, R12_scratch2);
+
+ // Load the PC of the the exception handler into LR.
+ __ mtlr(R3_RET);
+
+ // Load exception into R3_ARG1 and clear pending exception in thread.
+ __ ld(R3_ARG1/*exception*/, thread_(pending_exception));
+ __ li(R4_ARG2, 0);
+ __ std(R4_ARG2, thread_(pending_exception));
+
+ // Load the original return pc into R4_ARG2.
+ __ mr(R4_ARG2/*issuing_pc*/, return_pc);
+
+ // Return to exception handler.
+ __ blr();
+
+ //=============================================================================
+ // Counter overflow.
+
+ if (inc_counter) {
+ // Handle invocation counter overflow.
+ __ bind(invocation_counter_overflow);
+
+ generate_counter_overflow(continue_after_compile);
+ }
+
+ return entry;
+}
+
+// Generic interpreted method entry to (asm) interpreter.
+//
+address TemplateInterpreterGenerator::generate_normal_entry(bool synchronized) {
+ bool inc_counter = UseCompiler || CountCompiledCalls;
+ address entry = __ pc();
+ // Generate the code to allocate the interpreter stack frame.
+ Register Rsize_of_parameters = R4_ARG2, // Written by generate_fixed_frame.
+ Rsize_of_locals = R5_ARG3; // Written by generate_fixed_frame.
+
+ generate_fixed_frame(false, Rsize_of_parameters, Rsize_of_locals);
+
+#ifdef FAST_DISPATCH
+ __ unimplemented("Fast dispatch in generate_normal_entry");
+#if 0
+ __ set((intptr_t)Interpreter::dispatch_table(), IdispatchTables);
+ // Set bytecode dispatch table base.
+#endif
+#endif
+
+ // --------------------------------------------------------------------------
+ // Zero out non-parameter locals.
+ // Note: *Always* zero out non-parameter locals as Sparc does. It's not
+ // worth to ask the flag, just do it.
+ Register Rslot_addr = R6_ARG4,
+ Rnum = R7_ARG5;
+ Label Lno_locals, Lzero_loop;
+
+ // Set up the zeroing loop.
+ __ subf(Rnum, Rsize_of_parameters, Rsize_of_locals);
+ __ subf(Rslot_addr, Rsize_of_parameters, R18_locals);
+ __ srdi_(Rnum, Rnum, Interpreter::logStackElementSize);
+ __ beq(CCR0, Lno_locals);
+ __ li(R0, 0);
+ __ mtctr(Rnum);
+
+ // The zero locals loop.
+ __ bind(Lzero_loop);
+ __ std(R0, 0, Rslot_addr);
+ __ addi(Rslot_addr, Rslot_addr, -Interpreter::stackElementSize);
+ __ bdnz(Lzero_loop);
+
+ __ bind(Lno_locals);
+
+ // --------------------------------------------------------------------------
+ // Counter increment and overflow check.
+ Label invocation_counter_overflow,
+ profile_method,
+ profile_method_continue;
+ if (inc_counter || ProfileInterpreter) {
+
+ Register Rdo_not_unlock_if_synchronized_addr = R11_scratch1;
+ if (synchronized) {
+ // Since at this point in the method invocation the exception handler
+ // would try to exit the monitor of synchronized methods which hasn't
+ // been entered yet, we set the thread local variable
+ // _do_not_unlock_if_synchronized to true. If any exception was thrown by
+ // runtime, exception handling i.e. unlock_if_synchronized_method will
+ // check this thread local flag.
+ // This flag has two effects, one is to force an unwind in the topmost
+ // interpreter frame and not perform an unlock while doing so.
+ __ li(R0, 1);
+ __ stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread);
+ }
+ // Increment invocation counter and check for overflow.
+ if (inc_counter) {
+ generate_counter_incr(&invocation_counter_overflow, &profile_method, &profile_method_continue);
+ }
+
+ __ bind(profile_method_continue);
+
+ // Reset the _do_not_unlock_if_synchronized flag.
+ if (synchronized) {
+ __ li(R0, 0);
+ __ stb(R0, in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()), R16_thread);
+ }
+ }
+
+ // --------------------------------------------------------------------------
+ // Locking of synchronized methods. Must happen AFTER invocation_counter
+ // check and stack overflow check, so method is not locked if overflows.
+ if (synchronized) {
+ lock_method(R3_ARG1, R4_ARG2, R5_ARG3);
+ }
+#ifdef ASSERT
+ else {
+ Label Lok;
+ __ lwz(R0, in_bytes(Method::access_flags_offset()), R19_method);
+ __ andi_(R0, R0, JVM_ACC_SYNCHRONIZED);
+ __ asm_assert_eq("method needs synchronization", 0x8521);
+ __ bind(Lok);
+ }
+#endif // ASSERT
+
+ __ verify_thread();
+
+ // --------------------------------------------------------------------------
+ // JVMTI support
+ __ notify_method_entry();
+
+ // --------------------------------------------------------------------------
+ // Start executing instructions.
+ __ dispatch_next(vtos);
+
+ // --------------------------------------------------------------------------
+ // Out of line counter overflow and MDO creation code.
+ if (ProfileInterpreter) {
+ // We have decided to profile this method in the interpreter.
+ __ bind(profile_method);
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method));
+ __ set_method_data_pointer_for_bcp();
+ __ b(profile_method_continue);
+ }
+
+ if (inc_counter) {
+ // Handle invocation counter overflow.
+ __ bind(invocation_counter_overflow);
+ generate_counter_overflow(profile_method_continue);
+ }
+ return entry;
+}
+
+// =============================================================================
+// Entry points
+
+address AbstractInterpreterGenerator::generate_method_entry(
+ AbstractInterpreter::MethodKind kind) {
+ // Determine code generation flags.
+ bool synchronized = false;
+ address entry_point = NULL;
+
+ switch (kind) {
+ case Interpreter::zerolocals : break;
+ case Interpreter::zerolocals_synchronized: synchronized = true; break;
+ case Interpreter::native : entry_point = ((InterpreterGenerator*) this)->generate_native_entry(false); break;
+ case Interpreter::native_synchronized : entry_point = ((InterpreterGenerator*) this)->generate_native_entry(true); break;
+ case Interpreter::empty : entry_point = ((InterpreterGenerator*) this)->generate_empty_entry(); break;
+ case Interpreter::accessor : entry_point = ((InterpreterGenerator*) this)->generate_accessor_entry(); break;
+ case Interpreter::abstract : entry_point = ((InterpreterGenerator*) this)->generate_abstract_entry(); break;
+
+ case Interpreter::java_lang_math_sin : // fall thru
+ case Interpreter::java_lang_math_cos : // fall thru
+ case Interpreter::java_lang_math_tan : // fall thru
+ case Interpreter::java_lang_math_abs : // fall thru
+ case Interpreter::java_lang_math_log : // fall thru
+ case Interpreter::java_lang_math_log10 : // fall thru
+ case Interpreter::java_lang_math_sqrt : // fall thru
+ case Interpreter::java_lang_math_pow : // fall thru
+ case Interpreter::java_lang_math_exp : entry_point = ((InterpreterGenerator*) this)->generate_math_entry(kind); break;
+ case Interpreter::java_lang_ref_reference_get
+ : entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break;
+ default : ShouldNotReachHere(); break;
+ }
+
+ if (entry_point) {
+ return entry_point;
+ }
+
+ return ((InterpreterGenerator*) this)->generate_normal_entry(synchronized);
+}
+
+// These should never be compiled since the interpreter will prefer
+// the compiled version to the intrinsic version.
+bool AbstractInterpreter::can_be_compiled(methodHandle m) {
+ return !math_entry_available(method_kind(m));
+}
+
+// How much stack a method activation needs in stack slots.
+// We must calc this exactly like in generate_fixed_frame.
+// Note: This returns the conservative size assuming maximum alignment.
+int AbstractInterpreter::size_top_interpreter_activation(Method* method) {
+ const int max_alignment_size = 2;
+ const int abi_scratch = frame::abi_reg_args_size;
+ return method->max_locals() + method->max_stack() + frame::interpreter_frame_monitor_size() + max_alignment_size + abi_scratch;
+}
+
+// Fills a sceletal interpreter frame generated during deoptimizations
+// and returns the frame size in slots.
+//
+// Parameters:
+//
+// interpreter_frame == NULL:
+// Only calculate the size of an interpreter activation, no actual layout.
+// Note: This calculation must exactly parallel the frame setup
+// in TemplateInterpreter::generate_normal_entry. But it does not
+// account for the SP alignment, that might further enhance the
+// frame size, depending on FP.
+//
+// interpreter_frame != NULL:
+// set up the method, locals, and monitors.
+// The frame interpreter_frame, if not NULL, is guaranteed to be the
+// right size, as determined by a previous call to this method.
+// It is also guaranteed to be walkable even though it is in a skeletal state
+//
+// is_top_frame == true:
+// We're processing the *oldest* interpreter frame!
+//
+// pop_frame_extra_args:
+// If this is != 0 we are returning to a deoptimized frame by popping
+// off the callee frame. We want to re-execute the call that called the
+// callee interpreted, but since the return to the interpreter would pop
+// the arguments off advance the esp by dummy popframe_extra_args slots.
+// Popping off those will establish the stack layout as it was before the call.
+//
+int AbstractInterpreter::layout_activation(Method* method,
+ int tempcount,
+ int popframe_extra_args,
+ int moncount,
+ int caller_actual_parameters,
+ int callee_param_count,
+ int callee_locals,
+ frame* caller,
+ frame* interpreter_frame,
+ bool is_top_frame,
+ bool is_bottom_frame) {
+
+ const int max_alignment_space = 2;
+ const int abi_scratch = is_top_frame ? (frame::abi_reg_args_size / Interpreter::stackElementSize) :
+ (frame::abi_minframe_size / Interpreter::stackElementSize) ;
+ const int conservative_framesize_in_slots =
+ method->max_stack() + callee_locals - callee_param_count +
+ (moncount * frame::interpreter_frame_monitor_size()) + max_alignment_space +
+ abi_scratch + frame::ijava_state_size / Interpreter::stackElementSize;
+
+ assert(!is_top_frame || conservative_framesize_in_slots * 8 > frame::abi_reg_args_size + frame::ijava_state_size, "frame too small");
+
+ if (interpreter_frame == NULL) {
+ // Since we don't know the exact alignment, we return the conservative size.
+ return (conservative_framesize_in_slots & -2);
+ } else {
+ // Now we know our caller, calc the exact frame layout and size.
+ intptr_t* locals_base = (caller->is_interpreted_frame()) ?
+ caller->interpreter_frame_esp() + caller_actual_parameters :
+ caller->sp() + method->max_locals() - 1 + (frame::abi_minframe_size / Interpreter::stackElementSize) ;
+
+ intptr_t* monitor_base = caller->sp() - frame::ijava_state_size / Interpreter::stackElementSize ;
+ intptr_t* monitor = monitor_base - (moncount * frame::interpreter_frame_monitor_size());
+ intptr_t* esp_base = monitor - 1;
+ intptr_t* esp = esp_base - tempcount - popframe_extra_args;
+ intptr_t* sp = (intptr_t *) (((intptr_t) (esp_base- callee_locals + callee_param_count - method->max_stack()- abi_scratch)) & -StackAlignmentInBytes);
+ intptr_t* sender_sp = caller->sp() + (frame::abi_minframe_size - frame::abi_reg_args_size) / Interpreter::stackElementSize;
+ intptr_t* top_frame_sp = is_top_frame ? sp : sp + (frame::abi_minframe_size - frame::abi_reg_args_size) / Interpreter::stackElementSize;
+
+ interpreter_frame->interpreter_frame_set_method(method);
+ interpreter_frame->interpreter_frame_set_locals(locals_base);
+ interpreter_frame->interpreter_frame_set_cpcache(method->constants()->cache());
+ interpreter_frame->interpreter_frame_set_esp(esp);
+ interpreter_frame->interpreter_frame_set_monitor_end((BasicObjectLock *)monitor);
+ interpreter_frame->interpreter_frame_set_top_frame_sp(top_frame_sp);
+ if (!is_bottom_frame) {
+ interpreter_frame->interpreter_frame_set_sender_sp(sender_sp);
+ }
+
+ int framesize_in_slots = caller->sp() - sp;
+ assert(!is_top_frame ||framesize_in_slots >= (frame::abi_reg_args_size / Interpreter::stackElementSize) + frame::ijava_state_size / Interpreter::stackElementSize, "frame too small");
+ assert(framesize_in_slots <= conservative_framesize_in_slots, "exact frame size must be smaller than the convervative size!");
+ return framesize_in_slots;
+ }
+}
+
+// =============================================================================
+// Exceptions
+
+void TemplateInterpreterGenerator::generate_throw_exception() {
+ Register Rexception = R17_tos,
+ Rcontinuation = R3_RET;
+
+ // --------------------------------------------------------------------------
+ // Entry point if an method returns with a pending exception (rethrow).
+ Interpreter::_rethrow_exception_entry = __ pc();
+ {
+ __ restore_interpreter_state(R11_scratch1); // Sets R11_scratch1 = fp.
+ __ ld(R12_scratch2, _ijava_state_neg(top_frame_sp), R11_scratch1);
+ __ resize_frame_absolute(R12_scratch2, R11_scratch1, R0);
+
+ // Compiled code destroys templateTableBase, reload.
+ __ load_const_optimized(R25_templateTableBase, (address)Interpreter::dispatch_table((TosState)0), R11_scratch1);
+ }
+
+ // Entry point if a interpreted method throws an exception (throw).
+ Interpreter::_throw_exception_entry = __ pc();
+ {
+ __ mr(Rexception, R3_RET);
+
+ __ verify_thread();
+ __ verify_oop(Rexception);
+
+ // Expression stack must be empty before entering the VM in case of an exception.
+ __ empty_expression_stack();
+ // Find exception handler address and preserve exception oop.
+ // Call C routine to find handler and jump to it.
+ __ call_VM(Rexception, CAST_FROM_FN_PTR(address, InterpreterRuntime::exception_handler_for_exception), Rexception);
+ __ mtctr(Rcontinuation);
+ // Push exception for exception handler bytecodes.
+ __ push_ptr(Rexception);
+
+ // Jump to exception handler (may be remove activation entry!).
+ __ bctr();
+ }
+
+ // If the exception is not handled in the current frame the frame is
+ // removed and the exception is rethrown (i.e. exception
+ // continuation is _rethrow_exception).
+ //
+ // Note: At this point the bci is still the bxi for the instruction
+ // which caused the exception and the expression stack is
+ // empty. Thus, for any VM calls at this point, GC will find a legal
+ // oop map (with empty expression stack).
+
+ // In current activation
+ // tos: exception
+ // bcp: exception bcp
+
+ // --------------------------------------------------------------------------
+ // JVMTI PopFrame support
+
+ Interpreter::_remove_activation_preserving_args_entry = __ pc();
+ {
+ // Set the popframe_processing bit in popframe_condition indicating that we are
+ // currently handling popframe, so that call_VMs that may happen later do not
+ // trigger new popframe handling cycles.
+ __ lwz(R11_scratch1, in_bytes(JavaThread::popframe_condition_offset()), R16_thread);
+ __ ori(R11_scratch1, R11_scratch1, JavaThread::popframe_processing_bit);
+ __ stw(R11_scratch1, in_bytes(JavaThread::popframe_condition_offset()), R16_thread);
+
+ // Empty the expression stack, as in normal exception handling.
+ __ empty_expression_stack();
+ __ unlock_if_synchronized_method(vtos, /* throw_monitor_exception */ false, /* install_monitor_exception */ false);
+
+ // Check to see whether we are returning to a deoptimized frame.
+ // (The PopFrame call ensures that the caller of the popped frame is
+ // either interpreted or compiled and deoptimizes it if compiled.)
+ // Note that we don't compare the return PC against the
+ // deoptimization blob's unpack entry because of the presence of
+ // adapter frames in C2.
+ Label Lcaller_not_deoptimized;
+ Register return_pc = R3_ARG1;
+ __ ld(return_pc, 0, R1_SP);
+ __ ld(return_pc, _abi(lr), return_pc);
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, InterpreterRuntime::interpreter_contains), return_pc);
+ __ cmpdi(CCR0, R3_RET, 0);
+ __ bne(CCR0, Lcaller_not_deoptimized);
+
+ // The deoptimized case.
+ // In this case, we can't call dispatch_next() after the frame is
+ // popped, but instead must save the incoming arguments and restore
+ // them after deoptimization has occurred.
+ __ ld(R4_ARG2, in_bytes(Method::const_offset()), R19_method);
+ __ lhz(R4_ARG2 /* number of params */, in_bytes(ConstMethod::size_of_parameters_offset()), R4_ARG2);
+ __ slwi(R4_ARG2, R4_ARG2, Interpreter::logStackElementSize);
+ __ addi(R5_ARG3, R18_locals, Interpreter::stackElementSize);
+ __ subf(R5_ARG3, R4_ARG2, R5_ARG3);
+ // Save these arguments.
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, Deoptimization::popframe_preserve_args), R16_thread, R4_ARG2, R5_ARG3);
+
+ // Inform deoptimization that it is responsible for restoring these arguments.
+ __ load_const_optimized(R11_scratch1, JavaThread::popframe_force_deopt_reexecution_bit);
+ __ stw(R11_scratch1, in_bytes(JavaThread::popframe_condition_offset()), R16_thread);
+
+ // Return from the current method into the deoptimization blob. Will eventually
+ // end up in the deopt interpeter entry, deoptimization prepared everything that
+ // we will reexecute the call that called us.
+ __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*reload return_pc*/ return_pc, R11_scratch1, R12_scratch2);
+ __ mtlr(return_pc);
+ __ blr();
+
+ // The non-deoptimized case.
+ __ bind(Lcaller_not_deoptimized);
+
+ // Clear the popframe condition flag.
+ __ li(R0, 0);
+ __ stw(R0, in_bytes(JavaThread::popframe_condition_offset()), R16_thread);
+
+ // Get out of the current method and re-execute the call that called us.
+ __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ return_pc, R11_scratch1, R12_scratch2);
+ __ restore_interpreter_state(R11_scratch1);
+ __ ld(R12_scratch2, _ijava_state_neg(top_frame_sp), R11_scratch1);
+ __ resize_frame_absolute(R12_scratch2, R11_scratch1, R0);
+ __ mtlr(return_pc);
+ if (ProfileInterpreter) {
+ __ set_method_data_pointer_for_bcp();
+ }
+ __ dispatch_next(vtos);
+ }
+ // end of JVMTI PopFrame support
+
+ // --------------------------------------------------------------------------
+ // Remove activation exception entry.
+ // This is jumped to if an interpreted method can't handle an exception itself
+ // (we come from the throw/rethrow exception entry above). We're going to call
+ // into the VM to find the exception handler in the caller, pop the current
+ // frame and return the handler we calculated.
+ Interpreter::_remove_activation_entry = __ pc();
+ {
+ __ pop_ptr(Rexception);
+ __ verify_thread();
+ __ verify_oop(Rexception);
+ __ std(Rexception, in_bytes(JavaThread::vm_result_offset()), R16_thread);
+
+ __ unlock_if_synchronized_method(vtos, /* throw_monitor_exception */ false, true);
+ __ notify_method_exit(false, vtos, InterpreterMacroAssembler::SkipNotifyJVMTI, false);
+
+ __ get_vm_result(Rexception);
+
+ // We are done with this activation frame; find out where to go next.
+ // The continuation point will be an exception handler, which expects
+ // the following registers set up:
+ //
+ // RET: exception oop
+ // ARG2: Issuing PC (see generate_exception_blob()), only used if the caller is compiled.
+
+ Register return_pc = R31; // Needs to survive the runtime call.
+ __ ld(return_pc, 0, R1_SP);
+ __ ld(return_pc, _abi(lr), return_pc);
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), R16_thread, return_pc);
+
+ // Remove the current activation.
+ __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ noreg, R11_scratch1, R12_scratch2);
+
+ __ mr(R4_ARG2, return_pc);
+ __ mtlr(R3_RET);
+ __ mr(R3_RET, Rexception);
+ __ blr();
+ }
+}
+
+// JVMTI ForceEarlyReturn support.
+// Returns "in the middle" of a method with a "fake" return value.
+address TemplateInterpreterGenerator::generate_earlyret_entry_for(TosState state) {
+
+ Register Rscratch1 = R11_scratch1,
+ Rscratch2 = R12_scratch2;
+
+ address entry = __ pc();
+ __ empty_expression_stack();
+
+ __ load_earlyret_value(state, Rscratch1);
+
+ __ ld(Rscratch1, in_bytes(JavaThread::jvmti_thread_state_offset()), R16_thread);
+ // Clear the earlyret state.
+ __ li(R0, 0);
+ __ stw(R0, in_bytes(JvmtiThreadState::earlyret_state_offset()), Rscratch1);
+
+ __ remove_activation(state, false, false);
+ // Copied from TemplateTable::_return.
+ // Restoration of lr done by remove_activation.
+ switch (state) {
+ case ltos:
+ case btos:
+ case ctos:
+ case stos:
+ case atos:
+ case itos: __ mr(R3_RET, R17_tos); break;
+ case ftos:
+ case dtos: __ fmr(F1_RET, F15_ftos); break;
+ case vtos: // This might be a constructor. Final fields (and volatile fields on PPC64) need
+ // to get visible before the reference to the object gets stored anywhere.
+ __ membar(Assembler::StoreStore); break;
+ default : ShouldNotReachHere();
+ }
+ __ blr();
+
+ return entry;
+} // end of ForceEarlyReturn support
+
+//-----------------------------------------------------------------------------
+// Helper for vtos entry point generation
+
+void TemplateInterpreterGenerator::set_vtos_entry_points(Template* t,
+ address& bep,
+ address& cep,
+ address& sep,
+ address& aep,
+ address& iep,
+ address& lep,
+ address& fep,
+ address& dep,
+ address& vep) {
+ assert(t->is_valid() && t->tos_in() == vtos, "illegal template");
+ Label L;
+
+ aep = __ pc(); __ push_ptr(); __ b(L);
+ fep = __ pc(); __ push_f(); __ b(L);
+ dep = __ pc(); __ push_d(); __ b(L);
+ lep = __ pc(); __ push_l(); __ b(L);
+ __ align(32, 12, 24); // align L
+ bep = cep = sep =
+ iep = __ pc(); __ push_i();
+ vep = __ pc();
+ __ bind(L);
+ generate_and_dispatch(t);
+}
+
+//-----------------------------------------------------------------------------
+// Generation of individual instructions
+
+// helpers for generate_and_dispatch
+
+InterpreterGenerator::InterpreterGenerator(StubQueue* code)
+ : TemplateInterpreterGenerator(code) {
+ generate_all(); // Down here so it can be "virtual".
+}
+
+//-----------------------------------------------------------------------------
+
+// Non-product code
+#ifndef PRODUCT
+address TemplateInterpreterGenerator::generate_trace_code(TosState state) {
+ //__ flush_bundle();
+ address entry = __ pc();
+
+ char *bname = NULL;
+ uint tsize = 0;
+ switch(state) {
+ case ftos:
+ bname = "trace_code_ftos {";
+ tsize = 2;
+ break;
+ case btos:
+ bname = "trace_code_btos {";
+ tsize = 2;
+ break;
+ case ctos:
+ bname = "trace_code_ctos {";
+ tsize = 2;
+ break;
+ case stos:
+ bname = "trace_code_stos {";
+ tsize = 2;
+ break;
+ case itos:
+ bname = "trace_code_itos {";
+ tsize = 2;
+ break;
+ case ltos:
+ bname = "trace_code_ltos {";
+ tsize = 3;
+ break;
+ case atos:
+ bname = "trace_code_atos {";
+ tsize = 2;
+ break;
+ case vtos:
+ // Note: In case of vtos, the topmost of stack value could be a int or doubl
+ // In case of a double (2 slots) we won't see the 2nd stack value.
+ // Maybe we simply should print the topmost 3 stack slots to cope with the problem.
+ bname = "trace_code_vtos {";
+ tsize = 2;
+
+ break;
+ case dtos:
+ bname = "trace_code_dtos {";
+ tsize = 3;
+ break;
+ default:
+ ShouldNotReachHere();
+ }
+ BLOCK_COMMENT(bname);
+
+ // Support short-cut for TraceBytecodesAt.
+ // Don't call into the VM if we don't want to trace to speed up things.
+ Label Lskip_vm_call;
+ if (TraceBytecodesAt > 0 && TraceBytecodesAt < max_intx) {
+ int offs1 = __ load_const_optimized(R11_scratch1, (address) &TraceBytecodesAt, R0, true);
+ int offs2 = __ load_const_optimized(R12_scratch2, (address) &BytecodeCounter::_counter_value, R0, true);
+ __ ld(R11_scratch1, offs1, R11_scratch1);
+ __ lwa(R12_scratch2, offs2, R12_scratch2);
+ __ cmpd(CCR0, R12_scratch2, R11_scratch1);
+ __ blt(CCR0, Lskip_vm_call);
+ }
+
+ __ push(state);
+ // Load 2 topmost expression stack values.
+ __ ld(R6_ARG4, tsize*Interpreter::stackElementSize, R15_esp);
+ __ ld(R5_ARG3, Interpreter::stackElementSize, R15_esp);
+ __ mflr(R31);
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, SharedRuntime::trace_bytecode), /* unused */ R4_ARG2, R5_ARG3, R6_ARG4, false);
+ __ mtlr(R31);
+ __ pop(state);
+
+ if (TraceBytecodesAt > 0 && TraceBytecodesAt < max_intx) {
+ __ bind(Lskip_vm_call);
+ }
+ __ blr();
+ BLOCK_COMMENT("} trace_code");
+ return entry;
+}
+
+void TemplateInterpreterGenerator::count_bytecode() {
+ int offs = __ load_const_optimized(R11_scratch1, (address) &BytecodeCounter::_counter_value, R12_scratch2, true);
+ __ lwz(R12_scratch2, offs, R11_scratch1);
+ __ addi(R12_scratch2, R12_scratch2, 1);
+ __ stw(R12_scratch2, offs, R11_scratch1);
+}
+
+void TemplateInterpreterGenerator::histogram_bytecode(Template* t) {
+ int offs = __ load_const_optimized(R11_scratch1, (address) &BytecodeHistogram::_counters[t->bytecode()], R12_scratch2, true);
+ __ lwz(R12_scratch2, offs, R11_scratch1);
+ __ addi(R12_scratch2, R12_scratch2, 1);
+ __ stw(R12_scratch2, offs, R11_scratch1);
+}
+
+void TemplateInterpreterGenerator::histogram_bytecode_pair(Template* t) {
+ const Register addr = R11_scratch1,
+ tmp = R12_scratch2;
+ // Get index, shift out old bytecode, bring in new bytecode, and store it.
+ // _index = (_index >> log2_number_of_codes) |
+ // (bytecode << log2_number_of_codes);
+ int offs1 = __ load_const_optimized(addr, (address)&BytecodePairHistogram::_index, tmp, true);
+ __ lwz(tmp, offs1, addr);
+ __ srwi(tmp, tmp, BytecodePairHistogram::log2_number_of_codes);
+ __ ori(tmp, tmp, ((int) t->bytecode()) << BytecodePairHistogram::log2_number_of_codes);
+ __ stw(tmp, offs1, addr);
+
+ // Bump bucket contents.
+ // _counters[_index] ++;
+ int offs2 = __ load_const_optimized(addr, (address)&BytecodePairHistogram::_counters, R0, true);
+ __ sldi(tmp, tmp, LogBytesPerInt);
+ __ add(addr, tmp, addr);
+ __ lwz(tmp, offs2, addr);
+ __ addi(tmp, tmp, 1);
+ __ stw(tmp, offs2, addr);
+}
+
+void TemplateInterpreterGenerator::trace_bytecode(Template* t) {
+ // Call a little run-time stub to avoid blow-up for each bytecode.
+ // The run-time runtime saves the right registers, depending on
+ // the tosca in-state for the given template.
+
+ assert(Interpreter::trace_code(t->tos_in()) != NULL,
+ "entry must have been generated");
+
+ // Note: we destroy LR here.
+ __ bl(Interpreter::trace_code(t->tos_in()));
+}
+
+void TemplateInterpreterGenerator::stop_interpreter_at() {
+ Label L;
+ int offs1 = __ load_const_optimized(R11_scratch1, (address) &StopInterpreterAt, R0, true);
+ int offs2 = __ load_const_optimized(R12_scratch2, (address) &BytecodeCounter::_counter_value, R0, true);
+ __ ld(R11_scratch1, offs1, R11_scratch1);
+ __ lwa(R12_scratch2, offs2, R12_scratch2);
+ __ cmpd(CCR0, R12_scratch2, R11_scratch1);
+ __ bne(CCR0, L);
+ __ illtrap();
+ __ bind(L);
+}
+
+#endif // !PRODUCT
+#endif // !CC_INTERP
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.hpp
similarity index 62%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.hpp
index f64d498..eb817b0 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/hotspot/src/cpu/ppc/vm/templateInterpreter_ppc.hpp
@@ -1,5 +1,6 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2013, 2014 SAP AG. 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
@@ -19,11 +20,22 @@
* 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 p;
+#ifndef CPU_PPC_VM_TEMPLATEINTERPRETER_PPC_HPP
+#define CPU_PPC_VM_TEMPLATEINTERPRETER_PPC_HPP
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
-}
+ protected:
+
+ // Size of interpreter code. Increase if too small. Interpreter will
+ // fail with a guarantee ("not enough space for interpreter generation");
+ // if too small.
+ // Run with +PrintInterpreter to get the VM to print out the size.
+ // Max size with JVMTI
+
+ const static int InterpreterCodeSize = 210*K;
+
+#endif // CPU_PPC_VM_TEMPLATEINTERPRETER_PPC_HPP
+
+
diff --git a/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp
new file mode 100644
index 0000000..e7846bc
--- /dev/null
+++ b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.cpp
@@ -0,0 +1,4082 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2013, 2014 SAP AG. 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.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "asm/macroAssembler.inline.hpp"
+#include "interpreter/interpreter.hpp"
+#include "interpreter/interpreterRuntime.hpp"
+#include "interpreter/templateInterpreter.hpp"
+#include "interpreter/templateTable.hpp"
+#include "memory/universe.inline.hpp"
+#include "oops/objArrayKlass.hpp"
+#include "oops/oop.inline.hpp"
+#include "prims/methodHandles.hpp"
+#include "runtime/sharedRuntime.hpp"
+#include "runtime/stubRoutines.hpp"
+#include "runtime/synchronizer.hpp"
+#include "utilities/macros.hpp"
+
+#ifndef CC_INTERP
+
+#undef __
+#define __ _masm->
+
+// ============================================================================
+// Misc helpers
+
+// Do an oop store like *(base + index) = val OR *(base + offset) = val
+// (only one of both variants is possible at the same time).
+// Index can be noreg.
+// Kills:
+// Rbase, Rtmp
+static void do_oop_store(InterpreterMacroAssembler* _masm,
+ Register Rbase,
+ RegisterOrConstant offset,
+ Register Rval, // Noreg means always null.
+ Register Rtmp1,
+ Register Rtmp2,
+ Register Rtmp3,
+ BarrierSet::Name barrier,
+ bool precise,
+ bool check_null) {
+ assert_different_registers(Rtmp1, Rtmp2, Rtmp3, Rval, Rbase);
+
+ switch (barrier) {
+#ifndef SERIALGC
+ case BarrierSet::G1SATBCT:
+ case BarrierSet::G1SATBCTLogging:
+ {
+ // Load and record the previous value.
+ __ g1_write_barrier_pre(Rbase, offset,
+ Rtmp3, /* holder of pre_val ? */
+ Rtmp1, Rtmp2, false /* frame */);
+
+ Label Lnull, Ldone;
+ if (Rval != noreg) {
+ if (check_null) {
+ __ cmpdi(CCR0, Rval, 0);
+ __ beq(CCR0, Lnull);
+ }
+ __ store_heap_oop_not_null(Rval, offset, Rbase, /*Rval must stay uncompressed.*/ Rtmp1);
+ // Mark the card.
+ if (!(offset.is_constant() && offset.as_constant() == 0) && precise) {
+ __ add(Rbase, offset, Rbase);
+ }
+ __ g1_write_barrier_post(Rbase, Rval, Rtmp1, Rtmp2, Rtmp3, /*filtered (fast path)*/ &Ldone);
+ if (check_null) { __ b(Ldone); }
+ }
+
+ if (Rval == noreg || check_null) { // Store null oop.
+ Register Rnull = Rval;
+ __ bind(Lnull);
+ if (Rval == noreg) {
+ Rnull = Rtmp1;
+ __ li(Rnull, 0);
+ }
+ if (UseCompressedOops) {
+ __ stw(Rnull, offset, Rbase);
+ } else {
+ __ std(Rnull, offset, Rbase);
+ }
+ }
+ __ bind(Ldone);
+ }
+ break;
+#endif // SERIALGC
+ case BarrierSet::CardTableModRef:
+ case BarrierSet::CardTableExtension:
+ {
+ Label Lnull, Ldone;
+ if (Rval != noreg) {
+ if (check_null) {
+ __ cmpdi(CCR0, Rval, 0);
+ __ beq(CCR0, Lnull);
+ }
+ __ store_heap_oop_not_null(Rval, offset, Rbase, /*Rval should better stay uncompressed.*/ Rtmp1);
+ // Mark the card.
+ if (!(offset.is_constant() && offset.as_constant() == 0) && precise) {
+ __ add(Rbase, offset, Rbase);
+ }
+ __ card_write_barrier_post(Rbase, Rval, Rtmp1);
+ if (check_null) {
+ __ b(Ldone);
+ }
+ }
+
+ if (Rval == noreg || check_null) { // Store null oop.
+ Register Rnull = Rval;
+ __ bind(Lnull);
+ if (Rval == noreg) {
+ Rnull = Rtmp1;
+ __ li(Rnull, 0);
+ }
+ if (UseCompressedOops) {
+ __ stw(Rnull, offset, Rbase);
+ } else {
+ __ std(Rnull, offset, Rbase);
+ }
+ }
+ __ bind(Ldone);
+ }
+ break;
+ case BarrierSet::ModRef:
+ case BarrierSet::Other:
+ ShouldNotReachHere();
+ break;
+ default:
+ ShouldNotReachHere();
+ }
+}
+
+// ============================================================================
+// Platform-dependent initialization
+
+void TemplateTable::pd_initialize() {
+ // No ppc64 specific initialization.
+}
+
+Address TemplateTable::at_bcp(int offset) {
+ // Not used on ppc.
+ ShouldNotReachHere();
+ return Address();
+}
+
+// Patches the current bytecode (ptr to it located in bcp)
+// in the bytecode stream with a new one.
+void TemplateTable::patch_bytecode(Bytecodes::Code new_bc, Register Rnew_bc, Register Rtemp, bool load_bc_into_bc_reg /*=true*/, int byte_no) {
+ // With sharing on, may need to test method flag.
+ if (!RewriteBytecodes) return;
+ Label L_patch_done;
+
+ switch (new_bc) {
+ case Bytecodes::_fast_aputfield:
+ case Bytecodes::_fast_bputfield:
+ case Bytecodes::_fast_cputfield:
+ case Bytecodes::_fast_dputfield:
+ case Bytecodes::_fast_fputfield:
+ case Bytecodes::_fast_iputfield:
+ case Bytecodes::_fast_lputfield:
+ case Bytecodes::_fast_sputfield:
+ {
+ // We skip bytecode quickening for putfield instructions when
+ // the put_code written to the constant pool cache is zero.
+ // This is required so that every execution of this instruction
+ // calls out to InterpreterRuntime::resolve_get_put to do
+ // additional, required work.
+ assert(byte_no == f1_byte || byte_no == f2_byte, "byte_no out of range");
+ assert(load_bc_into_bc_reg, "we use bc_reg as temp");
+ __ get_cache_and_index_at_bcp(Rtemp /* dst = cache */, 1);
+ // Big Endian: ((*(cache+indices))>>((1+byte_no)*8))&0xFF
+ __ lbz(Rnew_bc, in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::indices_offset()) + 7 - (1 + byte_no), Rtemp);
+ __ cmpwi(CCR0, Rnew_bc, 0);
+ __ li(Rnew_bc, (unsigned int)(unsigned char)new_bc);
+ __ beq(CCR0, L_patch_done);
+ // __ isync(); // acquire not needed
+ break;
+ }
+
+ default:
+ assert(byte_no == -1, "sanity");
+ if (load_bc_into_bc_reg) {
+ __ li(Rnew_bc, (unsigned int)(unsigned char)new_bc);
+ }
+ }
+
+ if (JvmtiExport::can_post_breakpoint()) {
+ Label L_fast_patch;
+ __ lbz(Rtemp, 0, R14_bcp);
+ __ cmpwi(CCR0, Rtemp, (unsigned int)(unsigned char)Bytecodes::_breakpoint);
+ __ bne(CCR0, L_fast_patch);
+ // Perform the quickening, slowly, in the bowels of the breakpoint table.
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::set_original_bytecode_at), R19_method, R14_bcp, Rnew_bc);
+ __ b(L_patch_done);
+ __ bind(L_fast_patch);
+ }
+
+ // Patch bytecode.
+ __ stb(Rnew_bc, 0, R14_bcp);
+
+ __ bind(L_patch_done);
+}
+
+// ============================================================================
+// Individual instructions
+
+void TemplateTable::nop() {
+ transition(vtos, vtos);
+ // Nothing to do.
+}
+
+void TemplateTable::shouldnotreachhere() {
+ transition(vtos, vtos);
+ __ stop("shouldnotreachhere bytecode");
+}
+
+void TemplateTable::aconst_null() {
+ transition(vtos, atos);
+ __ li(R17_tos, 0);
+}
+
+void TemplateTable::iconst(int value) {
+ transition(vtos, itos);
+ assert(value >= -1 && value <= 5, "");
+ __ li(R17_tos, value);
+}
+
+void TemplateTable::lconst(int value) {
+ transition(vtos, ltos);
+ assert(value >= -1 && value <= 5, "");
+ __ li(R17_tos, value);
+}
+
+void TemplateTable::fconst(int value) {
+ transition(vtos, ftos);
+ static float zero = 0.0;
+ static float one = 1.0;
+ static float two = 2.0;
+ switch (value) {
+ default: ShouldNotReachHere();
+ case 0: {
+ int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&zero, R0);
+ __ lfs(F15_ftos, simm16_offset, R11_scratch1);
+ break;
+ }
+ case 1: {
+ int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&one, R0);
+ __ lfs(F15_ftos, simm16_offset, R11_scratch1);
+ break;
+ }
+ case 2: {
+ int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&two, R0);
+ __ lfs(F15_ftos, simm16_offset, R11_scratch1);
+ break;
+ }
+ }
+}
+
+void TemplateTable::dconst(int value) {
+ transition(vtos, dtos);
+ static double zero = 0.0;
+ static double one = 1.0;
+ switch (value) {
+ case 0: {
+ int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&zero, R0);
+ __ lfd(F15_ftos, simm16_offset, R11_scratch1);
+ break;
+ }
+ case 1: {
+ int simm16_offset = __ load_const_optimized(R11_scratch1, (address*)&one, R0);
+ __ lfd(F15_ftos, simm16_offset, R11_scratch1);
+ break;
+ }
+ default: ShouldNotReachHere();
+ }
+}
+
+void TemplateTable::bipush() {
+ transition(vtos, itos);
+ __ lbz(R17_tos, 1, R14_bcp);
+ __ extsb(R17_tos, R17_tos);
+}
+
+void TemplateTable::sipush() {
+ transition(vtos, itos);
+ __ get_2_byte_integer_at_bcp(1, R17_tos, InterpreterMacroAssembler::Signed);
+}
+
+void TemplateTable::ldc(bool wide) {
+ Register Rscratch1 = R11_scratch1,
+ Rscratch2 = R12_scratch2,
+ Rcpool = R3_ARG1;
+
+ transition(vtos, vtos);
+ Label notInt, notClass, exit;
+
+ __ get_cpool_and_tags(Rcpool, Rscratch2); // Set Rscratch2 = &tags.
+ if (wide) { // Read index.
+ __ get_2_byte_integer_at_bcp(1, Rscratch1, InterpreterMacroAssembler::Unsigned);
+ } else {
+ __ lbz(Rscratch1, 1, R14_bcp);
+ }
+
+ const int base_offset = ConstantPool::header_size() * wordSize;
+ const int tags_offset = Array<u1>::base_offset_in_bytes();
+
+ // Get type from tags.
+ __ addi(Rscratch2, Rscratch2, tags_offset);
+ __ lbzx(Rscratch2, Rscratch2, Rscratch1);
+
+ __ cmpwi(CCR0, Rscratch2, JVM_CONSTANT_UnresolvedClass); // Unresolved class?
+ __ cmpwi(CCR1, Rscratch2, JVM_CONSTANT_UnresolvedClassInError); // Unresolved class in error state?
+ __ cror(/*CR0 eq*/2, /*CR1 eq*/4+2, /*CR0 eq*/2);
+
+ // Resolved class - need to call vm to get java mirror of the class.
+ __ cmpwi(CCR1, Rscratch2, JVM_CONSTANT_Class);
+ __ crnor(/*CR0 eq*/2, /*CR1 eq*/4+2, /*CR0 eq*/2); // Neither resolved class nor unresolved case from above?
+ __ beq(CCR0, notClass);
+
+ __ li(R4, wide ? 1 : 0);
+ call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::ldc), R4);
+ __ push(atos);
+ __ b(exit);
+
+ __ align(32, 12);
+ __ bind(notClass);
+ __ addi(Rcpool, Rcpool, base_offset);
+ __ sldi(Rscratch1, Rscratch1, LogBytesPerWord);
+ __ cmpdi(CCR0, Rscratch2, JVM_CONSTANT_Integer);
+ __ bne(CCR0, notInt);
+ __ isync(); // Order load of constant wrt. tags.
+ __ lwax(R17_tos, Rcpool, Rscratch1);
+ __ push(itos);
+ __ b(exit);
+
+ __ align(32, 12);
+ __ bind(notInt);
+#ifdef ASSERT
+ // String and Object are rewritten to fast_aldc
+ __ cmpdi(CCR0, Rscratch2, JVM_CONSTANT_Float);
+ __ asm_assert_eq("unexpected type", 0x8765);
+#endif
+ __ isync(); // Order load of constant wrt. tags.
+ __ lfsx(F15_ftos, Rcpool, Rscratch1);
+ __ push(ftos);
+
+ __ align(32, 12);
+ __ bind(exit);
+}
+
+// Fast path for caching oop constants.
+void TemplateTable::fast_aldc(bool wide) {
+ transition(vtos, atos);
+
+ int index_size = wide ? sizeof(u2) : sizeof(u1);
+ const Register Rscratch = R11_scratch1;
+ Label resolved;
+
+ // We are resolved if the resolved reference cache entry contains a
+ // non-null object (CallSite, etc.)
+ __ get_cache_index_at_bcp(Rscratch, 1, index_size); // Load index.
+ __ load_resolved_reference_at_index(R17_tos, Rscratch);
+ __ cmpdi(CCR0, R17_tos, 0);
+ __ bne(CCR0, resolved);
+ __ load_const_optimized(R3_ARG1, (int)bytecode());
+
+ address entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_ldc);
+
+ // First time invocation - must resolve first.
+ __ call_VM(R17_tos, entry, R3_ARG1);
+
+ __ align(32, 12);
+ __ bind(resolved);
+ __ verify_oop(R17_tos);
+}
+
+void TemplateTable::ldc2_w() {
+ transition(vtos, vtos);
+ Label Llong, Lexit;
+
+ Register Rindex = R11_scratch1,
+ Rcpool = R12_scratch2,
+ Rtag = R3_ARG1;
+ __ get_cpool_and_tags(Rcpool, Rtag);
+ __ get_2_byte_integer_at_bcp(1, Rindex, InterpreterMacroAssembler::Unsigned);
+
+ const int base_offset = ConstantPool::header_size() * wordSize;
+ const int tags_offset = Array<u1>::base_offset_in_bytes();
+ // Get type from tags.
+ __ addi(Rcpool, Rcpool, base_offset);
+ __ addi(Rtag, Rtag, tags_offset);
+
+ __ lbzx(Rtag, Rtag, Rindex);
+
+ __ sldi(Rindex, Rindex, LogBytesPerWord);
+ __ cmpdi(CCR0, Rtag, JVM_CONSTANT_Double);
+ __ bne(CCR0, Llong);
+ // A double can be placed at word-aligned locations in the constant pool.
+ // Check out Conversions.java for an example.
+ // Also ConstantPool::header_size() is 20, which makes it very difficult
+ // to double-align double on the constant pool. SG, 11/7/97
+ __ isync(); // Order load of constant wrt. tags.
+ __ lfdx(F15_ftos, Rcpool, Rindex);
+ __ push(dtos);
+ __ b(Lexit);
+
+ __ bind(Llong);
+ __ isync(); // Order load of constant wrt. tags.
+ __ ldx(R17_tos, Rcpool, Rindex);
+ __ push(ltos);
+
+ __ bind(Lexit);
+}
+
+// Get the locals index located in the bytecode stream at bcp + offset.
+void TemplateTable::locals_index(Register Rdst, int offset) {
+ __ lbz(Rdst, offset, R14_bcp);
+}
+
+void TemplateTable::iload() {
+ transition(vtos, itos);
+
+ // Get the local value into tos
+ const Register Rindex = R22_tmp2;
+ locals_index(Rindex);
+
+ // Rewrite iload,iload pair into fast_iload2
+ // iload,caload pair into fast_icaload
+ if (RewriteFrequentPairs) {
+ Label Lrewrite, Ldone;
+ Register Rnext_byte = R3_ARG1,
+ Rrewrite_to = R6_ARG4,
+ Rscratch = R11_scratch1;
+
+ // get next byte
+ __ lbz(Rnext_byte, Bytecodes::length_for(Bytecodes::_iload), R14_bcp);
+
+ // if _iload, wait to rewrite to iload2. We only want to rewrite the
+ // last two iloads in a pair. Comparing against fast_iload means that
+ // the next bytecode is neither an iload or a caload, and therefore
+ // an iload pair.
+ __ cmpwi(CCR0, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_iload);
+ __ beq(CCR0, Ldone);
+
+ __ cmpwi(CCR1, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_fast_iload);
+ __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_iload2);
+ __ beq(CCR1, Lrewrite);
+
+ __ cmpwi(CCR0, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_caload);
+ __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_icaload);
+ __ beq(CCR0, Lrewrite);
+
+ __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_iload);
+
+ __ bind(Lrewrite);
+ patch_bytecode(Bytecodes::_iload, Rrewrite_to, Rscratch, false);
+ __ bind(Ldone);
+ }
+
+ __ load_local_int(R17_tos, Rindex, Rindex);
+}
+
+// Load 2 integers in a row without dispatching
+void TemplateTable::fast_iload2() {
+ transition(vtos, itos);
+
+ __ lbz(R3_ARG1, 1, R14_bcp);
+ __ lbz(R17_tos, Bytecodes::length_for(Bytecodes::_iload) + 1, R14_bcp);
+
+ __ load_local_int(R3_ARG1, R11_scratch1, R3_ARG1);
+ __ load_local_int(R17_tos, R12_scratch2, R17_tos);
+ __ push_i(R3_ARG1);
+}
+
+void TemplateTable::fast_iload() {
+ transition(vtos, itos);
+ // Get the local value into tos
+
+ const Register Rindex = R11_scratch1;
+ locals_index(Rindex);
+ __ load_local_int(R17_tos, Rindex, Rindex);
+}
+
+// Load a local variable type long from locals area to TOS cache register.
+// Local index resides in bytecodestream.
+void TemplateTable::lload() {
+ transition(vtos, ltos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index(Rindex);
+ __ load_local_long(R17_tos, Rindex, Rindex);
+}
+
+void TemplateTable::fload() {
+ transition(vtos, ftos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index(Rindex);
+ __ load_local_float(F15_ftos, Rindex, Rindex);
+}
+
+void TemplateTable::dload() {
+ transition(vtos, dtos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index(Rindex);
+ __ load_local_double(F15_ftos, Rindex, Rindex);
+}
+
+void TemplateTable::aload() {
+ transition(vtos, atos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index(Rindex);
+ __ load_local_ptr(R17_tos, Rindex, Rindex);
+}
+
+void TemplateTable::locals_index_wide(Register Rdst) {
+ // Offset is 2, not 1, because Lbcp points to wide prefix code.
+ __ get_2_byte_integer_at_bcp(2, Rdst, InterpreterMacroAssembler::Unsigned);
+}
+
+void TemplateTable::wide_iload() {
+ // Get the local value into tos.
+
+ const Register Rindex = R11_scratch1;
+ locals_index_wide(Rindex);
+ __ load_local_int(R17_tos, Rindex, Rindex);
+}
+
+void TemplateTable::wide_lload() {
+ transition(vtos, ltos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index_wide(Rindex);
+ __ load_local_long(R17_tos, Rindex, Rindex);
+}
+
+void TemplateTable::wide_fload() {
+ transition(vtos, ftos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index_wide(Rindex);
+ __ load_local_float(F15_ftos, Rindex, Rindex);
+}
+
+void TemplateTable::wide_dload() {
+ transition(vtos, dtos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index_wide(Rindex);
+ __ load_local_double(F15_ftos, Rindex, Rindex);
+}
+
+void TemplateTable::wide_aload() {
+ transition(vtos, atos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index_wide(Rindex);
+ __ load_local_ptr(R17_tos, Rindex, Rindex);
+}
+
+void TemplateTable::iaload() {
+ transition(itos, itos);
+
+ const Register Rload_addr = R3_ARG1,
+ Rarray = R4_ARG2,
+ Rtemp = R5_ARG3;
+ __ index_check(Rarray, R17_tos /* index */, LogBytesPerInt, Rtemp, Rload_addr);
+ __ lwa(R17_tos, arrayOopDesc::base_offset_in_bytes(T_INT), Rload_addr);
+}
+
+void TemplateTable::laload() {
+ transition(itos, ltos);
+
+ const Register Rload_addr = R3_ARG1,
+ Rarray = R4_ARG2,
+ Rtemp = R5_ARG3;
+ __ index_check(Rarray, R17_tos /* index */, LogBytesPerLong, Rtemp, Rload_addr);
+ __ ld(R17_tos, arrayOopDesc::base_offset_in_bytes(T_LONG), Rload_addr);
+}
+
+void TemplateTable::faload() {
+ transition(itos, ftos);
+
+ const Register Rload_addr = R3_ARG1,
+ Rarray = R4_ARG2,
+ Rtemp = R5_ARG3;
+ __ index_check(Rarray, R17_tos /* index */, LogBytesPerInt, Rtemp, Rload_addr);
+ __ lfs(F15_ftos, arrayOopDesc::base_offset_in_bytes(T_FLOAT), Rload_addr);
+}
+
+void TemplateTable::daload() {
+ transition(itos, dtos);
+
+ const Register Rload_addr = R3_ARG1,
+ Rarray = R4_ARG2,
+ Rtemp = R5_ARG3;
+ __ index_check(Rarray, R17_tos /* index */, LogBytesPerLong, Rtemp, Rload_addr);
+ __ lfd(F15_ftos, arrayOopDesc::base_offset_in_bytes(T_DOUBLE), Rload_addr);
+}
+
+void TemplateTable::aaload() {
+ transition(itos, atos);
+
+ // tos: index
+ // result tos: array
+ const Register Rload_addr = R3_ARG1,
+ Rarray = R4_ARG2,
+ Rtemp = R5_ARG3;
+ __ index_check(Rarray, R17_tos /* index */, UseCompressedOops ? 2 : LogBytesPerWord, Rtemp, Rload_addr);
+ __ load_heap_oop(R17_tos, arrayOopDesc::base_offset_in_bytes(T_OBJECT), Rload_addr);
+ __ verify_oop(R17_tos);
+ //__ dcbt(R17_tos); // prefetch
+}
+
+void TemplateTable::baload() {
+ transition(itos, itos);
+
+ const Register Rload_addr = R3_ARG1,
+ Rarray = R4_ARG2,
+ Rtemp = R5_ARG3;
+ __ index_check(Rarray, R17_tos /* index */, 0, Rtemp, Rload_addr);
+ __ lbz(R17_tos, arrayOopDesc::base_offset_in_bytes(T_BYTE), Rload_addr);
+ __ extsb(R17_tos, R17_tos);
+}
+
+void TemplateTable::caload() {
+ transition(itos, itos);
+
+ const Register Rload_addr = R3_ARG1,
+ Rarray = R4_ARG2,
+ Rtemp = R5_ARG3;
+ __ index_check(Rarray, R17_tos /* index */, LogBytesPerShort, Rtemp, Rload_addr);
+ __ lhz(R17_tos, arrayOopDesc::base_offset_in_bytes(T_CHAR), Rload_addr);
+}
+
+// Iload followed by caload frequent pair.
+void TemplateTable::fast_icaload() {
+ transition(vtos, itos);
+
+ const Register Rload_addr = R3_ARG1,
+ Rarray = R4_ARG2,
+ Rtemp = R11_scratch1;
+
+ locals_index(R17_tos);
+ __ load_local_int(R17_tos, Rtemp, R17_tos);
+ __ index_check(Rarray, R17_tos /* index */, LogBytesPerShort, Rtemp, Rload_addr);
+ __ lhz(R17_tos, arrayOopDesc::base_offset_in_bytes(T_CHAR), Rload_addr);
+}
+
+void TemplateTable::saload() {
+ transition(itos, itos);
+
+ const Register Rload_addr = R11_scratch1,
+ Rarray = R12_scratch2,
+ Rtemp = R3_ARG1;
+ __ index_check(Rarray, R17_tos /* index */, LogBytesPerShort, Rtemp, Rload_addr);
+ __ lha(R17_tos, arrayOopDesc::base_offset_in_bytes(T_SHORT), Rload_addr);
+}
+
+void TemplateTable::iload(int n) {
+ transition(vtos, itos);
+
+ __ lwz(R17_tos, Interpreter::local_offset_in_bytes(n), R18_locals);
+}
+
+void TemplateTable::lload(int n) {
+ transition(vtos, ltos);
+
+ __ ld(R17_tos, Interpreter::local_offset_in_bytes(n + 1), R18_locals);
+}
+
+void TemplateTable::fload(int n) {
+ transition(vtos, ftos);
+
+ __ lfs(F15_ftos, Interpreter::local_offset_in_bytes(n), R18_locals);
+}
+
+void TemplateTable::dload(int n) {
+ transition(vtos, dtos);
+
+ __ lfd(F15_ftos, Interpreter::local_offset_in_bytes(n + 1), R18_locals);
+}
+
+void TemplateTable::aload(int n) {
+ transition(vtos, atos);
+
+ __ ld(R17_tos, Interpreter::local_offset_in_bytes(n), R18_locals);
+}
+
+void TemplateTable::aload_0() {
+ transition(vtos, atos);
+ // According to bytecode histograms, the pairs:
+ //
+ // _aload_0, _fast_igetfield
+ // _aload_0, _fast_agetfield
+ // _aload_0, _fast_fgetfield
+ //
+ // occur frequently. If RewriteFrequentPairs is set, the (slow)
+ // _aload_0 bytecode checks if the next bytecode is either
+ // _fast_igetfield, _fast_agetfield or _fast_fgetfield and then
+ // rewrites the current bytecode into a pair bytecode; otherwise it
+ // rewrites the current bytecode into _0 that doesn't do
+ // the pair check anymore.
+ //
+ // Note: If the next bytecode is _getfield, the rewrite must be
+ // delayed, otherwise we may miss an opportunity for a pair.
+ //
+ // Also rewrite frequent pairs
+ // aload_0, aload_1
+ // aload_0, iload_1
+ // These bytecodes with a small amount of code are most profitable
+ // to rewrite.
+
+ if (RewriteFrequentPairs) {
+
+ Label Lrewrite, Ldont_rewrite;
+ Register Rnext_byte = R3_ARG1,
+ Rrewrite_to = R6_ARG4,
+ Rscratch = R11_scratch1;
+
+ // Get next byte.
+ __ lbz(Rnext_byte, Bytecodes::length_for(Bytecodes::_aload_0), R14_bcp);
+
+ // If _getfield, wait to rewrite. We only want to rewrite the last two bytecodes in a pair.
+ __ cmpwi(CCR0, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_getfield);
+ __ beq(CCR0, Ldont_rewrite);
+
+ __ cmpwi(CCR1, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_fast_igetfield);
+ __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_iaccess_0);
+ __ beq(CCR1, Lrewrite);
+
+ __ cmpwi(CCR0, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_fast_agetfield);
+ __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_aaccess_0);
+ __ beq(CCR0, Lrewrite);
+
+ __ cmpwi(CCR1, Rnext_byte, (unsigned int)(unsigned char)Bytecodes::_fast_fgetfield);
+ __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_faccess_0);
+ __ beq(CCR1, Lrewrite);
+
+ __ li(Rrewrite_to, (unsigned int)(unsigned char)Bytecodes::_fast_aload_0);
+
+ __ bind(Lrewrite);
+ patch_bytecode(Bytecodes::_aload_0, Rrewrite_to, Rscratch, false);
+ __ bind(Ldont_rewrite);
+ }
+
+ // Do actual aload_0 (must do this after patch_bytecode which might call VM and GC might change oop).
+ aload(0);
+}
+
+void TemplateTable::istore() {
+ transition(itos, vtos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index(Rindex);
+ __ store_local_int(R17_tos, Rindex);
+}
+
+void TemplateTable::lstore() {
+ transition(ltos, vtos);
+ const Register Rindex = R11_scratch1;
+ locals_index(Rindex);
+ __ store_local_long(R17_tos, Rindex);
+}
+
+void TemplateTable::fstore() {
+ transition(ftos, vtos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index(Rindex);
+ __ store_local_float(F15_ftos, Rindex);
+}
+
+void TemplateTable::dstore() {
+ transition(dtos, vtos);
+
+ const Register Rindex = R11_scratch1;
+ locals_index(Rindex);
+ __ store_local_double(F15_ftos, Rindex);
+}
+
+void TemplateTable::astore() {
+ transition(vtos, vtos);
+
+ const Register Rindex = R11_scratch1;
+ __ pop_ptr();
+ __ verify_oop_or_return_address(R17_tos, Rindex);
+ locals_index(Rindex);
+ __ store_local_ptr(R17_tos, Rindex);
+}
+
+void TemplateTable::wide_istore() {
+ transition(vtos, vtos);
+
+ const Register Rindex = R11_scratch1;
+ __ pop_i();
+ locals_index_wide(Rindex);
+ __ store_local_int(R17_tos, Rindex);
+}
+
+void TemplateTable::wide_lstore() {
+ transition(vtos, vtos);
+
+ const Register Rindex = R11_scratch1;
+ __ pop_l();
+ locals_index_wide(Rindex);
+ __ store_local_long(R17_tos, Rindex);
+}
+
+void TemplateTable::wide_fstore() {
+ transition(vtos, vtos);
+
+ const Register Rindex = R11_scratch1;
+ __ pop_f();
+ locals_index_wide(Rindex);
+ __ store_local_float(F15_ftos, Rindex);
+}
+
+void TemplateTable::wide_dstore() {
+ transition(vtos, vtos);
+
+ const Register Rindex = R11_scratch1;
+ __ pop_d();
+ locals_index_wide(Rindex);
+ __ store_local_double(F15_ftos, Rindex);
+}
+
+void TemplateTable::wide_astore() {
+ transition(vtos, vtos);
+
+ const Register Rindex = R11_scratch1;
+ __ pop_ptr();
+ __ verify_oop_or_return_address(R17_tos, Rindex);
+ locals_index_wide(Rindex);
+ __ store_local_ptr(R17_tos, Rindex);
+}
+
+void TemplateTable::iastore() {
+ transition(itos, vtos);
+
+ const Register Rindex = R3_ARG1,
+ Rstore_addr = R4_ARG2,
+ Rarray = R5_ARG3,
+ Rtemp = R6_ARG4;
+ __ pop_i(Rindex);
+ __ index_check(Rarray, Rindex, LogBytesPerInt, Rtemp, Rstore_addr);
+ __ stw(R17_tos, arrayOopDesc::base_offset_in_bytes(T_INT), Rstore_addr);
+ }
+
+void TemplateTable::lastore() {
+ transition(ltos, vtos);
+
+ const Register Rindex = R3_ARG1,
+ Rstore_addr = R4_ARG2,
+ Rarray = R5_ARG3,
+ Rtemp = R6_ARG4;
+ __ pop_i(Rindex);
+ __ index_check(Rarray, Rindex, LogBytesPerLong, Rtemp, Rstore_addr);
+ __ std(R17_tos, arrayOopDesc::base_offset_in_bytes(T_LONG), Rstore_addr);
+ }
+
+void TemplateTable::fastore() {
+ transition(ftos, vtos);
+
+ const Register Rindex = R3_ARG1,
+ Rstore_addr = R4_ARG2,
+ Rarray = R5_ARG3,
+ Rtemp = R6_ARG4;
+ __ pop_i(Rindex);
+ __ index_check(Rarray, Rindex, LogBytesPerInt, Rtemp, Rstore_addr);
+ __ stfs(F15_ftos, arrayOopDesc::base_offset_in_bytes(T_FLOAT), Rstore_addr);
+ }
+
+void TemplateTable::dastore() {
+ transition(dtos, vtos);
+
+ const Register Rindex = R3_ARG1,
+ Rstore_addr = R4_ARG2,
+ Rarray = R5_ARG3,
+ Rtemp = R6_ARG4;
+ __ pop_i(Rindex);
+ __ index_check(Rarray, Rindex, LogBytesPerLong, Rtemp, Rstore_addr);
+ __ stfd(F15_ftos, arrayOopDesc::base_offset_in_bytes(T_DOUBLE), Rstore_addr);
+ }
+
+// Pop 3 values from the stack and...
+void TemplateTable::aastore() {
+ transition(vtos, vtos);
+
+ Label Lstore_ok, Lis_null, Ldone;
+ const Register Rindex = R3_ARG1,
+ Rarray = R4_ARG2,
+ Rscratch = R11_scratch1,
+ Rscratch2 = R12_scratch2,
+ Rarray_klass = R5_ARG3,
+ Rarray_element_klass = Rarray_klass,
+ Rvalue_klass = R6_ARG4,
+ Rstore_addr = R31; // Use register which survives VM call.
+
+ __ ld(R17_tos, Interpreter::expr_offset_in_bytes(0), R15_esp); // Get value to store.
+ __ lwz(Rindex, Interpreter::expr_offset_in_bytes(1), R15_esp); // Get index.
+ __ ld(Rarray, Interpreter::expr_offset_in_bytes(2), R15_esp); // Get array.
+
+ __ verify_oop(R17_tos);
+ __ index_check_without_pop(Rarray, Rindex, UseCompressedOops ? 2 : LogBytesPerWord, Rscratch, Rstore_addr);
+ // Rindex is dead!
+ Register Rscratch3 = Rindex;
+
+ // Do array store check - check for NULL value first.
+ __ cmpdi(CCR0, R17_tos, 0);
+ __ beq(CCR0, Lis_null);
+
+ __ load_klass(Rarray_klass, Rarray);
+ __ load_klass(Rvalue_klass, R17_tos);
+
+ // Do fast instanceof cache test.
+ __ ld(Rarray_element_klass, in_bytes(ObjArrayKlass::element_klass_offset()), Rarray_klass);
+
+ // Generate a fast subtype check. Branch to store_ok if no failure. Throw if failure.
+ __ gen_subtype_check(Rvalue_klass /*subklass*/, Rarray_element_klass /*superklass*/, Rscratch, Rscratch2, Rscratch3, Lstore_ok);
+
+ // Fell through: subtype check failed => throw an exception.
+ __ load_dispatch_table(R11_scratch1, (address*)Interpreter::_throw_ArrayStoreException_entry);
+ __ mtctr(R11_scratch1);
+ __ bctr();
+
+ __ bind(Lis_null);
+ do_oop_store(_masm, Rstore_addr, arrayOopDesc::base_offset_in_bytes(T_OBJECT), noreg /* 0 */,
+ Rscratch, Rscratch2, Rscratch3, _bs->kind(), true /* precise */, false /* check_null */);
+ __ profile_null_seen(Rscratch, Rscratch2);
+ __ b(Ldone);
+
+ // Store is OK.
+ __ bind(Lstore_ok);
+ do_oop_store(_masm, Rstore_addr, arrayOopDesc::base_offset_in_bytes(T_OBJECT), R17_tos /* value */,
+ Rscratch, Rscratch2, Rscratch3, _bs->kind(), true /* precise */, false /* check_null */);
+
+ __ bind(Ldone);
+ // Adjust sp (pops array, index and value).
+ __ addi(R15_esp, R15_esp, 3 * Interpreter::stackElementSize);
+}
+
+void TemplateTable::bastore() {
+ transition(itos, vtos);
+
+ const Register Rindex = R11_scratch1,
+ Rarray = R12_scratch2,
+ Rscratch = R3_ARG1;
+ __ pop_i(Rindex);
+ // tos: val
+ // Rarray: array ptr (popped by index_check)
+ __ index_check(Rarray, Rindex, 0, Rscratch, Rarray);
+ __ stb(R17_tos, arrayOopDesc::base_offset_in_bytes(T_BYTE), Rarray);
+}
+
+void TemplateTable::castore() {
+ transition(itos, vtos);
+
+ const Register Rindex = R11_scratch1,
+ Rarray = R12_scratch2,
+ Rscratch = R3_ARG1;
+ __ pop_i(Rindex);
+ // tos: val
+ // Rarray: array ptr (popped by index_check)
+ __ index_check(Rarray, Rindex, LogBytesPerShort, Rscratch, Rarray);
+ __ sth(R17_tos, arrayOopDesc::base_offset_in_bytes(T_CHAR), Rarray);
+}
+
+void TemplateTable::sastore() {
+ castore();
+}
+
+void TemplateTable::istore(int n) {
+ transition(itos, vtos);
+ __ stw(R17_tos, Interpreter::local_offset_in_bytes(n), R18_locals);
+}
+
+void TemplateTable::lstore(int n) {
+ transition(ltos, vtos);
+ __ std(R17_tos, Interpreter::local_offset_in_bytes(n + 1), R18_locals);
+}
+
+void TemplateTable::fstore(int n) {
+ transition(ftos, vtos);
+ __ stfs(F15_ftos, Interpreter::local_offset_in_bytes(n), R18_locals);
+}
+
+void TemplateTable::dstore(int n) {
+ transition(dtos, vtos);
+ __ stfd(F15_ftos, Interpreter::local_offset_in_bytes(n + 1), R18_locals);
+}
+
+void TemplateTable::astore(int n) {
+ transition(vtos, vtos);
+
+ __ pop_ptr();
+ __ verify_oop_or_return_address(R17_tos, R11_scratch1);
+ __ std(R17_tos, Interpreter::local_offset_in_bytes(n), R18_locals);
+}
+
+void TemplateTable::pop() {
+ transition(vtos, vtos);
+
+ __ addi(R15_esp, R15_esp, Interpreter::stackElementSize);
+}
+
+void TemplateTable::pop2() {
+ transition(vtos, vtos);
+
+ __ addi(R15_esp, R15_esp, Interpreter::stackElementSize * 2);
+}
+
+void TemplateTable::dup() {
+ transition(vtos, vtos);
+
+ __ ld(R11_scratch1, Interpreter::stackElementSize, R15_esp);
+ __ push_ptr(R11_scratch1);
+}
+
+void TemplateTable::dup_x1() {
+ transition(vtos, vtos);
+
+ Register Ra = R11_scratch1,
+ Rb = R12_scratch2;
+ // stack: ..., a, b
+ __ ld(Rb, Interpreter::stackElementSize, R15_esp);
+ __ ld(Ra, Interpreter::stackElementSize * 2, R15_esp);
+ __ std(Rb, Interpreter::stackElementSize * 2, R15_esp);
+ __ std(Ra, Interpreter::stackElementSize, R15_esp);
+ __ push_ptr(Rb);
+ // stack: ..., b, a, b
+}
+
+void TemplateTable::dup_x2() {
+ transition(vtos, vtos);
+
+ Register Ra = R11_scratch1,
+ Rb = R12_scratch2,
+ Rc = R3_ARG1;
+
+ // stack: ..., a, b, c
+ __ ld(Rc, Interpreter::stackElementSize, R15_esp); // load c
+ __ ld(Ra, Interpreter::stackElementSize * 3, R15_esp); // load a
+ __ std(Rc, Interpreter::stackElementSize * 3, R15_esp); // store c in a
+ __ ld(Rb, Interpreter::stackElementSize * 2, R15_esp); // load b
+ // stack: ..., c, b, c
+ __ std(Ra, Interpreter::stackElementSize * 2, R15_esp); // store a in b
+ // stack: ..., c, a, c
+ __ std(Rb, Interpreter::stackElementSize, R15_esp); // store b in c
+ __ push_ptr(Rc); // push c
+ // stack: ..., c, a, b, c
+}
+
+void TemplateTable::dup2() {
+ transition(vtos, vtos);
+
+ Register Ra = R11_scratch1,
+ Rb = R12_scratch2;
+ // stack: ..., a, b
+ __ ld(Rb, Interpreter::stackElementSize, R15_esp);
+ __ ld(Ra, Interpreter::stackElementSize * 2, R15_esp);
+ __ push_2ptrs(Ra, Rb);
+ // stack: ..., a, b, a, b
+}
+
+void TemplateTable::dup2_x1() {
+ transition(vtos, vtos);
+
+ Register Ra = R11_scratch1,
+ Rb = R12_scratch2,
+ Rc = R3_ARG1;
+ // stack: ..., a, b, c
+ __ ld(Rc, Interpreter::stackElementSize, R15_esp);
+ __ ld(Rb, Interpreter::stackElementSize * 2, R15_esp);
+ __ std(Rc, Interpreter::stackElementSize * 2, R15_esp);
+ __ ld(Ra, Interpreter::stackElementSize * 3, R15_esp);
+ __ std(Ra, Interpreter::stackElementSize, R15_esp);
+ __ std(Rb, Interpreter::stackElementSize * 3, R15_esp);
+ // stack: ..., b, c, a
+ __ push_2ptrs(Rb, Rc);
+ // stack: ..., b, c, a, b, c
+}
+
+void TemplateTable::dup2_x2() {
+ transition(vtos, vtos);
+
+ Register Ra = R11_scratch1,
+ Rb = R12_scratch2,
+ Rc = R3_ARG1,
+ Rd = R4_ARG2;
+ // stack: ..., a, b, c, d
+ __ ld(Rb, Interpreter::stackElementSize * 3, R15_esp);
+ __ ld(Rd, Interpreter::stackElementSize, R15_esp);
+ __ std(Rb, Interpreter::stackElementSize, R15_esp); // store b in d
+ __ std(Rd, Interpreter::stackElementSize * 3, R15_esp); // store d in b
+ __ ld(Ra, Interpreter::stackElementSize * 4, R15_esp);
+ __ ld(Rc, Interpreter::stackElementSize * 2, R15_esp);
+ __ std(Ra, Interpreter::stackElementSize * 2, R15_esp); // store a in c
+ __ std(Rc, Interpreter::stackElementSize * 4, R15_esp); // store c in a
+ // stack: ..., c, d, a, b
+ __ push_2ptrs(Rc, Rd);
+ // stack: ..., c, d, a, b, c, d
+}
+
+void TemplateTable::swap() {
+ transition(vtos, vtos);
+ // stack: ..., a, b
+
+ Register Ra = R11_scratch1,
+ Rb = R12_scratch2;
+ // stack: ..., a, b
+ __ ld(Rb, Interpreter::stackElementSize, R15_esp);
+ __ ld(Ra, Interpreter::stackElementSize * 2, R15_esp);
+ __ std(Rb, Interpreter::stackElementSize * 2, R15_esp);
+ __ std(Ra, Interpreter::stackElementSize, R15_esp);
+ // stack: ..., b, a
+}
+
+void TemplateTable::iop2(Operation op) {
+ transition(itos, itos);
+
+ Register Rscratch = R11_scratch1;
+
+ __ pop_i(Rscratch);
+ // tos = number of bits to shift
+ // Rscratch = value to shift
+ switch (op) {
+ case add: __ add(R17_tos, Rscratch, R17_tos); break;
+ case sub: __ sub(R17_tos, Rscratch, R17_tos); break;
+ case mul: __ mullw(R17_tos, Rscratch, R17_tos); break;
+ case _and: __ andr(R17_tos, Rscratch, R17_tos); break;
+ case _or: __ orr(R17_tos, Rscratch, R17_tos); break;
+ case _xor: __ xorr(R17_tos, Rscratch, R17_tos); break;
+ case shl: __ rldicl(R17_tos, R17_tos, 0, 64-5); __ slw(R17_tos, Rscratch, R17_tos); break;
+ case shr: __ rldicl(R17_tos, R17_tos, 0, 64-5); __ sraw(R17_tos, Rscratch, R17_tos); break;
+ case ushr: __ rldicl(R17_tos, R17_tos, 0, 64-5); __ srw(R17_tos, Rscratch, R17_tos); break;
+ default: ShouldNotReachHere();
+ }
+}
+
+void TemplateTable::lop2(Operation op) {
+ transition(ltos, ltos);
+
+ Register Rscratch = R11_scratch1;
+ __ pop_l(Rscratch);
+ switch (op) {
+ case add: __ add(R17_tos, Rscratch, R17_tos); break;
+ case sub: __ sub(R17_tos, Rscratch, R17_tos); break;
+ case _and: __ andr(R17_tos, Rscratch, R17_tos); break;
+ case _or: __ orr(R17_tos, Rscratch, R17_tos); break;
+ case _xor: __ xorr(R17_tos, Rscratch, R17_tos); break;
+ default: ShouldNotReachHere();
+ }
+}
+
+void TemplateTable::idiv() {
+ transition(itos, itos);
+
+ Label Lnormal, Lexception, Ldone;
+ Register Rdividend = R11_scratch1; // Used by irem.
+
+ __ addi(R0, R17_tos, 1);
+ __ cmplwi(CCR0, R0, 2);
+ __ bgt(CCR0, Lnormal); // divisor <-1 or >1
+
+ __ cmpwi(CCR1, R17_tos, 0);
+ __ beq(CCR1, Lexception); // divisor == 0
+
+ __ pop_i(Rdividend);
+ __ mullw(R17_tos, Rdividend, R17_tos); // div by +/-1
+ __ b(Ldone);
+
+ __ bind(Lexception);
+ __ load_dispatch_table(R11_scratch1, (address*)Interpreter::_throw_ArithmeticException_entry);
+ __ mtctr(R11_scratch1);
+ __ bctr();
+
+ __ align(32, 12);
+ __ bind(Lnormal);
+ __ pop_i(Rdividend);
+ __ divw(R17_tos, Rdividend, R17_tos); // Can't divide minint/-1.
+ __ bind(Ldone);
+}
+
+void TemplateTable::irem() {
+ transition(itos, itos);
+
+ __ mr(R12_scratch2, R17_tos);
+ idiv();
+ __ mullw(R17_tos, R17_tos, R12_scratch2);
+ __ subf(R17_tos, R17_tos, R11_scratch1); // Dividend set by idiv.
+}
+
+void TemplateTable::lmul() {
+ transition(ltos, ltos);
+
+ __ pop_l(R11_scratch1);
+ __ mulld(R17_tos, R11_scratch1, R17_tos);
+}
+
+void TemplateTable::ldiv() {
+ transition(ltos, ltos);
+
+ Label Lnormal, Lexception, Ldone;
+ Register Rdividend = R11_scratch1; // Used by lrem.
+
+ __ addi(R0, R17_tos, 1);
+ __ cmpldi(CCR0, R0, 2);
+ __ bgt(CCR0, Lnormal); // divisor <-1 or >1
+
+ __ cmpdi(CCR1, R17_tos, 0);
+ __ beq(CCR1, Lexception); // divisor == 0
+
+ __ pop_l(Rdividend);
+ __ mulld(R17_tos, Rdividend, R17_tos); // div by +/-1
+ __ b(Ldone);
+
+ __ bind(Lexception);
+ __ load_dispatch_table(R11_scratch1, (address*)Interpreter::_throw_ArithmeticException_entry);
+ __ mtctr(R11_scratch1);
+ __ bctr();
+
+ __ align(32, 12);
+ __ bind(Lnormal);
+ __ pop_l(Rdividend);
+ __ divd(R17_tos, Rdividend, R17_tos); // Can't divide minint/-1.
+ __ bind(Ldone);
+}
+
+void TemplateTable::lrem() {
+ transition(ltos, ltos);
+
+ __ mr(R12_scratch2, R17_tos);
+ ldiv();
+ __ mulld(R17_tos, R17_tos, R12_scratch2);
+ __ subf(R17_tos, R17_tos, R11_scratch1); // Dividend set by ldiv.
+}
+
+void TemplateTable::lshl() {
+ transition(itos, ltos);
+
+ __ rldicl(R17_tos, R17_tos, 0, 64-6); // Extract least significant bits.
+ __ pop_l(R11_scratch1);
+ __ sld(R17_tos, R11_scratch1, R17_tos);
+}
+
+void TemplateTable::lshr() {
+ transition(itos, ltos);
+
+ __ rldicl(R17_tos, R17_tos, 0, 64-6); // Extract least significant bits.
+ __ pop_l(R11_scratch1);
+ __ srad(R17_tos, R11_scratch1, R17_tos);
+}
+
+void TemplateTable::lushr() {
+ transition(itos, ltos);
+
+ __ rldicl(R17_tos, R17_tos, 0, 64-6); // Extract least significant bits.
+ __ pop_l(R11_scratch1);
+ __ srd(R17_tos, R11_scratch1, R17_tos);
+}
+
+void TemplateTable::fop2(Operation op) {
+ transition(ftos, ftos);
+
+ switch (op) {
+ case add: __ pop_f(F0_SCRATCH); __ fadds(F15_ftos, F0_SCRATCH, F15_ftos); break;
+ case sub: __ pop_f(F0_SCRATCH); __ fsubs(F15_ftos, F0_SCRATCH, F15_ftos); break;
+ case mul: __ pop_f(F0_SCRATCH); __ fmuls(F15_ftos, F0_SCRATCH, F15_ftos); break;
+ case div: __ pop_f(F0_SCRATCH); __ fdivs(F15_ftos, F0_SCRATCH, F15_ftos); break;
+ case rem:
+ __ pop_f(F1_ARG1);
+ __ fmr(F2_ARG2, F15_ftos);
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::frem));
+ __ fmr(F15_ftos, F1_RET);
+ break;
+
+ default: ShouldNotReachHere();
+ }
+}
+
+void TemplateTable::dop2(Operation op) {
+ transition(dtos, dtos);
+
+ switch (op) {
+ case add: __ pop_d(F0_SCRATCH); __ fadd(F15_ftos, F0_SCRATCH, F15_ftos); break;
+ case sub: __ pop_d(F0_SCRATCH); __ fsub(F15_ftos, F0_SCRATCH, F15_ftos); break;
+ case mul: __ pop_d(F0_SCRATCH); __ fmul(F15_ftos, F0_SCRATCH, F15_ftos); break;
+ case div: __ pop_d(F0_SCRATCH); __ fdiv(F15_ftos, F0_SCRATCH, F15_ftos); break;
+ case rem:
+ __ pop_d(F1_ARG1);
+ __ fmr(F2_ARG2, F15_ftos);
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::drem));
+ __ fmr(F15_ftos, F1_RET);
+ break;
+
+ default: ShouldNotReachHere();
+ }
+}
+
+// Negate the value in the TOS cache.
+void TemplateTable::ineg() {
+ transition(itos, itos);
+
+ __ neg(R17_tos, R17_tos);
+}
+
+// Negate the value in the TOS cache.
+void TemplateTable::lneg() {
+ transition(ltos, ltos);
+
+ __ neg(R17_tos, R17_tos);
+}
+
+void TemplateTable::fneg() {
+ transition(ftos, ftos);
+
+ __ fneg(F15_ftos, F15_ftos);
+}
+
+void TemplateTable::dneg() {
+ transition(dtos, dtos);
+
+ __ fneg(F15_ftos, F15_ftos);
+}
+
+// Increments a local variable in place.
+void TemplateTable::iinc() {
+ transition(vtos, vtos);
+
+ const Register Rindex = R11_scratch1,
+ Rincrement = R0,
+ Rvalue = R12_scratch2;
+
+ locals_index(Rindex); // Load locals index from bytecode stream.
+ __ lbz(Rincrement, 2, R14_bcp); // Load increment from the bytecode stream.
+ __ extsb(Rincrement, Rincrement);
+
+ __ load_local_int(Rvalue, Rindex, Rindex); // Puts address of local into Rindex.
+
+ __ add(Rvalue, Rincrement, Rvalue);
+ __ stw(Rvalue, 0, Rindex);
+}
+
+void TemplateTable::wide_iinc() {
+ transition(vtos, vtos);
+
+ Register Rindex = R11_scratch1,
+ Rlocals_addr = Rindex,
+ Rincr = R12_scratch2;
+ locals_index_wide(Rindex);
+ __ get_2_byte_integer_at_bcp(4, Rincr, InterpreterMacroAssembler::Signed);
+ __ load_local_int(R17_tos, Rlocals_addr, Rindex);
+ __ add(R17_tos, Rincr, R17_tos);
+ __ stw(R17_tos, 0, Rlocals_addr);
+}
+
+void TemplateTable::convert() {
+ // %%%%% Factor this first part accross platforms
+#ifdef ASSERT
+ TosState tos_in = ilgl;
+ TosState tos_out = ilgl;
+ switch (bytecode()) {
+ case Bytecodes::_i2l: // fall through
+ case Bytecodes::_i2f: // fall through
+ case Bytecodes::_i2d: // fall through
+ case Bytecodes::_i2b: // fall through
+ case Bytecodes::_i2c: // fall through
+ case Bytecodes::_i2s: tos_in = itos; break;
+ case Bytecodes::_l2i: // fall through
+ case Bytecodes::_l2f: // fall through
+ case Bytecodes::_l2d: tos_in = ltos; break;
+ case Bytecodes::_f2i: // fall through
+ case Bytecodes::_f2l: // fall through
+ case Bytecodes::_f2d: tos_in = ftos; break;
+ case Bytecodes::_d2i: // fall through
+ case Bytecodes::_d2l: // fall through
+ case Bytecodes::_d2f: tos_in = dtos; break;
+ default : ShouldNotReachHere();
+ }
+ switch (bytecode()) {
+ case Bytecodes::_l2i: // fall through
+ case Bytecodes::_f2i: // fall through
+ case Bytecodes::_d2i: // fall through
+ case Bytecodes::_i2b: // fall through
+ case Bytecodes::_i2c: // fall through
+ case Bytecodes::_i2s: tos_out = itos; break;
+ case Bytecodes::_i2l: // fall through
+ case Bytecodes::_f2l: // fall through
+ case Bytecodes::_d2l: tos_out = ltos; break;
+ case Bytecodes::_i2f: // fall through
+ case Bytecodes::_l2f: // fall through
+ case Bytecodes::_d2f: tos_out = ftos; break;
+ case Bytecodes::_i2d: // fall through
+ case Bytecodes::_l2d: // fall through
+ case Bytecodes::_f2d: tos_out = dtos; break;
+ default : ShouldNotReachHere();
+ }
+ transition(tos_in, tos_out);
+#endif
+
+ // Conversion
+ Label done;
+ switch (bytecode()) {
+ case Bytecodes::_i2l:
+ __ extsw(R17_tos, R17_tos);
+ break;
+
+ case Bytecodes::_l2i:
+ // Nothing to do, we'll continue to work with the lower bits.
+ break;
+
+ case Bytecodes::_i2b:
+ __ extsb(R17_tos, R17_tos);
+ break;
+
+ case Bytecodes::_i2c:
+ __ rldicl(R17_tos, R17_tos, 0, 64-2*8);
+ break;
+
+ case Bytecodes::_i2s:
+ __ extsh(R17_tos, R17_tos);
+ break;
+
+ case Bytecodes::_i2d:
+ __ extsw(R17_tos, R17_tos);
+ case Bytecodes::_l2d:
+ __ push_l_pop_d();
+ __ fcfid(F15_ftos, F15_ftos);
+ break;
+
+ case Bytecodes::_i2f:
+ __ extsw(R17_tos, R17_tos);
+ __ push_l_pop_d();
+ if (VM_Version::has_fcfids()) { // fcfids is >= Power7 only
+ // Comment: alternatively, load with sign extend could be done by lfiwax.
+ __ fcfids(F15_ftos, F15_ftos);
+ } else {
+ __ fcfid(F15_ftos, F15_ftos);
+ __ frsp(F15_ftos, F15_ftos);
+ }
+ break;
+
+ case Bytecodes::_l2f:
+ if (VM_Version::has_fcfids()) { // fcfids is >= Power7 only
+ __ push_l_pop_d();
+ __ fcfids(F15_ftos, F15_ftos);
+ } else {
+ // Avoid rounding problem when result should be 0x3f800001: need fixup code before fcfid+frsp.
+ __ mr(R3_ARG1, R17_tos);
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::l2f));
+ __ fmr(F15_ftos, F1_RET);
+ }
+ break;
+
+ case Bytecodes::_f2d:
+ // empty
+ break;
+
+ case Bytecodes::_d2f:
+ __ frsp(F15_ftos, F15_ftos);
+ break;
+
+ case Bytecodes::_d2i:
+ case Bytecodes::_f2i:
+ __ fcmpu(CCR0, F15_ftos, F15_ftos);
+ __ li(R17_tos, 0); // 0 in case of NAN
+ __ bso(CCR0, done);
+ __ fctiwz(F15_ftos, F15_ftos);
+ __ push_d_pop_l();
+ break;
+
+ case Bytecodes::_d2l:
+ case Bytecodes::_f2l:
+ __ fcmpu(CCR0, F15_ftos, F15_ftos);
+ __ li(R17_tos, 0); // 0 in case of NAN
+ __ bso(CCR0, done);
+ __ fctidz(F15_ftos, F15_ftos);
+ __ push_d_pop_l();
+ break;
+
+ default: ShouldNotReachHere();
+ }
+ __ bind(done);
+}
+
+// Long compare
+void TemplateTable::lcmp() {
+ transition(ltos, itos);
+
+ const Register Rscratch = R11_scratch1;
+ __ pop_l(Rscratch); // first operand, deeper in stack
+
+ __ cmpd(CCR0, Rscratch, R17_tos); // compare
+ __ mfcr(R17_tos); // set bit 32..33 as follows: <: 0b10, =: 0b00, >: 0b01
+ __ srwi(Rscratch, R17_tos, 30);
+ __ srawi(R17_tos, R17_tos, 31);
+ __ orr(R17_tos, Rscratch, R17_tos); // set result as follows: <: -1, =: 0, >: 1
+}
+
+// fcmpl/fcmpg and dcmpl/dcmpg bytecodes
+// unordered_result == -1 => fcmpl or dcmpl
+// unordered_result == 1 => fcmpg or dcmpg
+void TemplateTable::float_cmp(bool is_float, int unordered_result) {
+ const FloatRegister Rfirst = F0_SCRATCH,
+ Rsecond = F15_ftos;
+ const Register Rscratch = R11_scratch1;
+
+ if (is_float) {
+ __ pop_f(Rfirst);
+ } else {
+ __ pop_d(Rfirst);
+ }
+
+ Label Lunordered, Ldone;
+ __ fcmpu(CCR0, Rfirst, Rsecond); // compare
+ if (unordered_result) {
+ __ bso(CCR0, Lunordered);
+ }
+ __ mfcr(R17_tos); // set bit 32..33 as follows: <: 0b10, =: 0b00, >: 0b01
+ __ srwi(Rscratch, R17_tos, 30);
+ __ srawi(R17_tos, R17_tos, 31);
+ __ orr(R17_tos, Rscratch, R17_tos); // set result as follows: <: -1, =: 0, >: 1
+ if (unordered_result) {
+ __ b(Ldone);
+ __ bind(Lunordered);
+ __ load_const_optimized(R17_tos, unordered_result);
+ }
+ __ bind(Ldone);
+}
+
+// Branch_conditional which takes TemplateTable::Condition.
+void TemplateTable::branch_conditional(ConditionRegister crx, TemplateTable::Condition cc, Label& L, bool invert) {
+ bool positive = false;
+ Assembler::Condition cond = Assembler::equal;
+ switch (cc) {
+ case TemplateTable::equal: positive = true ; cond = Assembler::equal ; break;
+ case TemplateTable::not_equal: positive = false; cond = Assembler::equal ; break;
+ case TemplateTable::less: positive = true ; cond = Assembler::less ; break;
+ case TemplateTable::less_equal: positive = false; cond = Assembler::greater; break;
+ case TemplateTable::greater: positive = true ; cond = Assembler::greater; break;
+ case TemplateTable::greater_equal: positive = false; cond = Assembler::less ; break;
+ default: ShouldNotReachHere();
+ }
+ int bo = (positive != invert) ? Assembler::bcondCRbiIs1 : Assembler::bcondCRbiIs0;
+ int bi = Assembler::bi0(crx, cond);
+ __ bc(bo, bi, L);
+}
+
+void TemplateTable::branch(bool is_jsr, bool is_wide) {
+
+ // Note: on SPARC, we use InterpreterMacroAssembler::if_cmp also.
+ __ verify_thread();
+
+ const Register Rscratch1 = R11_scratch1,
+ Rscratch2 = R12_scratch2,
+ Rscratch3 = R3_ARG1,
+ R4_counters = R4_ARG2,
+ bumped_count = R31,
+ Rdisp = R22_tmp2;
+
+ __ profile_taken_branch(Rscratch1, bumped_count);
+
+ // Get (wide) offset.
+ if (is_wide) {
+ __ get_4_byte_integer_at_bcp(1, Rdisp, InterpreterMacroAssembler::Signed);
+ } else {
+ __ get_2_byte_integer_at_bcp(1, Rdisp, InterpreterMacroAssembler::Signed);
+ }
+
+ // --------------------------------------------------------------------------
+ // Handle all the JSR stuff here, then exit.
+ // It's much shorter and cleaner than intermingling with the
+ // non-JSR normal-branch stuff occurring below.
+ if (is_jsr) {
+ // Compute return address as bci in Otos_i.
+ __ ld(Rscratch1, in_bytes(Method::const_offset()), R19_method);
+ __ addi(Rscratch2, R14_bcp, -in_bytes(ConstMethod::codes_offset()) + (is_wide ? 5 : 3));
+ __ subf(R17_tos, Rscratch1, Rscratch2);
+
+ // Bump bcp to target of JSR.
+ __ add(R14_bcp, Rdisp, R14_bcp);
+ // Push returnAddress for "ret" on stack.
+ __ push_ptr(R17_tos);
+ // And away we go!
+ __ dispatch_next(vtos);
+ return;
+ }
+
+ // --------------------------------------------------------------------------
+ // Normal (non-jsr) branch handling
+
+ const bool increment_invocation_counter_for_backward_branches = UseCompiler && UseLoopCounter;
+ if (increment_invocation_counter_for_backward_branches) {
+ //__ unimplemented("branch invocation counter");
+
+ Label Lforward;
+ __ add(R14_bcp, Rdisp, R14_bcp); // Add to bc addr.
+
+ // Check branch direction.
+ __ cmpdi(CCR0, Rdisp, 0);
+ __ bgt(CCR0, Lforward);
+
+ __ get_method_counters(R19_method, R4_counters, Lforward);
+
+ if (TieredCompilation) {
+ Label Lno_mdo, Loverflow;
+ const int increment = InvocationCounter::count_increment;
+ const int mask = ((1 << Tier0BackedgeNotifyFreqLog) - 1) << InvocationCounter::count_shift;
+ if (ProfileInterpreter) {
+ Register Rmdo = Rscratch1;
+
+ // If no method data exists, go to profile_continue.
+ __ ld(Rmdo, in_bytes(Method::method_data_offset()), R19_method);
+ __ cmpdi(CCR0, Rmdo, 0);
+ __ beq(CCR0, Lno_mdo);
+
+ // Increment backedge counter in the MDO.
+ const int mdo_bc_offs = in_bytes(MethodData::backedge_counter_offset()) + in_bytes(InvocationCounter::counter_offset());
+ __ lwz(Rscratch2, mdo_bc_offs, Rmdo);
+ __ load_const_optimized(Rscratch3, mask, R0);
+ __ addi(Rscratch2, Rscratch2, increment);
+ __ stw(Rscratch2, mdo_bc_offs, Rmdo);
+ __ and_(Rscratch3, Rscratch2, Rscratch3);
+ __ bne(CCR0, Lforward);
+ __ b(Loverflow);
+ }
+
+ // If there's no MDO, increment counter in method.
+ const int mo_bc_offs = in_bytes(MethodCounters::backedge_counter_offset()) + in_bytes(InvocationCounter::counter_offset());
+ __ bind(Lno_mdo);
+ __ lwz(Rscratch2, mo_bc_offs, R4_counters);
+ __ load_const_optimized(Rscratch3, mask, R0);
+ __ addi(Rscratch2, Rscratch2, increment);
+ __ stw(Rscratch2, mo_bc_offs, R19_method);
+ __ and_(Rscratch3, Rscratch2, Rscratch3);
+ __ bne(CCR0, Lforward);
+
+ __ bind(Loverflow);
+
+ // Notify point for loop, pass branch bytecode.
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::frequency_counter_overflow), R14_bcp, true);
+
+ // Was an OSR adapter generated?
+ // O0 = osr nmethod
+ __ cmpdi(CCR0, R3_RET, 0);
+ __ beq(CCR0, Lforward);
+
+ // Has the nmethod been invalidated already?
+ __ lwz(R0, nmethod::entry_bci_offset(), R3_RET);
+ __ cmpwi(CCR0, R0, InvalidOSREntryBci);
+ __ beq(CCR0, Lforward);
+
+ // Migrate the interpreter frame off of the stack.
+ // We can use all registers because we will not return to interpreter from this point.
+
+ // Save nmethod.
+ const Register osr_nmethod = R31;
+ __ mr(osr_nmethod, R3_RET);
+ __ set_top_ijava_frame_at_SP_as_last_Java_frame(R1_SP, R11_scratch1);
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::OSR_migration_begin), R16_thread);
+ __ reset_last_Java_frame();
+ // OSR buffer is in ARG1.
+
+ // Remove the interpreter frame.
+ __ merge_frames(/*top_frame_sp*/ R21_sender_SP, /*return_pc*/ R0, R11_scratch1, R12_scratch2);
+
+ // Jump to the osr code.
+ __ ld(R11_scratch1, nmethod::osr_entry_point_offset(), osr_nmethod);
+ __ mtlr(R0);
+ __ mtctr(R11_scratch1);
+ __ bctr();
+
+ } else {
+
+ const Register invoke_ctr = Rscratch1;
+ // Update Backedge branch separately from invocations.
+ __ increment_backedge_counter(R4_counters, invoke_ctr, Rscratch2, Rscratch3);
+
+ if (ProfileInterpreter) {
+ __ test_invocation_counter_for_mdp(invoke_ctr, Rscratch2, Lforward);
+ if (UseOnStackReplacement) {
+ __ test_backedge_count_for_osr(bumped_count, R14_bcp, Rscratch2);
+ }
+ } else {
+ if (UseOnStackReplacement) {
+ __ test_backedge_count_for_osr(invoke_ctr, R14_bcp, Rscratch2);
+ }
+ }
+ }
+
+ __ bind(Lforward);
+
+ } else {
+ // Bump bytecode pointer by displacement (take the branch).
+ __ add(R14_bcp, Rdisp, R14_bcp); // Add to bc addr.
+ }
+ // Continue with bytecode @ target.
+ // %%%%% Like Intel, could speed things up by moving bytecode fetch to code above,
+ // %%%%% and changing dispatch_next to dispatch_only.
+ __ dispatch_next(vtos);
+}
+
+// Helper function for if_cmp* methods below.
+// Factored out common compare and branch code.
+void TemplateTable::if_cmp_common(Register Rfirst, Register Rsecond, Register Rscratch1, Register Rscratch2, Condition cc, bool is_jint, bool cmp0) {
+ Label Lnot_taken;
+ // Note: The condition code we get is the condition under which we
+ // *fall through*! So we have to inverse the CC here.
+
+ if (is_jint) {
+ if (cmp0) {
+ __ cmpwi(CCR0, Rfirst, 0);
+ } else {
+ __ cmpw(CCR0, Rfirst, Rsecond);
+ }
+ } else {
+ if (cmp0) {
+ __ cmpdi(CCR0, Rfirst, 0);
+ } else {
+ __ cmpd(CCR0, Rfirst, Rsecond);
+ }
+ }
+ branch_conditional(CCR0, cc, Lnot_taken, /*invert*/ true);
+
+ // Conition is false => Jump!
+ branch(false, false);
+
+ // Condition is not true => Continue.
+ __ align(32, 12);
+ __ bind(Lnot_taken);
+ __ profile_not_taken_branch(Rscratch1, Rscratch2);
+}
+
+// Compare integer values with zero and fall through if CC holds, branch away otherwise.
+void TemplateTable::if_0cmp(Condition cc) {
+ transition(itos, vtos);
+
+ if_cmp_common(R17_tos, noreg, R11_scratch1, R12_scratch2, cc, true, true);
+}
+
+// Compare integer values and fall through if CC holds, branch away otherwise.
+//
+// Interface:
+// - Rfirst: First operand (older stack value)
+// - tos: Second operand (younger stack value)
+void TemplateTable::if_icmp(Condition cc) {
+ transition(itos, vtos);
+
+ const Register Rfirst = R0,
+ Rsecond = R17_tos;
+
+ __ pop_i(Rfirst);
+ if_cmp_common(Rfirst, Rsecond, R11_scratch1, R12_scratch2, cc, true, false);
+}
+
+void TemplateTable::if_nullcmp(Condition cc) {
+ transition(atos, vtos);
+
+ if_cmp_common(R17_tos, noreg, R11_scratch1, R12_scratch2, cc, false, true);
+}
+
+void TemplateTable::if_acmp(Condition cc) {
+ transition(atos, vtos);
+
+ const Register Rfirst = R0,
+ Rsecond = R17_tos;
+
+ __ pop_ptr(Rfirst);
+ if_cmp_common(Rfirst, Rsecond, R11_scratch1, R12_scratch2, cc, false, false);
+}
+
+void TemplateTable::ret() {
+ locals_index(R11_scratch1);
+ __ load_local_ptr(R17_tos, R11_scratch1, R11_scratch1);
+
+ __ profile_ret(vtos, R17_tos, R11_scratch1, R12_scratch2);
+
+ __ ld(R11_scratch1, in_bytes(Method::const_offset()), R19_method);
+ __ add(R11_scratch1, R17_tos, R11_scratch1);
+ __ addi(R14_bcp, R11_scratch1, in_bytes(ConstMethod::codes_offset()));
+ __ dispatch_next(vtos);
+}
+
+void TemplateTable::wide_ret() {
+ transition(vtos, vtos);
+
+ const Register Rindex = R3_ARG1,
+ Rscratch1 = R11_scratch1,
+ Rscratch2 = R12_scratch2;
+
+ locals_index_wide(Rindex);
+ __ load_local_ptr(R17_tos, R17_tos, Rindex);
+ __ profile_ret(vtos, R17_tos, Rscratch1, R12_scratch2);
+ // Tos now contains the bci, compute the bcp from that.
+ __ ld(Rscratch1, in_bytes(Method::const_offset()), R19_method);
+ __ addi(Rscratch2, R17_tos, in_bytes(ConstMethod::codes_offset()));
+ __ add(R14_bcp, Rscratch1, Rscratch2);
+ __ dispatch_next(vtos);
+}
+
+void TemplateTable::tableswitch() {
+ transition(itos, vtos);
+
+ Label Ldispatch, Ldefault_case;
+ Register Rlow_byte = R3_ARG1,
+ Rindex = Rlow_byte,
+ Rhigh_byte = R4_ARG2,
+ Rdef_offset_addr = R5_ARG3, // is going to contain address of default offset
+ Rscratch1 = R11_scratch1,
+ Rscratch2 = R12_scratch2,
+ Roffset = R6_ARG4;
+
+ // Align bcp.
+ __ addi(Rdef_offset_addr, R14_bcp, BytesPerInt);
+ __ clrrdi(Rdef_offset_addr, Rdef_offset_addr, log2_long((jlong)BytesPerInt));
+
+ // Load lo & hi.
+ __ lwz(Rlow_byte, BytesPerInt, Rdef_offset_addr);
+ __ lwz(Rhigh_byte, BytesPerInt * 2, Rdef_offset_addr);
+
+ // Check for default case (=index outside [low,high]).
+ __ cmpw(CCR0, R17_tos, Rlow_byte);
+ __ cmpw(CCR1, R17_tos, Rhigh_byte);
+ __ blt(CCR0, Ldefault_case);
+ __ bgt(CCR1, Ldefault_case);
+
+ // Lookup dispatch offset.
+ __ sub(Rindex, R17_tos, Rlow_byte);
+ __ extsw(Rindex, Rindex);
+ __ profile_switch_case(Rindex, Rhigh_byte /* scratch */, Rscratch1, Rscratch2);
+ __ sldi(Rindex, Rindex, LogBytesPerInt);
+ __ addi(Rindex, Rindex, 3 * BytesPerInt);
+ __ lwax(Roffset, Rdef_offset_addr, Rindex);
+ __ b(Ldispatch);
+
+ __ bind(Ldefault_case);
+ __ profile_switch_default(Rhigh_byte, Rscratch1);
+ __ lwa(Roffset, 0, Rdef_offset_addr);
+
+ __ bind(Ldispatch);
+
+ __ add(R14_bcp, Roffset, R14_bcp);
+ __ dispatch_next(vtos);
+}
+
+void TemplateTable::lookupswitch() {
+ transition(itos, itos);
+ __ stop("lookupswitch bytecode should have been rewritten");
+}
+
+// Table switch using linear search through cases.
+// Bytecode stream format:
+// Bytecode (1) | 4-byte padding | default offset (4) | count (4) | value/offset pair1 (8) | value/offset pair2 (8) | ...
+// Note: Everything is big-endian format here. So on little endian machines, we have to revers offset and count and cmp value.
+void TemplateTable::fast_linearswitch() {
+ transition(itos, vtos);
+
+ Label Lloop_entry, Lsearch_loop, Lfound, Lcontinue_execution, Ldefault_case;
+
+ Register Rcount = R3_ARG1,
+ Rcurrent_pair = R4_ARG2,
+ Rdef_offset_addr = R5_ARG3, // Is going to contain address of default offset.
+ Roffset = R31, // Might need to survive C call.
+ Rvalue = R12_scratch2,
+ Rscratch = R11_scratch1,
+ Rcmp_value = R17_tos;
+
+ // Align bcp.
+ __ addi(Rdef_offset_addr, R14_bcp, BytesPerInt);
+ __ clrrdi(Rdef_offset_addr, Rdef_offset_addr, log2_long((jlong)BytesPerInt));
+
+ // Setup loop counter and limit.
+ __ lwz(Rcount, BytesPerInt, Rdef_offset_addr); // Load count.
+ __ addi(Rcurrent_pair, Rdef_offset_addr, 2 * BytesPerInt); // Rcurrent_pair now points to first pair.
+
+ // Set up search loop.
+ __ cmpwi(CCR0, Rcount, 0);
+ __ beq(CCR0, Ldefault_case);
+
+ __ mtctr(Rcount);
+
+ // linear table search
+ __ bind(Lsearch_loop);
+
+ __ lwz(Rvalue, 0, Rcurrent_pair);
+ __ lwa(Roffset, 1 * BytesPerInt, Rcurrent_pair);
+
+ __ cmpw(CCR0, Rvalue, Rcmp_value);
+ __ beq(CCR0, Lfound);
+
+ __ addi(Rcurrent_pair, Rcurrent_pair, 2 * BytesPerInt);
+ __ bdnz(Lsearch_loop);
+
+ // default case
+ __ bind(Ldefault_case);
+
+ __ lwa(Roffset, 0, Rdef_offset_addr);
+ if (ProfileInterpreter) {
+ __ profile_switch_default(Rdef_offset_addr, Rcount/* scratch */);
+ __ b(Lcontinue_execution);
+ }
+
+ // Entry found, skip Roffset bytecodes and continue.
+ __ bind(Lfound);
+ if (ProfileInterpreter) {
+ // Calc the num of the pair we hit. Careful, Rcurrent_pair points 2 ints
+ // beyond the actual current pair due to the auto update load above!
+ __ sub(Rcurrent_pair, Rcurrent_pair, Rdef_offset_addr);
+ __ addi(Rcurrent_pair, Rcurrent_pair, - 2 * BytesPerInt);
+ __ srdi(Rcurrent_pair, Rcurrent_pair, LogBytesPerInt + 1);
+ __ profile_switch_case(Rcurrent_pair, Rcount /*scratch*/, Rdef_offset_addr/*scratch*/, Rscratch);
+ __ bind(Lcontinue_execution);
+ }
+ __ add(R14_bcp, Roffset, R14_bcp);
+ __ dispatch_next(vtos);
+}
+
+// Table switch using binary search (value/offset pairs are ordered).
+// Bytecode stream format:
+// Bytecode (1) | 4-byte padding | default offset (4) | count (4) | value/offset pair1 (8) | value/offset pair2 (8) | ...
+// Note: Everything is big-endian format here. So on little endian machines, we have to revers offset and count and cmp value.
+void TemplateTable::fast_binaryswitch() {
+
+ transition(itos, vtos);
+ // Implementation using the following core algorithm: (copied from Intel)
+ //
+ // int binary_search(int key, LookupswitchPair* array, int n) {
+ // // Binary search according to "Methodik des Programmierens" by
+ // // Edsger W. Dijkstra and W.H.J. Feijen, Addison Wesley Germany 1985.
+ // int i = 0;
+ // int j = n;
+ // while (i+1 < j) {
+ // // invariant P: 0 <= i < j <= n and (a[i] <= key < a[j] or Q)
+ // // with Q: for all i: 0 <= i < n: key < a[i]
+ // // where a stands for the array and assuming that the (inexisting)
+ // // element a[n] is infinitely big.
+ // int h = (i + j) >> 1;
+ // // i < h < j
+ // if (key < array[h].fast_match()) {
+ // j = h;
+ // } else {
+ // i = h;
+ // }
+ // }
+ // // R: a[i] <= key < a[i+1] or Q
+ // // (i.e., if key is within array, i is the correct index)
+ // return i;
+ // }
+
+ // register allocation
+ const Register Rkey = R17_tos; // already set (tosca)
+ const Register Rarray = R3_ARG1;
+ const Register Ri = R4_ARG2;
+ const Register Rj = R5_ARG3;
+ const Register Rh = R6_ARG4;
+ const Register Rscratch = R11_scratch1;
+
+ const int log_entry_size = 3;
+ const int entry_size = 1 << log_entry_size;
+
+ Label found;
+
+ // Find Array start,
+ __ addi(Rarray, R14_bcp, 3 * BytesPerInt);
+ __ clrrdi(Rarray, Rarray, log2_long((jlong)BytesPerInt));
+
+ // initialize i & j
+ __ li(Ri,0);
+ __ lwz(Rj, -BytesPerInt, Rarray);
+
+ // and start.
+ Label entry;
+ __ b(entry);
+
+ // binary search loop
+ { Label loop;
+ __ bind(loop);
+ // int h = (i + j) >> 1;
+ __ srdi(Rh, Rh, 1);
+ // if (key < array[h].fast_match()) {
+ // j = h;
+ // } else {
+ // i = h;
+ // }
+ __ sldi(Rscratch, Rh, log_entry_size);
+ __ lwzx(Rscratch, Rscratch, Rarray);
+
+ // if (key < current value)
+ // Rh = Rj
+ // else
+ // Rh = Ri
+ Label Lgreater;
+ __ cmpw(CCR0, Rkey, Rscratch);
+ __ bge(CCR0, Lgreater);
+ __ mr(Rj, Rh);
+ __ b(entry);
+ __ bind(Lgreater);
+ __ mr(Ri, Rh);
+
+ // while (i+1 < j)
+ __ bind(entry);
+ __ addi(Rscratch, Ri, 1);
+ __ cmpw(CCR0, Rscratch, Rj);
+ __ add(Rh, Ri, Rj); // start h = i + j >> 1;
+
+ __ blt(CCR0, loop);
+ }
+
+ // End of binary search, result index is i (must check again!).
+ Label default_case;
+ Label continue_execution;
+ if (ProfileInterpreter) {
+ __ mr(Rh, Ri); // Save index in i for profiling.
+ }
+ // Ri = value offset
+ __ sldi(Ri, Ri, log_entry_size);
+ __ add(Ri, Ri, Rarray);
+ __ lwz(Rscratch, 0, Ri);
+
+ Label not_found;
+ // Ri = offset offset
+ __ cmpw(CCR0, Rkey, Rscratch);
+ __ beq(CCR0, not_found);
+ // entry not found -> j = default offset
+ __ lwz(Rj, -2 * BytesPerInt, Rarray);
+ __ b(default_case);
+
+ __ bind(not_found);
+ // entry found -> j = offset
+ __ profile_switch_case(Rh, Rj, Rscratch, Rkey);
+ __ lwz(Rj, BytesPerInt, Ri);
+
+ if (ProfileInterpreter) {
+ __ b(continue_execution);
+ }
+
+ __ bind(default_case); // fall through (if not profiling)
+ __ profile_switch_default(Ri, Rscratch);
+
+ __ bind(continue_execution);
+
+ __ extsw(Rj, Rj);
+ __ add(R14_bcp, Rj, R14_bcp);
+ __ dispatch_next(vtos);
+}
+
+void TemplateTable::_return(TosState state) {
+ transition(state, state);
+ assert(_desc->calls_vm(),
+ "inconsistent calls_vm information"); // call in remove_activation
+
+ if (_desc->bytecode() == Bytecodes::_return_register_finalizer) {
+
+ Register Rscratch = R11_scratch1,
+ Rklass = R12_scratch2,
+ Rklass_flags = Rklass;
+ Label Lskip_register_finalizer;
+
+ // Check if the method has the FINALIZER flag set and call into the VM to finalize in this case.
+ assert(state == vtos, "only valid state");
+ __ ld(R17_tos, 0, R18_locals);
+
+ // Load klass of this obj.
+ __ load_klass(Rklass, R17_tos);
+ __ lwz(Rklass_flags, in_bytes(Klass::access_flags_offset()), Rklass);
+ __ testbitdi(CCR0, R0, Rklass_flags, exact_log2(JVM_ACC_HAS_FINALIZER));
+ __ bfalse(CCR0, Lskip_register_finalizer);
+
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::register_finalizer), R17_tos /* obj */);
+
+ __ align(32, 12);
+ __ bind(Lskip_register_finalizer);
+ }
+
+ // Move the result value into the correct register and remove memory stack frame.
+ __ remove_activation(state, /* throw_monitor_exception */ true);
+ // Restoration of lr done by remove_activation.
+ switch (state) {
+ case ltos:
+ case btos:
+ case ctos:
+ case stos:
+ case atos:
+ case itos: __ mr(R3_RET, R17_tos); break;
+ case ftos:
+ case dtos: __ fmr(F1_RET, F15_ftos); break;
+ case vtos: // This might be a constructor. Final fields (and volatile fields on PPC64) need
+ // to get visible before the reference to the object gets stored anywhere.
+ __ membar(Assembler::StoreStore); break;
+ default : ShouldNotReachHere();
+ }
+ __ blr();
+}
+
+// ============================================================================
+// Constant pool cache access
+//
+// Memory ordering:
+//
+// Like done in C++ interpreter, we load the fields
+// - _indices
+// - _f12_oop
+// acquired, because these are asked if the cache is already resolved. We don't
+// want to float loads above this check.
+// See also comments in ConstantPoolCacheEntry::bytecode_1(),
+// ConstantPoolCacheEntry::bytecode_2() and ConstantPoolCacheEntry::f1();
+
+// Call into the VM if call site is not yet resolved
+//
+// Input regs:
+// - None, all passed regs are outputs.
+//
+// Returns:
+// - Rcache: The const pool cache entry that contains the resolved result.
+// - Rresult: Either noreg or output for f1/f2.
+//
+// Kills:
+// - Rscratch
+void TemplateTable::resolve_cache_and_index(int byte_no, Register Rcache, Register Rscratch, size_t index_size) {
+
+ __ get_cache_and_index_at_bcp(Rcache, 1, index_size);
+ Label Lresolved, Ldone;
+
+ assert(byte_no == f1_byte || byte_no == f2_byte, "byte_no out of range");
+ // We are resolved if the indices offset contains the current bytecode.
+ // Big Endian:
+ __ lbz(Rscratch, in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::indices_offset()) + 7 - (byte_no + 1), Rcache);
+ // Acquire by cmp-br-isync (see below).
+ __ cmpdi(CCR0, Rscratch, (int)bytecode());
+ __ beq(CCR0, Lresolved);
+
+ address entry = NULL;
+ switch (bytecode()) {
+ case Bytecodes::_getstatic : // fall through
+ case Bytecodes::_putstatic : // fall through
+ case Bytecodes::_getfield : // fall through
+ case Bytecodes::_putfield : entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_get_put); break;
+ case Bytecodes::_invokevirtual : // fall through
+ case Bytecodes::_invokespecial : // fall through
+ case Bytecodes::_invokestatic : // fall through
+ case Bytecodes::_invokeinterface: entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_invoke); break;
+ case Bytecodes::_invokehandle : entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_invokehandle); break;
+ case Bytecodes::_invokedynamic : entry = CAST_FROM_FN_PTR(address, InterpreterRuntime::resolve_invokedynamic); break;
+ default : ShouldNotReachHere(); break;
+ }
+ __ li(R4_ARG2, (int)bytecode());
+ __ call_VM(noreg, entry, R4_ARG2, true);
+
+ // Update registers with resolved info.
+ __ get_cache_and_index_at_bcp(Rcache, 1, index_size);
+ __ b(Ldone);
+
+ __ bind(Lresolved);
+ __ isync(); // Order load wrt. succeeding loads.
+ __ bind(Ldone);
+}
+
+// Load the constant pool cache entry at field accesses into registers.
+// The Rcache and Rindex registers must be set before call.
+// Input:
+// - Rcache, Rindex
+// Output:
+// - Robj, Roffset, Rflags
+void TemplateTable::load_field_cp_cache_entry(Register Robj,
+ Register Rcache,
+ Register Rindex /* unused on PPC64 */,
+ Register Roffset,
+ Register Rflags,
+ bool is_static = false) {
+ assert_different_registers(Rcache, Rflags, Roffset);
+ // assert(Rindex == noreg, "parameter not used on PPC64");
+
+ ByteSize cp_base_offset = ConstantPoolCache::base_offset();
+ __ ld(Rflags, in_bytes(cp_base_offset) + in_bytes(ConstantPoolCacheEntry::flags_offset()), Rcache);
+ __ ld(Roffset, in_bytes(cp_base_offset) + in_bytes(ConstantPoolCacheEntry::f2_offset()), Rcache);
+ if (is_static) {
+ __ ld(Robj, in_bytes(cp_base_offset) + in_bytes(ConstantPoolCacheEntry::f1_offset()), Rcache);
+ __ ld(Robj, in_bytes(Klass::java_mirror_offset()), Robj);
+ // Acquire not needed here. Following access has an address dependency on this value.
+ }
+}
+
+// Load the constant pool cache entry at invokes into registers.
+// Resolve if necessary.
+
+// Input Registers:
+// - None, bcp is used, though
+//
+// Return registers:
+// - Rmethod (f1 field or f2 if invokevirtual)
+// - Ritable_index (f2 field)
+// - Rflags (flags field)
+//
+// Kills:
+// - R21
+//
+void TemplateTable::load_invoke_cp_cache_entry(int byte_no,
+ Register Rmethod,
+ Register Ritable_index,
+ Register Rflags,
+ bool is_invokevirtual,
+ bool is_invokevfinal,
+ bool is_invokedynamic) {
+
+ ByteSize cp_base_offset = ConstantPoolCache::base_offset();
+ // Determine constant pool cache field offsets.
+ assert(is_invokevirtual == (byte_no == f2_byte), "is_invokevirtual flag redundant");
+ const int method_offset = in_bytes(cp_base_offset + (is_invokevirtual ? ConstantPoolCacheEntry::f2_offset() : ConstantPoolCacheEntry::f1_offset()));
+ const int flags_offset = in_bytes(cp_base_offset + ConstantPoolCacheEntry::flags_offset());
+ // Access constant pool cache fields.
+ const int index_offset = in_bytes(cp_base_offset + ConstantPoolCacheEntry::f2_offset());
+
+ Register Rcache = R21_tmp1; // Note: same register as R21_sender_SP.
+
+ if (is_invokevfinal) {
+ assert(Ritable_index == noreg, "register not used");
+ // Already resolved.
+ __ get_cache_and_index_at_bcp(Rcache, 1);
+ } else {
+ resolve_cache_and_index(byte_no, Rcache, R0, is_invokedynamic ? sizeof(u4) : sizeof(u2));
+ }
+
+ __ ld(Rmethod, method_offset, Rcache);
+ __ ld(Rflags, flags_offset, Rcache);
+
+ if (Ritable_index != noreg) {
+ __ ld(Ritable_index, index_offset, Rcache);
+ }
+}
+
+// ============================================================================
+// Field access
+
+// Volatile variables demand their effects be made known to all CPU's
+// in order. Store buffers on most chips allow reads & writes to
+// reorder; the JMM's ReadAfterWrite.java test fails in -Xint mode
+// without some kind of memory barrier (i.e., it's not sufficient that
+// the interpreter does not reorder volatile references, the hardware
+// also must not reorder them).
+//
+// According to the new Java Memory Model (JMM):
+// (1) All volatiles are serialized wrt to each other. ALSO reads &
+// writes act as aquire & release, so:
+// (2) A read cannot let unrelated NON-volatile memory refs that
+// happen after the read float up to before the read. It's OK for
+// non-volatile memory refs that happen before the volatile read to
+// float down below it.
+// (3) Similar a volatile write cannot let unrelated NON-volatile
+// memory refs that happen BEFORE the write float down to after the
+// write. It's OK for non-volatile memory refs that happen after the
+// volatile write to float up before it.
+//
+// We only put in barriers around volatile refs (they are expensive),
+// not _between_ memory refs (that would require us to track the
+// flavor of the previous memory refs). Requirements (2) and (3)
+// require some barriers before volatile stores and after volatile
+// loads. These nearly cover requirement (1) but miss the
+// volatile-store-volatile-load case. This final case is placed after
+// volatile-stores although it could just as well go before
+// volatile-loads.
+
+// The registers cache and index expected to be set before call.
+// Correct values of the cache and index registers are preserved.
+// Kills:
+// Rcache (if has_tos)
+// Rscratch
+void TemplateTable::jvmti_post_field_access(Register Rcache, Register Rscratch, bool is_static, bool has_tos) {
+
+ assert_different_registers(Rcache, Rscratch);
+
+ if (JvmtiExport::can_post_field_access()) {
+ ByteSize cp_base_offset = ConstantPoolCache::base_offset();
+ Label Lno_field_access_post;
+
+ // Check if post field access in enabled.
+ int offs = __ load_const_optimized(Rscratch, JvmtiExport::get_field_access_count_addr(), R0, true);
+ __ lwz(Rscratch, offs, Rscratch);
+
+ __ cmpwi(CCR0, Rscratch, 0);
+ __ beq(CCR0, Lno_field_access_post);
+
+ // Post access enabled - do it!
+ __ addi(Rcache, Rcache, in_bytes(cp_base_offset));
+ if (is_static) {
+ __ li(R17_tos, 0);
+ } else {
+ if (has_tos) {
+ // The fast bytecode versions have obj ptr in register.
+ // Thus, save object pointer before call_VM() clobbers it
+ // put object on tos where GC wants it.
+ __ push_ptr(R17_tos);
+ } else {
+ // Load top of stack (do not pop the value off the stack).
+ __ ld(R17_tos, Interpreter::expr_offset_in_bytes(0), R15_esp);
+ }
+ __ verify_oop(R17_tos);
+ }
+ // tos: object pointer or NULL if static
+ // cache: cache entry pointer
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_access), R17_tos, Rcache);
+ if (!is_static && has_tos) {
+ // Restore object pointer.
+ __ pop_ptr(R17_tos);
+ __ verify_oop(R17_tos);
+ } else {
+ // Cache is still needed to get class or obj.
+ __ get_cache_and_index_at_bcp(Rcache, 1);
+ }
+
+ __ align(32, 12);
+ __ bind(Lno_field_access_post);
+ }
+}
+
+// kills R11_scratch1
+void TemplateTable::pop_and_check_object(Register Roop) {
+ Register Rtmp = R11_scratch1;
+
+ assert_different_registers(Rtmp, Roop);
+ __ pop_ptr(Roop);
+ // For field access must check obj.
+ __ null_check_throw(Roop, -1, Rtmp);
+ __ verify_oop(Roop);
+}
+
+// PPC64: implement volatile loads as fence-store-acquire.
+void TemplateTable::getfield_or_static(int byte_no, bool is_static) {
+ transition(vtos, vtos);
+
+ Label Lacquire, Lisync;
+
+ const Register Rcache = R3_ARG1,
+ Rclass_or_obj = R22_tmp2,
+ Roffset = R23_tmp3,
+ Rflags = R31,
+ Rbtable = R5_ARG3,
+ Rbc = R6_ARG4,
+ Rscratch = R12_scratch2;
+
+ static address field_branch_table[number_of_states],
+ static_branch_table[number_of_states];
+
+ address* branch_table = is_static ? static_branch_table : field_branch_table;
+
+ // Get field offset.
+ resolve_cache_and_index(byte_no, Rcache, Rscratch, sizeof(u2));
+
+ // JVMTI support
+ jvmti_post_field_access(Rcache, Rscratch, is_static, false);
+
+ // Load after possible GC.
+ load_field_cp_cache_entry(Rclass_or_obj, Rcache, noreg, Roffset, Rflags, is_static);
+
+ // Load pointer to branch table.
+ __ load_const_optimized(Rbtable, (address)branch_table, Rscratch);
+
+ // Get volatile flag.
+ __ rldicl(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit.
+ // Note: sync is needed before volatile load on PPC64.
+
+ // Check field type.
+ __ rldicl(Rflags, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits);
+
+#ifdef ASSERT
+ Label LFlagInvalid;
+ __ cmpldi(CCR0, Rflags, number_of_states);
+ __ bge(CCR0, LFlagInvalid);
+#endif
+
+ // Load from branch table and dispatch (volatile case: one instruction ahead).
+ __ sldi(Rflags, Rflags, LogBytesPerWord);
+ __ cmpwi(CCR6, Rscratch, 1); // Volatile?
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ sldi(Rscratch, Rscratch, exact_log2(BytesPerInstWord)); // Volatile ? size of 1 instruction : 0.
+ }
+ __ ldx(Rbtable, Rbtable, Rflags);
+
+ // Get the obj from stack.
+ if (!is_static) {
+ pop_and_check_object(Rclass_or_obj); // Kills R11_scratch1.
+ } else {
+ __ verify_oop(Rclass_or_obj);
+ }
+
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ subf(Rbtable, Rscratch, Rbtable); // Point to volatile/non-volatile entry point.
+ }
+ __ mtctr(Rbtable);
+ __ bctr();
+
+#ifdef ASSERT
+ __ bind(LFlagInvalid);
+ __ stop("got invalid flag", 0x654);
+
+ // __ bind(Lvtos);
+ address pc_before_fence = __ pc();
+ __ fence(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(__ pc() - pc_before_fence == (ptrdiff_t)BytesPerInstWord, "must be single instruction");
+ assert(branch_table[vtos] == 0, "can't compute twice");
+ branch_table[vtos] = __ pc(); // non-volatile_entry point
+ __ stop("vtos unexpected", 0x655);
+#endif
+
+ __ align(32, 28, 28); // Align load.
+ // __ bind(Ldtos);
+ __ fence(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[dtos] == 0, "can't compute twice");
+ branch_table[dtos] = __ pc(); // non-volatile_entry point
+ __ lfdx(F15_ftos, Rclass_or_obj, Roffset);
+ __ push(dtos);
+ if (!is_static) patch_bytecode(Bytecodes::_fast_dgetfield, Rbc, Rscratch);
+ {
+ Label acquire_double;
+ __ beq(CCR6, acquire_double); // Volatile?
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ bind(acquire_double);
+ __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync.
+ __ beq_predict_taken(CCR0, Lisync);
+ __ b(Lisync); // In case of NAN.
+ }
+
+ __ align(32, 28, 28); // Align load.
+ // __ bind(Lftos);
+ __ fence(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[ftos] == 0, "can't compute twice");
+ branch_table[ftos] = __ pc(); // non-volatile_entry point
+ __ lfsx(F15_ftos, Rclass_or_obj, Roffset);
+ __ push(ftos);
+ if (!is_static) { patch_bytecode(Bytecodes::_fast_fgetfield, Rbc, Rscratch); }
+ {
+ Label acquire_float;
+ __ beq(CCR6, acquire_float); // Volatile?
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ bind(acquire_float);
+ __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync.
+ __ beq_predict_taken(CCR0, Lisync);
+ __ b(Lisync); // In case of NAN.
+ }
+
+ __ align(32, 28, 28); // Align load.
+ // __ bind(Litos);
+ __ fence(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[itos] == 0, "can't compute twice");
+ branch_table[itos] = __ pc(); // non-volatile_entry point
+ __ lwax(R17_tos, Rclass_or_obj, Roffset);
+ __ push(itos);
+ if (!is_static) patch_bytecode(Bytecodes::_fast_igetfield, Rbc, Rscratch);
+ __ beq(CCR6, Lacquire); // Volatile?
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align load.
+ // __ bind(Lltos);
+ __ fence(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[ltos] == 0, "can't compute twice");
+ branch_table[ltos] = __ pc(); // non-volatile_entry point
+ __ ldx(R17_tos, Rclass_or_obj, Roffset);
+ __ push(ltos);
+ if (!is_static) patch_bytecode(Bytecodes::_fast_lgetfield, Rbc, Rscratch);
+ __ beq(CCR6, Lacquire); // Volatile?
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align load.
+ // __ bind(Lbtos);
+ __ fence(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[btos] == 0, "can't compute twice");
+ branch_table[btos] = __ pc(); // non-volatile_entry point
+ __ lbzx(R17_tos, Rclass_or_obj, Roffset);
+ __ extsb(R17_tos, R17_tos);
+ __ push(btos);
+ if (!is_static) patch_bytecode(Bytecodes::_fast_bgetfield, Rbc, Rscratch);
+ __ beq(CCR6, Lacquire); // Volatile?
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align load.
+ // __ bind(Lctos);
+ __ fence(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[ctos] == 0, "can't compute twice");
+ branch_table[ctos] = __ pc(); // non-volatile_entry point
+ __ lhzx(R17_tos, Rclass_or_obj, Roffset);
+ __ push(ctos);
+ if (!is_static) patch_bytecode(Bytecodes::_fast_cgetfield, Rbc, Rscratch);
+ __ beq(CCR6, Lacquire); // Volatile?
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align load.
+ // __ bind(Lstos);
+ __ fence(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[stos] == 0, "can't compute twice");
+ branch_table[stos] = __ pc(); // non-volatile_entry point
+ __ lhax(R17_tos, Rclass_or_obj, Roffset);
+ __ push(stos);
+ if (!is_static) patch_bytecode(Bytecodes::_fast_sgetfield, Rbc, Rscratch);
+ __ beq(CCR6, Lacquire); // Volatile?
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align load.
+ // __ bind(Latos);
+ __ fence(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[atos] == 0, "can't compute twice");
+ branch_table[atos] = __ pc(); // non-volatile_entry point
+ __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj);
+ __ verify_oop(R17_tos);
+ __ push(atos);
+ //__ dcbt(R17_tos); // prefetch
+ if (!is_static) patch_bytecode(Bytecodes::_fast_agetfield, Rbc, Rscratch);
+ __ beq(CCR6, Lacquire); // Volatile?
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 12);
+ __ bind(Lacquire);
+ __ twi_0(R17_tos);
+ __ bind(Lisync);
+ __ isync(); // acquire
+
+#ifdef ASSERT
+ for (int i = 0; i<number_of_states; ++i) {
+ assert(branch_table[i], "get initialization");
+ //tty->print_cr("get: %s_branch_table[%d] = 0x%llx (opcode 0x%llx)",
+ // is_static ? "static" : "field", i, branch_table[i], *((unsigned int*)branch_table[i]));
+ }
+#endif
+}
+
+void TemplateTable::getfield(int byte_no) {
+ getfield_or_static(byte_no, false);
+}
+
+void TemplateTable::getstatic(int byte_no) {
+ getfield_or_static(byte_no, true);
+}
+
+// The registers cache and index expected to be set before call.
+// The function may destroy various registers, just not the cache and index registers.
+void TemplateTable::jvmti_post_field_mod(Register Rcache, Register Rscratch, bool is_static) {
+
+ assert_different_registers(Rcache, Rscratch, R6_ARG4);
+
+ if (JvmtiExport::can_post_field_modification()) {
+ Label Lno_field_mod_post;
+
+ // Check if post field access in enabled.
+ int offs = __ load_const_optimized(Rscratch, JvmtiExport::get_field_modification_count_addr(), R0, true);
+ __ lwz(Rscratch, offs, Rscratch);
+
+ __ cmpwi(CCR0, Rscratch, 0);
+ __ beq(CCR0, Lno_field_mod_post);
+
+ // Do the post
+ ByteSize cp_base_offset = ConstantPoolCache::base_offset();
+ const Register Robj = Rscratch;
+
+ __ addi(Rcache, Rcache, in_bytes(cp_base_offset));
+ if (is_static) {
+ // Life is simple. Null out the object pointer.
+ __ li(Robj, 0);
+ } else {
+ // In case of the fast versions, value lives in registers => put it back on tos.
+ int offs = Interpreter::expr_offset_in_bytes(0);
+ Register base = R15_esp;
+ switch(bytecode()) {
+ case Bytecodes::_fast_aputfield: __ push_ptr(); offs+= Interpreter::stackElementSize; break;
+ case Bytecodes::_fast_iputfield: // Fall through
+ case Bytecodes::_fast_bputfield: // Fall through
+ case Bytecodes::_fast_cputfield: // Fall through
+ case Bytecodes::_fast_sputfield: __ push_i(); offs+= Interpreter::stackElementSize; break;
+ case Bytecodes::_fast_lputfield: __ push_l(); offs+=2*Interpreter::stackElementSize; break;
+ case Bytecodes::_fast_fputfield: __ push_f(); offs+= Interpreter::stackElementSize; break;
+ case Bytecodes::_fast_dputfield: __ push_d(); offs+=2*Interpreter::stackElementSize; break;
+ default: {
+ offs = 0;
+ base = Robj;
+ const Register Rflags = Robj;
+ Label is_one_slot;
+ // Life is harder. The stack holds the value on top, followed by the
+ // object. We don't know the size of the value, though; it could be
+ // one or two words depending on its type. As a result, we must find
+ // the type to determine where the object is.
+ __ ld(Rflags, in_bytes(ConstantPoolCacheEntry::flags_offset()), Rcache); // Big Endian
+ __ rldicl(Rflags, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits);
+
+ __ cmpwi(CCR0, Rflags, ltos);
+ __ cmpwi(CCR1, Rflags, dtos);
+ __ addi(base, R15_esp, Interpreter::expr_offset_in_bytes(1));
+ __ crnor(/*CR0 eq*/2, /*CR1 eq*/4+2, /*CR0 eq*/2);
+ __ beq(CCR0, is_one_slot);
+ __ addi(base, R15_esp, Interpreter::expr_offset_in_bytes(2));
+ __ bind(is_one_slot);
+ break;
+ }
+ }
+ __ ld(Robj, offs, base);
+ __ verify_oop(Robj);
+ }
+
+ __ addi(R6_ARG4, R15_esp, Interpreter::expr_offset_in_bytes(0));
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::post_field_modification), Robj, Rcache, R6_ARG4);
+ __ get_cache_and_index_at_bcp(Rcache, 1);
+
+ // In case of the fast versions, value lives in registers => put it back on tos.
+ switch(bytecode()) {
+ case Bytecodes::_fast_aputfield: __ pop_ptr(); break;
+ case Bytecodes::_fast_iputfield: // Fall through
+ case Bytecodes::_fast_bputfield: // Fall through
+ case Bytecodes::_fast_cputfield: // Fall through
+ case Bytecodes::_fast_sputfield: __ pop_i(); break;
+ case Bytecodes::_fast_lputfield: __ pop_l(); break;
+ case Bytecodes::_fast_fputfield: __ pop_f(); break;
+ case Bytecodes::_fast_dputfield: __ pop_d(); break;
+ default: break; // Nothin' to do.
+ }
+
+ __ align(32, 12);
+ __ bind(Lno_field_mod_post);
+ }
+}
+
+// PPC64: implement volatile stores as release-store (return bytecode contains an additional release).
+void TemplateTable::putfield_or_static(int byte_no, bool is_static) {
+ Label Lvolatile;
+
+ const Register Rcache = R5_ARG3, // Do not use ARG1/2 (causes trouble in jvmti_post_field_mod).
+ Rclass_or_obj = R31, // Needs to survive C call.
+ Roffset = R22_tmp2, // Needs to survive C call.
+ Rflags = R3_ARG1,
+ Rbtable = R4_ARG2,
+ Rscratch = R11_scratch1,
+ Rscratch2 = R12_scratch2,
+ Rscratch3 = R6_ARG4,
+ Rbc = Rscratch3;
+ const ConditionRegister CR_is_vol = CCR2; // Non-volatile condition register (survives runtime call in do_oop_store).
+
+ static address field_branch_table[number_of_states],
+ static_branch_table[number_of_states];
+
+ address* branch_table = is_static ? static_branch_table : field_branch_table;
+
+ // Stack (grows up):
+ // value
+ // obj
+
+ // Load the field offset.
+ resolve_cache_and_index(byte_no, Rcache, Rscratch, sizeof(u2));
+ jvmti_post_field_mod(Rcache, Rscratch, is_static);
+ load_field_cp_cache_entry(Rclass_or_obj, Rcache, noreg, Roffset, Rflags, is_static);
+
+ // Load pointer to branch table.
+ __ load_const_optimized(Rbtable, (address)branch_table, Rscratch);
+
+ // Get volatile flag.
+ __ rldicl(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit.
+
+ // Check the field type.
+ __ rldicl(Rflags, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits);
+
+#ifdef ASSERT
+ Label LFlagInvalid;
+ __ cmpldi(CCR0, Rflags, number_of_states);
+ __ bge(CCR0, LFlagInvalid);
+#endif
+
+ // Load from branch table and dispatch (volatile case: one instruction ahead).
+ __ sldi(Rflags, Rflags, LogBytesPerWord);
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { __ cmpwi(CR_is_vol, Rscratch, 1); } // Volatile?
+ __ sldi(Rscratch, Rscratch, exact_log2(BytesPerInstWord)); // Volatile? size of instruction 1 : 0.
+ __ ldx(Rbtable, Rbtable, Rflags);
+
+ __ subf(Rbtable, Rscratch, Rbtable); // Point to volatile/non-volatile entry point.
+ __ mtctr(Rbtable);
+ __ bctr();
+
+#ifdef ASSERT
+ __ bind(LFlagInvalid);
+ __ stop("got invalid flag", 0x656);
+
+ // __ bind(Lvtos);
+ address pc_before_release = __ pc();
+ __ release(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(__ pc() - pc_before_release == (ptrdiff_t)BytesPerInstWord, "must be single instruction");
+ assert(branch_table[vtos] == 0, "can't compute twice");
+ branch_table[vtos] = __ pc(); // non-volatile_entry point
+ __ stop("vtos unexpected", 0x657);
+#endif
+
+ __ align(32, 28, 28); // Align pop.
+ // __ bind(Ldtos);
+ __ release(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[dtos] == 0, "can't compute twice");
+ branch_table[dtos] = __ pc(); // non-volatile_entry point
+ __ pop(dtos);
+ if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1.
+ __ stfdx(F15_ftos, Rclass_or_obj, Roffset);
+ if (!is_static) { patch_bytecode(Bytecodes::_fast_dputfield, Rbc, Rscratch, true, byte_no); }
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ beq(CR_is_vol, Lvolatile); // Volatile?
+ }
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align pop.
+ // __ bind(Lftos);
+ __ release(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[ftos] == 0, "can't compute twice");
+ branch_table[ftos] = __ pc(); // non-volatile_entry point
+ __ pop(ftos);
+ if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1.
+ __ stfsx(F15_ftos, Rclass_or_obj, Roffset);
+ if (!is_static) { patch_bytecode(Bytecodes::_fast_fputfield, Rbc, Rscratch, true, byte_no); }
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ beq(CR_is_vol, Lvolatile); // Volatile?
+ }
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align pop.
+ // __ bind(Litos);
+ __ release(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[itos] == 0, "can't compute twice");
+ branch_table[itos] = __ pc(); // non-volatile_entry point
+ __ pop(itos);
+ if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1.
+ __ stwx(R17_tos, Rclass_or_obj, Roffset);
+ if (!is_static) { patch_bytecode(Bytecodes::_fast_iputfield, Rbc, Rscratch, true, byte_no); }
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ beq(CR_is_vol, Lvolatile); // Volatile?
+ }
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align pop.
+ // __ bind(Lltos);
+ __ release(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[ltos] == 0, "can't compute twice");
+ branch_table[ltos] = __ pc(); // non-volatile_entry point
+ __ pop(ltos);
+ if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1.
+ __ stdx(R17_tos, Rclass_or_obj, Roffset);
+ if (!is_static) { patch_bytecode(Bytecodes::_fast_lputfield, Rbc, Rscratch, true, byte_no); }
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ beq(CR_is_vol, Lvolatile); // Volatile?
+ }
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align pop.
+ // __ bind(Lbtos);
+ __ release(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[btos] == 0, "can't compute twice");
+ branch_table[btos] = __ pc(); // non-volatile_entry point
+ __ pop(btos);
+ if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1.
+ __ stbx(R17_tos, Rclass_or_obj, Roffset);
+ if (!is_static) { patch_bytecode(Bytecodes::_fast_bputfield, Rbc, Rscratch, true, byte_no); }
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ beq(CR_is_vol, Lvolatile); // Volatile?
+ }
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align pop.
+ // __ bind(Lctos);
+ __ release(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[ctos] == 0, "can't compute twice");
+ branch_table[ctos] = __ pc(); // non-volatile_entry point
+ __ pop(ctos);
+ if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1..
+ __ sthx(R17_tos, Rclass_or_obj, Roffset);
+ if (!is_static) { patch_bytecode(Bytecodes::_fast_cputfield, Rbc, Rscratch, true, byte_no); }
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ beq(CR_is_vol, Lvolatile); // Volatile?
+ }
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align pop.
+ // __ bind(Lstos);
+ __ release(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[stos] == 0, "can't compute twice");
+ branch_table[stos] = __ pc(); // non-volatile_entry point
+ __ pop(stos);
+ if (!is_static) { pop_and_check_object(Rclass_or_obj); } // Kills R11_scratch1.
+ __ sthx(R17_tos, Rclass_or_obj, Roffset);
+ if (!is_static) { patch_bytecode(Bytecodes::_fast_sputfield, Rbc, Rscratch, true, byte_no); }
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ beq(CR_is_vol, Lvolatile); // Volatile?
+ }
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 28, 28); // Align pop.
+ // __ bind(Latos);
+ __ release(); // Volatile entry point (one instruction before non-volatile_entry point).
+ assert(branch_table[atos] == 0, "can't compute twice");
+ branch_table[atos] = __ pc(); // non-volatile_entry point
+ __ pop(atos);
+ if (!is_static) { pop_and_check_object(Rclass_or_obj); } // kills R11_scratch1
+ do_oop_store(_masm, Rclass_or_obj, Roffset, R17_tos, Rscratch, Rscratch2, Rscratch3, _bs->kind(), false /* precise */, true /* check null */);
+ if (!is_static) { patch_bytecode(Bytecodes::_fast_aputfield, Rbc, Rscratch, true, byte_no); }
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ __ beq(CR_is_vol, Lvolatile); // Volatile?
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 12);
+ __ bind(Lvolatile);
+ __ fence();
+ }
+ // fallthru: __ b(Lexit);
+
+#ifdef ASSERT
+ for (int i = 0; i<number_of_states; ++i) {
+ assert(branch_table[i], "put initialization");
+ //tty->print_cr("put: %s_branch_table[%d] = 0x%llx (opcode 0x%llx)",
+ // is_static ? "static" : "field", i, branch_table[i], *((unsigned int*)branch_table[i]));
+ }
+#endif
+}
+
+void TemplateTable::putfield(int byte_no) {
+ putfield_or_static(byte_no, false);
+}
+
+void TemplateTable::putstatic(int byte_no) {
+ putfield_or_static(byte_no, true);
+}
+
+// See SPARC. On PPC64, we have a different jvmti_post_field_mod which does the job.
+void TemplateTable::jvmti_post_fast_field_mod() {
+ __ should_not_reach_here();
+}
+
+void TemplateTable::fast_storefield(TosState state) {
+ transition(state, vtos);
+
+ const Register Rcache = R5_ARG3, // Do not use ARG1/2 (causes trouble in jvmti_post_field_mod).
+ Rclass_or_obj = R31, // Needs to survive C call.
+ Roffset = R22_tmp2, // Needs to survive C call.
+ Rflags = R3_ARG1,
+ Rscratch = R11_scratch1,
+ Rscratch2 = R12_scratch2,
+ Rscratch3 = R4_ARG2;
+ const ConditionRegister CR_is_vol = CCR2; // Non-volatile condition register (survives runtime call in do_oop_store).
+
+ // Constant pool already resolved => Load flags and offset of field.
+ __ get_cache_and_index_at_bcp(Rcache, 1);
+ jvmti_post_field_mod(Rcache, Rscratch, false /* not static */);
+ load_field_cp_cache_entry(noreg, Rcache, noreg, Roffset, Rflags, false);
+
+ // Get the obj and the final store addr.
+ pop_and_check_object(Rclass_or_obj); // Kills R11_scratch1.
+
+ // Get volatile flag.
+ __ rldicl_(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit.
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) { __ cmpdi(CR_is_vol, Rscratch, 1); }
+ {
+ Label LnotVolatile;
+ __ beq(CCR0, LnotVolatile);
+ __ release();
+ __ align(32, 12);
+ __ bind(LnotVolatile);
+ }
+
+ // Do the store and fencing.
+ switch(bytecode()) {
+ case Bytecodes::_fast_aputfield:
+ // Store into the field.
+ do_oop_store(_masm, Rclass_or_obj, Roffset, R17_tos, Rscratch, Rscratch2, Rscratch3, _bs->kind(), false /* precise */, true /* check null */);
+ break;
+
+ case Bytecodes::_fast_iputfield:
+ __ stwx(R17_tos, Rclass_or_obj, Roffset);
+ break;
+
+ case Bytecodes::_fast_lputfield:
+ __ stdx(R17_tos, Rclass_or_obj, Roffset);
+ break;
+
+ case Bytecodes::_fast_bputfield:
+ __ stbx(R17_tos, Rclass_or_obj, Roffset);
+ break;
+
+ case Bytecodes::_fast_cputfield:
+ case Bytecodes::_fast_sputfield:
+ __ sthx(R17_tos, Rclass_or_obj, Roffset);
+ break;
+
+ case Bytecodes::_fast_fputfield:
+ __ stfsx(F15_ftos, Rclass_or_obj, Roffset);
+ break;
+
+ case Bytecodes::_fast_dputfield:
+ __ stfdx(F15_ftos, Rclass_or_obj, Roffset);
+ break;
+
+ default: ShouldNotReachHere();
+ }
+
+ if (!support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ Label LVolatile;
+ __ beq(CR_is_vol, LVolatile);
+ __ dispatch_epilog(vtos, Bytecodes::length_for(bytecode()));
+
+ __ align(32, 12);
+ __ bind(LVolatile);
+ __ fence();
+ }
+}
+
+void TemplateTable::fast_accessfield(TosState state) {
+ transition(atos, state);
+
+ Label LisVolatile;
+ ByteSize cp_base_offset = ConstantPoolCache::base_offset();
+
+ const Register Rcache = R3_ARG1,
+ Rclass_or_obj = R17_tos,
+ Roffset = R22_tmp2,
+ Rflags = R23_tmp3,
+ Rscratch = R12_scratch2;
+
+ // Constant pool already resolved. Get the field offset.
+ __ get_cache_and_index_at_bcp(Rcache, 1);
+ load_field_cp_cache_entry(noreg, Rcache, noreg, Roffset, Rflags, false);
+
+ // JVMTI support
+ jvmti_post_field_access(Rcache, Rscratch, false, true);
+
+ // Get the load address.
+ __ null_check_throw(Rclass_or_obj, -1, Rscratch);
+
+ // Get volatile flag.
+ __ rldicl_(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit.
+ __ bne(CCR0, LisVolatile);
+
+ switch(bytecode()) {
+ case Bytecodes::_fast_agetfield:
+ {
+ __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj);
+ __ verify_oop(R17_tos);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()));
+
+ __ bind(LisVolatile);
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj);
+ __ verify_oop(R17_tos);
+ __ twi_0(R17_tos);
+ __ isync();
+ break;
+ }
+ case Bytecodes::_fast_igetfield:
+ {
+ __ lwax(R17_tos, Rclass_or_obj, Roffset);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()));
+
+ __ bind(LisVolatile);
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ lwax(R17_tos, Rclass_or_obj, Roffset);
+ __ twi_0(R17_tos);
+ __ isync();
+ break;
+ }
+ case Bytecodes::_fast_lgetfield:
+ {
+ __ ldx(R17_tos, Rclass_or_obj, Roffset);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()));
+
+ __ bind(LisVolatile);
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ ldx(R17_tos, Rclass_or_obj, Roffset);
+ __ twi_0(R17_tos);
+ __ isync();
+ break;
+ }
+ case Bytecodes::_fast_bgetfield:
+ {
+ __ lbzx(R17_tos, Rclass_or_obj, Roffset);
+ __ extsb(R17_tos, R17_tos);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()));
+
+ __ bind(LisVolatile);
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ lbzx(R17_tos, Rclass_or_obj, Roffset);
+ __ twi_0(R17_tos);
+ __ extsb(R17_tos, R17_tos);
+ __ isync();
+ break;
+ }
+ case Bytecodes::_fast_cgetfield:
+ {
+ __ lhzx(R17_tos, Rclass_or_obj, Roffset);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()));
+
+ __ bind(LisVolatile);
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ lhzx(R17_tos, Rclass_or_obj, Roffset);
+ __ twi_0(R17_tos);
+ __ isync();
+ break;
+ }
+ case Bytecodes::_fast_sgetfield:
+ {
+ __ lhax(R17_tos, Rclass_or_obj, Roffset);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()));
+
+ __ bind(LisVolatile);
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ lhax(R17_tos, Rclass_or_obj, Roffset);
+ __ twi_0(R17_tos);
+ __ isync();
+ break;
+ }
+ case Bytecodes::_fast_fgetfield:
+ {
+ __ lfsx(F15_ftos, Rclass_or_obj, Roffset);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()));
+
+ __ bind(LisVolatile);
+ Label Ldummy;
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ lfsx(F15_ftos, Rclass_or_obj, Roffset);
+ __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync.
+ __ bne_predict_not_taken(CCR0, Ldummy);
+ __ bind(Ldummy);
+ __ isync();
+ break;
+ }
+ case Bytecodes::_fast_dgetfield:
+ {
+ __ lfdx(F15_ftos, Rclass_or_obj, Roffset);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()));
+
+ __ bind(LisVolatile);
+ Label Ldummy;
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ lfdx(F15_ftos, Rclass_or_obj, Roffset);
+ __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync.
+ __ bne_predict_not_taken(CCR0, Ldummy);
+ __ bind(Ldummy);
+ __ isync();
+ break;
+ }
+ default: ShouldNotReachHere();
+ }
+}
+
+void TemplateTable::fast_xaccess(TosState state) {
+ transition(vtos, state);
+
+ Label LisVolatile;
+ ByteSize cp_base_offset = ConstantPoolCache::base_offset();
+ const Register Rcache = R3_ARG1,
+ Rclass_or_obj = R17_tos,
+ Roffset = R22_tmp2,
+ Rflags = R23_tmp3,
+ Rscratch = R12_scratch2;
+
+ __ ld(Rclass_or_obj, 0, R18_locals);
+
+ // Constant pool already resolved. Get the field offset.
+ __ get_cache_and_index_at_bcp(Rcache, 2);
+ load_field_cp_cache_entry(noreg, Rcache, noreg, Roffset, Rflags, false);
+
+ // JVMTI support not needed, since we switch back to single bytecode as soon as debugger attaches.
+
+ // Needed to report exception at the correct bcp.
+ __ addi(R14_bcp, R14_bcp, 1);
+
+ // Get the load address.
+ __ null_check_throw(Rclass_or_obj, -1, Rscratch);
+
+ // Get volatile flag.
+ __ rldicl_(Rscratch, Rflags, 64-ConstantPoolCacheEntry::is_volatile_shift, 63); // Extract volatile bit.
+ __ bne(CCR0, LisVolatile);
+
+ switch(state) {
+ case atos:
+ {
+ __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj);
+ __ verify_oop(R17_tos);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()) - 1); // Undo bcp increment.
+
+ __ bind(LisVolatile);
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ load_heap_oop(R17_tos, (RegisterOrConstant)Roffset, Rclass_or_obj);
+ __ verify_oop(R17_tos);
+ __ twi_0(R17_tos);
+ __ isync();
+ break;
+ }
+ case itos:
+ {
+ __ lwax(R17_tos, Rclass_or_obj, Roffset);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()) - 1); // Undo bcp increment.
+
+ __ bind(LisVolatile);
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ lwax(R17_tos, Rclass_or_obj, Roffset);
+ __ twi_0(R17_tos);
+ __ isync();
+ break;
+ }
+ case ftos:
+ {
+ __ lfsx(F15_ftos, Rclass_or_obj, Roffset);
+ __ dispatch_epilog(state, Bytecodes::length_for(bytecode()) - 1); // Undo bcp increment.
+
+ __ bind(LisVolatile);
+ Label Ldummy;
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) { __ fence(); }
+ __ lfsx(F15_ftos, Rclass_or_obj, Roffset);
+ __ fcmpu(CCR0, F15_ftos, F15_ftos); // Acquire by cmp-br-isync.
+ __ bne_predict_not_taken(CCR0, Ldummy);
+ __ bind(Ldummy);
+ __ isync();
+ break;
+ }
+ default: ShouldNotReachHere();
+ }
+ __ addi(R14_bcp, R14_bcp, -1);
+}
+
+// ============================================================================
+// Calls
+
+// Common code for invoke
+//
+// Input:
+// - byte_no
+//
+// Output:
+// - Rmethod: The method to invoke next.
+// - Rret_addr: The return address to return to.
+// - Rindex: MethodType (invokehandle) or CallSite obj (invokedynamic)
+// - Rrecv: Cache for "this" pointer, might be noreg if static call.
+// - Rflags: Method flags from const pool cache.
+//
+// Kills:
+// - Rscratch1
+//
+void TemplateTable::prepare_invoke(int byte_no,
+ Register Rmethod, // linked method (or i-klass)
+ Register Rret_addr,// return address
+ Register Rindex, // itable index, MethodType, etc.
+ Register Rrecv, // If caller wants to see it.
+ Register Rflags, // If caller wants to test it.
+ Register Rscratch
+ ) {
+ // Determine flags.
+ const Bytecodes::Code code = bytecode();
+ const bool is_invokeinterface = code == Bytecodes::_invokeinterface;
+ const bool is_invokedynamic = code == Bytecodes::_invokedynamic;
+ const bool is_invokehandle = code == Bytecodes::_invokehandle;
+ const bool is_invokevirtual = code == Bytecodes::_invokevirtual;
+ const bool is_invokespecial = code == Bytecodes::_invokespecial;
+ const bool load_receiver = (Rrecv != noreg);
+ assert(load_receiver == (code != Bytecodes::_invokestatic && code != Bytecodes::_invokedynamic), "");
+
+ assert_different_registers(Rmethod, Rindex, Rflags, Rscratch);
+ assert_different_registers(Rmethod, Rrecv, Rflags, Rscratch);
+ assert_different_registers(Rret_addr, Rscratch);
+
+ load_invoke_cp_cache_entry(byte_no, Rmethod, Rindex, Rflags, is_invokevirtual, false, is_invokedynamic);
+
+ // Saving of SP done in call_from_interpreter.
+
+ // Maybe push "appendix" to arguments.
+ if (is_invokedynamic || is_invokehandle) {
+ Label Ldone;
+ __ rldicl_(R0, Rflags, 64-ConstantPoolCacheEntry::has_appendix_shift, 63);
+ __ beq(CCR0, Ldone);
+ // Push "appendix" (MethodType, CallSite, etc.).
+ // This must be done before we get the receiver,
+ // since the parameter_size includes it.
+ __ load_resolved_reference_at_index(Rscratch, Rindex);
+ __ verify_oop(Rscratch);
+ __ push_ptr(Rscratch);
+ __ bind(Ldone);
+ }
+
+ // Load receiver if needed (after appendix is pushed so parameter size is correct).
+ if (load_receiver) {
+ const Register Rparam_count = Rscratch;
+ __ andi(Rparam_count, Rflags, ConstantPoolCacheEntry::parameter_size_mask);
+ __ load_receiver(Rparam_count, Rrecv);
+ __ verify_oop(Rrecv);
+ }
+
+ // Get return address.
+ {
+ Register Rtable_addr = Rscratch;
+ Register Rret_type = Rret_addr;
+ address table_addr = (address) Interpreter::invoke_return_entry_table_for(code);
+
+ // Get return type. It's coded into the upper 4 bits of the lower half of the 64 bit value.
+ __ rldicl(Rret_type, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits);
+ __ load_dispatch_table(Rtable_addr, (address*)table_addr);
+ __ sldi(Rret_type, Rret_type, LogBytesPerWord);
+ // Get return address.
+ __ ldx(Rret_addr, Rtable_addr, Rret_type);
+ }
+}
+
+// Helper for virtual calls. Load target out of vtable and jump off!
+// Kills all passed registers.
+void TemplateTable::generate_vtable_call(Register Rrecv_klass, Register Rindex, Register Rret, Register Rtemp) {
+
+ assert_different_registers(Rrecv_klass, Rtemp, Rret);
+ const Register Rtarget_method = Rindex;
+
+ // Get target method & entry point.
+ const int base = InstanceKlass::vtable_start_offset() * wordSize;
+ // Calc vtable addr scale the vtable index by 8.
+ __ sldi(Rindex, Rindex, exact_log2(vtableEntry::size() * wordSize));
+ // Load target.
+ __ addi(Rrecv_klass, Rrecv_klass, base + vtableEntry::method_offset_in_bytes());
+ __ ldx(Rtarget_method, Rindex, Rrecv_klass);
+ __ call_from_interpreter(Rtarget_method, Rret, Rrecv_klass /* scratch1 */, Rtemp /* scratch2 */);
+}
+
+// Virtual or final call. Final calls are rewritten on the fly to run through "fast_finalcall" next time.
+void TemplateTable::invokevirtual(int byte_no) {
+ transition(vtos, vtos);
+
+ Register Rtable_addr = R11_scratch1,
+ Rret_type = R12_scratch2,
+ Rret_addr = R5_ARG3,
+ Rflags = R22_tmp2, // Should survive C call.
+ Rrecv = R3_ARG1,
+ Rrecv_klass = Rrecv,
+ Rvtableindex_or_method = R31, // Should survive C call.
+ Rnum_params = R4_ARG2,
+ Rnew_bc = R6_ARG4;
+
+ Label LnotFinal;
+
+ load_invoke_cp_cache_entry(byte_no, Rvtableindex_or_method, noreg, Rflags, /*virtual*/ true, false, false);
+
+ __ testbitdi(CCR0, R0, Rflags, ConstantPoolCacheEntry::is_vfinal_shift);
+ __ bfalse(CCR0, LnotFinal);
+
+ patch_bytecode(Bytecodes::_fast_invokevfinal, Rnew_bc, R12_scratch2);
+ invokevfinal_helper(Rvtableindex_or_method, Rflags, R11_scratch1, R12_scratch2);
+
+ __ align(32, 12);
+ __ bind(LnotFinal);
+ // Load "this" pointer (receiver).
+ __ rldicl(Rnum_params, Rflags, 64, 48);
+ __ load_receiver(Rnum_params, Rrecv);
+ __ verify_oop(Rrecv);
+
+ // Get return type. It's coded into the upper 4 bits of the lower half of the 64 bit value.
+ __ rldicl(Rret_type, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits);
+ __ load_dispatch_table(Rtable_addr, Interpreter::invoke_return_entry_table());
+ __ sldi(Rret_type, Rret_type, LogBytesPerWord);
+ __ ldx(Rret_addr, Rret_type, Rtable_addr);
+ __ null_check_throw(Rrecv, oopDesc::klass_offset_in_bytes(), R11_scratch1);
+ __ load_klass(Rrecv_klass, Rrecv);
+ __ verify_klass_ptr(Rrecv_klass);
+ __ profile_virtual_call(Rrecv_klass, R11_scratch1, R12_scratch2, false);
+
+ generate_vtable_call(Rrecv_klass, Rvtableindex_or_method, Rret_addr, R11_scratch1);
+}
+
+void TemplateTable::fast_invokevfinal(int byte_no) {
+ transition(vtos, vtos);
+
+ assert(byte_no == f2_byte, "use this argument");
+ Register Rflags = R22_tmp2,
+ Rmethod = R31;
+ load_invoke_cp_cache_entry(byte_no, Rmethod, noreg, Rflags, /*virtual*/ true, /*is_invokevfinal*/ true, false);
+ invokevfinal_helper(Rmethod, Rflags, R11_scratch1, R12_scratch2);
+}
+
+void TemplateTable::invokevfinal_helper(Register Rmethod, Register Rflags, Register Rscratch1, Register Rscratch2) {
+
+ assert_different_registers(Rmethod, Rflags, Rscratch1, Rscratch2);
+
+ // Load receiver from stack slot.
+ Register Rrecv = Rscratch2;
+ Register Rnum_params = Rrecv;
+
+ __ ld(Rnum_params, in_bytes(Method::const_offset()), Rmethod);
+ __ lhz(Rnum_params /* number of params */, in_bytes(ConstMethod::size_of_parameters_offset()), Rnum_params);
+
+ // Get return address.
+ Register Rtable_addr = Rscratch1,
+ Rret_addr = Rflags,
+ Rret_type = Rret_addr;
+ // Get return type. It's coded into the upper 4 bits of the lower half of the 64 bit value.
+ __ rldicl(Rret_type, Rflags, 64-ConstantPoolCacheEntry::tos_state_shift, 64-ConstantPoolCacheEntry::tos_state_bits);
+ __ load_dispatch_table(Rtable_addr, Interpreter::invoke_return_entry_table());
+ __ sldi(Rret_type, Rret_type, LogBytesPerWord);
+ __ ldx(Rret_addr, Rret_type, Rtable_addr);
+
+ // Load receiver and receiver NULL check.
+ __ load_receiver(Rnum_params, Rrecv);
+ __ null_check_throw(Rrecv, -1, Rscratch1);
+
+ __ profile_final_call(Rrecv, Rscratch1);
+
+ // Do the call.
+ __ call_from_interpreter(Rmethod, Rret_addr, Rscratch1, Rscratch2);
+}
+
+void TemplateTable::invokespecial(int byte_no) {
+ assert(byte_no == f1_byte, "use this argument");
+ transition(vtos, vtos);
+
+ Register Rtable_addr = R3_ARG1,
+ Rret_addr = R4_ARG2,
+ Rflags = R5_ARG3,
+ Rreceiver = R6_ARG4,
+ Rmethod = R31;
+
+ prepare_invoke(byte_no, Rmethod, Rret_addr, noreg, Rreceiver, Rflags, R11_scratch1);
+
+ // Receiver NULL check.
+ __ null_check_throw(Rreceiver, -1, R11_scratch1);
+
+ __ profile_call(R11_scratch1, R12_scratch2);
+ __ call_from_interpreter(Rmethod, Rret_addr, R11_scratch1, R12_scratch2);
+}
+
+void TemplateTable::invokestatic(int byte_no) {
+ assert(byte_no == f1_byte, "use this argument");
+ transition(vtos, vtos);
+
+ Register Rtable_addr = R3_ARG1,
+ Rret_addr = R4_ARG2,
+ Rflags = R5_ARG3;
+
+ prepare_invoke(byte_no, R19_method, Rret_addr, noreg, noreg, Rflags, R11_scratch1);
+
+ __ profile_call(R11_scratch1, R12_scratch2);
+ __ call_from_interpreter(R19_method, Rret_addr, R11_scratch1, R12_scratch2);
+}
+
+void TemplateTable::invokeinterface_object_method(Register Rrecv_klass,
+ Register Rret,
+ Register Rflags,
+ Register Rindex,
+ Register Rtemp1,
+ Register Rtemp2) {
+
+ assert_different_registers(Rindex, Rret, Rrecv_klass, Rflags, Rtemp1, Rtemp2);
+ Label LnotFinal;
+
+ // Check for vfinal.
+ __ testbitdi(CCR0, R0, Rflags, ConstantPoolCacheEntry::is_vfinal_shift);
+ __ bfalse(CCR0, LnotFinal);
+
+ Register Rscratch = Rflags; // Rflags is dead now.
+
+ // Final call case.
+ __ profile_final_call(Rtemp1, Rscratch);
+ // Do the final call - the index (f2) contains the method.
+ __ call_from_interpreter(Rindex, Rret, Rscratch, Rrecv_klass /* scratch */);
+
+ // Non-final callc case.
+ __ bind(LnotFinal);
+ __ profile_virtual_call(Rrecv_klass, Rtemp1, Rscratch, false);
+ generate_vtable_call(Rrecv_klass, Rindex, Rret, Rscratch);
+}
+
+void TemplateTable::invokeinterface(int byte_no) {
+ assert(byte_no == f1_byte, "use this argument");
+ transition(vtos, vtos);
+
+ const Register Rscratch1 = R11_scratch1,
+ Rscratch2 = R12_scratch2,
+ Rscratch3 = R9_ARG7,
+ Rscratch4 = R10_ARG8,
+ Rtable_addr = Rscratch2,
+ Rinterface_klass = R5_ARG3,
+ Rret_type = R8_ARG6,
+ Rret_addr = Rret_type,
+ Rindex = R6_ARG4,
+ Rreceiver = R4_ARG2,
+ Rrecv_klass = Rreceiver,
+ Rflags = R7_ARG5;
+
+ prepare_invoke(byte_no, Rinterface_klass, Rret_addr, Rindex, Rreceiver, Rflags, Rscratch1);
+
+ // Get receiver klass.
+ __ null_check_throw(Rreceiver, oopDesc::klass_offset_in_bytes(), Rscratch3);
+ __ load_klass(Rrecv_klass, Rreceiver);
+
+ // Check corner case object method.
+ Label LobjectMethod;
+
+ __ testbitdi(CCR0, R0, Rflags, ConstantPoolCacheEntry::is_forced_virtual_shift);
+ __ btrue(CCR0, LobjectMethod);
+
+ // Fallthrough: The normal invokeinterface case.
+ __ profile_virtual_call(Rrecv_klass, Rscratch1, Rscratch2, false);
+
+ // Find entry point to call.
+ Label Lthrow_icc, Lthrow_ame;
+ // Result will be returned in Rindex.
+ __ mr(Rscratch4, Rrecv_klass);
+ __ mr(Rscratch3, Rindex);
+ __ lookup_interface_method(Rrecv_klass, Rinterface_klass, Rindex, Rindex, Rscratch1, Rscratch2, Lthrow_icc);
+
+ __ cmpdi(CCR0, Rindex, 0);
+ __ beq(CCR0, Lthrow_ame);
+ // Found entry. Jump off!
+ __ call_from_interpreter(Rindex, Rret_addr, Rscratch1, Rscratch2);
+
+ // Vtable entry was NULL => Throw abstract method error.
+ __ bind(Lthrow_ame);
+ __ mr(Rrecv_klass, Rscratch4);
+ __ mr(Rindex, Rscratch3);
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError));
+
+ // Interface was not found => Throw incompatible class change error.
+ __ bind(Lthrow_icc);
+ __ mr(Rrecv_klass, Rscratch4);
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_IncompatibleClassChangeError));
+
+ __ should_not_reach_here();
+
+ // Special case of invokeinterface called for virtual method of
+ // java.lang.Object. See ConstantPoolCacheEntry::set_method() for details:
+ // The invokeinterface was rewritten to a invokevirtual, hence we have
+ // to handle this corner case. This code isn't produced by javac, but could
+ // be produced by another compliant java compiler.
+ __ bind(LobjectMethod);
+ invokeinterface_object_method(Rrecv_klass, Rret_addr, Rflags, Rindex, Rscratch1, Rscratch2);
+}
+
+void TemplateTable::invokedynamic(int byte_no) {
+ transition(vtos, vtos);
+
+ const Register Rret_addr = R3_ARG1,
+ Rflags = R4_ARG2,
+ Rmethod = R22_tmp2,
+ Rscratch1 = R11_scratch1,
+ Rscratch2 = R12_scratch2;
+
+ if (!EnableInvokeDynamic) {
+ // We should not encounter this bytecode if !EnableInvokeDynamic.
+ // The verifier will stop it. However, if we get past the verifier,
+ // this will stop the thread in a reasonable way, without crashing the JVM.
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_IncompatibleClassChangeError));
+ // The call_VM checks for exception, so we should never return here.
+ __ should_not_reach_here();
+ return;
+ }
+
+ prepare_invoke(byte_no, Rmethod, Rret_addr, Rscratch1, noreg, Rflags, Rscratch2);
+
+ // Profile this call.
+ __ profile_call(Rscratch1, Rscratch2);
+
+ // Off we go. With the new method handles, we don't jump to a method handle
+ // entry any more. Instead, we pushed an "appendix" in prepare invoke, which happens
+ // to be the callsite object the bootstrap method returned. This is passed to a
+ // "link" method which does the dispatch (Most likely just grabs the MH stored
+ // inside the callsite and does an invokehandle).
+ __ call_from_interpreter(Rmethod, Rret_addr, Rscratch1 /* scratch1 */, Rscratch2 /* scratch2 */);
+}
+
+void TemplateTable::invokehandle(int byte_no) {
+ transition(vtos, vtos);
+
+ const Register Rret_addr = R3_ARG1,
+ Rflags = R4_ARG2,
+ Rrecv = R5_ARG3,
+ Rmethod = R22_tmp2,
+ Rscratch1 = R11_scratch1,
+ Rscratch2 = R12_scratch2;
+
+ if (!EnableInvokeDynamic) {
+ // Rewriter does not generate this bytecode.
+ __ should_not_reach_here();
+ return;
+ }
+
+ prepare_invoke(byte_no, Rmethod, Rret_addr, Rscratch1, Rrecv, Rflags, Rscratch2);
+ __ verify_method_ptr(Rmethod);
+ __ null_check_throw(Rrecv, -1, Rscratch2);
+
+ __ profile_final_call(Rrecv, Rscratch1);
+
+ // Still no call from handle => We call the method handle interpreter here.
+ __ call_from_interpreter(Rmethod, Rret_addr, Rscratch1 /* scratch1 */, Rscratch2 /* scratch2 */);
+}
+
+// =============================================================================
+// Allocation
+
+// Puts allocated obj ref onto the expression stack.
+void TemplateTable::_new() {
+ transition(vtos, atos);
+
+ Label Lslow_case,
+ Ldone,
+ Linitialize_header,
+ Lallocate_shared,
+ Linitialize_object; // Including clearing the fields.
+
+ const Register RallocatedObject = R17_tos,
+ RinstanceKlass = R9_ARG7,
+ Rscratch = R11_scratch1,
+ Roffset = R8_ARG6,
+ Rinstance_size = Roffset,
+ Rcpool = R4_ARG2,
+ Rtags = R3_ARG1,
+ Rindex = R5_ARG3;
+
+ const bool allow_shared_alloc = Universe::heap()->supports_inline_contig_alloc() && !CMSIncrementalMode;
+
+ // --------------------------------------------------------------------------
+ // Check if fast case is possible.
+
+ // Load pointers to const pool and const pool's tags array.
+ __ get_cpool_and_tags(Rcpool, Rtags);
+ // Load index of constant pool entry.
+ __ get_2_byte_integer_at_bcp(1, Rindex, InterpreterMacroAssembler::Unsigned);
+
+ if (UseTLAB) {
+ // Make sure the class we're about to instantiate has been resolved
+ // This is done before loading instanceKlass to be consistent with the order
+ // how Constant Pool is updated (see ConstantPoolCache::klass_at_put).
+ __ addi(Rtags, Rtags, Array<u1>::base_offset_in_bytes());
+ __ lbzx(Rtags, Rindex, Rtags);
+
+ __ cmpdi(CCR0, Rtags, JVM_CONSTANT_Class);
+ __ bne(CCR0, Lslow_case);
+
+ // Get instanceKlass (load from Rcpool + sizeof(ConstantPool) + Rindex*BytesPerWord).
+ __ sldi(Roffset, Rindex, LogBytesPerWord);
+ __ addi(Rscratch, Rcpool, sizeof(ConstantPool));
+ __ isync(); // Order load of instance Klass wrt. tags.
+ __ ldx(RinstanceKlass, Roffset, Rscratch);
+
+ // Make sure klass is fully initialized and get instance_size.
+ __ lbz(Rscratch, in_bytes(InstanceKlass::init_state_offset()), RinstanceKlass);
+ __ lwz(Rinstance_size, in_bytes(Klass::layout_helper_offset()), RinstanceKlass);
+
+ __ cmpdi(CCR1, Rscratch, InstanceKlass::fully_initialized);
+ // Make sure klass does not have has_finalizer, or is abstract, or interface or java/lang/Class.
+ __ andi_(R0, Rinstance_size, Klass::_lh_instance_slow_path_bit); // slow path bit equals 0?
+
+ __ crnand(/*CR0 eq*/2, /*CR1 eq*/4+2, /*CR0 eq*/2); // slow path bit set or not fully initialized?
+ __ beq(CCR0, Lslow_case);
+
+ // --------------------------------------------------------------------------
+ // Fast case:
+ // Allocate the instance.
+ // 1) Try to allocate in the TLAB.
+ // 2) If fail, and the TLAB is not full enough to discard, allocate in the shared Eden.
+ // 3) If the above fails (or is not applicable), go to a slow case (creates a new TLAB, etc.).
+
+ Register RoldTopValue = RallocatedObject; // Object will be allocated here if it fits.
+ Register RnewTopValue = R6_ARG4;
+ Register RendValue = R7_ARG5;
+
+ // Check if we can allocate in the TLAB.
+ __ ld(RoldTopValue, in_bytes(JavaThread::tlab_top_offset()), R16_thread);
+ __ ld(RendValue, in_bytes(JavaThread::tlab_end_offset()), R16_thread);
+
+ __ add(RnewTopValue, Rinstance_size, RoldTopValue);
+
+ // If there is enough space, we do not CAS and do not clear.
+ __ cmpld(CCR0, RnewTopValue, RendValue);
+ __ bgt(CCR0, allow_shared_alloc ? Lallocate_shared : Lslow_case);
+
+ __ std(RnewTopValue, in_bytes(JavaThread::tlab_top_offset()), R16_thread);
+
+ if (ZeroTLAB) {
+ // The fields have already been cleared.
+ __ b(Linitialize_header);
+ } else {
+ // Initialize both the header and fields.
+ __ b(Linitialize_object);
+ }
+
+ // Fall through: TLAB was too small.
+ if (allow_shared_alloc) {
+ Register RtlabWasteLimitValue = R10_ARG8;
+ Register RfreeValue = RnewTopValue;
+
+ __ bind(Lallocate_shared);
+ // Check if tlab should be discarded (refill_waste_limit >= free).
+ __ ld(RtlabWasteLimitValue, in_bytes(JavaThread::tlab_refill_waste_limit_offset()), R16_thread);
+ __ subf(RfreeValue, RoldTopValue, RendValue);
+ __ srdi(RfreeValue, RfreeValue, LogHeapWordSize); // in dwords
+ __ cmpld(CCR0, RtlabWasteLimitValue, RfreeValue);
+ __ bge(CCR0, Lslow_case);
+
+ // Increment waste limit to prevent getting stuck on this slow path.
+ __ addi(RtlabWasteLimitValue, RtlabWasteLimitValue, (int)ThreadLocalAllocBuffer::refill_waste_limit_increment());
+ __ std(RtlabWasteLimitValue, in_bytes(JavaThread::tlab_refill_waste_limit_offset()), R16_thread);
+ }
+ // else: No allocation in the shared eden. // fallthru: __ b(Lslow_case);
+ }
+ // else: Always go the slow path.
+
+ // --------------------------------------------------------------------------
+ // slow case
+ __ bind(Lslow_case);
+ call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::_new), Rcpool, Rindex);
+
+ if (UseTLAB) {
+ __ b(Ldone);
+ // --------------------------------------------------------------------------
+ // Init1: Zero out newly allocated memory.
+
+ if (!ZeroTLAB || allow_shared_alloc) {
+ // Clear object fields.
+ __ bind(Linitialize_object);
+
+ // Initialize remaining object fields.
+ Register Rbase = Rtags;
+ __ addi(Rinstance_size, Rinstance_size, 7 - (int)sizeof(oopDesc));
+ __ addi(Rbase, RallocatedObject, sizeof(oopDesc));
+ __ srdi(Rinstance_size, Rinstance_size, 3);
+
+ // Clear out object skipping header. Takes also care of the zero length case.
+ __ clear_memory_doubleword(Rbase, Rinstance_size);
+ // fallthru: __ b(Linitialize_header);
+ }
+
+ // --------------------------------------------------------------------------
+ // Init2: Initialize the header: mark, klass
+ __ bind(Linitialize_header);
+
+ // Init mark.
+ if (UseBiasedLocking) {
+ __ ld(Rscratch, in_bytes(Klass::prototype_header_offset()), RinstanceKlass);
+ } else {
+ __ load_const_optimized(Rscratch, markOopDesc::prototype(), R0);
+ }
+ __ std(Rscratch, oopDesc::mark_offset_in_bytes(), RallocatedObject);
+
+ // Init klass.
+ __ store_klass_gap(RallocatedObject);
+ __ store_klass(RallocatedObject, RinstanceKlass, Rscratch); // klass (last for cms)
+
+ // Check and trigger dtrace event.
+ {
+ SkipIfEqualZero skip_if(_masm, Rscratch, &DTraceAllocProbes);
+ __ push(atos);
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_object_alloc));
+ __ pop(atos);
+ }
+ }
+
+ // continue
+ __ bind(Ldone);
+
+ // Must prevent reordering of stores for object initialization with stores that publish the new object.
+ __ membar(Assembler::StoreStore);
+}
+
+void TemplateTable::newarray() {
+ transition(itos, atos);
+
+ __ lbz(R4, 1, R14_bcp);
+ __ extsw(R5, R17_tos);
+ call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::newarray), R4, R5 /* size */);
+
+ // Must prevent reordering of stores for object initialization with stores that publish the new object.
+ __ membar(Assembler::StoreStore);
+}
+
+void TemplateTable::anewarray() {
+ transition(itos, atos);
+
+ __ get_constant_pool(R4);
+ __ get_2_byte_integer_at_bcp(1, R5, InterpreterMacroAssembler::Unsigned);
+ __ extsw(R6, R17_tos); // size
+ call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::anewarray), R4 /* pool */, R5 /* index */, R6 /* size */);
+
+ // Must prevent reordering of stores for object initialization with stores that publish the new object.
+ __ membar(Assembler::StoreStore);
+}
+
+// Allocate a multi dimensional array
+void TemplateTable::multianewarray() {
+ transition(vtos, atos);
+
+ Register Rptr = R31; // Needs to survive C call.
+
+ // Put ndims * wordSize into frame temp slot
+ __ lbz(Rptr, 3, R14_bcp);
+ __ sldi(Rptr, Rptr, Interpreter::logStackElementSize);
+ // Esp points past last_dim, so set to R4 to first_dim address.
+ __ add(R4, Rptr, R15_esp);
+ call_VM(R17_tos, CAST_FROM_FN_PTR(address, InterpreterRuntime::multianewarray), R4 /* first_size_address */);
+ // Pop all dimensions off the stack.
+ __ add(R15_esp, Rptr, R15_esp);
+
+ // Must prevent reordering of stores for object initialization with stores that publish the new object.
+ __ membar(Assembler::StoreStore);
+}
+
+void TemplateTable::arraylength() {
+ transition(atos, itos);
+
+ Label LnoException;
+ __ verify_oop(R17_tos);
+ __ null_check_throw(R17_tos, arrayOopDesc::length_offset_in_bytes(), R11_scratch1);
+ __ lwa(R17_tos, arrayOopDesc::length_offset_in_bytes(), R17_tos);
+}
+
+// ============================================================================
+// Typechecks
+
+void TemplateTable::checkcast() {
+ transition(atos, atos);
+
+ Label Ldone, Lis_null, Lquicked, Lresolved;
+ Register Roffset = R5_ARG3,
+ RobjKlass = R4_ARG2,
+ RspecifiedKlass = R6_ARG4, // Generate_ClassCastException_verbose_handler will expect this register.
+ Rcpool = R11_scratch1,
+ Rtags = R12_scratch2;
+
+ // Null does not pass.
+ __ cmpdi(CCR0, R17_tos, 0);
+ __ beq(CCR0, Lis_null);
+
+ // Get constant pool tag to find out if the bytecode has already been "quickened".
+ __ get_cpool_and_tags(Rcpool, Rtags);
+
+ __ get_2_byte_integer_at_bcp(1, Roffset, InterpreterMacroAssembler::Unsigned);
+
+ __ addi(Rtags, Rtags, Array<u1>::base_offset_in_bytes());
+ __ lbzx(Rtags, Rtags, Roffset);
+
+ __ cmpdi(CCR0, Rtags, JVM_CONSTANT_Class);
+ __ beq(CCR0, Lquicked);
+
+ // Call into the VM to "quicken" instanceof.
+ __ push_ptr(); // for GC
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::quicken_io_cc));
+ __ get_vm_result_2(RspecifiedKlass);
+ __ pop_ptr(); // Restore receiver.
+ __ b(Lresolved);
+
+ // Extract target class from constant pool.
+ __ bind(Lquicked);
+ __ sldi(Roffset, Roffset, LogBytesPerWord);
+ __ addi(Rcpool, Rcpool, sizeof(ConstantPool));
+ __ isync(); // Order load of specified Klass wrt. tags.
+ __ ldx(RspecifiedKlass, Rcpool, Roffset);
+
+ // Do the checkcast.
+ __ bind(Lresolved);
+ // Get value klass in RobjKlass.
+ __ load_klass(RobjKlass, R17_tos);
+ // Generate a fast subtype check. Branch to cast_ok if no failure. Return 0 if failure.
+ __ gen_subtype_check(RobjKlass, RspecifiedKlass, /*3 temp regs*/ Roffset, Rcpool, Rtags, /*target if subtype*/ Ldone);
+
+ // Not a subtype; so must throw exception
+ // Target class oop is in register R6_ARG4 == RspecifiedKlass by convention.
+ __ load_dispatch_table(R11_scratch1, (address*)Interpreter::_throw_ClassCastException_entry);
+ __ mtctr(R11_scratch1);
+ __ bctr();
+
+ // Profile the null case.
+ __ align(32, 12);
+ __ bind(Lis_null);
+ __ profile_null_seen(R11_scratch1, Rtags); // Rtags used as scratch.
+
+ __ align(32, 12);
+ __ bind(Ldone);
+}
+
+// Output:
+// - tos == 0: Obj was null or not an instance of class.
+// - tos == 1: Obj was an instance of class.
+void TemplateTable::instanceof() {
+ transition(atos, itos);
+
+ Label Ldone, Lis_null, Lquicked, Lresolved;
+ Register Roffset = R5_ARG3,
+ RobjKlass = R4_ARG2,
+ RspecifiedKlass = R6_ARG4, // Generate_ClassCastException_verbose_handler will expect the value in this register.
+ Rcpool = R11_scratch1,
+ Rtags = R12_scratch2;
+
+ // Null does not pass.
+ __ cmpdi(CCR0, R17_tos, 0);
+ __ beq(CCR0, Lis_null);
+
+ // Get constant pool tag to find out if the bytecode has already been "quickened".
+ __ get_cpool_and_tags(Rcpool, Rtags);
+
+ __ get_2_byte_integer_at_bcp(1, Roffset, InterpreterMacroAssembler::Unsigned);
+
+ __ addi(Rtags, Rtags, Array<u1>::base_offset_in_bytes());
+ __ lbzx(Rtags, Rtags, Roffset);
+
+ __ cmpdi(CCR0, Rtags, JVM_CONSTANT_Class);
+ __ beq(CCR0, Lquicked);
+
+ // Call into the VM to "quicken" instanceof.
+ __ push_ptr(); // for GC
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::quicken_io_cc));
+ __ get_vm_result_2(RspecifiedKlass);
+ __ pop_ptr(); // Restore receiver.
+ __ b(Lresolved);
+
+ // Extract target class from constant pool.
+ __ bind(Lquicked);
+ __ sldi(Roffset, Roffset, LogBytesPerWord);
+ __ addi(Rcpool, Rcpool, sizeof(ConstantPool));
+ __ isync(); // Order load of specified Klass wrt. tags.
+ __ ldx(RspecifiedKlass, Rcpool, Roffset);
+
+ // Do the checkcast.
+ __ bind(Lresolved);
+ // Get value klass in RobjKlass.
+ __ load_klass(RobjKlass, R17_tos);
+ // Generate a fast subtype check. Branch to cast_ok if no failure. Return 0 if failure.
+ __ li(R17_tos, 1);
+ __ gen_subtype_check(RobjKlass, RspecifiedKlass, /*3 temp regs*/ Roffset, Rcpool, Rtags, /*target if subtype*/ Ldone);
+ __ li(R17_tos, 0);
+
+ if (ProfileInterpreter) {
+ __ b(Ldone);
+ }
+
+ // Profile the null case.
+ __ align(32, 12);
+ __ bind(Lis_null);
+ __ profile_null_seen(Rcpool, Rtags); // Rcpool and Rtags used as scratch.
+
+ __ align(32, 12);
+ __ bind(Ldone);
+}
+
+// =============================================================================
+// Breakpoints
+
+void TemplateTable::_breakpoint() {
+ transition(vtos, vtos);
+
+ // Get the unpatched byte code.
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::get_original_bytecode_at), R19_method, R14_bcp);
+ __ mr(R31, R3_RET);
+
+ // Post the breakpoint event.
+ __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::_breakpoint), R19_method, R14_bcp);
+
+ // Complete the execution of original bytecode.
+ __ dispatch_Lbyte_code(vtos, R31, Interpreter::normal_table(vtos));
+}
+
+// =============================================================================
+// Exceptions
+
+void TemplateTable::athrow() {
+ transition(atos, vtos);
+
+ // Exception oop is in tos
+ __ verify_oop(R17_tos);
+
+ __ null_check_throw(R17_tos, -1, R11_scratch1);
+
+ // Throw exception interpreter entry expects exception oop to be in R3.
+ __ mr(R3_RET, R17_tos);
+ __ load_dispatch_table(R11_scratch1, (address*)Interpreter::throw_exception_entry());
+ __ mtctr(R11_scratch1);
+ __ bctr();
+}
+
+// =============================================================================
+// Synchronization
+// Searches the basic object lock list on the stack for a free slot
+// and uses it to lock the obect in tos.
+//
+// Recursive locking is enabled by exiting the search if the same
+// object is already found in the list. Thus, a new basic lock obj lock
+// is allocated "higher up" in the stack and thus is found first
+// at next monitor exit.
+void TemplateTable::monitorenter() {
+ transition(atos, vtos);
+
+ __ verify_oop(R17_tos);
+
+ Register Rcurrent_monitor = R11_scratch1,
+ Rcurrent_obj = R12_scratch2,
+ Robj_to_lock = R17_tos,
+ Rscratch1 = R3_ARG1,
+ Rscratch2 = R4_ARG2,
+ Rscratch3 = R5_ARG3,
+ Rcurrent_obj_addr = R6_ARG4;
+
+ // ------------------------------------------------------------------------------
+ // Null pointer exception.
+ __ null_check_throw(Robj_to_lock, -1, R11_scratch1);
+
+ // Try to acquire a lock on the object.
+ // Repeat until succeeded (i.e., until monitorenter returns true).
+
+ // ------------------------------------------------------------------------------
+ // Find a free slot in the monitor block.
+ Label Lfound, Lexit, Lallocate_new;
+ ConditionRegister found_free_slot = CCR0,
+ found_same_obj = CCR1,
+ reached_limit = CCR6;
+ {
+ Label Lloop, Lentry;
+ Register Rlimit = Rcurrent_monitor;
+
+ // Set up search loop - start with topmost monitor.
+ __ add(Rcurrent_obj_addr, BasicObjectLock::obj_offset_in_bytes(), R26_monitor);
+
+ __ ld(Rlimit, 0, R1_SP);
+ __ addi(Rlimit, Rlimit, - (frame::ijava_state_size + frame::interpreter_frame_monitor_size_in_bytes() - BasicObjectLock::obj_offset_in_bytes())); // Monitor base
+
+ // Check if any slot is present => short cut to allocation if not.
+ __ cmpld(reached_limit, Rcurrent_obj_addr, Rlimit);
+ __ bgt(reached_limit, Lallocate_new);
+
+ // Pre-load topmost slot.
+ __ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
+ __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize);
+ // The search loop.
+ __ bind(Lloop);
+ // Found free slot?
+ __ cmpdi(found_free_slot, Rcurrent_obj, 0);
+ // Is this entry for same obj? If so, stop the search and take the found
+ // free slot or allocate a new one to enable recursive locking.
+ __ cmpd(found_same_obj, Rcurrent_obj, Robj_to_lock);
+ __ cmpld(reached_limit, Rcurrent_obj_addr, Rlimit);
+ __ beq(found_free_slot, Lexit);
+ __ beq(found_same_obj, Lallocate_new);
+ __ bgt(reached_limit, Lallocate_new);
+ // Check if last allocated BasicLockObj reached.
+ __ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
+ __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize);
+ // Next iteration if unchecked BasicObjectLocks exist on the stack.
+ __ b(Lloop);
+ }
+
+ // ------------------------------------------------------------------------------
+ // Check if we found a free slot.
+ __ bind(Lexit);
+
+ __ addi(Rcurrent_monitor, Rcurrent_obj_addr, -(frame::interpreter_frame_monitor_size() * wordSize) - BasicObjectLock::obj_offset_in_bytes());
+ __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, - frame::interpreter_frame_monitor_size() * wordSize);
+ __ b(Lfound);
+
+ // We didn't find a free BasicObjLock => allocate one.
+ __ align(32, 12);
+ __ bind(Lallocate_new);
+ __ add_monitor_to_stack(false, Rscratch1, Rscratch2);
+ __ mr(Rcurrent_monitor, R26_monitor);
+ __ addi(Rcurrent_obj_addr, R26_monitor, BasicObjectLock::obj_offset_in_bytes());
+
+ // ------------------------------------------------------------------------------
+ // We now have a slot to lock.
+ __ bind(Lfound);
+
+ // Increment bcp to point to the next bytecode, so exception handling for async. exceptions work correctly.
+ // The object has already been poped from the stack, so the expression stack looks correct.
+ __ addi(R14_bcp, R14_bcp, 1);
+
+ __ std(Robj_to_lock, 0, Rcurrent_obj_addr);
+ __ lock_object(Rcurrent_monitor, Robj_to_lock);
+
+ // Check if there's enough space on the stack for the monitors after locking.
+ Label Lskip_stack_check;
+ // Optimization: If the monitors stack section is less then a std page size (4K) don't run
+ // the stack check. There should be enough shadow pages to fit that in.
+ __ ld(Rscratch3, 0, R1_SP);
+ __ sub(Rscratch3, Rscratch3, R26_monitor);
+ __ cmpdi(CCR0, Rscratch3, 4*K);
+ __ blt(CCR0, Lskip_stack_check);
+
+ DEBUG_ONLY(__ untested("stack overflow check during monitor enter");)
+ __ li(Rscratch1, 0);
+ __ generate_stack_overflow_check_with_compare_and_throw(Rscratch1, Rscratch2);
+
+ __ align(32, 12);
+ __ bind(Lskip_stack_check);
+
+ // The bcp has already been incremented. Just need to dispatch to next instruction.
+ __ dispatch_next(vtos);
+}
+
+void TemplateTable::monitorexit() {
+ transition(atos, vtos);
+ __ verify_oop(R17_tos);
+
+ Register Rcurrent_monitor = R11_scratch1,
+ Rcurrent_obj = R12_scratch2,
+ Robj_to_lock = R17_tos,
+ Rcurrent_obj_addr = R3_ARG1,
+ Rlimit = R4_ARG2;
+ Label Lfound, Lillegal_monitor_state;
+
+ // Check corner case: unbalanced monitorEnter / Exit.
+ __ ld(Rlimit, 0, R1_SP);
+ __ addi(Rlimit, Rlimit, - (frame::ijava_state_size + frame::interpreter_frame_monitor_size_in_bytes())); // Monitor base
+
+ // Null pointer check.
+ __ null_check_throw(Robj_to_lock, -1, R11_scratch1);
+
+ __ cmpld(CCR0, R26_monitor, Rlimit);
+ __ bgt(CCR0, Lillegal_monitor_state);
+
+ // Find the corresponding slot in the monitors stack section.
+ {
+ Label Lloop;
+
+ // Start with topmost monitor.
+ __ addi(Rcurrent_obj_addr, R26_monitor, BasicObjectLock::obj_offset_in_bytes());
+ __ addi(Rlimit, Rlimit, BasicObjectLock::obj_offset_in_bytes());
+ __ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
+ __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize);
+
+ __ bind(Lloop);
+ // Is this entry for same obj?
+ __ cmpd(CCR0, Rcurrent_obj, Robj_to_lock);
+ __ beq(CCR0, Lfound);
+
+ // Check if last allocated BasicLockObj reached.
+
+ __ ld(Rcurrent_obj, 0, Rcurrent_obj_addr);
+ __ cmpld(CCR0, Rcurrent_obj_addr, Rlimit);
+ __ addi(Rcurrent_obj_addr, Rcurrent_obj_addr, frame::interpreter_frame_monitor_size() * wordSize);
+
+ // Next iteration if unchecked BasicObjectLocks exist on the stack.
+ __ ble(CCR0, Lloop);
+ }
+
+ // Fell through without finding the basic obj lock => throw up!
+ __ bind(Lillegal_monitor_state);
+ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_illegal_monitor_state_exception));
+ __ should_not_reach_here();
+
+ __ align(32, 12);
+ __ bind(Lfound);
+ __ addi(Rcurrent_monitor, Rcurrent_obj_addr,
+ -(frame::interpreter_frame_monitor_size() * wordSize) - BasicObjectLock::obj_offset_in_bytes());
+ __ unlock_object(Rcurrent_monitor);
+}
+
+// ============================================================================
+// Wide bytecodes
+
+// Wide instructions. Simply redirects to the wide entry point for that instruction.
+void TemplateTable::wide() {
+ transition(vtos, vtos);
+
+ const Register Rtable = R11_scratch1,
+ Rindex = R12_scratch2,
+ Rtmp = R0;
+
+ __ lbz(Rindex, 1, R14_bcp);
+
+ __ load_dispatch_table(Rtable, Interpreter::_wentry_point);
+
+ __ slwi(Rindex, Rindex, LogBytesPerWord);
+ __ ldx(Rtmp, Rtable, Rindex);
+ __ mtctr(Rtmp);
+ __ bctr();
+ // Note: the bcp increment step is part of the individual wide bytecode implementations.
+}
+#endif // !CC_INTERP
diff --git a/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.hpp b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.hpp
new file mode 100644
index 0000000..1dfa884
--- /dev/null
+++ b/hotspot/src/cpu/ppc/vm/templateTable_ppc_64.hpp
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2013, 2014 SAP AG. 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.
+ *
+ */
+
+#ifndef CPU_PPC_VM_TEMPLATETABLE_PPC_64_HPP
+#define CPU_PPC_VM_TEMPLATETABLE_PPC_64_HPP
+
+ static void prepare_invoke(int byte_no, Register Rmethod, Register Rret_addr, Register Rindex, Register Rrecv, Register Rflags, Register Rscratch);
+ static void invokevfinal_helper(Register Rmethod, Register Rflags, Register Rscratch1, Register Rscratch2);
+ static void generate_vtable_call(Register Rrecv_klass, Register Rindex, Register Rret, Register Rtemp);
+ static void invokeinterface_object_method(Register Rrecv_klass, Register Rret, Register Rflags, Register Rindex, Register Rtemp, Register Rtemp2);
+
+ // Branch_conditional which takes TemplateTable::Condition.
+ static void branch_conditional(ConditionRegister crx, TemplateTable::Condition cc, Label& L, bool invert = false);
+ static void if_cmp_common(Register Rfirst, Register Rsecond, Register Rscratch1, Register Rscratch2, Condition cc, bool is_jint, bool cmp0);
+
+#endif // CPU_PPC_VM_TEMPLATETABLE_PPC_64_HPP
diff --git a/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp b/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp
index a732c7b..567a5d0 100644
--- a/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp
+++ b/hotspot/src/cpu/ppc/vm/vm_version_ppc.cpp
@@ -24,7 +24,8 @@
*/
#include "precompiled.hpp"
-#include "assembler_ppc.inline.hpp"
+#include "asm/assembler.inline.hpp"
+#include "asm/macroAssembler.inline.hpp"
#include "compiler/disassembler.hpp"
#include "memory/resourceArea.hpp"
#include "runtime/java.hpp"
@@ -168,7 +169,7 @@
uint32_t *code = (uint32_t *)a->pc();
// Emit code.
- void (*test1)() = (void(*)())(void *)a->emit_fd();
+ void (*test1)() = (void(*)())(void *)a->function_entry();
Label l1;
@@ -242,7 +243,7 @@
a->blr();
// Emit code.
- void (*test2)() = (void(*)())(void *)a->emit_fd();
+ void (*test2)() = (void(*)())(void *)a->function_entry();
// uint32_t *code = (uint32_t *)a->pc();
Label l2;
@@ -383,8 +384,12 @@
#endif // COMPILER2
void VM_Version::determine_features() {
+#if defined(ABI_ELFv2)
+ const int code_size = (num_features+1+2*7)*BytesPerInstWord; // TODO(asmundak): calculation is incorrect.
+#else
// 7 InstWords for each call (function descriptor + blr instruction).
const int code_size = (num_features+1+2*7)*BytesPerInstWord;
+#endif
int features = 0;
// create test area
@@ -398,7 +403,7 @@
MacroAssembler* a = new MacroAssembler(&cb);
// Emit code.
- void (*test)(address addr, uint64_t offset)=(void(*)(address addr, uint64_t offset))(void *)a->emit_fd();
+ void (*test)(address addr, uint64_t offset)=(void(*)(address addr, uint64_t offset))(void *)a->function_entry();
uint32_t *code = (uint32_t *)a->pc();
// Don't use R0 in ldarx.
// Keep R3_ARG1 unmodified, it contains &field (see below).
@@ -415,7 +420,7 @@
a->blr();
// Emit function to set one cache line to zero. Emit function descriptor and get pointer to it.
- void (*zero_cacheline_func_ptr)(char*) = (void(*)(char*))(void *)a->emit_fd();
+ void (*zero_cacheline_func_ptr)(char*) = (void(*)(char*))(void *)a->function_entry();
a->dcbz(R3_ARG1); // R3_ARG1 = addr
a->blr();
diff --git a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
index 371b6aa..1a53471 100644
--- a/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/cppInterpreter_sparc.cpp
@@ -413,16 +413,15 @@
// Update standard invocation counters
__ increment_invocation_counter(Rcounters, O0, G4_scratch);
if (ProfileInterpreter) {
- Address interpreter_invocation_counter(Rcounters, 0,
+ Address interpreter_invocation_counter(Rcounters,
in_bytes(MethodCounters::interpreter_invocation_counter_offset()));
__ ld(interpreter_invocation_counter, G4_scratch);
__ inc(G4_scratch);
__ st(G4_scratch, interpreter_invocation_counter);
}
- Address invocation_limit(G3_scratch, (address)&InvocationCounter::InterpreterInvocationLimit);
- __ sethi(invocation_limit);
- __ ld(invocation_limit, G3_scratch);
+ AddressLiteral invocation_limit((address)&InvocationCounter::InterpreterInvocationLimit);
+ __ load_contents(invocation_limit, G3_scratch);
__ cmp(O0, G3_scratch);
__ br(Assembler::greaterEqualUnsigned, false, Assembler::pn, *overflow);
__ delayed()->nop();
@@ -439,7 +438,7 @@
// do nothing for empty methods (do not even increment invocation counter)
if ( UseFastEmptyMethods) {
// If we need a safepoint check, generate full interpreter entry.
- Address sync_state(G3_scratch, SafepointSynchronize::address_of_state());
+ AddressLiteral sync_state(SafepointSynchronize::address_of_state());
__ load_contents(sync_state, G3_scratch);
__ cmp(G3_scratch, SafepointSynchronize::_not_synchronized);
__ br(Assembler::notEqual, false, Assembler::pn, frame_manager_entry);
@@ -471,7 +470,7 @@
if ( UseFastAccessorMethods) {
// Check if we need to reach a safepoint and generate full interpreter
// frame if so.
- Address sync_state(G3_scratch, SafepointSynchronize::address_of_state());
+ AddressLiteral sync_state(SafepointSynchronize::address_of_state());
__ load_contents(sync_state, G3_scratch);
__ cmp(G3_scratch, SafepointSynchronize::_not_synchronized);
__ br(Assembler::notEqual, false, Assembler::pn, slow_path);
@@ -486,8 +485,8 @@
// read first instruction word and extract bytecode @ 1 and index @ 2
// get first 4 bytes of the bytecodes (big endian!)
- __ ld_ptr(Address(G5_method, 0, in_bytes(Method::const_offset())), G1_scratch);
- __ ld(Address(G1_scratch, 0, in_bytes(ConstMethod::codes_offset())), G1_scratch);
+ __ ld_ptr(Address(G5_method, in_bytes(Method::const_offset())), G1_scratch);
+ __ ld(Address(G1_scratch, in_bytes(ConstMethod::codes_offset())), G1_scratch);
// move index @ 2 far left then to the right most two bytes.
__ sll(G1_scratch, 2*BitsPerByte, G1_scratch);
@@ -590,15 +589,15 @@
const Register Gtmp1 = G3_scratch ;
const Register Gtmp2 = G1_scratch;
const Register RconstMethod = Gtmp1;
- const Address constMethod(G5_method, 0, in_bytes(Method::const_offset()));
- const Address size_of_parameters(RconstMethod, 0, in_bytes(ConstMethod::size_of_parameters_offset()));
+ const Address constMethod(G5_method, in_bytes(Method::const_offset()));
+ const Address size_of_parameters(RconstMethod, in_bytes(ConstMethod::size_of_parameters_offset()));
bool inc_counter = UseCompiler || CountCompiledCalls;
// make sure registers are different!
assert_different_registers(G2_thread, G5_method, Gargs, Gtmp1, Gtmp2);
- const Address access_flags (G5_method, 0, in_bytes(Method::access_flags_offset()));
+ const Address access_flags (G5_method, in_bytes(Method::access_flags_offset()));
Label Lentry;
__ bind(Lentry);
@@ -643,7 +642,7 @@
// At this point Lstate points to new interpreter state
//
- const Address do_not_unlock_if_synchronized(G2_thread, 0,
+ const Address do_not_unlock_if_synchronized(G2_thread,
in_bytes(JavaThread::do_not_unlock_if_synchronized_offset()));
// Since at this point in the method invocation the exception handler
// would try to exit the monitor of synchronized methods which hasn't
@@ -717,17 +716,17 @@
{ Label L;
__ ld_ptr(STATE(_method), G5_method);
- __ ld_ptr(Address(G5_method, 0, in_bytes(Method::signature_handler_offset())), G3_scratch);
+ __ ld_ptr(Address(G5_method, in_bytes(Method::signature_handler_offset())), G3_scratch);
__ tst(G3_scratch);
__ brx(Assembler::notZero, false, Assembler::pt, L);
__ delayed()->nop();
__ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::prepare_native_call), G5_method, false);
__ ld_ptr(STATE(_method), G5_method);
- Address exception_addr(G2_thread, 0, in_bytes(Thread::pending_exception_offset()));
+ Address exception_addr(G2_thread, in_bytes(Thread::pending_exception_offset()));
__ ld_ptr(exception_addr, G3_scratch);
__ br_notnull_short(G3_scratch, Assembler::pn, pending_exception_present);
- __ ld_ptr(Address(G5_method, 0, in_bytes(Method::signature_handler_offset())), G3_scratch);
+ __ ld_ptr(Address(G5_method, in_bytes(Method::signature_handler_offset())), G3_scratch);
__ bind(L);
}
@@ -771,13 +770,13 @@
__ br( Assembler::zero, false, Assembler::pt, not_static);
__ delayed()->
// get native function entry point(O0 is a good temp until the very end)
- ld_ptr(Address(G5_method, 0, in_bytes(Method::native_function_offset())), O0);
+ ld_ptr(Address(G5_method, in_bytes(Method::native_function_offset())), O0);
// for static methods insert the mirror argument
const int mirror_offset = in_bytes(Klass::java_mirror_offset());
- __ ld_ptr(Address(G5_method, 0, in_bytes(Method:: const_offset())), O1);
- __ ld_ptr(Address(O1, 0, in_bytes(ConstMethod::constants_offset())), O1);
- __ ld_ptr(Address(O1, 0, ConstantPool::pool_holder_offset_in_bytes()), O1);
+ __ ld_ptr(Address(G5_method, in_bytes(Method:: const_offset())), O1);
+ __ ld_ptr(Address(O1, in_bytes(ConstMethod::constants_offset())), O1);
+ __ ld_ptr(Address(O1, ConstantPool::pool_holder_offset_in_bytes()), O1);
__ ld_ptr(O1, mirror_offset, O1);
// where the mirror handle body is allocated:
#ifdef ASSERT
@@ -831,18 +830,17 @@
// flush the windows now. We don't care about the current (protection) frame
// only the outer frames
- __ flush_windows();
+ __ flushw();
// mark windows as flushed
Address flags(G2_thread,
- 0,
in_bytes(JavaThread::frame_anchor_offset()) + in_bytes(JavaFrameAnchor::flags_offset()));
__ set(JavaFrameAnchor::flushed, G3_scratch);
__ st(G3_scratch, flags);
// Transition from _thread_in_Java to _thread_in_native. We are already safepoint ready.
- Address thread_state(G2_thread, 0, in_bytes(JavaThread::thread_state_offset()));
+ Address thread_state(G2_thread, in_bytes(JavaThread::thread_state_offset()));
#ifdef ASSERT
{ Label L;
__ ld(thread_state, G3_scratch);
@@ -867,7 +865,7 @@
// Block, if necessary, before resuming in _thread_in_Java state.
// In order for GC to work, don't clear the last_Java_sp until after blocking.
{ Label no_block;
- Address sync_state(G3_scratch, SafepointSynchronize::address_of_state());
+ AddressLiteral sync_state(SafepointSynchronize::address_of_state());
// Switch thread to "native transition" state before reading the synchronization state.
// This additional state is necessary because reading and testing the synchronization
@@ -890,7 +888,7 @@
Label L;
- Address suspend_state(G2_thread, 0, in_bytes(JavaThread::suspend_flags_offset()));
+ Address suspend_state(G2_thread, in_bytes(JavaThread::suspend_flags_offset()));
__ br(Assembler::notEqual, false, Assembler::pn, L);
__ delayed()->
ld(suspend_state, G3_scratch);
@@ -965,7 +963,7 @@
// handle exceptions (exception handling will handle unlocking!)
{ Label L;
- Address exception_addr (G2_thread, 0, in_bytes(Thread::pending_exception_offset()));
+ Address exception_addr (G2_thread, in_bytes(Thread::pending_exception_offset()));
__ ld_ptr(exception_addr, Gtemp);
__ tst(Gtemp);
@@ -1055,8 +1053,8 @@
assert_different_registers(state, prev_state);
assert_different_registers(prev_state, G3_scratch);
const Register Gtmp = G3_scratch;
- const Address constMethod (G5_method, 0, in_bytes(Method::const_offset()));
- const Address access_flags (G5_method, 0, in_bytes(Method::access_flags_offset()));
+ const Address constMethod (G5_method, in_bytes(Method::const_offset()));
+ const Address access_flags (G5_method, in_bytes(Method::access_flags_offset()));
// slop factor is two extra slots on the expression stack so that
// we always have room to store a result when returning from a call without parameters
@@ -1075,7 +1073,7 @@
if (native) {
const Register RconstMethod = Gtmp;
- const Address size_of_parameters(RconstMethod, 0, in_bytes(ConstMethod::size_of_parameters_offset()));
+ const Address size_of_parameters(RconstMethod, in_bytes(ConstMethod::size_of_parameters_offset()));
__ ld_ptr(constMethod, RconstMethod);
__ lduh( size_of_parameters, Gtmp );
__ calc_mem_param_words(Gtmp, Gtmp); // space for native call parameters passed on the stack in words
@@ -1246,8 +1244,8 @@
if (init_value != noreg) {
Label clear_loop;
const Register RconstMethod = O1;
- const Address size_of_parameters(RconstMethod, 0, in_bytes(ConstMethod::size_of_parameters_offset()));
- const Address size_of_locals (RconstMethod, 0, in_bytes(ConstMethod::size_of_locals_offset()));
+ const Address size_of_parameters(RconstMethod, in_bytes(ConstMethod::size_of_parameters_offset()));
+ const Address size_of_locals (RconstMethod, in_bytes(ConstMethod::size_of_locals_offset()));
// NOTE: If you change the frame layout, this code will need to
// be updated!
@@ -1496,11 +1494,11 @@
//
// assert_different_registers(state, prev_state);
const Register Gtmp = G3_scratch;
- const RconstMethod = G3_scratch;
+ const Register RconstMethod = G3_scratch;
const Register tmp = O2;
- const Address constMethod(G5_method, 0, in_bytes(Method::const_offset()));
- const Address size_of_parameters(RconstMethod, 0, in_bytes(ConstMethod::size_of_parameters_offset()));
- const Address size_of_locals (RconstMethod, 0, in_bytes(ConstMethod::size_of_locals_offset()));
+ const Address constMethod(G5_method, in_bytes(Method::const_offset()));
+ const Address size_of_parameters(RconstMethod, in_bytes(ConstMethod::size_of_parameters_offset()));
+ const Address size_of_locals (RconstMethod, in_bytes(ConstMethod::size_of_locals_offset()));
__ ld_ptr(constMethod, RconstMethod);
__ lduh(size_of_parameters, tmp);
@@ -1555,8 +1553,8 @@
const Register Gtmp1 = G3_scratch;
// const Register Lmirror = L1; // native mirror (native calls only)
- const Address constMethod (G5_method, 0, in_bytes(Method::const_offset()));
- const Address access_flags (G5_method, 0, in_bytes(Method::access_flags_offset()));
+ const Address constMethod (G5_method, in_bytes(Method::const_offset()));
+ const Address access_flags (G5_method, in_bytes(Method::access_flags_offset()));
address entry_point = __ pc();
__ mov(G0, prevState); // no current activation
@@ -1709,7 +1707,7 @@
// We want exception in the thread no matter what we ultimately decide about frame type.
- Address exception_addr (G2_thread, 0, in_bytes(Thread::pending_exception_offset()));
+ Address exception_addr (G2_thread, in_bytes(Thread::pending_exception_offset()));
__ verify_thread();
__ st_ptr(O0, exception_addr);
diff --git a/hotspot/src/cpu/sparc/vm/frame_sparc.cpp b/hotspot/src/cpu/sparc/vm/frame_sparc.cpp
index 6ce05bd..29b37f0 100644
--- a/hotspot/src/cpu/sparc/vm/frame_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/frame_sparc.cpp
@@ -827,6 +827,7 @@
}
if (is_interpreted_frame()) {
+#ifndef CC_INTERP
DESCRIBE_FP_OFFSET(interpreter_frame_d_scratch_fp);
DESCRIBE_FP_OFFSET(interpreter_frame_l_scratch_fp);
DESCRIBE_FP_OFFSET(interpreter_frame_padding);
@@ -837,6 +838,7 @@
if ((esp >= sp()) && (esp < fp())) {
values.describe(-1, esp, "*Lesp");
}
+#endif
}
if (!is_compiled_frame()) {
diff --git a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
index c22f20a..9d4d13b 100644
--- a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp
@@ -2497,6 +2497,24 @@
void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) {
if (state == ftos || state == dtos) MacroAssembler::verify_FPU(stack_depth);
}
+
+
+// Jump if ((*counter_addr += increment) & mask) satisfies the condition.
+void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
+ int increment, int mask,
+ Register scratch1, Register scratch2,
+ Condition cond, Label *where) {
+ ld(counter_addr, scratch1);
+ add(scratch1, increment, scratch1);
+ if (is_simm13(mask)) {
+ andcc(scratch1, mask, G0);
+ } else {
+ set(mask, scratch2);
+ andcc(scratch1, scratch2, G0);
+ }
+ br(cond, false, Assembler::pn, *where);
+ delayed()->st(scratch1, counter_addr);
+}
#endif /* CC_INTERP */
// Inline assembly for:
@@ -2646,20 +2664,3 @@
}
#endif // CC_INTERP
}
-
-// Jump if ((*counter_addr += increment) & mask) satisfies the condition.
-void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
- int increment, int mask,
- Register scratch1, Register scratch2,
- Condition cond, Label *where) {
- ld(counter_addr, scratch1);
- add(scratch1, increment, scratch1);
- if (is_simm13(mask)) {
- andcc(scratch1, mask, G0);
- } else {
- set(mask, scratch2);
- andcc(scratch1, scratch2, G0);
- }
- br(cond, false, Assembler::pn, *where);
- delayed()->st(scratch1, counter_addr);
-}
diff --git a/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp b/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp
index f5ac37c..c15c3c0 100644
--- a/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/nativeInst_sparc.cpp
@@ -23,7 +23,8 @@
*/
#include "precompiled.hpp"
-#include "asm/macroAssembler.hpp"
+#include "asm/macroAssembler.inline.hpp"
+#include "code/codeCache.hpp"
#include "memory/resourceArea.hpp"
#include "nativeInst_sparc.hpp"
#include "oops/oop.inline.hpp"
diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.cpp b/hotspot/src/cpu/x86/vm/assembler_x86.cpp
index 49cc9ed..d305ac1 100644
--- a/hotspot/src/cpu/x86/vm/assembler_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.cpp
@@ -1089,6 +1089,21 @@
emit_arith(0x23, 0xC0, dst, src);
}
+void Assembler::andnl(Register dst, Register src1, Register src2) {
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ int encode = vex_prefix_0F38_and_encode(dst, src1, src2);
+ emit_int8((unsigned char)0xF2);
+ emit_int8((unsigned char)(0xC0 | encode));
+}
+
+void Assembler::andnl(Register dst, Register src1, Address src2) {
+ InstructionMark im(this);
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ vex_prefix_0F38(dst, src1, src2);
+ emit_int8((unsigned char)0xF2);
+ emit_operand(dst, src2);
+}
+
void Assembler::bsfl(Register dst, Register src) {
int encode = prefix_and_encode(dst->encoding(), src->encoding());
emit_int8(0x0F);
@@ -1110,6 +1125,51 @@
emit_int8((unsigned char)(0xC8 | encode));
}
+void Assembler::blsil(Register dst, Register src) {
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ int encode = vex_prefix_0F38_and_encode(rbx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_int8((unsigned char)(0xC0 | encode));
+}
+
+void Assembler::blsil(Register dst, Address src) {
+ InstructionMark im(this);
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ vex_prefix_0F38(rbx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_operand(rbx, src);
+}
+
+void Assembler::blsmskl(Register dst, Register src) {
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ int encode = vex_prefix_0F38_and_encode(rdx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_int8((unsigned char)(0xC0 | encode));
+}
+
+void Assembler::blsmskl(Register dst, Address src) {
+ InstructionMark im(this);
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ vex_prefix_0F38(rdx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_operand(rdx, src);
+}
+
+void Assembler::blsrl(Register dst, Register src) {
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ int encode = vex_prefix_0F38_and_encode(rcx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_int8((unsigned char)(0xC0 | encode));
+}
+
+void Assembler::blsrl(Register dst, Address src) {
+ InstructionMark im(this);
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ vex_prefix_0F38(rcx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_operand(rcx, src);
+}
+
void Assembler::call(Label& L, relocInfo::relocType rtype) {
// suspect disp32 is always good
int operand = LP64_ONLY(disp32_operand) NOT_LP64(imm_operand);
@@ -2878,6 +2938,24 @@
emit_operand(dst, src);
}
+void Assembler::tzcntl(Register dst, Register src) {
+ assert(VM_Version::supports_bmi1(), "tzcnt instruction not supported");
+ emit_int8((unsigned char)0xF3);
+ int encode = prefix_and_encode(dst->encoding(), src->encoding());
+ emit_int8(0x0F);
+ emit_int8((unsigned char)0xBC);
+ emit_int8((unsigned char)0xC0 | encode);
+}
+
+void Assembler::tzcntq(Register dst, Register src) {
+ assert(VM_Version::supports_bmi1(), "tzcnt instruction not supported");
+ emit_int8((unsigned char)0xF3);
+ int encode = prefixq_and_encode(dst->encoding(), src->encoding());
+ emit_int8(0x0F);
+ emit_int8((unsigned char)0xBC);
+ emit_int8((unsigned char)(0xC0 | encode));
+}
+
void Assembler::ucomisd(XMMRegister dst, Address src) {
NOT_LP64(assert(VM_Version::supports_sse2(), ""));
emit_simd_arith_nonds(0x2E, dst, src, VEX_SIMD_66);
@@ -4837,6 +4915,21 @@
emit_arith(0x23, 0xC0, dst, src);
}
+void Assembler::andnq(Register dst, Register src1, Register src2) {
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ int encode = vex_prefix_0F38_and_encode_q(dst, src1, src2);
+ emit_int8((unsigned char)0xF2);
+ emit_int8((unsigned char)(0xC0 | encode));
+}
+
+void Assembler::andnq(Register dst, Register src1, Address src2) {
+ InstructionMark im(this);
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ vex_prefix_0F38_q(dst, src1, src2);
+ emit_int8((unsigned char)0xF2);
+ emit_operand(dst, src2);
+}
+
void Assembler::bsfq(Register dst, Register src) {
int encode = prefixq_and_encode(dst->encoding(), src->encoding());
emit_int8(0x0F);
@@ -4858,6 +4951,51 @@
emit_int8((unsigned char)(0xC8 | encode));
}
+void Assembler::blsiq(Register dst, Register src) {
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ int encode = vex_prefix_0F38_and_encode_q(rbx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_int8((unsigned char)(0xC0 | encode));
+}
+
+void Assembler::blsiq(Register dst, Address src) {
+ InstructionMark im(this);
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ vex_prefix_0F38_q(rbx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_operand(rbx, src);
+}
+
+void Assembler::blsmskq(Register dst, Register src) {
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ int encode = vex_prefix_0F38_and_encode_q(rdx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_int8((unsigned char)(0xC0 | encode));
+}
+
+void Assembler::blsmskq(Register dst, Address src) {
+ InstructionMark im(this);
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ vex_prefix_0F38_q(rdx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_operand(rdx, src);
+}
+
+void Assembler::blsrq(Register dst, Register src) {
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ int encode = vex_prefix_0F38_and_encode_q(rcx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_int8((unsigned char)(0xC0 | encode));
+}
+
+void Assembler::blsrq(Register dst, Address src) {
+ InstructionMark im(this);
+ assert(VM_Version::supports_bmi1(), "bit manipulation instructions not supported");
+ vex_prefix_0F38_q(rcx, dst, src);
+ emit_int8((unsigned char)0xF3);
+ emit_operand(rcx, src);
+}
+
void Assembler::cdqq() {
prefix(REX_W);
emit_int8((unsigned char)0x99);
diff --git a/hotspot/src/cpu/x86/vm/assembler_x86.hpp b/hotspot/src/cpu/x86/vm/assembler_x86.hpp
index 1ad66bd..95ca231 100644
--- a/hotspot/src/cpu/x86/vm/assembler_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.hpp
@@ -590,10 +590,35 @@
vex_prefix(src, nds_enc, dst_enc, pre, VEX_OPCODE_0F, false, vector256);
}
+ void vex_prefix_0F38(Register dst, Register nds, Address src) {
+ bool vex_w = false;
+ bool vector256 = false;
+ vex_prefix(src, nds->encoding(), dst->encoding(),
+ VEX_SIMD_NONE, VEX_OPCODE_0F_38, vex_w, vector256);
+ }
+
+ void vex_prefix_0F38_q(Register dst, Register nds, Address src) {
+ bool vex_w = true;
+ bool vector256 = false;
+ vex_prefix(src, nds->encoding(), dst->encoding(),
+ VEX_SIMD_NONE, VEX_OPCODE_0F_38, vex_w, vector256);
+ }
int vex_prefix_and_encode(int dst_enc, int nds_enc, int src_enc,
VexSimdPrefix pre, VexOpcode opc,
bool vex_w, bool vector256);
+ int vex_prefix_0F38_and_encode(Register dst, Register nds, Register src) {
+ bool vex_w = false;
+ bool vector256 = false;
+ return vex_prefix_and_encode(dst->encoding(), nds->encoding(), src->encoding(),
+ VEX_SIMD_NONE, VEX_OPCODE_0F_38, vex_w, vector256);
+ }
+ int vex_prefix_0F38_and_encode_q(Register dst, Register nds, Register src) {
+ bool vex_w = true;
+ bool vector256 = false;
+ return vex_prefix_and_encode(dst->encoding(), nds->encoding(), src->encoding(),
+ VEX_SIMD_NONE, VEX_OPCODE_0F_38, vex_w, vector256);
+ }
int vex_prefix_and_encode(XMMRegister dst, XMMRegister nds, XMMRegister src,
VexSimdPrefix pre, bool vector256 = false,
VexOpcode opc = VEX_OPCODE_0F) {
@@ -897,6 +922,27 @@
void andq(Register dst, Address src);
void andq(Register dst, Register src);
+ // BMI instructions
+ void andnl(Register dst, Register src1, Register src2);
+ void andnl(Register dst, Register src1, Address src2);
+ void andnq(Register dst, Register src1, Register src2);
+ void andnq(Register dst, Register src1, Address src2);
+
+ void blsil(Register dst, Register src);
+ void blsil(Register dst, Address src);
+ void blsiq(Register dst, Register src);
+ void blsiq(Register dst, Address src);
+
+ void blsmskl(Register dst, Register src);
+ void blsmskl(Register dst, Address src);
+ void blsmskq(Register dst, Register src);
+ void blsmskq(Register dst, Address src);
+
+ void blsrl(Register dst, Register src);
+ void blsrl(Register dst, Address src);
+ void blsrq(Register dst, Register src);
+ void blsrq(Register dst, Address src);
+
void bsfl(Register dst, Register src);
void bsrl(Register dst, Register src);
@@ -1574,6 +1620,9 @@
void testq(Register dst, int32_t imm32);
void testq(Register dst, Register src);
+ // BMI - count trailing zeros
+ void tzcntl(Register dst, Register src);
+ void tzcntq(Register dst, Register src);
// Unordered Compare Scalar Double-Precision Floating-Point Values and set EFLAGS
void ucomisd(XMMRegister dst, Address src);
diff --git a/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp b/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp
index 4f60b45..d205f1d 100644
--- a/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp
+++ b/hotspot/src/cpu/x86/vm/bytecodeInterpreter_x86.inline.hpp
@@ -250,7 +250,7 @@
return op1 - op2;
}
-inline jint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
+inline juint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
return ((juint) op1) >> (op2 & 0x1f);
}
diff --git a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp
index e669f5b..0ddf854 100644
--- a/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/cppInterpreter_x86.cpp
@@ -574,7 +574,7 @@
MethodCounters::invocation_counter_offset() +
InvocationCounter::counter_offset());
const Address backedge_counter (rax,
- MethodCounter::backedge_counter_offset() +
+ MethodCounters::backedge_counter_offset() +
InvocationCounter::counter_offset());
__ get_method_counters(rbx, rax, done);
@@ -982,16 +982,18 @@
// to save/restore.
address entry_point = __ pc();
- const Address constMethod (rbx, Method::const_offset());
const Address access_flags (rbx, Method::access_flags_offset());
- const Address size_of_parameters(rcx, ConstMethod::size_of_parameters_offset());
// rsi/r13 == state/locals rdi == prevstate
const Register locals = rdi;
// get parameter size (always needed)
- __ movptr(rcx, constMethod);
- __ load_unsigned_short(rcx, size_of_parameters);
+ {
+ const Address constMethod (rbx, Method::const_offset());
+ const Address size_of_parameters(rcx, ConstMethod::size_of_parameters_offset());
+ __ movptr(rcx, constMethod);
+ __ load_unsigned_short(rcx, size_of_parameters);
+ }
// rbx: Method*
// rcx: size of parameters
@@ -1111,14 +1113,16 @@
const Register method = rbx;
const Register thread = LP64_ONLY(r15_thread) NOT_LP64(rdi);
const Register t = InterpreterRuntime::SignatureHandlerGenerator::temp(); // rcx|rscratch1
- const Address constMethod (method, Method::const_offset());
- const Address size_of_parameters(t, ConstMethod::size_of_parameters_offset());
- // allocate space for parameters
+ // allocate space for parameters
__ movptr(method, STATE(_method));
__ verify_method_ptr(method);
- __ movptr(t, constMethod);
- __ load_unsigned_short(t, size_of_parameters);
+ {
+ const Address constMethod (method, Method::const_offset());
+ const Address size_of_parameters(t, ConstMethod::size_of_parameters_offset());
+ __ movptr(t, constMethod);
+ __ load_unsigned_short(t, size_of_parameters);
+ }
__ shll(t, 2);
#ifdef _LP64
__ subptr(rsp, t);
@@ -2221,7 +2225,6 @@
case Interpreter::empty : entry_point = ((InterpreterGenerator*)this)->generate_empty_entry(); break;
case Interpreter::accessor : entry_point = ((InterpreterGenerator*)this)->generate_accessor_entry(); break;
case Interpreter::abstract : entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry(); break;
- case Interpreter::method_handle : entry_point = ((InterpreterGenerator*)this)->generate_method_handle_entry(); break;
case Interpreter::java_lang_math_sin : // fall thru
case Interpreter::java_lang_math_cos : // fall thru
@@ -2229,7 +2232,10 @@
case Interpreter::java_lang_math_abs : // fall thru
case Interpreter::java_lang_math_log : // fall thru
case Interpreter::java_lang_math_log10 : // fall thru
- case Interpreter::java_lang_math_sqrt : entry_point = ((InterpreterGenerator*)this)->generate_math_entry(kind); break;
+ case Interpreter::java_lang_math_sqrt : // fall thru
+ case Interpreter::java_lang_math_pow : // fall thru
+ case Interpreter::java_lang_math_exp : // fall thru
+ entry_point = ((InterpreterGenerator*)this)->generate_math_entry(kind); break;
case Interpreter::java_lang_ref_reference_get
: entry_point = ((InterpreterGenerator*)this)->generate_Reference_get_entry(); break;
default : ShouldNotReachHere(); break;
@@ -2451,4 +2457,22 @@
return frame_size/BytesPerWord;
}
+bool AbstractInterpreter::can_be_compiled(methodHandle m) {
+ switch (method_kind(m)) {
+ case Interpreter::java_lang_math_sin : // fall thru
+ case Interpreter::java_lang_math_cos : // fall thru
+ case Interpreter::java_lang_math_tan : // fall thru
+ case Interpreter::java_lang_math_abs : // fall thru
+ case Interpreter::java_lang_math_log : // fall thru
+ case Interpreter::java_lang_math_log10 : // fall thru
+ case Interpreter::java_lang_math_sqrt : // fall thru
+ case Interpreter::java_lang_math_pow : // fall thru
+ case Interpreter::java_lang_math_exp :
+ return false;
+ default:
+ return true;
+ }
+}
+
+
#endif // CC_INTERP (all)
diff --git a/hotspot/src/cpu/x86/vm/frame_x86.cpp b/hotspot/src/cpu/x86/vm/frame_x86.cpp
index 4e83863..deeb48a 100644
--- a/hotspot/src/cpu/x86/vm/frame_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/frame_x86.cpp
@@ -687,6 +687,7 @@
void frame::describe_pd(FrameValues& values, int frame_no) {
if (is_interpreted_frame()) {
+#ifndef CC_INTERP
DESCRIBE_FP_OFFSET(interpreter_frame_sender_sp);
DESCRIBE_FP_OFFSET(interpreter_frame_last_sp);
DESCRIBE_FP_OFFSET(interpreter_frame_method);
@@ -695,6 +696,7 @@
DESCRIBE_FP_OFFSET(interpreter_frame_locals);
DESCRIBE_FP_OFFSET(interpreter_frame_bcx);
DESCRIBE_FP_OFFSET(interpreter_frame_initial_sp);
+#endif
}
}
#endif
diff --git a/hotspot/src/cpu/x86/vm/globals_x86.hpp b/hotspot/src/cpu/x86/vm/globals_x86.hpp
index e82c192..f29e5d6 100644
--- a/hotspot/src/cpu/x86/vm/globals_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/globals_x86.hpp
@@ -135,5 +135,11 @@
\
product(bool, UseCountLeadingZerosInstruction, false, \
"Use count leading zeros instruction") \
+ \
+ product(bool, UseCountTrailingZerosInstruction, false, \
+ "Use count trailing zeros instruction") \
+ \
+ product(bool, UseBMI1Instructions, false, \
+ "Use BMI instructions")
#endif // CPU_X86_VM_GLOBALS_X86_HPP
diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp
index b6f2438..92f58b4 100644
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp
@@ -266,20 +266,6 @@
addptr(cache, tmp); // construct pointer to cache entry
}
-void InterpreterMacroAssembler::get_method_counters(Register method,
- Register mcs, Label& skip) {
- Label has_counters;
- movptr(mcs, Address(method, Method::method_counters_offset()));
- testptr(mcs, mcs);
- jcc(Assembler::notZero, has_counters);
- call_VM(noreg, CAST_FROM_FN_PTR(address,
- InterpreterRuntime::build_method_counters), method);
- movptr(mcs, Address(method,Method::method_counters_offset()));
- testptr(mcs, mcs);
- jcc(Assembler::zero, skip); // No MethodCounters allocated, OutOfMemory
- bind(has_counters);
-}
-
// Load object from cpool->resolved_references(index)
void InterpreterMacroAssembler::load_resolved_reference_at_index(
Register result, Register index) {
@@ -678,6 +664,20 @@
#endif /* !CC_INTERP */
+void InterpreterMacroAssembler::get_method_counters(Register method,
+ Register mcs, Label& skip) {
+ Label has_counters;
+ movptr(mcs, Address(method, Method::method_counters_offset()));
+ testptr(mcs, mcs);
+ jcc(Assembler::notZero, has_counters);
+ call_VM(noreg, CAST_FROM_FN_PTR(address,
+ InterpreterRuntime::build_method_counters), method);
+ movptr(mcs, Address(method,Method::method_counters_offset()));
+ testptr(mcs, mcs);
+ jcc(Assembler::zero, skip); // No MethodCounters allocated, OutOfMemory
+ bind(has_counters);
+}
+
// Lock object
//
@@ -1359,6 +1359,19 @@
if (state == ftos || state == dtos) MacroAssembler::verify_FPU(stack_depth);
}
+// Jump if ((*counter_addr += increment) & mask) satisfies the condition.
+void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
+ int increment, int mask,
+ Register scratch, bool preloaded,
+ Condition cond, Label* where) {
+ if (!preloaded) {
+ movl(scratch, counter_addr);
+ }
+ incrementl(scratch, increment);
+ movl(counter_addr, scratch);
+ andl(scratch, mask);
+ jcc(cond, *where);
+}
#endif /* CC_INTERP */
@@ -1430,17 +1443,3 @@
NOT_CC_INTERP(pop(state));
}
}
-
-// Jump if ((*counter_addr += increment) & mask) satisfies the condition.
-void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
- int increment, int mask,
- Register scratch, bool preloaded,
- Condition cond, Label* where) {
- if (!preloaded) {
- movl(scratch, counter_addr);
- }
- incrementl(scratch, increment);
- movl(counter_addr, scratch);
- andl(scratch, mask);
- jcc(cond, *where);
-}
diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp
index 19ff288..88f01fc 100644
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp
@@ -77,7 +77,6 @@
void get_cache_and_index_and_bytecode_at_bcp(Register cache, Register index, Register bytecode, int byte_no, int bcp_offset, size_t index_size = sizeof(u2));
void get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size = sizeof(u2));
void get_cache_index_at_bcp(Register index, int bcp_offset, size_t index_size = sizeof(u2));
- void get_method_counters(Register method, Register mcs, Label& skip);
// load cpool->resolved_references(index);
void load_resolved_reference_at_index(Register result, Register index);
@@ -156,6 +155,7 @@
bool install_monitor_exception = true,
bool notify_jvmdi = true);
#endif /* !CC_INTERP */
+ void get_method_counters(Register method, Register mcs, Label& skip);
// Debugging
void verify_oop(Register reg, TosState state = atos); // only if +VerifyOops && state == atos
diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp
index 520c872..356106e 100644
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp
@@ -271,20 +271,6 @@
addptr(cache, tmp); // construct pointer to cache entry
}
-void InterpreterMacroAssembler::get_method_counters(Register method,
- Register mcs, Label& skip) {
- Label has_counters;
- movptr(mcs, Address(method, Method::method_counters_offset()));
- testptr(mcs, mcs);
- jcc(Assembler::notZero, has_counters);
- call_VM(noreg, CAST_FROM_FN_PTR(address,
- InterpreterRuntime::build_method_counters), method);
- movptr(mcs, Address(method,Method::method_counters_offset()));
- testptr(mcs, mcs);
- jcc(Assembler::zero, skip); // No MethodCounters allocated, OutOfMemory
- bind(has_counters);
-}
-
// Load object from cpool->resolved_references(index)
void InterpreterMacroAssembler::load_resolved_reference_at_index(
Register result, Register index) {
@@ -676,6 +662,21 @@
#endif // C_INTERP
+void InterpreterMacroAssembler::get_method_counters(Register method,
+ Register mcs, Label& skip) {
+ Label has_counters;
+ movptr(mcs, Address(method, Method::method_counters_offset()));
+ testptr(mcs, mcs);
+ jcc(Assembler::notZero, has_counters);
+ call_VM(noreg, CAST_FROM_FN_PTR(address,
+ InterpreterRuntime::build_method_counters), method);
+ movptr(mcs, Address(method,Method::method_counters_offset()));
+ testptr(mcs, mcs);
+ jcc(Assembler::zero, skip); // No MethodCounters allocated, OutOfMemory
+ bind(has_counters);
+}
+
+
// Lock object
//
// Args:
@@ -1423,6 +1424,20 @@
void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) {
}
+
+// Jump if ((*counter_addr += increment) & mask) satisfies the condition.
+void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
+ int increment, int mask,
+ Register scratch, bool preloaded,
+ Condition cond, Label* where) {
+ if (!preloaded) {
+ movl(scratch, counter_addr);
+ }
+ incrementl(scratch, increment);
+ movl(counter_addr, scratch);
+ andl(scratch, mask);
+ jcc(cond, *where);
+}
#endif // !CC_INTERP
@@ -1491,16 +1506,3 @@
}
}
-// Jump if ((*counter_addr += increment) & mask) satisfies the condition.
-void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr,
- int increment, int mask,
- Register scratch, bool preloaded,
- Condition cond, Label* where) {
- if (!preloaded) {
- movl(scratch, counter_addr);
- }
- incrementl(scratch, increment);
- movl(counter_addr, scratch);
- andl(scratch, mask);
- jcc(cond, *where);
-}
diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp
index 36bd779..9186009 100644
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp
@@ -99,7 +99,6 @@
void get_cache_and_index_and_bytecode_at_bcp(Register cache, Register index, Register bytecode, int byte_no, int bcp_offset, size_t index_size = sizeof(u2));
void get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size = sizeof(u2));
void get_cache_index_at_bcp(Register index, int bcp_offset, size_t index_size = sizeof(u2));
- void get_method_counters(Register method, Register mcs, Label& skip);
// load cpool->resolved_references(index);
void load_resolved_reference_at_index(Register result, Register index);
@@ -172,6 +171,7 @@
bool install_monitor_exception = true,
bool notify_jvmdi = true);
#endif // CC_INTERP
+ void get_method_counters(Register method, Register mcs, Label& skip);
// Object locking
void lock_object (Register lock_reg);
diff --git a/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp b/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp
index 865801e..3c66bf4 100644
--- a/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp
+++ b/hotspot/src/cpu/x86/vm/interpreter_x86_32.cpp
@@ -229,10 +229,12 @@
// abstract method entry
+#ifndef CC_INTERP
// pop return address, reset last_sp to NULL
__ empty_expression_stack();
__ restore_bcp(); // rsi must be correct for exception handler (was destroyed)
__ restore_locals(); // make sure locals pointer is correct as well (was destroyed)
+#endif
// throw exception
__ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::throw_AbstractMethodError));
diff --git a/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp b/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp
index bc5229b..02ee745 100644
--- a/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp
+++ b/hotspot/src/cpu/x86/vm/interpreter_x86_64.cpp
@@ -310,10 +310,12 @@
// abstract method entry
+#ifndef CC_INTERP
// pop return address, reset last_sp to NULL
__ empty_expression_stack();
__ restore_bcp(); // rsi must be correct for exception handler (was destroyed)
__ restore_locals(); // make sure locals pointer is correct as well (was destroyed)
+#endif
// throw exception
__ call_VM(noreg, CAST_FROM_FN_PTR(address,
diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
index de38b4a..b949e4e 100644
--- a/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
+++ b/hotspot/src/cpu/x86/vm/vm_version_x86.cpp
@@ -429,7 +429,7 @@
}
char buf[256];
- jio_snprintf(buf, sizeof(buf), "(%u cores per cpu, %u threads per core) family %d model %d stepping %d%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
+ jio_snprintf(buf, sizeof(buf), "(%u cores per cpu, %u threads per core) family %d model %d stepping %d%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
cores_per_cpu(), threads_per_core(),
cpu_family(), _model, _stepping,
(supports_cmov() ? ", cmov" : ""),
@@ -455,7 +455,9 @@
(supports_ht() ? ", ht": ""),
(supports_tsc() ? ", tsc": ""),
(supports_tscinv_bit() ? ", tscinvbit": ""),
- (supports_tscinv() ? ", tscinv": ""));
+ (supports_tscinv() ? ", tscinv": ""),
+ (supports_bmi1() ? ", bmi1" : ""),
+ (supports_bmi2() ? ", bmi2" : ""));
_features_str = strdup(buf);
// UseSSE is set to the smaller of what hardware supports and what
@@ -600,13 +602,6 @@
}
}
- // Use count leading zeros count instruction if available.
- if (supports_lzcnt()) {
- if (FLAG_IS_DEFAULT(UseCountLeadingZerosInstruction)) {
- UseCountLeadingZerosInstruction = true;
- }
- }
-
// some defaults for AMD family 15h
if ( cpu_family() == 0x15 ) {
// On family 15h processors default is no sw prefetch
@@ -692,6 +687,35 @@
}
#endif // COMPILER2
+ // Use count leading zeros count instruction if available.
+ if (supports_lzcnt()) {
+ if (FLAG_IS_DEFAULT(UseCountLeadingZerosInstruction)) {
+ UseCountLeadingZerosInstruction = true;
+ }
+ } else if (UseCountLeadingZerosInstruction) {
+ warning("lzcnt instruction is not available on this CPU");
+ FLAG_SET_DEFAULT(UseCountLeadingZerosInstruction, false);
+ }
+
+ if (supports_bmi1()) {
+ if (FLAG_IS_DEFAULT(UseBMI1Instructions)) {
+ UseBMI1Instructions = true;
+ }
+ } else if (UseBMI1Instructions) {
+ warning("BMI1 instructions are not available on this CPU");
+ FLAG_SET_DEFAULT(UseBMI1Instructions, false);
+ }
+
+ // Use count trailing zeros instruction if available
+ if (supports_bmi1()) {
+ if (FLAG_IS_DEFAULT(UseCountTrailingZerosInstruction)) {
+ UseCountTrailingZerosInstruction = UseBMI1Instructions;
+ }
+ } else if (UseCountTrailingZerosInstruction) {
+ warning("tzcnt instruction is not available on this CPU");
+ FLAG_SET_DEFAULT(UseCountTrailingZerosInstruction, false);
+ }
+
// Use population count instruction if available.
if (supports_popcnt()) {
if (FLAG_IS_DEFAULT(UsePopCountInstruction)) {
diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp
index 86e9b66..07d6445 100644
--- a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp
+++ b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp
@@ -141,7 +141,8 @@
struct {
uint32_t LahfSahf : 1,
CmpLegacy : 1,
- : 4,
+ : 3,
+ lzcnt_intel : 1,
lzcnt : 1,
sse4a : 1,
misalignsse : 1,
@@ -251,7 +252,9 @@
CPU_AVX2 = (1 << 18),
CPU_AES = (1 << 19),
CPU_ERMS = (1 << 20), // enhanced 'rep movsb/stosb' instructions
- CPU_CLMUL = (1 << 21) // carryless multiply for CRC
+ CPU_CLMUL = (1 << 21), // carryless multiply for CRC
+ CPU_BMI1 = (1 << 22),
+ CPU_BMI2 = (1 << 23)
} cpuFeatureFlags;
enum {
@@ -423,6 +426,8 @@
if (_cpuid_info.sef_cpuid7_ebx.bits.avx2 != 0)
result |= CPU_AVX2;
}
+ if(_cpuid_info.sef_cpuid7_ebx.bits.bmi1 != 0)
+ result |= CPU_BMI1;
if (_cpuid_info.std_cpuid1_edx.bits.tsc != 0)
result |= CPU_TSC;
if (_cpuid_info.ext_cpuid7_edx.bits.tsc_invariance != 0)
@@ -444,6 +449,13 @@
if (_cpuid_info.ext_cpuid1_ecx.bits.sse4a != 0)
result |= CPU_SSE4A;
}
+ // Intel features.
+ if(is_intel()) {
+ if(_cpuid_info.sef_cpuid7_ebx.bits.bmi2 != 0)
+ result |= CPU_BMI2;
+ if(_cpuid_info.ext_cpuid1_ecx.bits.lzcnt_intel != 0)
+ result |= CPU_LZCNT;
+ }
return result;
}
@@ -560,7 +572,8 @@
static bool supports_aes() { return (_cpuFeatures & CPU_AES) != 0; }
static bool supports_erms() { return (_cpuFeatures & CPU_ERMS) != 0; }
static bool supports_clmul() { return (_cpuFeatures & CPU_CLMUL) != 0; }
-
+ static bool supports_bmi1() { return (_cpuFeatures & CPU_BMI1) != 0; }
+ static bool supports_bmi2() { return (_cpuFeatures & CPU_BMI2) != 0; }
// Intel features
static bool is_intel_family_core() { return is_intel() &&
extended_cpu_family() == CPU_FAMILY_INTEL_CORE; }
diff --git a/hotspot/src/cpu/x86/vm/x86_32.ad b/hotspot/src/cpu/x86/vm/x86_32.ad
index 8948682..c4820db 100644
--- a/hotspot/src/cpu/x86/vm/x86_32.ad
+++ b/hotspot/src/cpu/x86/vm/x86_32.ad
@@ -5163,6 +5163,19 @@
%}
instruct countTrailingZerosI(rRegI dst, rRegI src, eFlagsReg cr) %{
+ predicate(UseCountTrailingZerosInstruction);
+ match(Set dst (CountTrailingZerosI src));
+ effect(KILL cr);
+
+ format %{ "TZCNT $dst, $src\t# count trailing zeros (int)" %}
+ ins_encode %{
+ __ tzcntl($dst$$Register, $src$$Register);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct countTrailingZerosI_bsf(rRegI dst, rRegI src, eFlagsReg cr) %{
+ predicate(!UseCountTrailingZerosInstruction);
match(Set dst (CountTrailingZerosI src));
effect(KILL cr);
@@ -5182,6 +5195,30 @@
%}
instruct countTrailingZerosL(rRegI dst, eRegL src, eFlagsReg cr) %{
+ predicate(UseCountTrailingZerosInstruction);
+ match(Set dst (CountTrailingZerosL src));
+ effect(TEMP dst, KILL cr);
+
+ format %{ "TZCNT $dst, $src.lo\t# count trailing zeros (long) \n\t"
+ "JNC done\n\t"
+ "TZCNT $dst, $src.hi\n\t"
+ "ADD $dst, 32\n"
+ "done:" %}
+ ins_encode %{
+ Register Rdst = $dst$$Register;
+ Register Rsrc = $src$$Register;
+ Label done;
+ __ tzcntl(Rdst, Rsrc);
+ __ jccb(Assembler::carryClear, done);
+ __ tzcntl(Rdst, HIGH_FROM_LOW(Rsrc));
+ __ addl(Rdst, BitsPerInt);
+ __ bind(done);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct countTrailingZerosL_bsf(rRegI dst, eRegL src, eFlagsReg cr) %{
+ predicate(!UseCountTrailingZerosInstruction);
match(Set dst (CountTrailingZerosL src));
effect(TEMP dst, KILL cr);
@@ -8027,6 +8064,123 @@
ins_pipe( ialu_mem_imm );
%}
+// BMI1 instructions
+instruct andnI_rReg_rReg_rReg(rRegI dst, rRegI src1, rRegI src2, immI_M1 minus_1, eFlagsReg cr) %{
+ match(Set dst (AndI (XorI src1 minus_1) src2));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "ANDNL $dst, $src1, $src2" %}
+
+ ins_encode %{
+ __ andnl($dst$$Register, $src1$$Register, $src2$$Register);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct andnI_rReg_rReg_mem(rRegI dst, rRegI src1, memory src2, immI_M1 minus_1, eFlagsReg cr) %{
+ match(Set dst (AndI (XorI src1 minus_1) (LoadI src2) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "ANDNL $dst, $src1, $src2" %}
+
+ ins_encode %{
+ __ andnl($dst$$Register, $src1$$Register, $src2$$Address);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsiI_rReg_rReg(rRegI dst, rRegI src, immI0 imm_zero, eFlagsReg cr) %{
+ match(Set dst (AndI (SubI imm_zero src) src));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "BLSIL $dst, $src" %}
+
+ ins_encode %{
+ __ blsil($dst$$Register, $src$$Register);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsiI_rReg_mem(rRegI dst, memory src, immI0 imm_zero, eFlagsReg cr) %{
+ match(Set dst (AndI (SubI imm_zero (LoadI src) ) (LoadI src) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "BLSIL $dst, $src" %}
+
+ ins_encode %{
+ __ blsil($dst$$Register, $src$$Address);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsmskI_rReg_rReg(rRegI dst, rRegI src, immI_M1 minus_1, eFlagsReg cr)
+%{
+ match(Set dst (XorI (AddI src minus_1) src));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "BLSMSKL $dst, $src" %}
+
+ ins_encode %{
+ __ blsmskl($dst$$Register, $src$$Register);
+ %}
+
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsmskI_rReg_mem(rRegI dst, memory src, immI_M1 minus_1, eFlagsReg cr)
+%{
+ match(Set dst (XorI (AddI (LoadI src) minus_1) (LoadI src) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "BLSMSKL $dst, $src" %}
+
+ ins_encode %{
+ __ blsmskl($dst$$Register, $src$$Address);
+ %}
+
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsrI_rReg_rReg(rRegI dst, rRegI src, immI_M1 minus_1, eFlagsReg cr)
+%{
+ match(Set dst (AndI (AddI src minus_1) src) );
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "BLSRL $dst, $src" %}
+
+ ins_encode %{
+ __ blsrl($dst$$Register, $src$$Register);
+ %}
+
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsrI_rReg_mem(rRegI dst, memory src, immI_M1 minus_1, eFlagsReg cr)
+%{
+ match(Set dst (AndI (AddI (LoadI src) minus_1) (LoadI src) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "BLSRL $dst, $src" %}
+
+ ins_encode %{
+ __ blsrl($dst$$Register, $src$$Address);
+ %}
+
+ ins_pipe(ialu_reg_mem);
+%}
+
// Or Instructions
// Or Register with Register
instruct orI_eReg(rRegI dst, rRegI src, eFlagsReg cr) %{
@@ -8649,6 +8803,210 @@
ins_pipe( ialu_reg_long_mem );
%}
+// BMI1 instructions
+instruct andnL_eReg_eReg_eReg(eRegL dst, eRegL src1, eRegL src2, immL_M1 minus_1, eFlagsReg cr) %{
+ match(Set dst (AndL (XorL src1 minus_1) src2));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr, TEMP dst);
+
+ format %{ "ANDNL $dst.lo, $src1.lo, $src2.lo\n\t"
+ "ANDNL $dst.hi, $src1.hi, $src2.hi"
+ %}
+
+ ins_encode %{
+ Register Rdst = $dst$$Register;
+ Register Rsrc1 = $src1$$Register;
+ Register Rsrc2 = $src2$$Register;
+ __ andnl(Rdst, Rsrc1, Rsrc2);
+ __ andnl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc1), HIGH_FROM_LOW(Rsrc2));
+ %}
+ ins_pipe(ialu_reg_reg_long);
+%}
+
+instruct andnL_eReg_eReg_mem(eRegL dst, eRegL src1, memory src2, immL_M1 minus_1, eFlagsReg cr) %{
+ match(Set dst (AndL (XorL src1 minus_1) (LoadL src2) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr, TEMP dst);
+
+ ins_cost(125);
+ format %{ "ANDNL $dst.lo, $src1.lo, $src2\n\t"
+ "ANDNL $dst.hi, $src1.hi, $src2+4"
+ %}
+
+ ins_encode %{
+ Register Rdst = $dst$$Register;
+ Register Rsrc1 = $src1$$Register;
+ Address src2_hi = Address::make_raw($src2$$base, $src2$$index, $src2$$scale, $src2$$disp + 4, relocInfo::none);
+
+ __ andnl(Rdst, Rsrc1, $src2$$Address);
+ __ andnl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc1), src2_hi);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsiL_eReg_eReg(eRegL dst, eRegL src, immL0 imm_zero, eFlagsReg cr) %{
+ match(Set dst (AndL (SubL imm_zero src) src));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr, TEMP dst);
+
+ format %{ "MOVL $dst.hi, 0\n\t"
+ "BLSIL $dst.lo, $src.lo\n\t"
+ "JNZ done\n\t"
+ "BLSIL $dst.hi, $src.hi\n"
+ "done:"
+ %}
+
+ ins_encode %{
+ Label done;
+ Register Rdst = $dst$$Register;
+ Register Rsrc = $src$$Register;
+ __ movl(HIGH_FROM_LOW(Rdst), 0);
+ __ blsil(Rdst, Rsrc);
+ __ jccb(Assembler::notZero, done);
+ __ blsil(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc));
+ __ bind(done);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsiL_eReg_mem(eRegL dst, memory src, immL0 imm_zero, eFlagsReg cr) %{
+ match(Set dst (AndL (SubL imm_zero (LoadL src) ) (LoadL src) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr, TEMP dst);
+
+ ins_cost(125);
+ format %{ "MOVL $dst.hi, 0\n\t"
+ "BLSIL $dst.lo, $src\n\t"
+ "JNZ done\n\t"
+ "BLSIL $dst.hi, $src+4\n"
+ "done:"
+ %}
+
+ ins_encode %{
+ Label done;
+ Register Rdst = $dst$$Register;
+ Address src_hi = Address::make_raw($src$$base, $src$$index, $src$$scale, $src$$disp + 4, relocInfo::none);
+
+ __ movl(HIGH_FROM_LOW(Rdst), 0);
+ __ blsil(Rdst, $src$$Address);
+ __ jccb(Assembler::notZero, done);
+ __ blsil(HIGH_FROM_LOW(Rdst), src_hi);
+ __ bind(done);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsmskL_eReg_eReg(eRegL dst, eRegL src, immL_M1 minus_1, eFlagsReg cr)
+%{
+ match(Set dst (XorL (AddL src minus_1) src));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr, TEMP dst);
+
+ format %{ "MOVL $dst.hi, 0\n\t"
+ "BLSMSKL $dst.lo, $src.lo\n\t"
+ "JNC done\n\t"
+ "BLSMSKL $dst.hi, $src.hi\n"
+ "done:"
+ %}
+
+ ins_encode %{
+ Label done;
+ Register Rdst = $dst$$Register;
+ Register Rsrc = $src$$Register;
+ __ movl(HIGH_FROM_LOW(Rdst), 0);
+ __ blsmskl(Rdst, Rsrc);
+ __ jccb(Assembler::carryClear, done);
+ __ blsmskl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc));
+ __ bind(done);
+ %}
+
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsmskL_eReg_mem(eRegL dst, memory src, immL_M1 minus_1, eFlagsReg cr)
+%{
+ match(Set dst (XorL (AddL (LoadL src) minus_1) (LoadL src) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr, TEMP dst);
+
+ ins_cost(125);
+ format %{ "MOVL $dst.hi, 0\n\t"
+ "BLSMSKL $dst.lo, $src\n\t"
+ "JNC done\n\t"
+ "BLSMSKL $dst.hi, $src+4\n"
+ "done:"
+ %}
+
+ ins_encode %{
+ Label done;
+ Register Rdst = $dst$$Register;
+ Address src_hi = Address::make_raw($src$$base, $src$$index, $src$$scale, $src$$disp + 4, relocInfo::none);
+
+ __ movl(HIGH_FROM_LOW(Rdst), 0);
+ __ blsmskl(Rdst, $src$$Address);
+ __ jccb(Assembler::carryClear, done);
+ __ blsmskl(HIGH_FROM_LOW(Rdst), src_hi);
+ __ bind(done);
+ %}
+
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsrL_eReg_eReg(eRegL dst, eRegL src, immL_M1 minus_1, eFlagsReg cr)
+%{
+ match(Set dst (AndL (AddL src minus_1) src) );
+ predicate(UseBMI1Instructions);
+ effect(KILL cr, TEMP dst);
+
+ format %{ "MOVL $dst.hi, $src.hi\n\t"
+ "BLSRL $dst.lo, $src.lo\n\t"
+ "JNC done\n\t"
+ "BLSRL $dst.hi, $src.hi\n"
+ "done:"
+ %}
+
+ ins_encode %{
+ Label done;
+ Register Rdst = $dst$$Register;
+ Register Rsrc = $src$$Register;
+ __ movl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc));
+ __ blsrl(Rdst, Rsrc);
+ __ jccb(Assembler::carryClear, done);
+ __ blsrl(HIGH_FROM_LOW(Rdst), HIGH_FROM_LOW(Rsrc));
+ __ bind(done);
+ %}
+
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsrL_eReg_mem(eRegL dst, memory src, immL_M1 minus_1, eFlagsReg cr)
+%{
+ match(Set dst (AndL (AddL (LoadL src) minus_1) (LoadL src) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr, TEMP dst);
+
+ ins_cost(125);
+ format %{ "MOVL $dst.hi, $src+4\n\t"
+ "BLSRL $dst.lo, $src\n\t"
+ "JNC done\n\t"
+ "BLSRL $dst.hi, $src+4\n"
+ "done:"
+ %}
+
+ ins_encode %{
+ Label done;
+ Register Rdst = $dst$$Register;
+ Address src_hi = Address::make_raw($src$$base, $src$$index, $src$$scale, $src$$disp + 4, relocInfo::none);
+ __ movl(HIGH_FROM_LOW(Rdst), src_hi);
+ __ blsrl(Rdst, $src$$Address);
+ __ jccb(Assembler::carryClear, done);
+ __ blsrl(HIGH_FROM_LOW(Rdst), src_hi);
+ __ bind(done);
+ %}
+
+ ins_pipe(ialu_reg_mem);
+%}
+
// Or Long Register with Register
instruct orl_eReg(eRegL dst, eRegL src, eFlagsReg cr) %{
match(Set dst (OrL dst src));
diff --git a/hotspot/src/cpu/x86/vm/x86_64.ad b/hotspot/src/cpu/x86/vm/x86_64.ad
index b10f920..cebc37c 100644
--- a/hotspot/src/cpu/x86/vm/x86_64.ad
+++ b/hotspot/src/cpu/x86/vm/x86_64.ad
@@ -6022,6 +6022,19 @@
%}
instruct countTrailingZerosI(rRegI dst, rRegI src, rFlagsReg cr) %{
+ predicate(UseCountTrailingZerosInstruction);
+ match(Set dst (CountTrailingZerosI src));
+ effect(KILL cr);
+
+ format %{ "tzcntl $dst, $src\t# count trailing zeros (int)" %}
+ ins_encode %{
+ __ tzcntl($dst$$Register, $src$$Register);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct countTrailingZerosI_bsf(rRegI dst, rRegI src, rFlagsReg cr) %{
+ predicate(!UseCountTrailingZerosInstruction);
match(Set dst (CountTrailingZerosI src));
effect(KILL cr);
@@ -6041,6 +6054,19 @@
%}
instruct countTrailingZerosL(rRegI dst, rRegL src, rFlagsReg cr) %{
+ predicate(UseCountTrailingZerosInstruction);
+ match(Set dst (CountTrailingZerosL src));
+ effect(KILL cr);
+
+ format %{ "tzcntq $dst, $src\t# count trailing zeros (long)" %}
+ ins_encode %{
+ __ tzcntq($dst$$Register, $src$$Register);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct countTrailingZerosL_bsf(rRegI dst, rRegL src, rFlagsReg cr) %{
+ predicate(!UseCountTrailingZerosInstruction);
match(Set dst (CountTrailingZerosL src));
effect(KILL cr);
@@ -8622,6 +8648,122 @@
ins_pipe(ialu_mem_imm);
%}
+// BMI1 instructions
+instruct andnI_rReg_rReg_mem(rRegI dst, rRegI src1, memory src2, immI_M1 minus_1, rFlagsReg cr) %{
+ match(Set dst (AndI (XorI src1 minus_1) (LoadI src2)));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "andnl $dst, $src1, $src2" %}
+
+ ins_encode %{
+ __ andnl($dst$$Register, $src1$$Register, $src2$$Address);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct andnI_rReg_rReg_rReg(rRegI dst, rRegI src1, rRegI src2, immI_M1 minus_1, rFlagsReg cr) %{
+ match(Set dst (AndI (XorI src1 minus_1) src2));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "andnl $dst, $src1, $src2" %}
+
+ ins_encode %{
+ __ andnl($dst$$Register, $src1$$Register, $src2$$Register);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsiI_rReg_rReg(rRegI dst, rRegI src, immI0 imm_zero, rFlagsReg cr) %{
+ match(Set dst (AndI (SubI imm_zero src) src));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "blsil $dst, $src" %}
+
+ ins_encode %{
+ __ blsil($dst$$Register, $src$$Register);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsiI_rReg_mem(rRegI dst, memory src, immI0 imm_zero, rFlagsReg cr) %{
+ match(Set dst (AndI (SubI imm_zero (LoadI src) ) (LoadI src) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "blsil $dst, $src" %}
+
+ ins_encode %{
+ __ blsil($dst$$Register, $src$$Address);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsmskI_rReg_mem(rRegI dst, memory src, immI_M1 minus_1, rFlagsReg cr)
+%{
+ match(Set dst (XorI (AddI (LoadI src) minus_1) (LoadI src) ) );
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "blsmskl $dst, $src" %}
+
+ ins_encode %{
+ __ blsmskl($dst$$Register, $src$$Address);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsmskI_rReg_rReg(rRegI dst, rRegI src, immI_M1 minus_1, rFlagsReg cr)
+%{
+ match(Set dst (XorI (AddI src minus_1) src));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "blsmskl $dst, $src" %}
+
+ ins_encode %{
+ __ blsmskl($dst$$Register, $src$$Register);
+ %}
+
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsrI_rReg_rReg(rRegI dst, rRegI src, immI_M1 minus_1, rFlagsReg cr)
+%{
+ match(Set dst (AndI (AddI src minus_1) src) );
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "blsrl $dst, $src" %}
+
+ ins_encode %{
+ __ blsrl($dst$$Register, $src$$Register);
+ %}
+
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsrI_rReg_mem(rRegI dst, memory src, immI_M1 minus_1, rFlagsReg cr)
+%{
+ match(Set dst (AndI (AddI (LoadI src) minus_1) (LoadI src) ) );
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "blsrl $dst, $src" %}
+
+ ins_encode %{
+ __ blsrl($dst$$Register, $src$$Address);
+ %}
+
+ ins_pipe(ialu_reg);
+%}
+
// Or Instructions
// Or Register with Register
instruct orI_rReg(rRegI dst, rRegI src, rFlagsReg cr)
@@ -8853,6 +8995,122 @@
ins_pipe(ialu_mem_imm);
%}
+// BMI1 instructions
+instruct andnL_rReg_rReg_mem(rRegL dst, rRegL src1, memory src2, immL_M1 minus_1, rFlagsReg cr) %{
+ match(Set dst (AndL (XorL src1 minus_1) (LoadL src2)));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "andnq $dst, $src1, $src2" %}
+
+ ins_encode %{
+ __ andnq($dst$$Register, $src1$$Register, $src2$$Address);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct andnL_rReg_rReg_rReg(rRegL dst, rRegL src1, rRegL src2, immL_M1 minus_1, rFlagsReg cr) %{
+ match(Set dst (AndL (XorL src1 minus_1) src2));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "andnq $dst, $src1, $src2" %}
+
+ ins_encode %{
+ __ andnq($dst$$Register, $src1$$Register, $src2$$Register);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsiL_rReg_rReg(rRegL dst, rRegL src, immL0 imm_zero, rFlagsReg cr) %{
+ match(Set dst (AndL (SubL imm_zero src) src));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "blsiq $dst, $src" %}
+
+ ins_encode %{
+ __ blsiq($dst$$Register, $src$$Register);
+ %}
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsiL_rReg_mem(rRegL dst, memory src, immL0 imm_zero, rFlagsReg cr) %{
+ match(Set dst (AndL (SubL imm_zero (LoadL src) ) (LoadL src) ));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "blsiq $dst, $src" %}
+
+ ins_encode %{
+ __ blsiq($dst$$Register, $src$$Address);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsmskL_rReg_mem(rRegL dst, memory src, immL_M1 minus_1, rFlagsReg cr)
+%{
+ match(Set dst (XorL (AddL (LoadL src) minus_1) (LoadL src) ) );
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "blsmskq $dst, $src" %}
+
+ ins_encode %{
+ __ blsmskq($dst$$Register, $src$$Address);
+ %}
+ ins_pipe(ialu_reg_mem);
+%}
+
+instruct blsmskL_rReg_rReg(rRegL dst, rRegL src, immL_M1 minus_1, rFlagsReg cr)
+%{
+ match(Set dst (XorL (AddL src minus_1) src));
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "blsmskq $dst, $src" %}
+
+ ins_encode %{
+ __ blsmskq($dst$$Register, $src$$Register);
+ %}
+
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsrL_rReg_rReg(rRegL dst, rRegL src, immL_M1 minus_1, rFlagsReg cr)
+%{
+ match(Set dst (AndL (AddL src minus_1) src) );
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ format %{ "blsrq $dst, $src" %}
+
+ ins_encode %{
+ __ blsrq($dst$$Register, $src$$Register);
+ %}
+
+ ins_pipe(ialu_reg);
+%}
+
+instruct blsrL_rReg_mem(rRegL dst, memory src, immL_M1 minus_1, rFlagsReg cr)
+%{
+ match(Set dst (AndL (AddL (LoadL src) minus_1) (LoadL src)) );
+ predicate(UseBMI1Instructions);
+ effect(KILL cr);
+
+ ins_cost(125);
+ format %{ "blsrq $dst, $src" %}
+
+ ins_encode %{
+ __ blsrq($dst$$Register, $src$$Address);
+ %}
+
+ ins_pipe(ialu_reg);
+%}
+
// Or Instructions
// Or Register with Register
instruct orL_rReg(rRegL dst, rRegL src, rFlagsReg cr)
diff --git a/hotspot/src/os/aix/vm/os_aix.cpp b/hotspot/src/os/aix/vm/os_aix.cpp
index ba6b8d4..33385e7 100644
--- a/hotspot/src/os/aix/vm/os_aix.cpp
+++ b/hotspot/src/os/aix/vm/os_aix.cpp
@@ -1135,15 +1135,10 @@
}
void os::javaTimeNanos_info(jvmtiTimerInfo *info_ptr) {
- {
- // gettimeofday - based on time in seconds since the Epoch thus does not wrap
- info_ptr->max_value = ALL_64_BITS;
-
- // gettimeofday is a real time clock so it skips
- info_ptr->may_skip_backward = true;
- info_ptr->may_skip_forward = true;
- }
-
+ info_ptr->max_value = ALL_64_BITS;
+ // mread_real_time() is monotonic (see 'os::javaTimeNanos()')
+ info_ptr->may_skip_backward = false;
+ info_ptr->may_skip_forward = false;
info_ptr->kind = JVMTI_TIMER_ELAPSED; // elapsed not CPU time
}
@@ -2799,105 +2794,6 @@
return ::read(fd, buf, nBytes);
}
-#define NANOSECS_PER_MILLISEC 1000000
-
-int os::sleep(Thread* thread, jlong millis, bool interruptible) {
- assert(thread == Thread::current(), "thread consistency check");
-
- // Prevent nasty overflow in deadline calculation
- // by handling long sleeps similar to solaris or windows.
- const jlong limit = INT_MAX;
- int result;
- while (millis > limit) {
- if ((result = os::sleep(thread, limit, interruptible)) != OS_OK) {
- return result;
- }
- millis -= limit;
- }
-
- ParkEvent * const slp = thread->_SleepEvent;
- slp->reset();
- OrderAccess::fence();
-
- if (interruptible) {
- jlong prevtime = javaTimeNanos();
-
- // Prevent precision loss and too long sleeps
- jlong deadline = prevtime + millis * NANOSECS_PER_MILLISEC;
-
- for (;;) {
- if (os::is_interrupted(thread, true)) {
- return OS_INTRPT;
- }
-
- jlong newtime = javaTimeNanos();
-
- assert(newtime >= prevtime, "time moving backwards");
- // Doing prevtime and newtime in microseconds doesn't help precision,
- // and trying to round up to avoid lost milliseconds can result in a
- // too-short delay.
- millis -= (newtime - prevtime) / NANOSECS_PER_MILLISEC;
-
- if (millis <= 0) {
- return OS_OK;
- }
-
- // Stop sleeping if we passed the deadline
- if (newtime >= deadline) {
- return OS_OK;
- }
-
- prevtime = newtime;
-
- {
- assert(thread->is_Java_thread(), "sanity check");
- JavaThread *jt = (JavaThread *) thread;
- ThreadBlockInVM tbivm(jt);
- OSThreadWaitState osts(jt->osthread(), false /* not Object.wait() */);
-
- jt->set_suspend_equivalent();
-
- slp->park(millis);
-
- // were we externally suspended while we were waiting?
- jt->check_and_wait_while_suspended();
- }
- }
- } else {
- OSThreadWaitState osts(thread->osthread(), false /* not Object.wait() */);
- jlong prevtime = javaTimeNanos();
-
- // Prevent precision loss and too long sleeps
- jlong deadline = prevtime + millis * NANOSECS_PER_MILLISEC;
-
- for (;;) {
- // It'd be nice to avoid the back-to-back javaTimeNanos() calls on
- // the 1st iteration ...
- jlong newtime = javaTimeNanos();
-
- if (newtime - prevtime < 0) {
- // time moving backwards, should only happen if no monotonic clock
- // not a guarantee() because JVM should not abort on kernel/glibc bugs
- // - HS14 Commented out as not implemented.
- // - TODO Maybe we should implement it?
- //assert(!Aix::supports_monotonic_clock(), "time moving backwards");
- } else {
- millis -= (newtime - prevtime) / NANOSECS_PER_MILLISEC;
- }
-
- if (millis <= 0) break;
-
- if (newtime >= deadline) {
- break;
- }
-
- prevtime = newtime;
- slp->park(millis);
- }
- return OS_OK;
- }
-}
-
void os::naked_short_sleep(jlong ms) {
struct timespec req;
@@ -3246,50 +3142,6 @@
guarantee(osthread->sr.is_running(), "Must be running!");
}
-////////////////////////////////////////////////////////////////////////////////
-// interrupt support
-
-void os::interrupt(Thread* thread) {
- assert(Thread::current() == thread || Threads_lock->owned_by_self(),
- "possibility of dangling Thread pointer");
-
- OSThread* osthread = thread->osthread();
-
- if (!osthread->interrupted()) {
- osthread->set_interrupted(true);
- // More than one thread can get here with the same value of osthread,
- // resulting in multiple notifications. We do, however, want the store
- // to interrupted() to be visible to other threads before we execute unpark().
- OrderAccess::fence();
- ParkEvent * const slp = thread->_SleepEvent;
- if (slp != NULL) slp->unpark();
- }
-
- // For JSR166. Unpark even if interrupt status already was set
- if (thread->is_Java_thread())
- ((JavaThread*)thread)->parker()->unpark();
-
- ParkEvent * ev = thread->_ParkEvent;
- if (ev != NULL) ev->unpark();
-
-}
-
-bool os::is_interrupted(Thread* thread, bool clear_interrupted) {
- assert(Thread::current() == thread || Threads_lock->owned_by_self(),
- "possibility of dangling Thread pointer");
-
- OSThread* osthread = thread->osthread();
-
- bool interrupted = osthread->interrupted();
-
- if (interrupted && clear_interrupted) {
- osthread->set_interrupted(false);
- // consider thread->_SleepEvent->reset() ... optional optimization
- }
-
- return interrupted;
-}
-
///////////////////////////////////////////////////////////////////////////////////
// signal handling (except suspend/resume)
diff --git a/hotspot/src/os/aix/vm/os_aix.inline.hpp b/hotspot/src/os/aix/vm/os_aix.inline.hpp
index ff9c7a7..4a64855 100644
--- a/hotspot/src/os/aix/vm/os_aix.inline.hpp
+++ b/hotspot/src/os/aix/vm/os_aix.inline.hpp
@@ -283,4 +283,10 @@
const char* optval, socklen_t optlen) {
return ::setsockopt(fd, level, optname, optval, optlen);
}
+
+inline bool os::supports_monotonic_clock() {
+ // mread_real_time() is monotonic on AIX (see os::javaTimeNanos() comments)
+ return true;
+}
+
#endif // OS_AIX_VM_OS_AIX_INLINE_HPP
diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp
index 4490c5f..20ef1e1 100644
--- a/hotspot/src/os/linux/vm/os_linux.cpp
+++ b/hotspot/src/os/linux/vm/os_linux.cpp
@@ -5284,7 +5284,6 @@
static jlong slow_thread_cpu_time(Thread *thread, bool user_sys_cpu_time) {
static bool proc_task_unchecked = true;
- static const char *proc_stat_path = "/proc/%d/stat";
pid_t tid = thread->osthread()->thread_id();
char *s;
char stat[2048];
@@ -5297,6 +5296,8 @@
long ldummy;
FILE *fp;
+ snprintf(proc_name, 64, "/proc/%d/stat", tid);
+
// The /proc/<tid>/stat aggregates per-process usage on
// new Linux kernels 2.6+ where NPTL is supported.
// The /proc/self/task/<tid>/stat still has the per-thread usage.
@@ -5308,12 +5309,11 @@
proc_task_unchecked = false;
fp = fopen("/proc/self/task", "r");
if (fp != NULL) {
- proc_stat_path = "/proc/self/task/%d/stat";
+ snprintf(proc_name, 64, "/proc/self/task/%d/stat", tid);
fclose(fp);
}
}
- sprintf(proc_name, proc_stat_path, tid);
fp = fopen(proc_name, "r");
if ( fp == NULL ) return -1;
statlen = fread(stat, 1, 2047, fp);
diff --git a/hotspot/src/share/vm/adlc/formssel.cpp b/hotspot/src/share/vm/adlc/formssel.cpp
index 614aaf1..df58c57 100644
--- a/hotspot/src/share/vm/adlc/formssel.cpp
+++ b/hotspot/src/share/vm/adlc/formssel.cpp
@@ -660,6 +660,7 @@
int USE_of_memory = 0;
int DEF_of_memory = 0;
const char* last_memory_DEF = NULL; // to test DEF/USE pairing in asserts
+ const char* last_memory_USE = NULL;
Component *unique = NULL;
Component *comp = NULL;
ComponentList &components = (ComponentList &)_components;
@@ -681,7 +682,16 @@
assert(0 == strcmp(last_memory_DEF, comp->_name), "every memory DEF is followed by a USE of the same name");
last_memory_DEF = NULL;
}
- USE_of_memory++;
+ // Handles same memory being used multiple times in the case of BMI1 instructions.
+ if (last_memory_USE != NULL) {
+ if (strcmp(comp->_name, last_memory_USE) != 0) {
+ USE_of_memory++;
+ }
+ } else {
+ USE_of_memory++;
+ }
+ last_memory_USE = comp->_name;
+
if (DEF_of_memory == 0) // defs take precedence
unique = comp;
} else {
diff --git a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
index 7cb6d3d..974bc04 100644
--- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
+++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
@@ -1436,7 +1436,7 @@
bool need_mem_bar = false;
if (method()->name() == ciSymbol::object_initializer_name() &&
- scope()->wrote_final()) {
+ (scope()->wrote_final() || (AlwaysSafeConstructors && scope()->wrote_fields()))) {
need_mem_bar = true;
}
@@ -1550,6 +1550,10 @@
scope()->set_wrote_final();
}
+ if (code == Bytecodes::_putfield) {
+ scope()->set_wrote_fields();
+ }
+
const int offset = !needs_patching ? field->offset() : -1;
switch (code) {
case Bytecodes::_getstatic: {
@@ -3767,11 +3771,14 @@
}
// now perform tests that are based on flag settings
- if (callee->force_inline()) {
- if (inline_level() > MaxForceInlineLevel) INLINE_BAILOUT("MaxForceInlineLevel");
- print_inlining(callee, "force inline by annotation");
- } else if (callee->should_inline()) {
- print_inlining(callee, "force inline by CompileOracle");
+ if (callee->force_inline() || callee->should_inline()) {
+ if (inline_level() > MaxForceInlineLevel ) INLINE_BAILOUT("MaxForceInlineLevel");
+ if (recursive_inline_level(callee) > MaxRecursiveInlineLevel) INLINE_BAILOUT("recursive inlining too deep");
+
+ const char* msg = "";
+ if (callee->force_inline()) msg = "force inline by annotation";
+ if (callee->should_inline()) msg = "force inline by CompileOracle";
+ print_inlining(callee, msg);
} else {
// use heuristic controls on inlining
if (inline_level() > MaxInlineLevel ) INLINE_BAILOUT("inlining too deep");
diff --git a/hotspot/src/share/vm/c1/c1_IR.cpp b/hotspot/src/share/vm/c1/c1_IR.cpp
index c377e56..b2a4fbb 100644
--- a/hotspot/src/share/vm/c1/c1_IR.cpp
+++ b/hotspot/src/share/vm/c1/c1_IR.cpp
@@ -142,6 +142,7 @@
_number_of_locks = 0;
_monitor_pairing_ok = method->has_balanced_monitors();
_wrote_final = false;
+ _wrote_fields = false;
_start = NULL;
if (osr_bci == -1) {
diff --git a/hotspot/src/share/vm/c1/c1_IR.hpp b/hotspot/src/share/vm/c1/c1_IR.hpp
index ba1abee..6dc0e3a 100644
--- a/hotspot/src/share/vm/c1/c1_IR.hpp
+++ b/hotspot/src/share/vm/c1/c1_IR.hpp
@@ -150,6 +150,7 @@
int _number_of_locks; // the number of monitor lock slots needed
bool _monitor_pairing_ok; // the monitor pairing info
bool _wrote_final; // has written final field
+ bool _wrote_fields; // has written fields
BlockBegin* _start; // the start block, successsors are method entries
BitMap _requires_phi_function; // bit is set if phi functions at loop headers are necessary for a local variable
@@ -184,6 +185,9 @@
BlockBegin* start() const { return _start; }
void set_wrote_final() { _wrote_final = true; }
bool wrote_final () const { return _wrote_final; }
+ void set_wrote_fields() { _wrote_fields = true; }
+ bool wrote_fields () const { return _wrote_fields; }
+
};
diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
index 5ed0476..ca8383b 100644
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
@@ -1734,7 +1734,8 @@
(info ? new CodeEmitInfo(info) : NULL));
}
- if (is_volatile && !needs_patching) {
+ bool needs_atomic_access = is_volatile || AlwaysAtomicAccesses;
+ if (needs_atomic_access && !needs_patching) {
volatile_field_store(value.result(), address, info);
} else {
LIR_PatchCode patch_code = needs_patching ? lir_patch_normal : lir_patch_none;
@@ -1807,7 +1808,8 @@
address = generate_address(object.result(), x->offset(), field_type);
}
- if (is_volatile && !needs_patching) {
+ bool needs_atomic_access = is_volatile || AlwaysAtomicAccesses;
+ if (needs_atomic_access && !needs_patching) {
volatile_field_load(address, reg, info);
} else {
LIR_PatchCode patch_code = needs_patching ? lir_patch_normal : lir_patch_none;
diff --git a/hotspot/src/share/vm/c1/c1_Runtime1.cpp b/hotspot/src/share/vm/c1/c1_Runtime1.cpp
index e3bac09..11542c4 100644
--- a/hotspot/src/share/vm/c1/c1_Runtime1.cpp
+++ b/hotspot/src/share/vm/c1/c1_Runtime1.cpp
@@ -809,11 +809,10 @@
int bci = vfst.bci();
Bytecodes::Code code = caller_method()->java_code_at(bci);
-#ifndef PRODUCT
// this is used by assertions in the access_field_patching_id
BasicType patch_field_type = T_ILLEGAL;
-#endif // PRODUCT
bool deoptimize_for_volatile = false;
+ bool deoptimize_for_atomic = false;
int patch_field_offset = -1;
KlassHandle init_klass(THREAD, NULL); // klass needed by load_klass_patching code
KlassHandle load_klass(THREAD, NULL); // klass needed by load_klass_patching code
@@ -839,11 +838,24 @@
// is the path for patching field offsets. load_klass is only
// used for patching references to oops which don't need special
// handling in the volatile case.
+
deoptimize_for_volatile = result.access_flags().is_volatile();
-#ifndef PRODUCT
+ // If we are patching a field which should be atomic, then
+ // the generated code is not correct either, force deoptimizing.
+ // We need to only cover T_LONG and T_DOUBLE fields, as we can
+ // break access atomicity only for them.
+
+ // Strictly speaking, the deoptimizaation on 64-bit platforms
+ // is unnecessary, and T_LONG stores on 32-bit platforms need
+ // to be handled by special patching code when AlwaysAtomicAccesses
+ // becomes product feature. At this point, we are still going
+ // for the deoptimization for consistency against volatile
+ // accesses.
+
patch_field_type = result.field_type();
-#endif
+ deoptimize_for_atomic = (AlwaysAtomicAccesses && (patch_field_type == T_DOUBLE || patch_field_type == T_LONG));
+
} else if (load_klass_or_mirror_patch_id) {
Klass* k = NULL;
switch (code) {
@@ -918,13 +930,19 @@
ShouldNotReachHere();
}
- if (deoptimize_for_volatile) {
- // At compile time we assumed the field wasn't volatile but after
- // loading it turns out it was volatile so we have to throw the
+ if (deoptimize_for_volatile || deoptimize_for_atomic) {
+ // At compile time we assumed the field wasn't volatile/atomic but after
+ // loading it turns out it was volatile/atomic so we have to throw the
// compiled code out and let it be regenerated.
if (TracePatching) {
- tty->print_cr("Deoptimizing for patching volatile field reference");
+ if (deoptimize_for_volatile) {
+ tty->print_cr("Deoptimizing for patching volatile field reference");
+ }
+ if (deoptimize_for_atomic) {
+ tty->print_cr("Deoptimizing for patching atomic field reference");
+ }
}
+
// It's possible the nmethod was invalidated in the last
// safepoint, but if it's still alive then make it not_entrant.
nmethod* nm = CodeCache::find_nmethod(caller_frame.pc());
diff --git a/hotspot/src/share/vm/ci/ciMethod.cpp b/hotspot/src/share/vm/ci/ciMethod.cpp
index 86f1ed3..c927b10 100644
--- a/hotspot/src/share/vm/ci/ciMethod.cpp
+++ b/hotspot/src/share/vm/ci/ciMethod.cpp
@@ -724,6 +724,11 @@
VM_ENTRY_MARK;
+ // Disable CHA for default methods for now
+ if (root_m->get_Method()->is_default_method()) {
+ return NULL;
+ }
+
methodHandle target;
{
MutexLocker locker(Compile_lock);
diff --git a/hotspot/src/share/vm/ci/ciMethodData.cpp b/hotspot/src/share/vm/ci/ciMethodData.cpp
index 950e3d6..bc87940 100644
--- a/hotspot/src/share/vm/ci/ciMethodData.cpp
+++ b/hotspot/src/share/vm/ci/ciMethodData.cpp
@@ -87,8 +87,9 @@
DataLayout* dp_dst = extra_data_base();
for (;; dp_src = MethodData::next_extra(dp_src), dp_dst = MethodData::next_extra(dp_dst)) {
assert(dp_src < end_src, "moved past end of extra data");
- assert(dp_src->tag() == dp_dst->tag(), err_msg("should be same tags %d != %d", dp_src->tag(), dp_dst->tag()));
- switch(dp_src->tag()) {
+ // New traps in the MDO can be added as we translate the copy so
+ // look at the entries in the copy.
+ switch(dp_dst->tag()) {
case DataLayout::speculative_trap_data_tag: {
ciSpeculativeTrapData* data_dst = new ciSpeculativeTrapData(dp_dst);
SpeculativeTrapData* data_src = new SpeculativeTrapData(dp_src);
@@ -102,7 +103,7 @@
// An empty slot or ArgInfoData entry marks the end of the trap data
return;
default:
- fatal(err_msg("bad tag = %d", dp_src->tag()));
+ fatal(err_msg("bad tag = %d", dp_dst->tag()));
}
}
}
diff --git a/hotspot/src/share/vm/code/codeCache.cpp b/hotspot/src/share/vm/code/codeCache.cpp
index 3d77583..b3a857c 100644
--- a/hotspot/src/share/vm/code/codeCache.cpp
+++ b/hotspot/src/share/vm/code/codeCache.cpp
@@ -198,14 +198,12 @@
}
maxCodeCacheUsed = MAX2(maxCodeCacheUsed, ((address)_heap->high_boundary() -
(address)_heap->low_boundary()) - unallocated_capacity());
- verify_if_often();
print_trace("allocation", cb, size);
return cb;
}
void CodeCache::free(CodeBlob* cb) {
assert_locked_or_safepoint(CodeCache_lock);
- verify_if_often();
print_trace("free", cb);
if (cb->is_nmethod()) {
@@ -221,7 +219,6 @@
_heap->deallocate(cb);
- verify_if_often();
assert(_number_of_blobs >= 0, "sanity check");
}
@@ -244,12 +241,6 @@
}
-void CodeCache::flush() {
- assert_locked_or_safepoint(CodeCache_lock);
- Unimplemented();
-}
-
-
// Iteration over CodeBlobs
#define FOR_ALL_BLOBS(var) for (CodeBlob *var = first() ; var != NULL; var = next(var) )
@@ -269,7 +260,7 @@
CodeBlob* CodeCache::find_blob(void* start) {
CodeBlob* result = find_blob_unsafe(start);
if (result == NULL) return NULL;
- // We could potientially look up non_entrant methods
+ // We could potentially look up non_entrant methods
guarantee(!result->is_zombie() || result->is_locked_by_vm() || is_error_reported(), "unsafe access to zombie method");
return result;
}
@@ -741,17 +732,26 @@
}
}
+void CodeCache::print_memory_overhead() {
+ size_t wasted_bytes = 0;
+ CodeBlob *cb;
+ for (cb = first(); cb != NULL; cb = next(cb)) {
+ HeapBlock* heap_block = ((HeapBlock*)cb) - 1;
+ wasted_bytes += heap_block->length() * CodeCacheSegmentSize - cb->size();
+ }
+ // Print bytes that are allocated in the freelist
+ ttyLocker ttl;
+ tty->print_cr("Number of elements in freelist: %d", freelist_length());
+ tty->print_cr("Allocated in freelist: %dkB", bytes_allocated_in_freelist()/K);
+ tty->print_cr("Unused bytes in CodeBlobs: %dkB", (int)(wasted_bytes/K));
+ tty->print_cr("Segment map size: %dkB", allocated_segments()/K); // 1 byte per segment
+}
+
//------------------------------------------------------------------------------------------------
// Non-product version
#ifndef PRODUCT
-void CodeCache::verify_if_often() {
- if (VerifyCodeCacheOften) {
- _heap->verify();
- }
-}
-
void CodeCache::print_trace(const char* event, CodeBlob* cb, int size) {
if (PrintCodeCache2) { // Need to add a new flag
ResourceMark rm;
@@ -774,7 +774,7 @@
int nmethodUnloaded = 0;
int nmethodJava = 0;
int nmethodNative = 0;
- int maxCodeSize = 0;
+ int max_nm_size = 0;
ResourceMark rm;
CodeBlob *cb;
@@ -798,13 +798,11 @@
if(nm->is_not_entrant()) { nmethodNotEntrant++; }
if(nm->is_zombie()) { nmethodZombie++; }
if(nm->is_unloaded()) { nmethodUnloaded++; }
- if(nm->is_native_method()) { nmethodNative++; }
+ if(nm->method() != NULL && nm->is_native_method()) { nmethodNative++; }
if(nm->method() != NULL && nm->is_java_method()) {
nmethodJava++;
- if (nm->insts_size() > maxCodeSize) {
- maxCodeSize = nm->insts_size();
- }
+ max_nm_size = MAX2(max_nm_size, nm->size());
}
} else if (cb->is_runtime_stub()) {
runtimeStubCount++;
@@ -820,18 +818,19 @@
}
int bucketSize = 512;
- int bucketLimit = maxCodeSize / bucketSize + 1;
+ int bucketLimit = max_nm_size / bucketSize + 1;
int *buckets = NEW_C_HEAP_ARRAY(int, bucketLimit, mtCode);
- memset(buckets,0,sizeof(int) * bucketLimit);
+ memset(buckets, 0, sizeof(int) * bucketLimit);
for (cb = first(); cb != NULL; cb = next(cb)) {
if (cb->is_nmethod()) {
nmethod* nm = (nmethod*)cb;
if(nm->is_java_method()) {
- buckets[nm->insts_size() / bucketSize]++;
- }
+ buckets[nm->size() / bucketSize]++;
+ }
}
}
+
tty->print_cr("Code Cache Entries (total of %d)",total);
tty->print_cr("-------------------------------------------------");
tty->print_cr("nmethods: %d",nmethodCount);
@@ -858,6 +857,7 @@
}
FREE_C_HEAP_ARRAY(int, buckets, mtCode);
+ print_memory_overhead();
}
#endif // !PRODUCT
diff --git a/hotspot/src/share/vm/code/codeCache.hpp b/hotspot/src/share/vm/code/codeCache.hpp
index e190b11..f9f656c 100644
--- a/hotspot/src/share/vm/code/codeCache.hpp
+++ b/hotspot/src/share/vm/code/codeCache.hpp
@@ -58,12 +58,13 @@
static bool _needs_cache_clean;
static nmethod* _scavenge_root_nmethods; // linked via nm->scavenge_root_link()
- static void verify_if_often() PRODUCT_RETURN;
-
static void mark_scavenge_root_nmethods() PRODUCT_RETURN;
static void verify_perm_nmethods(CodeBlobClosure* f_or_null) PRODUCT_RETURN;
static int _codemem_full_count;
+ static size_t bytes_allocated_in_freelist() { return _heap->allocated_in_freelist(); }
+ static int allocated_segments() { return _heap->allocated_segments(); }
+ static size_t freelist_length() { return _heap->freelist_length(); }
public:
@@ -78,7 +79,6 @@
static int alignment_unit(); // guaranteed alignment of all CodeBlobs
static int alignment_offset(); // guaranteed offset of first CodeBlob byte within alignment unit (i.e., allocation header)
static void free(CodeBlob* cb); // frees a CodeBlob
- static void flush(); // flushes all CodeBlobs
static bool contains(void *p); // returns whether p is included
static void blobs_do(void f(CodeBlob* cb)); // iterates over all CodeBlobs
static void blobs_do(CodeBlobClosure* f); // iterates over all CodeBlobs
@@ -150,6 +150,7 @@
// Printing/debugging
static void print(); // prints summary
static void print_internals();
+ static void print_memory_overhead();
static void verify(); // verifies the code cache
static void print_trace(const char* event, CodeBlob* cb, int size = 0) PRODUCT_RETURN;
static void print_summary(outputStream* st, bool detailed = true); // Prints a summary of the code cache usage
diff --git a/hotspot/src/share/vm/code/dependencies.cpp b/hotspot/src/share/vm/code/dependencies.cpp
index d3dcf5d..bee31fc 100644
--- a/hotspot/src/share/vm/code/dependencies.cpp
+++ b/hotspot/src/share/vm/code/dependencies.cpp
@@ -725,13 +725,13 @@
}
// ----------------- DependencySignature --------------------------------------
-bool DependencySignature::equals(DependencySignature* sig) const {
- if ((type() != sig->type()) || (args_count() != sig->args_count())) {
+bool DependencySignature::equals(DependencySignature const& s1, DependencySignature const& s2) {
+ if ((s1.type() != s2.type()) || (s1.args_count() != s2.args_count())) {
return false;
}
- for (int i = 0; i < sig->args_count(); i++) {
- if (arg(i) != sig->arg(i)) {
+ for (int i = 0; i < s1.args_count(); i++) {
+ if (s1.arg(i) != s2.arg(i)) {
return false;
}
}
diff --git a/hotspot/src/share/vm/code/dependencies.hpp b/hotspot/src/share/vm/code/dependencies.hpp
index 050478c..3501b57 100644
--- a/hotspot/src/share/vm/code/dependencies.hpp
+++ b/hotspot/src/share/vm/code/dependencies.hpp
@@ -527,7 +527,7 @@
};
-class DependencySignature : public GenericHashtableEntry<DependencySignature, ResourceObj> {
+class DependencySignature : public ResourceObj {
private:
int _args_count;
uintptr_t _argument_hash[Dependencies::max_arg_count];
@@ -542,12 +542,13 @@
}
}
- bool equals(DependencySignature* sig) const;
- uintptr_t key() const { return _argument_hash[0] >> 2; }
+ static bool equals(DependencySignature const& s1, DependencySignature const& s2);
+ static unsigned hash (DependencySignature const& s1) { return s1.arg(0) >> 2; }
int args_count() const { return _args_count; }
uintptr_t arg(int idx) const { return _argument_hash[idx]; }
Dependencies::DepType type() const { return _type; }
+
};
diff --git a/hotspot/src/share/vm/code/nmethod.cpp b/hotspot/src/share/vm/code/nmethod.cpp
index 020916b..a002ee7 100644
--- a/hotspot/src/share/vm/code/nmethod.cpp
+++ b/hotspot/src/share/vm/code/nmethod.cpp
@@ -39,6 +39,7 @@
#include "prims/jvmtiImpl.hpp"
#include "runtime/sharedRuntime.hpp"
#include "runtime/sweeper.hpp"
+#include "utilities/resourceHash.hpp"
#include "utilities/dtrace.hpp"
#include "utilities/events.hpp"
#include "utilities/xmlstream.hpp"
@@ -2135,7 +2136,11 @@
// Turn off dependency tracing while actually testing dependencies.
NOT_PRODUCT( FlagSetting fs(TraceDependencies, false) );
- GenericHashtable<DependencySignature, ResourceObj>* table = new GenericHashtable<DependencySignature, ResourceObj>(11027);
+ typedef ResourceHashtable<DependencySignature, int, &DependencySignature::hash,
+ &DependencySignature::equals, 11027> DepTable;
+
+ DepTable* table = new DepTable();
+
// Iterate over live nmethods and check dependencies of all nmethods that are not
// marked for deoptimization. A particular dependency is only checked once.
for(nmethod* nm = CodeCache::alive_nmethod(CodeCache::first()); nm != NULL; nm = CodeCache::alive_nmethod(CodeCache::next(nm))) {
@@ -2143,9 +2148,10 @@
for (Dependencies::DepStream deps(nm); deps.next(); ) {
// Construct abstraction of a dependency.
DependencySignature* current_sig = new DependencySignature(deps);
- // Determine if 'deps' is already checked. table->add() returns
- // 'true' if the dependency was added (i.e., was not in the hashtable).
- if (table->add(current_sig)) {
+
+ // Determine if dependency is already checked. table->put(...) returns
+ // 'true' if the dependency is added (i.e., was not in the hashtable).
+ if (table->put(*current_sig, 1)) {
if (deps.check_dependency() != NULL) {
// Dependency checking failed. Print out information about the failed
// dependency and finally fail with an assert. We can fail here, since
diff --git a/hotspot/src/share/vm/compiler/compilerOracle.cpp b/hotspot/src/share/vm/compiler/compilerOracle.cpp
index cb5068d..582ec67 100644
--- a/hotspot/src/share/vm/compiler/compilerOracle.cpp
+++ b/hotspot/src/share/vm/compiler/compilerOracle.cpp
@@ -374,25 +374,8 @@
"\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"
#define RANGE0 "[*" RANGEBASE "]"
-#define RANGEDOT "[*" RANGEBASE ".]"
#define RANGESLASH "[*" RANGEBASE "/]"
-
-// Accept several syntaxes for these patterns
-// original syntax
-// cmd java.lang.String foo
-// PrintCompilation syntax
-// cmd java.lang.String::foo
-// VM syntax
-// cmd java/lang/String[. ]foo
-//
-
-static const char* patterns[] = {
- "%*[ \t]%255" RANGEDOT " " "%255" RANGE0 "%n",
- "%*[ \t]%255" RANGEDOT "::" "%255" RANGE0 "%n",
- "%*[ \t]%255" RANGESLASH "%*[ .]" "%255" RANGE0 "%n",
-};
-
static MethodMatcher::Mode check_mode(char name[], const char*& error_msg) {
int match = MethodMatcher::Exact;
while (name[0] == '*') {
@@ -421,12 +404,10 @@
int* bytes_read, const char*& error_msg) {
*bytes_read = 0;
error_msg = NULL;
- for (uint i = 0; i < ARRAY_SIZE(patterns); i++) {
- if (2 == sscanf(line, patterns[i], class_name, method_name, bytes_read)) {
- *c_mode = check_mode(class_name, error_msg);
- *m_mode = check_mode(method_name, error_msg);
- return *c_mode != MethodMatcher::Unknown && *m_mode != MethodMatcher::Unknown;
- }
+ if (2 == sscanf(line, "%*[ \t]%255" RANGESLASH "%*[ ]" "%255" RANGE0 "%n", class_name, method_name, bytes_read)) {
+ *c_mode = check_mode(class_name, error_msg);
+ *m_mode = check_mode(method_name, error_msg);
+ return *c_mode != MethodMatcher::Unknown && *m_mode != MethodMatcher::Unknown;
}
return false;
}
diff --git a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
index 06261c8..9453b50 100644
--- a/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
+++ b/hotspot/src/share/vm/interpreter/bytecodeInterpreter.cpp
@@ -3475,7 +3475,7 @@
tty->print_cr("&native_fresult: " INTPTR_FORMAT, (uintptr_t) &this->_native_fresult);
tty->print_cr("native_lresult: " INTPTR_FORMAT, (uintptr_t) this->_native_lresult);
#endif
-#if !defined(ZERO)
+#if !defined(ZERO) && defined(PPC)
tty->print_cr("last_Java_fp: " INTPTR_FORMAT, (uintptr_t) this->_last_Java_fp);
#endif // !ZERO
tty->print_cr("self_link: " INTPTR_FORMAT, (uintptr_t) this->_self_link);
diff --git a/hotspot/src/share/vm/interpreter/templateTable.hpp b/hotspot/src/share/vm/interpreter/templateTable.hpp
index bb5169a..c6ea515 100644
--- a/hotspot/src/share/vm/interpreter/templateTable.hpp
+++ b/hotspot/src/share/vm/interpreter/templateTable.hpp
@@ -376,6 +376,9 @@
#ifdef TARGET_ARCH_MODEL_ppc_32
# include "templateTable_ppc_32.hpp"
#endif
+#ifdef TARGET_ARCH_MODEL_ppc_64
+# include "templateTable_ppc_64.hpp"
+#endif
};
#endif /* !CC_INTERP */
diff --git a/hotspot/src/share/vm/memory/filemap.cpp b/hotspot/src/share/vm/memory/filemap.cpp
index 8eb5f45..1420c27 100644
--- a/hotspot/src/share/vm/memory/filemap.cpp
+++ b/hotspot/src/share/vm/memory/filemap.cpp
@@ -78,6 +78,10 @@
va_start(ap, msg);
if (RequireSharedSpaces) {
fail(msg, ap);
+ } else {
+ if (PrintSharedSpaces) {
+ tty->print_cr("UseSharedSpaces: %s", msg);
+ }
}
va_end(ap);
UseSharedSpaces = false;
diff --git a/hotspot/src/share/vm/memory/heap.cpp b/hotspot/src/share/vm/memory/heap.cpp
index a241af2..db0105f 100644
--- a/hotspot/src/share/vm/memory/heap.cpp
+++ b/hotspot/src/share/vm/memory/heap.cpp
@@ -43,6 +43,7 @@
_next_segment = 0;
_freelist = NULL;
_freelist_segments = 0;
+ _freelist_length = 0;
}
@@ -53,7 +54,7 @@
address p = (address)_segmap.low() + beg;
address q = (address)_segmap.low() + end;
// initialize interval
- while (p < q) *p++ = 0xFF;
+ while (p < q) *p++ = free_sentinel;
}
@@ -67,7 +68,7 @@
int i = 0;
while (p < q) {
*p++ = i++;
- if (i == 0xFF) i = 1;
+ if (i == free_sentinel) i = 1;
}
}
@@ -139,11 +140,6 @@
}
-void CodeHeap::release() {
- Unimplemented();
-}
-
-
bool CodeHeap::expand_by(size_t size) {
// expand _memory space
size_t dm = align_to_page_size(_memory.committed_size() + size) - _memory.committed_size();
@@ -157,8 +153,8 @@
assert(_number_of_reserved_segments >= _number_of_committed_segments, "just checking");
// expand _segmap space
size_t ds = align_to_page_size(_number_of_committed_segments) - _segmap.committed_size();
- if (ds > 0) {
- if (!_segmap.expand_by(ds)) return false;
+ if ((ds > 0) && !_segmap.expand_by(ds)) {
+ return false;
}
assert(_segmap.committed_size() >= (size_t) _number_of_committed_segments, "just checking");
// initialize additional segmap entries
@@ -167,12 +163,6 @@
return true;
}
-
-void CodeHeap::shrink_by(size_t size) {
- Unimplemented();
-}
-
-
void CodeHeap::clear() {
_next_segment = 0;
mark_segmap_as_free(0, _number_of_committed_segments);
@@ -180,26 +170,23 @@
void* CodeHeap::allocate(size_t instance_size, bool is_critical) {
- size_t number_of_segments = size_to_segments(instance_size + sizeof(HeapBlock));
+ size_t number_of_segments = size_to_segments(instance_size + header_size());
assert(segments_to_size(number_of_segments) >= sizeof(FreeBlock), "not enough room for FreeList");
// First check if we can satisfy request from freelist
- debug_only(verify());
+ NOT_PRODUCT(verify());
HeapBlock* block = search_freelist(number_of_segments, is_critical);
- debug_only(if (VerifyCodeCacheOften) verify());
+ NOT_PRODUCT(verify());
+
if (block != NULL) {
assert(block->length() >= number_of_segments && block->length() < number_of_segments + CodeCacheMinBlockLength, "sanity check");
assert(!block->free(), "must be marked free");
-#ifdef ASSERT
- memset((void *)block->allocated_space(), badCodeHeapNewVal, instance_size);
-#endif
+ DEBUG_ONLY(memset((void*)block->allocated_space(), badCodeHeapNewVal, instance_size));
return block->allocated_space();
}
// Ensure minimum size for allocation to the heap.
- if (number_of_segments < CodeCacheMinBlockLength) {
- number_of_segments = CodeCacheMinBlockLength;
- }
+ number_of_segments = MAX2((int)CodeCacheMinBlockLength, (int)number_of_segments);
if (!is_critical) {
// Make sure the allocation fits in the unallocated heap without using
@@ -215,9 +202,7 @@
HeapBlock* b = block_at(_next_segment);
b->initialize(number_of_segments);
_next_segment += number_of_segments;
-#ifdef ASSERT
- memset((void *)b->allocated_space(), badCodeHeapNewVal, instance_size);
-#endif
+ DEBUG_ONLY(memset((void *)b->allocated_space(), badCodeHeapNewVal, instance_size));
return b->allocated_space();
} else {
return NULL;
@@ -230,28 +215,56 @@
// Find start of HeapBlock
HeapBlock* b = (((HeapBlock *)p) - 1);
assert(b->allocated_space() == p, "sanity check");
-#ifdef ASSERT
- memset((void *)b->allocated_space(),
- badCodeHeapFreeVal,
- segments_to_size(b->length()) - sizeof(HeapBlock));
-#endif
+ DEBUG_ONLY(memset((void *)b->allocated_space(), badCodeHeapFreeVal,
+ segments_to_size(b->length()) - sizeof(HeapBlock)));
add_to_freelist(b);
-
- debug_only(if (VerifyCodeCacheOften) verify());
+ NOT_PRODUCT(verify());
}
-
+/**
+ * Uses segment map to find the the start (header) of a nmethod. This works as follows:
+ * The memory of the code cache is divided into 'segments'. The size of a segment is
+ * determined by -XX:CodeCacheSegmentSize=XX. Allocation in the code cache can only
+ * happen at segment boundaries. A pointer in the code cache can be mapped to a segment
+ * by calling segment_for(addr). Each time memory is requested from the code cache,
+ * the segmap is updated accordingly. See the following example, which illustrates the
+ * state of code cache and the segment map: (seg -> segment, nm ->nmethod)
+ *
+ * code cache segmap
+ * ----------- ---------
+ * seg 1 | nm 1 | -> | 0 |
+ * seg 2 | nm 1 | -> | 1 |
+ * ... | nm 1 | -> | .. |
+ * seg m | nm 2 | -> | 0 |
+ * seg m+1 | nm 2 | -> | 1 |
+ * ... | nm 2 | -> | 2 |
+ * ... | nm 2 | -> | .. |
+ * ... | nm 2 | -> | 0xFE |
+ * seg m+n | nm 2 | -> | 1 |
+ * ... | nm 2 | -> | |
+ *
+ * A value of '0' in the segmap indicates that this segment contains the beginning of
+ * an nmethod. Let's walk through a simple example: If we want to find the start of
+ * an nmethod that falls into seg 2, we read the value of the segmap[2]. The value
+ * is an offset that points to the segment that contains the start of the nmethod.
+ * Another example: If we want to get the start of nm 2, and we happen to get a pointer
+ * that points to seg m+n, we first read seg[n+m], which returns '1'. So we have to
+ * do one more read of the segmap[m+n-1] to finally get the segment header.
+ */
void* CodeHeap::find_start(void* p) const {
if (!contains(p)) {
return NULL;
}
- size_t i = segment_for(p);
- address b = (address)_segmap.low();
- if (b[i] == 0xFF) {
+ size_t seg_idx = segment_for(p);
+ address seg_map = (address)_segmap.low();
+ if (is_segment_unused(seg_map[seg_idx])) {
return NULL;
}
- while (b[i] > 0) i -= (int)b[i];
- HeapBlock* h = block_at(i);
+ while (seg_map[seg_idx] > 0) {
+ seg_idx -= (int)seg_map[seg_idx];
+ }
+
+ HeapBlock* h = block_at(seg_idx);
if (h->free()) {
return NULL;
}
@@ -272,7 +285,7 @@
}
// Finds the next free heapblock. If the current one is free, that it returned
-void* CodeHeap::next_free(HeapBlock *b) const {
+void* CodeHeap::next_free(HeapBlock* b) const {
// Since free blocks are merged, there is max. on free block
// between two used ones
if (b != NULL && b->free()) b = next_block(b);
@@ -287,7 +300,7 @@
return NULL;
}
-HeapBlock *CodeHeap::block_start(void *q) const {
+HeapBlock* CodeHeap::block_start(void* q) const {
HeapBlock* b = (HeapBlock*)find_start(q);
if (b == NULL) return NULL;
return b - 1;
@@ -312,6 +325,10 @@
return _memory.reserved_size();
}
+int CodeHeap::allocated_segments() const {
+ return (int)_next_segment;
+}
+
size_t CodeHeap::allocated_capacity() const {
// size of used heap - size on freelist
return segments_to_size(_next_segment - _freelist_segments);
@@ -325,7 +342,7 @@
// Free list management
-FreeBlock *CodeHeap::following_block(FreeBlock *b) {
+FreeBlock* CodeHeap::following_block(FreeBlock *b) {
return (FreeBlock*)(((address)b) + _segment_size * b->length());
}
@@ -343,7 +360,7 @@
}
// Try to merge this block with the following block
-void CodeHeap::merge_right(FreeBlock *a) {
+bool CodeHeap::merge_right(FreeBlock* a) {
assert(a->free(), "must be a free block");
if (following_block(a) == a->link()) {
assert(a->link() != NULL && a->link()->free(), "must be free too");
@@ -353,13 +370,20 @@
// Update find_start map
size_t beg = segment_for(a);
mark_segmap_as_used(beg, beg + a->length());
+ _freelist_length--;
+ return true;
}
+ return false;
}
-void CodeHeap::add_to_freelist(HeapBlock *a) {
+
+void CodeHeap::add_to_freelist(HeapBlock* a) {
FreeBlock* b = (FreeBlock*)a;
+ _freelist_length++;
+
assert(b != _freelist, "cannot be removed twice");
+
// Mark as free and update free space count
_freelist_segments += b->length();
b->set_free();
@@ -371,95 +395,96 @@
return;
}
- // Scan for right place to put into list. List
- // is sorted by increasing addresses
- FreeBlock* prev = NULL;
- FreeBlock* cur = _freelist;
- while(cur != NULL && cur < b) {
- assert(prev == NULL || prev < cur, "must be ordered");
- prev = cur;
- cur = cur->link();
- }
-
- assert( (prev == NULL && b < _freelist) ||
- (prev < b && (cur == NULL || b < cur)), "list must be ordered");
-
- if (prev == NULL) {
+ // Since the freelist is ordered (smaller addresses -> larger addresses) and the
+ // element we want to insert into the freelist has a smaller address than the first
+ // element, we can simply add 'b' as the first element and we are done.
+ if (b < _freelist) {
// Insert first in list
b->set_link(_freelist);
_freelist = b;
merge_right(_freelist);
- } else {
- insert_after(prev, b);
+ return;
}
+
+ // Scan for right place to put into list. List
+ // is sorted by increasing addresses
+ FreeBlock* prev = _freelist;
+ FreeBlock* cur = _freelist->link();
+ while(cur != NULL && cur < b) {
+ assert(prev < cur, "Freelist must be ordered");
+ prev = cur;
+ cur = cur->link();
+ }
+ assert((prev < b) && (cur == NULL || b < cur), "free-list must be ordered");
+ insert_after(prev, b);
}
-// Search freelist for an entry on the list with the best fit
-// Return NULL if no one was found
+/**
+ * Search freelist for an entry on the list with the best fit.
+ * @return NULL, if no one was found
+ */
FreeBlock* CodeHeap::search_freelist(size_t length, bool is_critical) {
- FreeBlock *best_block = NULL;
- FreeBlock *best_prev = NULL;
- size_t best_length = 0;
+ FreeBlock* found_block = NULL;
+ FreeBlock* found_prev = NULL;
+ size_t found_length = 0;
- // Search for smallest block which is bigger than length
- FreeBlock *prev = NULL;
- FreeBlock *cur = _freelist;
+ FreeBlock* prev = NULL;
+ FreeBlock* cur = _freelist;
+ const size_t critical_boundary = (size_t)high_boundary() - CodeCacheMinimumFreeSpace;
+
+ // Search for first block that fits
while(cur != NULL) {
- size_t l = cur->length();
- if (l >= length && (best_block == NULL || best_length > l)) {
-
+ if (cur->length() >= length) {
// Non critical allocations are not allowed to use the last part of the code heap.
- if (!is_critical) {
- // Make sure the end of the allocation doesn't cross into the last part of the code heap
- if (((size_t)cur + length) > ((size_t)high_boundary() - CodeCacheMinimumFreeSpace)) {
- // the freelist is sorted by address - if one fails, all consecutive will also fail.
- break;
- }
+ // Make sure the end of the allocation doesn't cross into the last part of the code heap.
+ if (!is_critical && (((size_t)cur + length) > critical_boundary)) {
+ // The freelist is sorted by address - if one fails, all consecutive will also fail.
+ break;
}
+ // Remember block, its previous element, and its length
+ found_block = cur;
+ found_prev = prev;
+ found_length = found_block->length();
- // Remember best block, its previous element, and its length
- best_block = cur;
- best_prev = prev;
- best_length = best_block->length();
+ break;
}
-
// Next element in list
prev = cur;
cur = cur->link();
}
- if (best_block == NULL) {
+ if (found_block == NULL) {
// None found
return NULL;
}
- assert((best_prev == NULL && _freelist == best_block ) ||
- (best_prev != NULL && best_prev->link() == best_block), "sanity check");
-
// Exact (or at least good enough) fit. Remove from list.
// Don't leave anything on the freelist smaller than CodeCacheMinBlockLength.
- if (best_length < length + CodeCacheMinBlockLength) {
- length = best_length;
- if (best_prev == NULL) {
- assert(_freelist == best_block, "sanity check");
+ if (found_length - length < CodeCacheMinBlockLength) {
+ _freelist_length--;
+ length = found_length;
+ if (found_prev == NULL) {
+ assert(_freelist == found_block, "sanity check");
_freelist = _freelist->link();
} else {
+ assert((found_prev->link() == found_block), "sanity check");
// Unmap element
- best_prev->set_link(best_block->link());
+ found_prev->set_link(found_block->link());
}
} else {
// Truncate block and return a pointer to the following block
- best_block->set_length(best_length - length);
- best_block = following_block(best_block);
// Set used bit and length on new block
- size_t beg = segment_for(best_block);
+ found_block->set_length(found_length - length);
+ found_block = following_block(found_block);
+
+ size_t beg = segment_for(found_block);
mark_segmap_as_used(beg, beg + length);
- best_block->set_length(length);
+ found_block->set_length(length);
}
- best_block->set_used();
+ found_block->set_used();
_freelist_segments -= length;
- return best_block;
+ return found_block;
}
//----------------------------------------------------------------------------
@@ -471,33 +496,34 @@
tty->print_cr("The Heap");
}
-#endif
-
void CodeHeap::verify() {
- // Count the number of blocks on the freelist, and the amount of space
- // represented.
- int count = 0;
- size_t len = 0;
- for(FreeBlock* b = _freelist; b != NULL; b = b->link()) {
- len += b->length();
- count++;
- }
+ if (VerifyCodeCache) {
+ size_t len = 0;
+ int count = 0;
+ for(FreeBlock* b = _freelist; b != NULL; b = b->link()) {
+ len += b->length();
+ count++;
+ // Check if we have merged all free blocks
+ assert(merge_right(b) == false, "Missed merging opportunity");
+ }
+ // Verify that freelist contains the right amount of free space
+ assert(len == _freelist_segments, "wrong freelist");
- // Verify that freelist contains the right amount of free space
- // guarantee(len == _freelist_segments, "wrong freelist");
+ for(HeapBlock* h = first_block(); h != NULL; h = next_block(h)) {
+ if (h->free()) count--;
+ }
+ // Verify that the freelist contains the same number of blocks
+ // than free blocks found on the full list.
+ assert(count == 0, "missing free blocks");
- // Verify that the number of free blocks is not out of hand.
- static int free_block_threshold = 10000;
- if (count > free_block_threshold) {
- warning("CodeHeap: # of free blocks > %d", free_block_threshold);
- // Double the warning limit
- free_block_threshold *= 2;
+ // Verify that the number of free blocks is not out of hand.
+ static int free_block_threshold = 10000;
+ if (count > free_block_threshold) {
+ warning("CodeHeap: # of free blocks > %d", free_block_threshold);
+ // Double the warning limit
+ free_block_threshold *= 2;
+ }
}
-
- // Verify that the freelist contains the same number of free blocks that is
- // found on the full list.
- for(HeapBlock *h = first_block(); h != NULL; h = next_block(h)) {
- if (h->free()) count--;
- }
- // guarantee(count == 0, "missing free blocks");
}
+
+#endif
diff --git a/hotspot/src/share/vm/memory/heap.hpp b/hotspot/src/share/vm/memory/heap.hpp
index e271d1b..849931e 100644
--- a/hotspot/src/share/vm/memory/heap.hpp
+++ b/hotspot/src/share/vm/memory/heap.hpp
@@ -92,24 +92,28 @@
FreeBlock* _freelist;
size_t _freelist_segments; // No. of segments in freelist
+ int _freelist_length;
+
+ enum { free_sentinel = 0xFF };
// Helper functions
size_t size_to_segments(size_t size) const { return (size + _segment_size - 1) >> _log2_segment_size; }
size_t segments_to_size(size_t number_of_segments) const { return number_of_segments << _log2_segment_size; }
size_t segment_for(void* p) const { return ((char*)p - _memory.low()) >> _log2_segment_size; }
+ bool is_segment_unused(int val) const { return val == free_sentinel; }
HeapBlock* block_at(size_t i) const { return (HeapBlock*)(_memory.low() + (i << _log2_segment_size)); }
void mark_segmap_as_free(size_t beg, size_t end);
void mark_segmap_as_used(size_t beg, size_t end);
// Freelist management helpers
- FreeBlock* following_block(FreeBlock *b);
+ FreeBlock* following_block(FreeBlock* b);
void insert_after(FreeBlock* a, FreeBlock* b);
- void merge_right (FreeBlock* a);
+ bool merge_right (FreeBlock* a);
// Toplevel freelist management
- void add_to_freelist(HeapBlock *b);
+ void add_to_freelist(HeapBlock* b);
FreeBlock* search_freelist(size_t length, bool is_critical);
// Iteration helpers
@@ -120,20 +124,18 @@
// to perform additional actions on creation of executable code
void on_code_mapping(char* base, size_t size);
+ void clear(); // clears all heap contents
public:
CodeHeap();
// Heap extents
bool reserve(size_t reserved_size, size_t committed_size, size_t segment_size);
- void release(); // releases all allocated memory
bool expand_by(size_t size); // expands committed memory by size
- void shrink_by(size_t size); // shrinks committed memory by size
- void clear(); // clears all heap contents
// Memory allocation
void* allocate (size_t size, bool is_critical); // allocates a block of size or returns NULL
- void deallocate(void* p); // deallocates a block
+ void deallocate(void* p); // deallocates a block
// Attributes
char* low_boundary() const { return _memory.low_boundary (); }
@@ -141,12 +143,13 @@
char* high_boundary() const { return _memory.high_boundary(); }
bool contains(const void* p) const { return low_boundary() <= p && p < high(); }
- void* find_start(void* p) const; // returns the block containing p or NULL
- size_t alignment_unit() const; // alignment of any block
- size_t alignment_offset() const; // offset of first byte of any block, within the enclosing alignment unit
- static size_t header_size(); // returns the header size for each heap block
+ void* find_start(void* p) const; // returns the block containing p or NULL
+ size_t alignment_unit() const; // alignment of any block
+ size_t alignment_offset() const; // offset of first byte of any block, within the enclosing alignment unit
+ static size_t header_size(); // returns the header size for each heap block
- // Iteration
+ size_t allocated_in_freelist() const { return _freelist_segments * CodeCacheSegmentSize; }
+ int freelist_length() const { return _freelist_length; } // number of elements in the freelist
// returns the first block or NULL
void* first() const { return next_free(first_block()); }
@@ -156,6 +159,7 @@
// Statistics
size_t capacity() const;
size_t max_capacity() const;
+ int allocated_segments() const;
size_t allocated_capacity() const;
size_t unallocated_capacity() const { return max_capacity() - allocated_capacity(); }
@@ -164,7 +168,7 @@
public:
// Debugging
- void verify();
+ void verify() PRODUCT_RETURN;
void print() PRODUCT_RETURN;
};
diff --git a/hotspot/src/share/vm/oops/method.hpp b/hotspot/src/share/vm/oops/method.hpp
index 931b08b..98598db 100644
--- a/hotspot/src/share/vm/oops/method.hpp
+++ b/hotspot/src/share/vm/oops/method.hpp
@@ -108,12 +108,16 @@
#endif
u2 _method_size; // size of this object
u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
- u1 _jfr_towrite : 1, // Flags
- _caller_sensitive : 1,
- _force_inline : 1,
- _hidden : 1,
- _dont_inline : 1,
- : 3;
+
+ // Flags
+ enum Flags {
+ _jfr_towrite = 1 << 0,
+ _caller_sensitive = 1 << 1,
+ _force_inline = 1 << 2,
+ _dont_inline = 1 << 3,
+ _hidden = 1 << 4
+ };
+ u1 _flags;
#ifndef PRODUCT
int _compiled_invocation_count; // Number of nmethod invocations so far (for perf. debugging)
@@ -759,16 +763,41 @@
void init_intrinsic_id(); // updates from _none if a match
static vmSymbols::SID klass_id_for_intrinsics(Klass* holder);
- bool jfr_towrite() { return _jfr_towrite; }
- void set_jfr_towrite(bool x) { _jfr_towrite = x; }
- bool caller_sensitive() { return _caller_sensitive; }
- void set_caller_sensitive(bool x) { _caller_sensitive = x; }
- bool force_inline() { return _force_inline; }
- void set_force_inline(bool x) { _force_inline = x; }
- bool dont_inline() { return _dont_inline; }
- void set_dont_inline(bool x) { _dont_inline = x; }
- bool is_hidden() { return _hidden; }
- void set_hidden(bool x) { _hidden = x; }
+ bool jfr_towrite() {
+ return (_flags & _jfr_towrite) != 0;
+ }
+ void set_jfr_towrite(bool x) {
+ _flags = x ? (_flags | _jfr_towrite) : (_flags & ~_jfr_towrite);
+ }
+
+ bool caller_sensitive() {
+ return (_flags & _caller_sensitive) != 0;
+ }
+ void set_caller_sensitive(bool x) {
+ _flags = x ? (_flags | _caller_sensitive) : (_flags & ~_caller_sensitive);
+ }
+
+ bool force_inline() {
+ return (_flags & _force_inline) != 0;
+ }
+ void set_force_inline(bool x) {
+ _flags = x ? (_flags | _force_inline) : (_flags & ~_force_inline);
+ }
+
+ bool dont_inline() {
+ return (_flags & _dont_inline) != 0;
+ }
+ void set_dont_inline(bool x) {
+ _flags = x ? (_flags | _dont_inline) : (_flags & ~_dont_inline);
+ }
+
+ bool is_hidden() {
+ return (_flags & _hidden) != 0;
+ }
+ void set_hidden(bool x) {
+ _flags = x ? (_flags | _hidden) : (_flags & ~_hidden);
+ }
+
ConstMethod::MethodType method_type() const {
return _constMethod->method_type();
}
diff --git a/hotspot/src/share/vm/oops/methodData.cpp b/hotspot/src/share/vm/oops/methodData.cpp
index b226173..0e6e0ec 100644
--- a/hotspot/src/share/vm/oops/methodData.cpp
+++ b/hotspot/src/share/vm/oops/methodData.cpp
@@ -1071,7 +1071,8 @@
}
// Initialize the MethodData* corresponding to a given method.
-MethodData::MethodData(methodHandle method, int size, TRAPS) {
+MethodData::MethodData(methodHandle method, int size, TRAPS)
+ : _extra_data_lock(Monitor::leaf, "MDO extra data lock") {
No_Safepoint_Verifier no_safepoint; // init function atomic wrt GC
ResourceMark rm;
// Set the method back-pointer.
@@ -1235,7 +1236,7 @@
return (DataLayout*)((address)dp + DataLayout::compute_size_in_bytes(nb_cells));
}
-ProfileData* MethodData::bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp) {
+ProfileData* MethodData::bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp, bool concurrent) {
DataLayout* end = extra_data_limit();
for (;; dp = next_extra(dp)) {
@@ -1257,10 +1258,11 @@
if (m != NULL) {
SpeculativeTrapData* data = new SpeculativeTrapData(dp);
// data->method() may be null in case of a concurrent
- // allocation. Assume it's for the same method and use that
+ // allocation. Maybe it's for the same method. Try to use that
// entry in that case.
if (dp->bci() == bci) {
if (data->method() == NULL) {
+ assert(concurrent, "impossible because no concurrent allocation");
return NULL;
} else if (data->method() == m) {
return data;
@@ -1289,40 +1291,40 @@
// Allocation in the extra data space has to be atomic because not
// all entries have the same size and non atomic concurrent
// allocation would result in a corrupted extra data space.
- while (true) {
- ProfileData* result = bci_to_extra_data_helper(bci, m, dp);
- if (result != NULL) {
+ ProfileData* result = bci_to_extra_data_helper(bci, m, dp, true);
+ if (result != NULL) {
+ return result;
+ }
+
+ if (create_if_missing && dp < end) {
+ MutexLocker ml(&_extra_data_lock);
+ // Check again now that we have the lock. Another thread may
+ // have added extra data entries.
+ ProfileData* result = bci_to_extra_data_helper(bci, m, dp, false);
+ if (result != NULL || dp >= end) {
return result;
}
- if (create_if_missing && dp < end) {
- assert(dp->tag() == DataLayout::no_tag || (dp->tag() == DataLayout::speculative_trap_data_tag && m != NULL), "should be free");
- assert(next_extra(dp)->tag() == DataLayout::no_tag || next_extra(dp)->tag() == DataLayout::arg_info_data_tag, "should be free or arg info");
- u1 tag = m == NULL ? DataLayout::bit_data_tag : DataLayout::speculative_trap_data_tag;
- // SpeculativeTrapData is 2 slots. Make sure we have room.
- if (m != NULL && next_extra(dp)->tag() != DataLayout::no_tag) {
- return NULL;
- }
- DataLayout temp;
- temp.initialize(tag, bci, 0);
- // May have been set concurrently
- if (dp->header() != temp.header() && !dp->atomic_set_header(temp.header())) {
- // Allocation failure because of concurrent allocation. Try
- // again.
- continue;
- }
- assert(dp->tag() == tag, "sane");
- assert(dp->bci() == bci, "no concurrent allocation");
- if (tag == DataLayout::bit_data_tag) {
- return new BitData(dp);
- } else {
- // If being allocated concurrently, one trap may be lost
- SpeculativeTrapData* data = new SpeculativeTrapData(dp);
- data->set_method(m);
- return data;
- }
+ assert(dp->tag() == DataLayout::no_tag || (dp->tag() == DataLayout::speculative_trap_data_tag && m != NULL), "should be free");
+ assert(next_extra(dp)->tag() == DataLayout::no_tag || next_extra(dp)->tag() == DataLayout::arg_info_data_tag, "should be free or arg info");
+ u1 tag = m == NULL ? DataLayout::bit_data_tag : DataLayout::speculative_trap_data_tag;
+ // SpeculativeTrapData is 2 slots. Make sure we have room.
+ if (m != NULL && next_extra(dp)->tag() != DataLayout::no_tag) {
+ return NULL;
}
- return NULL;
+ DataLayout temp;
+ temp.initialize(tag, bci, 0);
+
+ dp->set_header(temp.header());
+ assert(dp->tag() == tag, "sane");
+ assert(dp->bci() == bci, "no concurrent allocation");
+ if (tag == DataLayout::bit_data_tag) {
+ return new BitData(dp);
+ } else {
+ SpeculativeTrapData* data = new SpeculativeTrapData(dp);
+ data->set_method(m);
+ return data;
+ }
}
return NULL;
}
diff --git a/hotspot/src/share/vm/oops/methodData.hpp b/hotspot/src/share/vm/oops/methodData.hpp
index 76b0708..e0218f9 100644
--- a/hotspot/src/share/vm/oops/methodData.hpp
+++ b/hotspot/src/share/vm/oops/methodData.hpp
@@ -190,12 +190,6 @@
void set_header(intptr_t value) {
_header._bits = value;
}
- bool atomic_set_header(intptr_t value) {
- if (Atomic::cmpxchg_ptr(value, (volatile intptr_t*)&_header._bits, 0) == 0) {
- return true;
- }
- return false;
- }
intptr_t header() {
return _header._bits;
}
@@ -2047,10 +2041,12 @@
// Cached hint for bci_to_dp and bci_to_data
int _hint_di;
+ Mutex _extra_data_lock;
+
MethodData(methodHandle method, int size, TRAPS);
public:
static MethodData* allocate(ClassLoaderData* loader_data, methodHandle method, TRAPS);
- MethodData() {}; // For ciMethodData
+ MethodData() : _extra_data_lock(Monitor::leaf, "MDO extra data lock") {}; // For ciMethodData
bool is_methodData() const volatile { return true; }
@@ -2155,7 +2151,7 @@
// What is the index of the first data entry?
int first_di() const { return 0; }
- ProfileData* bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp);
+ ProfileData* bci_to_extra_data_helper(int bci, Method* m, DataLayout*& dp, bool concurrent);
// Find or create an extra ProfileData:
ProfileData* bci_to_extra_data(int bci, Method* m, bool create_if_missing);
diff --git a/hotspot/src/share/vm/opto/c2_globals.hpp b/hotspot/src/share/vm/opto/c2_globals.hpp
index cc5e2ce..0db9dab 100644
--- a/hotspot/src/share/vm/opto/c2_globals.hpp
+++ b/hotspot/src/share/vm/opto/c2_globals.hpp
@@ -452,7 +452,7 @@
product(bool, EliminateAutoBox, true, \
"Control optimizations for autobox elimination") \
\
- experimental(bool, UseImplicitStableValues, false, \
+ diagnostic(bool, UseImplicitStableValues, true, \
"Mark well-known stable fields as such (e.g. String.value)") \
\
product(intx, AutoBoxCacheMax, 128, \
@@ -650,7 +650,7 @@
experimental(bool, ReplaceInParentMaps, false, \
"Propagate type improvements in callers of inlinee if possible") \
\
- experimental(bool, UseTypeSpeculation, false, \
+ product(bool, UseTypeSpeculation, true, \
"Speculatively propagate types from profiles") \
\
diagnostic(bool, UseInlineDepthForSpeculativeTypes, true, \
diff --git a/hotspot/src/share/vm/opto/graphKit.cpp b/hotspot/src/share/vm/opto/graphKit.cpp
index d11e4ff..d9fcfb2 100644
--- a/hotspot/src/share/vm/opto/graphKit.cpp
+++ b/hotspot/src/share/vm/opto/graphKit.cpp
@@ -3007,22 +3007,28 @@
}
Node* cast_obj = NULL;
- const TypeOopPtr* obj_type = _gvn.type(obj)->is_oopptr();
- // We may not have profiling here or it may not help us. If we have
- // a speculative type use it to perform an exact cast.
- ciKlass* spec_obj_type = obj_type->speculative_type();
- if (spec_obj_type != NULL ||
- (data != NULL &&
- // Counter has never been decremented (due to cast failure).
- // ...This is a reasonable thing to expect. It is true of
- // all casts inserted by javac to implement generic types.
- data->as_CounterData()->count() >= 0)) {
- cast_obj = maybe_cast_profiled_receiver(not_null_obj, tk->klass(), spec_obj_type, safe_for_replace);
- if (cast_obj != NULL) {
- if (failure_control != NULL) // failure is now impossible
- (*failure_control) = top();
- // adjust the type of the phi to the exact klass:
- phi->raise_bottom_type(_gvn.type(cast_obj)->meet_speculative(TypePtr::NULL_PTR));
+ if (tk->klass_is_exact()) {
+ // The following optimization tries to statically cast the speculative type of the object
+ // (for example obtained during profiling) to the type of the superklass and then do a
+ // dynamic check that the type of the object is what we expect. To work correctly
+ // for checkcast and aastore the type of superklass should be exact.
+ const TypeOopPtr* obj_type = _gvn.type(obj)->is_oopptr();
+ // We may not have profiling here or it may not help us. If we have
+ // a speculative type use it to perform an exact cast.
+ ciKlass* spec_obj_type = obj_type->speculative_type();
+ if (spec_obj_type != NULL ||
+ (data != NULL &&
+ // Counter has never been decremented (due to cast failure).
+ // ...This is a reasonable thing to expect. It is true of
+ // all casts inserted by javac to implement generic types.
+ data->as_CounterData()->count() >= 0)) {
+ cast_obj = maybe_cast_profiled_receiver(not_null_obj, tk->klass(), spec_obj_type, safe_for_replace);
+ if (cast_obj != NULL) {
+ if (failure_control != NULL) // failure is now impossible
+ (*failure_control) = top();
+ // adjust the type of the phi to the exact klass:
+ phi->raise_bottom_type(_gvn.type(cast_obj)->meet_speculative(TypePtr::NULL_PTR));
+ }
}
}
diff --git a/hotspot/src/share/vm/opto/matcher.cpp b/hotspot/src/share/vm/opto/matcher.cpp
index 03ee1dc..f263a3c 100644
--- a/hotspot/src/share/vm/opto/matcher.cpp
+++ b/hotspot/src/share/vm/opto/matcher.cpp
@@ -1922,6 +1922,105 @@
return OptoReg::as_OptoReg(regs.first());
}
+// This function identifies sub-graphs in which a 'load' node is
+// input to two different nodes, and such that it can be matched
+// with BMI instructions like blsi, blsr, etc.
+// Example : for b = -a[i] & a[i] can be matched to blsi r32, m32.
+// The graph is (AndL (SubL Con0 LoadL*) LoadL*), where LoadL*
+// refers to the same node.
+#ifdef X86
+// Match the generic fused operations pattern (op1 (op2 Con{ConType} mop) mop)
+// This is a temporary solution until we make DAGs expressible in ADL.
+template<typename ConType>
+class FusedPatternMatcher {
+ Node* _op1_node;
+ Node* _mop_node;
+ int _con_op;
+
+ static int match_next(Node* n, int next_op, int next_op_idx) {
+ if (n->in(1) == NULL || n->in(2) == NULL) {
+ return -1;
+ }
+
+ if (next_op_idx == -1) { // n is commutative, try rotations
+ if (n->in(1)->Opcode() == next_op) {
+ return 1;
+ } else if (n->in(2)->Opcode() == next_op) {
+ return 2;
+ }
+ } else {
+ assert(next_op_idx > 0 && next_op_idx <= 2, "Bad argument index");
+ if (n->in(next_op_idx)->Opcode() == next_op) {
+ return next_op_idx;
+ }
+ }
+ return -1;
+ }
+public:
+ FusedPatternMatcher(Node* op1_node, Node *mop_node, int con_op) :
+ _op1_node(op1_node), _mop_node(mop_node), _con_op(con_op) { }
+
+ bool match(int op1, int op1_op2_idx, // op1 and the index of the op1->op2 edge, -1 if op1 is commutative
+ int op2, int op2_con_idx, // op2 and the index of the op2->con edge, -1 if op2 is commutative
+ typename ConType::NativeType con_value) {
+ if (_op1_node->Opcode() != op1) {
+ return false;
+ }
+ if (_mop_node->outcnt() > 2) {
+ return false;
+ }
+ op1_op2_idx = match_next(_op1_node, op2, op1_op2_idx);
+ if (op1_op2_idx == -1) {
+ return false;
+ }
+ // Memory operation must be the other edge
+ int op1_mop_idx = (op1_op2_idx & 1) + 1;
+
+ // Check that the mop node is really what we want
+ if (_op1_node->in(op1_mop_idx) == _mop_node) {
+ Node *op2_node = _op1_node->in(op1_op2_idx);
+ if (op2_node->outcnt() > 1) {
+ return false;
+ }
+ assert(op2_node->Opcode() == op2, "Should be");
+ op2_con_idx = match_next(op2_node, _con_op, op2_con_idx);
+ if (op2_con_idx == -1) {
+ return false;
+ }
+ // Memory operation must be the other edge
+ int op2_mop_idx = (op2_con_idx & 1) + 1;
+ // Check that the memory operation is the same node
+ if (op2_node->in(op2_mop_idx) == _mop_node) {
+ // Now check the constant
+ const Type* con_type = op2_node->in(op2_con_idx)->bottom_type();
+ if (con_type != Type::TOP && ConType::as_self(con_type)->get_con() == con_value) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+};
+
+
+bool Matcher::is_bmi_pattern(Node *n, Node *m) {
+ if (n != NULL && m != NULL) {
+ if (m->Opcode() == Op_LoadI) {
+ FusedPatternMatcher<TypeInt> bmii(n, m, Op_ConI);
+ return bmii.match(Op_AndI, -1, Op_SubI, 1, 0) ||
+ bmii.match(Op_AndI, -1, Op_AddI, -1, -1) ||
+ bmii.match(Op_XorI, -1, Op_AddI, -1, -1);
+ } else if (m->Opcode() == Op_LoadL) {
+ FusedPatternMatcher<TypeLong> bmil(n, m, Op_ConL);
+ return bmil.match(Op_AndL, -1, Op_SubL, 1, 0) ||
+ bmil.match(Op_AndL, -1, Op_AddL, -1, -1) ||
+ bmil.match(Op_XorL, -1, Op_AddL, -1, -1);
+ }
+ }
+ return false;
+}
+#endif // X86
+
// A method-klass-holder may be passed in the inline_cache_reg
// and then expanded into the inline_cache_reg and a method_oop register
// defined in ad_<arch>.cpp
@@ -2077,6 +2176,14 @@
set_shared(m->in(AddPNode::Base)->in(1));
}
+ // if 'n' and 'm' are part of a graph for BMI instruction, clone this node.
+#ifdef X86
+ if (UseBMI1Instructions && is_bmi_pattern(n, m)) {
+ mstack.push(m, Visit);
+ continue;
+ }
+#endif
+
// Clone addressing expressions as they are "free" in memory access instructions
if( mem_op && i == MemNode::Address && mop == Op_AddP ) {
// Some inputs for address expression are not put on stack
diff --git a/hotspot/src/share/vm/opto/matcher.hpp b/hotspot/src/share/vm/opto/matcher.hpp
index 38eeca4..66d4a0a 100644
--- a/hotspot/src/share/vm/opto/matcher.hpp
+++ b/hotspot/src/share/vm/opto/matcher.hpp
@@ -79,6 +79,9 @@
// Find shared Nodes, or Nodes that otherwise are Matcher roots
void find_shared( Node *n );
+#ifdef X86
+ bool is_bmi_pattern(Node *n, Node *m);
+#endif
// Debug and profile information for nodes in old space:
GrowableArray<Node_Notes*>* _old_node_note_array;
diff --git a/hotspot/src/share/vm/opto/memnode.cpp b/hotspot/src/share/vm/opto/memnode.cpp
index 8097ead..3a6d499 100644
--- a/hotspot/src/share/vm/opto/memnode.cpp
+++ b/hotspot/src/share/vm/opto/memnode.cpp
@@ -1593,35 +1593,33 @@
// Try to constant-fold a stable array element.
static const Type* fold_stable_ary_elem(const TypeAryPtr* ary, int off, BasicType loadbt) {
+ assert(ary->const_oop(), "array should be constant");
assert(ary->is_stable(), "array should be stable");
- if (ary->const_oop() != NULL) {
- // Decode the results of GraphKit::array_element_address.
- ciArray* aobj = ary->const_oop()->as_array();
- ciConstant con = aobj->element_value_by_offset(off);
+ // Decode the results of GraphKit::array_element_address.
+ ciArray* aobj = ary->const_oop()->as_array();
+ ciConstant con = aobj->element_value_by_offset(off);
- if (con.basic_type() != T_ILLEGAL && !con.is_null_or_zero()) {
- const Type* con_type = Type::make_from_constant(con);
- if (con_type != NULL) {
- if (con_type->isa_aryptr()) {
- // Join with the array element type, in case it is also stable.
- int dim = ary->stable_dimension();
- con_type = con_type->is_aryptr()->cast_to_stable(true, dim-1);
- }
- if (loadbt == T_NARROWOOP && con_type->isa_oopptr()) {
- con_type = con_type->make_narrowoop();
- }
-#ifndef PRODUCT
- if (TraceIterativeGVN) {
- tty->print("FoldStableValues: array element [off=%d]: con_type=", off);
- con_type->dump(); tty->cr();
- }
-#endif //PRODUCT
- return con_type;
+ if (con.basic_type() != T_ILLEGAL && !con.is_null_or_zero()) {
+ const Type* con_type = Type::make_from_constant(con);
+ if (con_type != NULL) {
+ if (con_type->isa_aryptr()) {
+ // Join with the array element type, in case it is also stable.
+ int dim = ary->stable_dimension();
+ con_type = con_type->is_aryptr()->cast_to_stable(true, dim-1);
}
+ if (loadbt == T_NARROWOOP && con_type->isa_oopptr()) {
+ con_type = con_type->make_narrowoop();
+ }
+#ifndef PRODUCT
+ if (TraceIterativeGVN) {
+ tty->print("FoldStableValues: array element [off=%d]: con_type=", off);
+ con_type->dump(); tty->cr();
+ }
+#endif //PRODUCT
+ return con_type;
}
}
-
return NULL;
}
@@ -1641,7 +1639,7 @@
// Try to guess loaded type from pointer type
if (tp->isa_aryptr()) {
const TypeAryPtr* ary = tp->is_aryptr();
- const Type *t = ary->elem();
+ const Type* t = ary->elem();
// Determine whether the reference is beyond the header or not, by comparing
// the offset against the offset of the start of the array's data.
@@ -1653,10 +1651,9 @@
const bool off_beyond_header = ((uint)off >= (uint)min_base_off);
// Try to constant-fold a stable array element.
- if (FoldStableValues && ary->is_stable()) {
- // Make sure the reference is not into the header
- if (off_beyond_header && off != Type::OffsetBot) {
- assert(adr->is_AddP() && adr->in(AddPNode::Offset)->is_Con(), "offset is a constant");
+ if (FoldStableValues && ary->is_stable() && ary->const_oop() != NULL) {
+ // Make sure the reference is not into the header and the offset is constant
+ if (off_beyond_header && adr->is_AddP() && off != Type::OffsetBot) {
const Type* con_type = fold_stable_ary_elem(ary, off, memory_type());
if (con_type != NULL) {
return con_type;
diff --git a/hotspot/src/share/vm/opto/multnode.cpp b/hotspot/src/share/vm/opto/multnode.cpp
index 300f624..1da4b77 100644
--- a/hotspot/src/share/vm/opto/multnode.cpp
+++ b/hotspot/src/share/vm/opto/multnode.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -194,7 +194,9 @@
}
}
- ProjNode* other_proj = iff->proj_out(1-_con)->as_Proj();
+ ProjNode* other_proj = iff->proj_out(1-_con);
+ if (other_proj == NULL) // Should never happen, but make Parfait happy.
+ return false;
if (other_proj->is_uncommon_trap_proj(reason)) {
assert(reason == Deoptimization::Reason_none ||
Compile::current()->is_predicate_opaq(iff->in(1)->in(1)), "should be on the list");
diff --git a/hotspot/src/share/vm/opto/parse.hpp b/hotspot/src/share/vm/opto/parse.hpp
index cca8a8b..092e40a 100644
--- a/hotspot/src/share/vm/opto/parse.hpp
+++ b/hotspot/src/share/vm/opto/parse.hpp
@@ -338,6 +338,8 @@
GraphKit _exits; // Record all normal returns and throws here.
bool _wrote_final; // Did we write a final field?
bool _wrote_volatile; // Did we write a volatile field?
+ bool _wrote_stable; // Did we write a @Stable field?
+ bool _wrote_fields; // Did we write any field?
bool _count_invocations; // update and test invocation counter
bool _method_data_update; // update method data oop
Node* _alloc_with_final; // An allocation node with final field
@@ -383,6 +385,10 @@
void set_wrote_final(bool z) { _wrote_final = z; }
bool wrote_volatile() const { return _wrote_volatile; }
void set_wrote_volatile(bool z) { _wrote_volatile = z; }
+ bool wrote_stable() const { return _wrote_stable; }
+ void set_wrote_stable(bool z) { _wrote_stable = z; }
+ bool wrote_fields() const { return _wrote_fields; }
+ void set_wrote_fields(bool z) { _wrote_fields = z; }
bool count_invocations() const { return _count_invocations; }
bool method_data_update() const { return _method_data_update; }
Node* alloc_with_final() const { return _alloc_with_final; }
diff --git a/hotspot/src/share/vm/opto/parse1.cpp b/hotspot/src/share/vm/opto/parse1.cpp
index 74b1f1a..db50f98 100644
--- a/hotspot/src/share/vm/opto/parse1.cpp
+++ b/hotspot/src/share/vm/opto/parse1.cpp
@@ -391,6 +391,8 @@
_depth = 1 + (caller->has_method() ? caller->depth() : 0);
_wrote_final = false;
_wrote_volatile = false;
+ _wrote_stable = false;
+ _wrote_fields = false;
_alloc_with_final = NULL;
_entry_bci = InvocationEntryBci;
_tf = NULL;
@@ -908,26 +910,35 @@
Node* iophi = _exits.i_o();
_exits.set_i_o(gvn().transform(iophi));
- // On PPC64, also add MemBarRelease for constructors which write
- // volatile fields. As support_IRIW_for_not_multiple_copy_atomic_cpu
- // is set on PPC64, no sync instruction is issued after volatile
- // stores. We want to quarantee the same behaviour as on platforms
- // with total store order, although this is not required by the Java
- // memory model. So as with finals, we add a barrier here.
- if (wrote_final() PPC64_ONLY(|| (wrote_volatile() && method()->is_initializer()))) {
- // This method (which must be a constructor by the rules of Java)
- // wrote a final. The effects of all initializations must be
- // committed to memory before any code after the constructor
- // publishes the reference to the newly constructor object.
- // Rather than wait for the publication, we simply block the
- // writes here. Rather than put a barrier on only those writes
- // which are required to complete, we force all writes to complete.
- //
- // "All bets are off" unless the first publication occurs after a
- // normal return from the constructor. We do not attempt to detect
- // such unusual early publications. But no barrier is needed on
- // exceptional returns, since they cannot publish normally.
- //
+ // Figure out if we need to emit the trailing barrier. The barrier is only
+ // needed in the constructors, and only in three cases:
+ //
+ // 1. The constructor wrote a final. The effects of all initializations
+ // must be committed to memory before any code after the constructor
+ // publishes the reference to the newly constructed object. Rather
+ // than wait for the publication, we simply block the writes here.
+ // Rather than put a barrier on only those writes which are required
+ // to complete, we force all writes to complete.
+ //
+ // 2. On PPC64, also add MemBarRelease for constructors which write
+ // volatile fields. As support_IRIW_for_not_multiple_copy_atomic_cpu
+ // is set on PPC64, no sync instruction is issued after volatile
+ // stores. We want to guarantee the same behavior as on platforms
+ // with total store order, although this is not required by the Java
+ // memory model. So as with finals, we add a barrier here.
+ //
+ // 3. Experimental VM option is used to force the barrier if any field
+ // was written out in the constructor.
+ //
+ // "All bets are off" unless the first publication occurs after a
+ // normal return from the constructor. We do not attempt to detect
+ // such unusual early publications. But no barrier is needed on
+ // exceptional returns, since they cannot publish normally.
+ //
+ if (method()->is_initializer() &&
+ (wrote_final() ||
+ PPC64_ONLY(wrote_volatile() ||)
+ (AlwaysSafeConstructors && wrote_fields()))) {
_exits.insert_mem_bar(Op_MemBarRelease, alloc_with_final());
#ifndef PRODUCT
if (PrintOpto && (Verbose || WizardMode)) {
@@ -937,6 +948,19 @@
#endif
}
+ // Any method can write a @Stable field; insert memory barriers after
+ // those also. If there is a predecessor allocation node, bind the
+ // barrier there.
+ if (wrote_stable()) {
+ _exits.insert_mem_bar(Op_MemBarRelease, alloc_with_final());
+#ifndef PRODUCT
+ if (PrintOpto && (Verbose || WizardMode)) {
+ method()->print_name();
+ tty->print_cr(" writes @Stable and needs a memory barrier");
+ }
+#endif
+ }
+
for (MergeMemStream mms(_exits.merged_memory()); mms.next_non_empty(); ) {
// transform each slice of the original memphi:
mms.set_memory(_gvn.transform(mms.memory()));
diff --git a/hotspot/src/share/vm/opto/parse3.cpp b/hotspot/src/share/vm/opto/parse3.cpp
index 466e1ca..1f7ea1d 100644
--- a/hotspot/src/share/vm/opto/parse3.cpp
+++ b/hotspot/src/share/vm/opto/parse3.cpp
@@ -233,7 +233,8 @@
// Build the load.
//
MemNode::MemOrd mo = is_vol ? MemNode::acquire : MemNode::unordered;
- Node* ld = make_load(NULL, adr, type, bt, adr_type, mo, is_vol);
+ bool needs_atomic_access = is_vol || AlwaysAtomicAccesses;
+ Node* ld = make_load(NULL, adr, type, bt, adr_type, mo, needs_atomic_access);
// Adjust Java stack
if (type2size[bt] == 1)
@@ -314,7 +315,8 @@
}
store = store_oop_to_object(control(), obj, adr, adr_type, val, field_type, bt, mo);
} else {
- store = store_to_memory(control(), adr, val, bt, adr_type, mo, is_vol);
+ bool needs_atomic_access = is_vol || AlwaysAtomicAccesses;
+ store = store_to_memory(control(), adr, val, bt, adr_type, mo, needs_atomic_access);
}
// If reference is volatile, prevent following volatiles ops from
@@ -332,13 +334,23 @@
}
}
+ if (is_field) {
+ set_wrote_fields(true);
+ }
+
// If the field is final, the rules of Java say we are in <init> or <clinit>.
// Note the presence of writes to final non-static fields, so that we
// can insert a memory barrier later on to keep the writes from floating
// out of the constructor.
// Any method can write a @Stable field; insert memory barriers after those also.
if (is_field && (field->is_final() || field->is_stable())) {
- set_wrote_final(true);
+ if (field->is_final()) {
+ set_wrote_final(true);
+ }
+ if (field->is_stable()) {
+ set_wrote_stable(true);
+ }
+
// Preserve allocation ptr to create precedent edge to it in membar
// generated on exit from constructor.
if (C->eliminate_boxing() &&
diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp
index 1e02bf0..3099df2 100644
--- a/hotspot/src/share/vm/runtime/arguments.cpp
+++ b/hotspot/src/share/vm/runtime/arguments.cpp
@@ -1699,7 +1699,8 @@
// HeapBaseMinAddress can be greater than default but not less than.
if (!FLAG_IS_DEFAULT(HeapBaseMinAddress)) {
if (HeapBaseMinAddress < DefaultHeapBaseMinAddress) {
- if (PrintMiscellaneous && Verbose) { // matches compressed oops printing flags
+ // matches compressed oops printing flags
+ if (PrintCompressedOopsMode || (PrintMiscellaneous && Verbose)) {
jio_fprintf(defaultStream::error_stream(),
"HeapBaseMinAddress must be at least " UINTX_FORMAT
" (" UINTX_FORMAT "G) which is greater than value given "
@@ -2407,9 +2408,11 @@
status &= verify_interval(NmethodSweepFraction, 1, ReservedCodeCacheSize/K, "NmethodSweepFraction");
status &= verify_interval(NmethodSweepActivity, 0, 2000, "NmethodSweepActivity");
+ status &= verify_interval(CodeCacheMinBlockLength, 1, 100, "CodeCacheMinBlockLength");
+ status &= verify_interval(CodeCacheSegmentSize, 1, 1024, "CodeCacheSegmentSize");
// TieredCompilation needs at least 2 compiler threads.
- const int num_min_compiler_threads = (TieredCompilation) ? 2 : 1;
+ const int num_min_compiler_threads = (TieredCompilation && (TieredStopAtLevel >= CompLevel_full_optimization)) ? 2 : 1;
status &=verify_min_value(CICompilerCount, num_min_compiler_threads, "CICompilerCount");
return status;
diff --git a/hotspot/src/share/vm/runtime/globals.hpp b/hotspot/src/share/vm/runtime/globals.hpp
index b971907..945e8ea 100644
--- a/hotspot/src/share/vm/runtime/globals.hpp
+++ b/hotspot/src/share/vm/runtime/globals.hpp
@@ -535,6 +535,9 @@
develop(bool, CleanChunkPoolAsync, falseInEmbedded, \
"Clean the chunk pool asynchronously") \
\
+ experimental(bool, AlwaysSafeConstructors, false, \
+ "Force safe construction, as if all fields are final.") \
+ \
/* Temporary: See 6948537 */ \
experimental(bool, UseMemSetInBOT, true, \
"(Unstable) uses memset in BOT updates in GC code") \
@@ -811,8 +814,8 @@
product(bool, PrintOopAddress, false, \
"Always print the location of the oop") \
\
- notproduct(bool, VerifyCodeCacheOften, false, \
- "Verify compiled-code cache often") \
+ notproduct(bool, VerifyCodeCache, false, \
+ "Verify code cache on memory allocation/deallocation") \
\
develop(bool, ZapDeadCompiledLocals, false, \
"Zap dead locals in compiler frames") \
@@ -2984,7 +2987,8 @@
"maximum number of nested recursive calls that are inlined") \
\
develop(intx, MaxForceInlineLevel, 100, \
- "maximum number of nested @ForceInline calls that are inlined") \
+ "maximum number of nested calls that are forced for inlining " \
+ "(using CompilerOracle or marked w/ @ForceInline)") \
\
product_pd(intx, InlineSmallCode, \
"Only inline already compiled methods if their code size is " \
@@ -3292,8 +3296,8 @@
"disable this feature") \
\
/* code cache parameters */ \
- /* ppc64 has large code-entry alignment. */ \
- develop(uintx, CodeCacheSegmentSize, 64 PPC64_ONLY(+64), \
+ /* ppc64/tiered compilation has large code-entry alignment. */ \
+ develop(uintx, CodeCacheSegmentSize, 64 PPC64_ONLY(+64) NOT_PPC64(TIERED_ONLY(+64)),\
"Code cache segment size (in bytes) - smallest unit of " \
"allocation") \
\
@@ -3795,8 +3799,8 @@
experimental(bool, TrustFinalNonStaticFields, false, \
"trust final non-static declarations for constant folding") \
\
- experimental(bool, FoldStableValues, false, \
- "Private flag to control optimizations for stable variables") \
+ diagnostic(bool, FoldStableValues, true, \
+ "Optimize loads from stable fields (marked w/ @Stable)") \
\
develop(bool, TraceInvokeDynamic, false, \
"trace internal invoke dynamic operations") \
@@ -3864,6 +3868,9 @@
"Allocation less than this value will be allocated " \
"using malloc. Larger allocations will use mmap.") \
\
+ experimental(bool, AlwaysAtomicAccesses, false, \
+ "Accesses to all variables should always be atomic") \
+ \
product(bool, EnableTracing, false, \
"Enable event-based tracing") \
\
diff --git a/hotspot/src/share/vm/runtime/thread.cpp b/hotspot/src/share/vm/runtime/thread.cpp
index d0fb677..bd794da 100644
--- a/hotspot/src/share/vm/runtime/thread.cpp
+++ b/hotspot/src/share/vm/runtime/thread.cpp
@@ -910,7 +910,7 @@
cur != VMOperationRequest_lock &&
cur != VMOperationQueue_lock) ||
cur->rank() == Mutex::special) {
- warning("Thread holding lock at safepoint that vm can block on: %s", cur->name());
+ fatal(err_msg("Thread holding lock at safepoint that vm can block on: %s", cur->name()));
}
}
}
diff --git a/hotspot/src/share/vm/runtime/vmStructs.cpp b/hotspot/src/share/vm/runtime/vmStructs.cpp
index 7044dc9..2475de0 100644
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp
@@ -2336,6 +2336,12 @@
/* ConstMethod anon-enum */ \
/********************************/ \
\
+ declare_constant(Method::_jfr_towrite) \
+ declare_constant(Method::_caller_sensitive) \
+ declare_constant(Method::_force_inline) \
+ declare_constant(Method::_dont_inline) \
+ declare_constant(Method::_hidden) \
+ \
declare_constant(ConstMethod::_has_linenumber_table) \
declare_constant(ConstMethod::_has_checked_exceptions) \
declare_constant(ConstMethod::_has_localvariable_table) \
diff --git a/hotspot/src/share/vm/shark/llvmHeaders.hpp b/hotspot/src/share/vm/shark/llvmHeaders.hpp
index 1f2c2c7..05ef7fe 100644
--- a/hotspot/src/share/vm/shark/llvmHeaders.hpp
+++ b/hotspot/src/share/vm/shark/llvmHeaders.hpp
@@ -36,21 +36,43 @@
#endif
#include <llvm/Analysis/Verifier.h>
+#include <llvm/ExecutionEngine/ExecutionEngine.h>
+
+// includes specific to each version
+#if SHARK_LLVM_VERSION <= 31
+#include <llvm/Support/IRBuilder.h>
+#include <llvm/Type.h>
#include <llvm/Argument.h>
#include <llvm/Constants.h>
#include <llvm/DerivedTypes.h>
-#include <llvm/ExecutionEngine/ExecutionEngine.h>
#include <llvm/Instructions.h>
#include <llvm/LLVMContext.h>
#include <llvm/Module.h>
-#if SHARK_LLVM_VERSION <= 31
-#include <llvm/Support/IRBuilder.h>
-#else
+#elif SHARK_LLVM_VERSION <= 32
#include <llvm/IRBuilder.h>
+#include <llvm/Type.h>
+#include <llvm/Argument.h>
+#include <llvm/Constants.h>
+#include <llvm/DerivedTypes.h>
+#include <llvm/Instructions.h>
+#include <llvm/LLVMContext.h>
+#include <llvm/Module.h>
+#else // SHARK_LLVM_VERSION <= 34
+#include <llvm/IR/IRBuilder.h>
+#include <llvm/IR/Argument.h>
+#include <llvm/IR/Constants.h>
+#include <llvm/IR/DerivedTypes.h>
+#include <llvm/ExecutionEngine/ExecutionEngine.h>
+#include <llvm/IR/Instructions.h>
+#include <llvm/IR/LLVMContext.h>
+#include <llvm/IR/Module.h>
+#include <llvm/ADT/StringRef.h>
+#include <llvm/IR/Type.h>
#endif
+
+// common includes
#include <llvm/Support/Threading.h>
#include <llvm/Support/TargetSelect.h>
-#include <llvm/Type.h>
#include <llvm/ExecutionEngine/JITMemoryManager.h>
#include <llvm/Support/CommandLine.h>
#include <llvm/ExecutionEngine/MCJIT.h>
diff --git a/hotspot/src/share/vm/shark/sharkCompiler.cpp b/hotspot/src/share/vm/shark/sharkCompiler.cpp
index 17fdcfc..fe62efd 100644
--- a/hotspot/src/share/vm/shark/sharkCompiler.cpp
+++ b/hotspot/src/share/vm/shark/sharkCompiler.cpp
@@ -364,3 +364,7 @@
*(dst++) = '\0';
return buf;
}
+
+void SharkCompiler::print_timers() {
+ // do nothing
+}
diff --git a/hotspot/src/share/vm/shark/sharkCompiler.hpp b/hotspot/src/share/vm/shark/sharkCompiler.hpp
index 9740029..1b86817 100644
--- a/hotspot/src/share/vm/shark/sharkCompiler.hpp
+++ b/hotspot/src/share/vm/shark/sharkCompiler.hpp
@@ -56,6 +56,9 @@
// Compile a normal (bytecode) method and install it in the VM
void compile_method(ciEnv* env, ciMethod* target, int entry_bci);
+ // Print compilation timers and statistics
+ void print_timers();
+
// Generate a wrapper for a native (JNI) method
nmethod* generate_native_wrapper(MacroAssembler* masm,
methodHandle target,
diff --git a/hotspot/src/share/vm/shark/sharkInliner.cpp b/hotspot/src/share/vm/shark/sharkInliner.cpp
index 76b63a1..4746584 100644
--- a/hotspot/src/share/vm/shark/sharkInliner.cpp
+++ b/hotspot/src/share/vm/shark/sharkInliner.cpp
@@ -744,6 +744,10 @@
}
bool SharkInliner::attempt_inline(ciMethod *target, SharkState *state) {
+ if (!Inline) {
+ return false;
+ }
+
if (SharkIntrinsics::is_intrinsic(target)) {
SharkIntrinsics::inline_intrinsic(target, state);
return true;
diff --git a/hotspot/src/share/vm/shark/sharkMemoryManager.cpp b/hotspot/src/share/vm/shark/sharkMemoryManager.cpp
index 20cb0e5..d986ae8 100644
--- a/hotspot/src/share/vm/shark/sharkMemoryManager.cpp
+++ b/hotspot/src/share/vm/shark/sharkMemoryManager.cpp
@@ -59,18 +59,6 @@
entry->set_code_limit(FunctionEnd);
}
-unsigned char* SharkMemoryManager::startExceptionTable(const Function* F,
- uintptr_t& ActualSize) {
- return mm()->startExceptionTable(F, ActualSize);
-}
-
-void SharkMemoryManager::endExceptionTable(const Function* F,
- unsigned char* TableStart,
- unsigned char* TableEnd,
- unsigned char* FrameRegister) {
- mm()->endExceptionTable(F, TableStart, TableEnd, FrameRegister);
-}
-
void SharkMemoryManager::setMemoryWritable() {
mm()->setMemoryWritable();
}
@@ -79,10 +67,6 @@
mm()->setMemoryExecutable();
}
-void SharkMemoryManager::deallocateExceptionTable(void *ptr) {
- mm()->deallocateExceptionTable(ptr);
-}
-
void SharkMemoryManager::deallocateFunctionBody(void *ptr) {
mm()->deallocateFunctionBody(ptr);
}
@@ -96,14 +80,6 @@
return mm()->getPointerToNamedFunction(Name, AbortOnFailure);
}
-uint8_t* SharkMemoryManager::allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) {
- return mm()->allocateCodeSection(Size, Alignment, SectionID);
-}
-
-uint8_t* SharkMemoryManager::allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) {
- return mm()->allocateDataSection(Size, Alignment, SectionID);
-}
-
void SharkMemoryManager::setPoisonMemory(bool poison) {
mm()->setPoisonMemory(poison);
}
@@ -112,3 +88,45 @@
unsigned int Alignment) {
return mm()->allocateSpace(Size, Alignment);
}
+
+#if SHARK_LLVM_VERSION <= 32
+
+uint8_t* SharkMemoryManager::allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) {
+ return mm()->allocateCodeSection(Size, Alignment, SectionID);
+}
+
+uint8_t* SharkMemoryManager::allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID) {
+ return mm()->allocateDataSection(Size, Alignment, SectionID);
+}
+
+void SharkMemoryManager::deallocateExceptionTable(void *ptr) {
+ mm()->deallocateExceptionTable(ptr);
+}
+
+unsigned char* SharkMemoryManager::startExceptionTable(const Function* F,
+ uintptr_t& ActualSize) {
+ return mm()->startExceptionTable(F, ActualSize);
+}
+
+void SharkMemoryManager::endExceptionTable(const Function* F,
+ unsigned char* TableStart,
+ unsigned char* TableEnd,
+ unsigned char* FrameRegister) {
+ mm()->endExceptionTable(F, TableStart, TableEnd, FrameRegister);
+}
+
+#else
+
+uint8_t *SharkMemoryManager::allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, StringRef SectionName) {
+ return mm()->allocateCodeSection(Size, Alignment, SectionID, SectionName);
+}
+
+uint8_t* SharkMemoryManager::allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, StringRef SectionName, bool IsReadOnly) {
+ return mm()->allocateDataSection(Size, Alignment, SectionID, SectionName, IsReadOnly);
+}
+
+bool SharkMemoryManager::finalizeMemory(std::string *ErrMsg) {
+ return mm()->finalizeMemory(ErrMsg);
+}
+
+#endif
diff --git a/hotspot/src/share/vm/shark/sharkMemoryManager.hpp b/hotspot/src/share/vm/shark/sharkMemoryManager.hpp
index fa725a14..7a5ad7b 100644
--- a/hotspot/src/share/vm/shark/sharkMemoryManager.hpp
+++ b/hotspot/src/share/vm/shark/sharkMemoryManager.hpp
@@ -69,23 +69,32 @@
void endFunctionBody(const llvm::Function* F,
unsigned char* FunctionStart,
unsigned char* FunctionEnd);
- unsigned char* startExceptionTable(const llvm::Function* F,
- uintptr_t& ActualSize);
- void endExceptionTable(const llvm::Function* F,
- unsigned char* TableStart,
- unsigned char* TableEnd,
- unsigned char* FrameRegister);
+
void *getPointerToNamedFunction(const std::string &Name, bool AbortOnFailure = true);
- uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID);
- uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID);
void setPoisonMemory(bool);
uint8_t* allocateGlobal(uintptr_t, unsigned int);
void setMemoryWritable();
void setMemoryExecutable();
- void deallocateExceptionTable(void *ptr);
void deallocateFunctionBody(void *ptr);
unsigned char *allocateSpace(intptr_t Size,
unsigned int Alignment);
+
+#if SHARK_LLVM_VERSION <= 32
+uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID);
+uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID);
+unsigned char* startExceptionTable(const llvm::Function* F,
+ uintptr_t& ActualSize);
+void deallocateExceptionTable(void *ptr);
+void endExceptionTable(const llvm::Function* F,
+ unsigned char* TableStart,
+ unsigned char* TableEnd,
+ unsigned char* FrameRegister);
+#else
+uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, llvm::StringRef SectionName);
+uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, unsigned SectionID, llvm::StringRef SectionName, bool IsReadOnly);
+bool finalizeMemory(std::string *ErrMsg = 0);
+#endif
+
};
#endif // SHARE_VM_SHARK_SHARKMEMORYMANAGER_HPP
diff --git a/hotspot/src/share/vm/utilities/elfFile.cpp b/hotspot/src/share/vm/utilities/elfFile.cpp
index 371a036..3d89595 100644
--- a/hotspot/src/share/vm/utilities/elfFile.cpp
+++ b/hotspot/src/share/vm/utilities/elfFile.cpp
@@ -140,7 +140,7 @@
}
}
-#if defined(PPC64)
+#if defined(PPC64) && !defined(ABI_ELFv2)
// Now read the .opd section wich contains the PPC64 function descriptor table.
// The .opd section is only available on PPC64 (see for example:
// http://refspecs.linuxfoundation.org/LSB_3.1.1/LSB-Core-PPC64/LSB-Core-PPC64/specialsections.html)
diff --git a/hotspot/src/share/vm/utilities/hashtable.cpp b/hotspot/src/share/vm/utilities/hashtable.cpp
index a850ebe..8698cca 100644
--- a/hotspot/src/share/vm/utilities/hashtable.cpp
+++ b/hotspot/src/share/vm/utilities/hashtable.cpp
@@ -25,7 +25,6 @@
#include "precompiled.hpp"
#include "classfile/altHashing.hpp"
#include "classfile/javaClasses.hpp"
-#include "code/dependencies.hpp"
#include "memory/allocation.inline.hpp"
#include "memory/filemap.hpp"
#include "memory/resourceArea.hpp"
@@ -353,116 +352,6 @@
#endif
-template<class T, class M> GenericHashtable<T, M>::GenericHashtable(int size, bool C_heap, MEMFLAGS memflag) {
- assert(size > 0, " Invalid hashtable size");
- _size = size;
- _C_heap = C_heap;
- _memflag = memflag;
- // Perform subtype-specific resource allocation
- _items = (C_heap) ? NEW_C_HEAP_ARRAY(T*, size, memflag) : NEW_RESOURCE_ARRAY(T*, size);
- memset(_items, 0, sizeof(T*) * size);
-
- DEBUG_ONLY(_num_items = 0;)
-}
-
-template<class T, class M> GenericHashtable<T, M>::~GenericHashtable() {
- if (on_C_heap()) {
- // Check backing array
- for (int i = 0; i < size(); i++) {
- T* item = head(i);
- // Delete all items in linked list
- while (item != NULL) {
- T* next_item = item->next();
- delete item;
- DEBUG_ONLY(_num_items--);
- item = next_item;
- }
- }
- FREE_C_HEAP_ARRAY(T*, _items, _memflag);
- _items = NULL;
- assert (_num_items == 0, "Not all memory released");
- }
-}
-
-/**
- * Return a pointer to the item 'I' that is stored in the hashtable for
- * which match_item->equals(I) == true. If no such item is found, NULL
- * is returned.
- */
-template<class T, class F> T* GenericHashtable<T, F>::contains(T* match_item) {
- if (match_item != NULL) {
- int idx = index(match_item);
- return contains_impl(match_item, idx);
- }
- return NULL;
-}
-
-/**
- * Add item to the hashtable. Return 'true' if the item was added
- * and false otherwise.
- */
-template<class T, class F> bool GenericHashtable<T, F>::add(T* item) {
- if (item != NULL) {
- int idx = index(item);
- T* found_item = contains_impl(item, idx);
- if (found_item == NULL) {
- T* list_head = head(idx);
- item->set_next(list_head);
- item->set_prev(NULL);
-
- if (list_head != NULL) {
- list_head->set_prev(item);
- }
- set_head(item, idx);
- DEBUG_ONLY(_num_items++);
- return true;
- }
- }
- return false;
-}
-
-/**
- * Removes an item 'I' from the hashtable, if present. 'I' is removed, if
- * match_item->equals(I) == true. Removing an item from the hashtable does
- * not free memory.
- */
-template<class T, class F> T* GenericHashtable<T, F>::remove(T* match_item) {
- if (match_item != NULL) {
- int idx = index(match_item);
- T* found_item = contains_impl(match_item, idx);
- if (found_item != NULL) {
- // Remove item from linked list
- T* prev = found_item->prev();
- T* next = found_item->next();
- if (prev != NULL) {
- prev->set_next(next);
- } else {
- set_head(next, idx);
- }
- if (next != NULL) {
- next->set_prev(prev);
- }
-
- DEBUG_ONLY(_num_items--);
- return found_item;
- }
- }
- return NULL;
-}
-
-
-template<class T, class F> T* GenericHashtable<T, F>::contains_impl(T* item, int idx) {
- T* current_item = head(idx);
- while (current_item != NULL) {
- if (current_item->equals(item)) {
- return current_item;
- }
- current_item = current_item->next();
- }
- return NULL;
-}
-
-
// Explicitly instantiate these types
template class Hashtable<ConstantPool*, mtClass>;
template class Hashtable<Symbol*, mtSymbol>;
@@ -482,5 +371,3 @@
template class BasicHashtable<mtSymbol>;
template class BasicHashtable<mtCode>;
template class BasicHashtable<mtInternal>;
-
-template class GenericHashtable<DependencySignature, ResourceObj>;
diff --git a/hotspot/src/share/vm/utilities/hashtable.hpp b/hotspot/src/share/vm/utilities/hashtable.hpp
index 8294eaa..fcebf72 100644
--- a/hotspot/src/share/vm/utilities/hashtable.hpp
+++ b/hotspot/src/share/vm/utilities/hashtable.hpp
@@ -327,86 +327,4 @@
}
};
-
-/*
- * Usage of GenericHashtable:
- *
- * class X : public GenericHashtableEntry<X, ResourceObj> {
- *
- * // Implement virtual functions in class X
- * bool equals(X* sig) const;
- * uintptr_t hash() const;
- * };
- *
- * void foo() {
- * GenericHashtable<X, ResourceObj>* table = new GenericHashtable<X, ResourceObj>(11027, false);
- *
- * X* elem = new X();
- * table->add(elem);
- * table->contains(elem);
- * }
- *
- * You can choose other allocation types as well. For example, to store the hashtable to a
- * particular region (CHeapObj<type>) simply replace ResourceObj with the desired type:
- *
- * class X : public GenericHashtableEntry<X, CHeapObj<mtCode> > { ... };
- *
- * To make the destructor (and remove) of the hashtable work:
- * 1) override the delete operator of X
- * 2) provide a destructor of the X
- *
- * You may also find it convenient to override the new operator.
- *
- * If you use this templates do not forget to add an explicit initialization
- * (at the end of hashtable.cpp).
- *
- * template class GenericHashtable<X, ResourceObj>;
- */
-template <class T, class M> class GenericHashtableEntry : public M {
- private:
- T* _next;
- T* _prev;
- public:
- // Must be implemented by subclass.
- virtual uintptr_t key() const = 0;
- virtual bool equals(T* other) const = 0;
-
- T* next() const { return _next; }
- T* prev() const { return _prev; }
- void set_next(T* item) { _next = item; }
- void set_prev(T* item) { _prev = item; }
-
- // Constructor and destructor
- GenericHashtableEntry() : _next(NULL), _prev(NULL) { };
- virtual ~GenericHashtableEntry() {};
-};
-
-template <class T, class M> class GenericHashtable : public M {
- private:
- T** _items;
- int _size;
- bool _C_heap;
- MEMFLAGS _memflag;
-
- // Accessor methods
- T* head (int idx) const { return _items[idx]; }
- void set_head(T* item, int idx) { _items[idx] = item; }
- int index (T* item) { assert(item != NULL, "missing null check"); return item->key() % size(); }
-
- // Helper function
- T* contains_impl(T* item, int idx);
-
- DEBUG_ONLY(int _num_items;)
- public:
- GenericHashtable(int size, bool C_heap = false, MEMFLAGS memflag = mtNone);
- ~GenericHashtable();
- T* contains(T* match_item);
- T* remove (T* match_item);
- bool add (T* item);
-
-
- bool on_C_heap() const { return _C_heap; }
- int size() const { return _size; }
-};
-
#endif // SHARE_VM_UTILITIES_HASHTABLE_HPP
diff --git a/hotspot/src/share/vm/utilities/resourceHash.hpp b/hotspot/src/share/vm/utilities/resourceHash.hpp
index 2fe5dec..211d6bc 100644
--- a/hotspot/src/share/vm/utilities/resourceHash.hpp
+++ b/hotspot/src/share/vm/utilities/resourceHash.hpp
@@ -105,14 +105,20 @@
}
}
- // Inserts or replaces a value in the table
- void put(K const& key, V const& value) {
+ /**
+ * Inserts or replaces a value in the table.
+ * @return: true: if a new item is added
+ * false: if the item already existed and the value is updated
+ */
+ bool put(K const& key, V const& value) {
unsigned hv = HASH(key);
Node** ptr = lookup_node(hv, key);
if (*ptr != NULL) {
(*ptr)->_value = value;
+ return false;
} else {
*ptr = new Node(hv, key, value);
+ return true;
}
}
diff --git a/hotspot/src/share/vm/utilities/vmError.cpp b/hotspot/src/share/vm/utilities/vmError.cpp
index 4b0953a..e950d33 100644
--- a/hotspot/src/share/vm/utilities/vmError.cpp
+++ b/hotspot/src/share/vm/utilities/vmError.cpp
@@ -592,13 +592,24 @@
st->cr();
// Compiled code may use EBP register on x86 so it looks like
// non-walkable C frame. Use frame.sender() for java frames.
- if (_thread && _thread->is_Java_thread() && fr.is_java_frame()) {
- RegisterMap map((JavaThread*)_thread, false); // No update
- fr = fr.sender(&map);
- continue;
+ if (_thread && _thread->is_Java_thread()) {
+ // Catch very first native frame by using stack address.
+ // For JavaThread stack_base and stack_size should be set.
+ if (!_thread->on_local_stack((address)(fr.sender_sp() + 1))) {
+ break;
+ }
+ if (fr.is_java_frame()) {
+ RegisterMap map((JavaThread*)_thread, false); // No update
+ fr = fr.sender(&map);
+ } else {
+ fr = os::get_sender_for_C_frame(&fr);
+ }
+ } else {
+ // is_first_C_frame() does only simple checks for frame pointer,
+ // it will pass if java compiled code has a pointer in EBP.
+ if (os::is_first_C_frame(&fr)) break;
+ fr = os::get_sender_for_C_frame(&fr);
}
- if (os::is_first_C_frame(&fr)) break;
- fr = os::get_sender_for_C_frame(&fr);
}
if (count > StackPrintLimit) {
diff --git a/hotspot/test/TEST.groups b/hotspot/test/TEST.groups
index 946cb2b..676d859 100644
--- a/hotspot/test/TEST.groups
+++ b/hotspot/test/TEST.groups
@@ -130,7 +130,9 @@
gc/arguments/TestG1HeapRegionSize.java \
gc/metaspace/TestMetaspaceMemoryPool.java \
runtime/InternalApi/ThreadCpuTimesDeadlock.java \
- serviceability/threads/TestFalseDeadLock.java
+ serviceability/threads/TestFalseDeadLock.java \
+ compiler/tiered/NonTieredLevelsTest.java \
+ compiler/tiered/TieredLevelsTest.java
# Compact 2 adds full VM tests
compact2 = \
diff --git a/hotspot/test/compiler/ciReplay/TestVM.sh b/hotspot/test/compiler/ciReplay/TestVM.sh
index e6c3cc5..6154466 100644
--- a/hotspot/test/compiler/ciReplay/TestVM.sh
+++ b/hotspot/test/compiler/ciReplay/TestVM.sh
@@ -78,8 +78,8 @@
positive_test `expr $stop_level + 50` "TIERED LEVEL $stop_level :: REPLAY" \
"-XX:TieredStopAtLevel=$stop_level"
stop_level=`expr $stop_level + 1`
+ cleanup
done
- cleanup
fi
echo TEST PASSED
diff --git a/hotspot/test/compiler/ciReplay/common.sh b/hotspot/test/compiler/ciReplay/common.sh
index e03acaa..608f68e 100644
--- a/hotspot/test/compiler/ciReplay/common.sh
+++ b/hotspot/test/compiler/ciReplay/common.sh
@@ -99,14 +99,13 @@
# $2 - non-tiered comp_level
nontiered_tests() {
level=`grep "^compile " $replay_data | awk '{print $6}'`
- # is level available in non-tiere
+ # is level available in non-tiered
if [ "$level" -eq $2 ]
then
positive_test $1 "NON-TIERED :: AVAILABLE COMP_LEVEL" \
-XX:-TieredCompilation
else
negative_test `expr $1 + 1` "NON-TIERED :: UNAVAILABLE COMP_LEVEL" \
- negative_test `expr $1 + 1` "NON-TIERED :: UNAVAILABLE COMP_LEVEL" \
-XX:-TieredCompilation
fi
}
diff --git a/hotspot/test/compiler/codegen/BMI1.java b/hotspot/test/compiler/codegen/BMI1.java
new file mode 100644
index 0000000..ada9cf0
--- /dev/null
+++ b/hotspot/test/compiler/codegen/BMI1.java
@@ -0,0 +1,301 @@
+/*
+ * Copyright (c) 2014, 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 8031321
+ * @summary Support BMI1 instructions on x86/x64
+ * @run main/othervm -Xbatch -XX:-TieredCompilation -XX:CompileCommand=compileonly,BMITests.* BMI1
+ *
+ */
+
+class MemI {
+ public int x;
+ public MemI(int x) { this.x = x; }
+}
+
+class MemL {
+ public long x;
+ public MemL(long x) { this.x = x; }
+}
+
+class BMITests {
+ static int andnl(int src1, int src2) {
+ return ~src1 & src2;
+ }
+ static long andnq(long src1, long src2) {
+ return ~src1 & src2;
+ }
+ static int andnl(int src1, MemI src2) {
+ return ~src1 & src2.x;
+ }
+ static long andnq(long src1, MemL src2) {
+ return ~src1 & src2.x;
+ }
+ static int blsil(int src1) {
+ return src1 & -src1;
+ }
+ static long blsiq(long src1) {
+ return src1 & -src1;
+ }
+ static int blsil(MemI src1) {
+ return src1.x & -src1.x;
+ }
+ static long blsiq(MemL src1) {
+ return src1.x & -src1.x;
+ }
+ static int blsmskl(int src1) {
+ return (src1 - 1) ^ src1;
+ }
+ static long blsmskq(long src1) {
+ return (src1 - 1) ^ src1;
+ }
+ static int blsmskl(MemI src1) {
+ return (src1.x - 1) ^ src1.x;
+ }
+ static long blsmskq(MemL src1) {
+ return (src1.x - 1) ^ src1.x;
+ }
+ static int blsrl(int src1) {
+ return (src1 - 1) & src1;
+ }
+ static long blsrq(long src1) {
+ return (src1 - 1) & src1;
+ }
+ static int blsrl(MemI src1) {
+ return (src1.x - 1) & src1.x;
+ }
+ static long blsrq(MemL src1) {
+ return (src1.x - 1) & src1.x;
+ }
+ static int lzcntl(int src1) {
+ return Integer.numberOfLeadingZeros(src1);
+ }
+ static int lzcntq(long src1) {
+ return Long.numberOfLeadingZeros(src1);
+ }
+ static int tzcntl(int src1) {
+ return Integer.numberOfTrailingZeros(src1);
+ }
+ static int tzcntq(long src1) {
+ return Long.numberOfTrailingZeros(src1);
+ }
+}
+
+public class BMI1 {
+ private final static int ITERATIONS = 1000000;
+
+ public static void main(String[] args) {
+ int ix = 0x01234567;
+ int iy = 0x89abcdef;
+ MemI imy = new MemI(iy);
+ long lx = 0x0123456701234567L;
+ long ly = 0x89abcdef89abcdefL;
+ MemL lmy = new MemL(ly);
+
+ { // match(Set dst (AndI (XorI src1 minus_1) src2))
+ int z = BMITests.andnl(ix, iy);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.andnl(ix, iy);
+ if (ii != z) {
+ throw new Error("andnl with register failed");
+ }
+ }
+ }
+ { // match(Set dst (AndL (XorL src1 minus_1) src2))
+ long z = BMITests.andnq(lx, ly);
+ for (int i = 0; i < ITERATIONS; i++) {
+ long ll = BMITests.andnq(lx, ly);
+ if (ll != z) {
+ throw new Error("andnq with register failed");
+ }
+ }
+ }
+ { // match(Set dst (AndI (XorI src1 minus_1) (LoadI src2)))
+ int z = BMITests.andnl(ix, imy);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.andnl(ix, imy);
+ if (ii != z) {
+ throw new Error("andnl with memory failed");
+ }
+ }
+ }
+ { // match(Set dst (AndL (XorL src1 minus_1) (LoadL src2)))
+ long z = BMITests.andnq(lx, lmy);
+ for (int i = 0; i < ITERATIONS; i++) {
+ long ll = BMITests.andnq(lx, lmy);
+ if (ll != z) {
+ throw new Error("andnq with memory failed");
+ }
+ }
+ }
+ { // match(Set dst (AndI (SubI imm_zero src) src))
+ int z = BMITests.blsil(ix);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.blsil(ix);
+ if (ii != z) {
+ throw new Error("blsil with register failed");
+ }
+ }
+ }
+ { // match(Set dst (AndL (SubL imm_zero src) src))
+ long z = BMITests.blsiq(lx);
+ for (int i = 0; i < ITERATIONS; i++) {
+ long ll = BMITests.blsiq(lx);
+ if (ll != z) {
+ throw new Error("blsiq with register failed");
+ }
+ }
+ }
+ { // match(Set dst (AndI (SubI imm_zero (LoadI src) ) (LoadI src) ))
+ int z = BMITests.blsil(imy);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.blsil(imy);
+ if (ii != z) {
+ throw new Error("blsil with memory failed");
+ }
+ }
+ }
+ { // match(Set dst (AndL (SubL imm_zero (LoadL src) ) (LoadL src) ))
+ long z = BMITests.blsiq(lmy);
+ for (int i = 0; i < ITERATIONS; i++) {
+ long ll = BMITests.blsiq(lmy);
+ if (ll != z) {
+ throw new Error("blsiq with memory failed");
+ }
+ }
+ }
+
+ { // match(Set dst (XorI (AddI src minus_1) src))
+ int z = BMITests.blsmskl(ix);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.blsmskl(ix);
+ if (ii != z) {
+ throw new Error("blsmskl with register failed");
+ }
+ }
+ }
+ { // match(Set dst (XorL (AddL src minus_1) src))
+ long z = BMITests.blsmskq(lx);
+ for (int i = 0; i < ITERATIONS; i++) {
+ long ll = BMITests.blsmskq(lx);
+ if (ll != z) {
+ throw new Error("blsmskq with register failed");
+ }
+ }
+ }
+ { // match(Set dst (XorI (AddI (LoadI src) minus_1) (LoadI src) ) )
+ int z = BMITests.blsmskl(imy);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.blsmskl(imy);
+ if (ii != z) {
+ throw new Error("blsmskl with memory failed");
+ }
+ }
+ }
+ { // match(Set dst (XorL (AddL (LoadL src) minus_1) (LoadL src) ) )
+ long z = BMITests.blsmskq(lmy);
+ for (int i = 0; i < ITERATIONS; i++) {
+ long ll = BMITests.blsmskq(lmy);
+ if (ll != z) {
+ throw new Error("blsmskq with memory failed");
+ }
+ }
+ }
+
+ { // match(Set dst (AndI (AddI src minus_1) src) )
+ int z = BMITests.blsrl(ix);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.blsrl(ix);
+ if (ii != z) {
+ throw new Error("blsrl with register failed");
+ }
+ }
+ }
+ { // match(Set dst (AndL (AddL src minus_1) src) )
+ long z = BMITests.blsrq(lx);
+ for (int i = 0; i < ITERATIONS; i++) {
+ long ll = BMITests.blsrq(lx);
+ if (ll != z) {
+ throw new Error("blsrq with register failed");
+ }
+ }
+ }
+ { // match(Set dst (AndI (AddI (LoadI src) minus_1) (LoadI src) ) )
+ int z = BMITests.blsrl(imy);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.blsrl(imy);
+ if (ii != z) {
+ throw new Error("blsrl with memory failed");
+ }
+ }
+ }
+ { // match(Set dst (AndL (AddL (LoadL src) minus_1) (LoadL src)) )
+ long z = BMITests.blsrq(lmy);
+ for (int i = 0; i < ITERATIONS; i++) {
+ long ll = BMITests.blsrq(lmy);
+ if (ll != z) {
+ throw new Error("blsrq with memory failed");
+ }
+ }
+ }
+
+ {
+ int z = BMITests.lzcntl(ix);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.lzcntl(ix);
+ if (ii != z) {
+ throw new Error("lzcntl failed");
+ }
+ }
+ }
+ {
+ int z = BMITests.lzcntq(lx);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.lzcntq(lx);
+ if (ii != z) {
+ throw new Error("lzcntq failed");
+ }
+ }
+ }
+
+ {
+ int z = BMITests.tzcntl(ix);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.tzcntl(ix);
+ if (ii != z) {
+ throw new Error("tzcntl failed");
+ }
+ }
+ }
+ {
+ int z = BMITests.tzcntq(lx);
+ for (int i = 0; i < ITERATIONS; i++) {
+ int ii = BMITests.tzcntq(lx);
+ if (ii != z) {
+ throw new Error("tzcntq failed");
+ }
+ }
+ }
+ }
+}
diff --git a/hotspot/test/compiler/inlining/InlineDefaultMethod1.java b/hotspot/test/compiler/inlining/InlineDefaultMethod1.java
new file mode 100644
index 0000000..d0cadb8
--- /dev/null
+++ b/hotspot/test/compiler/inlining/InlineDefaultMethod1.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2014, 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 8036100
+ * @summary Default method returns true for a while, and then returns false
+ * @run main/othervm -Xcomp -XX:CompileOnly=InlineDefaultMethod1::test
+ * -XX:CompileOnly=I1::m -XX:CompileOnly=I2::m
+ * InlineDefaultMethod1
+ */
+interface I1 {
+ default public int m() { return 0; }
+}
+
+interface I2 extends I1 {
+ default public int m() { return 1; }
+}
+
+abstract class A implements I1 {
+}
+
+class B extends A implements I2 {
+}
+
+public class InlineDefaultMethod1 {
+ public static void test(A obj) {
+ int id = obj.m();
+ if (id != 1) {
+ throw new AssertionError("Called wrong method: 1 != "+id);
+ }
+ }
+
+ public static void main(String[] args) throws InterruptedException {
+ test(new B());
+ System.out.println("TEST PASSED");
+ }
+}
diff --git a/hotspot/test/compiler/membars/DekkerTest.java b/hotspot/test/compiler/membars/DekkerTest.java
index ed31357..f4f2826 100644
--- a/hotspot/test/compiler/membars/DekkerTest.java
+++ b/hotspot/test/compiler/membars/DekkerTest.java
@@ -25,9 +25,9 @@
* @test
* @bug 8007898
* @summary Incorrect optimization of Memory Barriers in Matcher::post_store_load_barrier().
- * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:+StressGCM -XX:+StressLCM DekkerTest
- * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:+StressGCM -XX:+StressLCM DekkerTest
- * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:+StressGCM -XX:+StressLCM DekkerTest
+ * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:-TieredCompilation -XX:+StressGCM -XX:+StressLCM DekkerTest
+ * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:-TieredCompilation -XX:+StressGCM -XX:+StressLCM DekkerTest
+ * @run main/othervm -Xbatch -XX:+IgnoreUnrecognizedVMOptions -XX:CICompilerCount=1 -XX:-TieredCompilation -XX:+StressGCM -XX:+StressLCM DekkerTest
* @author Martin Doerr martin DOT doerr AT sap DOT com
*
* Run 3 times since the failure is intermittent.
diff --git a/hotspot/test/compiler/stable/TestStableBoolean.java b/hotspot/test/compiler/stable/TestStableBoolean.java
new file mode 100644
index 0000000..37f4287
--- /dev/null
+++ b/hotspot/test/compiler/stable/TestStableBoolean.java
@@ -0,0 +1,627 @@
+/*
+ * Copyright (c) 2014, 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 TestStableBoolean
+ * @summary tests on stable fields and arrays
+ * @library /testlibrary
+ * @compile -XDignore.symbol.file TestStableBoolean.java
+ * @run main ClassFileInstaller
+ * java/lang/invoke/TestStableBoolean
+ * java/lang/invoke/TestStableBoolean$BooleanStable
+ * java/lang/invoke/TestStableBoolean$StaticBooleanStable
+ * java/lang/invoke/TestStableBoolean$VolatileBooleanStable
+ * java/lang/invoke/TestStableBoolean$BooleanArrayDim1
+ * java/lang/invoke/TestStableBoolean$BooleanArrayDim2
+ * java/lang/invoke/TestStableBoolean$BooleanArrayDim3
+ * java/lang/invoke/TestStableBoolean$BooleanArrayDim4
+ * java/lang/invoke/TestStableBoolean$ObjectArrayLowerDim0
+ * java/lang/invoke/TestStableBoolean$ObjectArrayLowerDim1
+ * java/lang/invoke/TestStableBoolean$NestedStableField
+ * java/lang/invoke/TestStableBoolean$NestedStableField$A
+ * java/lang/invoke/TestStableBoolean$NestedStableField1
+ * java/lang/invoke/TestStableBoolean$NestedStableField1$A
+ * java/lang/invoke/TestStableBoolean$NestedStableField2
+ * java/lang/invoke/TestStableBoolean$NestedStableField2$A
+ * java/lang/invoke/TestStableBoolean$NestedStableField3
+ * java/lang/invoke/TestStableBoolean$NestedStableField3$A
+ * java/lang/invoke/TestStableBoolean$DefaultValue
+ * java/lang/invoke/TestStableBoolean$ObjectArrayLowerDim2
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableBoolean
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableBoolean
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableBoolean
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableBoolean
+ */
+package java.lang.invoke;
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import sun.management.ManagementFactoryHelper;
+import java.lang.reflect.InvocationTargetException;
+
+public class TestStableBoolean {
+ public static void main(String[] args) throws Exception {
+ System.out.println("@Stable enabled: "+isStableEnabled);
+ System.out.println();
+
+ run(DefaultValue.class);
+ run(BooleanStable.class);
+ run(StaticBooleanStable.class);
+ run(VolatileBooleanStable.class);
+
+ // @Stable arrays: Dim 1-4
+ run(BooleanArrayDim1.class);
+ run(BooleanArrayDim2.class);
+ run(BooleanArrayDim3.class);
+ run(BooleanArrayDim4.class);
+
+ // @Stable Object field: dynamic arrays
+ run(ObjectArrayLowerDim0.class);
+ run(ObjectArrayLowerDim1.class);
+ run(ObjectArrayLowerDim2.class);
+
+ // Nested @Stable fields
+ run(NestedStableField.class);
+ run(NestedStableField1.class);
+ run(NestedStableField2.class);
+ run(NestedStableField3.class);
+
+ if (failed) {
+ throw new Error("TEST FAILED");
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DefaultValue {
+ public @Stable boolean v;
+
+ public static final DefaultValue c = new DefaultValue();
+ public static boolean get() { return c.v; }
+ public static void test() throws Exception {
+ boolean val1 = get();
+ c.v = true; boolean val2 = get();
+ assertEquals(val1, false);
+ assertEquals(val2, true);
+ }
+ }
+
+ /* ==================================================== */
+
+ static class BooleanStable {
+ public @Stable boolean v;
+
+ public static final BooleanStable c = new BooleanStable();
+ public static boolean get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = true; boolean val1 = get();
+ c.v = false; boolean val2 = get();
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class StaticBooleanStable {
+ public static @Stable boolean v;
+
+ public static final StaticBooleanStable c = new StaticBooleanStable();
+ public static boolean get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = true; boolean val1 = get();
+ c.v = false; boolean val2 = get();
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class VolatileBooleanStable {
+ public @Stable volatile boolean v;
+
+ public static final VolatileBooleanStable c = new VolatileBooleanStable();
+ public static boolean get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = true; boolean val1 = get();
+ c.v = false; boolean val2 = get();
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+ }
+ }
+
+ /* ==================================================== */
+ // @Stable array == field && all components are stable
+
+ static class BooleanArrayDim1 {
+ public @Stable boolean[] v;
+
+ public static final BooleanArrayDim1 c = new BooleanArrayDim1();
+ public static boolean get() { return c.v[0]; }
+ public static boolean get1() { return c.v[10]; }
+ public static boolean[] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new boolean[1]; c.v[0] = true; boolean val1 = get();
+ c.v[0] = false; boolean val2 = get();
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+ }
+
+ {
+ c.v = new boolean[20]; c.v[10] = true; boolean val1 = get1();
+ c.v[10] = false; boolean val2 = get1();
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+ }
+
+ {
+ c.v = new boolean[1]; boolean[] val1 = get2();
+ c.v = new boolean[1]; boolean[] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class BooleanArrayDim2 {
+ public @Stable boolean[][] v;
+
+ public static final BooleanArrayDim2 c = new BooleanArrayDim2();
+ public static boolean get() { return c.v[0][0]; }
+ public static boolean[] get1() { return c.v[0]; }
+ public static boolean[][] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new boolean[1][1]; c.v[0][0] = true; boolean val1 = get();
+ c.v[0][0] = false; boolean val2 = get();
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+
+ c.v = new boolean[1][1]; c.v[0][0] = false; boolean val3 = get();
+ assertEquals(val3, (isStableEnabled ? true : false));
+
+ c.v[0] = new boolean[1]; c.v[0][0] = false; boolean val4 = get();
+ assertEquals(val4, (isStableEnabled ? true : false));
+ }
+
+ {
+ c.v = new boolean[1][1]; boolean[] val1 = get1();
+ c.v[0] = new boolean[1]; boolean[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new boolean[1][1]; boolean[][] val1 = get2();
+ c.v = new boolean[1][1]; boolean[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class BooleanArrayDim3 {
+ public @Stable boolean[][][] v;
+
+ public static final BooleanArrayDim3 c = new BooleanArrayDim3();
+ public static boolean get() { return c.v[0][0][0]; }
+ public static boolean[] get1() { return c.v[0][0]; }
+ public static boolean[][] get2() { return c.v[0]; }
+ public static boolean[][][] get3() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new boolean[1][1][1]; c.v[0][0][0] = true; boolean val1 = get();
+ c.v[0][0][0] = false; boolean val2 = get();
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+
+ c.v = new boolean[1][1][1]; c.v[0][0][0] = false; boolean val3 = get();
+ assertEquals(val3, (isStableEnabled ? true : false));
+
+ c.v[0] = new boolean[1][1]; c.v[0][0][0] = false; boolean val4 = get();
+ assertEquals(val4, (isStableEnabled ? true : false));
+
+ c.v[0][0] = new boolean[1]; c.v[0][0][0] = false; boolean val5 = get();
+ assertEquals(val5, (isStableEnabled ? true : false));
+ }
+
+ {
+ c.v = new boolean[1][1][1]; boolean[] val1 = get1();
+ c.v[0][0] = new boolean[1]; boolean[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new boolean[1][1][1]; boolean[][] val1 = get2();
+ c.v[0] = new boolean[1][1]; boolean[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new boolean[1][1][1]; boolean[][][] val1 = get3();
+ c.v = new boolean[1][1][1]; boolean[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class BooleanArrayDim4 {
+ public @Stable boolean[][][][] v;
+
+ public static final BooleanArrayDim4 c = new BooleanArrayDim4();
+ public static boolean get() { return c.v[0][0][0][0]; }
+ public static boolean[] get1() { return c.v[0][0][0]; }
+ public static boolean[][] get2() { return c.v[0][0]; }
+ public static boolean[][][] get3() { return c.v[0]; }
+ public static boolean[][][][] get4() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new boolean[1][1][1][1]; c.v[0][0][0][0] = true; boolean val1 = get();
+ c.v[0][0][0][0] = false; boolean val2 = get();
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+
+ c.v = new boolean[1][1][1][1]; c.v[0][0][0][0] = false; boolean val3 = get();
+ assertEquals(val3, (isStableEnabled ? true : false));
+
+ c.v[0] = new boolean[1][1][1]; c.v[0][0][0][0] = false; boolean val4 = get();
+ assertEquals(val4, (isStableEnabled ? true : false));
+
+ c.v[0][0] = new boolean[1][1]; c.v[0][0][0][0] = false; boolean val5 = get();
+ assertEquals(val5, (isStableEnabled ? true : false));
+
+ c.v[0][0][0] = new boolean[1]; c.v[0][0][0][0] = false; boolean val6 = get();
+ assertEquals(val6, (isStableEnabled ? true : false));
+ }
+
+ {
+ c.v = new boolean[1][1][1][1]; boolean[] val1 = get1();
+ c.v[0][0][0] = new boolean[1]; boolean[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new boolean[1][1][1][1]; boolean[][] val1 = get2();
+ c.v[0][0] = new boolean[1][1]; boolean[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new boolean[1][1][1][1]; boolean[][][] val1 = get3();
+ c.v[0] = new boolean[1][1][1]; boolean[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new boolean[1][1][1][1]; boolean[][][][] val1 = get4();
+ c.v = new boolean[1][1][1][1]; boolean[][][][] val2 = get4();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ }
+ }
+
+ /* ==================================================== */
+ // Dynamic Dim is higher than static
+
+ static class ObjectArrayLowerDim0 {
+ public @Stable Object v;
+
+ public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0();
+ public static boolean get() { return ((boolean[])c.v)[0]; }
+ public static boolean[] get1() { return (boolean[])c.v; }
+ public static boolean[] get2() { return (boolean[])c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new boolean[1]; ((boolean[])c.v)[0] = true; boolean val1 = get();
+ ((boolean[])c.v)[0] = false; boolean val2 = get();
+
+ assertEquals(val1, true);
+ assertEquals(val2, false);
+ }
+
+ {
+ c.v = new boolean[1]; boolean[] val1 = get1();
+ c.v = new boolean[1]; boolean[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1();
+ public static boolean get() { return ((boolean[][])c.v)[0][0]; }
+ public static boolean[] get1() { return (boolean[])(c.v[0]); }
+ public static Object[] get2() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new boolean[1][1]; ((boolean[][])c.v)[0][0] = true; boolean val1 = get();
+ ((boolean[][])c.v)[0][0] = false; boolean val2 = get();
+
+ assertEquals(val1, true);
+ assertEquals(val2, false);
+ }
+
+ {
+ c.v = new boolean[1][1]; c.v[0] = new boolean[0]; boolean[] val1 = get1();
+ c.v[0] = new boolean[0]; boolean[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new boolean[0][0]; Object[] val1 = get2();
+ c.v = new boolean[0][0]; Object[] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2();
+ public static boolean get() { return ((boolean[][][])c.v)[0][0][0]; }
+ public static boolean[] get1() { return (boolean[])(c.v[0][0]); }
+ public static boolean[][] get2() { return (boolean[][])(c.v[0]); }
+ public static Object[][] get3() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new boolean[1][1][1]; ((boolean[][][])c.v)[0][0][0] = true; boolean val1 = get();
+ ((boolean[][][])c.v)[0][0][0] = false; boolean val2 = get();
+
+ assertEquals(val1, true);
+ assertEquals(val2, false);
+ }
+
+ {
+ c.v = new boolean[1][1][1]; c.v[0][0] = new boolean[0]; boolean[] val1 = get1();
+ c.v[0][0] = new boolean[0]; boolean[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new boolean[1][1][1]; c.v[0] = new boolean[0][0]; boolean[][] val1 = get2();
+ c.v[0] = new boolean[0][0]; boolean[][] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new boolean[0][0][0]; Object[][] val1 = get3();
+ c.v = new boolean[0][0][0]; Object[][] val2 = get3();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField {
+ static class A {
+ public @Stable boolean a;
+
+ }
+ public @Stable A v;
+
+ public static final NestedStableField c = new NestedStableField();
+ public static A get() { return c.v; }
+ public static boolean get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.a = true; A val1 = get();
+ c.v.a = false; A val2 = get();
+
+ assertEquals(val1.a, false);
+ assertEquals(val2.a, false);
+ }
+
+ {
+ c.v = new A(); c.v.a = true; boolean val1 = get1();
+ c.v.a = false; boolean val2 = get1();
+ c.v = new A(); c.v.a = false; boolean val3 = get1();
+
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+ assertEquals(val3, (isStableEnabled ? true : false));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField1 {
+ static class A {
+ public @Stable boolean a;
+ public @Stable A next;
+ }
+ public @Stable A v;
+
+ public static final NestedStableField1 c = new NestedStableField1();
+ public static A get() { return c.v.next.next.next.next.next.next.next; }
+ public static boolean get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.next = new A(); c.v.next.next = c.v;
+ c.v.a = true; c.v.next.a = true; A val1 = get();
+ c.v.a = false; c.v.next.a = false; A val2 = get();
+
+ assertEquals(val1.a, false);
+ assertEquals(val2.a, false);
+ }
+
+ {
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = true; boolean val1 = get1();
+ c.v.a = false; boolean val2 = get1();
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = false; boolean val3 = get1();
+
+ assertEquals(val1, true);
+ assertEquals(val2, (isStableEnabled ? true : false));
+ assertEquals(val3, (isStableEnabled ? true : false));
+ }
+ }
+ }
+ /* ==================================================== */
+
+ static class NestedStableField2 {
+ static class A {
+ public @Stable boolean a;
+ public @Stable A left;
+ public A right;
+ }
+
+ public @Stable A v;
+
+ public static final NestedStableField2 c = new NestedStableField2();
+ public static boolean get() { return c.v.left.left.left.a; }
+ public static boolean get1() { return c.v.left.left.right.left.a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.left = c.v.right = c.v;
+ c.v.a = true; boolean val1 = get(); boolean val2 = get1();
+ c.v.a = false; boolean val3 = get(); boolean val4 = get1();
+
+ assertEquals(val1, true);
+ assertEquals(val3, (isStableEnabled ? true : false));
+
+ assertEquals(val2, true);
+ assertEquals(val4, false);
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField3 {
+ static class A {
+ public @Stable boolean a;
+ public @Stable A[] left;
+ public A[] right;
+ }
+
+ public @Stable A[] v;
+
+ public static final NestedStableField3 c = new NestedStableField3();
+ public static boolean get() { return c.v[0].left[1].left[0].left[1].a; }
+ public static boolean get1() { return c.v[1].left[0].left[1].right[0].left[1].a; }
+
+ public static void test() throws Exception {
+ {
+ A elem = new A();
+ c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v;
+ elem.a = true; boolean val1 = get(); boolean val2 = get1();
+ elem.a = false; boolean val3 = get(); boolean val4 = get1();
+
+ assertEquals(val1, true);
+ assertEquals(val3, (isStableEnabled ? true : false));
+
+ assertEquals(val2, true);
+ assertEquals(val4, false);
+ }
+ }
+ }
+
+ /* ==================================================== */
+ // Auxiliary methods
+ static void assertEquals(boolean i, boolean j) { if (i != j) throw new AssertionError(i + " != " + j); }
+ static void assertTrue(boolean b) { if (!b) throw new AssertionError(); }
+
+ static boolean failed = false;
+
+ public static void run(Class<?> test) {
+ Throwable ex = null;
+ System.out.print(test.getName()+": ");
+ try {
+ test.getMethod("test").invoke(null);
+ } catch (InvocationTargetException e) {
+ ex = e.getCause();
+ } catch (Throwable e) {
+ ex = e;
+ } finally {
+ if (ex == null) {
+ System.out.println("PASSED");
+ } else {
+ failed = true;
+ System.out.println("FAILED");
+ ex.printStackTrace(System.out);
+ }
+ }
+ }
+
+ static final boolean isStableEnabled;
+ static {
+ HotSpotDiagnosticMXBean diagnostic
+ = ManagementFactoryHelper.getDiagnosticMXBean();
+ VMOption tmp;
+ try {
+ tmp = diagnostic.getVMOption("FoldStableValues");
+ } catch (IllegalArgumentException e) {
+ tmp = null;
+ }
+ isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue()));
+ }
+}
diff --git a/hotspot/test/compiler/stable/TestStableByte.java b/hotspot/test/compiler/stable/TestStableByte.java
new file mode 100644
index 0000000..4a14fcc
--- /dev/null
+++ b/hotspot/test/compiler/stable/TestStableByte.java
@@ -0,0 +1,632 @@
+/*
+ * Copyright (c) 2014, 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 TestStableByte
+ * @summary tests on stable fields and arrays
+ * @library /testlibrary
+ * @compile -XDignore.symbol.file TestStableByte.java
+ * @run main ClassFileInstaller
+ * java/lang/invoke/TestStableByte
+ * java/lang/invoke/TestStableByte$ByteStable
+ * java/lang/invoke/TestStableByte$StaticByteStable
+ * java/lang/invoke/TestStableByte$VolatileByteStable
+ * java/lang/invoke/TestStableByte$ByteArrayDim1
+ * java/lang/invoke/TestStableByte$ByteArrayDim2
+ * java/lang/invoke/TestStableByte$ByteArrayDim3
+ * java/lang/invoke/TestStableByte$ByteArrayDim4
+ * java/lang/invoke/TestStableByte$ObjectArrayLowerDim0
+ * java/lang/invoke/TestStableByte$ObjectArrayLowerDim1
+ * java/lang/invoke/TestStableByte$NestedStableField
+ * java/lang/invoke/TestStableByte$NestedStableField$A
+ * java/lang/invoke/TestStableByte$NestedStableField1
+ * java/lang/invoke/TestStableByte$NestedStableField1$A
+ * java/lang/invoke/TestStableByte$NestedStableField2
+ * java/lang/invoke/TestStableByte$NestedStableField2$A
+ * java/lang/invoke/TestStableByte$NestedStableField3
+ * java/lang/invoke/TestStableByte$NestedStableField3$A
+ * java/lang/invoke/TestStableByte$DefaultValue
+ * java/lang/invoke/TestStableByte$ObjectArrayLowerDim2
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableByte
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableByte
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableByte
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableByte
+ */
+package java.lang.invoke;
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import sun.management.ManagementFactoryHelper;
+import java.lang.reflect.InvocationTargetException;
+
+public class TestStableByte {
+ public static void main(String[] args) throws Exception {
+ System.out.println("@Stable enabled: "+isStableEnabled);
+ System.out.println();
+
+ run(DefaultValue.class);
+ run(ByteStable.class);
+ run(StaticByteStable.class);
+ run(VolatileByteStable.class);
+
+ // @Stable arrays: Dim 1-4
+ run(ByteArrayDim1.class);
+ run(ByteArrayDim2.class);
+ run(ByteArrayDim3.class);
+ run(ByteArrayDim4.class);
+
+ // @Stable Object field: dynamic arrays
+ run(ObjectArrayLowerDim0.class);
+ run(ObjectArrayLowerDim1.class);
+ run(ObjectArrayLowerDim2.class);
+
+ // Nested @Stable fields
+ run(NestedStableField.class);
+ run(NestedStableField1.class);
+ run(NestedStableField2.class);
+ run(NestedStableField3.class);
+
+ if (failed) {
+ throw new Error("TEST FAILED");
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DefaultValue {
+ public @Stable byte v;
+
+ public static final DefaultValue c = new DefaultValue();
+ public static byte get() { return c.v; }
+ public static void test() throws Exception {
+ byte val1 = get();
+ c.v = 1; byte val2 = get();
+ assertEquals(val1, 0);
+ assertEquals(val2, 1);
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ByteStable {
+ public @Stable byte v;
+
+ public static final ByteStable c = new ByteStable();
+ public static byte get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 5; byte val1 = get();
+ c.v = 127; byte val2 = get();
+ assertEquals(val1, 5);
+ assertEquals(val2, (isStableEnabled ? 5 : 127));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class StaticByteStable {
+ public static @Stable byte v;
+
+ public static final StaticByteStable c = new StaticByteStable();
+ public static byte get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 5; byte val1 = get();
+ c.v = 127; byte val2 = get();
+ assertEquals(val1, 5);
+ assertEquals(val2, (isStableEnabled ? 5 : 127));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class VolatileByteStable {
+ public @Stable volatile byte v;
+
+ public static final VolatileByteStable c = new VolatileByteStable();
+ public static byte get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 5; byte val1 = get();
+ c.v = 127; byte val2 = get();
+ assertEquals(val1, 5);
+ assertEquals(val2, (isStableEnabled ? 5 : 127));
+ }
+ }
+
+ /* ==================================================== */
+ // @Stable array == field && all components are stable
+
+ static class ByteArrayDim1 {
+ public @Stable byte[] v;
+
+ public static final ByteArrayDim1 c = new ByteArrayDim1();
+ public static byte get() { return c.v[0]; }
+ public static byte get1() { return c.v[10]; }
+ public static byte[] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new byte[1]; c.v[0] = 1; byte val1 = get();
+ c.v[0] = 2; byte val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new byte[1]; c.v[0] = 3; byte val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+
+ {
+ c.v = new byte[20]; c.v[10] = 1; byte val1 = get1();
+ c.v[10] = 2; byte val2 = get1();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new byte[20]; c.v[10] = 3; byte val3 = get1();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+
+ {
+ c.v = new byte[1]; byte[] val1 = get2();
+ c.v = new byte[1]; byte[] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ByteArrayDim2 {
+ public @Stable byte[][] v;
+
+ public static final ByteArrayDim2 c = new ByteArrayDim2();
+ public static byte get() { return c.v[0][0]; }
+ public static byte[] get1() { return c.v[0]; }
+ public static byte[][] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new byte[1][1]; c.v[0][0] = 1; byte val1 = get();
+ c.v[0][0] = 2; byte val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new byte[1][1]; c.v[0][0] = 3; byte val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new byte[1]; c.v[0][0] = 4; byte val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+ }
+
+ {
+ c.v = new byte[1][1]; byte[] val1 = get1();
+ c.v[0] = new byte[1]; byte[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new byte[1][1]; byte[][] val1 = get2();
+ c.v = new byte[1][1]; byte[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ByteArrayDim3 {
+ public @Stable byte[][][] v;
+
+ public static final ByteArrayDim3 c = new ByteArrayDim3();
+ public static byte get() { return c.v[0][0][0]; }
+ public static byte[] get1() { return c.v[0][0]; }
+ public static byte[][] get2() { return c.v[0]; }
+ public static byte[][][] get3() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new byte[1][1][1]; c.v[0][0][0] = 1; byte val1 = get();
+ c.v[0][0][0] = 2; byte val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new byte[1][1][1]; c.v[0][0][0] = 3; byte val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new byte[1][1]; c.v[0][0][0] = 4; byte val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+
+ c.v[0][0] = new byte[1]; c.v[0][0][0] = 5; byte val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1 : 5));
+ }
+
+ {
+ c.v = new byte[1][1][1]; byte[] val1 = get1();
+ c.v[0][0] = new byte[1]; byte[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new byte[1][1][1]; byte[][] val1 = get2();
+ c.v[0] = new byte[1][1]; byte[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new byte[1][1][1]; byte[][][] val1 = get3();
+ c.v = new byte[1][1][1]; byte[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ByteArrayDim4 {
+ public @Stable byte[][][][] v;
+
+ public static final ByteArrayDim4 c = new ByteArrayDim4();
+ public static byte get() { return c.v[0][0][0][0]; }
+ public static byte[] get1() { return c.v[0][0][0]; }
+ public static byte[][] get2() { return c.v[0][0]; }
+ public static byte[][][] get3() { return c.v[0]; }
+ public static byte[][][][] get4() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new byte[1][1][1][1]; c.v[0][0][0][0] = 1; byte val1 = get();
+ c.v[0][0][0][0] = 2; byte val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new byte[1][1][1][1]; c.v[0][0][0][0] = 3; byte val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new byte[1][1][1]; c.v[0][0][0][0] = 4; byte val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+
+ c.v[0][0] = new byte[1][1]; c.v[0][0][0][0] = 5; byte val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1 : 5));
+
+ c.v[0][0][0] = new byte[1]; c.v[0][0][0][0] = 6; byte val6 = get();
+ assertEquals(val6, (isStableEnabled ? 1 : 6));
+ }
+
+ {
+ c.v = new byte[1][1][1][1]; byte[] val1 = get1();
+ c.v[0][0][0] = new byte[1]; byte[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new byte[1][1][1][1]; byte[][] val1 = get2();
+ c.v[0][0] = new byte[1][1]; byte[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new byte[1][1][1][1]; byte[][][] val1 = get3();
+ c.v[0] = new byte[1][1][1]; byte[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new byte[1][1][1][1]; byte[][][][] val1 = get4();
+ c.v = new byte[1][1][1][1]; byte[][][][] val2 = get4();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ }
+ }
+
+ /* ==================================================== */
+ // Dynamic Dim is higher than static
+
+ static class ObjectArrayLowerDim0 {
+ public @Stable Object v;
+
+ public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0();
+ public static byte get() { return ((byte[])c.v)[0]; }
+ public static byte[] get1() { return (byte[])c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new byte[1]; ((byte[])c.v)[0] = 1; byte val1 = get();
+ ((byte[])c.v)[0] = 2; byte val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new byte[1]; byte[] val1 = get1();
+ c.v = new byte[1]; byte[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1();
+ public static byte get() { return ((byte[][])c.v)[0][0]; }
+ public static byte[] get1() { return (byte[])(c.v[0]); }
+ public static Object[] get2() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new byte[1][1]; ((byte[][])c.v)[0][0] = 1; byte val1 = get();
+ ((byte[][])c.v)[0][0] = 2; byte val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new byte[1][1]; c.v[0] = new byte[0]; byte[] val1 = get1();
+ c.v[0] = new byte[0]; byte[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new byte[0][0]; Object[] val1 = get2();
+ c.v = new byte[0][0]; Object[] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2();
+ public static byte get() { return ((byte[][][])c.v)[0][0][0]; }
+ public static byte[] get1() { return (byte[])(c.v[0][0]); }
+ public static byte[][] get2() { return (byte[][])(c.v[0]); }
+ public static Object[][] get3() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new byte[1][1][1]; ((byte[][][])c.v)[0][0][0] = 1; byte val1 = get();
+ ((byte[][][])c.v)[0][0][0] = 2; byte val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new byte[1][1][1]; c.v[0][0] = new byte[0]; byte[] val1 = get1();
+ c.v[0][0] = new byte[0]; byte[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new byte[1][1][1]; c.v[0] = new byte[0][0]; byte[][] val1 = get2();
+ c.v[0] = new byte[0][0]; byte[][] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new byte[0][0][0]; Object[][] val1 = get3();
+ c.v = new byte[0][0][0]; Object[][] val2 = get3();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField {
+ static class A {
+ public @Stable byte a;
+
+ }
+ public @Stable A v;
+
+ public static final NestedStableField c = new NestedStableField();
+ public static A get() { return c.v; }
+ public static byte get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.a = 1; A val1 = get();
+ c.v.a = 2; A val2 = get();
+
+ assertEquals(val1.a, 2);
+ assertEquals(val2.a, 2);
+ }
+
+ {
+ c.v = new A(); c.v.a = 1; byte val1 = get1();
+ c.v.a = 2; byte val2 = get1();
+ c.v = new A(); c.v.a = 3; byte val3 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField1 {
+ static class A {
+ public @Stable byte a;
+ public @Stable A next;
+ }
+ public @Stable A v;
+
+ public static final NestedStableField1 c = new NestedStableField1();
+ public static A get() { return c.v.next.next.next.next.next.next.next; }
+ public static byte get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.next = new A(); c.v.next.next = c.v;
+ c.v.a = 1; c.v.next.a = 1; A val1 = get();
+ c.v.a = 2; c.v.next.a = 2; A val2 = get();
+
+ assertEquals(val1.a, 2);
+ assertEquals(val2.a, 2);
+ }
+
+ {
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 1; byte val1 = get1();
+ c.v.a = 2; byte val2 = get1();
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 3; byte val3 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+ }
+ }
+ /* ==================================================== */
+
+ static class NestedStableField2 {
+ static class A {
+ public @Stable byte a;
+ public @Stable A left;
+ public A right;
+ }
+
+ public @Stable A v;
+
+ public static final NestedStableField2 c = new NestedStableField2();
+ public static byte get() { return c.v.left.left.left.a; }
+ public static byte get1() { return c.v.left.left.right.left.a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.left = c.v.right = c.v;
+ c.v.a = 1; byte val1 = get(); byte val2 = get1();
+ c.v.a = 2; byte val3 = get(); byte val4 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val3, (isStableEnabled ? 1 : 2));
+
+ assertEquals(val2, 1);
+ assertEquals(val4, 2);
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField3 {
+ static class A {
+ public @Stable byte a;
+ public @Stable A[] left;
+ public A[] right;
+ }
+
+ public @Stable A[] v;
+
+ public static final NestedStableField3 c = new NestedStableField3();
+ public static byte get() { return c.v[0].left[1].left[0].left[1].a; }
+ public static byte get1() { return c.v[1].left[0].left[1].right[0].left[1].a; }
+
+ public static void test() throws Exception {
+ {
+ A elem = new A();
+ c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v;
+ elem.a = 1; byte val1 = get(); byte val2 = get1();
+ elem.a = 2; byte val3 = get(); byte val4 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val3, (isStableEnabled ? 1 : 2));
+
+ assertEquals(val2, 1);
+ assertEquals(val4, 2);
+ }
+ }
+ }
+
+ /* ==================================================== */
+ // Auxiliary methods
+ static void assertEquals(int i, int j) { if (i != j) throw new AssertionError(i + " != " + j); }
+ static void assertTrue(boolean b) { if (!b) throw new AssertionError(); }
+
+ static boolean failed = false;
+
+ public static void run(Class<?> test) {
+ Throwable ex = null;
+ System.out.print(test.getName()+": ");
+ try {
+ test.getMethod("test").invoke(null);
+ } catch (InvocationTargetException e) {
+ ex = e.getCause();
+ } catch (Throwable e) {
+ ex = e;
+ } finally {
+ if (ex == null) {
+ System.out.println("PASSED");
+ } else {
+ failed = true;
+ System.out.println("FAILED");
+ ex.printStackTrace(System.out);
+ }
+ }
+ }
+
+ static final boolean isStableEnabled;
+ static {
+ HotSpotDiagnosticMXBean diagnostic
+ = ManagementFactoryHelper.getDiagnosticMXBean();
+ VMOption tmp;
+ try {
+ tmp = diagnostic.getVMOption("FoldStableValues");
+ } catch (IllegalArgumentException e) {
+ tmp = null;
+ }
+ isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue()));
+ }
+}
diff --git a/hotspot/test/compiler/stable/TestStableChar.java b/hotspot/test/compiler/stable/TestStableChar.java
new file mode 100644
index 0000000..ede8e9a
--- /dev/null
+++ b/hotspot/test/compiler/stable/TestStableChar.java
@@ -0,0 +1,631 @@
+/*
+ * Copyright (c) 2014, 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 TestStableChar
+ * @summary tests on stable fields and arrays
+ * @library /testlibrary
+ * @compile -XDignore.symbol.file TestStableChar.java
+ * @run main ClassFileInstaller
+ * java/lang/invoke/TestStableChar
+ * java/lang/invoke/TestStableChar$CharStable
+ * java/lang/invoke/TestStableChar$StaticCharStable
+ * java/lang/invoke/TestStableChar$VolatileCharStable
+ * java/lang/invoke/TestStableChar$CharArrayDim1
+ * java/lang/invoke/TestStableChar$CharArrayDim2
+ * java/lang/invoke/TestStableChar$CharArrayDim3
+ * java/lang/invoke/TestStableChar$CharArrayDim4
+ * java/lang/invoke/TestStableChar$ObjectArrayLowerDim0
+ * java/lang/invoke/TestStableChar$ObjectArrayLowerDim1
+ * java/lang/invoke/TestStableChar$NestedStableField
+ * java/lang/invoke/TestStableChar$NestedStableField$A
+ * java/lang/invoke/TestStableChar$NestedStableField1
+ * java/lang/invoke/TestStableChar$NestedStableField1$A
+ * java/lang/invoke/TestStableChar$NestedStableField2
+ * java/lang/invoke/TestStableChar$NestedStableField2$A
+ * java/lang/invoke/TestStableChar$NestedStableField3
+ * java/lang/invoke/TestStableChar$NestedStableField3$A
+ * java/lang/invoke/TestStableChar$DefaultValue
+ * java/lang/invoke/TestStableChar$ObjectArrayLowerDim2
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableChar
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableChar
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableChar
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableChar
+ */
+package java.lang.invoke;
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import sun.management.ManagementFactoryHelper;
+import java.lang.reflect.InvocationTargetException;
+
+public class TestStableChar {
+ public static void main(String[] args) throws Exception {
+ System.out.println("@Stable enabled: "+isStableEnabled);
+ System.out.println();
+
+ run(DefaultValue.class);
+ run(CharStable.class);
+ run(StaticCharStable.class);
+ run(VolatileCharStable.class);
+
+ // @Stable arrays: Dim 1-4
+ run(CharArrayDim1.class);
+ run(CharArrayDim2.class);
+ run(CharArrayDim3.class);
+ run(CharArrayDim4.class);
+
+ // @Stable Object field: dynamic arrays
+ run(ObjectArrayLowerDim0.class);
+ run(ObjectArrayLowerDim1.class);
+ run(ObjectArrayLowerDim2.class);
+
+ // Nested @Stable fields
+ run(NestedStableField.class);
+ run(NestedStableField1.class);
+ run(NestedStableField2.class);
+ run(NestedStableField3.class);
+
+ if (failed) {
+ throw new Error("TEST FAILED");
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DefaultValue {
+ public @Stable char v;
+
+ public static final DefaultValue c = new DefaultValue();
+ public static char get() { return c.v; }
+ public static void test() throws Exception {
+ char val1 = get();
+ c.v = 'a'; char val2 = get();
+ assertEquals(val1, 0);
+ assertEquals(val2, 'a');
+ }
+ }
+
+ /* ==================================================== */
+
+ static class CharStable {
+ public @Stable char v;
+
+ public static final CharStable c = new CharStable();
+ public static char get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 'a'; char val1 = get();
+ c.v = 'b'; char val2 = get();
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class StaticCharStable {
+ public @Stable char v;
+
+ public static final StaticCharStable c = new StaticCharStable();
+ public static char get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 'a'; char val1 = get();
+ c.v = 'b'; char val2 = get();
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class VolatileCharStable {
+ public @Stable volatile char v;
+
+ public static final VolatileCharStable c = new VolatileCharStable();
+ public static char get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 'a'; char val1 = get();
+ c.v = 'b'; char val2 = get();
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+ }
+ }
+
+ /* ==================================================== */
+ // @Stable array == field && all components are stable
+
+ static class CharArrayDim1 {
+ public @Stable char[] v;
+
+ public static final CharArrayDim1 c = new CharArrayDim1();
+ public static char get() { return c.v[0]; }
+ public static char get1() { return c.v[10]; }
+ public static char[] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new char[1]; c.v[0] = 'a'; char val1 = get();
+ c.v[0] = 'b'; char val2 = get();
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+
+ c.v = new char[1]; c.v[0] = 'c'; char val3 = get();
+ assertEquals(val3, (isStableEnabled ? 'a' : 'c'));
+ }
+
+ {
+ c.v = new char[20]; c.v[10] = 'a'; char val1 = get1();
+ c.v[10] = 'b'; char val2 = get1();
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+
+ c.v = new char[20]; c.v[10] = 'c'; char val3 = get1();
+ assertEquals(val3, (isStableEnabled ? 'a' : 'c'));
+ }
+
+ {
+ c.v = new char[1]; char[] val1 = get2();
+ c.v = new char[1]; char[] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class CharArrayDim2 {
+ public @Stable char[][] v;
+
+ public static final CharArrayDim2 c = new CharArrayDim2();
+ public static char get() { return c.v[0][0]; }
+ public static char[] get1() { return c.v[0]; }
+ public static char[][] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new char[1][1]; c.v[0][0] = 'a'; char val1 = get();
+ c.v[0][0] = 'b'; char val2 = get();
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+
+ c.v = new char[1][1]; c.v[0][0] = 'c'; char val3 = get();
+ assertEquals(val3, (isStableEnabled ? 'a' : 'c'));
+
+ c.v[0] = new char[1]; c.v[0][0] = 'd'; char val4 = get();
+ assertEquals(val4, (isStableEnabled ? 'a' : 'd'));
+ }
+
+ {
+ c.v = new char[1][1]; char[] val1 = get1();
+ c.v[0] = new char[1]; char[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new char[1][1]; char[][] val1 = get2();
+ c.v = new char[1][1]; char[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class CharArrayDim3 {
+ public @Stable char[][][] v;
+
+ public static final CharArrayDim3 c = new CharArrayDim3();
+ public static char get() { return c.v[0][0][0]; }
+ public static char[] get1() { return c.v[0][0]; }
+ public static char[][] get2() { return c.v[0]; }
+ public static char[][][] get3() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new char[1][1][1]; c.v[0][0][0] = 'a'; char val1 = get();
+ c.v[0][0][0] = 'b'; char val2 = get();
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+
+ c.v = new char[1][1][1]; c.v[0][0][0] = 'c'; char val3 = get();
+ assertEquals(val3, (isStableEnabled ? 'a' : 'c'));
+
+ c.v[0] = new char[1][1]; c.v[0][0][0] = 'd'; char val4 = get();
+ assertEquals(val4, (isStableEnabled ? 'a' : 'd'));
+
+ c.v[0][0] = new char[1]; c.v[0][0][0] = 'e'; char val5 = get();
+ assertEquals(val5, (isStableEnabled ? 'a' : 'e'));
+ }
+
+ {
+ c.v = new char[1][1][1]; char[] val1 = get1();
+ c.v[0][0] = new char[1]; char[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new char[1][1][1]; char[][] val1 = get2();
+ c.v[0] = new char[1][1]; char[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new char[1][1][1]; char[][][] val1 = get3();
+ c.v = new char[1][1][1]; char[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class CharArrayDim4 {
+ public @Stable char[][][][] v;
+
+ public static final CharArrayDim4 c = new CharArrayDim4();
+ public static char get() { return c.v[0][0][0][0]; }
+ public static char[] get1() { return c.v[0][0][0]; }
+ public static char[][] get2() { return c.v[0][0]; }
+ public static char[][][] get3() { return c.v[0]; }
+ public static char[][][][] get4() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new char[1][1][1][1]; c.v[0][0][0][0] = 'a'; char val1 = get();
+ c.v[0][0][0][0] = 'b'; char val2 = get();
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+
+ c.v = new char[1][1][1][1]; c.v[0][0][0][0] = 'c'; char val3 = get();
+ assertEquals(val3, (isStableEnabled ? 'a' : 'c'));
+
+ c.v[0] = new char[1][1][1]; c.v[0][0][0][0] = 'd'; char val4 = get();
+ assertEquals(val4, (isStableEnabled ? 'a' : 'd'));
+
+ c.v[0][0] = new char[1][1]; c.v[0][0][0][0] = 'e'; char val5 = get();
+ assertEquals(val5, (isStableEnabled ? 'a' : 'e'));
+
+ c.v[0][0][0] = new char[1]; c.v[0][0][0][0] = 'f'; char val6 = get();
+ assertEquals(val6, (isStableEnabled ? 'a' : 'f'));
+ }
+
+ {
+ c.v = new char[1][1][1][1]; char[] val1 = get1();
+ c.v[0][0][0] = new char[1]; char[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new char[1][1][1][1]; char[][] val1 = get2();
+ c.v[0][0] = new char[1][1]; char[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new char[1][1][1][1]; char[][][] val1 = get3();
+ c.v[0] = new char[1][1][1]; char[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new char[1][1][1][1]; char[][][][] val1 = get4();
+ c.v = new char[1][1][1][1]; char[][][][] val2 = get4();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ }
+ }
+
+ /* ==================================================== */
+ // Dynamic Dim is higher than static
+ static class ObjectArrayLowerDim0 {
+ public @Stable Object v;
+
+ public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0();
+ public static char get() { return ((char[])c.v)[0]; }
+ public static char[] get1() { return (char[])c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new char[1]; ((char[])c.v)[0] = 'a'; char val1 = get();
+ ((char[])c.v)[0] = 'b'; char val2 = get();
+
+ assertEquals(val1, 'a');
+ assertEquals(val2, 'b');
+ }
+
+ {
+ c.v = new char[1]; char[] val1 = get1();
+ c.v = new char[1]; char[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1();
+ public static char get() { return ((char[][])c.v)[0][0]; }
+ public static char[] get1() { return (char[])(c.v[0]); }
+ public static Object[] get2() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new char[1][1]; ((char[][])c.v)[0][0] = 'a'; char val1 = get();
+ ((char[][])c.v)[0][0] = 'b'; char val2 = get();
+
+ assertEquals(val1, 'a');
+ assertEquals(val2, 'b');
+ }
+
+ {
+ c.v = new char[1][1]; c.v[0] = new char[0]; char[] val1 = get1();
+ c.v[0] = new char[0]; char[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new char[0][0]; Object[] val1 = get2();
+ c.v = new char[0][0]; Object[] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2();
+ public static char get() { return ((char[][][])c.v)[0][0][0]; }
+ public static char[] get1() { return (char[])(c.v[0][0]); }
+ public static char[][] get2() { return (char[][])(c.v[0]); }
+ public static Object[][] get3() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new char[1][1][1]; ((char[][][])c.v)[0][0][0] = 'a'; char val1 = get();
+ ((char[][][])c.v)[0][0][0] = 'b'; char val2 = get();
+
+ assertEquals(val1, 'a');
+ assertEquals(val2, 'b');
+ }
+
+ {
+ c.v = new char[1][1][1]; c.v[0][0] = new char[0]; char[] val1 = get1();
+ c.v[0][0] = new char[0]; char[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new char[1][1][1]; c.v[0] = new char[0][0]; char[][] val1 = get2();
+ c.v[0] = new char[0][0]; char[][] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new char[0][0][0]; Object[][] val1 = get3();
+ c.v = new char[0][0][0]; Object[][] val2 = get3();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField {
+ static class A {
+ public @Stable char a;
+
+ }
+ public @Stable A v;
+
+ public static final NestedStableField c = new NestedStableField();
+ public static A get() { return c.v; }
+ public static char get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.a = 'a'; A val1 = get();
+ c.v.a = 'b'; A val2 = get();
+
+ assertEquals(val1.a, 'b');
+ assertEquals(val2.a, 'b');
+ }
+
+ {
+ c.v = new A(); c.v.a = 'a'; char val1 = get1();
+ c.v.a = 'b'; char val2 = get1();
+ c.v = new A(); c.v.a = 'c'; char val3 = get1();
+
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+ assertEquals(val3, (isStableEnabled ? 'a' : 'c'));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField1 {
+ static class A {
+ public @Stable char a;
+ public @Stable A next;
+ }
+ public @Stable A v;
+
+ public static final NestedStableField1 c = new NestedStableField1();
+ public static A get() { return c.v.next.next.next.next.next.next.next; }
+ public static char get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.next = new A(); c.v.next.next = c.v;
+ c.v.a = 'a'; c.v.next.a = 'a'; A val1 = get();
+ c.v.a = 'b'; c.v.next.a = 'b'; A val2 = get();
+
+ assertEquals(val1.a, 'b');
+ assertEquals(val2.a, 'b');
+ }
+
+ {
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 'a'; char val1 = get1();
+ c.v.a = 'b'; char val2 = get1();
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 'c'; char val3 = get1();
+
+ assertEquals(val1, 'a');
+ assertEquals(val2, (isStableEnabled ? 'a' : 'b'));
+ assertEquals(val3, (isStableEnabled ? 'a' : 'c'));
+ }
+ }
+ }
+ /* ==================================================== */
+
+ static class NestedStableField2 {
+ static class A {
+ public @Stable char a;
+ public @Stable A left;
+ public A right;
+ }
+
+ public @Stable A v;
+
+ public static final NestedStableField2 c = new NestedStableField2();
+ public static char get() { return c.v.left.left.left.a; }
+ public static char get1() { return c.v.left.left.right.left.a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.left = c.v.right = c.v;
+ c.v.a = 'a'; char val1 = get(); char val2 = get1();
+ c.v.a = 'b'; char val3 = get(); char val4 = get1();
+
+ assertEquals(val1, 'a');
+ assertEquals(val3, (isStableEnabled ? 'a' : 'b'));
+
+ assertEquals(val2, 'a');
+ assertEquals(val4, 'b');
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField3 {
+ static class A {
+ public @Stable char a;
+ public @Stable A[] left;
+ public A[] right;
+ }
+
+ public @Stable A[] v;
+
+ public static final NestedStableField3 c = new NestedStableField3();
+ public static char get() { return c.v[0].left[1].left[0].left[1].a; }
+ public static char get1() { return c.v[1].left[0].left[1].right[0].left[1].a; }
+
+ public static void test() throws Exception {
+ {
+ A elem = new A();
+ c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v;
+ elem.a = 'a'; char val1 = get(); char val2 = get1();
+ elem.a = 'b'; char val3 = get(); char val4 = get1();
+
+ assertEquals(val1, 'a');
+ assertEquals(val3, (isStableEnabled ? 'a' : 'b'));
+
+ assertEquals(val2, 'a');
+ assertEquals(val4, 'b');
+ }
+ }
+ }
+
+ /* ==================================================== */
+ // Auxiliary methods
+ static void assertEquals(int i, int j) { if (i != j) throw new AssertionError(i + " != " + j); }
+ static void assertTrue(boolean b) { if (!b) throw new AssertionError(); }
+
+ static boolean failed = false;
+
+ public static void run(Class<?> test) {
+ Throwable ex = null;
+ System.out.print(test.getName()+": ");
+ try {
+ test.getMethod("test").invoke(null);
+ } catch (InvocationTargetException e) {
+ ex = e.getCause();
+ } catch (Throwable e) {
+ ex = e;
+ } finally {
+ if (ex == null) {
+ System.out.println("PASSED");
+ } else {
+ failed = true;
+ System.out.println("FAILED");
+ ex.printStackTrace(System.out);
+ }
+ }
+ }
+
+ static final boolean isStableEnabled;
+ static {
+ HotSpotDiagnosticMXBean diagnostic
+ = ManagementFactoryHelper.getDiagnosticMXBean();
+ VMOption tmp;
+ try {
+ tmp = diagnostic.getVMOption("FoldStableValues");
+ } catch (IllegalArgumentException e) {
+ tmp = null;
+ }
+ isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue()));
+ }
+}
diff --git a/hotspot/test/compiler/stable/TestStableDouble.java b/hotspot/test/compiler/stable/TestStableDouble.java
new file mode 100644
index 0000000..b656acb
--- /dev/null
+++ b/hotspot/test/compiler/stable/TestStableDouble.java
@@ -0,0 +1,632 @@
+/*
+ * Copyright (c) 2014, 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 TestStableDouble
+ * @summary tests on stable fields and arrays
+ * @library /testlibrary
+ * @compile -XDignore.symbol.file TestStableDouble.java
+ * @run main ClassFileInstaller
+ * java/lang/invoke/TestStableDouble
+ * java/lang/invoke/TestStableDouble$DoubleStable
+ * java/lang/invoke/TestStableDouble$StaticDoubleStable
+ * java/lang/invoke/TestStableDouble$VolatileDoubleStable
+ * java/lang/invoke/TestStableDouble$DoubleArrayDim1
+ * java/lang/invoke/TestStableDouble$DoubleArrayDim2
+ * java/lang/invoke/TestStableDouble$DoubleArrayDim3
+ * java/lang/invoke/TestStableDouble$DoubleArrayDim4
+ * java/lang/invoke/TestStableDouble$ObjectArrayLowerDim0
+ * java/lang/invoke/TestStableDouble$ObjectArrayLowerDim1
+ * java/lang/invoke/TestStableDouble$NestedStableField
+ * java/lang/invoke/TestStableDouble$NestedStableField$A
+ * java/lang/invoke/TestStableDouble$NestedStableField1
+ * java/lang/invoke/TestStableDouble$NestedStableField1$A
+ * java/lang/invoke/TestStableDouble$NestedStableField2
+ * java/lang/invoke/TestStableDouble$NestedStableField2$A
+ * java/lang/invoke/TestStableDouble$NestedStableField3
+ * java/lang/invoke/TestStableDouble$NestedStableField3$A
+ * java/lang/invoke/TestStableDouble$DefaultValue
+ * java/lang/invoke/TestStableDouble$ObjectArrayLowerDim2
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableDouble
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableDouble
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableDouble
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableDouble
+ */
+package java.lang.invoke;
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import sun.management.ManagementFactoryHelper;
+import java.lang.reflect.InvocationTargetException;
+
+public class TestStableDouble {
+ public static void main(String[] args) throws Exception {
+ System.out.println("@Stable enabled: "+isStableEnabled);
+ System.out.println();
+
+ run(DefaultValue.class);
+ run(DoubleStable.class);
+ run(StaticDoubleStable.class);
+ run(VolatileDoubleStable.class);
+
+ // @Stable arrays: Dim 1-4
+ run(DoubleArrayDim1.class);
+ run(DoubleArrayDim2.class);
+ run(DoubleArrayDim3.class);
+ run(DoubleArrayDim4.class);
+
+ // @Stable Object field: dynamic arrays
+ run(ObjectArrayLowerDim0.class);
+ run(ObjectArrayLowerDim1.class);
+ run(ObjectArrayLowerDim2.class);
+
+ // Nested @Stable fields
+ run(NestedStableField.class);
+ run(NestedStableField1.class);
+ run(NestedStableField2.class);
+ run(NestedStableField3.class);
+
+ if (failed) {
+ throw new Error("TEST FAILED");
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DefaultValue {
+ public @Stable double v;
+
+ public static final DefaultValue c = new DefaultValue();
+ public static double get() { return c.v; }
+ public static void test() throws Exception {
+ double val1 = get();
+ c.v = 1.0; double val2 = get();
+ assertEquals(val1, 0);
+ assertEquals(val2, 1.0);
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DoubleStable {
+ public @Stable double v;
+
+ public static final DoubleStable c = new DoubleStable();
+ public static double get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1.0; double val1 = get();
+ c.v = Double.MAX_VALUE; double val2 = get();
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : Double.MAX_VALUE));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class StaticDoubleStable {
+ public static @Stable double v;
+
+ public static final StaticDoubleStable c = new StaticDoubleStable();
+ public static double get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1.0; double val1 = get();
+ c.v = Double.MAX_VALUE; double val2 = get();
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : Double.MAX_VALUE));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class VolatileDoubleStable {
+ public @Stable double v;
+
+ public static final VolatileDoubleStable c = new VolatileDoubleStable();
+ public static double get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1.0; double val1 = get();
+ c.v = Double.MAX_VALUE; double val2 = get();
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : Double.MAX_VALUE));
+ }
+ }
+
+ /* ==================================================== */
+ // @Stable array == field && all components are stable
+
+ static class DoubleArrayDim1 {
+ public @Stable double[] v;
+
+ public static final DoubleArrayDim1 c = new DoubleArrayDim1();
+ public static double get() { return c.v[0]; }
+ public static double get1() { return c.v[10]; }
+ public static double[] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new double[1]; c.v[0] = 1.0; double val1 = get();
+ c.v[0] = 2.0; double val2 = get();
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : 2.0));
+
+ c.v = new double[1]; c.v[0] = 3.0; double val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1.0 : 3.0));
+ }
+
+ {
+ c.v = new double[20]; c.v[10] = 1.0; double val1 = get1();
+ c.v[10] = 2.0; double val2 = get1();
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : 2.0));
+
+ c.v = new double[20]; c.v[10] = 3.0; double val3 = get1();
+ assertEquals(val3, (isStableEnabled ? 1.0 : 3.0));
+ }
+
+ {
+ c.v = new double[1]; double[] val1 = get2();
+ c.v = new double[1]; double[] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DoubleArrayDim2 {
+ public @Stable double[][] v;
+
+ public static final DoubleArrayDim2 c = new DoubleArrayDim2();
+ public static double get() { return c.v[0][0]; }
+ public static double[] get1() { return c.v[0]; }
+ public static double[][] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new double[1][1]; c.v[0][0] = 1.0; double val1 = get();
+ c.v[0][0] = 2.0; double val2 = get();
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : 2.0));
+
+ c.v = new double[1][1]; c.v[0][0] = 3.0; double val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1.0 : 3.0));
+
+ c.v[0] = new double[1]; c.v[0][0] = 4.0; double val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1.0 : 4.0));
+ }
+
+ {
+ c.v = new double[1][1]; double[] val1 = get1();
+ c.v[0] = new double[1]; double[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new double[1][1]; double[][] val1 = get2();
+ c.v = new double[1][1]; double[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DoubleArrayDim3 {
+ public @Stable double[][][] v;
+
+ public static final DoubleArrayDim3 c = new DoubleArrayDim3();
+ public static double get() { return c.v[0][0][0]; }
+ public static double[] get1() { return c.v[0][0]; }
+ public static double[][] get2() { return c.v[0]; }
+ public static double[][][] get3() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new double[1][1][1]; c.v[0][0][0] = 1.0; double val1 = get();
+ c.v[0][0][0] = 2.0; double val2 = get();
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : 2.0));
+
+ c.v = new double[1][1][1]; c.v[0][0][0] = 3.0; double val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1.0 : 3.0));
+
+ c.v[0] = new double[1][1]; c.v[0][0][0] = 4.0; double val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1.0 : 4.0));
+
+ c.v[0][0] = new double[1]; c.v[0][0][0] = 5.0; double val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1.0 : 5.0));
+ }
+
+ {
+ c.v = new double[1][1][1]; double[] val1 = get1();
+ c.v[0][0] = new double[1]; double[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new double[1][1][1]; double[][] val1 = get2();
+ c.v[0] = new double[1][1]; double[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new double[1][1][1]; double[][][] val1 = get3();
+ c.v = new double[1][1][1]; double[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DoubleArrayDim4 {
+ public @Stable double[][][][] v;
+
+ public static final DoubleArrayDim4 c = new DoubleArrayDim4();
+ public static double get() { return c.v[0][0][0][0]; }
+ public static double[] get1() { return c.v[0][0][0]; }
+ public static double[][] get2() { return c.v[0][0]; }
+ public static double[][][] get3() { return c.v[0]; }
+ public static double[][][][] get4() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 1.0; double val1 = get();
+ c.v[0][0][0][0] = 2.0; double val2 = get();
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : 2.0));
+
+ c.v = new double[1][1][1][1]; c.v[0][0][0][0] = 3.0; double val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1.0 : 3.0));
+
+ c.v[0] = new double[1][1][1]; c.v[0][0][0][0] = 4.0; double val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1.0 : 4.0));
+
+ c.v[0][0] = new double[1][1]; c.v[0][0][0][0] = 5.0; double val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1.0 : 5.0));
+
+ c.v[0][0][0] = new double[1]; c.v[0][0][0][0] = 6.0; double val6 = get();
+ assertEquals(val6, (isStableEnabled ? 1.0 : 6.0));
+ }
+
+ {
+ c.v = new double[1][1][1][1]; double[] val1 = get1();
+ c.v[0][0][0] = new double[1]; double[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new double[1][1][1][1]; double[][] val1 = get2();
+ c.v[0][0] = new double[1][1]; double[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new double[1][1][1][1]; double[][][] val1 = get3();
+ c.v[0] = new double[1][1][1]; double[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new double[1][1][1][1]; double[][][][] val1 = get4();
+ c.v = new double[1][1][1][1]; double[][][][] val2 = get4();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ }
+ }
+
+ /* ==================================================== */
+ // Dynamic Dim is higher than static
+
+ static class ObjectArrayLowerDim0 {
+ public @Stable Object v;
+
+ public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0();
+ public static double get() { return ((double[])c.v)[0]; }
+ public static double[] get1() { return (double[])c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new double[1]; ((double[])c.v)[0] = 1.0; double val1 = get();
+ ((double[])c.v)[0] = 2.0; double val2 = get();
+
+ assertEquals(val1, 1.0);
+ assertEquals(val2, 2.0);
+ }
+
+ {
+ c.v = new double[1]; double[] val1 = get1();
+ c.v = new double[1]; double[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1();
+ public static double get() { return ((double[][])c.v)[0][0]; }
+ public static double[] get1() { return (double[])(c.v[0]); }
+ public static Object[] get2() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new double[1][1]; ((double[][])c.v)[0][0] = 1.0; double val1 = get();
+ ((double[][])c.v)[0][0] = 2.0; double val2 = get();
+
+ assertEquals(val1, 1.0);
+ assertEquals(val2, 2.0);
+ }
+
+ {
+ c.v = new double[1][1]; c.v[0] = new double[0]; double[] val1 = get1();
+ c.v[0] = new double[0]; double[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new double[0][0]; Object[] val1 = get2();
+ c.v = new double[0][0]; Object[] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2();
+ public static double get() { return ((double[][][])c.v)[0][0][0]; }
+ public static double[] get1() { return (double[])(c.v[0][0]); }
+ public static double[][] get2() { return (double[][])(c.v[0]); }
+ public static Object[][] get3() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new double[1][1][1]; ((double[][][])c.v)[0][0][0] = 1.0; double val1 = get();
+ ((double[][][])c.v)[0][0][0] = 2.0; double val2 = get();
+
+ assertEquals(val1, 1.0);
+ assertEquals(val2, 2.0);
+ }
+
+ {
+ c.v = new double[1][1][1]; c.v[0][0] = new double[0]; double[] val1 = get1();
+ c.v[0][0] = new double[0]; double[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new double[1][1][1]; c.v[0] = new double[0][0]; double[][] val1 = get2();
+ c.v[0] = new double[0][0]; double[][] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new double[0][0][0]; Object[][] val1 = get3();
+ c.v = new double[0][0][0]; Object[][] val2 = get3();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField {
+ static class A {
+ public @Stable double a;
+
+ }
+ public @Stable A v;
+
+ public static final NestedStableField c = new NestedStableField();
+ public static A get() { return c.v; }
+ public static double get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.a = 1.0; A val1 = get();
+ c.v.a = 2.0; A val2 = get();
+
+ assertEquals(val1.a, 2.0);
+ assertEquals(val2.a, 2.0);
+ }
+
+ {
+ c.v = new A(); c.v.a = 1.0; double val1 = get1();
+ c.v.a = 2.0; double val2 = get1();
+ c.v = new A(); c.v.a = 3.0; double val3 = get1();
+
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : 2.0));
+ assertEquals(val3, (isStableEnabled ? 1.0 : 3.0));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField1 {
+ static class A {
+ public @Stable double a;
+ public @Stable A next;
+ }
+ public @Stable A v;
+
+ public static final NestedStableField1 c = new NestedStableField1();
+ public static A get() { return c.v.next.next.next.next.next.next.next; }
+ public static double get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.next = new A(); c.v.next.next = c.v;
+ c.v.a = 1.0; c.v.next.a = 1.0; A val1 = get();
+ c.v.a = 2.0; c.v.next.a = 2.0; A val2 = get();
+
+ assertEquals(val1.a, 2.0);
+ assertEquals(val2.a, 2.0);
+ }
+
+ {
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 1.0; double val1 = get1();
+ c.v.a = 2.0; double val2 = get1();
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 3.0; double val3 = get1();
+
+ assertEquals(val1, 1.0);
+ assertEquals(val2, (isStableEnabled ? 1.0 : 2.0));
+ assertEquals(val3, (isStableEnabled ? 1.0 : 3.0));
+ }
+ }
+ }
+ /* ==================================================== */
+
+ static class NestedStableField2 {
+ static class A {
+ public @Stable double a;
+ public @Stable A left;
+ public A right;
+ }
+
+ public @Stable A v;
+
+ public static final NestedStableField2 c = new NestedStableField2();
+ public static double get() { return c.v.left.left.left.a; }
+ public static double get1() { return c.v.left.left.right.left.a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.left = c.v.right = c.v;
+ c.v.a = 1.0; double val1 = get(); double val2 = get1();
+ c.v.a = 2.0; double val3 = get(); double val4 = get1();
+
+ assertEquals(val1, 1.0);
+ assertEquals(val3, (isStableEnabled ? 1.0 : 2.0));
+
+ assertEquals(val2, 1.0);
+ assertEquals(val4, 2.0);
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField3 {
+ static class A {
+ public @Stable double a;
+ public @Stable A[] left;
+ public A[] right;
+ }
+
+ public @Stable A[] v;
+
+ public static final NestedStableField3 c = new NestedStableField3();
+ public static double get() { return c.v[0].left[1].left[0].left[1].a; }
+ public static double get1() { return c.v[1].left[0].left[1].right[0].left[1].a; }
+
+ public static void test() throws Exception {
+ {
+ A elem = new A();
+ c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v;
+ elem.a = 1.0; double val1 = get(); double val2 = get1();
+ elem.a = 2.0; double val3 = get(); double val4 = get1();
+
+ assertEquals(val1, 1.0);
+ assertEquals(val3, (isStableEnabled ? 1.0 : 2.0));
+
+ assertEquals(val2, 1.0);
+ assertEquals(val4, 2.0);
+ }
+ }
+ }
+
+ /* ==================================================== */
+ // Auxiliary methods
+ static void assertEquals(double i, double j) { if (i != j) throw new AssertionError(i + " != " + j); }
+ static void assertTrue(boolean b) { if (!b) throw new AssertionError(); }
+
+ static boolean failed = false;
+
+ public static void run(Class<?> test) {
+ Throwable ex = null;
+ System.out.print(test.getName()+": ");
+ try {
+ test.getMethod("test").invoke(null);
+ } catch (InvocationTargetException e) {
+ ex = e.getCause();
+ } catch (Throwable e) {
+ ex = e;
+ } finally {
+ if (ex == null) {
+ System.out.println("PASSED");
+ } else {
+ failed = true;
+ System.out.println("FAILED");
+ ex.printStackTrace(System.out);
+ }
+ }
+ }
+
+ static final boolean isStableEnabled;
+ static {
+ HotSpotDiagnosticMXBean diagnostic
+ = ManagementFactoryHelper.getDiagnosticMXBean();
+ VMOption tmp;
+ try {
+ tmp = diagnostic.getVMOption("FoldStableValues");
+ } catch (IllegalArgumentException e) {
+ tmp = null;
+ }
+ isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue()));
+ }
+}
diff --git a/hotspot/test/compiler/stable/TestStableFloat.java b/hotspot/test/compiler/stable/TestStableFloat.java
new file mode 100644
index 0000000..ab1c3f0
--- /dev/null
+++ b/hotspot/test/compiler/stable/TestStableFloat.java
@@ -0,0 +1,632 @@
+/*
+ * Copyright (c) 2014, 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 TestStableFloat
+ * @summary tests on stable fields and arrays
+ * @library /testlibrary
+ * @compile -XDignore.symbol.file TestStableFloat.java
+ * @run main ClassFileInstaller
+ * java/lang/invoke/TestStableFloat
+ * java/lang/invoke/TestStableFloat$FloatStable
+ * java/lang/invoke/TestStableFloat$StaticFloatStable
+ * java/lang/invoke/TestStableFloat$VolatileFloatStable
+ * java/lang/invoke/TestStableFloat$FloatArrayDim1
+ * java/lang/invoke/TestStableFloat$FloatArrayDim2
+ * java/lang/invoke/TestStableFloat$FloatArrayDim3
+ * java/lang/invoke/TestStableFloat$FloatArrayDim4
+ * java/lang/invoke/TestStableFloat$ObjectArrayLowerDim0
+ * java/lang/invoke/TestStableFloat$ObjectArrayLowerDim1
+ * java/lang/invoke/TestStableFloat$NestedStableField
+ * java/lang/invoke/TestStableFloat$NestedStableField$A
+ * java/lang/invoke/TestStableFloat$NestedStableField1
+ * java/lang/invoke/TestStableFloat$NestedStableField1$A
+ * java/lang/invoke/TestStableFloat$NestedStableField2
+ * java/lang/invoke/TestStableFloat$NestedStableField2$A
+ * java/lang/invoke/TestStableFloat$NestedStableField3
+ * java/lang/invoke/TestStableFloat$NestedStableField3$A
+ * java/lang/invoke/TestStableFloat$DefaultValue
+ * java/lang/invoke/TestStableFloat$ObjectArrayLowerDim2
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableFloat
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableFloat
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableFloat
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableFloat
+ */
+package java.lang.invoke;
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import sun.management.ManagementFactoryHelper;
+import java.lang.reflect.InvocationTargetException;
+
+public class TestStableFloat {
+ public static void main(String[] args) throws Exception {
+ System.out.println("@Stable enabled: "+isStableEnabled);
+ System.out.println();
+
+ run(DefaultValue.class);
+ run(FloatStable.class);
+ run(StaticFloatStable.class);
+ run(VolatileFloatStable.class);
+
+ // @Stable arrays: Dim 1-4
+ run(FloatArrayDim1.class);
+ run(FloatArrayDim2.class);
+ run(FloatArrayDim3.class);
+ run(FloatArrayDim4.class);
+
+ // @Stable Object field: dynamic arrays
+ run(ObjectArrayLowerDim0.class);
+ run(ObjectArrayLowerDim1.class);
+ run(ObjectArrayLowerDim2.class);
+
+ // Nested @Stable fields
+ run(NestedStableField.class);
+ run(NestedStableField1.class);
+ run(NestedStableField2.class);
+ run(NestedStableField3.class);
+
+ if (failed) {
+ throw new Error("TEST FAILED");
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DefaultValue {
+ public @Stable float v;
+
+ public static final DefaultValue c = new DefaultValue();
+ public static float get() { return c.v; }
+ public static void test() throws Exception {
+ float val1 = get();
+ c.v = 1.0F; float val2 = get();
+ assertEquals(val1, 0F);
+ assertEquals(val2, 1.0F);
+ }
+ }
+
+ /* ==================================================== */
+
+ static class FloatStable {
+ public @Stable float v;
+
+ public static final FloatStable c = new FloatStable();
+ public static float get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1.0F; float val1 = get();
+ c.v = 2.0F; float val2 = get();
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class StaticFloatStable {
+ public static @Stable float v;
+
+ public static final StaticFloatStable c = new StaticFloatStable();
+ public static float get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1.0F; float val1 = get();
+ c.v = 2.0F; float val2 = get();
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class VolatileFloatStable {
+ public @Stable volatile float v;
+
+ public static final VolatileFloatStable c = new VolatileFloatStable();
+ public static float get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1.0F; float val1 = get();
+ c.v = 2.0F; float val2 = get();
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+ }
+ }
+
+ /* ==================================================== */
+ // @Stable array == field && all components are stable
+
+ static class FloatArrayDim1 {
+ public @Stable float[] v;
+
+ public static final FloatArrayDim1 c = new FloatArrayDim1();
+ public static float get() { return c.v[0]; }
+ public static float get1() { return c.v[10]; }
+ public static float[] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new float[1]; c.v[0] = 1.0F; float val1 = get();
+ c.v[0] = 2.0F; float val2 = get();
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+
+ c.v = new float[1]; c.v[0] = 3.0F; float val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F));
+ }
+
+ {
+ c.v = new float[20]; c.v[10] = 1.0F; float val1 = get1();
+ c.v[10] = 2.0F; float val2 = get1();
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+
+ c.v = new float[20]; c.v[10] = 3.0F; float val3 = get1();
+ assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F));
+ }
+
+ {
+ c.v = new float[1]; float[] val1 = get2();
+ c.v = new float[1]; float[] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class FloatArrayDim2 {
+ public @Stable float[][] v;
+
+ public static final FloatArrayDim2 c = new FloatArrayDim2();
+ public static float get() { return c.v[0][0]; }
+ public static float[] get1() { return c.v[0]; }
+ public static float[][] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new float[1][1]; c.v[0][0] = 1.0F; float val1 = get();
+ c.v[0][0] = 2.0F; float val2 = get();
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+
+ c.v = new float[1][1]; c.v[0][0] = 3.0F; float val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F));
+
+ c.v[0] = new float[1]; c.v[0][0] = 4.0F; float val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1.0F : 4.0F));
+ }
+
+ {
+ c.v = new float[1][1]; float[] val1 = get1();
+ c.v[0] = new float[1]; float[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new float[1][1]; float[][] val1 = get2();
+ c.v = new float[1][1]; float[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class FloatArrayDim3 {
+ public @Stable float[][][] v;
+
+ public static final FloatArrayDim3 c = new FloatArrayDim3();
+ public static float get() { return c.v[0][0][0]; }
+ public static float[] get1() { return c.v[0][0]; }
+ public static float[][] get2() { return c.v[0]; }
+ public static float[][][] get3() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new float[1][1][1]; c.v[0][0][0] = 1.0F; float val1 = get();
+ c.v[0][0][0] = 2.0F; float val2 = get();
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+
+ c.v = new float[1][1][1]; c.v[0][0][0] = 3.0F; float val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F));
+
+ c.v[0] = new float[1][1]; c.v[0][0][0] = 4.0F; float val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1.0F : 4.0F));
+
+ c.v[0][0] = new float[1]; c.v[0][0][0] = 5.0F; float val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1.0F : 5.0F));
+ }
+
+ {
+ c.v = new float[1][1][1]; float[] val1 = get1();
+ c.v[0][0] = new float[1]; float[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new float[1][1][1]; float[][] val1 = get2();
+ c.v[0] = new float[1][1]; float[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new float[1][1][1]; float[][][] val1 = get3();
+ c.v = new float[1][1][1]; float[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class FloatArrayDim4 {
+ public @Stable float[][][][] v;
+
+ public static final FloatArrayDim4 c = new FloatArrayDim4();
+ public static float get() { return c.v[0][0][0][0]; }
+ public static float[] get1() { return c.v[0][0][0]; }
+ public static float[][] get2() { return c.v[0][0]; }
+ public static float[][][] get3() { return c.v[0]; }
+ public static float[][][][] get4() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new float[1][1][1][1]; c.v[0][0][0][0] = 1.0F; float val1 = get();
+ c.v[0][0][0][0] = 2.0F; float val2 = get();
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+
+ c.v = new float[1][1][1][1]; c.v[0][0][0][0] = 3.0F; float val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F));
+
+ c.v[0] = new float[1][1][1]; c.v[0][0][0][0] = 4.0F; float val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1.0F : 4.0F));
+
+ c.v[0][0] = new float[1][1]; c.v[0][0][0][0] = 5.0F; float val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1.0F : 5.0F));
+
+ c.v[0][0][0] = new float[1]; c.v[0][0][0][0] = 6.0F; float val6 = get();
+ assertEquals(val6, (isStableEnabled ? 1.0F : 6.0F));
+ }
+
+ {
+ c.v = new float[1][1][1][1]; float[] val1 = get1();
+ c.v[0][0][0] = new float[1]; float[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new float[1][1][1][1]; float[][] val1 = get2();
+ c.v[0][0] = new float[1][1]; float[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new float[1][1][1][1]; float[][][] val1 = get3();
+ c.v[0] = new float[1][1][1]; float[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new float[1][1][1][1]; float[][][][] val1 = get4();
+ c.v = new float[1][1][1][1]; float[][][][] val2 = get4();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ }
+ }
+
+ /* ==================================================== */
+ // Dynamic Dim is higher than static
+
+ static class ObjectArrayLowerDim0 {
+ public @Stable Object v;
+
+ public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0();
+ public static float get() { return ((float[])c.v)[0]; }
+ public static float[] get1() { return (float[])c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new float[1]; ((float[])c.v)[0] = 1.0F; float val1 = get();
+ ((float[])c.v)[0] = 2.0F; float val2 = get();
+
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, 2.0F);
+ }
+
+ {
+ c.v = new float[1]; float[] val1 = get1();
+ c.v = new float[1]; float[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1();
+ public static float get() { return ((float[][])c.v)[0][0]; }
+ public static float[] get1() { return (float[])(c.v[0]); }
+ public static Object[] get2() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new float[1][1]; ((float[][])c.v)[0][0] = 1.0F; float val1 = get();
+ ((float[][])c.v)[0][0] = 2.0F; float val2 = get();
+
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, 2.0F);
+ }
+
+ {
+ c.v = new float[1][1]; c.v[0] = new float[0]; float[] val1 = get1();
+ c.v[0] = new float[0]; float[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new float[0][0]; Object[] val1 = get2();
+ c.v = new float[0][0]; Object[] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2();
+ public static float get() { return ((float[][][])c.v)[0][0][0]; }
+ public static float[] get1() { return (float[])(c.v[0][0]); }
+ public static float[][] get2() { return (float[][])(c.v[0]); }
+ public static Object[][] get3() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new float[1][1][1]; ((float[][][])c.v)[0][0][0] = 1.0F; float val1 = get();
+ ((float[][][])c.v)[0][0][0] = 2.0F; float val2 = get();
+
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, 2.0F);
+ }
+
+ {
+ c.v = new float[1][1][1]; c.v[0][0] = new float[0]; float[] val1 = get1();
+ c.v[0][0] = new float[0]; float[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new float[1][1][1]; c.v[0] = new float[0][0]; float[][] val1 = get2();
+ c.v[0] = new float[0][0]; float[][] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new float[0][0][0]; Object[][] val1 = get3();
+ c.v = new float[0][0][0]; Object[][] val2 = get3();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField {
+ static class A {
+ public @Stable float a;
+
+ }
+ public @Stable A v;
+
+ public static final NestedStableField c = new NestedStableField();
+ public static A get() { return c.v; }
+ public static float get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.a = 1.0F; A val1 = get();
+ c.v.a = 2.0F; A val2 = get();
+
+ assertEquals(val1.a, 2.0F);
+ assertEquals(val2.a, 2.0F);
+ }
+
+ {
+ c.v = new A(); c.v.a = 1.0F; float val1 = get1();
+ c.v.a = 2.0F; float val2 = get1();
+ c.v = new A(); c.v.a = 3.0F; float val3 = get1();
+
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+ assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField1 {
+ static class A {
+ public @Stable float a;
+ public @Stable A next;
+ }
+ public @Stable A v;
+
+ public static final NestedStableField1 c = new NestedStableField1();
+ public static A get() { return c.v.next.next.next.next.next.next.next; }
+ public static float get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.next = new A(); c.v.next.next = c.v;
+ c.v.a = 1.0F; c.v.next.a = 1.0F; A val1 = get();
+ c.v.a = 2.0F; c.v.next.a = 2.0F; A val2 = get();
+
+ assertEquals(val1.a, 2.0F);
+ assertEquals(val2.a, 2.0F);
+ }
+
+ {
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 1.0F; float val1 = get1();
+ c.v.a = 2.0F; float val2 = get1();
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 3.0F; float val3 = get1();
+
+ assertEquals(val1, 1.0F);
+ assertEquals(val2, (isStableEnabled ? 1.0F : 2.0F));
+ assertEquals(val3, (isStableEnabled ? 1.0F : 3.0F));
+ }
+ }
+ }
+ /* ==================================================== */
+
+ static class NestedStableField2 {
+ static class A {
+ public @Stable float a;
+ public @Stable A left;
+ public A right;
+ }
+
+ public @Stable A v;
+
+ public static final NestedStableField2 c = new NestedStableField2();
+ public static float get() { return c.v.left.left.left.a; }
+ public static float get1() { return c.v.left.left.right.left.a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.left = c.v.right = c.v;
+ c.v.a = 1.0F; float val1 = get(); float val2 = get1();
+ c.v.a = 2.0F; float val3 = get(); float val4 = get1();
+
+ assertEquals(val1, 1.0F);
+ assertEquals(val3, (isStableEnabled ? 1.0F : 2.0F));
+
+ assertEquals(val2, 1.0F);
+ assertEquals(val4, 2.0F);
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField3 {
+ static class A {
+ public @Stable float a;
+ public @Stable A[] left;
+ public A[] right;
+ }
+
+ public @Stable A[] v;
+
+ public static final NestedStableField3 c = new NestedStableField3();
+ public static float get() { return c.v[0].left[1].left[0].left[1].a; }
+ public static float get1() { return c.v[1].left[0].left[1].right[0].left[1].a; }
+
+ public static void test() throws Exception {
+ {
+ A elem = new A();
+ c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v;
+ elem.a = 1.0F; float val1 = get(); float val2 = get1();
+ elem.a = 2.0F; float val3 = get(); float val4 = get1();
+
+ assertEquals(val1, 1.0F);
+ assertEquals(val3, (isStableEnabled ? 1.0F : 2.0F));
+
+ assertEquals(val2, 1.0F);
+ assertEquals(val4, 2.0F);
+ }
+ }
+ }
+
+ /* ==================================================== */
+ // Auxiliary methods
+ static void assertEquals(float i, float j) { if (i != j) throw new AssertionError(i + " != " + j); }
+ static void assertTrue(boolean b) { if (!b) throw new AssertionError(); }
+
+ static boolean failed = false;
+
+ public static void run(Class<?> test) {
+ Throwable ex = null;
+ System.out.print(test.getName()+": ");
+ try {
+ test.getMethod("test").invoke(null);
+ } catch (InvocationTargetException e) {
+ ex = e.getCause();
+ } catch (Throwable e) {
+ ex = e;
+ } finally {
+ if (ex == null) {
+ System.out.println("PASSED");
+ } else {
+ failed = true;
+ System.out.println("FAILED");
+ ex.printStackTrace(System.out);
+ }
+ }
+ }
+
+ static final boolean isStableEnabled;
+ static {
+ HotSpotDiagnosticMXBean diagnostic
+ = ManagementFactoryHelper.getDiagnosticMXBean();
+ VMOption tmp;
+ try {
+ tmp = diagnostic.getVMOption("FoldStableValues");
+ } catch (IllegalArgumentException e) {
+ tmp = null;
+ }
+ isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue()));
+ }
+}
diff --git a/hotspot/test/compiler/stable/TestStableInt.java b/hotspot/test/compiler/stable/TestStableInt.java
new file mode 100644
index 0000000..9632a8d
--- /dev/null
+++ b/hotspot/test/compiler/stable/TestStableInt.java
@@ -0,0 +1,632 @@
+/*
+ * Copyright (c) 2014, 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 TestStableInt
+ * @summary tests on stable fields and arrays
+ * @library /testlibrary
+ * @compile -XDignore.symbol.file TestStableInt.java
+ * @run main ClassFileInstaller
+ * java/lang/invoke/TestStableInt
+ * java/lang/invoke/TestStableInt$IntStable
+ * java/lang/invoke/TestStableInt$StaticIntStable
+ * java/lang/invoke/TestStableInt$VolatileIntStable
+ * java/lang/invoke/TestStableInt$IntArrayDim1
+ * java/lang/invoke/TestStableInt$IntArrayDim2
+ * java/lang/invoke/TestStableInt$IntArrayDim3
+ * java/lang/invoke/TestStableInt$IntArrayDim4
+ * java/lang/invoke/TestStableInt$ObjectArrayLowerDim0
+ * java/lang/invoke/TestStableInt$ObjectArrayLowerDim1
+ * java/lang/invoke/TestStableInt$NestedStableField
+ * java/lang/invoke/TestStableInt$NestedStableField$A
+ * java/lang/invoke/TestStableInt$NestedStableField1
+ * java/lang/invoke/TestStableInt$NestedStableField1$A
+ * java/lang/invoke/TestStableInt$NestedStableField2
+ * java/lang/invoke/TestStableInt$NestedStableField2$A
+ * java/lang/invoke/TestStableInt$NestedStableField3
+ * java/lang/invoke/TestStableInt$NestedStableField3$A
+ * java/lang/invoke/TestStableInt$DefaultValue
+ * java/lang/invoke/TestStableInt$ObjectArrayLowerDim2
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableInt
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableInt
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableInt
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableInt
+ */
+package java.lang.invoke;
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import sun.management.ManagementFactoryHelper;
+import java.lang.reflect.InvocationTargetException;
+
+public class TestStableInt {
+ public static void main(String[] args) throws Exception {
+ System.out.println("@Stable enabled: "+isStableEnabled);
+ System.out.println();
+
+ run(DefaultValue.class);
+ run(IntStable.class);
+ run(StaticIntStable.class);
+ run(VolatileIntStable.class);
+
+ // @Stable arrays: Dim 1-4
+ run(IntArrayDim1.class);
+ run(IntArrayDim2.class);
+ run(IntArrayDim3.class);
+ run(IntArrayDim4.class);
+
+ // @Stable Object field: dynamic arrays
+ run(ObjectArrayLowerDim0.class);
+ run(ObjectArrayLowerDim1.class);
+ run(ObjectArrayLowerDim2.class);
+
+ // Nested @Stable fields
+ run(NestedStableField.class);
+ run(NestedStableField1.class);
+ run(NestedStableField2.class);
+ run(NestedStableField3.class);
+
+ if (failed) {
+ throw new Error("TEST FAILED");
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DefaultValue {
+ public @Stable int v;
+
+ public static final DefaultValue c = new DefaultValue();
+ public static int get() { return c.v; }
+ public static void test() throws Exception {
+ int val1 = get();
+ c.v = 1; int val2 = get();
+ assertEquals(val1, 0);
+ assertEquals(val2, 1);
+ }
+ }
+
+ /* ==================================================== */
+
+ static class IntStable {
+ public @Stable int v;
+
+ public static final IntStable c = new IntStable();
+ public static int get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1; int val1 = get();
+ c.v = 2; int val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class StaticIntStable {
+ public static @Stable int v;
+
+ public static final StaticIntStable c = new StaticIntStable();
+ public static int get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1; int val1 = get();
+ c.v = 2; int val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class VolatileIntStable {
+ public @Stable volatile int v;
+
+ public static final VolatileIntStable c = new VolatileIntStable();
+ public static int get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1; int val1 = get();
+ c.v = 2; int val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ }
+ }
+
+ /* ==================================================== */
+ // @Stable array == field && all components are stable
+
+ static class IntArrayDim1 {
+ public @Stable int[] v;
+
+ public static final IntArrayDim1 c = new IntArrayDim1();
+ public static int get() { return c.v[0]; }
+ public static int get1() { return c.v[10]; }
+ public static int[] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new int[1]; c.v[0] = 1; int val1 = get();
+ c.v[0] = 2; int val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new int[1]; c.v[0] = 3; int val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+
+ {
+ c.v = new int[20]; c.v[10] = 1; int val1 = get1();
+ c.v[10] = 2; int val2 = get1();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new int[20]; c.v[10] = 3; int val3 = get1();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+
+ {
+ c.v = new int[1]; int[] val1 = get2();
+ c.v = new int[1]; int[] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class IntArrayDim2 {
+ public @Stable int[][] v;
+
+ public static final IntArrayDim2 c = new IntArrayDim2();
+ public static int get() { return c.v[0][0]; }
+ public static int[] get1() { return c.v[0]; }
+ public static int[][] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new int[1][1]; c.v[0][0] = 1; int val1 = get();
+ c.v[0][0] = 2; int val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new int[1][1]; c.v[0][0] = 3; int val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new int[1]; c.v[0][0] = 4; int val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+ }
+
+ {
+ c.v = new int[1][1]; int[] val1 = get1();
+ c.v[0] = new int[1]; int[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new int[1][1]; int[][] val1 = get2();
+ c.v = new int[1][1]; int[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class IntArrayDim3 {
+ public @Stable int[][][] v;
+
+ public static final IntArrayDim3 c = new IntArrayDim3();
+ public static int get() { return c.v[0][0][0]; }
+ public static int[] get1() { return c.v[0][0]; }
+ public static int[][] get2() { return c.v[0]; }
+ public static int[][][] get3() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new int[1][1][1]; c.v[0][0][0] = 1; int val1 = get();
+ c.v[0][0][0] = 2; int val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new int[1][1][1]; c.v[0][0][0] = 3; int val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new int[1][1]; c.v[0][0][0] = 4; int val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+
+ c.v[0][0] = new int[1]; c.v[0][0][0] = 5; int val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1 : 5));
+ }
+
+ {
+ c.v = new int[1][1][1]; int[] val1 = get1();
+ c.v[0][0] = new int[1]; int[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new int[1][1][1]; int[][] val1 = get2();
+ c.v[0] = new int[1][1]; int[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new int[1][1][1]; int[][][] val1 = get3();
+ c.v = new int[1][1][1]; int[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class IntArrayDim4 {
+ public @Stable int[][][][] v;
+
+ public static final IntArrayDim4 c = new IntArrayDim4();
+ public static int get() { return c.v[0][0][0][0]; }
+ public static int[] get1() { return c.v[0][0][0]; }
+ public static int[][] get2() { return c.v[0][0]; }
+ public static int[][][] get3() { return c.v[0]; }
+ public static int[][][][] get4() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new int[1][1][1][1]; c.v[0][0][0][0] = 1; int val1 = get();
+ c.v[0][0][0][0] = 2; int val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new int[1][1][1][1]; c.v[0][0][0][0] = 3; int val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new int[1][1][1]; c.v[0][0][0][0] = 4; int val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+
+ c.v[0][0] = new int[1][1]; c.v[0][0][0][0] = 5; int val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1 : 5));
+
+ c.v[0][0][0] = new int[1]; c.v[0][0][0][0] = 6; int val6 = get();
+ assertEquals(val6, (isStableEnabled ? 1 : 6));
+ }
+
+ {
+ c.v = new int[1][1][1][1]; int[] val1 = get1();
+ c.v[0][0][0] = new int[1]; int[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new int[1][1][1][1]; int[][] val1 = get2();
+ c.v[0][0] = new int[1][1]; int[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new int[1][1][1][1]; int[][][] val1 = get3();
+ c.v[0] = new int[1][1][1]; int[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new int[1][1][1][1]; int[][][][] val1 = get4();
+ c.v = new int[1][1][1][1]; int[][][][] val2 = get4();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ }
+ }
+
+ /* ==================================================== */
+ // Dynamic Dim is higher than static
+
+ static class ObjectArrayLowerDim0 {
+ public @Stable Object v;
+
+ public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0();
+ public static int get() { return ((int[])c.v)[0]; }
+ public static int[] get1() { return (int[])c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new int[1]; ((int[])c.v)[0] = 1; int val1 = get();
+ ((int[])c.v)[0] = 2; int val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new int[1]; int[] val1 = get1();
+ c.v = new int[1]; int[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1();
+ public static int get() { return ((int[][])c.v)[0][0]; }
+ public static int[] get1() { return (int[])(c.v[0]); }
+ public static Object[] get2() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new int[1][1]; ((int[][])c.v)[0][0] = 1; int val1 = get();
+ ((int[][])c.v)[0][0] = 2; int val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new int[1][1]; c.v[0] = new int[0]; int[] val1 = get1();
+ c.v[0] = new int[0]; int[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new int[0][0]; Object[] val1 = get2();
+ c.v = new int[0][0]; Object[] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2();
+ public static int get() { return ((int[][][])c.v)[0][0][0]; }
+ public static int[] get1() { return (int[])(c.v[0][0]); }
+ public static int[][] get2() { return (int[][])(c.v[0]); }
+ public static Object[][] get3() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new int[1][1][1]; ((int[][][])c.v)[0][0][0] = 1; int val1 = get();
+ ((int[][][])c.v)[0][0][0] = 2; int val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new int[1][1][1]; c.v[0][0] = new int[0]; int[] val1 = get1();
+ c.v[0][0] = new int[0]; int[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new int[1][1][1]; c.v[0] = new int[0][0]; int[][] val1 = get2();
+ c.v[0] = new int[0][0]; int[][] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new int[0][0][0]; Object[][] val1 = get3();
+ c.v = new int[0][0][0]; Object[][] val2 = get3();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField {
+ static class A {
+ public @Stable int a;
+
+ }
+ public @Stable A v;
+
+ public static final NestedStableField c = new NestedStableField();
+ public static A get() { return c.v; }
+ public static int get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.a = 1; A val1 = get();
+ c.v.a = 2; A val2 = get();
+
+ assertEquals(val1.a, 2);
+ assertEquals(val2.a, 2);
+ }
+
+ {
+ c.v = new A(); c.v.a = 1; int val1 = get1();
+ c.v.a = 2; int val2 = get1();
+ c.v = new A(); c.v.a = 3; int val3 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField1 {
+ static class A {
+ public @Stable int a;
+ public @Stable A next;
+ }
+ public @Stable A v;
+
+ public static final NestedStableField1 c = new NestedStableField1();
+ public static A get() { return c.v.next.next.next.next.next.next.next; }
+ public static int get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.next = new A(); c.v.next.next = c.v;
+ c.v.a = 1; c.v.next.a = 1; A val1 = get();
+ c.v.a = 2; c.v.next.a = 2; A val2 = get();
+
+ assertEquals(val1.a, 2);
+ assertEquals(val2.a, 2);
+ }
+
+ {
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 1; int val1 = get1();
+ c.v.a = 2; int val2 = get1();
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 3; int val3 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+ }
+ }
+ /* ==================================================== */
+
+ static class NestedStableField2 {
+ static class A {
+ public @Stable int a;
+ public @Stable A left;
+ public A right;
+ }
+
+ public @Stable A v;
+
+ public static final NestedStableField2 c = new NestedStableField2();
+ public static int get() { return c.v.left.left.left.a; }
+ public static int get1() { return c.v.left.left.right.left.a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.left = c.v.right = c.v;
+ c.v.a = 1; int val1 = get(); int val2 = get1();
+ c.v.a = 2; int val3 = get(); int val4 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val3, (isStableEnabled ? 1 : 2));
+
+ assertEquals(val2, 1);
+ assertEquals(val4, 2);
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField3 {
+ static class A {
+ public @Stable int a;
+ public @Stable A[] left;
+ public A[] right;
+ }
+
+ public @Stable A[] v;
+
+ public static final NestedStableField3 c = new NestedStableField3();
+ public static int get() { return c.v[0].left[1].left[0].left[1].a; }
+ public static int get1() { return c.v[1].left[0].left[1].right[0].left[1].a; }
+
+ public static void test() throws Exception {
+ {
+ A elem = new A();
+ c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v;
+ elem.a = 1; int val1 = get(); int val2 = get1();
+ elem.a = 2; int val3 = get(); int val4 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val3, (isStableEnabled ? 1 : 2));
+
+ assertEquals(val2, 1);
+ assertEquals(val4, 2);
+ }
+ }
+ }
+
+ /* ==================================================== */
+ // Auxiliary methods
+ static void assertEquals(int i, int j) { if (i != j) throw new AssertionError(i + " != " + j); }
+ static void assertTrue(boolean b) { if (!b) throw new AssertionError(); }
+
+ static boolean failed = false;
+
+ public static void run(Class<?> test) {
+ Throwable ex = null;
+ System.out.print(test.getName()+": ");
+ try {
+ test.getMethod("test").invoke(null);
+ } catch (InvocationTargetException e) {
+ ex = e.getCause();
+ } catch (Throwable e) {
+ ex = e;
+ } finally {
+ if (ex == null) {
+ System.out.println("PASSED");
+ } else {
+ failed = true;
+ System.out.println("FAILED");
+ ex.printStackTrace(System.out);
+ }
+ }
+ }
+
+ static final boolean isStableEnabled;
+ static {
+ HotSpotDiagnosticMXBean diagnostic
+ = ManagementFactoryHelper.getDiagnosticMXBean();
+ VMOption tmp;
+ try {
+ tmp = diagnostic.getVMOption("FoldStableValues");
+ } catch (IllegalArgumentException e) {
+ tmp = null;
+ }
+ isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue()));
+ }
+}
diff --git a/hotspot/test/compiler/stable/TestStableLong.java b/hotspot/test/compiler/stable/TestStableLong.java
new file mode 100644
index 0000000..d1c72f5
--- /dev/null
+++ b/hotspot/test/compiler/stable/TestStableLong.java
@@ -0,0 +1,632 @@
+/*
+ * Copyright (c) 2014, 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 TestStableLong
+ * @summary tests on stable fields and arrays
+ * @library /testlibrary
+ * @compile -XDignore.symbol.file TestStableLong.java
+ * @run main ClassFileInstaller
+ * java/lang/invoke/TestStableLong
+ * java/lang/invoke/TestStableLong$LongStable
+ * java/lang/invoke/TestStableLong$StaticLongStable
+ * java/lang/invoke/TestStableLong$VolatileLongStable
+ * java/lang/invoke/TestStableLong$LongArrayDim1
+ * java/lang/invoke/TestStableLong$LongArrayDim2
+ * java/lang/invoke/TestStableLong$LongArrayDim3
+ * java/lang/invoke/TestStableLong$LongArrayDim4
+ * java/lang/invoke/TestStableLong$ObjectArrayLowerDim0
+ * java/lang/invoke/TestStableLong$ObjectArrayLowerDim1
+ * java/lang/invoke/TestStableLong$NestedStableField
+ * java/lang/invoke/TestStableLong$NestedStableField$A
+ * java/lang/invoke/TestStableLong$NestedStableField1
+ * java/lang/invoke/TestStableLong$NestedStableField1$A
+ * java/lang/invoke/TestStableLong$NestedStableField2
+ * java/lang/invoke/TestStableLong$NestedStableField2$A
+ * java/lang/invoke/TestStableLong$NestedStableField3
+ * java/lang/invoke/TestStableLong$NestedStableField3$A
+ * java/lang/invoke/TestStableLong$DefaultValue
+ * java/lang/invoke/TestStableLong$ObjectArrayLowerDim2
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableLong
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableLong
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableLong
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableLong
+ */
+package java.lang.invoke;
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import sun.management.ManagementFactoryHelper;
+import java.lang.reflect.InvocationTargetException;
+
+public class TestStableLong {
+ public static void main(String[] args) throws Exception {
+ System.out.println("@Stable enabled: "+isStableEnabled);
+ System.out.println();
+
+ run(DefaultValue.class);
+ run(LongStable.class);
+ run(StaticLongStable.class);
+ run(VolatileLongStable.class);
+
+ // @Stable arrays: Dim 1-4
+ run(LongArrayDim1.class);
+ run(LongArrayDim2.class);
+ run(LongArrayDim3.class);
+ run(LongArrayDim4.class);
+
+ // @Stable Object field: dynamic arrays
+ run(ObjectArrayLowerDim0.class);
+ run(ObjectArrayLowerDim1.class);
+ run(ObjectArrayLowerDim2.class);
+
+ // Nested @Stable fields
+ run(NestedStableField.class);
+ run(NestedStableField1.class);
+ run(NestedStableField2.class);
+ run(NestedStableField3.class);
+
+ if (failed) {
+ throw new Error("TEST FAILED");
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DefaultValue {
+ public @Stable long v;
+
+ public static final DefaultValue c = new DefaultValue();
+ public static long get() { return c.v; }
+ public static void test() throws Exception {
+ long val1 = get();
+ c.v = 1L; long val2 = get();
+ assertEquals(val1, 0);
+ assertEquals(val2, 1L);
+ }
+ }
+
+ /* ==================================================== */
+
+ static class LongStable {
+ public @Stable long v;
+
+ public static final LongStable c = new LongStable();
+ public static long get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 5; long val1 = get();
+ c.v = Long.MAX_VALUE; long val2 = get();
+ assertEquals(val1, 5);
+ assertEquals(val2, (isStableEnabled ? 5 : Long.MAX_VALUE));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class StaticLongStable {
+ public static @Stable long v;
+
+ public static final StaticLongStable c = new StaticLongStable();
+ public static long get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 5; long val1 = get();
+ c.v = Long.MAX_VALUE; long val2 = get();
+ assertEquals(val1, 5);
+ assertEquals(val2, (isStableEnabled ? 5 : Long.MAX_VALUE));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class VolatileLongStable {
+ public @Stable volatile long v;
+
+ public static final VolatileLongStable c = new VolatileLongStable();
+ public static long get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 5; long val1 = get();
+ c.v = Long.MAX_VALUE; long val2 = get();
+ assertEquals(val1, 5);
+ assertEquals(val2, (isStableEnabled ? 5 : Long.MAX_VALUE));
+ }
+ }
+
+ /* ==================================================== */
+ // @Stable array == field && all components are stable
+
+ static class LongArrayDim1 {
+ public @Stable long[] v;
+
+ public static final LongArrayDim1 c = new LongArrayDim1();
+ public static long get() { return c.v[0]; }
+ public static long get1() { return c.v[10]; }
+ public static long[] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new long[1]; c.v[0] = 1; long val1 = get();
+ c.v[0] = 2; long val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new long[1]; c.v[0] = 3; long val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+
+ {
+ c.v = new long[20]; c.v[10] = 1; long val1 = get1();
+ c.v[10] = 2; long val2 = get1();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new long[20]; c.v[10] = 3; long val3 = get1();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+
+ {
+ c.v = new long[1]; long[] val1 = get2();
+ c.v = new long[1]; long[] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class LongArrayDim2 {
+ public @Stable long[][] v;
+
+ public static final LongArrayDim2 c = new LongArrayDim2();
+ public static long get() { return c.v[0][0]; }
+ public static long[] get1() { return c.v[0]; }
+ public static long[][] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new long[1][1]; c.v[0][0] = 1; long val1 = get();
+ c.v[0][0] = 2; long val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new long[1][1]; c.v[0][0] = 3; long val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new long[1]; c.v[0][0] = 4; long val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+ }
+
+ {
+ c.v = new long[1][1]; long[] val1 = get1();
+ c.v[0] = new long[1]; long[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new long[1][1]; long[][] val1 = get2();
+ c.v = new long[1][1]; long[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class LongArrayDim3 {
+ public @Stable long[][][] v;
+
+ public static final LongArrayDim3 c = new LongArrayDim3();
+ public static long get() { return c.v[0][0][0]; }
+ public static long[] get1() { return c.v[0][0]; }
+ public static long[][] get2() { return c.v[0]; }
+ public static long[][][] get3() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new long[1][1][1]; c.v[0][0][0] = 1; long val1 = get();
+ c.v[0][0][0] = 2; long val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new long[1][1][1]; c.v[0][0][0] = 3; long val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new long[1][1]; c.v[0][0][0] = 4; long val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+
+ c.v[0][0] = new long[1]; c.v[0][0][0] = 5; long val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1 : 5));
+ }
+
+ {
+ c.v = new long[1][1][1]; long[] val1 = get1();
+ c.v[0][0] = new long[1]; long[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new long[1][1][1]; long[][] val1 = get2();
+ c.v[0] = new long[1][1]; long[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new long[1][1][1]; long[][][] val1 = get3();
+ c.v = new long[1][1][1]; long[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class LongArrayDim4 {
+ public @Stable long[][][][] v;
+
+ public static final LongArrayDim4 c = new LongArrayDim4();
+ public static long get() { return c.v[0][0][0][0]; }
+ public static long[] get1() { return c.v[0][0][0]; }
+ public static long[][] get2() { return c.v[0][0]; }
+ public static long[][][] get3() { return c.v[0]; }
+ public static long[][][][] get4() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new long[1][1][1][1]; c.v[0][0][0][0] = 1; long val1 = get();
+ c.v[0][0][0][0] = 2; long val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new long[1][1][1][1]; c.v[0][0][0][0] = 3; long val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new long[1][1][1]; c.v[0][0][0][0] = 4; long val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+
+ c.v[0][0] = new long[1][1]; c.v[0][0][0][0] = 5; long val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1 : 5));
+
+ c.v[0][0][0] = new long[1]; c.v[0][0][0][0] = 6; long val6 = get();
+ assertEquals(val6, (isStableEnabled ? 1 : 6));
+ }
+
+ {
+ c.v = new long[1][1][1][1]; long[] val1 = get1();
+ c.v[0][0][0] = new long[1]; long[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new long[1][1][1][1]; long[][] val1 = get2();
+ c.v[0][0] = new long[1][1]; long[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new long[1][1][1][1]; long[][][] val1 = get3();
+ c.v[0] = new long[1][1][1]; long[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new long[1][1][1][1]; long[][][][] val1 = get4();
+ c.v = new long[1][1][1][1]; long[][][][] val2 = get4();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ }
+ }
+
+ /* ==================================================== */
+ // Dynamic Dim is higher than static
+
+ static class ObjectArrayLowerDim0 {
+ public @Stable Object v;
+
+ public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0();
+ public static long get() { return ((long[])c.v)[0]; }
+ public static long[] get1() { return (long[])c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new long[1]; ((long[])c.v)[0] = 1; long val1 = get();
+ ((long[])c.v)[0] = 2; long val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new long[1]; long[] val1 = get1();
+ c.v = new long[1]; long[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1();
+ public static long get() { return ((long[][])c.v)[0][0]; }
+ public static long[] get1() { return (long[])(c.v[0]); }
+ public static Object[] get2() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new long[1][1]; ((long[][])c.v)[0][0] = 1; long val1 = get();
+ ((long[][])c.v)[0][0] = 2; long val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new long[1][1]; c.v[0] = new long[0]; long[] val1 = get1();
+ c.v[0] = new long[0]; long[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new long[0][0]; Object[] val1 = get2();
+ c.v = new long[0][0]; Object[] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2();
+ public static long get() { return ((long[][][])c.v)[0][0][0]; }
+ public static long[] get1() { return (long[])(c.v[0][0]); }
+ public static long[][] get2() { return (long[][])(c.v[0]); }
+ public static Object[][] get3() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new long[1][1][1]; ((long[][][])c.v)[0][0][0] = 1L; long val1 = get();
+ ((long[][][])c.v)[0][0][0] = 2L; long val2 = get();
+
+ assertEquals(val1, 1L);
+ assertEquals(val2, 2L);
+ }
+
+ {
+ c.v = new long[1][1][1]; c.v[0][0] = new long[0]; long[] val1 = get1();
+ c.v[0][0] = new long[0]; long[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new long[1][1][1]; c.v[0] = new long[0][0]; long[][] val1 = get2();
+ c.v[0] = new long[0][0]; long[][] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new long[0][0][0]; Object[][] val1 = get3();
+ c.v = new long[0][0][0]; Object[][] val2 = get3();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField {
+ static class A {
+ public @Stable long a;
+
+ }
+ public @Stable A v;
+
+ public static final NestedStableField c = new NestedStableField();
+ public static A get() { return c.v; }
+ public static long get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.a = 1; A val1 = get();
+ c.v.a = 2; A val2 = get();
+
+ assertEquals(val1.a, 2);
+ assertEquals(val2.a, 2);
+ }
+
+ {
+ c.v = new A(); c.v.a = 1; long val1 = get1();
+ c.v.a = 2; long val2 = get1();
+ c.v = new A(); c.v.a = 3; long val3 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField1 {
+ static class A {
+ public @Stable long a;
+ public @Stable A next;
+ }
+ public @Stable A v;
+
+ public static final NestedStableField1 c = new NestedStableField1();
+ public static A get() { return c.v.next.next.next.next.next.next.next; }
+ public static long get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.next = new A(); c.v.next.next = c.v;
+ c.v.a = 1; c.v.next.a = 1; A val1 = get();
+ c.v.a = 2; c.v.next.a = 2; A val2 = get();
+
+ assertEquals(val1.a, 2);
+ assertEquals(val2.a, 2);
+ }
+
+ {
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 1; long val1 = get1();
+ c.v.a = 2; long val2 = get1();
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 3; long val3 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+ }
+ }
+ /* ==================================================== */
+
+ static class NestedStableField2 {
+ static class A {
+ public @Stable long a;
+ public @Stable A left;
+ public A right;
+ }
+
+ public @Stable A v;
+
+ public static final NestedStableField2 c = new NestedStableField2();
+ public static long get() { return c.v.left.left.left.a; }
+ public static long get1() { return c.v.left.left.right.left.a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.left = c.v.right = c.v;
+ c.v.a = 1; long val1 = get(); long val2 = get1();
+ c.v.a = 2; long val3 = get(); long val4 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val3, (isStableEnabled ? 1 : 2));
+
+ assertEquals(val2, 1);
+ assertEquals(val4, 2);
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField3 {
+ static class A {
+ public @Stable long a;
+ public @Stable A[] left;
+ public A[] right;
+ }
+
+ public @Stable A[] v;
+
+ public static final NestedStableField3 c = new NestedStableField3();
+ public static long get() { return c.v[0].left[1].left[0].left[1].a; }
+ public static long get1() { return c.v[1].left[0].left[1].right[0].left[1].a; }
+
+ public static void test() throws Exception {
+ {
+ A elem = new A();
+ c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v;
+ elem.a = 1; long val1 = get(); long val2 = get1();
+ elem.a = 2; long val3 = get(); long val4 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val3, (isStableEnabled ? 1 : 2));
+
+ assertEquals(val2, 1);
+ assertEquals(val4, 2);
+ }
+ }
+ }
+
+ /* ==================================================== */
+ // Auxiliary methods
+ static void assertEquals(long i, long j) { if (i != j) throw new AssertionError(i + " != " + j); }
+ static void assertTrue(boolean b) { if (!b) throw new AssertionError(); }
+
+ static boolean failed = false;
+
+ public static void run(Class<?> test) {
+ Throwable ex = null;
+ System.out.print(test.getName()+": ");
+ try {
+ test.getMethod("test").invoke(null);
+ } catch (InvocationTargetException e) {
+ ex = e.getCause();
+ } catch (Throwable e) {
+ ex = e;
+ } finally {
+ if (ex == null) {
+ System.out.println("PASSED");
+ } else {
+ failed = true;
+ System.out.println("FAILED");
+ ex.printStackTrace(System.out);
+ }
+ }
+ }
+
+ static final boolean isStableEnabled;
+ static {
+ HotSpotDiagnosticMXBean diagnostic
+ = ManagementFactoryHelper.getDiagnosticMXBean();
+ VMOption tmp;
+ try {
+ tmp = diagnostic.getVMOption("FoldStableValues");
+ } catch (IllegalArgumentException e) {
+ tmp = null;
+ }
+ isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue()));
+ }
+}
diff --git a/hotspot/test/compiler/stable/TestStableObject.java b/hotspot/test/compiler/stable/TestStableObject.java
new file mode 100644
index 0000000..7958c65
--- /dev/null
+++ b/hotspot/test/compiler/stable/TestStableObject.java
@@ -0,0 +1,635 @@
+/*
+ * Copyright (c) 2014, 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 TestStableObject
+ * @summary tests on stable fields and arrays
+ * @library /testlibrary
+ * @compile -XDignore.symbol.file TestStableObject.java
+ * @run main ClassFileInstaller
+ * java/lang/invoke/TestStableObject
+ * java/lang/invoke/TestStableObject$ObjectStable
+ * java/lang/invoke/TestStableObject$StaticObjectStable
+ * java/lang/invoke/TestStableObject$VolatileObjectStable
+ * java/lang/invoke/TestStableObject$ObjectArrayDim1
+ * java/lang/invoke/TestStableObject$ObjectArrayDim2
+ * java/lang/invoke/TestStableObject$ObjectArrayDim3
+ * java/lang/invoke/TestStableObject$ObjectArrayDim4
+ * java/lang/invoke/TestStableObject$ObjectArrayLowerDim0
+ * java/lang/invoke/TestStableObject$ObjectArrayLowerDim1
+ * java/lang/invoke/TestStableObject$NestedStableField
+ * java/lang/invoke/TestStableObject$NestedStableField$A
+ * java/lang/invoke/TestStableObject$NestedStableField1
+ * java/lang/invoke/TestStableObject$NestedStableField1$A
+ * java/lang/invoke/TestStableObject$NestedStableField2
+ * java/lang/invoke/TestStableObject$NestedStableField2$A
+ * java/lang/invoke/TestStableObject$NestedStableField3
+ * java/lang/invoke/TestStableObject$NestedStableField3$A
+ * java/lang/invoke/TestStableObject$Values
+ * java/lang/invoke/TestStableObject$DefaultValue
+ * java/lang/invoke/TestStableObject$ObjectArrayLowerDim2
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableObject
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableObject
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableObject
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableObject
+ */
+package java.lang.invoke;
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import sun.management.ManagementFactoryHelper;
+import java.lang.reflect.InvocationTargetException;
+
+public class TestStableObject {
+ public static void main(String[] args) throws Exception {
+ System.out.println("@Stable enabled: "+isStableEnabled);
+ System.out.println();
+
+ run(DefaultValue.class);
+ run(ObjectStable.class);
+ run(StaticObjectStable.class);
+ run(VolatileObjectStable.class);
+
+ // @Stable arrays: Dim 1-4
+ run(ObjectArrayDim1.class);
+ run(ObjectArrayDim2.class);
+ run(ObjectArrayDim3.class);
+ run(ObjectArrayDim4.class);
+
+ // @Stable Object field: dynamic arrays
+ run(ObjectArrayLowerDim0.class);
+ run(ObjectArrayLowerDim1.class);
+ run(ObjectArrayLowerDim2.class);
+
+ // Nested @Stable fields
+ run(NestedStableField.class);
+ run(NestedStableField1.class);
+ run(NestedStableField2.class);
+ run(NestedStableField3.class);
+
+ if (failed) {
+ throw new Error("TEST FAILED");
+ }
+ }
+
+ /* ==================================================== */
+
+ enum Values {A, B, C, D, E, F}
+
+ static class DefaultValue {
+ public @Stable Object v;
+
+ public static final DefaultValue c = new DefaultValue();
+ public static Object get() { return c.v; }
+ public static void test() throws Exception {
+ Object val1 = get();
+ c.v = Values.A; Object val2 = get();
+ assertEquals(val1, null);
+ assertEquals(val2, Values.A);
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectStable {
+ public @Stable Values v;
+
+ public static final ObjectStable c = new ObjectStable ();
+ public static Values get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = Values.A; Values val1 = get();
+ c.v = Values.B; Values val2 = get();
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class StaticObjectStable {
+ public static @Stable Values v;
+
+ public static final ObjectStable c = new ObjectStable ();
+ public static Values get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = Values.A; Values val1 = get();
+ c.v = Values.B; Values val2 = get();
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class VolatileObjectStable {
+ public @Stable volatile Values v;
+
+ public static final VolatileObjectStable c = new VolatileObjectStable ();
+ public static Values get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = Values.A; Values val1 = get();
+ c.v = Values.B; Values val2 = get();
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+ }
+ }
+
+ /* ==================================================== */
+ // @Stable array == field && all components are stable
+
+ static class ObjectArrayDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayDim1 c = new ObjectArrayDim1();
+ public static Object get() { return c.v[0]; }
+ public static Object get1() { return c.v[10]; }
+ public static Object[] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new Object[1]; c.v[0] = Values.A; Object val1 = get();
+ c.v[0] = Values.B; Object val2 = get();
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+
+ c.v = new Object[1]; c.v[0] = Values.C; Object val3 = get();
+ assertEquals(val3, (isStableEnabled ? Values.A : Values.C));
+ }
+
+ {
+ c.v = new Object[20]; c.v[10] = Values.A; Object val1 = get1();
+ c.v[10] = Values.B; Object val2 = get1();
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+
+ c.v = new Object[20]; c.v[10] = Values.C; Object val3 = get1();
+ assertEquals(val3, (isStableEnabled ? Values.A : Values.C));
+ }
+
+ {
+ c.v = new Object[1]; Object[] val1 = get2();
+ c.v = new Object[1]; Object[] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayDim2 c = new ObjectArrayDim2();
+ public static Object get() { return c.v[0][0]; }
+ public static Object[] get1() { return c.v[0]; }
+ public static Object[][] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new Object[1][1]; c.v[0][0] = Values.A; Object val1 = get();
+ c.v[0][0] = Values.B; Object val2 = get();
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+
+ c.v = new Object[1][1]; c.v[0][0] = Values.C; Object val3 = get();
+ assertEquals(val3, (isStableEnabled ? Values.A : Values.C));
+
+ c.v[0] = new Object[1]; c.v[0][0] = Values.D; Object val4 = get();
+ assertEquals(val4, (isStableEnabled ? Values.A : Values.D));
+ }
+
+ {
+ c.v = new Object[1][1]; Object[] val1 = get1();
+ c.v[0] = new Object[1]; Object[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new Object[1][1]; Object[][] val1 = get2();
+ c.v = new Object[1][1]; Object[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayDim3 {
+ public @Stable Object[][][] v;
+
+ public static final ObjectArrayDim3 c = new ObjectArrayDim3();
+ public static Object get() { return c.v[0][0][0]; }
+ public static Object[] get1() { return c.v[0][0]; }
+ public static Object[][] get2() { return c.v[0]; }
+ public static Object[][][] get3() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new Object[1][1][1]; c.v[0][0][0] = Values.A; Object val1 = get();
+ c.v[0][0][0] = Values.B; Object val2 = get();
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+
+ c.v = new Object[1][1][1]; c.v[0][0][0] = Values.C; Object val3 = get();
+ assertEquals(val3, (isStableEnabled ? Values.A : Values.C));
+
+ c.v[0] = new Object[1][1]; c.v[0][0][0] = Values.D; Object val4 = get();
+ assertEquals(val4, (isStableEnabled ? Values.A : Values.D));
+
+ c.v[0][0] = new Object[1]; c.v[0][0][0] = Values.E; Object val5 = get();
+ assertEquals(val5, (isStableEnabled ? Values.A : Values.E));
+ }
+
+ {
+ c.v = new Object[1][1][1]; Object[] val1 = get1();
+ c.v[0][0] = new Object[1]; Object[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new Object[1][1][1]; Object[][] val1 = get2();
+ c.v[0] = new Object[1][1]; Object[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new Object[1][1][1]; Object[][][] val1 = get3();
+ c.v = new Object[1][1][1]; Object[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayDim4 {
+ public @Stable Object[][][][] v;
+
+ public static final ObjectArrayDim4 c = new ObjectArrayDim4();
+ public static Object get() { return c.v[0][0][0][0]; }
+ public static Object[] get1() { return c.v[0][0][0]; }
+ public static Object[][] get2() { return c.v[0][0]; }
+ public static Object[][][] get3() { return c.v[0]; }
+ public static Object[][][][] get4() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new Object[1][1][1][1]; c.v[0][0][0][0] = Values.A; Object val1 = get();
+ c.v[0][0][0][0] = Values.B; Object val2 = get();
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+
+ c.v = new Object[1][1][1][1]; c.v[0][0][0][0] = Values.C; Object val3 = get();
+ assertEquals(val3, (isStableEnabled ? Values.A : Values.C));
+
+ c.v[0] = new Object[1][1][1]; c.v[0][0][0][0] = Values.D; Object val4 = get();
+ assertEquals(val4, (isStableEnabled ? Values.A : Values.D));
+
+ c.v[0][0] = new Object[1][1]; c.v[0][0][0][0] = Values.E; Object val5 = get();
+ assertEquals(val5, (isStableEnabled ? Values.A : Values.E));
+
+ c.v[0][0][0] = new Object[1]; c.v[0][0][0][0] = Values.F; Object val6 = get();
+ assertEquals(val6, (isStableEnabled ? Values.A : Values.F));
+ }
+
+ {
+ c.v = new Object[1][1][1][1]; Object[] val1 = get1();
+ c.v[0][0][0] = new Object[1]; Object[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new Object[1][1][1][1]; Object[][] val1 = get2();
+ c.v[0][0] = new Object[1][1]; Object[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new Object[1][1][1][1]; Object[][][] val1 = get3();
+ c.v[0] = new Object[1][1][1]; Object[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new Object[1][1][1][1]; Object[][][][] val1 = get4();
+ c.v = new Object[1][1][1][1]; Object[][][][] val2 = get4();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ }
+ }
+
+ /* ==================================================== */
+ // Dynamic Dim is higher than static
+
+ static class ObjectArrayLowerDim0 {
+ public @Stable Object v;
+
+ public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0();
+ public static Object get() { return ((Object[])c.v)[0]; }
+ public static Object[] get1() { return (Object[])c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new Object[1]; ((Object[])c.v)[0] = Values.A; Object val1 = get();
+ ((Object[])c.v)[0] = Values.B; Object val2 = get();
+
+ assertEquals(val1, Values.A);
+ assertEquals(val2, Values.B);
+ }
+
+ {
+ c.v = new Object[1]; Object[] val1 = get1();
+ c.v = new Object[1]; Object[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1();
+ public static Object get() { return ((Object[][])c.v)[0][0]; }
+ public static Object[] get1() { return (Object[])(c.v[0]); }
+ public static Object[] get2() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new Object[1][1]; ((Object[][])c.v)[0][0] = Values.A; Object val1 = get();
+ ((Object[][])c.v)[0][0] = Values.B; Object val2 = get();
+
+ assertEquals(val1, Values.A);
+ assertEquals(val2, Values.B);
+ }
+
+ {
+ c.v = new Object[1][1]; c.v[0] = new Object[0]; Object[] val1 = get1();
+ c.v[0] = new Object[0]; Object[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new Object[0][0]; Object[] val1 = get2();
+ c.v = new Object[0][0]; Object[] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2();
+ public static Object get() { return ((Object[][][])c.v)[0][0][0]; }
+ public static Object[] get1() { return (Object[])(c.v[0][0]); }
+ public static Object[][] get2() { return (Object[][])(c.v[0]); }
+ public static Object[][] get3() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new Object[1][1][1]; ((Object[][][])c.v)[0][0][0] = Values.A; Object val1 = get();
+ ((Object[][][])c.v)[0][0][0] = Values.B; Object val2 = get();
+
+ assertEquals(val1, Values.A);
+ assertEquals(val2, Values.B);
+ }
+
+ {
+ c.v = new Object[1][1][1]; c.v[0][0] = new Object[0]; Object[] val1 = get1();
+ c.v[0][0] = new Object[0]; Object[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new Object[1][1][1]; c.v[0] = new Object[0][0]; Object[][] val1 = get2();
+ c.v[0] = new Object[0][0]; Object[][] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new Object[0][0][0]; Object[][] val1 = get3();
+ c.v = new Object[0][0][0]; Object[][] val2 = get3();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField {
+ static class A {
+ public @Stable Object a;
+
+ }
+ public @Stable A v;
+
+ public static final NestedStableField c = new NestedStableField();
+ public static A get() { return c.v; }
+ public static Object get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.a = Values.A; A val1 = get();
+ c.v.a = Values.B; A val2 = get();
+
+ assertEquals(val1.a, Values.B);
+ assertEquals(val2.a, Values.B);
+ }
+
+ {
+ c.v = new A(); c.v.a = Values.A; Object val1 = get1();
+ c.v.a = Values.B; Object val2 = get1();
+ c.v = new A(); c.v.a = Values.C; Object val3 = get1();
+
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+ assertEquals(val3, (isStableEnabled ? Values.A : Values.C));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField1 {
+ static class A {
+ public @Stable Object a;
+ public @Stable A next;
+ }
+ public @Stable A v;
+
+ public static final NestedStableField1 c = new NestedStableField1();
+ public static A get() { return c.v.next.next.next.next.next.next.next; }
+ public static Object get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.next = new A(); c.v.next.next = c.v;
+ c.v.a = Values.A; c.v.next.a = Values.A; A val1 = get();
+ c.v.a = Values.B; c.v.next.a = Values.B; A val2 = get();
+
+ assertEquals(val1.a, Values.B);
+ assertEquals(val2.a, Values.B);
+ }
+
+ {
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = Values.A; Object val1 = get1();
+ c.v.a = Values.B; Object val2 = get1();
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = Values.C; Object val3 = get1();
+
+ assertEquals(val1, Values.A);
+ assertEquals(val2, (isStableEnabled ? Values.A : Values.B));
+ assertEquals(val3, (isStableEnabled ? Values.A : Values.C));
+ }
+ }
+ }
+ /* ==================================================== */
+
+ static class NestedStableField2 {
+ static class A {
+ public @Stable Object a;
+ public @Stable A left;
+ public A right;
+ }
+
+ public @Stable A v;
+
+ public static final NestedStableField2 c = new NestedStableField2();
+ public static Object get() { return c.v.left.left.left.a; }
+ public static Object get1() { return c.v.left.left.right.left.a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.left = c.v.right = c.v;
+ c.v.a = Values.A; Object val1 = get(); Object val2 = get1();
+ c.v.a = Values.B; Object val3 = get(); Object val4 = get1();
+
+ assertEquals(val1, Values.A);
+ assertEquals(val3, (isStableEnabled ? Values.A : Values.B));
+
+ assertEquals(val2, Values.A);
+ assertEquals(val4, Values.B);
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField3 {
+ static class A {
+ public @Stable Object a;
+ public @Stable A[] left;
+ public A[] right;
+ }
+
+ public @Stable A[] v;
+
+ public static final NestedStableField3 c = new NestedStableField3();
+ public static Object get() { return c.v[0].left[1].left[0].left[1].a; }
+ public static Object get1() { return c.v[1].left[0].left[1].right[0].left[1].a; }
+
+ public static void test() throws Exception {
+ {
+ A elem = new A();
+ c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v;
+ elem.a = Values.A; Object val1 = get(); Object val2 = get1();
+ elem.a = Values.B; Object val3 = get(); Object val4 = get1();
+
+ assertEquals(val1, Values.A);
+ assertEquals(val3, (isStableEnabled ? Values.A : Values.B));
+
+ assertEquals(val2, Values.A);
+ assertEquals(val4, Values.B);
+ }
+ }
+ }
+
+ /* ==================================================== */
+ // Auxiliary methods
+ static void assertEquals(Object i, Object j) { if (i != j) throw new AssertionError(i + " != " + j); }
+ static void assertTrue(boolean b) { if (!b) throw new AssertionError(); }
+
+ static boolean failed = false;
+
+ public static void run(Class<?> test) {
+ Throwable ex = null;
+ System.out.print(test.getName()+": ");
+ try {
+ test.getMethod("test").invoke(null);
+ } catch (InvocationTargetException e) {
+ ex = e.getCause();
+ } catch (Throwable e) {
+ ex = e;
+ } finally {
+ if (ex == null) {
+ System.out.println("PASSED");
+ } else {
+ failed = true;
+ System.out.println("FAILED");
+ ex.printStackTrace(System.out);
+ }
+ }
+ }
+
+ static final boolean isStableEnabled;
+ static {
+ HotSpotDiagnosticMXBean diagnostic
+ = ManagementFactoryHelper.getDiagnosticMXBean();
+ VMOption tmp;
+ try {
+ tmp = diagnostic.getVMOption("FoldStableValues");
+ } catch (IllegalArgumentException e) {
+ tmp = null;
+ }
+ isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue()));
+ }
+}
diff --git a/hotspot/test/compiler/stable/TestStableShort.java b/hotspot/test/compiler/stable/TestStableShort.java
new file mode 100644
index 0000000..a80d072
--- /dev/null
+++ b/hotspot/test/compiler/stable/TestStableShort.java
@@ -0,0 +1,632 @@
+/*
+ * Copyright (c) 2014, 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 TestStableShort
+ * @summary tests on stable fields and arrays
+ * @library /testlibrary
+ * @compile -XDignore.symbol.file TestStableShort.java
+ * @run main ClassFileInstaller
+ * java/lang/invoke/TestStableShort
+ * java/lang/invoke/TestStableShort$ShortStable
+ * java/lang/invoke/TestStableShort$StaticShortStable
+ * java/lang/invoke/TestStableShort$VolatileShortStable
+ * java/lang/invoke/TestStableShort$ShortArrayDim1
+ * java/lang/invoke/TestStableShort$ShortArrayDim2
+ * java/lang/invoke/TestStableShort$ShortArrayDim3
+ * java/lang/invoke/TestStableShort$ShortArrayDim4
+ * java/lang/invoke/TestStableShort$ObjectArrayLowerDim0
+ * java/lang/invoke/TestStableShort$ObjectArrayLowerDim1
+ * java/lang/invoke/TestStableShort$NestedStableField
+ * java/lang/invoke/TestStableShort$NestedStableField$A
+ * java/lang/invoke/TestStableShort$NestedStableField1
+ * java/lang/invoke/TestStableShort$NestedStableField1$A
+ * java/lang/invoke/TestStableShort$NestedStableField2
+ * java/lang/invoke/TestStableShort$NestedStableField2$A
+ * java/lang/invoke/TestStableShort$NestedStableField3
+ * java/lang/invoke/TestStableShort$NestedStableField3$A
+ * java/lang/invoke/TestStableShort$DefaultValue
+ * java/lang/invoke/TestStableShort$ObjectArrayLowerDim2
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableShort
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:+FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableShort
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:+UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableShort
+ *
+ * @run main/othervm -Xbootclasspath/a:. -XX:+IgnoreUnrecognizedVMOptions
+ * -XX:+UnlockDiagnosticVMOptions -XX:-FoldStableValues -XX:-UseCompressedOop
+ * -server -XX:-TieredCompilation -Xcomp
+ * -XX:CompileOnly=::get,::get1,::get2,::get3,::get4
+ * java.lang.invoke.TestStableShort
+ */
+package java.lang.invoke;
+
+import com.sun.management.HotSpotDiagnosticMXBean;
+import com.sun.management.VMOption;
+import sun.management.ManagementFactoryHelper;
+import java.lang.reflect.InvocationTargetException;
+
+public class TestStableShort {
+ public static void main(String[] args) throws Exception {
+ System.out.println("@Stable enabled: "+isStableEnabled);
+ System.out.println();
+
+ run(DefaultValue.class);
+ run(ShortStable.class);
+ run(StaticShortStable.class);
+ run(VolatileShortStable.class);
+
+ // @Stable arrays: Dim 1-4
+ run(ShortArrayDim1.class);
+ run(ShortArrayDim2.class);
+ run(ShortArrayDim3.class);
+ run(ShortArrayDim4.class);
+
+ // @Stable Object field: dynamic arrays
+ run(ObjectArrayLowerDim0.class);
+ run(ObjectArrayLowerDim1.class);
+ run(ObjectArrayLowerDim2.class);
+
+ // Nested @Stable fields
+ run(NestedStableField.class);
+ run(NestedStableField1.class);
+ run(NestedStableField2.class);
+ run(NestedStableField3.class);
+
+ if (failed) {
+ throw new Error("TEST FAILED");
+ }
+ }
+
+ /* ==================================================== */
+
+ static class DefaultValue {
+ public @Stable short v;
+
+ public static final DefaultValue c = new DefaultValue();
+ public static short get() { return c.v; }
+ public static void test() throws Exception {
+ short val1 = get();
+ c.v = 1; short val2 = get();
+ assertEquals(val1, 0);
+ assertEquals(val2, 1);
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ShortStable {
+ public @Stable short v;
+
+ public static final ShortStable c = new ShortStable();
+ public static short get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1; short val1 = get();
+ c.v = 32767; short val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 32767));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class StaticShortStable {
+ public static @Stable short v;
+
+ public static final StaticShortStable c = new StaticShortStable();
+ public static short get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1; short val1 = get();
+ c.v = 32767; short val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 32767));
+ }
+ }
+
+ /* ==================================================== */
+
+ static class VolatileShortStable {
+ public @Stable volatile short v;
+
+ public static final VolatileShortStable c = new VolatileShortStable();
+ public static short get() { return c.v; }
+ public static void test() throws Exception {
+ c.v = 1; short val1 = get();
+ c.v = 32767; short val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 32767));
+ }
+ }
+
+ /* ==================================================== */
+ // @Stable array == field && all components are stable
+
+ static class ShortArrayDim1 {
+ public @Stable short[] v;
+
+ public static final ShortArrayDim1 c = new ShortArrayDim1();
+ public static short get() { return c.v[0]; }
+ public static short get1() { return c.v[10]; }
+ public static short[] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new short[1]; c.v[0] = 1; short val1 = get();
+ c.v[0] = 2; short val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new short[1]; c.v[0] = 3; short val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+
+ {
+ c.v = new short[20]; c.v[10] = 1; short val1 = get1();
+ c.v[10] = 2; short val2 = get1();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new short[20]; c.v[10] = 3; short val3 = get1();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+
+ {
+ c.v = new short[1]; short[] val1 = get2();
+ c.v = new short[1]; short[] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ShortArrayDim2 {
+ public @Stable short[][] v;
+
+ public static final ShortArrayDim2 c = new ShortArrayDim2();
+ public static short get() { return c.v[0][0]; }
+ public static short[] get1() { return c.v[0]; }
+ public static short[][] get2() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new short[1][1]; c.v[0][0] = 1; short val1 = get();
+ c.v[0][0] = 2; short val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new short[1][1]; c.v[0][0] = 3; short val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new short[1]; c.v[0][0] = 4; short val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+ }
+
+ {
+ c.v = new short[1][1]; short[] val1 = get1();
+ c.v[0] = new short[1]; short[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new short[1][1]; short[][] val1 = get2();
+ c.v = new short[1][1]; short[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ShortArrayDim3 {
+ public @Stable short[][][] v;
+
+ public static final ShortArrayDim3 c = new ShortArrayDim3();
+ public static short get() { return c.v[0][0][0]; }
+ public static short[] get1() { return c.v[0][0]; }
+ public static short[][] get2() { return c.v[0]; }
+ public static short[][][] get3() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new short[1][1][1]; c.v[0][0][0] = 1; short val1 = get();
+ c.v[0][0][0] = 2; short val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new short[1][1][1]; c.v[0][0][0] = 3; short val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new short[1][1]; c.v[0][0][0] = 4; short val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+
+ c.v[0][0] = new short[1]; c.v[0][0][0] = 5; short val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1 : 5));
+ }
+
+ {
+ c.v = new short[1][1][1]; short[] val1 = get1();
+ c.v[0][0] = new short[1]; short[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new short[1][1][1]; short[][] val1 = get2();
+ c.v[0] = new short[1][1]; short[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new short[1][1][1]; short[][][] val1 = get3();
+ c.v = new short[1][1][1]; short[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ShortArrayDim4 {
+ public @Stable short[][][][] v;
+
+ public static final ShortArrayDim4 c = new ShortArrayDim4();
+ public static short get() { return c.v[0][0][0][0]; }
+ public static short[] get1() { return c.v[0][0][0]; }
+ public static short[][] get2() { return c.v[0][0]; }
+ public static short[][][] get3() { return c.v[0]; }
+ public static short[][][][] get4() { return c.v; }
+ public static void test() throws Exception {
+ {
+ c.v = new short[1][1][1][1]; c.v[0][0][0][0] = 1; short val1 = get();
+ c.v[0][0][0][0] = 2; short val2 = get();
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+
+ c.v = new short[1][1][1][1]; c.v[0][0][0][0] = 3; short val3 = get();
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+
+ c.v[0] = new short[1][1][1]; c.v[0][0][0][0] = 4; short val4 = get();
+ assertEquals(val4, (isStableEnabled ? 1 : 4));
+
+ c.v[0][0] = new short[1][1]; c.v[0][0][0][0] = 5; short val5 = get();
+ assertEquals(val5, (isStableEnabled ? 1 : 5));
+
+ c.v[0][0][0] = new short[1]; c.v[0][0][0][0] = 6; short val6 = get();
+ assertEquals(val6, (isStableEnabled ? 1 : 6));
+ }
+
+ {
+ c.v = new short[1][1][1][1]; short[] val1 = get1();
+ c.v[0][0][0] = new short[1]; short[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new short[1][1][1][1]; short[][] val1 = get2();
+ c.v[0][0] = new short[1][1]; short[][] val2 = get2();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new short[1][1][1][1]; short[][][] val1 = get3();
+ c.v[0] = new short[1][1][1]; short[][][] val2 = get3();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new short[1][1][1][1]; short[][][][] val1 = get4();
+ c.v = new short[1][1][1][1]; short[][][][] val2 = get4();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ }
+ }
+
+ /* ==================================================== */
+ // Dynamic Dim is higher than static
+
+ static class ObjectArrayLowerDim0 {
+ public @Stable Object v;
+
+ public static final ObjectArrayLowerDim0 c = new ObjectArrayLowerDim0();
+ public static short get() { return ((short[])c.v)[0]; }
+ public static short[] get1() { return (short[])c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new short[1]; ((short[])c.v)[0] = 1; short val1 = get();
+ ((short[])c.v)[0] = 2; short val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new short[1]; short[] val1 = get1();
+ c.v = new short[1]; short[] val2 = get1();
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim1 {
+ public @Stable Object[] v;
+
+ public static final ObjectArrayLowerDim1 c = new ObjectArrayLowerDim1();
+ public static short get() { return ((short[][])c.v)[0][0]; }
+ public static short[] get1() { return (short[])(c.v[0]); }
+ public static Object[] get2() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new short[1][1]; ((short[][])c.v)[0][0] = 1; short val1 = get();
+ ((short[][])c.v)[0][0] = 2; short val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new short[1][1]; c.v[0] = new short[0]; short[] val1 = get1();
+ c.v[0] = new short[0]; short[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new short[0][0]; Object[] val1 = get2();
+ c.v = new short[0][0]; Object[] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class ObjectArrayLowerDim2 {
+ public @Stable Object[][] v;
+
+ public static final ObjectArrayLowerDim2 c = new ObjectArrayLowerDim2();
+ public static short get() { return ((short[][][])c.v)[0][0][0]; }
+ public static short[] get1() { return (short[])(c.v[0][0]); }
+ public static short[][] get2() { return (short[][])(c.v[0]); }
+ public static Object[][] get3() { return c.v; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new short[1][1][1]; ((short[][][])c.v)[0][0][0] = 1; short val1 = get();
+ ((short[][][])c.v)[0][0][0] = 2; short val2 = get();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, 2);
+ }
+
+ {
+ c.v = new short[1][1][1]; c.v[0][0] = new short[0]; short[] val1 = get1();
+ c.v[0][0] = new short[0]; short[] val2 = get1();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new short[1][1][1]; c.v[0] = new short[0][0]; short[][] val1 = get2();
+ c.v[0] = new short[0][0]; short[][] val2 = get2();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+
+ {
+ c.v = new short[0][0][0]; Object[][] val1 = get3();
+ c.v = new short[0][0][0]; Object[][] val2 = get3();
+
+ assertTrue((isStableEnabled ? (val1 == val2) : (val1 != val2)));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField {
+ static class A {
+ public @Stable short a;
+
+ }
+ public @Stable A v;
+
+ public static final NestedStableField c = new NestedStableField();
+ public static A get() { return c.v; }
+ public static short get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.a = 1; A val1 = get();
+ c.v.a = 2; A val2 = get();
+
+ assertEquals(val1.a, 2);
+ assertEquals(val2.a, 2);
+ }
+
+ {
+ c.v = new A(); c.v.a = 1; short val1 = get1();
+ c.v.a = 2; short val2 = get1();
+ c.v = new A(); c.v.a = 3; short val3 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField1 {
+ static class A {
+ public @Stable short a;
+ public @Stable A next;
+ }
+ public @Stable A v;
+
+ public static final NestedStableField1 c = new NestedStableField1();
+ public static A get() { return c.v.next.next.next.next.next.next.next; }
+ public static short get1() { return get().a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.next = new A(); c.v.next.next = c.v;
+ c.v.a = 1; c.v.next.a = 1; A val1 = get();
+ c.v.a = 2; c.v.next.a = 2; A val2 = get();
+
+ assertEquals(val1.a, 2);
+ assertEquals(val2.a, 2);
+ }
+
+ {
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 1; short val1 = get1();
+ c.v.a = 2; short val2 = get1();
+ c.v = new A(); c.v.next = c.v;
+ c.v.a = 3; short val3 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val2, (isStableEnabled ? 1 : 2));
+ assertEquals(val3, (isStableEnabled ? 1 : 3));
+ }
+ }
+ }
+ /* ==================================================== */
+
+ static class NestedStableField2 {
+ static class A {
+ public @Stable short a;
+ public @Stable A left;
+ public A right;
+ }
+
+ public @Stable A v;
+
+ public static final NestedStableField2 c = new NestedStableField2();
+ public static short get() { return c.v.left.left.left.a; }
+ public static short get1() { return c.v.left.left.right.left.a; }
+
+ public static void test() throws Exception {
+ {
+ c.v = new A(); c.v.left = c.v.right = c.v;
+ c.v.a = 1; short val1 = get(); short val2 = get1();
+ c.v.a = 2; short val3 = get(); short val4 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val3, (isStableEnabled ? 1 : 2));
+
+ assertEquals(val2, 1);
+ assertEquals(val4, 2);
+ }
+ }
+ }
+
+ /* ==================================================== */
+
+ static class NestedStableField3 {
+ static class A {
+ public @Stable short a;
+ public @Stable A[] left;
+ public A[] right;
+ }
+
+ public @Stable A[] v;
+
+ public static final NestedStableField3 c = new NestedStableField3();
+ public static short get() { return c.v[0].left[1].left[0].left[1].a; }
+ public static short get1() { return c.v[1].left[0].left[1].right[0].left[1].a; }
+
+ public static void test() throws Exception {
+ {
+ A elem = new A();
+ c.v = new A[] { elem, elem }; c.v[0].left = c.v[0].right = c.v;
+ elem.a = 1; short val1 = get(); short val2 = get1();
+ elem.a = 2; short val3 = get(); short val4 = get1();
+
+ assertEquals(val1, 1);
+ assertEquals(val3, (isStableEnabled ? 1 : 2));
+
+ assertEquals(val2, 1);
+ assertEquals(val4, 2);
+ }
+ }
+ }
+
+ /* ==================================================== */
+ // Auxiliary methods
+ static void assertEquals(int i, int j) { if (i != j) throw new AssertionError(i + " != " + j); }
+ static void assertTrue(boolean b) { if (!b) throw new AssertionError(); }
+
+ static boolean failed = false;
+
+ public static void run(Class<?> test) {
+ Throwable ex = null;
+ System.out.print(test.getName()+": ");
+ try {
+ test.getMethod("test").invoke(null);
+ } catch (InvocationTargetException e) {
+ ex = e.getCause();
+ } catch (Throwable e) {
+ ex = e;
+ } finally {
+ if (ex == null) {
+ System.out.println("PASSED");
+ } else {
+ failed = true;
+ System.out.println("FAILED");
+ ex.printStackTrace(System.out);
+ }
+ }
+ }
+
+ static final boolean isStableEnabled;
+ static {
+ HotSpotDiagnosticMXBean diagnostic
+ = ManagementFactoryHelper.getDiagnosticMXBean();
+ VMOption tmp;
+ try {
+ tmp = diagnostic.getVMOption("FoldStableValues");
+ } catch (IllegalArgumentException e) {
+ tmp = null;
+ }
+ isStableEnabled = (tmp == null ? false : Boolean.parseBoolean(tmp.getValue()));
+ }
+}
diff --git a/hotspot/test/compiler/tiered/NonTieredLevelsTest.java b/hotspot/test/compiler/tiered/NonTieredLevelsTest.java
index 715d32a..13411a0 100644
--- a/hotspot/test/compiler/tiered/NonTieredLevelsTest.java
+++ b/hotspot/test/compiler/tiered/NonTieredLevelsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -70,6 +70,9 @@
@Override
protected void test() throws Exception {
+ if (skipXcompOSR()) {
+ return;
+ }
checkNotCompiled();
compile();
checkCompiled();
diff --git a/hotspot/test/compiler/tiered/TieredLevelsTest.java b/hotspot/test/compiler/tiered/TieredLevelsTest.java
index 675a394..9fb2254 100644
--- a/hotspot/test/compiler/tiered/TieredLevelsTest.java
+++ b/hotspot/test/compiler/tiered/TieredLevelsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -51,6 +51,9 @@
@Override
protected void test() throws Exception {
+ if (skipXcompOSR()) {
+ return;
+ }
checkNotCompiled();
compile();
checkCompiled();
diff --git a/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java b/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java
index 56b19b3..4ec6e7b 100644
--- a/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java
+++ b/hotspot/test/compiler/types/TestMeetTopArrayExactConstantArray.java
@@ -25,7 +25,7 @@
* @test
* @bug 8027571
* @summary meet of TopPTR exact array with constant array is not symmetric
- * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestMeetTopArrayExactConstantArray
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:TypeProfileLevel=222 -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestMeetTopArrayExactConstantArray
*
*/
diff --git a/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java b/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java
index 9579dce..70d5566 100644
--- a/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java
+++ b/hotspot/test/compiler/types/TestSpeculationFailedHigherEqual.java
@@ -25,7 +25,7 @@
* @test
* @bug 8027422
* @summary type methods shouldn't always operate on speculative part
- * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestSpeculationFailedHigherEqual
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:TypeProfileLevel=222 -XX:+UseTypeSpeculation -XX:-BackgroundCompilation TestSpeculationFailedHigherEqual
*
*/
diff --git a/hotspot/test/compiler/types/TypeSpeculation.java b/hotspot/test/compiler/types/TypeSpeculation.java
index 0a9c8e9..6f146b8 100644
--- a/hotspot/test/compiler/types/TypeSpeculation.java
+++ b/hotspot/test/compiler/types/TypeSpeculation.java
@@ -25,7 +25,7 @@
* @test
* @bug 8024070
* @summary Test that type speculation doesn't cause incorrect execution
- * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:TypeProfileLevel=222 -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation TypeSpeculation
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:TypeProfileLevel=222 -XX:+UseTypeSpeculation TypeSpeculation
*
*/
diff --git a/hotspot/test/compiler/uncommontrap/TestSpecTrapClassUnloading.java b/hotspot/test/compiler/uncommontrap/TestSpecTrapClassUnloading.java
index 1157267..fcdd592 100644
--- a/hotspot/test/compiler/uncommontrap/TestSpecTrapClassUnloading.java
+++ b/hotspot/test/compiler/uncommontrap/TestSpecTrapClassUnloading.java
@@ -25,7 +25,7 @@
* @test
* @bug 8031752
* @summary speculative traps need to be cleaned up at GC
- * @run main/othervm -XX:-TieredCompilation -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:+UnlockExperimentalVMOptions -XX:+UseTypeSpeculation -XX:TypeProfileLevel=222 -XX:CompileCommand=exclude,java.lang.reflect.Method::invoke -XX:CompileCommand=exclude,sun.reflect.DelegatingMethodAccessorImpl::invoke -Xmx1M TestSpecTrapClassUnloading
+ * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -XX:-UseOnStackReplacement -XX:-BackgroundCompilation -XX:+UseTypeSpeculation -XX:TypeProfileLevel=222 -XX:CompileCommand=exclude,java.lang.reflect.Method::invoke -XX:CompileCommand=exclude,sun.reflect.DelegatingMethodAccessorImpl::invoke -Xmx1M TestSpecTrapClassUnloading
*
*/
diff --git a/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java b/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java
index e47231e..c199c2a 100644
--- a/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java
+++ b/hotspot/test/compiler/whitebox/CompilerWhiteBoxTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -196,6 +196,29 @@
}
/**
+ * Checks, that {@linkplain #method} is not compiled at the given compilation
+ * level or above.
+ *
+ * @param compLevel
+ *
+ * @throws RuntimeException if {@linkplain #method} is in compiler queue or
+ * is compiled, or if {@linkplain #method} has zero
+ * compilation level.
+ */
+
+ protected final void checkNotCompiled(int compLevel) {
+ if (WHITE_BOX.isMethodQueuedForCompilation(method)) {
+ throw new RuntimeException(method + " must not be in queue");
+ }
+ if (WHITE_BOX.getMethodCompilationLevel(method, false) >= compLevel) {
+ throw new RuntimeException(method + " comp_level must be >= maxCompLevel");
+ }
+ if (WHITE_BOX.getMethodCompilationLevel(method, true) >= compLevel) {
+ throw new RuntimeException(method + " osr_comp_level must be >= maxCompLevel");
+ }
+ }
+
+ /**
* Checks, that {@linkplain #method} is not compiled.
*
* @throws RuntimeException if {@linkplain #method} is in compiler queue or
@@ -380,6 +403,20 @@
/** flag for OSR test case */
boolean isOsr();
}
+
+ /**
+ * @return {@code true} if the current test case is OSR and the mode is
+ * Xcomp, otherwise {@code false}
+ */
+ protected boolean skipXcompOSR() {
+ boolean result = testCase.isOsr()
+ && CompilerWhiteBoxTest.MODE.startsWith("compiled ");
+ if (result && IS_VERBOSE) {
+ System.err.printf("Warning: %s is not applicable in %s%n",
+ testCase.name(), CompilerWhiteBoxTest.MODE);
+ }
+ return result;
+ }
}
enum SimpleTestCase implements CompilerWhiteBoxTest.TestCase {
diff --git a/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java b/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java
index 350c99c..ea4e364 100644
--- a/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java
+++ b/hotspot/test/compiler/whitebox/DeoptimizeAllTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -51,11 +51,8 @@
*/
@Override
protected void test() throws Exception {
- if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith(
- "compiled ")) {
- System.err.printf("Warning: %s is not applicable in %s%n",
- testCase.name(), CompilerWhiteBoxTest.MODE);
- return;
+ if (skipXcompOSR()) {
+ return;
}
compile();
checkCompiled();
diff --git a/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java b/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java
index 565a5b9..0b9ffd2 100644
--- a/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java
+++ b/hotspot/test/compiler/whitebox/DeoptimizeMethodTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -51,11 +51,8 @@
*/
@Override
protected void test() throws Exception {
- if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith(
- "compiled ")) {
- System.err.printf("Warning: %s is not applicable in %s%n",
- testCase.name(), CompilerWhiteBoxTest.MODE);
- return;
+ if (skipXcompOSR()) {
+ return;
}
compile();
checkCompiled();
diff --git a/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java b/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java
index bd5916a..88e5cd8 100644
--- a/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java
+++ b/hotspot/test/compiler/whitebox/IsMethodCompilableTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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,13 +24,17 @@
/*
* @test IsMethodCompilableTest
* @bug 8007270 8006683 8007288 8022832
- * @library /testlibrary /testlibrary/whitebox
+ * @library /testlibrary /testlibrary/whitebox /testlibrary/com/oracle/java/testlibrary
* @build IsMethodCompilableTest
* @run main ClassFileInstaller sun.hotspot.WhiteBox
- * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* IsMethodCompilableTest
+ * @run main ClassFileInstaller com.oracle.java.testlibrary.Platform
+ * @run main/othervm/timeout=2400 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:PerMethodRecompilationCutoff=3 -XX:CompileCommand=compileonly,SimpleTestCase$Helper::* IsMethodCompilableTest
* @summary testing of WB::isMethodCompilable()
* @author igor.ignatyev@oracle.com
*/
+
+import com.oracle.java.testlibrary.Platform;
+
public class IsMethodCompilableTest extends CompilerWhiteBoxTest {
/**
* Value of {@code -XX:PerMethodRecompilationCutoff}
@@ -43,7 +47,7 @@
if (tmp == -1) {
PER_METHOD_RECOMPILATION_CUTOFF = -1 /* Inf */;
} else {
- PER_METHOD_RECOMPILATION_CUTOFF = 1 + (0xFFFFFFFFL & tmp);
+ PER_METHOD_RECOMPILATION_CUTOFF = (0xFFFFFFFFL & tmp);
}
}
@@ -60,19 +64,23 @@
/**
* Tests {@code WB::isMethodCompilable()} by recompilation of tested method
* 'PerMethodRecompilationCutoff' times and checks compilation status. Also
- * checks that WB::clearMethodState() clears no-compilable flags.
+ * checks that WB::clearMethodState() clears no-compilable flags. Only
+ * applicable to c2 compiled methods.
*
* @throws Exception if one of the checks fails.
*/
@Override
protected void test() throws Exception {
- if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith(
- "compiled ")) {
- System.err.printf("Warning: %s is not applicable in %s%n",
- testCase.name(), CompilerWhiteBoxTest.MODE);
- return;
+
+ // Only c2 compilations can be disabled through PerMethodRecompilationCutoff
+ if (!Platform.isServer()) {
+ return;
}
- if (!isCompilable()) {
+
+ if (skipXcompOSR()) {
+ return;
+ }
+ if (!isCompilable(COMP_LEVEL_FULL_OPTIMIZATION)) {
throw new RuntimeException(method + " must be compilable");
}
System.out.println("PerMethodRecompilationCutoff = "
@@ -83,39 +91,37 @@
return;
}
- // deoptimize 'PerMethodRecompilationCutoff' times and clear state
- for (long i = 0L, n = PER_METHOD_RECOMPILATION_CUTOFF - 1; i < n; ++i) {
- compileAndDeoptimize();
+ // deoptimize 'PerMethodRecompilationCutoff' times
+ for (long attempts = 0, successes = 0;
+ (successes < PER_METHOD_RECOMPILATION_CUTOFF) &&
+ (attempts < PER_METHOD_RECOMPILATION_CUTOFF*2) &&
+ isCompilable(COMP_LEVEL_FULL_OPTIMIZATION); attempts++) {
+ if (compileAndDeoptimize() == COMP_LEVEL_FULL_OPTIMIZATION) {
+ successes++;
+ }
}
- if (!testCase.isOsr() && !isCompilable()) {
- // in osr test case count of deopt maybe more than iterations
- throw new RuntimeException(method + " is not compilable after "
- + (PER_METHOD_RECOMPILATION_CUTOFF - 1) + " iterations");
- }
- WHITE_BOX.clearMethodState(method);
- // deoptimize 'PerMethodRecompilationCutoff' + 1 times
- long i;
- for (i = 0L; i < PER_METHOD_RECOMPILATION_CUTOFF
- && isCompilable(); ++i) {
- compileAndDeoptimize();
- }
- if (!testCase.isOsr() && i != PER_METHOD_RECOMPILATION_CUTOFF) {
+ if (!testCase.isOsr() && !isCompilable(COMP_LEVEL_FULL_OPTIMIZATION)) {
// in osr test case count of deopt maybe more than iterations
throw new RuntimeException(method + " is not compilable after "
- + i + " iterations, but must only after "
- + PER_METHOD_RECOMPILATION_CUTOFF);
+ + PER_METHOD_RECOMPILATION_CUTOFF + " iterations");
}
- if (isCompilable()) {
+
+ // Now compile once more
+ compileAndDeoptimize();
+
+ if (isCompilable(COMP_LEVEL_FULL_OPTIMIZATION)) {
throw new RuntimeException(method + " is still compilable after "
+ PER_METHOD_RECOMPILATION_CUTOFF + " iterations");
}
- compile();
checkNotCompiled();
+ compile();
+ waitBackgroundCompilation();
+ checkNotCompiled(COMP_LEVEL_FULL_OPTIMIZATION);
// WB.clearMethodState() must reset no-compilable flags
WHITE_BOX.clearMethodState(method);
- if (!isCompilable()) {
+ if (!isCompilable(COMP_LEVEL_FULL_OPTIMIZATION)) {
throw new RuntimeException(method
+ " is not compilable after clearMethodState()");
}
@@ -123,9 +129,11 @@
checkCompiled();
}
- private void compileAndDeoptimize() throws Exception {
+ private int compileAndDeoptimize() throws Exception {
compile();
waitBackgroundCompilation();
+ int compLevel = getCompLevel();
deoptimize();
+ return compLevel;
}
}
diff --git a/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java b/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java
index cbd65da..d658687 100644
--- a/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java
+++ b/hotspot/test/compiler/whitebox/MakeMethodNotCompilableTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -53,11 +53,8 @@
*/
@Override
protected void test() throws Exception {
- if (testCase.isOsr() && CompilerWhiteBoxTest.MODE.startsWith(
- "compiled ")) {
- System.err.printf("Warning: %s is not applicable in %s%n",
- testCase.name(), CompilerWhiteBoxTest.MODE);
- return;
+ if (skipXcompOSR()) {
+ return;
}
checkNotCompiled();
if (!isCompilable()) {
diff --git a/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java b/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java
index e801d5b..bb68a6f 100644
--- a/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java
+++ b/hotspot/test/runtime/CompressedOops/CompressedClassPointers.java
@@ -83,8 +83,8 @@
public static void heapBaseMinAddressTest() throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:HeapBaseMinAddress=1m",
- "-XX:+PrintMiscellaneous",
- "-XX:+Verbose",
+ "-XX:+UnlockDiagnosticVMOptions",
+ "-XX:+PrintCompressedOopsMode",
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldContain("HeapBaseMinAddress must be at least");
diff --git a/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java
index a2e5f82..34b2f20 100644
--- a/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java
+++ b/hotspot/test/testlibrary/com/oracle/java/testlibrary/Platform.java
@@ -28,6 +28,15 @@
private static final String dataModel = System.getProperty("sun.arch.data.model");
private static final String vmVersion = System.getProperty("java.vm.version");
private static final String osArch = System.getProperty("os.arch");
+ private static final String vmName = System.getProperty("java.vm.name");
+
+ public static boolean isClient() {
+ return vmName.endsWith(" Client VM");
+ }
+
+ public static boolean isServer() {
+ return vmName.endsWith(" Server VM");
+ }
public static boolean is32bit() {
return dataModel.equals("32");
diff --git a/jaxp/.hgtags b/jaxp/.hgtags
index bca7de3..89dfe4c 100644
--- a/jaxp/.hgtags
+++ b/jaxp/.hgtags
@@ -245,3 +245,4 @@
4045edd35e8ba73bfdc23ce8961b9640d4145fe5 jdk9-b00
e5256f530a9b5f2d677ca245de44a617ffb58f52 jdk9-b01
02f60a253e15240087c043bad77a106792e4d56a jdk9-b02
+fb92ed0399424193f444489ad49a16748816dc12 jdk9-b03
diff --git a/jaxp/THIRD_PARTY_README b/jaxp/THIRD_PARTY_README
index ee5463a..a93b35b 100644
--- a/jaxp/THIRD_PARTY_README
+++ b/jaxp/THIRD_PARTY_README
@@ -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.
+form with the JDK 8 and OpenJDK 8 source distributions, and as object code in
+the JRE 8 & JDK 8 runtimes.
-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.
+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:
+%% 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 Derby 10.8.1.2 [included with JDK 7 only]
+ 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 ---
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java
index 104b16b..212a6d8 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/compiler/StringLengthCall.java
@@ -26,7 +26,7 @@
import java.util.Vector;
import com.sun.org.apache.bcel.internal.generic.ConstantPoolGen;
-import com.sun.org.apache.bcel.internal.generic.INVOKEVIRTUAL;
+import com.sun.org.apache.bcel.internal.generic.INVOKESTATIC;
import com.sun.org.apache.bcel.internal.generic.InstructionList;
import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ClassGenerator;
import com.sun.org.apache.xalan.internal.xsltc.compiler.util.MethodGenerator;
@@ -51,7 +51,8 @@
il.append(methodGen.loadContextNode());
Type.Node.translateTo(classGen, methodGen, Type.String);
}
- il.append(new INVOKEVIRTUAL(cpg.addMethodref(STRING_CLASS,
- "length", "()I")));
+ il.append(new INVOKESTATIC(cpg.addMethodref(BASIS_LIBRARY_CLASS,
+ "getStringLength",
+ "(Ljava/lang/String;)I")));
}
}
diff --git a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java
index ddefee2..74acd2a 100644
--- a/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java
@@ -1660,5 +1660,14 @@
}
+ /**
+ * Utility method to calculate string-length as a number of code points,
+ * to avoid possible errors with string that contains
+ * complementary characters
+ */
+ public static int getStringLength(String str) {
+ return str.codePointCount(0,str.length());
+ }
+
//-- End utility functions
}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationImpl.java b/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationImpl.java
index 4e4f7d4..da5de3e 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationImpl.java
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationImpl.java
@@ -3,11 +3,12 @@
* DO NOT REMOVE OR ALTER!
*/
/*
- * Copyright 2005 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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.apache.org/licenses/LICENSE-2.0
*
@@ -106,24 +107,20 @@
extends Duration
implements Serializable {
- /**
- * <p>Number of Fields.</p>
- */
- private static final int FIELD_NUM = 6;
/**
* <p>Internal array of value Fields.</p>
*/
- private static final DatatypeConstants.Field[] FIELDS = new DatatypeConstants.Field[]{
- DatatypeConstants.YEARS,
- DatatypeConstants.MONTHS,
- DatatypeConstants.DAYS,
- DatatypeConstants.HOURS,
- DatatypeConstants.MINUTES,
- DatatypeConstants.SECONDS
- };
+ private static final DatatypeConstants.Field[] FIELDS = new DatatypeConstants.Field[]{
+ DatatypeConstants.YEARS,
+ DatatypeConstants.MONTHS,
+ DatatypeConstants.DAYS,
+ DatatypeConstants.HOURS,
+ DatatypeConstants.MINUTES,
+ DatatypeConstants.SECONDS
+ };
- /**
+ /**
* <p>Internal array of value Field ids.</p>
*/
private static final int[] FIELD_IDS = {
@@ -141,9 +138,9 @@
private static final TimeZone GMT = TimeZone.getTimeZone("GMT");
/**
- * <p>BigDecimal value of 0.</p>
- */
- private static final BigDecimal ZERO = BigDecimal.valueOf((long) 0);
+ * <p>BigDecimal value of 0.</p>
+ */
+ private static final BigDecimal ZERO = BigDecimal.valueOf(0);
/**
* <p>Indicates the sign. -1, 0 or 1 if the duration is negative,
@@ -186,17 +183,17 @@
*/
protected BigDecimal seconds;
- /**
- * Returns the sign of this duration in -1,0, or 1.
- *
- * @return
- * -1 if this duration is negative, 0 if the duration is zero,
- * and 1 if the duration is postive.
- */
- public int getSign() {
+ /**
+ * Returns the sign of this duration in -1,0, or 1.
+ *
+ * @return
+ * -1 if this duration is negative, 0 if the duration is zero,
+ * and 1 if the duration is postive.
+ */
+ public int getSign() {
- return signum;
- }
+ return signum;
+ }
/**
* TODO: Javadoc
@@ -206,20 +203,20 @@
*/
protected int calcSignum(boolean isPositive) {
if ((years == null || years.signum() == 0)
- && (months == null || months.signum() == 0)
- && (days == null || days.signum() == 0)
- && (hours == null || hours.signum() == 0)
- && (minutes == null || minutes.signum() == 0)
- && (seconds == null || seconds.signum() == 0)) {
+ && (months == null || months.signum() == 0)
+ && (days == null || days.signum() == 0)
+ && (hours == null || hours.signum() == 0)
+ && (minutes == null || minutes.signum() == 0)
+ && (seconds == null || seconds.signum() == 0)) {
return 0;
- }
+ }
- if (isPositive) {
- return 1;
- } else {
- return -1;
- }
-
+ if (isPositive) {
+ return 1;
+ }
+ else {
+ return -1;
+ }
}
/**
@@ -357,7 +354,7 @@
}
// int -> BigInteger
- return new BigInteger(String.valueOf(i));
+ return BigInteger.valueOf(i);
}
/**
@@ -373,14 +370,16 @@
if (l > 0) {
signum = 1;
- } else if (l < 0) {
+ }
+ else if (l < 0) {
signum = -1;
if (l == 0x8000000000000000L) {
// negating 0x8000000000000000L causes an overflow
l++;
}
l *= -1;
- } else {
+ }
+ else {
signum = 0;
}
@@ -454,21 +453,22 @@
throws IllegalArgumentException {
// only if I could use the JDK1.4 regular expression ....
+ if (lexicalRepresentation == null) {
+ throw new NullPointerException();
+ }
+
final String s = lexicalRepresentation;
boolean positive;
int[] idx = new int[1];
int length = s.length();
boolean timeRequired = false;
- if (lexicalRepresentation == null) {
- throw new NullPointerException();
- }
-
idx[0] = 0;
if (length != idx[0] && s.charAt(idx[0]) == '-') {
idx[0]++;
positive = false;
- } else {
+ }
+ else {
positive = true;
}
@@ -484,8 +484,8 @@
String[] dateParts = new String[3];
int[] datePartsIndex = new int[3];
while (length != idx[0]
- && isDigit(s.charAt(idx[0]))
- && dateLen < 3) {
+ && isDigit(s.charAt(idx[0]))
+ && dateLen < 3) {
datePartsIndex[dateLen] = idx[0];
dateParts[dateLen++] = parsePiece(s, idx);
}
@@ -493,7 +493,8 @@
if (length != idx[0]) {
if (s.charAt(idx[0]++) == 'T') {
timeRequired = true;
- } else {
+ }
+ else {
throw new IllegalArgumentException(s); // ,idx[0]-1);
}
}
@@ -502,8 +503,8 @@
String[] timeParts = new String[3];
int[] timePartsIndex = new int[3];
while (length != idx[0]
- && isDigitOrPeriod(s.charAt(idx[0]))
- && timeLen < 3) {
+ && isDigitOrPeriod(s.charAt(idx[0]))
+ && timeLen < 3) {
timePartsIndex[timeLen] = idx[0];
timeParts[timeLen++] = parsePiece(s, idx);
}
@@ -604,6 +605,9 @@
int idx = tokens.length();
for (int i = len - 1; i >= 0; i--) {
+ if (parts[i] == null) {
+ throw new IllegalArgumentException(whole);
+ }
int nidx =
tokens.lastIndexOf(
parts[i].charAt(parts[i].length() - 1),
@@ -722,8 +726,7 @@
*/
public int compare(Duration rhs) {
- BigInteger maxintAsBigInteger = BigInteger.valueOf((long) Integer.MAX_VALUE);
- BigInteger minintAsBigInteger = BigInteger.valueOf((long) Integer.MIN_VALUE);
+ BigInteger maxintAsBigInteger = BigInteger.valueOf(Integer.MAX_VALUE);
// check for fields that are too large in this Duration
if (years != null && years.compareTo(maxintAsBigInteger) == 1) {
@@ -778,7 +781,7 @@
if (seconds != null && seconds.toBigInteger().compareTo(maxintAsBigInteger) == 1) {
throw new UnsupportedOperationException(
DatatypeMessageFormatter.formatMessage(null, "TooLarge",
- new Object[]{this.getClass().getName() + "#compare(Duration duration)" + DatatypeConstants.SECONDS.toString(), seconds.toString()})
+ new Object[]{this.getClass().getName() + "#compare(Duration duration)" + DatatypeConstants.SECONDS.toString(), toString(seconds)})
//this.getClass().getName() + "#compare(Duration duration)"
//+ " seconds too large to be supported by this implementation "
@@ -957,9 +960,9 @@
return resultA;
}
- private int compareResults(int resultA, int resultB){
+ private int compareResults(int resultA, int resultB) {
- if ( resultB == DatatypeConstants.INDETERMINATE ) {
+ if ( resultB == DatatypeConstants.INDETERMINATE ) {
return DatatypeConstants.INDETERMINATE;
}
else if ( resultA!=resultB) {
@@ -1007,25 +1010,25 @@
buf.append('P');
if (years != null) {
- buf.append(years + "Y");
+ buf.append(years).append('Y');
}
if (months != null) {
- buf.append(months + "M");
+ buf.append(months).append('M');
}
if (days != null) {
- buf.append(days + "D");
+ buf.append(days).append('D');
}
if (hours != null || minutes != null || seconds != null) {
buf.append('T');
if (hours != null) {
- buf.append(hours + "H");
+ buf.append(hours).append('H');
}
if (minutes != null) {
- buf.append(minutes + "M");
+ buf.append(minutes).append('M');
}
if (seconds != null) {
- buf.append(toString(seconds) + "S");
+ buf.append(toString(seconds)).append('S');
}
}
@@ -1055,10 +1058,12 @@
int insertionPoint = intString.length() - scale;
if (insertionPoint == 0) { /* Point goes right before intVal */
return "0." + intString;
- } else if (insertionPoint > 0) { /* Point goes inside intVal */
+ }
+ else if (insertionPoint > 0) { /* Point goes inside intVal */
buf = new StringBuffer(intString);
buf.insert(insertionPoint, '.');
- } else { /* We must insert zeros between point and intVal */
+ }
+ else { /* We must insert zeros between point and intVal */
buf = new StringBuffer(3 - insertionPoint + intString.length());
buf.append("0.");
for (int i = 0; i < -insertionPoint; i++) {
@@ -1302,7 +1307,8 @@
Number n = getField(field);
if (n == null) {
return 0;
- } else {
+ }
+ else {
return n.intValue();
}
}
@@ -1340,8 +1346,7 @@
public long getTimeInMillis(final Calendar startInstant) {
Calendar cal = (Calendar) startInstant.clone();
addTo(cal);
- return getCalendarTimeInMillis(cal)
- - getCalendarTimeInMillis(startInstant);
+ return getCalendarTimeInMillis(cal) - getCalendarTimeInMillis(startInstant);
}
/**
@@ -1451,13 +1456,13 @@
int days = (int) (diff / (1000L * 60L * 60L * 24L));
return new DurationImpl(
- days >= 0,
- null,
- null,
- wrap(Math.abs(days)),
- (BigInteger) getField(DatatypeConstants.HOURS),
- (BigInteger) getField(DatatypeConstants.MINUTES),
- (BigDecimal) getField(DatatypeConstants.SECONDS));
+ days >= 0,
+ null,
+ null,
+ wrap(Math.abs(days)),
+ (BigInteger) getField(DatatypeConstants.HOURS),
+ (BigInteger) getField(DatatypeConstants.MINUTES),
+ (BigDecimal) getField(DatatypeConstants.SECONDS));
}
/**
@@ -1547,14 +1552,16 @@
} else {
carry = ZERO;
}
- } else {
+ }
+ else {
carry = bd.multiply(FACTORS[i]);
}
}
if (seconds != null) {
buf[5] = seconds.multiply(factor).add(carry);
- } else {
+ }
+ else {
buf[5] = carry;
}
@@ -1581,14 +1588,17 @@
if (f == DatatypeConstants.SECONDS) {
if (seconds != null) {
return seconds;
- } else {
+ }
+ else {
return ZERO;
}
- } else {
+ }
+ else {
BigInteger bi = (BigInteger) getField(f);
if (bi == null) {
return ZERO;
- } else {
+ }
+ else {
return new BigDecimal(bi);
}
}
@@ -1607,7 +1617,8 @@
boolean canBeNull) {
if (canBeNull && value.signum() == 0) {
return null;
- } else {
+ }
+ else {
return value.unscaledValue();
}
}
@@ -1616,7 +1627,7 @@
* 1 unit of FIELDS[i] is equivalent to <code>FACTORS[i]</code> unit of
* FIELDS[i+1].
*/
- private static final BigDecimal[] FACTORS = new BigDecimal[]{
+ private static final BigDecimal[] FACTORS = new BigDecimal[] {
BigDecimal.valueOf(12),
null/*undefined*/,
BigDecimal.valueOf(24),
@@ -1964,10 +1975,20 @@
}
/**
+ * Returns time value in milliseconds
+ * @param cal A calendar object
+ * @return time value
+ *
+ * Diff from Xerces; Use JDK 1.5 feature.
+ */
+ private static long getCalendarTimeInMillis(Calendar cal) {
+ return cal.getTimeInMillis();
+ }
+
+ /**
* <p>Stream Unique Identifier.</p>
*
- * <p>TODO: Serialization should use the XML string representation as
- * the serialization format to ensure future compatibility.</p>
+ * <p>Serialization uses the lexical form returned by toString().</p>
*/
private static final long serialVersionUID = 1L;
@@ -1996,25 +2017,10 @@
}
private Object readResolve() throws ObjectStreamException {
- // try {
return new DurationImpl(lexical);
- // } catch( ParseException e ) {
- // throw new StreamCorruptedException("unable to parse "+lexical+" as duration");
- // }
}
private static final long serialVersionUID = 1L;
}
- /**
- * Calls the {@link Calendar#getTimeInMillis} method.
- * Prior to JDK1.4, this method was protected and therefore
- * cannot be invoked directly.
- *
- * In future, this should be replaced by
- * <code>cal.getTimeInMillis()</code>
- */
- private static long getCalendarTimeInMillis(Calendar cal) {
- return cal.getTime().getTime();
- }
}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/datatype/XMLGregorianCalendarImpl.java b/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/datatype/XMLGregorianCalendarImpl.java
index dac7fbf..6c629e9 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/datatype/XMLGregorianCalendarImpl.java
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/datatype/XMLGregorianCalendarImpl.java
@@ -25,6 +25,8 @@
package com.sun.org.apache.xerces.internal.jaxp.datatype;
+import java.io.IOException;
+import java.io.ObjectInputStream;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -195,6 +197,17 @@
extends XMLGregorianCalendar
implements Serializable, Cloneable {
+ /** Backup values **/
+ transient private BigInteger orig_eon;
+ transient private int orig_year = DatatypeConstants.FIELD_UNDEFINED;
+ transient private int orig_month = DatatypeConstants.FIELD_UNDEFINED;
+ transient private int orig_day = DatatypeConstants.FIELD_UNDEFINED;
+ transient private int orig_hour = DatatypeConstants.FIELD_UNDEFINED;
+ transient private int orig_minute = DatatypeConstants.FIELD_UNDEFINED;
+ transient private int orig_second = DatatypeConstants.FIELD_UNDEFINED;
+ transient private BigDecimal orig_fracSeconds;
+ transient private int orig_timezone = DatatypeConstants.FIELD_UNDEFINED;
+
/**
* <p>Eon of this <code>XMLGregorianCalendar</code>.</p>
*/
@@ -241,9 +254,14 @@
private BigDecimal fractionalSecond = null;
/**
- * <p>Constant to represent a billion.</p>
+ * <p>BigInteger constant; representing a billion.</p>
*/
- private static final BigInteger BILLION = new BigInteger("1000000000");
+ private static final BigInteger BILLION_B = new BigInteger("1000000000");
+
+ /**
+ * <p>int constant; representing a billion.</p>
+ */
+ private static final int BILLION_I = 1000000000;
/**
* <p>Obtain a pure Gregorian Calendar by calling
@@ -441,6 +459,23 @@
//"\"" + lexicalRepresentation + "\" is not a valid representation of an XML Gregorian Calendar value."
);
}
+
+ save();
+ }
+
+ /**
+ * save original values
+ */
+ private void save() {
+ orig_eon = eon;
+ orig_year = year;
+ orig_month = month;
+ orig_day = day;
+ orig_hour = hour;
+ orig_minute = minute;
+ orig_second = second;
+ orig_fracSeconds = fractionalSecond;
+ orig_timezone = timezone;
}
/**
@@ -479,14 +514,14 @@
BigDecimal fractionalSecond,
int timezone) {
- setYear(year);
+ setYear(year);
setMonth(month);
setDay(day);
setTime(hour, minute, second, fractionalSecond);
- setTimezone(timezone);
+ setTimezone(timezone);
- // check for validity
- if (!isValid()) {
+ // check for validity
+ if (!isValid()) {
throw new IllegalArgumentException(
DatatypeMessageFormatter.formatMessage(null,
@@ -519,8 +554,9 @@
);
*/
- }
+ }
+ save();
}
/**
@@ -547,17 +583,21 @@
int hour,
int minute,
int second,
- int millisecond,
+ int millisecond,
int timezone) {
- setYear(year);
+ setYear(year);
setMonth(month);
setDay(day);
setTime(hour, minute, second);
- setTimezone(timezone);
- setMillisecond(millisecond);
+ setTimezone(timezone);
+ BigDecimal realMilliseconds = null;
+ if (millisecond != DatatypeConstants.FIELD_UNDEFINED) {
+ realMilliseconds = BigDecimal.valueOf(millisecond, 3);
+ }
+ setFractionalSecond(realMilliseconds);
- if (!isValid()) {
+ if (!isValid()) {
throw new IllegalArgumentException(
DatatypeMessageFormatter.formatMessage(null,
@@ -580,7 +620,9 @@
);
*/
- }
+ }
+
+ save();
}
/**
@@ -661,6 +703,7 @@
// Calendar ZONE_OFFSET and DST_OFFSET fields are in milliseconds.
int offsetInMinutes = (cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET)) / (60 * 1000);
this.setTimezone(offsetInMinutes);
+ save();
}
// Factories
@@ -1164,7 +1207,7 @@
this.eon = null;
this.year = DatatypeConstants.FIELD_UNDEFINED;
} else {
- BigInteger temp = year.remainder(BILLION);
+ BigInteger temp = year.remainder(BILLION_B);
this.year = temp.intValue();
setEon(year.subtract(temp));
}
@@ -1187,12 +1230,13 @@
if (year == DatatypeConstants.FIELD_UNDEFINED) {
this.year = DatatypeConstants.FIELD_UNDEFINED;
this.eon = null;
- } else if (Math.abs(year) < BILLION.intValue()) {
+ }
+ else if (Math.abs(year) < BILLION_I) {
this.year = year;
this.eon = null;
} else {
BigInteger theYear = BigInteger.valueOf((long) year);
- BigInteger remainder = theYear.remainder(BILLION);
+ BigInteger remainder = theYear.remainder(BILLION_B);
this.year = remainder.intValue();
setEon(theYear.subtract(remainder));
}
@@ -1688,6 +1732,9 @@
if (obj == null || !(obj instanceof XMLGregorianCalendar)) {
return false;
}
+ if (obj == this) {
+ return true;
+ }
return compare((XMLGregorianCalendar) obj) == DatatypeConstants.EQUAL;
}
@@ -1950,51 +1997,36 @@
// no need to check for anything except for constraints
// between fields.
- //check if days in month is valid. Can be dependent on leap year.
- if (getMonth() == DatatypeConstants.FEBRUARY) {
- // years could not be set
- int maxDays = 29;
-
- if (eon == null) {
- if(year!=DatatypeConstants.FIELD_UNDEFINED)
- maxDays = maximumDayInMonthFor(year,getMonth());
- } else {
- BigInteger years = getEonAndYear();
- if (years != null) {
- maxDays = maximumDayInMonthFor(getEonAndYear(), DatatypeConstants.FEBRUARY);
+ // check if days in month is valid. Can be dependent on leap year.
+ if (month != DatatypeConstants.FIELD_UNDEFINED && day != DatatypeConstants.FIELD_UNDEFINED) {
+ if (year != DatatypeConstants.FIELD_UNDEFINED) {
+ if (eon == null) {
+ if (day > maximumDayInMonthFor(year, month)) {
+ return false;
+ }
+ }
+ else if (day > maximumDayInMonthFor(getEonAndYear(), month)) {
+ return false;
}
}
- if (getDay() > maxDays) {
+ // Use 2000 as a default since it's a leap year.
+ else if (day > maximumDayInMonthFor(2000, month)) {
return false;
}
}
// http://www.w3.org/2001/05/xmlschema-errata#e2-45
- if (getHour() == 24) {
- if(getMinute() != 0) {
- return false;
- } else if (getSecond() != 0) {
- return false;
- }
+ if (hour == 24 && (minute != 0 || second != 0 ||
+ (fractionalSecond != null && fractionalSecond.compareTo(DECIMAL_ZERO) != 0))) {
+ return false;
}
// XML Schema 1.0 specification defines year value of zero as
// invalid. Allow this class to set year field to zero
// since XML Schema 1.0 errata states that lexical zero will
// be allowed in next version and treated as 1 B.C.E.
- if (eon == null) {
- // optimize check.
- if (year == 0) {
- return false;
- }
- } else {
- BigInteger yearField = getEonAndYear();
- if (yearField != null) {
- int result = compareField(yearField, BigInteger.ZERO);
- if (result == DatatypeConstants.EQUAL) {
- return false;
- }
- }
+ if (eon == null && year == 0) {
+ return false;
}
return true;
}
@@ -2213,7 +2245,7 @@
int quotient;
if (endMonth < 0) {
endMonth = (13 - 1) + endMonth + 1;
- quotient = new BigDecimal(intTemp - 1).divide(new BigDecimal(TWELVE), BigDecimal.ROUND_UP).intValue();
+ quotient = BigDecimal.valueOf(intTemp - 1).divide(new BigDecimal(TWELVE), BigDecimal.ROUND_UP).intValue();
} else {
quotient = (intTemp - 1) / (13 - 1);
endMonth += 1;
@@ -2259,18 +2291,20 @@
private static final BigInteger SIXTY = BigInteger.valueOf(60);
private static final BigInteger TWENTY_FOUR = BigInteger.valueOf(24);
private static final BigInteger TWELVE = BigInteger.valueOf(12);
- private static final BigDecimal DECIMAL_ZERO = new BigDecimal("0");
- private static final BigDecimal DECIMAL_ONE = new BigDecimal("1");
- private static final BigDecimal DECIMAL_SIXTY = new BigDecimal("60");
+ private static final BigDecimal DECIMAL_ZERO = BigDecimal.valueOf(0);
+ private static final BigDecimal DECIMAL_ONE = BigDecimal.valueOf(1);
+ private static final BigDecimal DECIMAL_SIXTY = BigDecimal.valueOf(60);
- private static int daysInMonth[] = { 0, // XML Schema months start at 1.
- 31, 28, 31, 30, 31, 30,
- 31, 31, 30, 31, 30, 31};
+ private static class DaysInMonth {
+ private static final int [] table = { 0, // XML Schema months start at 1.
+ 31, 28, 31, 30, 31, 30,
+ 31, 31, 30, 31, 30, 31};
+ }
private static int maximumDayInMonthFor(BigInteger year, int month) {
if (month != DatatypeConstants.FEBRUARY) {
- return daysInMonth[month];
+ return DaysInMonth.table[month];
} else {
if (year.mod(FOUR_HUNDRED).equals(BigInteger.ZERO) ||
(!year.mod(HUNDRED).equals(BigInteger.ZERO) &&
@@ -2278,21 +2312,21 @@
// is a leap year.
return 29;
} else {
- return daysInMonth[month];
+ return DaysInMonth.table[month];
}
}
}
private static int maximumDayInMonthFor(int year, int month) {
if (month != DatatypeConstants.FEBRUARY) {
- return daysInMonth[month];
+ return DaysInMonth.table[month];
} else {
if (((year % 400) == 0) ||
(((year % 100) != 0) && ((year % 4) == 0))) {
// is a leap year.
return 29;
} else {
- return daysInMonth[DatatypeConstants.FEBRUARY];
+ return DaysInMonth.table[DatatypeConstants.FEBRUARY];
}
}
}
@@ -2404,10 +2438,16 @@
result.setGregorianChange(PURE_GREGORIAN_CHANGE);
// if year( and eon) are undefined, leave default Calendar values
- BigInteger year = getEonAndYear();
- if (year != null) {
- result.set(Calendar.ERA, year.signum() == -1 ? GregorianCalendar.BC : GregorianCalendar.AD);
- result.set(Calendar.YEAR, year.abs().intValue());
+ if (year != DatatypeConstants.FIELD_UNDEFINED) {
+ if (eon == null) {
+ result.set(Calendar.ERA, year < 0 ? GregorianCalendar.BC : GregorianCalendar.AD);
+ result.set(Calendar.YEAR, Math.abs(year));
+ }
+ else {
+ BigInteger eonAndYear = getEonAndYear();
+ result.set(Calendar.ERA, eonAndYear.signum() == -1 ? GregorianCalendar.BC : GregorianCalendar.AD);
+ result.set(Calendar.YEAR, eonAndYear.abs().intValue());
+ }
}
// only set month if it is set
@@ -2543,16 +2583,31 @@
result.setGregorianChange(PURE_GREGORIAN_CHANGE);
// if year( and eon) are undefined, leave default Calendar values
- BigInteger year = getEonAndYear();
- if (year != null) {
- result.set(Calendar.ERA, year.signum() == -1 ? GregorianCalendar.BC : GregorianCalendar.AD);
- result.set(Calendar.YEAR, year.abs().intValue());
+ if (year != DatatypeConstants.FIELD_UNDEFINED) {
+ if (eon == null) {
+ result.set(Calendar.ERA, year < 0 ? GregorianCalendar.BC : GregorianCalendar.AD);
+ result.set(Calendar.YEAR, Math.abs(year));
+ }
+ else {
+ final BigInteger eonAndYear = getEonAndYear();
+ result.set(Calendar.ERA, eonAndYear.signum() == -1 ? GregorianCalendar.BC : GregorianCalendar.AD);
+ result.set(Calendar.YEAR, eonAndYear.abs().intValue());
+ }
} else {
// use default if set
- BigInteger defaultYear = (defaults != null) ? defaults.getEonAndYear() : null;
- if (defaultYear != null) {
- result.set(Calendar.ERA, defaultYear.signum() == -1 ? GregorianCalendar.BC : GregorianCalendar.AD);
- result.set(Calendar.YEAR, defaultYear.abs().intValue());
+ if (defaults != null) {
+ final int defaultYear = defaults.getYear();
+ if (defaultYear != DatatypeConstants.FIELD_UNDEFINED) {
+ if (defaults.getEon() == null) {
+ result.set(Calendar.ERA, defaultYear < 0 ? GregorianCalendar.BC : GregorianCalendar.AD);
+ result.set(Calendar.YEAR, Math.abs(defaultYear));
+ }
+ else {
+ final BigInteger defaultEonAndYear = defaults.getEonAndYear();
+ result.set(Calendar.ERA, defaultEonAndYear.signum() == -1 ? GregorianCalendar.BC : GregorianCalendar.AD);
+ result.set(Calendar.YEAR, defaultEonAndYear.abs().intValue());
+ }
+ }
}
}
@@ -2562,7 +2617,7 @@
result.set(Calendar.MONTH, month - 1);
} else {
// use default if set
- int defaultMonth = (defaults != null) ? defaults.getMonth() : DatatypeConstants.FIELD_UNDEFINED;
+ final int defaultMonth = (defaults != null) ? defaults.getMonth() : DatatypeConstants.FIELD_UNDEFINED;
if (defaultMonth != DatatypeConstants.FIELD_UNDEFINED) {
// Calendar.MONTH is zero based while XMLGregorianCalendar month field is not.
result.set(Calendar.MONTH, defaultMonth - 1);
@@ -2574,7 +2629,7 @@
result.set(Calendar.DAY_OF_MONTH, day);
} else {
// use default if set
- int defaultDay = (defaults != null) ? defaults.getDay() : DatatypeConstants.FIELD_UNDEFINED;
+ final int defaultDay = (defaults != null) ? defaults.getDay() : DatatypeConstants.FIELD_UNDEFINED;
if (defaultDay != DatatypeConstants.FIELD_UNDEFINED) {
result.set(Calendar.DAY_OF_MONTH, defaultDay);
}
@@ -2596,7 +2651,7 @@
result.set(Calendar.MINUTE, minute);
} else {
// use default if set
- int defaultMinute = (defaults != null) ? defaults.getMinute() : DatatypeConstants.FIELD_UNDEFINED;
+ final int defaultMinute = (defaults != null) ? defaults.getMinute() : DatatypeConstants.FIELD_UNDEFINED;
if (defaultMinute != DatatypeConstants.FIELD_UNDEFINED) {
result.set(Calendar.MINUTE, defaultMinute);
}
@@ -2607,7 +2662,7 @@
result.set(Calendar.SECOND, second);
} else {
// use default if set
- int defaultSecond = (defaults != null) ? defaults.getSecond() : DatatypeConstants.FIELD_UNDEFINED;
+ final int defaultSecond = (defaults != null) ? defaults.getSecond() : DatatypeConstants.FIELD_UNDEFINED;
if (defaultSecond != DatatypeConstants.FIELD_UNDEFINED) {
result.set(Calendar.SECOND, defaultSecond);
}
@@ -2618,7 +2673,7 @@
result.set(Calendar.MILLISECOND, getMillisecond());
} else {
// use default if set
- BigDecimal defaultFractionalSecond = (defaults != null) ? defaults.getFractionalSecond() : null;
+ final BigDecimal defaultFractionalSecond = (defaults != null) ? defaults.getFractionalSecond() : null;
if (defaultFractionalSecond != null) {
result.set(Calendar.MILLISECOND, defaults.getMillisecond());
}
@@ -2671,6 +2726,9 @@
customTimezoneId.append(sign);
customTimezoneId.append(hour);
if (minutes != 0) {
+ if (minutes < 10) {
+ customTimezoneId.append('0');
+ }
customTimezoneId.append(minutes);
}
result = TimeZone.getTimeZone(customTimezoneId.toString());
@@ -2718,7 +2776,7 @@
if(millisecond<0 || 999<millisecond)
if(millisecond!=DatatypeConstants.FIELD_UNDEFINED)
invalidFieldValue(MILLISECOND, millisecond);
- fractionalSecond = new BigDecimal((long) millisecond).movePointLeft(3);
+ fractionalSecond = BigDecimal.valueOf(millisecond, 3);
}
}
@@ -2770,7 +2828,7 @@
// seen meta character. we don't do error check against the format
switch (format.charAt(fidx++)) {
case 'Y' : // year
- parseAndSetYear(4);
+ parseYear();
break;
case 'M' : // month
@@ -2851,7 +2909,7 @@
int n = 0;
char ch;
int vstart = vidx;
- while (isDigit(ch=peek()) && (vidx - vstart) <= maxDigits) {
+ while (isDigit(ch=peek()) && (vidx - vstart) < maxDigits) {
vidx++;
n = n*10 + ch-'0';
}
@@ -2863,38 +2921,30 @@
return n;
}
- private void parseAndSetYear(int minDigits)
- throws IllegalArgumentException {
+ private void parseYear()
+ throws IllegalArgumentException {
int vstart = vidx;
- int n = 0;
- boolean neg = false;
+ int sign = 0;
// skip leading negative, if it exists
if (peek() == '-') {
vidx++;
- neg = true;
+ sign = 1;
}
- while(true) {
- char ch = peek();
- if(!isDigit(ch))
- break;
+ while (isDigit(peek())) {
vidx++;
- n = n*10 + ch-'0';
}
-
- if ((vidx - vstart) < minDigits) {
+ final int digits = vidx - vstart - sign;
+ if (digits < 4) {
// we are expecting more digits
throw new IllegalArgumentException(value); //,vidx);
}
-
- if(vidx-vstart<7) {
- // definitely int only. I don't know the exact # of digits that can be in int,
- // but as long as we can catch (0-9999) range, that should be enough.
- if(neg) n = -n;
- year = n;
- eon = null;
- } else {
- setYear(new BigInteger(value.substring(vstart, vidx)));
+ final String yearString = value.substring(vstart, vidx);
+ if (digits < 10) {
+ setYear(Integer.parseInt(yearString));
+ }
+ else {
+ setYear(new BigInteger(yearString));
}
}
@@ -2922,150 +2972,123 @@
* Prints this object according to the format specification.
*
* <p>
- * I wrote a custom format method for a particular format string to
- * see if it improves the performance, but it didn't. So this interpreting
- * approach isn't too bad.
- *
- * <p>
* StringBuffer -> StringBuilder change had a very visible impact.
- * It almost cut the execution time to half, but unfortunately we can't use it
- * because we need to run on JDK 1.3
+ * It almost cut the execution time to half.
+ * Diff from Xerces:
+ * Xerces use StringBuffer due to the requirement to support
+ * JDKs older than JDK 1.5
*/
private String format( String format ) {
- char[] buf = new char[32];
- int bufPtr = 0;
-
+ StringBuilder buf = new StringBuilder();
int fidx=0,flen=format.length();
while(fidx<flen) {
char fch = format.charAt(fidx++);
if(fch!='%') {// not a meta char
- buf[bufPtr++] = fch;
+ buf.append(fch);
continue;
}
switch(format.charAt(fidx++)) {
- case 'Y':
- if(eon==null) {
- // optimized path
- int y = getYear();
- if(y<0) {
- buf[bufPtr++] = '-';
- y = -y;
- }
- bufPtr = print4Number(buf,bufPtr,y);
- } else {
- String s = getEonAndYear().toString();
- // reallocate the buffer now so that it has enough space
- char[] n = new char[buf.length+s.length()];
- System.arraycopy(buf,0,n,0,bufPtr);
- buf = n;
- for(int i=s.length();i<4;i++)
- buf[bufPtr++] = '0';
- s.getChars(0,s.length(),buf,bufPtr);
- bufPtr += s.length();
- }
- break;
- case 'M':
- bufPtr = print2Number(buf,bufPtr,getMonth());
- break;
- case 'D':
- bufPtr = print2Number(buf,bufPtr,getDay());
- break;
- case 'h':
- bufPtr = print2Number(buf,bufPtr,getHour());
- break;
- case 'm':
- bufPtr = print2Number(buf,bufPtr,getMinute());
- break;
- case 's':
- bufPtr = print2Number(buf,bufPtr,getSecond());
- if (getFractionalSecond() != null) {
- // Note: toPlainString() isn't available before Java 1.5
- String frac = getFractionalSecond().toString();
-
- int pos = frac.indexOf("E-");
- if (pos >= 0) {
- String zeros = frac.substring(pos+2);
- frac = frac.substring(0,pos);
- pos = frac.indexOf(".");
- if (pos >= 0) {
- frac = frac.substring(0,pos) + frac.substring(pos+1);
+ case 'Y':
+ if (eon == null) {
+ int absYear = year;
+ if (absYear < 0) {
+ buf.append('-');
+ absYear = -year;
}
- int count = Integer.parseInt(zeros);
- if (count < 40) {
- frac = "00000000000000000000000000000000000000000".substring(0,count-1) + frac;
- } else {
- // do it the hard way
- while (count > 1) {
- frac = "0" + frac;
- count--;
- }
+ printNumber(buf, absYear, 4);
+ }
+ else {
+ printNumber(buf, getEonAndYear(), 4);
+ }
+ break;
+ case 'M':
+ printNumber(buf,getMonth(),2);
+ break;
+ case 'D':
+ printNumber(buf,getDay(),2);
+ break;
+ case 'h':
+ printNumber(buf,getHour(),2);
+ break;
+ case 'm':
+ printNumber(buf,getMinute(),2);
+ break;
+ case 's':
+ printNumber(buf,getSecond(),2);
+ if (getFractionalSecond() != null) {
+ //Xerces uses a custom method toString instead of
+ //toPlainString() since it needs to support JDKs older than 1.5
+ String frac = getFractionalSecond().toPlainString();
+ //skip leading zero.
+ buf.append(frac.substring(1, frac.length()));
+ }
+ break;
+ case 'z':
+ int offset = getTimezone();
+ if (offset == 0) {
+ buf.append('Z');
+ }
+ else if (offset != DatatypeConstants.FIELD_UNDEFINED) {
+ if (offset < 0) {
+ buf.append('-');
+ offset *= -1;
}
- frac = "0." + frac;
+ else {
+ buf.append('+');
+ }
+ printNumber(buf,offset/60,2);
+ buf.append(':');
+ printNumber(buf,offset%60,2);
}
-
- // reallocate the buffer now so that it has enough space
- char[] n = new char[buf.length+frac.length()];
- System.arraycopy(buf,0,n,0,bufPtr);
- buf = n;
- //skip leading zero.
- frac.getChars(1, frac.length(), buf, bufPtr);
- bufPtr += frac.length()-1;
- }
- break;
- case 'z':
- int offset = getTimezone();
- if (offset == 0) {
- buf[bufPtr++] = 'Z';
- } else
- if (offset != DatatypeConstants.FIELD_UNDEFINED) {
- if (offset < 0) {
- buf[bufPtr++] = '-';
- offset *= -1;
- } else {
- buf[bufPtr++] = '+';
- }
- bufPtr = print2Number(buf, bufPtr, offset / 60);
- buf[bufPtr++] = ':';
- bufPtr = print2Number(buf, bufPtr, offset % 60);
- }
- break;
- default:
- throw new InternalError(); // impossible
+ break;
+ default:
+ throw new InternalError(); // impossible
}
}
- return new String(buf,0,bufPtr);
+ return buf.toString();
}
/**
- * Prints an int as two digits into the buffer.
+ * Prints an integer as a String.
*
+ * @param out
+ * The formatted string will be appended into this buffer.
* @param number
- * Number to be printed. Must be positive.
+ * The integer to be printed.
+ * @param nDigits
+ * The field will be printed by using at least this
+ * number of digits. For example, 5 will be printed as "0005"
+ * if nDigits==4.
*/
- private int print2Number( char[] out, int bufptr, int number ) {
- out[bufptr++] = (char) ('0'+(number/10));
- out[bufptr++] = (char) ('0'+(number%10));
- return bufptr;
+ private void printNumber( StringBuilder out, int number, int nDigits ) {
+ String s = String.valueOf(number);
+ for (int i = s.length(); i < nDigits; i++) {
+ out.append('0');
+ }
+ out.append(s);
}
/**
- * Prints an int as four digits into the buffer.
+ * Prints an BigInteger as a String.
*
+ * @param out
+ * The formatted string will be appended into this buffer.
* @param number
- * Number to be printed. Must be positive.
+ * The integer to be printed.
+ * @param nDigits
+ * The field will be printed by using at least this
+ * number of digits. For example, 5 will be printed as "0005"
+ * if nDigits==4.
*/
- private int print4Number( char[] out, int bufptr, int number ) {
- out[bufptr+3] = (char) ('0'+(number%10));
- number /= 10;
- out[bufptr+2] = (char) ('0'+(number%10));
- number /= 10;
- out[bufptr+1] = (char) ('0'+(number%10));
- number /= 10;
- out[bufptr ] = (char) ('0'+(number%10));
- return bufptr+4;
+ private void printNumber( StringBuilder out, BigInteger number, int nDigits) {
+ String s = number.toString();
+ for (int i=s.length(); i < nDigits; i++) {
+ out.append('0');
+ }
+ out.append(s);
}
/**
@@ -3085,6 +3108,26 @@
* with the creation of new <code>XMLGregorianCalendar</code>s.</p>
*/
public void reset() {
- //PENDING : Implementation of reset method
+ eon = orig_eon;
+ year = orig_year;
+ month = orig_month;
+ day = orig_day;
+ hour = orig_hour;
+ minute = orig_minute;
+ second = orig_second;
+ fractionalSecond = orig_fracSeconds;
+ timezone = orig_timezone;
}
+
+ /** Deserialize Calendar. */
+ private void readObject(ObjectInputStream ois)
+ throws ClassNotFoundException, IOException {
+
+ // perform default deseralization
+ ois.defaultReadObject();
+
+ // initialize orig_* fields
+ save();
+
+ } // readObject(ObjectInputStream)
}
diff --git a/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java b/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java
index c4fe27e..8b083a3 100644
--- a/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/util/EncodingMap.java
@@ -3,11 +3,12 @@
* DO NOT REMOVE OR ALTER!
*/
/*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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.apache.org/licenses/LICENSE-2.0
*
@@ -469,6 +470,7 @@
* @author TAMURA Kent, IBM
* @author Andy Clark, IBM
*
+ * @version $Id$
*/
public class EncodingMap {
@@ -907,16 +909,16 @@
fJava2IANAMap.put("CP918", "EBCDIC-CP-AR2");
fJava2IANAMap.put("CP924", "IBM00924");
fJava2IANAMap.put("CP1026", "IBM1026");
- fJava2IANAMap.put("Cp01140", "IBM01140");
- fJava2IANAMap.put("Cp01141", "IBM01141");
- fJava2IANAMap.put("Cp01142", "IBM01142");
- fJava2IANAMap.put("Cp01143", "IBM01143");
- fJava2IANAMap.put("Cp01144", "IBM01144");
- fJava2IANAMap.put("Cp01145", "IBM01145");
- fJava2IANAMap.put("Cp01146", "IBM01146");
- fJava2IANAMap.put("Cp01147", "IBM01147");
- fJava2IANAMap.put("Cp01148", "IBM01148");
- fJava2IANAMap.put("Cp01149", "IBM01149");
+ fJava2IANAMap.put("CP1140", "IBM01140");
+ fJava2IANAMap.put("CP1141", "IBM01141");
+ fJava2IANAMap.put("CP1142", "IBM01142");
+ fJava2IANAMap.put("CP1143", "IBM01143");
+ fJava2IANAMap.put("CP1144", "IBM01144");
+ fJava2IANAMap.put("CP1145", "IBM01145");
+ fJava2IANAMap.put("CP1146", "IBM01146");
+ fJava2IANAMap.put("CP1147", "IBM01147");
+ fJava2IANAMap.put("CP1148", "IBM01148");
+ fJava2IANAMap.put("CP1149", "IBM01149");
fJava2IANAMap.put("EUCJIS", "EUC-JP");
fJava2IANAMap.put("KS_C_5601-1987", "KS_C_5601-1987");
fJava2IANAMap.put("GB2312", "GB2312");
diff --git a/jaxws/.hgtags b/jaxws/.hgtags
index a6c41cf..8e843fe 100644
--- a/jaxws/.hgtags
+++ b/jaxws/.hgtags
@@ -248,3 +248,4 @@
32050ab53c8a8e4cb09f04b88db78258a480fb61 jdk9-b00
9c9fabbcd3d526d7ca29165169155f49a107533a jdk9-b01
efe2bc258c78af49de9517a4a5699d3a2e630c44 jdk9-b02
+1cd9786257ed4f82a3371fd606b162e5bb6fcd81 jdk9-b03
diff --git a/jaxws/THIRD_PARTY_README b/jaxws/THIRD_PARTY_README
index ee5463a..a93b35b 100644
--- a/jaxws/THIRD_PARTY_README
+++ b/jaxws/THIRD_PARTY_README
@@ -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.
+form with the JDK 8 and OpenJDK 8 source distributions, and as object code in
+the JRE 8 & JDK 8 runtimes.
-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.
+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:
+%% 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 Derby 10.8.1.2 [included with JDK 7 only]
+ 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 ---
diff --git a/jdk/.hgtags b/jdk/.hgtags
index 5a7ffba..950784a 100644
--- a/jdk/.hgtags
+++ b/jdk/.hgtags
@@ -245,3 +245,4 @@
27b384262cba51dd0fe3e3534820189b46abc8cb jdk9-b00
3b4ac8d1b76fc6bec9815f0ab714f15b552e4c7b jdk9-b01
8c8275426a3207d91393354f7a7f9bc362ec25cf jdk9-b02
+4111af6151ed8ca8e3f5603c69729a68427e1d5b jdk9-b03
diff --git a/jdk/THIRD_PARTY_README b/jdk/THIRD_PARTY_README
index 6dc1b33..a93b35b 100644
--- a/jdk/THIRD_PARTY_README
+++ b/jdk/THIRD_PARTY_README
@@ -2,11 +2,12 @@
-----------------------------
%% This notice is provided with respect to ASM Bytecode Manipulation
-Framework v4.0, which is included with JRE 8, and JDK 8.
+Framework v5.0, which may be included with JRE 8, and JDK 8, and
+OpenJDK 8.
--- begin of LICENSE ---
-Copyright (c) 2000-2011 France Télécom
+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.
+form with the JDK 8 and OpenJDK 8 source distributions, and as object code in
+the JRE 8 & JDK 8 runtimes.
-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.
+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:
+%% 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 Derby 10.8.1.2 [included with JDK 7 only]
+ 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 ---
@@ -3383,397 +3603,3 @@
-------------------------------------------------------------------------------
-%% 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 ---
-
--------------------------------------------------------------------------------
-
diff --git a/jdk/make/BuildJdk.gmk b/jdk/make/BuildJdk.gmk
index eeb4a53..ac6d919 100644
--- a/jdk/make/BuildJdk.gmk
+++ b/jdk/make/BuildJdk.gmk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1995, 2014, 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
@@ -42,8 +42,8 @@
# Include Profile information
include ProfileNames.gmk
-# Include the corresponding custom file, if present.
--include $(CUSTOM_MAKE_DIR)/BuildJdk.gmk
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, BuildJdk.gmk))
import: import-only
import-only:
diff --git a/jdk/make/Bundles.gmk b/jdk/make/Bundles.gmk
index 6d0cbe5..15538f0 100644
--- a/jdk/make/Bundles.gmk
+++ b/jdk/make/Bundles.gmk
@@ -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
diff --git a/jdk/make/CompileJavaClasses.gmk b/jdk/make/CompileJavaClasses.gmk
index 5a725b5..d8809a9 100644
--- a/jdk/make/CompileJavaClasses.gmk
+++ b/jdk/make/CompileJavaClasses.gmk
@@ -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
@@ -44,6 +44,10 @@
com/sun/tools/example/debug/event \
com/sun/tools/example/debug/gui
+ifeq ($(RMICONNECTOR_IIOP), false)
+ EXCLUDES += com/sun/jmx/remote/protocol/iiop
+endif
+
ifdef OPENJDK
EXCLUDES += sun/dc \
com/sun/jmx/snmp \
@@ -96,8 +100,6 @@
EXCLUDES += com/oracle/security
endif
-EXFILES += WrapperGenerator.java
-
ifneq ($(OPENJDK_TARGET_OS), windows)
# Exclude Window security related files in src/share/classes
EXFILES += NTLoginModule.java \
@@ -235,11 +237,6 @@
EXFILES += sun/nio/fs/PollingWatchService.java
endif
-# TODO: Fix when converting NIO
-# Exclude *-linux-arm.java and *-linux-ppc.java from closed.
-EXFILES += -linux-arm.java \
- -linux-ppc.java
-
ifeq ($(OPENJDK_TARGET_OS), windows)
EXFILES += sun/nio/ch/AbstractPollSelectorImpl.java \
sun/nio/ch/PollSelectorProvider.java \
diff --git a/jdk/make/CompileLaunchers.gmk b/jdk/make/CompileLaunchers.gmk
index 1757785f..8179eb8 100644
--- a/jdk/make/CompileLaunchers.gmk
+++ b/jdk/make/CompileLaunchers.gmk
@@ -159,7 +159,6 @@
-DFULL_VERSION='"$(FULL_VERSION)"' \
-DJDK_MAJOR_VERSION='"$(JDK_MAJOR_VERSION)"' \
-DJDK_MINOR_VERSION='"$(JDK_MINOR_VERSION)"' \
- -DLIBARCHNAME='"$(OPENJDK_TARGET_CPU_LEGACY)"' \
-DLAUNCHER_NAME='"$(LAUNCHER_NAME)"' \
-DPROGNAME='"$1"' $(DPACKAGEPATH) \
$2, \
diff --git a/jdk/make/CopyFiles.gmk b/jdk/make/CopyFiles.gmk
index 0ac509c..9fba2dd 100644
--- a/jdk/make/CopyFiles.gmk
+++ b/jdk/make/CopyFiles.gmk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -570,4 +570,5 @@
##########################################################################################
--include $(CUSTOM_MAKE_DIR)/CopyFiles.gmk
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, CopyFiles.gmk))
diff --git a/jdk/make/CopyIntoClasses.gmk b/jdk/make/CopyIntoClasses.gmk
index c57cc1d..d46363c 100644
--- a/jdk/make/CopyIntoClasses.gmk
+++ b/jdk/make/CopyIntoClasses.gmk
@@ -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
diff --git a/jdk/make/CopySamples.gmk b/jdk/make/CopySamples.gmk
index 10d084a..3a25232 100644
--- a/jdk/make/CopySamples.gmk
+++ b/jdk/make/CopySamples.gmk
@@ -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
diff --git a/jdk/make/CreateJars.gmk b/jdk/make/CreateJars.gmk
index 22f0b3b..cda4777 100644
--- a/jdk/make/CreateJars.gmk
+++ b/jdk/make/CreateJars.gmk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -745,7 +745,8 @@
##########################################################################################
--include $(CUSTOM_MAKE_DIR)/CreateJars.gmk
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, CreateJars.gmk))
##########################################################################################
diff --git a/jdk/make/GenerateClasses.gmk b/jdk/make/GenerateClasses.gmk
index 1503c0b..1ae80cd 100644
--- a/jdk/make/GenerateClasses.gmk
+++ b/jdk/make/GenerateClasses.gmk
@@ -89,21 +89,25 @@
# For RMI/IIOP call rmic a second time with -standardPackage option
# so that *_tie classes are generated in package without the prefix
# org.omg.stub (6375696)
-JMAN_RMI_CLASSES := javax.management.remote.rmi.RMIConnectionImpl \
+JMX_RMI_CLASSES := javax.management.remote.rmi.RMIConnectionImpl \
javax.management.remote.rmi.RMIServerImpl
+GENRMIIIOPCLASSES :=
+ifneq ($(RMICONNECTOR_IIOP), false)
+ GENRMIIIOPCLASSES := $(RMICONNECTOR_IIOP)
+endif
$(eval $(call SetupRMICompilation,RMI_IIOP, \
- CLASSES := $(JMAN_RMI_CLASSES), \
+ CLASSES := $(JMX_RMI_CLASSES), \
CLASSES_DIR := $(CLASSES_DIR), \
STUB_CLASSES_DIR := $(STUB_CLASSES_DIR), \
RUN_V12 := true, \
- RUN_IIOP := true, \
- RUN_IIOP_STDPKG := true))
+ RUN_IIOP := $(GENRMIIIOPCLASSES), \
+ RUN_IIOP_STDPKG := $(GENRMIIIOPCLASSES)))
GENCLASSES += $(RMI_IIOP)
# Keep generated RMI/JRMP Stub source files and copy them to RMIC_GENSRC_DIR
# so that javadoc can include them in the API (4997471)
$(eval $(call SetupRMICompilation,RMI_SRC, \
- CLASSES := $(JMAN_RMI_CLASSES), \
+ CLASSES := $(JMX_RMI_CLASSES), \
CLASSES_DIR := $(CLASSES_DIR), \
STUB_CLASSES_DIR := $(RMIC_GENSRC_DIR), \
RUN_V12 := true, \
diff --git a/jdk/make/GenerateData.gmk b/jdk/make/GenerateData.gmk
index 4411440..28faec4 100644
--- a/jdk/make/GenerateData.gmk
+++ b/jdk/make/GenerateData.gmk
@@ -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
@@ -64,7 +64,7 @@
GENDATA_CURDATA := $(JDK_OUTPUTDIR)/lib/currency.data
-$(GENDATA_CURDATA): $(JDK_TOPDIR)/src/share/classes/java/util/CurrencyData.properties $(BUILD_TOOLS)
+$(GENDATA_CURDATA): $(JDK_TOPDIR)/make/data/currency/CurrencyData.properties $(BUILD_TOOLS)
$(MKDIR) -p $(@D)
$(RM) $@
$(TOOL_GENERATECURRENCYDATA) -o $@.tmp < $<
diff --git a/jdk/make/Images.gmk b/jdk/make/Images.gmk
index 4406a72..f5ca8a1 100644
--- a/jdk/make/Images.gmk
+++ b/jdk/make/Images.gmk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -783,4 +783,5 @@
.PHONY: default images jre-image jdk-image
--include $(CUSTOM_MAKE_DIR)/Images.gmk
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, Images.gmk))
diff --git a/jdk/make/Makefile b/jdk/make/Makefile
index 4570070..ce3a333 100644
--- a/jdk/make/Makefile
+++ b/jdk/make/Makefile
@@ -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
diff --git a/jdk/make/Tools.gmk b/jdk/make/Tools.gmk
index 661bf3e..52a843b 100644
--- a/jdk/make/Tools.gmk
+++ b/jdk/make/Tools.gmk
@@ -26,17 +26,11 @@
# Cache all finds needed for this file. Only used on windows.
$(eval $(call FillCacheFind, $(JDK_TOPDIR)/make/src/classes))
-TOOLS_SRC := $(JDK_TOPDIR)/make/src/classes
-
-ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
- TOOLS_SRC += $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator
-endif
-
# The exception handling of swing beaninfo which have the own tool directory
ifeq (, $(BUILD_TOOLS))
$(eval $(call SetupJavaCompilation,BUILD_TOOLS, \
SETUP := GENERATE_OLDBYTECODE, \
- SRC := $(TOOLS_SRC), \
+ SRC := $(JDK_TOPDIR)/make/src/classes, \
BIN := $(JDK_OUTPUTDIR)/btclasses))
endif
@@ -111,7 +105,7 @@
build.tools.generatenimbus.Generator
TOOL_WRAPPERGENERATOR = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \
- WrapperGenerator
+ build.tools.x11wrappergen.WrapperGenerator
TOOL_AWT_TOBIN = $(JAVA) -Djava.awt.headless=true -cp $(JDK_OUTPUTDIR)/btclasses \
build.tools.icondata.awt.ToBin
diff --git a/jdk/make/data/characterdata/CharacterData00.java.template b/jdk/make/data/characterdata/CharacterData00.java.template
index c767199..1045515 100644
--- a/jdk/make/data/characterdata/CharacterData00.java.template
+++ b/jdk/make/data/characterdata/CharacterData00.java.template
@@ -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
diff --git a/jdk/make/data/characterdata/CharacterData01.java.template b/jdk/make/data/characterdata/CharacterData01.java.template
index 44bd980..3bfe26f 100644
--- a/jdk/make/data/characterdata/CharacterData01.java.template
+++ b/jdk/make/data/characterdata/CharacterData01.java.template
@@ -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
diff --git a/jdk/make/data/characterdata/CharacterData02.java.template b/jdk/make/data/characterdata/CharacterData02.java.template
index 01461f5..ea50e8f 100644
--- a/jdk/make/data/characterdata/CharacterData02.java.template
+++ b/jdk/make/data/characterdata/CharacterData02.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/make/data/characterdata/CharacterData0E.java.template b/jdk/make/data/characterdata/CharacterData0E.java.template
index a39c3e0..7b27d64 100644
--- a/jdk/make/data/characterdata/CharacterData0E.java.template
+++ b/jdk/make/data/characterdata/CharacterData0E.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/make/data/characterdata/CharacterDataLatin1.java.template b/jdk/make/data/characterdata/CharacterDataLatin1.java.template
index b681b42..23e672b 100644
--- a/jdk/make/data/characterdata/CharacterDataLatin1.java.template
+++ b/jdk/make/data/characterdata/CharacterDataLatin1.java.template
@@ -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
diff --git a/jdk/make/data/characterdata/CharacterDataPrivateUse.java.template b/jdk/make/data/characterdata/CharacterDataPrivateUse.java.template
index 35c1e5d..3caf6f5 100644
--- a/jdk/make/data/characterdata/CharacterDataPrivateUse.java.template
+++ b/jdk/make/data/characterdata/CharacterDataPrivateUse.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/make/data/characterdata/CharacterDataUndefined.java.template b/jdk/make/data/characterdata/CharacterDataUndefined.java.template
index c974f5d..41360e6 100644
--- a/jdk/make/data/characterdata/CharacterDataUndefined.java.template
+++ b/jdk/make/data/characterdata/CharacterDataUndefined.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/make/data/charsetmapping/DoubleByte-X.java.template b/jdk/make/data/charsetmapping/DoubleByte-X.java.template
index 83bc105..17476e0 100644
--- a/jdk/make/data/charsetmapping/DoubleByte-X.java.template
+++ b/jdk/make/data/charsetmapping/DoubleByte-X.java.template
@@ -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
diff --git a/jdk/make/data/charsetmapping/SingleByte-X.java.template b/jdk/make/data/charsetmapping/SingleByte-X.java.template
index 6b6bbdc..82af052 100644
--- a/jdk/make/data/charsetmapping/SingleByte-X.java.template
+++ b/jdk/make/data/charsetmapping/SingleByte-X.java.template
@@ -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
diff --git a/jdk/src/share/classes/java/util/CurrencyData.properties b/jdk/make/data/currency/CurrencyData.properties
similarity index 100%
rename from jdk/src/share/classes/java/util/CurrencyData.properties
rename to jdk/make/data/currency/CurrencyData.properties
diff --git a/jdk/make/data/dtdbuilder/html32.dtd b/jdk/make/data/dtdbuilder/html32.dtd
index 7836208..0fb3b3b 100644
--- a/jdk/make/data/dtdbuilder/html32.dtd
+++ b/jdk/make/data/dtdbuilder/html32.dtd
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/aix/classes/sun/awt/fontconfigs/aix.fontconfig.properties b/jdk/make/data/fontconfig/aix.fontconfig.properties
similarity index 100%
rename from jdk/src/aix/classes/sun/awt/fontconfigs/aix.fontconfig.properties
rename to jdk/make/data/fontconfig/aix.fontconfig.properties
diff --git a/jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties b/jdk/make/data/fontconfig/bsd.fontconfig.properties
similarity index 98%
rename from jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties
rename to jdk/make/data/fontconfig/bsd.fontconfig.properties
index c430c16..bf0d456 100644
--- a/jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties
+++ b/jdk/make/data/fontconfig/bsd.fontconfig.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 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
diff --git a/jdk/src/macosx/classes/sun/awt/fontconfigs/macosx.fontconfig.properties b/jdk/make/data/fontconfig/macosx.fontconfig.properties
similarity index 98%
rename from jdk/src/macosx/classes/sun/awt/fontconfigs/macosx.fontconfig.properties
rename to jdk/make/data/fontconfig/macosx.fontconfig.properties
index 353a133..7e3c2fd 100644
--- a/jdk/src/macosx/classes/sun/awt/fontconfigs/macosx.fontconfig.properties
+++ b/jdk/make/data/fontconfig/macosx.fontconfig.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 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
diff --git a/jdk/src/solaris/classes/sun/awt/fontconfigs/solaris.fontconfig.properties b/jdk/make/data/fontconfig/solaris.fontconfig.properties
similarity index 100%
rename from jdk/src/solaris/classes/sun/awt/fontconfigs/solaris.fontconfig.properties
rename to jdk/make/data/fontconfig/solaris.fontconfig.properties
diff --git a/jdk/src/windows/classes/sun/awt/windows/fontconfig.properties b/jdk/make/data/fontconfig/windows.fontconfig.properties
similarity index 98%
rename from jdk/src/windows/classes/sun/awt/windows/fontconfig.properties
rename to jdk/make/data/fontconfig/windows.fontconfig.properties
index 2a43e6e..65a239a 100644
--- a/jdk/src/windows/classes/sun/awt/windows/fontconfig.properties
+++ b/jdk/make/data/fontconfig/windows.fontconfig.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2011, 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
diff --git a/jdk/make/data/jdwp/jdwp.spec b/jdk/make/data/jdwp/jdwp.spec
index 6078ae6..7ddbaf4 100644
--- a/jdk/make/data/jdwp/jdwp.spec
+++ b/jdk/make/data/jdwp/jdwp.spec
@@ -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
diff --git a/jdk/src/macosx/native/sun/osxapp/resource/icons/JavaApp.icns b/jdk/make/data/macosxicons/JavaApp.icns
similarity index 100%
rename from jdk/src/macosx/native/sun/osxapp/resource/icons/JavaApp.icns
rename to jdk/make/data/macosxicons/JavaApp.icns
Binary files differ
diff --git a/jdk/make/data/swingbeaninfo/SwingBeanInfo.template b/jdk/make/data/swingbeaninfo/SwingBeanInfo.template
index 84e3b29..1bfe545 100644
--- a/jdk/make/data/swingbeaninfo/SwingBeanInfo.template
+++ b/jdk/make/data/swingbeaninfo/SwingBeanInfo.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/make/data/swingbeaninfo/javax/swing/SwingBeanInfoBase.java b/jdk/make/data/swingbeaninfo/javax/swing/SwingBeanInfoBase.java
index 4c1fc65..08e5512 100644
--- a/jdk/make/data/swingbeaninfo/javax/swing/SwingBeanInfoBase.java
+++ b/jdk/make/data/swingbeaninfo/javax/swing/SwingBeanInfoBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
diff --git a/jdk/make/data/swingbeaninfo/sun/swing/BeanInfoUtils.java b/jdk/make/data/swingbeaninfo/sun/swing/BeanInfoUtils.java
index e4dda7a..fbcc299 100644
--- a/jdk/make/data/swingbeaninfo/sun/swing/BeanInfoUtils.java
+++ b/jdk/make/data/swingbeaninfo/sun/swing/BeanInfoUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/make/data/tzdata/gmt b/jdk/make/data/tzdata/gmt
index 0be3179..7685fda 100644
--- a/jdk/make/data/tzdata/gmt
+++ b/jdk/make/data/tzdata/gmt
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/make/data/tzdata/jdk11_backward b/jdk/make/data/tzdata/jdk11_backward
index 5404cea..c869b79 100644
--- a/jdk/make/data/tzdata/jdk11_backward
+++ b/jdk/make/data/tzdata/jdk11_backward
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/generator/functions.txt b/jdk/make/data/x11wrappergen/functions.txt
similarity index 100%
rename from jdk/src/solaris/classes/sun/awt/X11/generator/functions.txt
rename to jdk/make/data/x11wrappergen/functions.txt
diff --git a/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.32 b/jdk/make/data/x11wrappergen/sizes.32
similarity index 100%
rename from jdk/src/solaris/classes/sun/awt/X11/generator/sizes.32
rename to jdk/make/data/x11wrappergen/sizes.32
diff --git a/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64 b/jdk/make/data/x11wrappergen/sizes.64
similarity index 100%
rename from jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64
rename to jdk/make/data/x11wrappergen/sizes.64
diff --git a/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 b/jdk/make/data/x11wrappergen/sizes.64-solaris-i386
similarity index 100%
rename from jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386
rename to jdk/make/data/x11wrappergen/sizes.64-solaris-i386
diff --git a/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt b/jdk/make/data/x11wrappergen/xlibtypes.txt
similarity index 100%
rename from jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt
rename to jdk/make/data/x11wrappergen/xlibtypes.txt
diff --git a/jdk/make/gendata/GendataFontConfig.gmk b/jdk/make/gendata/GendataFontConfig.gmk
index 35b502d..5c85e77 100644
--- a/jdk/make/gendata/GendataFontConfig.gmk
+++ b/jdk/make/gendata/GendataFontConfig.gmk
@@ -25,72 +25,34 @@
GENDATA_FONT_CONFIG_DST := $(JDK_OUTPUTDIR)/lib
-ifeq ($(OPENJDK_TARGET_OS), windows)
- GENDATA_FONT_CONFIG_SRC_DIR := $(JDK_TOPDIR)/src/windows/classes/sun/awt/windows
- GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties
- GENDATA_FONT_CONFIG_SRC_PREFIX :=
-endif
-
-ifeq ($(OPENJDK_TARGET_OS), linux)
- GENDATA_FONT_CONFIG_SRC_PREFIX := linux.
- ifdef OPENJDK
- GENDATA_FONT_CONFIG_SRC_DIR := \
- $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
- # This is placeholder for possible fonconfig files which may
- # useful for some highly specialized Linux distributions
- GENDATA_FONT_CONFIG_SRC_FILES :=
- else
- GENDATA_FONT_CONFIG_SRC_DIR := \
- $(JDK_TOPDIR)/src/closed/solaris/classes/sun/awt/fontconfigs
- GENDATA_FONT_CONFIG_SRC_FILES := \
- fontconfig.properties \
- fontconfig.RedHat.5.properties \
- fontconfig.RedHat.6.properties \
- fontconfig.Turbo.properties \
- fontconfig.SuSE.10.properties \
- fontconfig.SuSE.11.properties
+GENDATA_FONT_CONFIG_DATA_DIR := $(JDK_TOPDIR)/make/data/fontconfig
+ifndef OPENJDK
+ ifeq ($(OPENJDK_TARGET_OS), linux)
+ GENDATA_FONT_CONFIG_DATA_DIR := $(JDK_TOPDIR)/make/closed/data/fontconfig
endif
endif
-ifeq ($(OPENJDK_TARGET_OS), solaris)
- GENDATA_FONT_CONFIG_SRC_DIR := \
- $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
- GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties
- GENDATA_FONT_CONFIG_SRC_PREFIX := solaris.
-endif
+GENDATA_FONT_CONFIG_SRC_FILES := \
+ $(wildcard $(GENDATA_FONT_CONFIG_DATA_DIR)/$(OPENJDK_TARGET_OS).*)
-ifeq ($(OPENJDK_TARGET_OS), macosx)
- GENDATA_FONT_CONFIG_SRC_DIR := \
- $(JDK_TOPDIR)/src/macosx/classes/sun/awt/fontconfigs
- GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties
- GENDATA_FONT_CONFIG_SRC_PREFIX := macosx.
-endif
-
-ifeq ($(OPENJDK_TARGET_OS), aix)
- GENDATA_FONT_CONFIG_SRC_DIR := \
- $(JDK_TOPDIR)/src/aix/classes/sun/awt/fontconfigs
- GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties
- GENDATA_FONT_CONFIG_SRC_PREFIX := aix.
-endif
-
-###
$(GENDATA_FONT_CONFIG_DST)/%.src: \
- $(GENDATA_FONT_CONFIG_SRC_DIR)/$(GENDATA_FONT_CONFIG_SRC_PREFIX)%
+ $(GENDATA_FONT_CONFIG_DATA_DIR)/$(OPENJDK_TARGET_OS).%
$(call install-file)
$(GENDATA_FONT_CONFIG_DST)/%.bfc: \
- $(GENDATA_FONT_CONFIG_SRC_DIR)/$(GENDATA_FONT_CONFIG_SRC_PREFIX)%.properties
+ $(GENDATA_FONT_CONFIG_DATA_DIR)/$(OPENJDK_TARGET_OS).%.properties \
+ $(BUILD_TOOLS)
$(MKDIR) -p $(@D)
$(RM) $@
$(TOOL_COMPILEFONTCONFIG) $< $@
$(CHMOD) 444 $@
-###
-GENDATA_FONT_CONFIGS := $(GENDATA_FONT_CONFIG_SRC_FILES:%=$(GENDATA_FONT_CONFIG_DST)/%.src)
-GENDATA_BFONT_CONFIGS := $(GENDATA_FONT_CONFIG_SRC_FILES:%.properties=$(GENDATA_FONT_CONFIG_DST)/%.bfc)
+GENDATA_FONT_CONFIGS := $(patsubst $(GENDATA_FONT_CONFIG_DATA_DIR)/$(OPENJDK_TARGET_OS).%, \
+ $(GENDATA_FONT_CONFIG_DST)/%.src, $(GENDATA_FONT_CONFIG_SRC_FILES))
+GENDATA_BFONT_CONFIGS := $(patsubst $(GENDATA_FONT_CONFIG_DATA_DIR)/$(OPENJDK_TARGET_OS).%.properties, \
+ $(GENDATA_FONT_CONFIG_DST)/%.bfc, $(GENDATA_FONT_CONFIG_SRC_FILES))
GENDATA_FONT_CONFIG := $(GENDATA_FONT_CONFIGS) $(GENDATA_BFONT_CONFIGS)
-###
diff --git a/jdk/make/gendata/GendataHtml32dtd.gmk b/jdk/make/gendata/GendataHtml32dtd.gmk
index efa596e..1bbf971 100644
--- a/jdk/make/gendata/GendataHtml32dtd.gmk
+++ b/jdk/make/gendata/GendataHtml32dtd.gmk
@@ -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
diff --git a/jdk/make/gensrc/GensrcBuffer.gmk b/jdk/make/gensrc/GensrcBuffer.gmk
index 1d0fe98..6033544 100644
--- a/jdk/make/gensrc/GensrcBuffer.gmk
+++ b/jdk/make/gensrc/GensrcBuffer.gmk
@@ -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
diff --git a/jdk/make/gensrc/GensrcCLDR.gmk b/jdk/make/gensrc/GensrcCLDR.gmk
index dd66f93..b3d197c 100644
--- a/jdk/make/gensrc/GensrcCLDR.gmk
+++ b/jdk/make/gensrc/GensrcCLDR.gmk
@@ -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
diff --git a/jdk/make/gensrc/GensrcCharacterData.gmk b/jdk/make/gensrc/GensrcCharacterData.gmk
index c52993a..d4d6e57 100644
--- a/jdk/make/gensrc/GensrcCharacterData.gmk
+++ b/jdk/make/gensrc/GensrcCharacterData.gmk
@@ -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
diff --git a/jdk/make/gensrc/GensrcCharsetCoder.gmk b/jdk/make/gensrc/GensrcCharsetCoder.gmk
index 524c76d..ac12967 100644
--- a/jdk/make/gensrc/GensrcCharsetCoder.gmk
+++ b/jdk/make/gensrc/GensrcCharsetCoder.gmk
@@ -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
diff --git a/jdk/make/gensrc/GensrcExceptions.gmk b/jdk/make/gensrc/GensrcExceptions.gmk
index e664dd8..e3164f5 100644
--- a/jdk/make/gensrc/GensrcExceptions.gmk
+++ b/jdk/make/gensrc/GensrcExceptions.gmk
@@ -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
@@ -43,13 +43,13 @@
###
-$(GENSRC_EXCEPTIONS_DST)/_the.%: $(GENSRC_EXCEPTIONS_SRC)/%/exceptions \
+$(GENSRC_EXCEPTIONS_DST)/_the.%.marker: $(GENSRC_EXCEPTIONS_SRC)/%/exceptions \
$(GENSRC_EXCEPTIONS_CMD) \
$(GENSRC_EXCEPTIONS_DST)/_the.exceptions.dir
$(MKDIR) -p $(@D)/$*
SCRIPTS="$(JDK_TOPDIR)/make/scripts" NAWK="$(NAWK)" SH="$(SH)" $(SH) $(GENSRC_EXCEPTIONS_CMD) $< $(@D)/$* $(LOG_INFO)
$(TOUCH) $@
-GENSRC_EXCEPTIONS += $(foreach D,$(GENSRC_EXCEPTIONS_SRC_DIRS),$(GENSRC_EXCEPTIONS_DST)/_the.$(D))
+GENSRC_EXCEPTIONS += $(foreach D,$(GENSRC_EXCEPTIONS_SRC_DIRS),$(GENSRC_EXCEPTIONS_DST)/_the.$(D).marker)
$(GENSRC_EXCEPTIONS): $(BUILD_TOOLS)
diff --git a/jdk/make/gensrc/GensrcIcons.gmk b/jdk/make/gensrc/GensrcIcons.gmk
index f0acc3e..0728a2d 100644
--- a/jdk/make/gensrc/GensrcIcons.gmk
+++ b/jdk/make/gensrc/GensrcIcons.gmk
@@ -109,17 +109,16 @@
ifeq ($(OPENJDK_TARGET_OS), macosx)
- GENSRC_OSX_ICONS_TMP := $(JDK_OUTPUTDIR)/gensrc
- GENSRC_OSX_ICONS_DST := $(GENSRC_OSX_ICONS_TMP)/sun/osxapp
+ GENSRC_OSX_ICONS_DST := $(JDK_OUTPUTDIR)/gensrc_headers_icons
GENSRC_OSX_ICONS := $(GENSRC_OSX_ICONS_DST)/AWTIconData.h
ifdef OPENJDK
- GENSRC_OSX_ICONS_SRC := $(JDK_TOPDIR)/src/macosx/native/sun/osxapp/resource/icons/JavaApp.icns
+ GENSRC_OSX_ICONS_SRC := $(JDK_TOPDIR)/make/data/macosxicons/JavaApp.icns
else
- GENSRC_OSX_ICONS_SRC := $(JDK_TOPDIR)/src/closed/macosx/native/sun/osxapp/resource/icons/JavaApp.icns
+ GENSRC_OSX_ICONS_SRC := $(JDK_TOPDIR)/make/closed/data/macosxicons/JavaApp.icns
endif
- $(GENSRC_OSX_ICONS_DST)/AWTIconData.h: $(GENSRC_OSX_ICONS_SRC)
+ $(GENSRC_OSX_ICONS): $(GENSRC_OSX_ICONS_SRC)
$(RM) $@ $@.tmp
$(MKDIR) -p $(dir $@)
$(ECHO) "static unsigned char sAWTIconData[] = { " >> $@.tmp
diff --git a/jdk/make/gensrc/GensrcJDWP.gmk b/jdk/make/gensrc/GensrcJDWP.gmk
index f429974..973602f 100644
--- a/jdk/make/gensrc/GensrcJDWP.gmk
+++ b/jdk/make/gensrc/GensrcJDWP.gmk
@@ -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
diff --git a/jdk/make/gensrc/GensrcLocaleDataMetaInfo.gmk b/jdk/make/gensrc/GensrcLocaleDataMetaInfo.gmk
index bf2e3a3..cb0ff6f 100644
--- a/jdk/make/gensrc/GensrcLocaleDataMetaInfo.gmk
+++ b/jdk/make/gensrc/GensrcLocaleDataMetaInfo.gmk
@@ -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
@@ -65,6 +65,13 @@
$1_EN_LOCALES := $$(filter $(EN_LOCALES), $$($1_LOCALES))
$1_NON_EN_LOCALES := $$(filter-out $(EN_LOCALES), $$($1_LOCALES))
+ # Special handling for Chinese locales to include implicit scripts
+ $1_NON_EN_LOCALES := $$(subst zh-CN,zh-CN$$(SPACE)zh-Hans-CN, $$($1_NON_EN_LOCALES))
+ $1_NON_EN_LOCALES := $$(subst zh-SG,zh-SG$$(SPACE)zh-Hans-SG, $$($1_NON_EN_LOCALES))
+ $1_NON_EN_LOCALES := $$(subst zh-HK,zh-HK$$(SPACE)zh-Hant-HK, $$($1_NON_EN_LOCALES))
+ $1_NON_EN_LOCALES := $$(subst zh-MO,zh-MO$$(SPACE)zh-Hant-MO, $$($1_NON_EN_LOCALES))
+ $1_NON_EN_LOCALES := $$(subst zh-TW,zh-TW$$(SPACE)zh-Hant-TW, $$($1_NON_EN_LOCALES))
+
ALL_EN_LOCALES += $$($1_EN_LOCALES)
ALL_NON_EN_LOCALES += $$($1_NON_EN_LOCALES)
diff --git a/jdk/make/gensrc/GensrcMisc.gmk b/jdk/make/gensrc/GensrcMisc.gmk
index adb8e85..f23e448 100644
--- a/jdk/make/gensrc/GensrcMisc.gmk
+++ b/jdk/make/gensrc/GensrcMisc.gmk
@@ -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
@@ -83,9 +83,9 @@
GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java
-GENSRC_SOR_SRC := $(JDK_TOPDIR)/src/share/native/sun/nio/ch
+GENSRC_SOR_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/ch
GENSRC_SOR_SRC_FILE := genSocketOptionRegistry.c
-GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/gensrc/genSocketOptionRegistry
+GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/btnative/genSocketOptionRegistry
SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOR_SRC)/$(GENSRC_SOR_SRC_FILE) | \
$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
@@ -100,11 +100,9 @@
OUTPUT_DIR := $(GENSRC_SOR_BIN), \
PROGRAM := genSocketOptionRegistry))
-ifneq ($(wildcard $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java), )
- HAS_SOCKET_OPTION_REGISTRY := true
-endif
+SOR_PREGEN_FILE := $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java.template
-ifneq ($(HAS_SOCKET_OPTION_REGISTRY), true)
+ifeq ($(wildcard $(SOR_PREGEN_FILE)), )
$(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(BUILD_GENSRC_SOR_EXE)
$(MKDIR) -p $(@D)
$(RM) $@ $@.tmp
@@ -112,7 +110,7 @@
$(BUILD_GENSRC_SOR_EXE) >> $@.tmp
$(MV) $@.tmp $@
else
- $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java
+ $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(SOR_PREGEN_FILE)
$(call install-file)
endif
@@ -122,9 +120,9 @@
GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java
- GENSRC_UC_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
+ GENSRC_UC_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/fs
GENSRC_UC_SRC_FILE := genUnixConstants.c
- GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/gensrc/genUnixConstants
+ GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/btnative/genUnixConstants
UC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_UC_SRC)/$(GENSRC_UC_SRC_FILE) | \
$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
@@ -140,11 +138,9 @@
OUTPUT_DIR := $(GENSRC_UC_BIN), \
PROGRAM := genUnixConstants))
- ifneq ($(wildcard $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java), )
- HAS_UNIX_CONSTANTS := true
- endif
+ UC_PREGEN_FILE := $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java.template
- ifneq ($(HAS_UNIX_CONSTANTS), true)
+ ifeq ($(wildcard $(UC_PREGEN_FILE)), )
$(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(BUILD_GENSRC_UC_EXE)
$(MKDIR) -p $(@D)
$(RM) $@ $@.tmp
@@ -152,7 +148,7 @@
$(BUILD_GENSRC_UC_EXE) >> $@.tmp
$(MV) $@.tmp $@
else
- $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java
+ $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(UC_PREGEN_FILE)
$(call install-file)
endif
@@ -164,9 +160,9 @@
GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/SolarisConstants.java
- GENSRC_SOL_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
+ GENSRC_SOL_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/fs
GENSRC_SOL_SRC_FILE := genSolarisConstants.c
- GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/gensrc/genSolarisConstants
+ GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/btnative/genSolarisConstants
SOL_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOL_SRC)/$(GENSRC_SOL_SRC_FILE) | \
$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
diff --git a/jdk/make/gensrc/GensrcProperties.gmk b/jdk/make/gensrc/GensrcProperties.gmk
index 6ef7802..1ccffa1 100644
--- a/jdk/make/gensrc/GensrcProperties.gmk
+++ b/jdk/make/gensrc/GensrcProperties.gmk
@@ -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
diff --git a/jdk/make/gensrc/GensrcSwing.gmk b/jdk/make/gensrc/GensrcSwing.gmk
index 4854f47..ba73623 100644
--- a/jdk/make/gensrc/GensrcSwing.gmk
+++ b/jdk/make/gensrc/GensrcSwing.gmk
@@ -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
diff --git a/jdk/make/gensrc/GensrcX11Wrappers.gmk b/jdk/make/gensrc/GensrcX11Wrappers.gmk
index 0afe066..cbe29ef 100644
--- a/jdk/make/gensrc/GensrcX11Wrappers.gmk
+++ b/jdk/make/gensrc/GensrcX11Wrappers.gmk
@@ -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
@@ -42,7 +42,7 @@
GENSRC_X11WRAPPERS_DST := $(JDK_OUTPUTDIR)/gensrc/sun/awt/X11
# The pre-calculated offset file are stored here:
-GENSRC_SIZER_DIR := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator
+GENSRC_SIZER_DIR := $(JDK_TOPDIR)/make/data/x11wrappergen
# Normal case is to generate only according to target bits
GENSRC_X11_VERSION := $(OPENJDK_TARGET_CPU_BITS)
diff --git a/jdk/make/lib/Awt2dLibraries.gmk b/jdk/make/lib/Awt2dLibraries.gmk
index a1263ba..140fff2 100644
--- a/jdk/make/lib/Awt2dLibraries.gmk
+++ b/jdk/make/lib/Awt2dLibraries.gmk
@@ -23,6 +23,9 @@
# questions.
#
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, lib/Awt2dLibraries.gmk))
+
# Openwin is defined on Solaris.
OPENWIN_LIB := $(OPENWIN_HOME)/lib
@@ -550,10 +553,6 @@
endif
ifeq ($(OPENJDK_TARGET_OS), linux)
- ifndef OPENJDK
- include $(JDK_TOPDIR)/make/closed/xawt.gmk
- endif
-
ifeq ($(DISABLE_XRENDER), true)
LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
endif
diff --git a/jdk/make/lib/CoreLibraries.gmk b/jdk/make/lib/CoreLibraries.gmk
index 3be43c8..627dfce 100644
--- a/jdk/make/lib/CoreLibraries.gmk
+++ b/jdk/make/lib/CoreLibraries.gmk
@@ -123,15 +123,16 @@
$(JDK_TOPDIR)/src/share/native/java/security \
$(JDK_TOPDIR)/src/share/native/common \
$(JDK_TOPDIR)/src/share/native/sun/misc \
+ $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/misc \
$(JDK_TOPDIR)/src/share/native/sun/reflect \
$(JDK_TOPDIR)/src/share/native/java/util \
$(JDK_TOPDIR)/src/share/native/java/util/concurrent/atomic \
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/common \
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util
-ifneq ($(OPENJDK_TARGET_OS), macosx)
+ifeq ($(OPENJDK_TARGET_OS), windows)
LIBJAVA_SRC_DIRS += $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/util/locale/provider
-else
+else ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBJAVA_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/native/sun/util/locale/provider
endif
@@ -187,7 +188,7 @@
LIBRARY := java, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
SRC := $(LIBJAVA_SRC_DIRS), \
- EXCLUDES := fdlibm/src zip, \
+ EXCLUDES := fdlibm/src zip prefs, \
EXCLUDE_FILES := $(LIBJAVA_EXCLUDE_FILES), \
LANG := C, \
OPTIMIZATION := HIGH, \
@@ -285,6 +286,41 @@
##########################################################################################
+ifeq ($(OPENJDK_TARGET_OS), macosx)
+ LIBPREF_SRC_DIRS := $(JDK_TOPDIR)/src/macosx/native/java/util/prefs
+else
+ LIBPREF_SRC_DIRS := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/util/prefs
+endif
+
+$(eval $(call SetupNativeCompilation,BUILD_LIBPREFS, \
+ LIBRARY := prefs, \
+ OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
+ SRC := $(LIBPREF_SRC_DIRS), \
+ LANG := C, \
+ OPTIMIZATION := HIGH, \
+ CFLAGS := $(CFLAGS_JDKLIB), \
+ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libprefs/mapfile-vers, \
+ LDFLAGS := $(LDFLAGS_JDKLIB) \
+ $(call SET_SHARED_LIBRARY_ORIGIN), \
+ LDFLAGS_SUFFIX_linux := -ljvm -ljava, \
+ LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lc, \
+ LDFLAGS_SUFFIX_aix := -ljvm -ljava, \
+ LDFLAGS_SUFFIX_windows := advapi32.lib, \
+ LDFLAGS_SUFFIX_macosx := -ljvm -framework CoreFoundation, \
+ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
+ RC_FLAGS := $(RC_FLAGS) \
+ -D "JDK_FNAME=prefs.dll" \
+ -D "JDK_INTERNAL_NAME=prefs" \
+ -D "JDK_FTYPE=0x2L", \
+ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libprefs, \
+ DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
+
+$(BUILD_LIBPREFS): $(BUILD_LIBJAVA)
+
+BUILD_LIBRARIES += $(BUILD_LIBPREFS)
+
+##########################################################################################
+
$(eval $(call SetupNativeCompilation,BUILD_LIBUNPACK, \
LIBRARY := unpack, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
diff --git a/jdk/make/lib/NetworkingLibraries.gmk b/jdk/make/lib/NetworkingLibraries.gmk
index 347c323..1bd2680 100644
--- a/jdk/make/lib/NetworkingLibraries.gmk
+++ b/jdk/make/lib/NetworkingLibraries.gmk
@@ -38,6 +38,10 @@
LIBNET_CFLAGS := $(foreach dir, $(LIBNET_SRC_DIRS), -I$(dir))
LIBNET_EXCLUDE_FILES :=
+ifneq ($(OPENJDK_TARGET_OS), solaris)
+ LIBNET_EXCLUDE_FILES += solaris_close.c
+endif
+
ifneq ($(OPENJDK_TARGET_OS), linux)
LIBNET_EXCLUDE_FILES += linux_close.c
endif
diff --git a/jdk/make/lib/NioLibraries.gmk b/jdk/make/lib/NioLibraries.gmk
index 5c648c2..6c9c46a 100644
--- a/jdk/make/lib/NioLibraries.gmk
+++ b/jdk/make/lib/NioLibraries.gmk
@@ -120,7 +120,7 @@
BUILD_LIBNIO_FILES += \
AixPollPort.c \
InheritedChannel.c \
- NativeThread.c \
+ AixNativeThread.c \
PollArrayWrapper.c \
UnixAsynchronousServerSocketChannelImpl.c \
UnixAsynchronousSocketChannelImpl.c \
diff --git a/jdk/make/lib/PlatformLibraries.gmk b/jdk/make/lib/PlatformLibraries.gmk
index f12aa18..a70adf8 100644
--- a/jdk/make/lib/PlatformLibraries.gmk
+++ b/jdk/make/lib/PlatformLibraries.gmk
@@ -63,7 +63,7 @@
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(JDK_TOPDIR)/src/macosx/native/sun/osxapp \
- -I$(JDK_OUTPUTDIR)/gensrc/sun/osxapp \
+ -I$(JDK_OUTPUTDIR)/gensrc_headers_icons \
-F/System/Library/Frameworks/JavaVM.framework/Frameworks \
-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
@@ -95,7 +95,6 @@
LIBOSX_DIRS := \
$(JDK_TOPDIR)/src/macosx/native/com/apple/concurrent \
- $(JDK_TOPDIR)/src/macosx/native/java/util \
$(JDK_TOPDIR)/src/macosx/native/com/apple/eio \
$(JDK_TOPDIR)/src/macosx/native/apple/security \
$(JDK_TOPDIR)/src/macosx/native/apple/launcher
diff --git a/jdk/make/lib/SecurityLibraries.gmk b/jdk/make/lib/SecurityLibraries.gmk
index 2a1721b..66c55b8 100644
--- a/jdk/make/lib/SecurityLibraries.gmk
+++ b/jdk/make/lib/SecurityLibraries.gmk
@@ -128,8 +128,13 @@
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib
else ifeq ($(OPENJDK_TARGET_OS), macosx)
BUILD_LIBKRB5_NAME := osxkrb5
- BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/share/native/sun/security/krb5
- BUILD_LIBKRB5_LIBS := -framework Kerberos
+ BUILD_LIBKRB5_SRC := $(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
+ $(JDK_TOPDIR)/src/macosx/native/sun/security/krb5
+ BUILD_LIBKRB5_LIBS := -F/System/Library/Frameworks/JavaVM.framework/Frameworks \
+ -framework JavaNativeFoundation \
+ -framework Cocoa \
+ -framework SystemConfiguration \
+ -framework Kerberos
endif
ifneq ($(BUILD_LIBKRB5_NAME), )
@@ -140,8 +145,9 @@
LANG := C, \
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB) \
- -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5 \
- -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/security/krb5, \
+ -I$(JDK_TOPDIR)/src/share/native/sun/security/krb5, \
+ CFLAGS_windows := -I$(JDK_TOPDIR)/src/windows/native/sun/security/krb5, \
+ CFLAGS_macosx := -F/System/Library/Frameworks/JavaVM.framework/Frameworks, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_SUFFIX := $(BUILD_LIBKRB5_LIBS), \
diff --git a/jdk/make/mapfiles/launchers/mapfile-sparc b/jdk/make/mapfiles/launchers/mapfile-sparc
index 7c601776..b699b65 100644
--- a/jdk/make/mapfiles/launchers/mapfile-sparc
+++ b/jdk/make/mapfiles/launchers/mapfile-sparc
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/make/mapfiles/launchers/mapfile-sparcv9 b/jdk/make/mapfiles/launchers/mapfile-sparcv9
index 641ae11..59e89b3 100644
--- a/jdk/make/mapfiles/launchers/mapfile-sparcv9
+++ b/jdk/make/mapfiles/launchers/mapfile-sparcv9
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/make/mapfiles/launchers/mapfile-x86 b/jdk/make/mapfiles/launchers/mapfile-x86
index 2df5ab1..dcda7f9 100644
--- a/jdk/make/mapfiles/launchers/mapfile-x86
+++ b/jdk/make/mapfiles/launchers/mapfile-x86
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/make/mapfiles/launchers/mapfile-x86_64 b/jdk/make/mapfiles/launchers/mapfile-x86_64
index fb4ceb5..61c2d1c 100644
--- a/jdk/make/mapfiles/launchers/mapfile-x86_64
+++ b/jdk/make/mapfiles/launchers/mapfile-x86_64
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/make/mapfiles/libattach/mapfile-linux b/jdk/make/mapfiles/libattach/mapfile-linux
index 9829cb7..fbfdedf 100644
--- a/jdk/make/mapfiles/libattach/mapfile-linux
+++ b/jdk/make/mapfiles/libattach/mapfile-linux
@@ -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
diff --git a/jdk/make/mapfiles/libattach/mapfile-solaris b/jdk/make/mapfiles/libattach/mapfile-solaris
index dfde81f..6e61f75 100644
--- a/jdk/make/mapfiles/libattach/mapfile-solaris
+++ b/jdk/make/mapfiles/libattach/mapfile-solaris
@@ -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
diff --git a/jdk/make/mapfiles/libawt/mapfile-mawt-vers b/jdk/make/mapfiles/libawt/mapfile-mawt-vers
index b21eada..a50c13a 100644
--- a/jdk/make/mapfiles/libawt/mapfile-mawt-vers
+++ b/jdk/make/mapfiles/libawt/mapfile-mawt-vers
@@ -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
diff --git a/jdk/make/mapfiles/libawt/mapfile-vers b/jdk/make/mapfiles/libawt/mapfile-vers
index da13850..05ca7d5 100644
--- a/jdk/make/mapfiles/libawt/mapfile-vers
+++ b/jdk/make/mapfiles/libawt/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libawt/mapfile-vers-linux b/jdk/make/mapfiles/libawt/mapfile-vers-linux
index 519271b..f8967e0 100644
--- a/jdk/make/mapfiles/libawt/mapfile-vers-linux
+++ b/jdk/make/mapfiles/libawt/mapfile-vers-linux
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/mapfiles/libawt_headless/mapfile-vers b/jdk/make/mapfiles/libawt_headless/mapfile-vers
index a5a7413..c12d07d 100644
--- a/jdk/make/mapfiles/libawt_headless/mapfile-vers
+++ b/jdk/make/mapfiles/libawt_headless/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libawt_xawt/mapfile-vers b/jdk/make/mapfiles/libawt_xawt/mapfile-vers
index b872003..15089a1 100644
--- a/jdk/make/mapfiles/libawt_xawt/mapfile-vers
+++ b/jdk/make/mapfiles/libawt_xawt/mapfile-vers
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/mapfiles/libdcpr/mapfile-vers b/jdk/make/mapfiles/libdcpr/mapfile-vers
index e8115b2..7ae88b3 100644
--- a/jdk/make/mapfiles/libdcpr/mapfile-vers
+++ b/jdk/make/mapfiles/libdcpr/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libdt_socket/mapfile-vers b/jdk/make/mapfiles/libdt_socket/mapfile-vers
index 9497768..a49917e 100644
--- a/jdk/make/mapfiles/libdt_socket/mapfile-vers
+++ b/jdk/make/mapfiles/libdt_socket/mapfile-vers
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/make/mapfiles/libfontmanager/mapfile-vers b/jdk/make/mapfiles/libfontmanager/mapfile-vers
index b19d646..2a83f29 100644
--- a/jdk/make/mapfiles/libfontmanager/mapfile-vers
+++ b/jdk/make/mapfiles/libfontmanager/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libfontmanager/mapfile-vers.openjdk b/jdk/make/mapfiles/libfontmanager/mapfile-vers.openjdk
index 6af4fd0..b20344e 100644
--- a/jdk/make/mapfiles/libfontmanager/mapfile-vers.openjdk
+++ b/jdk/make/mapfiles/libfontmanager/mapfile-vers.openjdk
@@ -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
diff --git a/jdk/make/mapfiles/libhprof/mapfile-vers b/jdk/make/mapfiles/libhprof/mapfile-vers
index f5d350c..1873c4f 100644
--- a/jdk/make/mapfiles/libhprof/mapfile-vers
+++ b/jdk/make/mapfiles/libhprof/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libinstrument/mapfile-vers b/jdk/make/mapfiles/libinstrument/mapfile-vers
index b201809..7486701 100644
--- a/jdk/make/mapfiles/libinstrument/mapfile-vers
+++ b/jdk/make/mapfiles/libinstrument/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libj2gss/mapfile-vers b/jdk/make/mapfiles/libj2gss/mapfile-vers
index 4c2b107..3124a21 100644
--- a/jdk/make/mapfiles/libj2gss/mapfile-vers
+++ b/jdk/make/mapfiles/libj2gss/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libj2pcsc/mapfile-vers b/jdk/make/mapfiles/libj2pcsc/mapfile-vers
index bac7f87..e0fa122 100644
--- a/jdk/make/mapfiles/libj2pcsc/mapfile-vers
+++ b/jdk/make/mapfiles/libj2pcsc/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libj2ucrypto/mapfile-vers b/jdk/make/mapfiles/libj2ucrypto/mapfile-vers
index 1891d77..2a5c2a5 100644
--- a/jdk/make/mapfiles/libj2ucrypto/mapfile-vers
+++ b/jdk/make/mapfiles/libj2ucrypto/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libjaas/mapfile-vers b/jdk/make/mapfiles/libjaas/mapfile-vers
index db401cf..33b03e5 100644
--- a/jdk/make/mapfiles/libjaas/mapfile-vers
+++ b/jdk/make/mapfiles/libjaas/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libjava/mapfile-vers b/jdk/make/mapfiles/libjava/mapfile-vers
index ea2276f..9034580 100644
--- a/jdk/make/mapfiles/libjava/mapfile-vers
+++ b/jdk/make/mapfiles/libjava/mapfile-vers
@@ -79,7 +79,7 @@
Java_java_io_FileInputStream_close0;
Java_java_io_FileInputStream_initIDs;
Java_java_io_FileInputStream_open;
- Java_java_io_FileInputStream_read;
+ Java_java_io_FileInputStream_read0;
Java_java_io_FileInputStream_readBytes;
Java_java_io_FileInputStream_skip;
Java_java_io_FileOutputStream_close0;
@@ -98,11 +98,11 @@
Java_java_io_RandomAccessFile_initIDs;
Java_java_io_RandomAccessFile_length;
Java_java_io_RandomAccessFile_open;
- Java_java_io_RandomAccessFile_read;
+ Java_java_io_RandomAccessFile_read0;
Java_java_io_RandomAccessFile_readBytes;
Java_java_io_RandomAccessFile_seek0;
Java_java_io_RandomAccessFile_setLength;
- Java_java_io_RandomAccessFile_write;
+ Java_java_io_RandomAccessFile_write0;
Java_java_io_RandomAccessFile_writeBytes;
Java_java_io_UnixFileSystem_canonicalize0;
Java_java_io_UnixFileSystem_checkAccess;
@@ -236,10 +236,6 @@
Java_java_util_TimeZone_getSystemTimeZoneID;
Java_java_util_TimeZone_getSystemGMTOffsetID;
Java_java_util_concurrent_atomic_AtomicLong_VMSupportsCS8;
- Java_java_util_prefs_FileSystemPreferences_chmod;
- Java_java_util_prefs_FileSystemPreferences_lockFile0;
- Java_java_util_prefs_FileSystemPreferences_unlockFile0;
- Java_java_util_logging_FileHandler_isSetUID;
Java_sun_misc_MessageUtils_toStderr;
Java_sun_misc_MessageUtils_toStdout;
Java_sun_misc_NativeSignalHandler_handle0;
@@ -274,19 +270,13 @@
Java_sun_misc_Version_getJvmVersionInfo;
Java_sun_misc_Version_getJvmSpecialVersion;
Java_sun_misc_VM_latestUserDefinedLoader;
+ Java_sun_misc_VM_isSetUID;
Java_sun_misc_VM_initialize;
Java_sun_misc_VMSupport_initAgentProperties;
# ZipFile.c needs this one
throwFileNotFoundException;
-# Java_sun_misc_VM_getState; threads.c
-# Java_sun_misc_VM_threadsSuspended; threads.c
-# Java_sun_misc_VM_unsuspendSomeThreads; threads.c
-# Java_sun_misc_VM_unsuspendThreads; threads.c
-
- Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getPattern;
-
# Outcalls from libjvm done using dlsym().
VerifyClassCodes;
diff --git a/jdk/make/mapfiles/libjava_crw_demo/mapfile-vers b/jdk/make/mapfiles/libjava_crw_demo/mapfile-vers
index 14fe9fd..b9b31f7 100644
--- a/jdk/make/mapfiles/libjava_crw_demo/mapfile-vers
+++ b/jdk/make/mapfiles/libjava_crw_demo/mapfile-vers
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/make/mapfiles/libjawt/mapfile-vers b/jdk/make/mapfiles/libjawt/mapfile-vers
index 1daf418..1a79df0 100644
--- a/jdk/make/mapfiles/libjawt/mapfile-vers
+++ b/jdk/make/mapfiles/libjawt/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libjdga/mapfile-vers b/jdk/make/mapfiles/libjdga/mapfile-vers
index 8d51ce2..28d8acf 100644
--- a/jdk/make/mapfiles/libjdga/mapfile-vers
+++ b/jdk/make/mapfiles/libjdga/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libjdwp/mapfile-vers b/jdk/make/mapfiles/libjdwp/mapfile-vers
index 46498bb..77ae0c8 100644
--- a/jdk/make/mapfiles/libjdwp/mapfile-vers
+++ b/jdk/make/mapfiles/libjdwp/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libjfr/mapfile-vers b/jdk/make/mapfiles/libjfr/mapfile-vers
index 8031edc..dea13dd 100644
--- a/jdk/make/mapfiles/libjfr/mapfile-vers
+++ b/jdk/make/mapfiles/libjfr/mapfile-vers
@@ -34,6 +34,7 @@
Java_oracle_jrockit_jfr_VMJFR_getPeriod;
Java_oracle_jrockit_jfr_VMJFR_descriptors;
Java_oracle_jrockit_jfr_VMJFR_redefineClass0;
+ Java_oracle_jrockit_jfr_VMJFR_retransformClasses0;
JNI_OnLoad;
local:
*;
diff --git a/jdk/make/mapfiles/libjli/mapfile-vers b/jdk/make/mapfiles/libjli/mapfile-vers
index 77d8ff8..58da7a2 100644
--- a/jdk/make/mapfiles/libjli/mapfile-vers
+++ b/jdk/make/mapfiles/libjli/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libjpeg/mapfile-vers b/jdk/make/mapfiles/libjpeg/mapfile-vers
index 033a8b4..4534fa0 100644
--- a/jdk/make/mapfiles/libjpeg/mapfile-vers
+++ b/jdk/make/mapfiles/libjpeg/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libjpeg/mapfile-vers-closed b/jdk/make/mapfiles/libjpeg/mapfile-vers-closed
index a9efc8e..9b3724c 100644
--- a/jdk/make/mapfiles/libjpeg/mapfile-vers-closed
+++ b/jdk/make/mapfiles/libjpeg/mapfile-vers-closed
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/make/mapfiles/libjsdt/mapfile-vers b/jdk/make/mapfiles/libjsdt/mapfile-vers
index 1ffacce..5ea5bce 100644
--- a/jdk/make/mapfiles/libjsdt/mapfile-vers
+++ b/jdk/make/mapfiles/libjsdt/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libjsound/mapfile-vers b/jdk/make/mapfiles/libjsound/mapfile-vers
index 1a766ce..e2360a1 100644
--- a/jdk/make/mapfiles/libjsound/mapfile-vers
+++ b/jdk/make/mapfiles/libjsound/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libjsoundalsa/mapfile-vers b/jdk/make/mapfiles/libjsoundalsa/mapfile-vers
index dd0ccd1..1b1c8f7 100644
--- a/jdk/make/mapfiles/libjsoundalsa/mapfile-vers
+++ b/jdk/make/mapfiles/libjsoundalsa/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libkcms/mapfile-vers b/jdk/make/mapfiles/libkcms/mapfile-vers
index 9d8d23b..267f99c 100644
--- a/jdk/make/mapfiles/libkcms/mapfile-vers
+++ b/jdk/make/mapfiles/libkcms/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/liblcms/mapfile-vers b/jdk/make/mapfiles/liblcms/mapfile-vers
index 2e63d68..1a71eed 100644
--- a/jdk/make/mapfiles/liblcms/mapfile-vers
+++ b/jdk/make/mapfiles/liblcms/mapfile-vers
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/make/mapfiles/libmlib_image/mapfile-vers b/jdk/make/mapfiles/libmlib_image/mapfile-vers
index 6c68f72..e8fddbb 100644
--- a/jdk/make/mapfiles/libmlib_image/mapfile-vers
+++ b/jdk/make/mapfiles/libmlib_image/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libnet/mapfile-vers b/jdk/make/mapfiles/libnet/mapfile-vers
index e3e7ce9..879fff4 100644
--- a/jdk/make/mapfiles/libnet/mapfile-vers
+++ b/jdk/make/mapfiles/libnet/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libnio/mapfile-linux b/jdk/make/mapfiles/libnio/mapfile-linux
index 8e05a44..16f72e43 100644
--- a/jdk/make/mapfiles/libnio/mapfile-linux
+++ b/jdk/make/mapfiles/libnio/mapfile-linux
@@ -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
diff --git a/jdk/make/mapfiles/libnio/mapfile-macosx b/jdk/make/mapfiles/libnio/mapfile-macosx
index 906ef51..4dd0dc5 100644
--- a/jdk/make/mapfiles/libnio/mapfile-macosx
+++ b/jdk/make/mapfiles/libnio/mapfile-macosx
@@ -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
diff --git a/jdk/make/mapfiles/libnio/mapfile-solaris b/jdk/make/mapfiles/libnio/mapfile-solaris
index c610ce7..3933cef 100644
--- a/jdk/make/mapfiles/libnio/mapfile-solaris
+++ b/jdk/make/mapfiles/libnio/mapfile-solaris
@@ -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
diff --git a/jdk/make/mapfiles/libnpt/mapfile-vers b/jdk/make/mapfiles/libnpt/mapfile-vers
index 10bb344..d6c03e4 100644
--- a/jdk/make/mapfiles/libnpt/mapfile-vers
+++ b/jdk/make/mapfiles/libnpt/mapfile-vers
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/make/mapfiles/libprefs/mapfile-vers b/jdk/make/mapfiles/libprefs/mapfile-vers
new file mode 100644
index 0000000..395d175
--- /dev/null
+++ b/jdk/make/mapfiles/libprefs/mapfile-vers
@@ -0,0 +1,36 @@
+#
+# Copyright (c) 2014, 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.
+#
+
+# Define public interface.
+
+SUNWprivate_1.1 {
+ global:
+ Java_java_util_prefs_FileSystemPreferences_chmod;
+ Java_java_util_prefs_FileSystemPreferences_lockFile0;
+ Java_java_util_prefs_FileSystemPreferences_unlockFile0;
+
+ local:
+ *;
+};
diff --git a/jdk/make/mapfiles/libsctp/mapfile-vers b/jdk/make/mapfiles/libsctp/mapfile-vers
index 4cd4c06..362a5e4 100644
--- a/jdk/make/mapfiles/libsctp/mapfile-vers
+++ b/jdk/make/mapfiles/libsctp/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libsplashscreen/mapfile-vers b/jdk/make/mapfiles/libsplashscreen/mapfile-vers
index d2ab92e..b950732 100644
--- a/jdk/make/mapfiles/libsplashscreen/mapfile-vers
+++ b/jdk/make/mapfiles/libsplashscreen/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libsunec/mapfile-vers b/jdk/make/mapfiles/libsunec/mapfile-vers
index 99f97e8..a1da80c 100644
--- a/jdk/make/mapfiles/libsunec/mapfile-vers
+++ b/jdk/make/mapfiles/libsunec/mapfile-vers
@@ -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
diff --git a/jdk/make/mapfiles/libt2k/mapfile-vers b/jdk/make/mapfiles/libt2k/mapfile-vers
index 7362b9d..4c01eb2 100644
--- a/jdk/make/mapfiles/libt2k/mapfile-vers
+++ b/jdk/make/mapfiles/libt2k/mapfile-vers
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/make/mapfiles/libunpack/mapfile-vers b/jdk/make/mapfiles/libunpack/mapfile-vers
index d56255e..8f5f41b5 100644
--- a/jdk/make/mapfiles/libunpack/mapfile-vers
+++ b/jdk/make/mapfiles/libunpack/mapfile-vers
@@ -1,6 +1,6 @@
#
-# 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
diff --git a/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 b/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200
index 5e09533..6b08250 100644
--- a/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200
+++ b/jdk/make/mapfiles/libunpack/mapfile-vers-unpack200
@@ -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
diff --git a/jdk/make/mapfiles/libverify/mapfile-vers b/jdk/make/mapfiles/libverify/mapfile-vers
index f4f8a3c..1af978d 100644
--- a/jdk/make/mapfiles/libverify/mapfile-vers
+++ b/jdk/make/mapfiles/libverify/mapfile-vers
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/make/mapfiles/libzip/mapfile-vers b/jdk/make/mapfiles/libzip/mapfile-vers
index 383fedf..a44f8d9 100644
--- a/jdk/make/mapfiles/libzip/mapfile-vers
+++ b/jdk/make/mapfiles/libzip/mapfile-vers
@@ -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
diff --git a/jdk/make/netbeans/common/architectures/arch-x86_64.properties b/jdk/make/netbeans/common/architectures/arch-x86_64.properties
index eac1124..a0758fd 100644
--- a/jdk/make/netbeans/common/architectures/arch-x86_64.properties
+++ b/jdk/make/netbeans/common/architectures/arch-x86_64.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/common/architectures/name-Macosx.properties b/jdk/make/netbeans/common/architectures/name-Macosx.properties
index 05744c7..c07f80b 100644
--- a/jdk/make/netbeans/common/architectures/name-Macosx.properties
+++ b/jdk/make/netbeans/common/architectures/name-Macosx.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/common/closed-share-sources.ent b/jdk/make/netbeans/common/closed-share-sources.ent
index 03c7cda..b94ffae 100644
--- a/jdk/make/netbeans/common/closed-share-sources.ent
+++ b/jdk/make/netbeans/common/closed-share-sources.ent
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/common/demo-view.ent b/jdk/make/netbeans/common/demo-view.ent
index 43aa314..161acf0 100644
--- a/jdk/make/netbeans/common/demo-view.ent
+++ b/jdk/make/netbeans/common/demo-view.ent
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/common/make.xml b/jdk/make/netbeans/common/make.xml
index ee1a47a..7fd5fae 100644
--- a/jdk/make/netbeans/common/make.xml
+++ b/jdk/make/netbeans/common/make.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/common/properties.ent b/jdk/make/netbeans/common/properties.ent
index dbf304e..67c4271 100644
--- a/jdk/make/netbeans/common/properties.ent
+++ b/jdk/make/netbeans/common/properties.ent
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/common/share-sources.ent b/jdk/make/netbeans/common/share-sources.ent
index 3d995a4..da2f850 100644
--- a/jdk/make/netbeans/common/share-sources.ent
+++ b/jdk/make/netbeans/common/share-sources.ent
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/common/shared.xml b/jdk/make/netbeans/common/shared.xml
index 26b3a41..2f1b27b 100644
--- a/jdk/make/netbeans/common/shared.xml
+++ b/jdk/make/netbeans/common/shared.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/common/unix-sources.ent b/jdk/make/netbeans/common/unix-sources.ent
index 0c55fe3..f971251 100644
--- a/jdk/make/netbeans/common/unix-sources.ent
+++ b/jdk/make/netbeans/common/unix-sources.ent
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/common/windows-sources.ent b/jdk/make/netbeans/common/windows-sources.ent
index 6d5425a..8211eb1 100644
--- a/jdk/make/netbeans/common/windows-sources.ent
+++ b/jdk/make/netbeans/common/windows-sources.ent
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/j2se/build.xml b/jdk/make/netbeans/j2se/build.xml
index aaefd4c..afb1f8c 100644
--- a/jdk/make/netbeans/j2se/build.xml
+++ b/jdk/make/netbeans/j2se/build.xml
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/make/netbeans/jmx/build.properties b/jdk/make/netbeans/jmx/build.properties
index 0012f8e..bd72037 100644
--- a/jdk/make/netbeans/jmx/build.properties
+++ b/jdk/make/netbeans/jmx/build.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
diff --git a/jdk/make/non-build-utils/reorder/Makefile b/jdk/make/non-build-utils/reorder/Makefile
index 8f5e9be..ec1cb3a 100644
--- a/jdk/make/non-build-utils/reorder/Makefile
+++ b/jdk/make/non-build-utils/reorder/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tests/Exit.java b/jdk/make/non-build-utils/reorder/tests/Exit.java
index 09242d4..44d6bb9 100644
--- a/jdk/make/non-build-utils/reorder/tests/Exit.java
+++ b/jdk/make/non-build-utils/reorder/tests/Exit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tests/Hello.java b/jdk/make/non-build-utils/reorder/tests/Hello.java
index df1b2b3..3183c0f 100644
--- a/jdk/make/non-build-utils/reorder/tests/Hello.java
+++ b/jdk/make/non-build-utils/reorder/tests/Hello.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tests/IntToString.java b/jdk/make/non-build-utils/reorder/tests/IntToString.java
index 02f5e34..542aabd 100644
--- a/jdk/make/non-build-utils/reorder/tests/IntToString.java
+++ b/jdk/make/non-build-utils/reorder/tests/IntToString.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tests/JHello.java b/jdk/make/non-build-utils/reorder/tests/JHello.java
index 9e4e261..5c97d70 100644
--- a/jdk/make/non-build-utils/reorder/tests/JHello.java
+++ b/jdk/make/non-build-utils/reorder/tests/JHello.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tests/LoadFrame.java b/jdk/make/non-build-utils/reorder/tests/LoadFrame.java
index 3671a5d..c4c8124 100644
--- a/jdk/make/non-build-utils/reorder/tests/LoadFrame.java
+++ b/jdk/make/non-build-utils/reorder/tests/LoadFrame.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tests/LoadJFrame.java b/jdk/make/non-build-utils/reorder/tests/LoadJFrame.java
index 8db5b30..0ea177d 100644
--- a/jdk/make/non-build-utils/reorder/tests/LoadJFrame.java
+++ b/jdk/make/non-build-utils/reorder/tests/LoadJFrame.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tests/LoadToolkit.java b/jdk/make/non-build-utils/reorder/tests/LoadToolkit.java
index 360c70b..01e4aac 100644
--- a/jdk/make/non-build-utils/reorder/tests/LoadToolkit.java
+++ b/jdk/make/non-build-utils/reorder/tests/LoadToolkit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tests/Null.java b/jdk/make/non-build-utils/reorder/tests/Null.java
index b9b3dda..50c940f 100644
--- a/jdk/make/non-build-utils/reorder/tests/Null.java
+++ b/jdk/make/non-build-utils/reorder/tests/Null.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tests/Sleep.java b/jdk/make/non-build-utils/reorder/tests/Sleep.java
index 7d0ced2..cebb685 100644
--- a/jdk/make/non-build-utils/reorder/tests/Sleep.java
+++ b/jdk/make/non-build-utils/reorder/tests/Sleep.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tools/Combine.java b/jdk/make/non-build-utils/reorder/tools/Combine.java
index f8b389d..9184ad1 100644
--- a/jdk/make/non-build-utils/reorder/tools/Combine.java
+++ b/jdk/make/non-build-utils/reorder/tools/Combine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tools/MaxTime.java b/jdk/make/non-build-utils/reorder/tools/MaxTime.java
index f75d365..6c250e7 100644
--- a/jdk/make/non-build-utils/reorder/tools/MaxTime.java
+++ b/jdk/make/non-build-utils/reorder/tools/MaxTime.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tools/mcount.c b/jdk/make/non-build-utils/reorder/tools/mcount.c
index 3afdf93..ed7476a 100644
--- a/jdk/make/non-build-utils/reorder/tools/mcount.c
+++ b/jdk/make/non-build-utils/reorder/tools/mcount.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/reorder/tools/remove_mcount.c b/jdk/make/non-build-utils/reorder/tools/remove_mcount.c
index b6ac8f9..bf5dc9a 100644
--- a/jdk/make/non-build-utils/reorder/tools/remove_mcount.c
+++ b/jdk/make/non-build-utils/reorder/tools/remove_mcount.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/non-build-utils/sharing/tests/GHello.java b/jdk/make/non-build-utils/sharing/tests/GHello.java
index 2c4a975..b8107b4 100644
--- a/jdk/make/non-build-utils/sharing/tests/GHello.java
+++ b/jdk/make/non-build-utils/sharing/tests/GHello.java
@@ -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
diff --git a/jdk/make/non-build-utils/sharing/tests/Hello.java b/jdk/make/non-build-utils/sharing/tests/Hello.java
index 8700f85..f24bb47 100644
--- a/jdk/make/non-build-utils/sharing/tests/Hello.java
+++ b/jdk/make/non-build-utils/sharing/tests/Hello.java
@@ -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
diff --git a/jdk/make/non-build-utils/sharing/tests/JHello.java b/jdk/make/non-build-utils/sharing/tests/JHello.java
index c52ca40..8af527d 100644
--- a/jdk/make/non-build-utils/sharing/tests/JHello.java
+++ b/jdk/make/non-build-utils/sharing/tests/JHello.java
@@ -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
diff --git a/jdk/make/non-build-utils/src/build/tools/commentchecker/CommentChecker.java b/jdk/make/non-build-utils/src/build/tools/commentchecker/CommentChecker.java
index 17c8001..0400d75 100644
--- a/jdk/make/non-build-utils/src/build/tools/commentchecker/CommentChecker.java
+++ b/jdk/make/non-build-utils/src/build/tools/commentchecker/CommentChecker.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 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
diff --git a/jdk/make/non-build-utils/src/build/tools/dirdiff/DirDiff.java b/jdk/make/non-build-utils/src/build/tools/dirdiff/DirDiff.java
index ffa10c9..05cc9ec 100644
--- a/jdk/make/non-build-utils/src/build/tools/dirdiff/DirDiff.java
+++ b/jdk/make/non-build-utils/src/build/tools/dirdiff/DirDiff.java
@@ -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
diff --git a/jdk/make/profile-includes.txt b/jdk/make/profile-includes.txt
index 105f9d3..f8fbef0 100644
--- a/jdk/make/profile-includes.txt
+++ b/jdk/make/profile-includes.txt
@@ -130,6 +130,7 @@
$(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)management.diz \
$(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)npt$(SHARED_LIBRARY_SUFFIX) \
$(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)npt.diz \
+ $(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)prefs$(SHARED_LIBRARY_SUFFIX) \
$(OPENJDK_TARGET_CPU_LEGACY_LIB)/$(LIBRARY_PREFIX)sctp$(SHARED_LIBRARY_SUFFIX) \
jvm.hprof.txt \
management-agent.jar \
diff --git a/jdk/make/src/classes/build/tools/addjsum/AddJsum.java b/jdk/make/src/classes/build/tools/addjsum/AddJsum.java
index 627dc16..d8bbe1e 100644
--- a/jdk/make/src/classes/build/tools/addjsum/AddJsum.java
+++ b/jdk/make/src/classes/build/tools/addjsum/AddJsum.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/buildmetaindex/BuildMetaIndex.java b/jdk/make/src/classes/build/tools/buildmetaindex/BuildMetaIndex.java
index f08b115..631d437 100644
--- a/jdk/make/src/classes/build/tools/buildmetaindex/BuildMetaIndex.java
+++ b/jdk/make/src/classes/build/tools/buildmetaindex/BuildMetaIndex.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/charsetmapping/DBCS.java b/jdk/make/src/classes/build/tools/charsetmapping/DBCS.java
index ecd3676..d54d205 100644
--- a/jdk/make/src/classes/build/tools/charsetmapping/DBCS.java
+++ b/jdk/make/src/classes/build/tools/charsetmapping/DBCS.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/charsetmapping/EUC_TW.java b/jdk/make/src/classes/build/tools/charsetmapping/EUC_TW.java
index c24bf9d..5ef0e67 100644
--- a/jdk/make/src/classes/build/tools/charsetmapping/EUC_TW.java
+++ b/jdk/make/src/classes/build/tools/charsetmapping/EUC_TW.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/charsetmapping/HKSCS.java b/jdk/make/src/classes/build/tools/charsetmapping/HKSCS.java
index c061e58..b37b0e3 100644
--- a/jdk/make/src/classes/build/tools/charsetmapping/HKSCS.java
+++ b/jdk/make/src/classes/build/tools/charsetmapping/HKSCS.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/charsetmapping/JIS0213.java b/jdk/make/src/classes/build/tools/charsetmapping/JIS0213.java
index 4762d58..4e4a88e 100644
--- a/jdk/make/src/classes/build/tools/charsetmapping/JIS0213.java
+++ b/jdk/make/src/classes/build/tools/charsetmapping/JIS0213.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2010, 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
diff --git a/jdk/make/src/classes/build/tools/charsetmapping/Main.java b/jdk/make/src/classes/build/tools/charsetmapping/Main.java
index 7604b2b..0312cb6 100644
--- a/jdk/make/src/classes/build/tools/charsetmapping/Main.java
+++ b/jdk/make/src/classes/build/tools/charsetmapping/Main.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010, 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
diff --git a/jdk/make/src/classes/build/tools/charsetmapping/SBCS.java b/jdk/make/src/classes/build/tools/charsetmapping/SBCS.java
index 66ae225..a7a136d 100644
--- a/jdk/make/src/classes/build/tools/charsetmapping/SBCS.java
+++ b/jdk/make/src/classes/build/tools/charsetmapping/SBCS.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/charsetmapping/Utils.java b/jdk/make/src/classes/build/tools/charsetmapping/Utils.java
index ef10f84..40ccbb6 100644
--- a/jdk/make/src/classes/build/tools/charsetmapping/Utils.java
+++ b/jdk/make/src/classes/build/tools/charsetmapping/Utils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2010, 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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/BundleGenerator.java b/jdk/make/src/classes/build/tools/cldrconverter/BundleGenerator.java
index 14760bc..20e259a 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/BundleGenerator.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/BundleGenerator.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/Container.java b/jdk/make/src/classes/build/tools/cldrconverter/Container.java
index afe8bb0..677ee1a 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/Container.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/Container.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java b/jdk/make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java
index f276061..1ea0186 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/CopyrightHeaders.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/Entry.java b/jdk/make/src/classes/build/tools/cldrconverter/Entry.java
index 70f1317..9de8ee1 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/Entry.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/Entry.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/IgnoredContainer.java b/jdk/make/src/classes/build/tools/cldrconverter/IgnoredContainer.java
index 6b1b3b4..dc11ae1 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/IgnoredContainer.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/IgnoredContainer.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/KeyContainer.java b/jdk/make/src/classes/build/tools/cldrconverter/KeyContainer.java
index aad47d4..4a289a9 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/KeyContainer.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/KeyContainer.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/MetaZonesParseHandler.java b/jdk/make/src/classes/build/tools/cldrconverter/MetaZonesParseHandler.java
index 99be8cf..63eb3da 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/MetaZonesParseHandler.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/MetaZonesParseHandler.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/NumberingSystemsParseHandler.java b/jdk/make/src/classes/build/tools/cldrconverter/NumberingSystemsParseHandler.java
index 69eeefe..64f83d0 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/NumberingSystemsParseHandler.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/NumberingSystemsParseHandler.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java b/jdk/make/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java
index c7826a2..b905f75 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/StringArrayElement.java b/jdk/make/src/classes/build/tools/cldrconverter/StringArrayElement.java
index 1a83c37..b8c1389 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/StringArrayElement.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/StringArrayElement.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/StringArrayEntry.java b/jdk/make/src/classes/build/tools/cldrconverter/StringArrayEntry.java
index e18a85b..2931c44 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/StringArrayEntry.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/StringArrayEntry.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/StringEntry.java b/jdk/make/src/classes/build/tools/cldrconverter/StringEntry.java
index 569c312..509607a 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/StringEntry.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/StringEntry.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/cldrconverter/SupplementDataParseHandler.java b/jdk/make/src/classes/build/tools/cldrconverter/SupplementDataParseHandler.java
index ce21601..393b734 100644
--- a/jdk/make/src/classes/build/tools/cldrconverter/SupplementDataParseHandler.java
+++ b/jdk/make/src/classes/build/tools/cldrconverter/SupplementDataParseHandler.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/compilefontconfig/CompileFontConfig.java b/jdk/make/src/classes/build/tools/compilefontconfig/CompileFontConfig.java
index 0f905c3..99f21df 100644
--- a/jdk/make/src/classes/build/tools/compilefontconfig/CompileFontConfig.java
+++ b/jdk/make/src/classes/build/tools/compilefontconfig/CompileFontConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/make/src/classes/build/tools/compileproperties/CompileProperties.java b/jdk/make/src/classes/build/tools/compileproperties/CompileProperties.java
index 8282cc8..fa3b9f7 100644
--- a/jdk/make/src/classes/build/tools/compileproperties/CompileProperties.java
+++ b/jdk/make/src/classes/build/tools/compileproperties/CompileProperties.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/dtdbuilder/DTDBuilder.java b/jdk/make/src/classes/build/tools/dtdbuilder/DTDBuilder.java
index ac63aab..8e89922 100644
--- a/jdk/make/src/classes/build/tools/dtdbuilder/DTDBuilder.java
+++ b/jdk/make/src/classes/build/tools/dtdbuilder/DTDBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/dtdbuilder/DTDInputStream.java b/jdk/make/src/classes/build/tools/dtdbuilder/DTDInputStream.java
index 79b9332..72f40c3 100644
--- a/jdk/make/src/classes/build/tools/dtdbuilder/DTDInputStream.java
+++ b/jdk/make/src/classes/build/tools/dtdbuilder/DTDInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/dtdbuilder/DTDParser.java b/jdk/make/src/classes/build/tools/dtdbuilder/DTDParser.java
index f8eb782..753007a 100644
--- a/jdk/make/src/classes/build/tools/dtdbuilder/DTDParser.java
+++ b/jdk/make/src/classes/build/tools/dtdbuilder/DTDParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/dtdbuilder/PublicMapping.java b/jdk/make/src/classes/build/tools/dtdbuilder/PublicMapping.java
index cbad21a..48cfb8a 100644
--- a/jdk/make/src/classes/build/tools/dtdbuilder/PublicMapping.java
+++ b/jdk/make/src/classes/build/tools/dtdbuilder/PublicMapping.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/generatebreakiteratordata/BreakIteratorRBControl.java b/jdk/make/src/classes/build/tools/generatebreakiteratordata/BreakIteratorRBControl.java
index c3f741e..0b4bd96 100644
--- a/jdk/make/src/classes/build/tools/generatebreakiteratordata/BreakIteratorRBControl.java
+++ b/jdk/make/src/classes/build/tools/generatebreakiteratordata/BreakIteratorRBControl.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/generatebreakiteratordata/CharSet.java b/jdk/make/src/classes/build/tools/generatebreakiteratordata/CharSet.java
index b853915..2473abb 100644
--- a/jdk/make/src/classes/build/tools/generatebreakiteratordata/CharSet.java
+++ b/jdk/make/src/classes/build/tools/generatebreakiteratordata/CharSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/generatebreakiteratordata/CharacterCategory.java b/jdk/make/src/classes/build/tools/generatebreakiteratordata/CharacterCategory.java
index c3ab9a5..4001762 100644
--- a/jdk/make/src/classes/build/tools/generatebreakiteratordata/CharacterCategory.java
+++ b/jdk/make/src/classes/build/tools/generatebreakiteratordata/CharacterCategory.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java b/jdk/make/src/classes/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java
index 0bf230c..e09480d 100644
--- a/jdk/make/src/classes/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java
+++ b/jdk/make/src/classes/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java b/jdk/make/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
index 3ca904b..db87521 100644
--- a/jdk/make/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
+++ b/jdk/make/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java b/jdk/make/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
index 02b13ea..db29741 100644
--- a/jdk/make/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
+++ b/jdk/make/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java b/jdk/make/src/classes/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java
index e9c585f..6845c54 100644
--- a/jdk/make/src/classes/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java
+++ b/jdk/make/src/classes/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/generatecharacter/GenerateCharacter.java b/jdk/make/src/classes/build/tools/generatecharacter/GenerateCharacter.java
index 6ae5c5e..83973ef 100644
--- a/jdk/make/src/classes/build/tools/generatecharacter/GenerateCharacter.java
+++ b/jdk/make/src/classes/build/tools/generatecharacter/GenerateCharacter.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java b/jdk/make/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java
index 50807b1..0cacb6d 100644
--- a/jdk/make/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java
+++ b/jdk/make/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/generatecharacter/PropList.java b/jdk/make/src/classes/build/tools/generatecharacter/PropList.java
index 4591d5d..bbde2e0 100644
--- a/jdk/make/src/classes/build/tools/generatecharacter/PropList.java
+++ b/jdk/make/src/classes/build/tools/generatecharacter/PropList.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/generatecharacter/SpecialCaseMap.java b/jdk/make/src/classes/build/tools/generatecharacter/SpecialCaseMap.java
index c96d04d..1d7d57d 100644
--- a/jdk/make/src/classes/build/tools/generatecharacter/SpecialCaseMap.java
+++ b/jdk/make/src/classes/build/tools/generatecharacter/SpecialCaseMap.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/generatecharacter/UnicodeSpec.java b/jdk/make/src/classes/build/tools/generatecharacter/UnicodeSpec.java
index 2993fc9..569fd29 100644
--- a/jdk/make/src/classes/build/tools/generatecharacter/UnicodeSpec.java
+++ b/jdk/make/src/classes/build/tools/generatecharacter/UnicodeSpec.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/generatecharacter/Utility.java b/jdk/make/src/classes/build/tools/generatecharacter/Utility.java
index 2dc6b5d..233d678 100644
--- a/jdk/make/src/classes/build/tools/generatecharacter/Utility.java
+++ b/jdk/make/src/classes/build/tools/generatecharacter/Utility.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, 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
diff --git a/jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java b/jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
index 0533517..ca1271e 100644
--- a/jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
+++ b/jdk/make/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/AbstractGradient.java b/jdk/make/src/classes/build/tools/generatenimbus/AbstractGradient.java
index a2dfce4..0952498 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/AbstractGradient.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/AbstractGradient.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Border.java b/jdk/make/src/classes/build/tools/generatenimbus/Border.java
index 82ca0d9..697a48e 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Border.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Border.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Canvas.java b/jdk/make/src/classes/build/tools/generatenimbus/Canvas.java
index 37cd3da..14b3f22 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Canvas.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Canvas.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/ComponentColor.java b/jdk/make/src/classes/build/tools/generatenimbus/ComponentColor.java
index e1d3836..bdaf3e9 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/ComponentColor.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/ComponentColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Dimension.java b/jdk/make/src/classes/build/tools/generatenimbus/Dimension.java
index 9cd202a..c6fd903 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Dimension.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Dimension.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Ellipse.java b/jdk/make/src/classes/build/tools/generatenimbus/Ellipse.java
index 4148a84..5d5f411 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Ellipse.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Ellipse.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Generator.java b/jdk/make/src/classes/build/tools/generatenimbus/Generator.java
index 687e72c..ed9fa3a 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Generator.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Generator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Gradient.java b/jdk/make/src/classes/build/tools/generatenimbus/Gradient.java
index ebf9c7f..0466a9a 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Gradient.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Gradient.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/GradientStop.java b/jdk/make/src/classes/build/tools/generatenimbus/GradientStop.java
index a8bf6a4..566702d 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/GradientStop.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/GradientStop.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Insets.java b/jdk/make/src/classes/build/tools/generatenimbus/Insets.java
index a02ae6c..ac9bdeb 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Insets.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Insets.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Layer.java b/jdk/make/src/classes/build/tools/generatenimbus/Layer.java
index 71c9bf2..7a147f1 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Layer.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Layer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Matte.java b/jdk/make/src/classes/build/tools/generatenimbus/Matte.java
index 0b56ee3..da40fa7 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Matte.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Matte.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/ObjectFactory.java b/jdk/make/src/classes/build/tools/generatenimbus/ObjectFactory.java
index 34533a4..cdff42e 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/ObjectFactory.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/ObjectFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Paint.java b/jdk/make/src/classes/build/tools/generatenimbus/Paint.java
index 4052dcf..6d39d2d 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Paint.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Paint.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/PainterGenerator.java b/jdk/make/src/classes/build/tools/generatenimbus/PainterGenerator.java
index 16a6784..07b016d 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/PainterGenerator.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/PainterGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Path.java b/jdk/make/src/classes/build/tools/generatenimbus/Path.java
index 86ec55b..fe60a73 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Path.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Path.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Point.java b/jdk/make/src/classes/build/tools/generatenimbus/Point.java
index bd71070..600173e 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Point.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Point.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/RadialGradient.java b/jdk/make/src/classes/build/tools/generatenimbus/RadialGradient.java
index b21dd49..1a18a6b 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/RadialGradient.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/RadialGradient.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Rectangle.java b/jdk/make/src/classes/build/tools/generatenimbus/Rectangle.java
index 2d1f1e0..9699665 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Rectangle.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Rectangle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Shape.java b/jdk/make/src/classes/build/tools/generatenimbus/Shape.java
index 0bc3487..eb2240f 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Shape.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Shape.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/SynthModel.java b/jdk/make/src/classes/build/tools/generatenimbus/SynthModel.java
index 4bb5a28..146384c 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/SynthModel.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/SynthModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Typeface.java b/jdk/make/src/classes/build/tools/generatenimbus/Typeface.java
index 8f7dafe..e6f1799 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Typeface.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Typeface.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIColor.java b/jdk/make/src/classes/build/tools/generatenimbus/UIColor.java
index 49f40ca..0948a33 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIColor.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIColor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIComponent.java b/jdk/make/src/classes/build/tools/generatenimbus/UIComponent.java
index d834232..3f960b0 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIComponent.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIComponent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIDefault.java b/jdk/make/src/classes/build/tools/generatenimbus/UIDefault.java
index c38bf2e..54c6bbb 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIDefault.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIDefault.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIFont.java b/jdk/make/src/classes/build/tools/generatenimbus/UIFont.java
index 9fb3fe5..493a107 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIFont.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIFont.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIIconRegion.java b/jdk/make/src/classes/build/tools/generatenimbus/UIIconRegion.java
index 13a887e..0e7befd 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIIconRegion.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIIconRegion.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIProperty.java b/jdk/make/src/classes/build/tools/generatenimbus/UIProperty.java
index f15af24..381db51 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIProperty.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIProperty.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIRegion.java b/jdk/make/src/classes/build/tools/generatenimbus/UIRegion.java
index 8ab77e6..9fa95e6 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIRegion.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIRegion.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIState.java b/jdk/make/src/classes/build/tools/generatenimbus/UIState.java
index 942700f..62dd179 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIState.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIState.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIStateType.java b/jdk/make/src/classes/build/tools/generatenimbus/UIStateType.java
index d8b7db5..aa0d03b 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIStateType.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIStateType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/UIStyle.java b/jdk/make/src/classes/build/tools/generatenimbus/UIStyle.java
index 9bdc9ee..41858f0 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/UIStyle.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/UIStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/make/src/classes/build/tools/generatenimbus/Utils.java b/jdk/make/src/classes/build/tools/generatenimbus/Utils.java
index 2d82bff..dd98280 100644
--- a/jdk/make/src/classes/build/tools/generatenimbus/Utils.java
+++ b/jdk/make/src/classes/build/tools/generatenimbus/Utils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/make/src/classes/build/tools/hasher/Hasher.java b/jdk/make/src/classes/build/tools/hasher/Hasher.java
index 058655e..0357405 100644
--- a/jdk/make/src/classes/build/tools/hasher/Hasher.java
+++ b/jdk/make/src/classes/build/tools/hasher/Hasher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/make/src/classes/build/tools/icondata/osxapp/ToBin.java b/jdk/make/src/classes/build/tools/icondata/osxapp/ToBin.java
index 36a442b..96b0d0a 100644
--- a/jdk/make/src/classes/build/tools/icondata/osxapp/ToBin.java
+++ b/jdk/make/src/classes/build/tools/icondata/osxapp/ToBin.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/jarreorder/JarReorder.java b/jdk/make/src/classes/build/tools/jarreorder/JarReorder.java
index 1d79ad0..d5cc91d 100644
--- a/jdk/make/src/classes/build/tools/jarreorder/JarReorder.java
+++ b/jdk/make/src/classes/build/tools/jarreorder/JarReorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/AbstractCommandNode.java b/jdk/make/src/classes/build/tools/jdwpgen/AbstractCommandNode.java
index f12e7a9..b4b1719 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/AbstractCommandNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/AbstractCommandNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/AbstractGroupNode.java b/jdk/make/src/classes/build/tools/jdwpgen/AbstractGroupNode.java
index 83e8d43..3c18d9a 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/AbstractGroupNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/AbstractGroupNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/AbstractNamedNode.java b/jdk/make/src/classes/build/tools/jdwpgen/AbstractNamedNode.java
index b5ad7ac..a71b894 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/AbstractNamedNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/AbstractNamedNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/AbstractSimpleNode.java b/jdk/make/src/classes/build/tools/jdwpgen/AbstractSimpleNode.java
index 9c908b2..08021d6 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/AbstractSimpleNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/AbstractSimpleNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/AbstractSimpleTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/AbstractSimpleTypeNode.java
index 64638eb..ba983d2 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/AbstractSimpleTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/AbstractSimpleTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/AbstractTypeListNode.java b/jdk/make/src/classes/build/tools/jdwpgen/AbstractTypeListNode.java
index b9d9907..eea9b93 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/AbstractTypeListNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/AbstractTypeListNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/AbstractTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/AbstractTypeNode.java
index 969f843..960a563 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/AbstractTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/AbstractTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/AltNode.java b/jdk/make/src/classes/build/tools/jdwpgen/AltNode.java
index d9dca77..aae18a8 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/AltNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/AltNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ArrayObjectTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ArrayObjectTypeNode.java
index 358aff9..56e8087 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ArrayObjectTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ArrayObjectTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ArrayRegionTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ArrayRegionTypeNode.java
index 8950cbc..3386866 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ArrayRegionTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ArrayRegionTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ArrayTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ArrayTypeNode.java
index 3278b44..dc40acc 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ArrayTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ArrayTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/BooleanTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/BooleanTypeNode.java
index 6f695e5..b5708cc 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/BooleanTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/BooleanTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ByteTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ByteTypeNode.java
index 0945460..725a2f6 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ByteTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ByteTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java
index 1e9d33f..5520e2f 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ClassLoaderObjectTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ClassObjectTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ClassObjectTypeNode.java
index 7da8699..77d792f 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ClassObjectTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ClassObjectTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ClassTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ClassTypeNode.java
index 09c080f..d941d1f 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ClassTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ClassTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/CommandNode.java b/jdk/make/src/classes/build/tools/jdwpgen/CommandNode.java
index 4912133..3e7c48a 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/CommandNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/CommandNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/CommandSetNode.java b/jdk/make/src/classes/build/tools/jdwpgen/CommandSetNode.java
index 6850aa3..738cf61 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/CommandSetNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/CommandSetNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/CommentNode.java b/jdk/make/src/classes/build/tools/jdwpgen/CommentNode.java
index fa0ea73..d5b185b 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/CommentNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/CommentNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ConstantNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ConstantNode.java
index 7561bbb..b23e4cf 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ConstantNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ConstantNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ConstantSetNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ConstantSetNode.java
index ac3d4d9..2801367 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ConstantSetNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ConstantSetNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/Context.java b/jdk/make/src/classes/build/tools/jdwpgen/Context.java
index 42aa05f..9add92e 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/Context.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/Context.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ErrorNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ErrorNode.java
index 3bf6b7c..e7e0e4d 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ErrorNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ErrorNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ErrorSetNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ErrorSetNode.java
index a997779..2cfe505 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ErrorSetNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ErrorSetNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/EventNode.java b/jdk/make/src/classes/build/tools/jdwpgen/EventNode.java
index 68657ff..60c8c4a 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/EventNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/EventNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/FieldTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/FieldTypeNode.java
index cfa0fe3..2e29e1a 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/FieldTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/FieldTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/FrameTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/FrameTypeNode.java
index 131970d..a4aa0ee 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/FrameTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/FrameTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/GroupNode.java b/jdk/make/src/classes/build/tools/jdwpgen/GroupNode.java
index 549c13f..b2d3006 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/GroupNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/GroupNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/IntTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/IntTypeNode.java
index cf40f3f..df96a64 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/IntTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/IntTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/InterfaceTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/InterfaceTypeNode.java
index 302495e..85fb26d 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/InterfaceTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/InterfaceTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/LocationTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/LocationTypeNode.java
index 86d4219..3e8585d 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/LocationTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/LocationTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/LongTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/LongTypeNode.java
index af40baf..7662eaa 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/LongTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/LongTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/Main.java b/jdk/make/src/classes/build/tools/jdwpgen/Main.java
index ecc5ec8..577704e 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/Main.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/Main.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/MethodTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/MethodTypeNode.java
index 3e38ff1..eb64175 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/MethodTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/MethodTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/NameNode.java b/jdk/make/src/classes/build/tools/jdwpgen/NameNode.java
index 0667d40..20dde5d 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/NameNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/NameNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/NameValueNode.java b/jdk/make/src/classes/build/tools/jdwpgen/NameValueNode.java
index 4f237b2e..5fe7402 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/NameValueNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/NameValueNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/Node.java b/jdk/make/src/classes/build/tools/jdwpgen/Node.java
index fe46eb0..aefd53f 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/Node.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/Node.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ObjectTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ObjectTypeNode.java
index 27d7816..f8b8acf 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ObjectTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ObjectTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/OutNode.java b/jdk/make/src/classes/build/tools/jdwpgen/OutNode.java
index a4c673a..979a2e0 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/OutNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/OutNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/Parse.java b/jdk/make/src/classes/build/tools/jdwpgen/Parse.java
index e34f15c..5b172e5 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/Parse.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/Parse.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ReferenceIDTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ReferenceIDTypeNode.java
index 690b742..a5914c8 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ReferenceIDTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ReferenceIDTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ReferenceTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ReferenceTypeNode.java
index f995f33..7ee1976 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ReferenceTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ReferenceTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/RepeatNode.java b/jdk/make/src/classes/build/tools/jdwpgen/RepeatNode.java
index 472e661..a10f6a9 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/RepeatNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/RepeatNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ReplyNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ReplyNode.java
index 66aed82..589bafe 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ReplyNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ReplyNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/RootNode.java b/jdk/make/src/classes/build/tools/jdwpgen/RootNode.java
index 80ad655..8fbd710 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/RootNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/RootNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/SelectNode.java b/jdk/make/src/classes/build/tools/jdwpgen/SelectNode.java
index 506f33b..1f77cfe 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/SelectNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/SelectNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/StringObjectTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/StringObjectTypeNode.java
index 0511be6..131705c 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/StringObjectTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/StringObjectTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/StringTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/StringTypeNode.java
index 2f9261f..0e83d5e 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/StringTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/StringTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/TaggedObjectTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/TaggedObjectTypeNode.java
index 5f6035c..561177b 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/TaggedObjectTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/TaggedObjectTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java
index 3528ea7..19a7054 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ThreadGroupObjectTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ThreadObjectTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ThreadObjectTypeNode.java
index 6eec9ab..340d9a7 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ThreadObjectTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ThreadObjectTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/TypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/TypeNode.java
index b8525e1..a495534 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/TypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/TypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/UntaggedValueTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/UntaggedValueTypeNode.java
index f805be4..f76b2d2 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/UntaggedValueTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/UntaggedValueTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/jdwpgen/ValueTypeNode.java b/jdk/make/src/classes/build/tools/jdwpgen/ValueTypeNode.java
index d7615f9..6370575 100644
--- a/jdk/make/src/classes/build/tools/jdwpgen/ValueTypeNode.java
+++ b/jdk/make/src/classes/build/tools/jdwpgen/ValueTypeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/make/src/classes/build/tools/spp/Spp.java b/jdk/make/src/classes/build/tools/spp/Spp.java
index 22628b3..0e3ca8d 100644
--- a/jdk/make/src/classes/build/tools/spp/Spp.java
+++ b/jdk/make/src/classes/build/tools/spp/Spp.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/stripproperties/StripProperties.java b/jdk/make/src/classes/build/tools/stripproperties/StripProperties.java
index 16fb140..be45a99 100644
--- a/jdk/make/src/classes/build/tools/stripproperties/StripProperties.java
+++ b/jdk/make/src/classes/build/tools/stripproperties/StripProperties.java
@@ -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
diff --git a/jdk/make/src/classes/build/tools/swingbeaninfo/DocBeanInfo.java b/jdk/make/src/classes/build/tools/swingbeaninfo/DocBeanInfo.java
index 8e7e7a3..b30d79b 100644
--- a/jdk/make/src/classes/build/tools/swingbeaninfo/DocBeanInfo.java
+++ b/jdk/make/src/classes/build/tools/swingbeaninfo/DocBeanInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, 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
diff --git a/jdk/make/src/classes/build/tools/swingbeaninfo/GenDocletBeanInfo.java b/jdk/make/src/classes/build/tools/swingbeaninfo/GenDocletBeanInfo.java
index 88e4585..ce7b9af 100644
--- a/jdk/make/src/classes/build/tools/swingbeaninfo/GenDocletBeanInfo.java
+++ b/jdk/make/src/classes/build/tools/swingbeaninfo/GenDocletBeanInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/make/src/classes/build/tools/swingbeaninfo/GenSwingBeanInfo.java b/jdk/make/src/classes/build/tools/swingbeaninfo/GenSwingBeanInfo.java
index d188cb9..0a8a686 100644
--- a/jdk/make/src/classes/build/tools/swingbeaninfo/GenSwingBeanInfo.java
+++ b/jdk/make/src/classes/build/tools/swingbeaninfo/GenSwingBeanInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java b/jdk/make/src/classes/build/tools/x11wrappergen/WrapperGenerator.java
similarity index 99%
rename from jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java
rename to jdk/make/src/classes/build/tools/x11wrappergen/WrapperGenerator.java
index 9da0fd9..e3a68c4 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java
+++ b/jdk/make/src/classes/build/tools/x11wrappergen/WrapperGenerator.java
@@ -23,6 +23,8 @@
* questions.
*/
+package build.tools.x11wrappergen;
+
import java.util.*;
import java.io.*;
import java.nio.charset.*;
diff --git a/jdk/make/src/native/add_gnu_debuglink/add_gnu_debuglink.c b/jdk/make/src/native/add_gnu_debuglink/add_gnu_debuglink.c
index 3cb2dc4..b65457c 100644
--- a/jdk/make/src/native/add_gnu_debuglink/add_gnu_debuglink.c
+++ b/jdk/make/src/native/add_gnu_debuglink/add_gnu_debuglink.c
@@ -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
diff --git a/jdk/make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c b/jdk/make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c
index 6582d95..68bd093 100644
--- a/jdk/make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c
+++ b/jdk/make/src/native/fix_empty_sec_hdr_flags/fix_empty_sec_hdr_flags.c
@@ -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
diff --git a/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c b/jdk/make/src/native/genconstants/ch/genSocketOptionRegistry.c
similarity index 100%
rename from jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c
rename to jdk/make/src/native/genconstants/ch/genSocketOptionRegistry.c
diff --git a/jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c b/jdk/make/src/native/genconstants/fs/genSolarisConstants.c
similarity index 100%
rename from jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c
rename to jdk/make/src/native/genconstants/fs/genSolarisConstants.c
diff --git a/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c b/jdk/make/src/native/genconstants/fs/genUnixConstants.c
similarity index 100%
rename from jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c
rename to jdk/make/src/native/genconstants/fs/genUnixConstants.c
diff --git a/jdk/src/aix/classes/sun/nio/ch/AixPollPort.java b/jdk/src/aix/classes/sun/nio/ch/AixPollPort.java
index 2db99a7..a7a9545 100644
--- a/jdk/src/aix/classes/sun/nio/ch/AixPollPort.java
+++ b/jdk/src/aix/classes/sun/nio/ch/AixPollPort.java
@@ -107,6 +107,7 @@
private final ArrayBlockingQueue<Event> queue;
private final Event NEED_TO_POLL = new Event(null, 0);
private final Event EXECUTE_TASK_OR_SHUTDOWN = new Event(null, 0);
+ private final Event CONTINUE_AFTER_CTL_EVENT = new Event(null, 0);
// encapsulates a pollset control event for a file descriptor
static class ControlEvent {
@@ -342,7 +343,11 @@
// To emulate one shot semantic we need to remove
// the file descriptor here.
- pollsetCtl(pollset, PS_DELETE, fd, 0);
+ if (fd != sp[0] && fd != ctlSp[0]) {
+ synchronized (controlQueue) {
+ pollsetCtl(pollset, PS_DELETE, fd, 0);
+ }
+ }
// wakeup
if (fd == sp[0]) {
@@ -351,10 +356,6 @@
drain1(sp[0]);
}
- // This is the only file descriptor without
- // one shot semantic => register it again.
- pollsetCtl(pollset, PS_ADD, sp[0], Net.POLLIN);
-
// queue special event if there are more events
// to handle.
if (n > 0) {
@@ -368,12 +369,12 @@
if (fd == ctlSp[0]) {
synchronized (controlQueue) {
drain1(ctlSp[0]);
- // This file descriptor does not have
- // one shot semantic => register it again.
- pollsetCtl(pollset, PS_ADD, ctlSp[0], Net.POLLIN);
processControlQueue();
}
- continue;
+ if (n > 0) {
+ continue;
+ }
+ return CONTINUE_AFTER_CTL_EVENT;
}
PollableChannel channel = fdToChannel.get(fd);
@@ -431,6 +432,11 @@
continue;
}
+ // contine after we processed a control event
+ if (ev == CONTINUE_AFTER_CTL_EVENT) {
+ continue;
+ }
+
// handle wakeup to execute task or shutdown
if (ev == EXECUTE_TASK_OR_SHUTDOWN) {
Runnable task = pollTask();
diff --git a/jdk/src/aix/native/java/net/aix_close.c b/jdk/src/aix/native/java/net/aix_close.c
index e6e64ff..148e05d 100644
--- a/jdk/src/aix/native/java/net/aix_close.c
+++ b/jdk/src/aix/native/java/net/aix_close.c
@@ -38,6 +38,18 @@
* (see aix_close_init).
*
*/
+
+/*
+ AIX needs a workaround for I/O cancellation, see:
+ http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.basetechref/doc/basetrf1/close.htm
+ ...
+ The close subroutine is blocked until all subroutines which use the file
+ descriptor return to usr space. For example, when a thread is calling close
+ and another thread is calling select with the same file descriptor, the
+ close subroutine does not return until the select call returns.
+ ...
+*/
+
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
@@ -49,7 +61,6 @@
#include <sys/uio.h>
#include <unistd.h>
#include <errno.h>
-
#include <sys/poll.h>
/*
@@ -362,17 +373,9 @@
BLOCKING_IO_RETURN_INT( s, connect(s, addr, addrlen) );
}
-#ifndef USE_SELECT
int NET_Poll(struct pollfd *ufds, unsigned int nfds, int timeout) {
BLOCKING_IO_RETURN_INT( ufds[0].fd, poll(ufds, nfds, timeout) );
}
-#else
-int NET_Select(int s, fd_set *readfds, fd_set *writefds,
- fd_set *exceptfds, struct timeval *timeout) {
- BLOCKING_IO_RETURN_INT( s-1,
- select(s, readfds, writefds, exceptfds, timeout) );
-}
-#endif
/*
* Wrapper for poll(s, timeout).
diff --git a/jdk/src/aix/native/sun/nio/ch/AixNativeThread.c b/jdk/src/aix/native/sun/nio/ch/AixNativeThread.c
new file mode 100644
index 0000000..c0d5857
--- /dev/null
+++ b/jdk/src/aix/native/sun/nio/ch/AixNativeThread.c
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2002, 2014, 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.
+ */
+
+#include <sys/types.h>
+#include <string.h>
+#include "jni.h"
+#include "jni_util.h"
+#include "jvm.h"
+#include "jlong.h"
+#include "sun_nio_ch_NativeThread.h"
+
+#include <pthread.h>
+#include <sys/signal.h>
+
+/* Also defined in src/aix/native/java/net/aix_close.c */
+#define INTERRUPT_SIGNAL (SIGRTMAX - 1)
+
+static void
+nullHandler(int sig)
+{
+}
+
+
+JNIEXPORT void JNICALL
+Java_sun_nio_ch_NativeThread_init(JNIEnv *env, jclass cl)
+{
+ /* Install the null handler for INTERRUPT_SIGNAL. This might overwrite the
+ * handler previously installed by java/net/aix_close.c, but that's okay
+ * since neither handler actually does anything. We install our own
+ * handler here simply out of paranoia; ultimately the two mechanisms
+ * should somehow be unified, perhaps within the VM.
+ */
+
+ sigset_t ss;
+ struct sigaction sa, osa;
+ sa.sa_handler = nullHandler;
+ sa.sa_flags = 0;
+ sigemptyset(&sa.sa_mask);
+ if (sigaction(INTERRUPT_SIGNAL, &sa, &osa) < 0)
+ JNU_ThrowIOExceptionWithLastError(env, "sigaction");
+}
+
+JNIEXPORT jlong JNICALL
+Java_sun_nio_ch_NativeThread_current(JNIEnv *env, jclass cl)
+{
+ return (long)pthread_self();
+}
+
+JNIEXPORT void JNICALL
+Java_sun_nio_ch_NativeThread_signal(JNIEnv *env, jclass cl, jlong thread)
+{
+ if (pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL))
+ JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed");
+}
diff --git a/jdk/src/macosx/bin/java_md_macosx.c b/jdk/src/macosx/bin/java_md_macosx.c
index 3aeb018..248d2cb 100644
--- a/jdk/src/macosx/bin/java_md_macosx.c
+++ b/jdk/src/macosx/bin/java_md_macosx.c
@@ -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
diff --git a/jdk/src/macosx/bundle/JavaAppLauncher/src/JVMArgs.m b/jdk/src/macosx/bundle/JavaAppLauncher/src/JVMArgs.m
index e2d9041..1f4af01 100644
--- a/jdk/src/macosx/bundle/JavaAppLauncher/src/JVMArgs.m
+++ b/jdk/src/macosx/bundle/JavaAppLauncher/src/JVMArgs.m
@@ -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
diff --git a/jdk/src/macosx/classes/apple/applescript/AppleScriptEngine.java b/jdk/src/macosx/classes/apple/applescript/AppleScriptEngine.java
index e50f218..8ef8116 100644
--- a/jdk/src/macosx/classes/apple/applescript/AppleScriptEngine.java
+++ b/jdk/src/macosx/classes/apple/applescript/AppleScriptEngine.java
@@ -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
diff --git a/jdk/src/macosx/classes/apple/laf/AquaLookAndFeel.java b/jdk/src/macosx/classes/apple/laf/AquaLookAndFeel.java
index ab4eaf0..805bb4e 100644
--- a/jdk/src/macosx/classes/apple/laf/AquaLookAndFeel.java
+++ b/jdk/src/macosx/classes/apple/laf/AquaLookAndFeel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/apple/laf/JRSUIControl.java b/jdk/src/macosx/classes/apple/laf/JRSUIControl.java
index f36bbcd..28df9de 100644
--- a/jdk/src/macosx/classes/apple/laf/JRSUIControl.java
+++ b/jdk/src/macosx/classes/apple/laf/JRSUIControl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/apple/laf/JRSUIFocus.java b/jdk/src/macosx/classes/apple/laf/JRSUIFocus.java
index 2b40bc5..8d0a83f 100644
--- a/jdk/src/macosx/classes/apple/laf/JRSUIFocus.java
+++ b/jdk/src/macosx/classes/apple/laf/JRSUIFocus.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/apple/laf/JRSUIState.java b/jdk/src/macosx/classes/apple/laf/JRSUIState.java
index 3d95fe4..867f93d 100644
--- a/jdk/src/macosx/classes/apple/laf/JRSUIState.java
+++ b/jdk/src/macosx/classes/apple/laf/JRSUIState.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/apple/laf/JRSUIStateFactory.java b/jdk/src/macosx/classes/apple/laf/JRSUIStateFactory.java
index 81429ae..8b3049c 100644
--- a/jdk/src/macosx/classes/apple/laf/JRSUIStateFactory.java
+++ b/jdk/src/macosx/classes/apple/laf/JRSUIStateFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/apple/laf/JRSUIUtils.java b/jdk/src/macosx/classes/apple/laf/JRSUIUtils.java
index 4a5ef38..b088a12 100644
--- a/jdk/src/macosx/classes/apple/laf/JRSUIUtils.java
+++ b/jdk/src/macosx/classes/apple/laf/JRSUIUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/AboutHandler.java b/jdk/src/macosx/classes/com/apple/eawt/AboutHandler.java
index 4bc7185..fbc4e36 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/AboutHandler.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/AboutHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/AppEvent.java b/jdk/src/macosx/classes/com/apple/eawt/AppEvent.java
index 8a1e36a..d2d9575 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/AppEvent.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/AppEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/AppEventListener.java b/jdk/src/macosx/classes/com/apple/eawt/AppEventListener.java
index 5685bff..77a901b 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/AppEventListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/AppEventListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/AppForegroundListener.java b/jdk/src/macosx/classes/com/apple/eawt/AppForegroundListener.java
index 7892540..3677993 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/AppForegroundListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/AppForegroundListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/AppHiddenListener.java b/jdk/src/macosx/classes/com/apple/eawt/AppHiddenListener.java
index 39761f4..e7b237c 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/AppHiddenListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/AppHiddenListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/AppReOpenedListener.java b/jdk/src/macosx/classes/com/apple/eawt/AppReOpenedListener.java
index 655e04b..dd5ac14 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/AppReOpenedListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/AppReOpenedListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/Application.java b/jdk/src/macosx/classes/com/apple/eawt/Application.java
index e761a5a..9b7b959 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/Application.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/ApplicationAdapter.java b/jdk/src/macosx/classes/com/apple/eawt/ApplicationAdapter.java
index 73a96d7..bf78e58 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/ApplicationAdapter.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/ApplicationAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/ApplicationBeanInfo.java b/jdk/src/macosx/classes/com/apple/eawt/ApplicationBeanInfo.java
index ee960f6..e9cc203 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/ApplicationBeanInfo.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/ApplicationBeanInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/ApplicationEvent.java b/jdk/src/macosx/classes/com/apple/eawt/ApplicationEvent.java
index 72bb391..482075d 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/ApplicationEvent.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/ApplicationEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/ApplicationListener.java b/jdk/src/macosx/classes/com/apple/eawt/ApplicationListener.java
index ebb2ad8..14e3386 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/ApplicationListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/ApplicationListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/FullScreenAdapter.java b/jdk/src/macosx/classes/com/apple/eawt/FullScreenAdapter.java
index 3900c2e..8e60b7b 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/FullScreenAdapter.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/FullScreenAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/FullScreenListener.java b/jdk/src/macosx/classes/com/apple/eawt/FullScreenListener.java
index 8b1b442..4872ad7 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/FullScreenListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/FullScreenListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/FullScreenUtilities.java b/jdk/src/macosx/classes/com/apple/eawt/FullScreenUtilities.java
index bd02d70..682c07e 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/FullScreenUtilities.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/FullScreenUtilities.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/OpenFilesHandler.java b/jdk/src/macosx/classes/com/apple/eawt/OpenFilesHandler.java
index f7c8327..1a7959f 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/OpenFilesHandler.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/OpenFilesHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/OpenURIHandler.java b/jdk/src/macosx/classes/com/apple/eawt/OpenURIHandler.java
index 398c82d..3197f15 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/OpenURIHandler.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/OpenURIHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/PreferencesHandler.java b/jdk/src/macosx/classes/com/apple/eawt/PreferencesHandler.java
index a3871fc..985ea37 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/PreferencesHandler.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/PreferencesHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/PrintFilesHandler.java b/jdk/src/macosx/classes/com/apple/eawt/PrintFilesHandler.java
index f76ca4a..195c1cd 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/PrintFilesHandler.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/PrintFilesHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/QuitHandler.java b/jdk/src/macosx/classes/com/apple/eawt/QuitHandler.java
index d211b16..d1292da 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/QuitHandler.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/QuitHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/QuitResponse.java b/jdk/src/macosx/classes/com/apple/eawt/QuitResponse.java
index 6c181ee..18b4db5 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/QuitResponse.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/QuitResponse.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/QuitStrategy.java b/jdk/src/macosx/classes/com/apple/eawt/QuitStrategy.java
index 2aa310e..89c8be0 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/QuitStrategy.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/QuitStrategy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/ScreenSleepListener.java b/jdk/src/macosx/classes/com/apple/eawt/ScreenSleepListener.java
index 565f92e..1953d28 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/ScreenSleepListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/ScreenSleepListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/SystemSleepListener.java b/jdk/src/macosx/classes/com/apple/eawt/SystemSleepListener.java
index 68f6823..0b2aa92 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/SystemSleepListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/SystemSleepListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/UserSessionListener.java b/jdk/src/macosx/classes/com/apple/eawt/UserSessionListener.java
index f74c23a..5d706a5 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/UserSessionListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/UserSessionListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/_AppDockIconHandler.java b/jdk/src/macosx/classes/com/apple/eawt/_AppDockIconHandler.java
index acb01eb..e91efea 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/_AppDockIconHandler.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/_AppDockIconHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/_AppEventLegacyHandler.java b/jdk/src/macosx/classes/com/apple/eawt/_AppEventLegacyHandler.java
index 493999c..b0556e3 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/_AppEventLegacyHandler.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/_AppEventLegacyHandler.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java b/jdk/src/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java
index 270c5fc..f63441b 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/_AppMenuBarHandler.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/_AppMiscHandlers.java b/jdk/src/macosx/classes/com/apple/eawt/_AppMiscHandlers.java
index 0e1755e..6f892ca 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/_AppMiscHandlers.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/_AppMiscHandlers.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/GestureAdapter.java b/jdk/src/macosx/classes/com/apple/eawt/event/GestureAdapter.java
index 5cb50dd..6e17f53 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/GestureAdapter.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/GestureAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/GestureEvent.java b/jdk/src/macosx/classes/com/apple/eawt/event/GestureEvent.java
index f13306b..7c35589 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/GestureEvent.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/GestureEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/GestureListener.java b/jdk/src/macosx/classes/com/apple/eawt/event/GestureListener.java
index b831cd7..0489357 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/GestureListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/GestureListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/GesturePhaseEvent.java b/jdk/src/macosx/classes/com/apple/eawt/event/GesturePhaseEvent.java
index 06cc8a1..e18d4d5 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/GesturePhaseEvent.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/GesturePhaseEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/GesturePhaseListener.java b/jdk/src/macosx/classes/com/apple/eawt/event/GesturePhaseListener.java
index f10c4f7..c0fc343 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/GesturePhaseListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/GesturePhaseListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/GestureUtilities.java b/jdk/src/macosx/classes/com/apple/eawt/event/GestureUtilities.java
index 704cb28..8b70a0c 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/GestureUtilities.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/GestureUtilities.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/MagnificationEvent.java b/jdk/src/macosx/classes/com/apple/eawt/event/MagnificationEvent.java
index eb7d135..dd6b744 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/MagnificationEvent.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/MagnificationEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/MagnificationListener.java b/jdk/src/macosx/classes/com/apple/eawt/event/MagnificationListener.java
index fcacffe..35130ba 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/MagnificationListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/MagnificationListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/RotationEvent.java b/jdk/src/macosx/classes/com/apple/eawt/event/RotationEvent.java
index ff4b064..19d6cbd 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/RotationEvent.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/RotationEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/RotationListener.java b/jdk/src/macosx/classes/com/apple/eawt/event/RotationListener.java
index 8d89beb..ae3ed06 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/RotationListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/RotationListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/SwipeEvent.java b/jdk/src/macosx/classes/com/apple/eawt/event/SwipeEvent.java
index 2b09e34..ddcf220 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/SwipeEvent.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/SwipeEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/eawt/event/SwipeListener.java b/jdk/src/macosx/classes/com/apple/eawt/event/SwipeListener.java
index f198bc9..cfbbdc2 100644
--- a/jdk/src/macosx/classes/com/apple/eawt/event/SwipeListener.java
+++ b/jdk/src/macosx/classes/com/apple/eawt/event/SwipeListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaBorder.java
index 640cafe..dfb6fdd 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaBorder.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaButtonBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaButtonBorder.java
index 80ccd72..f76a8d3 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaButtonBorder.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaButtonBorder.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaButtonCheckBoxUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaButtonCheckBoxUI.java
index a022eca..d467cca 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaButtonCheckBoxUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaButtonCheckBoxUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaButtonExtendedTypes.java b/jdk/src/macosx/classes/com/apple/laf/AquaButtonExtendedTypes.java
index a370dc5..2735eb4 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaButtonExtendedTypes.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaButtonExtendedTypes.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java
index d9ebdd0..eba20b9 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaButtonRadioUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaButtonRadioUI.java
index ebe6306..cb46534 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaButtonRadioUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaButtonRadioUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaButtonToggleUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaButtonToggleUI.java
index 067aa2f..d61126e 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaButtonToggleUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaButtonToggleUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaButtonUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaButtonUI.java
index 7f002d6..0f2f4d9 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaButtonUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaButtonUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaCaret.java b/jdk/src/macosx/classes/com/apple/laf/AquaCaret.java
index 55290b6..edb2bea 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaCaret.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaCaret.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxButton.java b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxButton.java
index 355447e..1d902d0 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxButton.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxButton.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java
index 75864f9..0607f9c 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java
index fc60e53..181ad99 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaComboBoxRenderer.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaEditorPaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaEditorPaneUI.java
index b1bf7d3..d29adb2 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaEditorPaneUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaEditorPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java
index 5669d10..18136da 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFileSystemModel.java b/jdk/src/macosx/classes/com/apple/laf/AquaFileSystemModel.java
index d41b036..31c2493 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaFileSystemModel.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaFileSystemModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFileView.java b/jdk/src/macosx/classes/com/apple/laf/AquaFileView.java
index 6f09963..dccd9bc 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaFileView.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaFileView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFocus.java b/jdk/src/macosx/classes/com/apple/laf/AquaFocus.java
index d21f348..acdd441 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaFocus.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaFocus.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFocusHandler.java b/jdk/src/macosx/classes/com/apple/laf/AquaFocusHandler.java
index 4ce9c38..d5fec4e 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaFocusHandler.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaFocusHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFonts.java b/jdk/src/macosx/classes/com/apple/laf/AquaFonts.java
index 4924c12..79f032a 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaFonts.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaFonts.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaGroupBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaGroupBorder.java
index ab24677..2916eb1 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaGroupBorder.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaGroupBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaHighlighter.java b/jdk/src/macosx/classes/com/apple/laf/AquaHighlighter.java
index bdef431..9f4f81f 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaHighlighter.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaHighlighter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java b/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java
index 7ef8392..fbc38d8 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaIcon.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java b/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java
index fe8ea710c..63ee3cf 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaImageFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameBorder.java
index 66e726b..ef5ca43 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameBorder.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameBorderMetrics.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameBorderMetrics.java
index 3f489b9..f3a12e1 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameBorderMetrics.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameBorderMetrics.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java
index 43b7661a..80ba1bb 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameManager.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameManager.java
index ccefa0f..a229b19 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameManager.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java
index 466c779..c21575d 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFramePaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java
index fca4478..dd0267c 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaInternalFrameUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaLabelUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaLabelUI.java
index cef2488..bb24f60 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaLabelUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaLabelUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaListUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaListUI.java
index 661e1f0..91636ca 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaListUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaListUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaLookAndFeel.java b/jdk/src/macosx/classes/com/apple/laf/AquaLookAndFeel.java
index b2cf557..baa5c61 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaLookAndFeel.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaLookAndFeel.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaMenuBarBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaMenuBarBorder.java
index f8baa79..389eb4c 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaMenuBarBorder.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaMenuBarBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaMenuBarUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaMenuBarUI.java
index e2a4caf..c884e6d 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaMenuBarUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaMenuBarUI.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaMenuBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaMenuBorder.java
index 2e2d19b..207e35c 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaMenuBorder.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaMenuBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaMenuItemUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaMenuItemUI.java
index e9b8e00..dd3790d 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaMenuItemUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaMenuItemUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaMenuPainter.java b/jdk/src/macosx/classes/com/apple/laf/AquaMenuPainter.java
index 57e51e2..53feb41 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaMenuPainter.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaMenuPainter.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaMenuUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaMenuUI.java
index 8ebaab6..450bf54 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaMenuUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaMenuUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaMnemonicHandler.java b/jdk/src/macosx/classes/com/apple/laf/AquaMnemonicHandler.java
index 46b0417..be5ab65 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaMnemonicHandler.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaMnemonicHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaNativeResources.java b/jdk/src/macosx/classes/com/apple/laf/AquaNativeResources.java
index 8923a03..e0e7c41 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaNativeResources.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaNativeResources.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaOptionPaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaOptionPaneUI.java
index 2ff885e..c1a57e5 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaOptionPaneUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaOptionPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaPanelUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaPanelUI.java
index 960705b..f03a7f9 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaPanelUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaPanelUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaPopupMenuSeparatorUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaPopupMenuSeparatorUI.java
index 24fe678..be4a06f 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaPopupMenuSeparatorUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaPopupMenuSeparatorUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaPopupMenuUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaPopupMenuUI.java
index 8d78040..6facaf0 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaPopupMenuUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaPopupMenuUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaProgressBarUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaProgressBarUI.java
index ce70ee4..1ac16c3 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaProgressBarUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaProgressBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaRootPaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaRootPaneUI.java
index 6f3c1f2..93888e7 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaRootPaneUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaRootPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaScrollBarUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaScrollBarUI.java
index f141bbc..92e3423 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaScrollBarUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaScrollBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaScrollPaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaScrollPaneUI.java
index 39eb640..3241ab1 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaScrollPaneUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaScrollPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaScrollRegionBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaScrollRegionBorder.java
index fd2080e..596506f 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaScrollRegionBorder.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaScrollRegionBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaSliderUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaSliderUI.java
index 0870ebe..65ed9d7 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaSliderUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaSliderUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaSpinnerUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaSpinnerUI.java
index 3256c96..f7bfd92 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaSpinnerUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaSpinnerUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java
index ebedd36..81b4c5b 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneDividerUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneUI.java
index 607563d..b9ec41b 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaSplitPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneContrastUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneContrastUI.java
index 46ab9cf..2c899a4 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneContrastUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneContrastUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java
index 353eb10..4bd2570 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneTabState.java b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneTabState.java
index 52140bc..87afcc6 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneTabState.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneTabState.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java
index 39b5576..5c3ce82 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTabbedPaneUI.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java
index d8f1dbb..d103065 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderUI.java
index 99414f3..656a89c 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTableHeaderUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTableUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTableUI.java
index 6dd909d..5915530 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTableUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTableUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTextAreaUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTextAreaUI.java
index eea400f..1fec3e47 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTextAreaUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTextAreaUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldBorder.java b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldBorder.java
index c0ee26a..f4e9f20 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldBorder.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldFormattedUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldFormattedUI.java
index d532c6a..bf258df 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldFormattedUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldFormattedUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldSearch.java b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldSearch.java
index 68d6255..b6492a3 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldSearch.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldSearch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldUI.java
index 075f641..79e3bcf 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTextFieldUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTextPaneUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTextPaneUI.java
index dbec2e5..9cbc6f3 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTextPaneUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTextPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTextPasswordFieldUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTextPasswordFieldUI.java
index 157f6f5e..82f32a5 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTextPasswordFieldUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTextPasswordFieldUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaToolBarSeparatorUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaToolBarSeparatorUI.java
index 9c1d180..a3d7b6e 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaToolBarSeparatorUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaToolBarSeparatorUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaToolBarUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaToolBarUI.java
index bf87e2d..21fd8ab 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaToolBarUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaToolBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaToolTipUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaToolTipUI.java
index a3fbbec..9a9f5b3 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaToolTipUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaToolTipUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaTreeUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaTreeUI.java
index 0caf12d..4ebbbed 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaTreeUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaTreeUI.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaUtilControlSize.java b/jdk/src/macosx/classes/com/apple/laf/AquaUtilControlSize.java
index 61ab08b..b64595f 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaUtilControlSize.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaUtilControlSize.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/ClientPropertyApplicator.java b/jdk/src/macosx/classes/com/apple/laf/ClientPropertyApplicator.java
index bf40515..665c931 100644
--- a/jdk/src/macosx/classes/com/apple/laf/ClientPropertyApplicator.java
+++ b/jdk/src/macosx/classes/com/apple/laf/ClientPropertyApplicator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBar.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBar.java
index c0d515d..94fea5f 100644
--- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBar.java
+++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBar.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBarProvider.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBarProvider.java
index 4e59591..aaa0717 100644
--- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBarProvider.java
+++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuBarProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItem.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItem.java
index 6852ea0..c403b8b 100644
--- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItem.java
+++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java
index bd922f3..92b6afe 100644
--- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java
+++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemCheckbox.java
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemUI.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemUI.java
index d3754bd..bc09a847 100644
--- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuItemUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuPropertyHandler.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuPropertyHandler.java
index 1f9d2e3..dd4e2af 100644
--- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuPropertyHandler.java
+++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuPropertyHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuPropertyListener.java b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuPropertyListener.java
index 7d2f970..cce9383 100644
--- a/jdk/src/macosx/classes/com/apple/laf/ScreenMenuPropertyListener.java
+++ b/jdk/src/macosx/classes/com/apple/laf/ScreenMenuPropertyListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/ScreenPopupFactory.java b/jdk/src/macosx/classes/com/apple/laf/ScreenPopupFactory.java
index c3a09f0..1ab50a1 100644
--- a/jdk/src/macosx/classes/com/apple/laf/ScreenPopupFactory.java
+++ b/jdk/src/macosx/classes/com/apple/laf/ScreenPopupFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua.properties
index ac14702..3eb38a2 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_de.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_de.properties
index 0fdcd42..42a6287 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_de.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_de.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_es.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_es.properties
index 77c50d5..837c074d 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_es.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_es.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_fr.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_fr.properties
index 7774ee6..7ce9891 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_fr.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_fr.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_it.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_it.properties
index 3114dd7..29805e5 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_it.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_it.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_ja.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_ja.properties
index 07e6a0e..e8f8a62 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_ja.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_ja.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_ko.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_ko.properties
index 82c4ce2..597b5b6 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_ko.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_ko.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_pt_BR.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_pt_BR.properties
index bebcc77..5a2d021 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_pt_BR.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_pt_BR.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_sv.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_sv.properties
index 2a7383f..7891d9d 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_sv.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_sv.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_zh_CN.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_zh_CN.properties
index 13ba51a..65d8738 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_zh_CN.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_zh_CN.properties
@@ -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
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_zh_TW.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_zh_TW.properties
index a886eda..49216d2 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua_zh_TW.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua_zh_TW.properties
@@ -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
diff --git a/jdk/src/macosx/classes/java/net/DefaultInterface.java b/jdk/src/macosx/classes/java/net/DefaultInterface.java
index ba032cf..93381a6 100644
--- a/jdk/src/macosx/classes/java/net/DefaultInterface.java
+++ b/jdk/src/macosx/classes/java/net/DefaultInterface.java
@@ -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
diff --git a/jdk/src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java b/jdk/src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java
index ce63833..6553ff6 100644
--- a/jdk/src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java
+++ b/jdk/src/macosx/classes/java/util/prefs/MacOSXPreferencesFile.java
@@ -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
@@ -82,7 +82,7 @@
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
public Void run() {
- System.loadLibrary("osx");
+ System.loadLibrary("prefs");
return null;
}
});
diff --git a/jdk/src/macosx/classes/sun/awt/CGraphicsConfig.java b/jdk/src/macosx/classes/sun/awt/CGraphicsConfig.java
index 055af2e..bfc464c 100644
--- a/jdk/src/macosx/classes/sun/awt/CGraphicsConfig.java
+++ b/jdk/src/macosx/classes/sun/awt/CGraphicsConfig.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/awt/FullScreenCapable.java b/jdk/src/macosx/classes/sun/awt/FullScreenCapable.java
index 23e84ee..bdaff93 100644
--- a/jdk/src/macosx/classes/sun/awt/FullScreenCapable.java
+++ b/jdk/src/macosx/classes/sun/awt/FullScreenCapable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/font/CCharToGlyphMapper.java b/jdk/src/macosx/classes/sun/font/CCharToGlyphMapper.java
index bcad3c0..d2f9a54 100644
--- a/jdk/src/macosx/classes/sun/font/CCharToGlyphMapper.java
+++ b/jdk/src/macosx/classes/sun/font/CCharToGlyphMapper.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/font/CFont.java b/jdk/src/macosx/classes/sun/font/CFont.java
index a787c77..0173bfc 100644
--- a/jdk/src/macosx/classes/sun/font/CFont.java
+++ b/jdk/src/macosx/classes/sun/font/CFont.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/font/CFontConfiguration.java b/jdk/src/macosx/classes/sun/font/CFontConfiguration.java
index ee70fc5..b719759 100644
--- a/jdk/src/macosx/classes/sun/font/CFontConfiguration.java
+++ b/jdk/src/macosx/classes/sun/font/CFontConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/font/CStrikeDisposer.java b/jdk/src/macosx/classes/sun/font/CStrikeDisposer.java
index 661bd6a..b0c8c78 100644
--- a/jdk/src/macosx/classes/sun/font/CStrikeDisposer.java
+++ b/jdk/src/macosx/classes/sun/font/CStrikeDisposer.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/java2d/BackBufferCapsProvider.java b/jdk/src/macosx/classes/sun/java2d/BackBufferCapsProvider.java
index 155550f..d692c42 100644
--- a/jdk/src/macosx/classes/sun/java2d/BackBufferCapsProvider.java
+++ b/jdk/src/macosx/classes/sun/java2d/BackBufferCapsProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/java2d/CompositeCRenderer.java b/jdk/src/macosx/classes/sun/java2d/CompositeCRenderer.java
index f7d6ab4..c36472e 100644
--- a/jdk/src/macosx/classes/sun/java2d/CompositeCRenderer.java
+++ b/jdk/src/macosx/classes/sun/java2d/CompositeCRenderer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/java2d/DataBufferNIOInt.java b/jdk/src/macosx/classes/sun/java2d/DataBufferNIOInt.java
index e1c6039..08f5ef2 100644
--- a/jdk/src/macosx/classes/sun/java2d/DataBufferNIOInt.java
+++ b/jdk/src/macosx/classes/sun/java2d/DataBufferNIOInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/java2d/IntegerNIORaster.java b/jdk/src/macosx/classes/sun/java2d/IntegerNIORaster.java
index 3a7eb16..59101b7 100644
--- a/jdk/src/macosx/classes/sun/java2d/IntegerNIORaster.java
+++ b/jdk/src/macosx/classes/sun/java2d/IntegerNIORaster.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/java2d/MacosxSurfaceManagerFactory.java b/jdk/src/macosx/classes/sun/java2d/MacosxSurfaceManagerFactory.java
index 1cfbde9..a18b1fb 100644
--- a/jdk/src/macosx/classes/sun/java2d/MacosxSurfaceManagerFactory.java
+++ b/jdk/src/macosx/classes/sun/java2d/MacosxSurfaceManagerFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/java2d/OSXOffScreenSurfaceData.java b/jdk/src/macosx/classes/sun/java2d/OSXOffScreenSurfaceData.java
index ad854a8..9f4f5b2 100644
--- a/jdk/src/macosx/classes/sun/java2d/OSXOffScreenSurfaceData.java
+++ b/jdk/src/macosx/classes/sun/java2d/OSXOffScreenSurfaceData.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java b/jdk/src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
index 637cd3a..5e45f4d 100644
--- a/jdk/src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
+++ b/jdk/src/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java b/jdk/src/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java
index 70b7ff9..754e8f2 100644
--- a/jdk/src/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java
+++ b/jdk/src/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/java2d/opengl/CGLVolatileSurfaceManager.java b/jdk/src/macosx/classes/sun/java2d/opengl/CGLVolatileSurfaceManager.java
index 4f6d8e9..4aff9e8 100644
--- a/jdk/src/macosx/classes/sun/java2d/opengl/CGLVolatileSurfaceManager.java
+++ b/jdk/src/macosx/classes/sun/java2d/opengl/CGLVolatileSurfaceManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/PlatformComponent.java b/jdk/src/macosx/classes/sun/lwawt/PlatformComponent.java
index 836a19c..7f7913a 100644
--- a/jdk/src/macosx/classes/sun/lwawt/PlatformComponent.java
+++ b/jdk/src/macosx/classes/sun/lwawt/PlatformComponent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessibility.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessibility.java
index 97c5ef9..736a1ff 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessibility.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessibility.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessible.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessible.java
index 54bc1b1..c5611c4 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessible.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessible.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessibleText.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessibleText.java
index 8bbca33..0237ef9 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessibleText.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CAccessibleText.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CClipboard.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CClipboard.java
index a0da9e8..df5f217 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CClipboard.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CClipboard.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CCursorManager.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CCursorManager.java
index 1a1f6d5..e4abc5f 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CCursorManager.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CCursorManager.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java
index fd1512f..70a0874 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CCustomCursor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java
index b4f0f97..dcee9ce 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CDataTransferer.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CDesktopPeer.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CDesktopPeer.java
index 142d9a5..39e5afe 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CDesktopPeer.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CDesktopPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java
index c46cb52..92f2b6d 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CDragSourceContextPeer.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CDropTarget.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CDropTarget.java
index 7db8c5f..910e140 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CDropTarget.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CDropTarget.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java
index 4c71a22..3e99e26 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CDropTargetContextPeer.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java
index ae7d363..570a2ac 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CEmbeddedFrame.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CFRetainedResource.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CFRetainedResource.java
index a92545e..cec76f5 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CFRetainedResource.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CFRetainedResource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java
index d764b95..a861133 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CImage.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CInputMethod.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CInputMethod.java
index 3f6109a..eef5284 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CInputMethod.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CInputMethod.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CInputMethodDescriptor.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CInputMethodDescriptor.java
index d25d508..d922d02 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CInputMethodDescriptor.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CInputMethodDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenu.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenu.java
index cad1b36..9e1499b 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenu.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenu.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuBar.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuBar.java
index 8f7e7a3..0bed715 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuBar.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuBar.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuComponent.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuComponent.java
index 0cffc90..2dbc923 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuComponent.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuComponent.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuItem.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuItem.java
index b1492bd..dbe6a8c 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuItem.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CMenuItem.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java
index c089a78..170e93d 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CMouseDragGestureRecognizer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformComponent.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformComponent.java
index 978f65c..65a4392 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformComponent.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformComponent.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java
index 9a8eddd..0e8b0b0 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPopupMenu.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPopupMenu.java
index 44dac0d..67ddf91 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPopupMenu.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPopupMenu.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDevice.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDevice.java
index d9fb787..c47b213 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDevice.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDevice.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDialog.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDialog.java
index c44ea31..f877e42 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDialog.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterDialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterGraphics.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterGraphics.java
index 145af39..38d3c88 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterGraphics.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterGraphics.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterGraphicsConfig.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterGraphicsConfig.java
index 18b16b3..89363a5 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterGraphicsConfig.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterGraphicsConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJobDialog.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJobDialog.java
index a97b15a..fb5d959 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJobDialog.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterJobDialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterPageDialog.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterPageDialog.java
index 0776d26..b4bd34e 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterPageDialog.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterPageDialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterSurfaceData.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterSurfaceData.java
index 665417b..082568c 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterSurfaceData.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CPrinterSurfaceData.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CRobot.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CRobot.java
index c74a589..0ff5f67 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CRobot.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CRobot.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CSystemTray.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CSystemTray.java
index 8b453ef..ef69a37 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CSystemTray.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CSystemTray.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CTextPipe.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CTextPipe.java
index 00b859a..797e26f 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CTextPipe.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CTextPipe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CThreading.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CThreading.java
index c533c67..a8ef960 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CThreading.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CThreading.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java b/jdk/src/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java
index 6bc6cc7..fc32f46 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/CToolkitThreadBlockedHandler.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/NSPrintInfo.java b/jdk/src/macosx/classes/sun/lwawt/macosx/NSPrintInfo.java
index 4e278a8..5698864 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/NSPrintInfo.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/NSPrintInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/lwawt/macosx/event/NSEvent.java b/jdk/src/macosx/classes/sun/lwawt/macosx/event/NSEvent.java
index 548dc9b..31e2498 100644
--- a/jdk/src/macosx/classes/sun/lwawt/macosx/event/NSEvent.java
+++ b/jdk/src/macosx/classes/sun/lwawt/macosx/event/NSEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java b/jdk/src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java
index 66e16e2..b6475b8 100644
--- a/jdk/src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java
+++ b/jdk/src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java b/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java
index f2340e6..cc89642 100644
--- a/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java
+++ b/jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpChannelImpl.java b/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpChannelImpl.java
index 8a14720..f804bb8 100644
--- a/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpChannelImpl.java
+++ b/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpChannelImpl.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java b/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java
index c2c1d96..37e9f76 100644
--- a/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java
+++ b/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java
@@ -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
diff --git a/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java b/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
index 1e224af..01ca7f0 100644
--- a/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
+++ b/jdk/src/macosx/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
@@ -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
diff --git a/jdk/src/macosx/native/com/apple/laf/AquaFileView.m b/jdk/src/macosx/native/com/apple/laf/AquaFileView.m
index 65fcc72..f044a94 100644
--- a/jdk/src/macosx/native/com/apple/laf/AquaFileView.m
+++ b/jdk/src/macosx/native/com/apple/laf/AquaFileView.m
@@ -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
diff --git a/jdk/src/macosx/native/com/apple/laf/AquaLookAndFeel.m b/jdk/src/macosx/native/com/apple/laf/AquaLookAndFeel.m
index 83abf77..cf58d75 100644
--- a/jdk/src/macosx/native/com/apple/laf/AquaLookAndFeel.m
+++ b/jdk/src/macosx/native/com/apple/laf/AquaLookAndFeel.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/com/apple/laf/AquaNativeResources.m b/jdk/src/macosx/native/com/apple/laf/AquaNativeResources.m
index cddd6df..dd050d5 100644
--- a/jdk/src/macosx/native/com/apple/laf/AquaNativeResources.m
+++ b/jdk/src/macosx/native/com/apple/laf/AquaNativeResources.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/com/apple/laf/JRSUIConstantSync.h b/jdk/src/macosx/native/com/apple/laf/JRSUIConstantSync.h
index d2fdd5c..c16673c 100644
--- a/jdk/src/macosx/native/com/apple/laf/JRSUIConstantSync.h
+++ b/jdk/src/macosx/native/com/apple/laf/JRSUIConstantSync.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/com/apple/laf/JRSUIConstantSync.m b/jdk/src/macosx/native/com/apple/laf/JRSUIConstantSync.m
index 8c6567d..96c9860 100644
--- a/jdk/src/macosx/native/com/apple/laf/JRSUIConstantSync.m
+++ b/jdk/src/macosx/native/com/apple/laf/JRSUIConstantSync.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/com/apple/laf/JRSUIFocus.m b/jdk/src/macosx/native/com/apple/laf/JRSUIFocus.m
index 96cab1b..c5dca66 100644
--- a/jdk/src/macosx/native/com/apple/laf/JRSUIFocus.m
+++ b/jdk/src/macosx/native/com/apple/laf/JRSUIFocus.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/com/apple/laf/ScreenMenu.h b/jdk/src/macosx/native/com/apple/laf/ScreenMenu.h
index aa2cb39..65f3d85 100644
--- a/jdk/src/macosx/native/com/apple/laf/ScreenMenu.h
+++ b/jdk/src/macosx/native/com/apple/laf/ScreenMenu.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/com/apple/laf/ScreenMenu.m b/jdk/src/macosx/native/com/apple/laf/ScreenMenu.m
index 4b49b5b..d7b469e7 100644
--- a/jdk/src/macosx/native/com/apple/laf/ScreenMenu.m
+++ b/jdk/src/macosx/native/com/apple/laf/ScreenMenu.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/com/apple/laf/ScreenPopupFactory.m b/jdk/src/macosx/native/com/apple/laf/ScreenPopupFactory.m
index 53cc5c3..516ce45 100644
--- a/jdk/src/macosx/native/com/apple/laf/ScreenPopupFactory.m
+++ b/jdk/src/macosx/native/com/apple/laf/ScreenPopupFactory.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiIn.c b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiIn.c
index a09f6ae..5f696cc 100644
--- a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiIn.c
+++ b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiIn.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiOut.c b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiOut.c
index fe29efd..037d69e 100644
--- a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiOut.c
+++ b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiOut.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.c b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.c
index d5e47fa..4491c14 100644
--- a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.c
+++ b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.h b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.h
index 7276616..3759e4b 100644
--- a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.h
+++ b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_MidiUtils.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.cpp b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.cpp
index 661622c..e4b3ecd 100644
--- a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.cpp
+++ b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.h b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.h
index 186da66..19c5888 100644
--- a/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.h
+++ b/jdk/src/macosx/native/com/sun/media/sound/PLATFORM_API_MacOSX_Utils.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/macosx/native/java/util/MacOSXPreferencesFile.m b/jdk/src/macosx/native/java/util/prefs/MacOSXPreferencesFile.m
similarity index 100%
rename from jdk/src/macosx/native/java/util/MacOSXPreferencesFile.m
rename to jdk/src/macosx/native/java/util/prefs/MacOSXPreferencesFile.m
diff --git a/jdk/src/macosx/native/jobjc/src/core/native/SEL.m b/jdk/src/macosx/native/jobjc/src/core/native/SEL.m
index ebbcf25..dc39ed1 100644
--- a/jdk/src/macosx/native/jobjc/src/core/native/SEL.m
+++ b/jdk/src/macosx/native/jobjc/src/core/native/SEL.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/AWTSurfaceLayers.h b/jdk/src/macosx/native/sun/awt/AWTSurfaceLayers.h
index 58aec0b..5045be3 100644
--- a/jdk/src/macosx/native/sun/awt/AWTSurfaceLayers.h
+++ b/jdk/src/macosx/native/sun/awt/AWTSurfaceLayers.h
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/AWTView.h b/jdk/src/macosx/native/sun/awt/AWTView.h
index b0246f8..58e4f6e 100644
--- a/jdk/src/macosx/native/sun/awt/AWTView.h
+++ b/jdk/src/macosx/native/sun/awt/AWTView.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/AWTView.m b/jdk/src/macosx/native/sun/awt/AWTView.m
index 8fd088f..0356ebc 100644
--- a/jdk/src/macosx/native/sun/awt/AWTView.m
+++ b/jdk/src/macosx/native/sun/awt/AWTView.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/ApplicationDelegate.h b/jdk/src/macosx/native/sun/awt/ApplicationDelegate.h
index b4b7b8f..c0a8a7c 100644
--- a/jdk/src/macosx/native/sun/awt/ApplicationDelegate.h
+++ b/jdk/src/macosx/native/sun/awt/ApplicationDelegate.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/ApplicationDelegate.m b/jdk/src/macosx/native/sun/awt/ApplicationDelegate.m
index 6b584b2..8195575 100644
--- a/jdk/src/macosx/native/sun/awt/ApplicationDelegate.m
+++ b/jdk/src/macosx/native/sun/awt/ApplicationDelegate.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CClipboard.h b/jdk/src/macosx/native/sun/awt/CClipboard.h
index 926a1d5..83bda44 100644
--- a/jdk/src/macosx/native/sun/awt/CClipboard.h
+++ b/jdk/src/macosx/native/sun/awt/CClipboard.h
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CClipboard.m b/jdk/src/macosx/native/sun/awt/CClipboard.m
index e70e78b..d2a7cf5 100644
--- a/jdk/src/macosx/native/sun/awt/CClipboard.m
+++ b/jdk/src/macosx/native/sun/awt/CClipboard.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CCursorManager.m b/jdk/src/macosx/native/sun/awt/CCursorManager.m
index 232a316..e3b9e80 100644
--- a/jdk/src/macosx/native/sun/awt/CCursorManager.m
+++ b/jdk/src/macosx/native/sun/awt/CCursorManager.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CDataTransferer.h b/jdk/src/macosx/native/sun/awt/CDataTransferer.h
index 00e2b2b..4844cb2 100644
--- a/jdk/src/macosx/native/sun/awt/CDataTransferer.h
+++ b/jdk/src/macosx/native/sun/awt/CDataTransferer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CDataTransferer.m b/jdk/src/macosx/native/sun/awt/CDataTransferer.m
index 5be5098..5e997bf 100644
--- a/jdk/src/macosx/native/sun/awt/CDataTransferer.m
+++ b/jdk/src/macosx/native/sun/awt/CDataTransferer.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CDesktopPeer.m b/jdk/src/macosx/native/sun/awt/CDesktopPeer.m
index 9dd1210..ef9bdb6 100644
--- a/jdk/src/macosx/native/sun/awt/CDesktopPeer.m
+++ b/jdk/src/macosx/native/sun/awt/CDesktopPeer.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CDragSource.h b/jdk/src/macosx/native/sun/awt/CDragSource.h
index 483924e..96e0e68 100644
--- a/jdk/src/macosx/native/sun/awt/CDragSource.h
+++ b/jdk/src/macosx/native/sun/awt/CDragSource.h
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CDragSource.m b/jdk/src/macosx/native/sun/awt/CDragSource.m
index 47b6a6b..7459a80 100644
--- a/jdk/src/macosx/native/sun/awt/CDragSource.m
+++ b/jdk/src/macosx/native/sun/awt/CDragSource.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CDragSourceContextPeer.m b/jdk/src/macosx/native/sun/awt/CDragSourceContextPeer.m
index 97720fb..e1a7ab3 100644
--- a/jdk/src/macosx/native/sun/awt/CDragSourceContextPeer.m
+++ b/jdk/src/macosx/native/sun/awt/CDragSourceContextPeer.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CDropTarget.h b/jdk/src/macosx/native/sun/awt/CDropTarget.h
index 33e0946..e8f801d 100644
--- a/jdk/src/macosx/native/sun/awt/CDropTarget.h
+++ b/jdk/src/macosx/native/sun/awt/CDropTarget.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CDropTarget.m b/jdk/src/macosx/native/sun/awt/CDropTarget.m
index a1c47f8..bff775f 100644
--- a/jdk/src/macosx/native/sun/awt/CDropTarget.m
+++ b/jdk/src/macosx/native/sun/awt/CDropTarget.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CDropTargetContextPeer.m b/jdk/src/macosx/native/sun/awt/CDropTargetContextPeer.m
index 5621003..f55d767 100644
--- a/jdk/src/macosx/native/sun/awt/CDropTargetContextPeer.m
+++ b/jdk/src/macosx/native/sun/awt/CDropTargetContextPeer.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CFRetainedResource.m b/jdk/src/macosx/native/sun/awt/CFRetainedResource.m
index 183aa1b..463c6bc 100644
--- a/jdk/src/macosx/native/sun/awt/CFRetainedResource.m
+++ b/jdk/src/macosx/native/sun/awt/CFRetainedResource.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CFileDialog.h b/jdk/src/macosx/native/sun/awt/CFileDialog.h
index b8f6e14..ba43511 100644
--- a/jdk/src/macosx/native/sun/awt/CFileDialog.h
+++ b/jdk/src/macosx/native/sun/awt/CFileDialog.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CGraphicsConfig.m b/jdk/src/macosx/native/sun/awt/CGraphicsConfig.m
index 563bdf5..9ae58a7 100644
--- a/jdk/src/macosx/native/sun/awt/CGraphicsConfig.m
+++ b/jdk/src/macosx/native/sun/awt/CGraphicsConfig.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CGraphicsEnv.m b/jdk/src/macosx/native/sun/awt/CGraphicsEnv.m
index 8f8a53c..dd36775 100644
--- a/jdk/src/macosx/native/sun/awt/CGraphicsEnv.m
+++ b/jdk/src/macosx/native/sun/awt/CGraphicsEnv.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CImage.m b/jdk/src/macosx/native/sun/awt/CImage.m
index 9bd56da..f92b272 100644
--- a/jdk/src/macosx/native/sun/awt/CImage.m
+++ b/jdk/src/macosx/native/sun/awt/CImage.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CInputMethod.m b/jdk/src/macosx/native/sun/awt/CInputMethod.m
index 39a66c7..512c814 100644
--- a/jdk/src/macosx/native/sun/awt/CInputMethod.m
+++ b/jdk/src/macosx/native/sun/awt/CInputMethod.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CMenu.h b/jdk/src/macosx/native/sun/awt/CMenu.h
index f7cd4f6..38d7bad 100644
--- a/jdk/src/macosx/native/sun/awt/CMenu.h
+++ b/jdk/src/macosx/native/sun/awt/CMenu.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CMenu.m b/jdk/src/macosx/native/sun/awt/CMenu.m
index 8b643b3..e2db11c 100644
--- a/jdk/src/macosx/native/sun/awt/CMenu.m
+++ b/jdk/src/macosx/native/sun/awt/CMenu.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CMenuBar.h b/jdk/src/macosx/native/sun/awt/CMenuBar.h
index 93dddf1..954f0af 100644
--- a/jdk/src/macosx/native/sun/awt/CMenuBar.h
+++ b/jdk/src/macosx/native/sun/awt/CMenuBar.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CMenuBar.m b/jdk/src/macosx/native/sun/awt/CMenuBar.m
index 7858221..3bf4f77 100644
--- a/jdk/src/macosx/native/sun/awt/CMenuBar.m
+++ b/jdk/src/macosx/native/sun/awt/CMenuBar.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CMenuComponent.h b/jdk/src/macosx/native/sun/awt/CMenuComponent.h
index e5aff96..f64d15f 100644
--- a/jdk/src/macosx/native/sun/awt/CMenuComponent.h
+++ b/jdk/src/macosx/native/sun/awt/CMenuComponent.h
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CMenuComponent.m b/jdk/src/macosx/native/sun/awt/CMenuComponent.m
index 4f9fc59..c8b3766 100644
--- a/jdk/src/macosx/native/sun/awt/CMenuComponent.m
+++ b/jdk/src/macosx/native/sun/awt/CMenuComponent.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CMenuItem.h b/jdk/src/macosx/native/sun/awt/CMenuItem.h
index 4d92e07..60a0565 100644
--- a/jdk/src/macosx/native/sun/awt/CMenuItem.h
+++ b/jdk/src/macosx/native/sun/awt/CMenuItem.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CPopupMenu.h b/jdk/src/macosx/native/sun/awt/CPopupMenu.h
index 87ad0c7..8fc9eca 100644
--- a/jdk/src/macosx/native/sun/awt/CPopupMenu.h
+++ b/jdk/src/macosx/native/sun/awt/CPopupMenu.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CPopupMenu.m b/jdk/src/macosx/native/sun/awt/CPopupMenu.m
index 746bf44..287e97a 100644
--- a/jdk/src/macosx/native/sun/awt/CPopupMenu.m
+++ b/jdk/src/macosx/native/sun/awt/CPopupMenu.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CPrinterJob.m b/jdk/src/macosx/native/sun/awt/CPrinterJob.m
index 2b92c22..219f65b 100644
--- a/jdk/src/macosx/native/sun/awt/CPrinterJob.m
+++ b/jdk/src/macosx/native/sun/awt/CPrinterJob.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CRobot.m b/jdk/src/macosx/native/sun/awt/CRobot.m
index 3a986eb..3ec4f72 100644
--- a/jdk/src/macosx/native/sun/awt/CRobot.m
+++ b/jdk/src/macosx/native/sun/awt/CRobot.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CSystemColors.h b/jdk/src/macosx/native/sun/awt/CSystemColors.h
index 4ff3c64..fed0c68 100644
--- a/jdk/src/macosx/native/sun/awt/CSystemColors.h
+++ b/jdk/src/macosx/native/sun/awt/CSystemColors.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CSystemColors.m b/jdk/src/macosx/native/sun/awt/CSystemColors.m
index 4e8c64d..0f3fab5 100644
--- a/jdk/src/macosx/native/sun/awt/CSystemColors.m
+++ b/jdk/src/macosx/native/sun/awt/CSystemColors.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CTextPipe.m b/jdk/src/macosx/native/sun/awt/CTextPipe.m
index aaa5f1e..a46fd01 100644
--- a/jdk/src/macosx/native/sun/awt/CTextPipe.m
+++ b/jdk/src/macosx/native/sun/awt/CTextPipe.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CTrayIcon.h b/jdk/src/macosx/native/sun/awt/CTrayIcon.h
index 9501e7d..19b50d1 100644
--- a/jdk/src/macosx/native/sun/awt/CTrayIcon.h
+++ b/jdk/src/macosx/native/sun/awt/CTrayIcon.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/CTrayIcon.m b/jdk/src/macosx/native/sun/awt/CTrayIcon.m
index fbc7115..5a494fe7 100644
--- a/jdk/src/macosx/native/sun/awt/CTrayIcon.m
+++ b/jdk/src/macosx/native/sun/awt/CTrayIcon.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/CWrapper.h b/jdk/src/macosx/native/sun/awt/CWrapper.h
index 24ac9c5..416bac7 100644
--- a/jdk/src/macosx/native/sun/awt/CWrapper.h
+++ b/jdk/src/macosx/native/sun/awt/CWrapper.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/DnDUtilities.h b/jdk/src/macosx/native/sun/awt/DnDUtilities.h
index fe56f71..55156e6 100644
--- a/jdk/src/macosx/native/sun/awt/DnDUtilities.h
+++ b/jdk/src/macosx/native/sun/awt/DnDUtilities.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/DnDUtilities.m b/jdk/src/macosx/native/sun/awt/DnDUtilities.m
index f637156..a239563 100644
--- a/jdk/src/macosx/native/sun/awt/DnDUtilities.m
+++ b/jdk/src/macosx/native/sun/awt/DnDUtilities.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/GeomUtilities.h b/jdk/src/macosx/native/sun/awt/GeomUtilities.h
index b757097..b2ad015 100644
--- a/jdk/src/macosx/native/sun/awt/GeomUtilities.h
+++ b/jdk/src/macosx/native/sun/awt/GeomUtilities.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/GeomUtilities.m b/jdk/src/macosx/native/sun/awt/GeomUtilities.m
index 9deb8da..4f6e873 100644
--- a/jdk/src/macosx/native/sun/awt/GeomUtilities.m
+++ b/jdk/src/macosx/native/sun/awt/GeomUtilities.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/ImageSurfaceData.h b/jdk/src/macosx/native/sun/awt/ImageSurfaceData.h
index 9709402..c6cff45 100644
--- a/jdk/src/macosx/native/sun/awt/ImageSurfaceData.h
+++ b/jdk/src/macosx/native/sun/awt/ImageSurfaceData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/ImageSurfaceData.m b/jdk/src/macosx/native/sun/awt/ImageSurfaceData.m
index af7ce4b..2d3669f 100644
--- a/jdk/src/macosx/native/sun/awt/ImageSurfaceData.m
+++ b/jdk/src/macosx/native/sun/awt/ImageSurfaceData.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/InitIDs.h b/jdk/src/macosx/native/sun/awt/InitIDs.h
index 24ac9c5..416bac7 100644
--- a/jdk/src/macosx/native/sun/awt/InitIDs.h
+++ b/jdk/src/macosx/native/sun/awt/InitIDs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/InitIDs.m b/jdk/src/macosx/native/sun/awt/InitIDs.m
index 2b1c007..44cb630 100644
--- a/jdk/src/macosx/native/sun/awt/InitIDs.m
+++ b/jdk/src/macosx/native/sun/awt/InitIDs.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.h b/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.h
index f1ac007..a628c4d 100644
--- a/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.h
+++ b/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.m b/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.m
index 826cc08..9afd1ff 100644
--- a/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.m
+++ b/jdk/src/macosx/native/sun/awt/JavaAccessibilityAction.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/JavaAccessibilityUtilities.h b/jdk/src/macosx/native/sun/awt/JavaAccessibilityUtilities.h
index d8d7923..6325dce 100644
--- a/jdk/src/macosx/native/sun/awt/JavaAccessibilityUtilities.h
+++ b/jdk/src/macosx/native/sun/awt/JavaAccessibilityUtilities.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/JavaAccessibilityUtilities.m b/jdk/src/macosx/native/sun/awt/JavaAccessibilityUtilities.m
index fe925d7..081c7f7 100644
--- a/jdk/src/macosx/native/sun/awt/JavaAccessibilityUtilities.m
+++ b/jdk/src/macosx/native/sun/awt/JavaAccessibilityUtilities.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.h b/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.h
index 2a70aff..392fd30 100644
--- a/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.h
+++ b/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.m b/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.m
index a01bd78..d20e70f 100644
--- a/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.m
+++ b/jdk/src/macosx/native/sun/awt/JavaComponentAccessibility.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/JavaTextAccessibility.h b/jdk/src/macosx/native/sun/awt/JavaTextAccessibility.h
index b963273..9c627a2 100644
--- a/jdk/src/macosx/native/sun/awt/JavaTextAccessibility.h
+++ b/jdk/src/macosx/native/sun/awt/JavaTextAccessibility.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/JavaTextAccessibility.m b/jdk/src/macosx/native/sun/awt/JavaTextAccessibility.m
index 7ab40b9..279eb9a 100644
--- a/jdk/src/macosx/native/sun/awt/JavaTextAccessibility.m
+++ b/jdk/src/macosx/native/sun/awt/JavaTextAccessibility.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/LWCToolkit.h b/jdk/src/macosx/native/sun/awt/LWCToolkit.h
index 8df2c55..9df44be 100644
--- a/jdk/src/macosx/native/sun/awt/LWCToolkit.h
+++ b/jdk/src/macosx/native/sun/awt/LWCToolkit.h
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/LWCToolkit.m b/jdk/src/macosx/native/sun/awt/LWCToolkit.m
index 1c24279..3300e2d 100644
--- a/jdk/src/macosx/native/sun/awt/LWCToolkit.m
+++ b/jdk/src/macosx/native/sun/awt/LWCToolkit.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/OSVersion.h b/jdk/src/macosx/native/sun/awt/OSVersion.h
index c0ec047..65d2f2c 100644
--- a/jdk/src/macosx/native/sun/awt/OSVersion.h
+++ b/jdk/src/macosx/native/sun/awt/OSVersion.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/OSVersion.m b/jdk/src/macosx/native/sun/awt/OSVersion.m
index e127bae..d3eafbb 100644
--- a/jdk/src/macosx/native/sun/awt/OSVersion.m
+++ b/jdk/src/macosx/native/sun/awt/OSVersion.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/PrintModel.h b/jdk/src/macosx/native/sun/awt/PrintModel.h
index 3648f15..9089841 100644
--- a/jdk/src/macosx/native/sun/awt/PrintModel.h
+++ b/jdk/src/macosx/native/sun/awt/PrintModel.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/PrintModel.m b/jdk/src/macosx/native/sun/awt/PrintModel.m
index b9dafc1..8a172d7 100644
--- a/jdk/src/macosx/native/sun/awt/PrintModel.m
+++ b/jdk/src/macosx/native/sun/awt/PrintModel.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/PrinterSurfaceData.h b/jdk/src/macosx/native/sun/awt/PrinterSurfaceData.h
index 7f77f20..2645357 100644
--- a/jdk/src/macosx/native/sun/awt/PrinterSurfaceData.h
+++ b/jdk/src/macosx/native/sun/awt/PrinterSurfaceData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/PrinterSurfaceData.m b/jdk/src/macosx/native/sun/awt/PrinterSurfaceData.m
index 4c02c71..e756891 100644
--- a/jdk/src/macosx/native/sun/awt/PrinterSurfaceData.m
+++ b/jdk/src/macosx/native/sun/awt/PrinterSurfaceData.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/PrinterView.h b/jdk/src/macosx/native/sun/awt/PrinterView.h
index f3f1fbe..43472be 100644
--- a/jdk/src/macosx/native/sun/awt/PrinterView.h
+++ b/jdk/src/macosx/native/sun/awt/PrinterView.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/QuartzRenderer.m b/jdk/src/macosx/native/sun/awt/QuartzRenderer.m
index 7550904..d87582c 100644
--- a/jdk/src/macosx/native/sun/awt/QuartzRenderer.m
+++ b/jdk/src/macosx/native/sun/awt/QuartzRenderer.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.h b/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.h
index 4dc48e4..a1899af 100644
--- a/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.h
+++ b/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.m b/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.m
index 3a0eea1..dd61d0a 100644
--- a/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.m
+++ b/jdk/src/macosx/native/sun/awt/QuartzSurfaceData.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/awt.m b/jdk/src/macosx/native/sun/awt/awt.m
index 0a491fd..9d36ebd 100644
--- a/jdk/src/macosx/native/sun/awt/awt.m
+++ b/jdk/src/macosx/native/sun/awt/awt.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/awt_DrawingSurface.m b/jdk/src/macosx/native/sun/awt/awt_DrawingSurface.m
index 152e8fb..f444bc9 100644
--- a/jdk/src/macosx/native/sun/awt/awt_DrawingSurface.m
+++ b/jdk/src/macosx/native/sun/awt/awt_DrawingSurface.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/jawt.m b/jdk/src/macosx/native/sun/awt/jawt.m
index 96669ef..e737fac 100644
--- a/jdk/src/macosx/native/sun/awt/jawt.m
+++ b/jdk/src/macosx/native/sun/awt/jawt.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/awt/splashscreen/splashscreen_config.h b/jdk/src/macosx/native/sun/awt/splashscreen/splashscreen_config.h
index 4d8e4bf..771a6cc 100644
--- a/jdk/src/macosx/native/sun/awt/splashscreen/splashscreen_config.h
+++ b/jdk/src/macosx/native/sun/awt/splashscreen/splashscreen_config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m b/jdk/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m
index fcc0e0d..44b28f0 100644
--- a/jdk/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m
+++ b/jdk/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/font/AWTFont.h b/jdk/src/macosx/native/sun/font/AWTFont.h
index 0603bf3..0268099 100644
--- a/jdk/src/macosx/native/sun/font/AWTFont.h
+++ b/jdk/src/macosx/native/sun/font/AWTFont.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/font/AWTFont.m b/jdk/src/macosx/native/sun/font/AWTFont.m
index 21716e6..0adeff0 100644
--- a/jdk/src/macosx/native/sun/font/AWTFont.m
+++ b/jdk/src/macosx/native/sun/font/AWTFont.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/font/CCharToGlyphMapper.m b/jdk/src/macosx/native/sun/font/CCharToGlyphMapper.m
index 77eb3b8..cf08137 100644
--- a/jdk/src/macosx/native/sun/font/CCharToGlyphMapper.m
+++ b/jdk/src/macosx/native/sun/font/CCharToGlyphMapper.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/src/macosx/native/sun/font/CGGlyphImages.h b/jdk/src/macosx/native/sun/font/CGGlyphImages.h
index 27766e2..73cb604 100644
--- a/jdk/src/macosx/native/sun/font/CGGlyphImages.h
+++ b/jdk/src/macosx/native/sun/font/CGGlyphImages.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/font/CGGlyphOutlines.h b/jdk/src/macosx/native/sun/font/CGGlyphOutlines.h
index de43dc9..928ebbe 100644
--- a/jdk/src/macosx/native/sun/font/CGGlyphOutlines.h
+++ b/jdk/src/macosx/native/sun/font/CGGlyphOutlines.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/font/CGGlyphOutlines.m b/jdk/src/macosx/native/sun/font/CGGlyphOutlines.m
index a0546bc..29a579f 100644
--- a/jdk/src/macosx/native/sun/font/CGGlyphOutlines.m
+++ b/jdk/src/macosx/native/sun/font/CGGlyphOutlines.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/font/CoreTextSupport.h b/jdk/src/macosx/native/sun/font/CoreTextSupport.h
index 467694d..a0ede94 100644
--- a/jdk/src/macosx/native/sun/font/CoreTextSupport.h
+++ b/jdk/src/macosx/native/sun/font/CoreTextSupport.h
@@ -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
diff --git a/jdk/src/macosx/native/sun/font/CoreTextSupport.m b/jdk/src/macosx/native/sun/font/CoreTextSupport.m
index 44b5170..1bcd9f5 100644
--- a/jdk/src/macosx/native/sun/font/CoreTextSupport.m
+++ b/jdk/src/macosx/native/sun/font/CoreTextSupport.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.h b/jdk/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.h
index ebceaa8..98cc2ed 100644
--- a/jdk/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.h
+++ b/jdk/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.m b/jdk/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.m
index a9de285..cb4315b 100644
--- a/jdk/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.m
+++ b/jdk/src/macosx/native/sun/java2d/opengl/CGLGraphicsConfig.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/java2d/opengl/CGLLayer.h b/jdk/src/macosx/native/sun/java2d/opengl/CGLLayer.h
index 4ace0e8..43724c0 100644
--- a/jdk/src/macosx/native/sun/java2d/opengl/CGLLayer.h
+++ b/jdk/src/macosx/native/sun/java2d/opengl/CGLLayer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/java2d/opengl/CGLSurfaceData.h b/jdk/src/macosx/native/sun/java2d/opengl/CGLSurfaceData.h
index 7623ab5..cd809dc 100644
--- a/jdk/src/macosx/native/sun/java2d/opengl/CGLSurfaceData.h
+++ b/jdk/src/macosx/native/sun/java2d/opengl/CGLSurfaceData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m b/jdk/src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m
index cc8de1a..84c1fb1 100644
--- a/jdk/src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m
+++ b/jdk/src/macosx/native/sun/java2d/opengl/CGLSurfaceData.m
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/java2d/opengl/J2D_GL/cglext.h b/jdk/src/macosx/native/sun/java2d/opengl/J2D_GL/cglext.h
index 4468c43..0cdd9fa 100644
--- a/jdk/src/macosx/native/sun/java2d/opengl/J2D_GL/cglext.h
+++ b/jdk/src/macosx/native/sun/java2d/opengl/J2D_GL/cglext.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/java2d/opengl/OGLFuncs_md.h b/jdk/src/macosx/native/sun/java2d/opengl/OGLFuncs_md.h
index 55f8693..036fcb5 100644
--- a/jdk/src/macosx/native/sun/java2d/opengl/OGLFuncs_md.h
+++ b/jdk/src/macosx/native/sun/java2d/opengl/OGLFuncs_md.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/src/macosx/native/sun/osxapp/NSApplicationAWT.m b/jdk/src/macosx/native/sun/osxapp/NSApplicationAWT.m
index 5c21b3f..b55f1b7 100644
--- a/jdk/src/macosx/native/sun/osxapp/NSApplicationAWT.m
+++ b/jdk/src/macosx/native/sun/osxapp/NSApplicationAWT.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m b/jdk/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m
index 736155f..034a990 100644
--- a/jdk/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m
+++ b/jdk/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m
@@ -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
diff --git a/jdk/src/macosx/native/sun/osxapp/ThreadUtilities.h b/jdk/src/macosx/native/sun/osxapp/ThreadUtilities.h
index 2ee65e9..f86990d 100644
--- a/jdk/src/macosx/native/sun/osxapp/ThreadUtilities.h
+++ b/jdk/src/macosx/native/sun/osxapp/ThreadUtilities.h
@@ -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
diff --git a/jdk/src/macosx/native/sun/osxapp/ThreadUtilities.m b/jdk/src/macosx/native/sun/osxapp/ThreadUtilities.m
index d431386..dac2fe0 100644
--- a/jdk/src/macosx/native/sun/osxapp/ThreadUtilities.m
+++ b/jdk/src/macosx/native/sun/osxapp/ThreadUtilities.m
@@ -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
diff --git a/jdk/src/macosx/native/java/util/SCDynamicStoreConfig.m b/jdk/src/macosx/native/sun/security/krb5/SCDynamicStoreConfig.m
similarity index 100%
rename from jdk/src/macosx/native/java/util/SCDynamicStoreConfig.m
rename to jdk/src/macosx/native/sun/security/krb5/SCDynamicStoreConfig.m
diff --git a/jdk/src/macosx/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c b/jdk/src/macosx/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c
index 5cac939..e24a9e9 100644
--- a/jdk/src/macosx/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c
+++ b/jdk/src/macosx/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c
@@ -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
@@ -24,6 +24,7 @@
*/
#include "sun_util_locale_provider_HostLocaleProviderAdapterImpl.h"
+#include "jni_util.h"
#include <CoreFoundation/CoreFoundation.h>
#include <stdio.h>
@@ -63,6 +64,10 @@
localeString = getMacOSXLocale(posixCat);
if (localeString == NULL) {
localeString = getPosixLocale(posixCat);
+ if (localeString == NULL) {
+ JNU_ThrowOutOfMemoryError(env, NULL);
+ return NULL;
+ }
}
ret = (*env)->NewStringUTF(env, localeString);
free(localeString);
@@ -127,6 +132,7 @@
JNIEXPORT jobjectArray JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getAmPmStrings
(JNIEnv *env, jclass cls, jstring jlangtag, jobjectArray ampms) {
CFLocaleRef cflocale = CFLocaleCopyCurrent();
+ jstring tmp_string;
if (cflocale != NULL) {
CFDateFormatterRef df = CFDateFormatterCreate(kCFAllocatorDefault,
cflocale,
@@ -138,13 +144,18 @@
if (amStr != NULL) {
CFStringGetCString(amStr, buf, BUFLEN, kCFStringEncodingUTF8);
CFRelease(amStr);
- (*env)->SetObjectArrayElement(env, ampms, 0, (*env)->NewStringUTF(env, buf));
+ tmp_string = (*env)->NewStringUTF(env, buf);
+ if (tmp_string != NULL) {
+ (*env)->SetObjectArrayElement(env, ampms, 0, tmp_string);
+ }
}
- CFStringRef pmStr = CFDateFormatterCopyProperty(df, kCFDateFormatterPMSymbol);
- if (pmStr != NULL) {
- CFStringGetCString(pmStr, buf, BUFLEN, kCFStringEncodingUTF8);
- CFRelease(pmStr);
- (*env)->SetObjectArrayElement(env, ampms, 1, (*env)->NewStringUTF(env, buf));
+ if (!(*env)->ExceptionCheck(env)){
+ CFStringRef pmStr = CFDateFormatterCopyProperty(df, kCFDateFormatterPMSymbol);
+ if (pmStr != NULL) {
+ CFStringGetCString(pmStr, buf, BUFLEN, kCFStringEncodingUTF8);
+ CFRelease(pmStr);
+ (*env)->SetObjectArrayElement(env, ampms, 1, (*env)->NewStringUTF(env, buf));
+ }
}
CFRelease(df);
}
@@ -647,10 +658,16 @@
static void copyArrayElements(JNIEnv *env, CFArrayRef cfarray, jobjectArray jarray, CFIndex sindex, int dindex, int count) {
char buf[BUFLEN];
+ jstring tmp_string;
for (; count > 0; sindex++, dindex++, count--) {
CFStringGetCString(CFArrayGetValueAtIndex(cfarray, sindex), buf, BUFLEN, kCFStringEncodingUTF8);
- (*env)->SetObjectArrayElement(env, jarray, dindex, (*env)->NewStringUTF(env, buf));
+ tmp_string = (*env)->NewStringUTF(env, buf);
+ if (tmp_string != NULL) {
+ (*env)->SetObjectArrayElement(env, jarray, dindex, tmp_string);
+ } else {
+ break;
+ }
}
}
diff --git a/jdk/src/share/back/ArrayTypeImpl.c b/jdk/src/share/back/ArrayTypeImpl.c
index 1f3a312..1d3813c 100644
--- a/jdk/src/share/back/ArrayTypeImpl.c
+++ b/jdk/src/share/back/ArrayTypeImpl.c
@@ -112,7 +112,7 @@
WITH_LOCAL_REFS(env, 1) {
jarray array;
- jclass componentClass;
+ jclass componentClass = NULL;
jdwpError serror;
serror = getComponentClass(env, arrayClass,
diff --git a/jdk/src/share/back/SDE.c b/jdk/src/share/back/SDE.c
index cf7baa4..5c0ac21 100644
--- a/jdk/src/share/back/SDE.c
+++ b/jdk/src/share/back/SDE.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2005, 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
diff --git a/jdk/src/share/back/ThreadGroupReferenceImpl.c b/jdk/src/share/back/ThreadGroupReferenceImpl.c
index 47b894a..f341686 100644
--- a/jdk/src/share/back/ThreadGroupReferenceImpl.c
+++ b/jdk/src/share/back/ThreadGroupReferenceImpl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/back/commonRef.c b/jdk/src/share/back/commonRef.c
index ce9c75e..259d4d8 100644
--- a/jdk/src/share/back/commonRef.c
+++ b/jdk/src/share/back/commonRef.c
@@ -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
diff --git a/jdk/src/share/back/error_messages.c b/jdk/src/share/back/error_messages.c
index 2ec5bbf..d620796 100644
--- a/jdk/src/share/back/error_messages.c
+++ b/jdk/src/share/back/error_messages.c
@@ -140,7 +140,7 @@
const char *
jvmtiErrorText(jvmtiError error)
{
- switch (error) {
+ switch ((int)error) {
CASE_RETURN_TEXT(JVMTI_ERROR_NONE)
CASE_RETURN_TEXT(JVMTI_ERROR_INVALID_THREAD)
CASE_RETURN_TEXT(JVMTI_ERROR_INVALID_THREAD_GROUP)
diff --git a/jdk/src/share/back/eventFilter.c b/jdk/src/share/back/eventFilter.c
index d67aa96..bbb3445 100644
--- a/jdk/src/share/back/eventFilter.c
+++ b/jdk/src/share/back/eventFilter.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/back/export/sys.h b/jdk/src/share/back/export/sys.h
index bd4bb9d..9561112 100644
--- a/jdk/src/share/back/export/sys.h
+++ b/jdk/src/share/back/export/sys.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/back/outStream.c b/jdk/src/share/back/outStream.c
index b48d559..93c55ba 100644
--- a/jdk/src/share/back/outStream.c
+++ b/jdk/src/share/back/outStream.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/back/transport.c b/jdk/src/share/back/transport.c
index 20892e3..4a17118 100644
--- a/jdk/src/share/back/transport.c
+++ b/jdk/src/share/back/transport.c
@@ -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
diff --git a/jdk/src/share/back/util.c b/jdk/src/share/back/util.c
index 40cca3c..2bbd61b 100644
--- a/jdk/src/share/back/util.c
+++ b/jdk/src/share/back/util.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2007, 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
@@ -2122,7 +2122,7 @@
jdwpError
map2jdwpError(jvmtiError error)
{
- switch ( error ) {
+ switch ( (int)error ) {
case JVMTI_ERROR_NONE:
return JDWP_ERROR(NONE);
case AGENT_ERROR_INVALID_THREAD:
diff --git a/jdk/src/share/bin/java.c b/jdk/src/share/bin/java.c
index b72fa0e..79912d5 100644
--- a/jdk/src/share/bin/java.c
+++ b/jdk/src/share/bin/java.c
@@ -345,10 +345,10 @@
} \
} while (JNI_FALSE)
-#define CHECK_EXCEPTION_RETURN(CER_return_value) \
+#define CHECK_EXCEPTION_RETURN() \
do { \
if ((*env)->ExceptionOccurred(env)) { \
- return CER_return_value; \
+ return; \
} \
} while (JNI_FALSE)
@@ -1258,7 +1258,6 @@
GetApplicationClass(JNIEnv *env)
{
jmethodID mid;
- jobject result;
jclass cls = GetLauncherHelperClass(env);
NULL_CHECK0(cls);
NULL_CHECK0(mid = (*env)->GetStaticMethodID(env, cls,
diff --git a/jdk/src/share/bin/parse_manifest.c b/jdk/src/share/bin/parse_manifest.c
index 4926824..c17249c 100644
--- a/jdk/src/share/bin/parse_manifest.c
+++ b/jdk/src/share/bin/parse_manifest.c
@@ -233,7 +233,7 @@
jlong base_offset;
jlong offset;
char buffer[MINREAD];
- p = buffer;
+ p = (Byte*) buffer;
/*
* Read the END Header, which is the starting point for ZIP files.
* (Clearly designed to make writing a zip file easier than reading
@@ -276,7 +276,7 @@
if (JLI_Lseek(fd, offset, SEEK_SET) < (jlong)0) {
return (-1);
}
- p = buffer;
+ p = (Byte*) buffer;
base_offset = base_offset - ZIP64_ENDSIZ(p) - ZIP64_ENDOFF(p) - ZIP64_ENDHDR;
} else {
base_offset = base_offset - ENDSIZ(p) - ENDOFF(p);
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/AccessorElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/AccessorElementHandler.java
index e2714f8..789107e 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/AccessorElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/AccessorElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/BooleanElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/BooleanElementHandler.java
index a88aa16..4e7c88d 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/BooleanElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/BooleanElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/ByteElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/ByteElementHandler.java
index a24f106..02e7780 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/ByteElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/ByteElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/CharElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/CharElementHandler.java
index e75a865..bec6654 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/CharElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/CharElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/ClassElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/ClassElementHandler.java
index 63ebafd..a890d58 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/ClassElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/ClassElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/DoubleElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/DoubleElementHandler.java
index 1fce298..e727268 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/DoubleElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/DoubleElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/ElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/ElementHandler.java
index f408223..fb7e0b5 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/ElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/ElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/FalseElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/FalseElementHandler.java
index c34c4a3..252d454 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/FalseElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/FalseElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/FieldElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/FieldElementHandler.java
index 69d84bb..fe9ebdb 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/FieldElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/FieldElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/FloatElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/FloatElementHandler.java
index 320f17f..cf5eff8 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/FloatElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/FloatElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/IntElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/IntElementHandler.java
index 56473b0..ea53bc0 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/IntElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/IntElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/JavaElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/JavaElementHandler.java
index 61f3fad..6d5f139 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/JavaElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/JavaElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/LongElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/LongElementHandler.java
index 3c15008..06eba9b 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/LongElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/LongElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/MethodElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/MethodElementHandler.java
index b135720..79bbd72 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/MethodElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/MethodElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/NewElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/NewElementHandler.java
index 9cf86dc..69fbdce 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/NewElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/NewElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/NullElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/NullElementHandler.java
index b47dd70..f865535 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/NullElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/NullElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/ObjectElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/ObjectElementHandler.java
index c791e6c..154a802 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/ObjectElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/ObjectElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/PropertyElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/PropertyElementHandler.java
index 9473d5c..8e487d9 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/PropertyElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/PropertyElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/ShortElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/ShortElementHandler.java
index 26c517f..390644c 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/ShortElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/ShortElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/StringElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/StringElementHandler.java
index fd6960a..70a7494 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/StringElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/StringElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/TrueElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/TrueElementHandler.java
index dfb6553..dd7b9b4 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/TrueElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/TrueElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/VarElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/VarElementHandler.java
index 51a4fa1..a8aa11c 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/VarElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/VarElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/decoder/VoidElementHandler.java b/jdk/src/share/classes/com/sun/beans/decoder/VoidElementHandler.java
index 2327729..dbdd03d 100644
--- a/jdk/src/share/classes/com/sun/beans/decoder/VoidElementHandler.java
+++ b/jdk/src/share/classes/com/sun/beans/decoder/VoidElementHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/beans/finder/Signature.java b/jdk/src/share/classes/com/sun/beans/finder/Signature.java
index 1468403..dfba13e 100644
--- a/jdk/src/share/classes/com/sun/beans/finder/Signature.java
+++ b/jdk/src/share/classes/com/sun/beans/finder/Signature.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java b/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java
index 62394e7..b19f7b3 100644
--- a/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java
+++ b/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndDESCipher.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java b/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java
index 978e7b7..7119233 100644
--- a/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java
+++ b/jdk/src/share/classes/com/sun/crypto/provider/PBEWithMD5AndTripleDESCipher.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/crypto/provider/PCBC.java b/jdk/src/share/classes/com/sun/crypto/provider/PCBC.java
index 360e183..aefc45e 100644
--- a/jdk/src/share/classes/com/sun/crypto/provider/PCBC.java
+++ b/jdk/src/share/classes/com/sun/crypto/provider/PCBC.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/demo/jvmti/hprof/Tracker.java b/jdk/src/share/classes/com/sun/demo/jvmti/hprof/Tracker.java
index 9695087..dc3d61b 100644
--- a/jdk/src/share/classes/com/sun/demo/jvmti/hprof/Tracker.java
+++ b/jdk/src/share/classes/com/sun/demo/jvmti/hprof/Tracker.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPConstants.java b/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPConstants.java
index b99d284..9f510c5 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPConstants.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPConstants.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPMetadata.java b/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPMetadata.java
index 7f7d33f..6a937b3 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPMetadata.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/bmp/BMPMetadata.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormat.java b/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormat.java
index 97e798a..37c5b3f 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormat.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java b/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java
index 00bf1ee..4a94450 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2005, 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
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java b/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java
index 5e3d852..0a278e0 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java b/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java
index 03241cd..31c1305 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/gif/GIFStreamMetadata.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java
index 6a1058f..e18e950 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEG.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
index 0b7a865..c3db8e1 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java b/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java
index abef674..13f2d93 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java b/jdk/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java
index 95d572f..45c5b37 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/jarsigner/ContentSignerParameters.java b/jdk/src/share/classes/com/sun/jarsigner/ContentSignerParameters.java
index bcf7301..425f802 100644
--- a/jdk/src/share/classes/com/sun/jarsigner/ContentSignerParameters.java
+++ b/jdk/src/share/classes/com/sun/jarsigner/ContentSignerParameters.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/java/browser/dom/DOMAccessException.java b/jdk/src/share/classes/com/sun/java/browser/dom/DOMAccessException.java
index 62a0515..77307d8 100644
--- a/jdk/src/share/classes/com/sun/java/browser/dom/DOMAccessException.java
+++ b/jdk/src/share/classes/com/sun/java/browser/dom/DOMAccessException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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,6 +25,7 @@
package com.sun.java.browser.dom;
+@SuppressWarnings("serial") // JDK implementation class
public class DOMAccessException extends Exception
{
/**
diff --git a/jdk/src/share/classes/com/sun/java/browser/dom/DOMUnsupportedException.java b/jdk/src/share/classes/com/sun/java/browser/dom/DOMUnsupportedException.java
index 94fa9c6..2796339 100644
--- a/jdk/src/share/classes/com/sun/java/browser/dom/DOMUnsupportedException.java
+++ b/jdk/src/share/classes/com/sun/java/browser/dom/DOMUnsupportedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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,7 @@
package com.sun.java.browser.dom;
-
+@SuppressWarnings("serial") // JDK implementation class
public class DOMUnsupportedException extends Exception
{
/**
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java
index 367a6ed..45ca379 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKColorChooserPanel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java
index f615fa7..feb9b4f 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2009, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java
index 4a1f429..c2b7626 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java
index 20a3844..8cba1d9 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyleFactory.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyleFactory.java
index cfc2fc3..9683ba0 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyleFactory.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyleFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
index fd304e0..7216758 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/gtk/Metacity.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java
index b821a56..9d063f7c 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java
index a75a35e..03c9f23 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java
index fdc6fa6..1438b57 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java
index 3e4c7fa..2656d1d 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsComboBoxUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java
index 8d40da0..7052aeb 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsGraphicsUtils.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsGraphicsUtils.java
index 6109077..63eb27b 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsGraphicsUtils.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsGraphicsUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java
index f0ab166..d3ccff2 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsInternalFrameTitlePane.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java
index 20d52c4..d063e23 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsProgressBarUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsProgressBarUI.java
index 302b6bc..ef5d176 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsProgressBarUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsProgressBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI.java
index 81c97f4..36b5413 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRadioButtonUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java
index be39048..ec50595 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextFieldUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextFieldUI.java
index b8a4a80..420b742 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextFieldUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextFieldUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextUI.java
index 516770d..a4e0b80 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTextUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1998, 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
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java
index db5baf9..63c817d 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/Code.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/Code.java
index 423b0d7..856a83c 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/Code.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/Code.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java
index de35d5a..f22c34a 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
@@ -22,110 +22,99 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-
package com.sun.java.util.jar.pack;
import java.util.ListResourceBundle;
public class DriverResource_ja extends ListResourceBundle {
- public static final String VERSION ="VERSION";
- public static final String BAD_ARGUMENT ="BAD_ARGUMENT";
- public static final String BAD_OPTION ="BAD_OPTION";
- public static final String BAD_REPACK_OUTPUT="BAD_REPACK_OUTPUT";
- public static final String DETECTED_ZIP_COMMENT="DETECTED_ZIP_COMMENT";
- public static final String SKIP_FOR_REPACKED ="SKIP_FOR_REPACKED";
- public static final String WRITE_PACK_FILE ="WRITE_PACK_FILE";
- public static final String WIRTE_PACKGZ_FILE="WIRTE_PACKGZ_FILE";
- public static final String SKIP_FOR_MOVE_FAILED="SKIP_FOR_MOVE_FAILED";
- public static final String PACK_HELP="PACK_HELP";
- public static final String UNPACK_HELP ="UNPACK_HELP";
- public static final String MORE_INFO = "MORE_INFO";
- public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
- public static final String BAD_SPEC = "BAD_SPEC";
- //The following string is duplicate in PACK and UNPACK comment,which was draw out to ruduce translation work.
- private static final String PARAMETER_V = " -v, --verbose increase program verbosity";
- private static final String PARAMETER_Q = " -q, --quiet set verbosity to lowest level";
- private static final String PARAMETER_LF = " -l{F}, --log-file={F} output to the given log file, or '-' for System.out";
- private static final String PARAMETER_H = " -?, -h, --help print this message";
- private static final String PARAMETER_VER = " -V, --version print program version";
- private static final String PARAMETER_J = " -J{X} pass option X to underlying Java VM";
+ public static final String VERSION = "VERSION";
+ public static final String BAD_ARGUMENT = "BAD_ARGUMENT";
+ public static final String BAD_OPTION = "BAD_OPTION";
+ public static final String BAD_REPACK_OUTPUT = "BAD_REPACK_OUTPUT";
+ public static final String DETECTED_ZIP_COMMENT = "DETECTED_ZIP_COMMENT";
+ public static final String SKIP_FOR_REPACKED = "SKIP_FOR_REPACKED";
+ public static final String WRITE_PACK_FILE = "WRITE_PACK_FILE";
+ public static final String WRITE_PACKGZ_FILE = "WRITE_PACKGZ_FILE";
+ public static final String SKIP_FOR_MOVE_FAILED = "SKIP_FOR_MOVE_FAILED";
+ public static final String PACK_HELP = "PACK_HELP";
+ public static final String UNPACK_HELP = "UNPACK_HELP";
+ public static final String MORE_INFO = "MORE_INFO";
+ public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
+ public static final String BAD_SPEC = "BAD_SPEC";
+ /*
+ * The following are the output of 'pack200' and 'unpack200' commands.
+ * Do not translate command arguments and words with a prefix of '-' or '--'.
+ */
+ private static final Object[][] resource = {
+ {VERSION, "{0}\u30D0\u30FC\u30B8\u30E7\u30F3{1}"}, // parameter 0:class name;parameter 1: version value
+ {BAD_ARGUMENT, "\u7121\u52B9\u306A\u5F15\u6570: {0}"},
+ {BAD_OPTION, "\u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}={1}"}, // parameter 0:option name;parameter 1:option value
+ {BAD_REPACK_OUTPUT, "\u7121\u52B9\u306A--repack\u51FA\u529B: {0}"}, // parameter 0:filename
+ {DETECTED_ZIP_COMMENT, "\u691C\u51FA\u3055\u308C\u305FZIP\u30B3\u30E1\u30F3\u30C8: {0}"}, // parameter 0:comment
+ {SKIP_FOR_REPACKED, "\u3059\u3067\u306B\u518D\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059: {0}"}, // parameter 0:filename
+ {WRITE_PACK_FILE, "*.pack\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080\u306B\u306F\u3001--no-gzip\u3092\u6307\u5B9A\u3057\u307E\u3059: {0}"}, // parameter 0:filename
+ {WRITE_PACKGZ_FILE, "*.pack.gz\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080\u306B\u306F\u3001--gzip\u3092\u6307\u5B9A\u3057\u307E\u3059: {0}"}, // parameter 0:filename
+ {SKIP_FOR_MOVE_FAILED, "\u79FB\u52D5\u304C\u5931\u6557\u3057\u305F\u305F\u3081\u89E3\u51CD\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059: {0}"}, // parameter 0:filename
+ {PACK_HELP, new String[] {
+ "\u4F7F\u7528\u65B9\u6CD5: pack200 [-opt... | --option=value]... x.pack[.gz] y.jar",
+ "",
+ "\u5727\u7E2E\u30AA\u30D7\u30B7\u30E7\u30F3",
+ " -g\u3001--no-gzip \u30D7\u30EC\u30FC\u30F3\u306A*.pack\u30D5\u30A1\u30A4\u30EB\u3092\u5727\u7E2E\u305B\u305A\u306B\u51FA\u529B\u3057\u307E\u3059",
+ " --gzip (\u30C7\u30D5\u30A9\u30EB\u30C8)\u5727\u7E2E\u51FA\u529B\u3092gzip\u3067\u5F8C\u51E6\u7406\u3057\u307E\u3059",
+ " -G\u3001--strip-debug \u5727\u7E2E\u4E2D\u306B\u30C7\u30D0\u30C3\u30B0\u5C5E\u6027\u3092\u524A\u9664\u3057\u307E\u3059",
+ " -O\u3001--no-keep-file-order \u30D5\u30A1\u30A4\u30EB\u306E\u9806\u5E8F\u4ED8\u3051\u60C5\u5831\u3092\u8EE2\u9001\u3057\u307E\u305B\u3093",
+ " --keep-file-order (\u30C7\u30D5\u30A9\u30EB\u30C8)\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u9806\u5E8F\u4ED8\u3051\u3092\u4FDD\u6301\u3057\u307E\u3059",
+ " -S{N}\u3001--segment-limit={N} \u30BB\u30B0\u30E1\u30F3\u30C8\u5236\u9650\u3092\u51FA\u529B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8N=1Mb)",
+ " -E{N}\u3001--effort={N} \u5727\u7E2E\u306E\u8A66\u884C(\u30C7\u30D5\u30A9\u30EB\u30C8N=5)",
+ " -H{h}\u3001--deflate-hint={h} \u30C7\u30D5\u30EC\u30FC\u30C8\u30FB\u30D2\u30F3\u30C8\u3092\u8EE2\u9001\u3057\u307E\u3059: true\u3001false\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
+ " -m{V}\u3001--modification-time={V} \u5909\u66F4\u6642\u9593\u3092\u8EE2\u9001\u3057\u307E\u3059: latest\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
+ " -P{F}\u3001--pass-file={F} \u6307\u5B9A\u3055\u308C\u305F\u5727\u7E2E\u3055\u308C\u3066\u3044\u306A\u3044\u5165\u529B\u8981\u7D20\u3092\u8EE2\u9001\u3057\u307E\u3059",
+ " -U{a}\u3001--unknown-attribute={a} \u4E0D\u660E\u306E\u5C5E\u6027\u30A2\u30AF\u30B7\u30E7\u30F3: error\u3001strip\u307E\u305F\u306Fpass(\u30C7\u30D5\u30A9\u30EB\u30C8)",
+ " -C{N}={L}\u3001--class-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
+ " -F{N}={L}\u3001--field-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
+ " -M{N}={L}\u3001--method-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
+ " -D{N}={L}\u3001--code-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
+ " -f{F}\u3001--config-file={F} Pack200.Packer\u30D7\u30ED\u30D1\u30C6\u30A3\u306B\u30D5\u30A1\u30A4\u30EBF\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059",
+ " -v\u3001--verbose \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u5197\u9577\u6027\u3092\u9AD8\u3081\u307E\u3059",
+ " -q\u3001--quiet \u5197\u9577\u6027\u3092\u6700\u4F4E\u30EC\u30D9\u30EB\u306B\u8A2D\u5B9A\u3057\u307E\u3059",
+ " -l{F}\u3001--log-file={F} \u6307\u5B9A\u306E\u30ED\u30B0\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306FSystem.out ('-'\u306E\u5834\u5408)\u306B\u51FA\u529B\u3057\u307E\u3059",
+ " -?\u3001-h\u3001--help \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059",
+ " -V\u3001--version \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u307E\u3059",
+ " -J{X} \u30AA\u30D7\u30B7\u30E7\u30F3X\u3092\u57FA\u790E\u3068\u306A\u308BJava VM\u306B\u6E21\u3057\u307E\u3059",
+ "",
+ "\u6CE8\u610F:",
+ " -P\u3001-C\u3001-F\u3001-M\u304A\u3088\u3073-D\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u7D2F\u7A4D\u3055\u308C\u307E\u3059\u3002",
+ " \u5C5E\u6027\u5B9A\u7FA9\u306E\u4F8B: -C SourceFile=RUH .",
+ " Config.\u30D5\u30A1\u30A4\u30EB\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u306F\u3001Pack200 API\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u307E\u3059\u3002",
+ " -S\u3001-E\u3001-H\u3001-m\u3001-U\u306E\u5024\u306E\u610F\u5473\u306F\u3001Pack200 API\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
+ " \u30EC\u30A4\u30A2\u30A6\u30C8\u5B9A\u7FA9(RUH\u306A\u3069)\u306FJSR 200\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u307E\u3059\u3002",
+ "",
+ "\u518D\u5727\u7E2E\u30E2\u30FC\u30C9\u3067\u306F\u3001JAR\u30D5\u30A1\u30A4\u30EB\u304C\u5727\u7E2E/\u89E3\u51CD\u30B5\u30A4\u30AF\u30EB\u3067\u66F4\u65B0\u3055\u308C\u307E\u3059:",
+ " pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n"
+ }
+ },
+ {UNPACK_HELP, new String[] {
+ "\u4F7F\u7528\u65B9\u6CD5: unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n",
+ "",
+ "\u89E3\u51CD\u30AA\u30D7\u30B7\u30E7\u30F3",
+ " -H{h}\u3001--deflate-hint={h} \u8EE2\u9001\u3055\u308C\u305F\u30C7\u30D5\u30EC\u30FC\u30C8\u30FB\u30D2\u30F3\u30C8\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059: true\u3001false\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
+ " -r\u3001--remove-pack-file \u89E3\u51CD\u5F8C\u306B\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u307E\u3059",
+ " -v\u3001--verbose \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u5197\u9577\u6027\u3092\u9AD8\u3081\u307E\u3059",
+ " -q\u3001--quiet \u5197\u9577\u6027\u3092\u6700\u4F4E\u30EC\u30D9\u30EB\u306B\u8A2D\u5B9A\u3057\u307E\u3059",
+ " -l{F}\u3001--log-file={F} \u6307\u5B9A\u306E\u30ED\u30B0\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306FSystem.out ('-'\u306E\u5834\u5408)\u306B\u51FA\u529B\u3057\u307E\u3059",
+ " -?\u3001-h\u3001--help \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059",
+ " -V\u3001--version \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u307E\u3059",
+ " -J{X} \u30AA\u30D7\u30B7\u30E7\u30F3X\u3092\u57FA\u790E\u3068\u306A\u308BJava VM\u306B\u6E21\u3057\u307E\u3059"
+ }
+ },
+ {MORE_INFO, "(\u8A73\u7D30\u306F\u3001{0} --help\u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002)"}, // parameter 0:command name
+ {DUPLICATE_OPTION, "\u91CD\u8907\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"}, // parameter 0:option
+ {BAD_SPEC, "{0}\u306E\u7121\u52B9\u306A\u4ED5\u69D8: {1}"}, // parameter 0:option;parameter 1:specifier
+ };
- //The following are outputs of command 'pack200' and 'unpack200'.
- //Don't translate command arguments ,words with a prefix of '-' or '--'.
- //
- private static final Object[][] resource= {
- {VERSION,"{0}\u30D0\u30FC\u30B8\u30E7\u30F3{1}"},//parameter 0:class name;parameter 1: version value
- {BAD_ARGUMENT,"\u7121\u52B9\u306A\u5F15\u6570: {0}"},
- {BAD_OPTION,"\u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}={1}"},//parameter 0:option name;parameter 1:option value
- {BAD_REPACK_OUTPUT,"\u7121\u52B9\u306A--repack\u51FA\u529B: {0}"},//parameter 0:filename
- {DETECTED_ZIP_COMMENT,"\u691C\u51FA\u3055\u308C\u305FZIP\u30B3\u30E1\u30F3\u30C8: {0}"},//parameter 0:comment
- {SKIP_FOR_REPACKED,"\u3059\u3067\u306B\u518D\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059: {0}"},//parameter 0:filename
- {WRITE_PACK_FILE,"*.pack\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080\u306B\u306F\u3001--no-gzip\u3092\u6307\u5B9A\u3057\u307E\u3059: {0}"},//parameter 0:filename
- {WIRTE_PACKGZ_FILE,"*.pack.gz\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080\u306B\u306F\u3001--gzip\u3092\u6307\u5B9A\u3057\u307E\u3059: {0}"},//parameter 0:filename
- {SKIP_FOR_MOVE_FAILED,"\u79FB\u52D5\u304C\u5931\u6557\u3057\u305F\u305F\u3081\u89E3\u51CD\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059: {0}"},//parameter 0:filename
- {PACK_HELP,new String[]{
- "\u4F7F\u7528\u65B9\u6CD5: pack200 [-opt... | --option=value]... x.pack[.gz] y.jar",
- "",
- "\u5727\u7E2E\u30AA\u30D7\u30B7\u30E7\u30F3",
- " -g\u3001--no-gzip \u30D7\u30EC\u30FC\u30F3\u306A*.pack\u30D5\u30A1\u30A4\u30EB\u3092\u5727\u7E2E\u305B\u305A\u306B\u51FA\u529B\u3057\u307E\u3059",
- " --gzip (\u30C7\u30D5\u30A9\u30EB\u30C8)\u5727\u7E2E\u51FA\u529B\u3092gzip\u3067\u5F8C\u51E6\u7406\u3057\u307E\u3059",
- " -G\u3001--strip-debug \u5727\u7E2E\u4E2D\u306B\u30C7\u30D0\u30C3\u30B0\u5C5E\u6027\u3092\u524A\u9664\u3057\u307E\u3059",
- " -O\u3001--no-keep-file-order \u30D5\u30A1\u30A4\u30EB\u306E\u9806\u5E8F\u4ED8\u3051\u60C5\u5831\u3092\u8EE2\u9001\u3057\u307E\u305B\u3093",
- " --keep-file-order (\u30C7\u30D5\u30A9\u30EB\u30C8)\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u9806\u5E8F\u4ED8\u3051\u3092\u4FDD\u6301\u3057\u307E\u3059",
- " -S{N}\u3001--segment-limit={N} \u30BB\u30B0\u30E1\u30F3\u30C8\u5236\u9650\u3092\u51FA\u529B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8N=1Mb)",
- " -E{N}\u3001--effort={N} \u5727\u7E2E\u306E\u8A66\u884C(\u30C7\u30D5\u30A9\u30EB\u30C8N=5)",
- " -H{h}\u3001--deflate-hint={h} \u30C7\u30D5\u30EC\u30FC\u30C8\u30FB\u30D2\u30F3\u30C8\u3092\u8EE2\u9001\u3057\u307E\u3059: true\u3001false\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
- " -m{V}\u3001--modification-time={V} \u5909\u66F4\u6642\u9593\u3092\u8EE2\u9001\u3057\u307E\u3059: latest\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
- " -P{F}\u3001--pass-file={F} \u6307\u5B9A\u3055\u308C\u305F\u5727\u7E2E\u3055\u308C\u3066\u3044\u306A\u3044\u5165\u529B\u8981\u7D20\u3092\u8EE2\u9001\u3057\u307E\u3059",
- " -U{a}\u3001--unknown-attribute={a} \u4E0D\u660E\u306E\u5C5E\u6027\u30A2\u30AF\u30B7\u30E7\u30F3: error\u3001strip\u307E\u305F\u306Fpass(\u30C7\u30D5\u30A9\u30EB\u30C8)",
- " -C{N}={L}\u3001--class-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
- " -F{N}={L}\u3001--field-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
- " -M{N}={L}\u3001--method-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
- " -D{N}={L}\u3001--code-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
- " -f{F}\u3001--config-file={F} Pack200.Packer\u30D7\u30ED\u30D1\u30C6\u30A3\u306B\u30D5\u30A1\u30A4\u30EBF\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059",
- PARAMETER_V ,
- PARAMETER_Q ,
- PARAMETER_LF ,
- PARAMETER_H ,
- PARAMETER_VER ,
- PARAMETER_J,
- "",
- "\u6CE8\u610F:",
- " -P\u3001-C\u3001-F\u3001-M\u304A\u3088\u3073-D\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u7D2F\u7A4D\u3055\u308C\u307E\u3059\u3002",
- " \u5C5E\u6027\u5B9A\u7FA9\u306E\u4F8B: -C SourceFile=RUH .",
- " Config.\u30D5\u30A1\u30A4\u30EB\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u306F\u3001Pack200 API\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u307E\u3059\u3002",
- " -S\u3001-E\u3001-H\u3001-m\u3001-U\u306E\u5024\u306E\u610F\u5473\u306F\u3001Pack200 API\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
- " \u30EC\u30A4\u30A2\u30A6\u30C8\u5B9A\u7FA9(RUH\u306A\u3069)\u306FJSR 200\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u307E\u3059\u3002",
- "",
- "\u518D\u5727\u7E2E\u30E2\u30FC\u30C9\u3067\u306F\u3001JAR\u30D5\u30A1\u30A4\u30EB\u304C\u5727\u7E2E/\u89E3\u51CD\u30B5\u30A4\u30AF\u30EB\u3067\u66F4\u65B0\u3055\u308C\u307E\u3059:",
- " pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n"
- }
- },
- {UNPACK_HELP,new String[]{
- "\u4F7F\u7528\u65B9\u6CD5: unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n",
- "",
- "\u89E3\u51CD\u30AA\u30D7\u30B7\u30E7\u30F3",
- " -H{h}\u3001--deflate-hint={h} \u8EE2\u9001\u3055\u308C\u305F\u30C7\u30D5\u30EC\u30FC\u30C8\u30FB\u30D2\u30F3\u30C8\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059: true\u3001false\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
- " -r\u3001--remove-pack-file \u89E3\u51CD\u5F8C\u306B\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u307E\u3059",
- PARAMETER_V ,
- PARAMETER_Q ,
- PARAMETER_LF ,
- PARAMETER_H ,
- PARAMETER_VER ,
- PARAMETER_J,
- }
- },
-
- {MORE_INFO,"(\u8A73\u7D30\u306F\u3001{0} --help\u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002)"},//parameter 0:command name
- {DUPLICATE_OPTION,"\u91CD\u8907\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"},//parameter 0:option
- {BAD_SPEC,"{0}\u306E\u7121\u52B9\u306A\u4ED5\u69D8: {1}"},//parameter 0:option;parameter 1:specifier
- };
-
- protected Object[][] getContents() {
- return resource;
- }
-
-
+ protected Object[][] getContents() {
+ return resource;
+ }
}
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java
index 25cc710..9e28101 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
@@ -22,110 +22,99 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-
package com.sun.java.util.jar.pack;
import java.util.ListResourceBundle;
public class DriverResource_zh_CN extends ListResourceBundle {
- public static final String VERSION ="VERSION";
- public static final String BAD_ARGUMENT ="BAD_ARGUMENT";
- public static final String BAD_OPTION ="BAD_OPTION";
- public static final String BAD_REPACK_OUTPUT="BAD_REPACK_OUTPUT";
- public static final String DETECTED_ZIP_COMMENT="DETECTED_ZIP_COMMENT";
- public static final String SKIP_FOR_REPACKED ="SKIP_FOR_REPACKED";
- public static final String WRITE_PACK_FILE ="WRITE_PACK_FILE";
- public static final String WIRTE_PACKGZ_FILE="WIRTE_PACKGZ_FILE";
- public static final String SKIP_FOR_MOVE_FAILED="SKIP_FOR_MOVE_FAILED";
- public static final String PACK_HELP="PACK_HELP";
- public static final String UNPACK_HELP ="UNPACK_HELP";
- public static final String MORE_INFO = "MORE_INFO";
- public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
- public static final String BAD_SPEC = "BAD_SPEC";
- //The following string is duplicate in PACK and UNPACK comment,which was draw out to ruduce translation work.
- private static final String PARAMETER_V = " -v, --verbose increase program verbosity";
- private static final String PARAMETER_Q = " -q, --quiet set verbosity to lowest level";
- private static final String PARAMETER_LF = " -l{F}, --log-file={F} output to the given log file, or '-' for System.out";
- private static final String PARAMETER_H = " -?, -h, --help print this message";
- private static final String PARAMETER_VER = " -V, --version print program version";
- private static final String PARAMETER_J = " -J{X} pass option X to underlying Java VM";
+ public static final String VERSION = "VERSION";
+ public static final String BAD_ARGUMENT = "BAD_ARGUMENT";
+ public static final String BAD_OPTION = "BAD_OPTION";
+ public static final String BAD_REPACK_OUTPUT = "BAD_REPACK_OUTPUT";
+ public static final String DETECTED_ZIP_COMMENT = "DETECTED_ZIP_COMMENT";
+ public static final String SKIP_FOR_REPACKED = "SKIP_FOR_REPACKED";
+ public static final String WRITE_PACK_FILE = "WRITE_PACK_FILE";
+ public static final String WRITE_PACKGZ_FILE = "WRITE_PACKGZ_FILE";
+ public static final String SKIP_FOR_MOVE_FAILED = "SKIP_FOR_MOVE_FAILED";
+ public static final String PACK_HELP = "PACK_HELP";
+ public static final String UNPACK_HELP = "UNPACK_HELP";
+ public static final String MORE_INFO = "MORE_INFO";
+ public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
+ public static final String BAD_SPEC = "BAD_SPEC";
+ /*
+ * The following are the output of 'pack200' and 'unpack200' commands.
+ * Do not translate command arguments and words with a prefix of '-' or '--'.
+ */
+ private static final Object[][] resource = {
+ {VERSION, "{0}\u7248\u672C{1}"}, // parameter 0:class name;parameter 1: version value
+ {BAD_ARGUMENT, "\u9519\u8BEF\u53C2\u6570: {0}"},
+ {BAD_OPTION, "\u9519\u8BEF\u9009\u9879: {0}={1}"}, // parameter 0:option name;parameter 1:option value
+ {BAD_REPACK_OUTPUT, "--repack \u8F93\u51FA\u9519\u8BEF: {0}"}, // parameter 0:filename
+ {DETECTED_ZIP_COMMENT, "\u68C0\u6D4B\u5230 ZIP \u6CE8\u91CA: {0}"}, // parameter 0:comment
+ {SKIP_FOR_REPACKED, "\u7531\u4E8E\u5DF2\u91CD\u65B0\u6253\u5305\u800C\u8DF3\u8FC7: {0}"}, // parameter 0:filename
+ {WRITE_PACK_FILE, "\u8981\u5199\u5165 *.pack \u6587\u4EF6, \u8BF7\u6307\u5B9A --no-gzip: {0}"}, // parameter 0:filename
+ {WRITE_PACKGZ_FILE, "\u8981\u5199\u5165 *.pack.gz \u6587\u4EF6, \u8BF7\u6307\u5B9A --gzip: {0}"}, // parameter 0:filename
+ {SKIP_FOR_MOVE_FAILED, "\u7531\u4E8E\u79FB\u52A8\u5931\u8D25\u800C\u8DF3\u8FC7\u91CD\u65B0\u6253\u5305: {0}"}, // parameter 0:filename
+ {PACK_HELP, new String[] {
+ "\u7528\u6CD5: pack200 [-opt... | --option=value]... x.pack[.gz] y.jar",
+ "",
+ "\u6253\u5305\u9009\u9879",
+ " -g, --no-gzip \u8F93\u51FA\u65E0\u683C\u5F0F\u7684 *.pack \u6587\u4EF6, \u4E0D\u538B\u7F29",
+ " --gzip (\u9ED8\u8BA4\u503C) \u4F7F\u7528 gzip \u5BF9\u6253\u5305\u8FDB\u884C\u540E\u5904\u7406",
+ " -G, --strip-debug \u6253\u5305\u65F6\u5220\u9664\u8C03\u8BD5\u5C5E\u6027",
+ " -O, --no-keep-file-order \u4E0D\u4F20\u8F93\u6587\u4EF6\u6392\u5E8F\u4FE1\u606F",
+ " --keep-file-order (\u9ED8\u8BA4\u503C) \u4FDD\u7559\u8F93\u5165\u6587\u4EF6\u6392\u5E8F",
+ " -S{N}, --segment-limit={N} \u8F93\u51FA\u6BB5\u9650\u5236 (\u9ED8\u8BA4\u503C N=1Mb)",
+ " -E{N}, --effort={N} \u6253\u5305\u6548\u679C (\u9ED8\u8BA4\u503C N=5)",
+ " -H{h}, --deflate-hint={h} \u4F20\u8F93\u538B\u7F29\u63D0\u793A: true, false \u6216 keep (\u9ED8\u8BA4\u503C)",
+ " -m{V}, --modification-time={V} \u4F20\u8F93 modtimes: latest \u6216 keep (\u9ED8\u8BA4\u503C)",
+ " -P{F}, --pass-file={F} \u4F20\u8F93\u672A\u89E3\u538B\u7F29\u7684\u7ED9\u5B9A\u8F93\u5165\u5143\u7D20",
+ " -U{a}, --unknown-attribute={a} \u672A\u77E5\u5C5E\u6027\u64CD\u4F5C: error, strip \u6216 pass (\u9ED8\u8BA4\u503C)",
+ " -C{N}={L}, --class-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
+ " -F{N}={L}, --field-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
+ " -M{N}={L}, --method-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
+ " -D{N}={L}, --code-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
+ " -f{F}, --config-file={F} \u8BFB\u53D6\u6587\u4EF6 F \u7684 Pack200.Packer \u5C5E\u6027",
+ " -v, --verbose \u63D0\u9AD8\u7A0B\u5E8F\u8BE6\u7EC6\u7A0B\u5EA6",
+ " -q, --quiet \u5C06\u8BE6\u7EC6\u7A0B\u5EA6\u8BBE\u7F6E\u4E3A\u6700\u4F4E\u7EA7\u522B",
+ " -l{F}, --log-file={F} \u8F93\u51FA\u5230\u7ED9\u5B9A\u65E5\u5FD7\u6587\u4EF6, \u6216\u5BF9\u4E8E System.out \u6307\u5B9A '-'",
+ " -?, -h, --help \u8F93\u51FA\u6B64\u6D88\u606F",
+ " -V, --version \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C",
+ " -J{X} \u5C06\u9009\u9879 X \u4F20\u9012\u7ED9\u57FA\u7840 Java VM",
+ "",
+ "\u6CE8:",
+ " -P, -C, -F, -M \u548C -D \u9009\u9879\u7D2F\u8BA1\u3002",
+ " \u793A\u4F8B\u5C5E\u6027\u5B9A\u4E49: -C SourceFile=RUH\u3002",
+ " Config. \u6587\u4EF6\u5C5E\u6027\u7531 Pack200 API \u5B9A\u4E49\u3002",
+ " \u6709\u5173 -S, -E, -H-, -m, -U \u503C\u7684\u542B\u4E49, \u8BF7\u53C2\u9605 Pack200 API\u3002",
+ " \u5E03\u5C40\u5B9A\u4E49 (\u4F8B\u5982 RUH) \u7531 JSR 200 \u5B9A\u4E49\u3002",
+ "",
+ "\u91CD\u65B0\u6253\u5305\u6A21\u5F0F\u901A\u8FC7\u6253\u5305/\u89E3\u5305\u5468\u671F\u66F4\u65B0 JAR \u6587\u4EF6:",
+ " pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n"
+ }
+ },
+ {UNPACK_HELP, new String[] {
+ "\u7528\u6CD5: unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n",
+ "",
+ "\u89E3\u5305\u9009\u9879",
+ " -H{h}, --deflate-hint={h} \u8986\u76D6\u5DF2\u4F20\u8F93\u7684\u538B\u7F29\u63D0\u793A: true, false \u6216 keep (\u9ED8\u8BA4\u503C)",
+ " -r, --remove-pack-file \u89E3\u5305\u4E4B\u540E\u5220\u9664\u8F93\u5165\u6587\u4EF6",
+ " -v, --verbose \u63D0\u9AD8\u7A0B\u5E8F\u8BE6\u7EC6\u7A0B\u5EA6",
+ " -q, --quiet \u5C06\u8BE6\u7EC6\u7A0B\u5EA6\u8BBE\u7F6E\u4E3A\u6700\u4F4E\u7EA7\u522B",
+ " -l{F}, --log-file={F} \u8F93\u51FA\u5230\u7ED9\u5B9A\u65E5\u5FD7\u6587\u4EF6, \u6216\u5BF9\u4E8E System.out \u6307\u5B9A '-'",
+ " -?, -h, --help \u8F93\u51FA\u6B64\u6D88\u606F",
+ " -V, --version \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C",
+ " -J{X} \u5C06\u9009\u9879 X \u4F20\u9012\u7ED9\u57FA\u7840 Java VM"
+ }
+ },
+ {MORE_INFO, "(\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u8FD0\u884C {0} --help\u3002)"}, // parameter 0:command name
+ {DUPLICATE_OPTION, "\u91CD\u590D\u7684\u9009\u9879: {0}"}, // parameter 0:option
+ {BAD_SPEC, "{0}\u7684\u89C4\u8303\u9519\u8BEF: {1}"}, // parameter 0:option;parameter 1:specifier
+ };
- //The following are outputs of command 'pack200' and 'unpack200'.
- //Don't translate command arguments ,words with a prefix of '-' or '--'.
- //
- private static final Object[][] resource= {
- {VERSION,"{0}\u7248\u672C{1}"},//parameter 0:class name;parameter 1: version value
- {BAD_ARGUMENT,"\u9519\u8BEF\u53C2\u6570: {0}"},
- {BAD_OPTION,"\u9519\u8BEF\u9009\u9879: {0}={1}"},//parameter 0:option name;parameter 1:option value
- {BAD_REPACK_OUTPUT,"--repack \u8F93\u51FA\u9519\u8BEF: {0}"},//parameter 0:filename
- {DETECTED_ZIP_COMMENT,"\u68C0\u6D4B\u5230 ZIP \u6CE8\u91CA: {0}"},//parameter 0:comment
- {SKIP_FOR_REPACKED,"\u7531\u4E8E\u5DF2\u91CD\u65B0\u6253\u5305\u800C\u8DF3\u8FC7: {0}"},//parameter 0:filename
- {WRITE_PACK_FILE,"\u8981\u5199\u5165 *.pack \u6587\u4EF6, \u8BF7\u6307\u5B9A --no-gzip: {0}"},//parameter 0:filename
- {WIRTE_PACKGZ_FILE,"\u8981\u5199\u5165 *.pack.gz \u6587\u4EF6, \u8BF7\u6307\u5B9A --gzip: {0}"},//parameter 0:filename
- {SKIP_FOR_MOVE_FAILED,"\u7531\u4E8E\u79FB\u52A8\u5931\u8D25\u800C\u8DF3\u8FC7\u91CD\u65B0\u6253\u5305: {0}"},//parameter 0:filename
- {PACK_HELP,new String[]{
- "\u7528\u6CD5: pack200 [-opt... | --option=value]... x.pack[.gz] y.jar",
- "",
- "\u6253\u5305\u9009\u9879",
- " -g, --no-gzip \u8F93\u51FA\u65E0\u683C\u5F0F\u7684 *.pack \u6587\u4EF6, \u4E0D\u538B\u7F29",
- " --gzip (\u9ED8\u8BA4\u503C) \u4F7F\u7528 gzip \u5BF9\u6253\u5305\u8FDB\u884C\u540E\u5904\u7406",
- " -G, --strip-debug \u6253\u5305\u65F6\u5220\u9664\u8C03\u8BD5\u5C5E\u6027",
- " -O, --no-keep-file-order \u4E0D\u4F20\u8F93\u6587\u4EF6\u6392\u5E8F\u4FE1\u606F",
- " --keep-file-order (\u9ED8\u8BA4\u503C) \u4FDD\u7559\u8F93\u5165\u6587\u4EF6\u6392\u5E8F",
- " -S{N}, --segment-limit={N} \u8F93\u51FA\u6BB5\u9650\u5236 (\u9ED8\u8BA4\u503C N=1Mb)",
- " -E{N}, --effort={N} \u6253\u5305\u6548\u679C (\u9ED8\u8BA4\u503C N=5)",
- " -H{h}, --deflate-hint={h} \u4F20\u8F93\u538B\u7F29\u63D0\u793A: true, false \u6216 keep (\u9ED8\u8BA4\u503C)",
- " -m{V}, --modification-time={V} \u4F20\u8F93 modtimes: latest \u6216 keep (\u9ED8\u8BA4\u503C)",
- " -P{F}, --pass-file={F} \u4F20\u8F93\u672A\u89E3\u538B\u7F29\u7684\u7ED9\u5B9A\u8F93\u5165\u5143\u7D20",
- " -U{a}, --unknown-attribute={a} \u672A\u77E5\u5C5E\u6027\u64CD\u4F5C: error, strip \u6216 pass (\u9ED8\u8BA4\u503C)",
- " -C{N}={L}, --class-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
- " -F{N}={L}, --field-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
- " -M{N}={L}, --method-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
- " -D{N}={L}, --code-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
- " -f{F}, --config-file={F} \u8BFB\u53D6\u6587\u4EF6 F \u7684 Pack200.Packer \u5C5E\u6027",
- PARAMETER_V ,
- PARAMETER_Q ,
- PARAMETER_LF ,
- PARAMETER_H ,
- PARAMETER_VER ,
- PARAMETER_J,
- "",
- "\u6CE8:",
- " -P, -C, -F, -M \u548C -D \u9009\u9879\u7D2F\u8BA1\u3002",
- " \u793A\u4F8B\u5C5E\u6027\u5B9A\u4E49: -C SourceFile=RUH\u3002",
- " Config. \u6587\u4EF6\u5C5E\u6027\u7531 Pack200 API \u5B9A\u4E49\u3002",
- " \u6709\u5173 -S, -E, -H-, -m, -U \u503C\u7684\u542B\u4E49, \u8BF7\u53C2\u9605 Pack200 API\u3002",
- " \u5E03\u5C40\u5B9A\u4E49 (\u4F8B\u5982 RUH) \u7531 JSR 200 \u5B9A\u4E49\u3002",
- "",
- "\u91CD\u65B0\u6253\u5305\u6A21\u5F0F\u901A\u8FC7\u6253\u5305/\u89E3\u5305\u5468\u671F\u66F4\u65B0 JAR \u6587\u4EF6:",
- " pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n"
- }
- },
- {UNPACK_HELP,new String[]{
- "\u7528\u6CD5: unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n",
- "",
- "\u89E3\u5305\u9009\u9879",
- " -H{h}, --deflate-hint={h} \u8986\u76D6\u5DF2\u4F20\u8F93\u7684\u538B\u7F29\u63D0\u793A: true, false \u6216 keep (\u9ED8\u8BA4\u503C)",
- " -r, --remove-pack-file \u89E3\u5305\u4E4B\u540E\u5220\u9664\u8F93\u5165\u6587\u4EF6",
- PARAMETER_V ,
- PARAMETER_Q ,
- PARAMETER_LF ,
- PARAMETER_H ,
- PARAMETER_VER ,
- PARAMETER_J,
- }
- },
-
- {MORE_INFO,"(\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u8FD0\u884C {0} --help\u3002)"},//parameter 0:command name
- {DUPLICATE_OPTION,"\u91CD\u590D\u7684\u9009\u9879: {0}"},//parameter 0:option
- {BAD_SPEC,"{0}\u7684\u89C4\u8303\u9519\u8BEF: {1}"},//parameter 0:option;parameter 1:specifier
- };
-
- protected Object[][] getContents() {
- return resource;
- }
-
-
+ protected Object[][] getContents() {
+ return resource;
+ }
}
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
index 2c33866..52864df 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jdi/AbsentInformationException.java b/jdk/src/share/classes/com/sun/jdi/AbsentInformationException.java
index 31f2f61..36ac31e 100644
--- a/jdk/src/share/classes/com/sun/jdi/AbsentInformationException.java
+++ b/jdk/src/share/classes/com/sun/jdi/AbsentInformationException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/Accessible.java b/jdk/src/share/classes/com/sun/jdi/Accessible.java
index 4ad4d3b..a1886b7 100644
--- a/jdk/src/share/classes/com/sun/jdi/Accessible.java
+++ b/jdk/src/share/classes/com/sun/jdi/Accessible.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ArrayReference.java b/jdk/src/share/classes/com/sun/jdi/ArrayReference.java
index 87ee957..d4cf64b 100644
--- a/jdk/src/share/classes/com/sun/jdi/ArrayReference.java
+++ b/jdk/src/share/classes/com/sun/jdi/ArrayReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ArrayType.java b/jdk/src/share/classes/com/sun/jdi/ArrayType.java
index fc209fa..45c4f4d 100644
--- a/jdk/src/share/classes/com/sun/jdi/ArrayType.java
+++ b/jdk/src/share/classes/com/sun/jdi/ArrayType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/BooleanType.java b/jdk/src/share/classes/com/sun/jdi/BooleanType.java
index adbb49e..7bf98c8 100644
--- a/jdk/src/share/classes/com/sun/jdi/BooleanType.java
+++ b/jdk/src/share/classes/com/sun/jdi/BooleanType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/BooleanValue.java b/jdk/src/share/classes/com/sun/jdi/BooleanValue.java
index d360e80..73297fa 100644
--- a/jdk/src/share/classes/com/sun/jdi/BooleanValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/BooleanValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/Bootstrap.java b/jdk/src/share/classes/com/sun/jdi/Bootstrap.java
index ca449dd..8ab0954 100644
--- a/jdk/src/share/classes/com/sun/jdi/Bootstrap.java
+++ b/jdk/src/share/classes/com/sun/jdi/Bootstrap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ByteType.java b/jdk/src/share/classes/com/sun/jdi/ByteType.java
index 87da248..dc83cc3 100644
--- a/jdk/src/share/classes/com/sun/jdi/ByteType.java
+++ b/jdk/src/share/classes/com/sun/jdi/ByteType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ByteValue.java b/jdk/src/share/classes/com/sun/jdi/ByteValue.java
index b7fc08b..a16ecd0 100644
--- a/jdk/src/share/classes/com/sun/jdi/ByteValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/ByteValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/CharType.java b/jdk/src/share/classes/com/sun/jdi/CharType.java
index cdcf036..fab5a16 100644
--- a/jdk/src/share/classes/com/sun/jdi/CharType.java
+++ b/jdk/src/share/classes/com/sun/jdi/CharType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/CharValue.java b/jdk/src/share/classes/com/sun/jdi/CharValue.java
index 6909fb9..2f9d630 100644
--- a/jdk/src/share/classes/com/sun/jdi/CharValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/CharValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ClassLoaderReference.java b/jdk/src/share/classes/com/sun/jdi/ClassLoaderReference.java
index 8e511d8..b8363ae 100644
--- a/jdk/src/share/classes/com/sun/jdi/ClassLoaderReference.java
+++ b/jdk/src/share/classes/com/sun/jdi/ClassLoaderReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ClassNotLoadedException.java b/jdk/src/share/classes/com/sun/jdi/ClassNotLoadedException.java
index debc3bd..3493185 100644
--- a/jdk/src/share/classes/com/sun/jdi/ClassNotLoadedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/ClassNotLoadedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ClassNotPreparedException.java b/jdk/src/share/classes/com/sun/jdi/ClassNotPreparedException.java
index a26f93d..528b36e 100644
--- a/jdk/src/share/classes/com/sun/jdi/ClassNotPreparedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/ClassNotPreparedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ClassObjectReference.java b/jdk/src/share/classes/com/sun/jdi/ClassObjectReference.java
index d008379..79a306a 100644
--- a/jdk/src/share/classes/com/sun/jdi/ClassObjectReference.java
+++ b/jdk/src/share/classes/com/sun/jdi/ClassObjectReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ClassType.java b/jdk/src/share/classes/com/sun/jdi/ClassType.java
index 7372024..919f3ab 100644
--- a/jdk/src/share/classes/com/sun/jdi/ClassType.java
+++ b/jdk/src/share/classes/com/sun/jdi/ClassType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/DoubleType.java b/jdk/src/share/classes/com/sun/jdi/DoubleType.java
index 7898aa4..d40da78 100644
--- a/jdk/src/share/classes/com/sun/jdi/DoubleType.java
+++ b/jdk/src/share/classes/com/sun/jdi/DoubleType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/DoubleValue.java b/jdk/src/share/classes/com/sun/jdi/DoubleValue.java
index 529e233..e2f9cc2 100644
--- a/jdk/src/share/classes/com/sun/jdi/DoubleValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/DoubleValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/Field.java b/jdk/src/share/classes/com/sun/jdi/Field.java
index 5e5dff2..00e2b75 100644
--- a/jdk/src/share/classes/com/sun/jdi/Field.java
+++ b/jdk/src/share/classes/com/sun/jdi/Field.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/FloatType.java b/jdk/src/share/classes/com/sun/jdi/FloatType.java
index e0d3d48..29cb99a 100644
--- a/jdk/src/share/classes/com/sun/jdi/FloatType.java
+++ b/jdk/src/share/classes/com/sun/jdi/FloatType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/FloatValue.java b/jdk/src/share/classes/com/sun/jdi/FloatValue.java
index 273451b..aa3be62 100644
--- a/jdk/src/share/classes/com/sun/jdi/FloatValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/FloatValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java b/jdk/src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java
index ccb5c99..11e110f 100644
--- a/jdk/src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java
+++ b/jdk/src/share/classes/com/sun/jdi/IncompatibleThreadStateException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java b/jdk/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java
index deaa41e..8fe3ae9 100644
--- a/jdk/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InconsistentDebugInfoException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/IntegerType.java b/jdk/src/share/classes/com/sun/jdi/IntegerType.java
index 8142ed4..f19b6de 100644
--- a/jdk/src/share/classes/com/sun/jdi/IntegerType.java
+++ b/jdk/src/share/classes/com/sun/jdi/IntegerType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/IntegerValue.java b/jdk/src/share/classes/com/sun/jdi/IntegerValue.java
index 4cdd352..b8a10a8 100644
--- a/jdk/src/share/classes/com/sun/jdi/IntegerValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/IntegerValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/InterfaceType.java b/jdk/src/share/classes/com/sun/jdi/InterfaceType.java
index e2c28ec..3b2790a 100644
--- a/jdk/src/share/classes/com/sun/jdi/InterfaceType.java
+++ b/jdk/src/share/classes/com/sun/jdi/InterfaceType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/InternalException.java b/jdk/src/share/classes/com/sun/jdi/InternalException.java
index 706bc65..b688ca5 100644
--- a/jdk/src/share/classes/com/sun/jdi/InternalException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InternalException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/InvalidCodeIndexException.java b/jdk/src/share/classes/com/sun/jdi/InvalidCodeIndexException.java
index bae0b07..928f741 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvalidCodeIndexException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvalidCodeIndexException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/InvalidLineNumberException.java b/jdk/src/share/classes/com/sun/jdi/InvalidLineNumberException.java
index 38a0980..0786d52 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvalidLineNumberException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvalidLineNumberException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/InvalidStackFrameException.java b/jdk/src/share/classes/com/sun/jdi/InvalidStackFrameException.java
index 696d21d..2f28d07 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvalidStackFrameException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvalidStackFrameException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/InvalidTypeException.java b/jdk/src/share/classes/com/sun/jdi/InvalidTypeException.java
index 9671dfd..299c447 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvalidTypeException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvalidTypeException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/InvocationException.java b/jdk/src/share/classes/com/sun/jdi/InvocationException.java
index 89e8763..1f8179e 100644
--- a/jdk/src/share/classes/com/sun/jdi/InvocationException.java
+++ b/jdk/src/share/classes/com/sun/jdi/InvocationException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/JDIPermission.java b/jdk/src/share/classes/com/sun/jdi/JDIPermission.java
index ddcb8f7..7c3fad7 100644
--- a/jdk/src/share/classes/com/sun/jdi/JDIPermission.java
+++ b/jdk/src/share/classes/com/sun/jdi/JDIPermission.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/LocalVariable.java b/jdk/src/share/classes/com/sun/jdi/LocalVariable.java
index 60fe24a..4b15d91 100644
--- a/jdk/src/share/classes/com/sun/jdi/LocalVariable.java
+++ b/jdk/src/share/classes/com/sun/jdi/LocalVariable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/Locatable.java b/jdk/src/share/classes/com/sun/jdi/Locatable.java
index 4cb0ea7..4dae014 100644
--- a/jdk/src/share/classes/com/sun/jdi/Locatable.java
+++ b/jdk/src/share/classes/com/sun/jdi/Locatable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/Location.java b/jdk/src/share/classes/com/sun/jdi/Location.java
index e3fd4c1..e508781 100644
--- a/jdk/src/share/classes/com/sun/jdi/Location.java
+++ b/jdk/src/share/classes/com/sun/jdi/Location.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/LongType.java b/jdk/src/share/classes/com/sun/jdi/LongType.java
index 126317c..f3cc736 100644
--- a/jdk/src/share/classes/com/sun/jdi/LongType.java
+++ b/jdk/src/share/classes/com/sun/jdi/LongType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/LongValue.java b/jdk/src/share/classes/com/sun/jdi/LongValue.java
index 1ccd37d..98e25c2 100644
--- a/jdk/src/share/classes/com/sun/jdi/LongValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/LongValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/Method.java b/jdk/src/share/classes/com/sun/jdi/Method.java
index 396381f..19b13e0 100644
--- a/jdk/src/share/classes/com/sun/jdi/Method.java
+++ b/jdk/src/share/classes/com/sun/jdi/Method.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/Mirror.java b/jdk/src/share/classes/com/sun/jdi/Mirror.java
index 9660ebd..eb01abf 100644
--- a/jdk/src/share/classes/com/sun/jdi/Mirror.java
+++ b/jdk/src/share/classes/com/sun/jdi/Mirror.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/MonitorInfo.java b/jdk/src/share/classes/com/sun/jdi/MonitorInfo.java
index a35cc40..ef72517 100644
--- a/jdk/src/share/classes/com/sun/jdi/MonitorInfo.java
+++ b/jdk/src/share/classes/com/sun/jdi/MonitorInfo.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jdi/NativeMethodException.java b/jdk/src/share/classes/com/sun/jdi/NativeMethodException.java
index 2db8460..6379701 100644
--- a/jdk/src/share/classes/com/sun/jdi/NativeMethodException.java
+++ b/jdk/src/share/classes/com/sun/jdi/NativeMethodException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ObjectCollectedException.java b/jdk/src/share/classes/com/sun/jdi/ObjectCollectedException.java
index 29da6d9..b88395e 100644
--- a/jdk/src/share/classes/com/sun/jdi/ObjectCollectedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/ObjectCollectedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ObjectReference.java b/jdk/src/share/classes/com/sun/jdi/ObjectReference.java
index 18710cb..797d5ad 100644
--- a/jdk/src/share/classes/com/sun/jdi/ObjectReference.java
+++ b/jdk/src/share/classes/com/sun/jdi/ObjectReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/PathSearchingVirtualMachine.java b/jdk/src/share/classes/com/sun/jdi/PathSearchingVirtualMachine.java
index e2c9ae7..7a75fd6 100644
--- a/jdk/src/share/classes/com/sun/jdi/PathSearchingVirtualMachine.java
+++ b/jdk/src/share/classes/com/sun/jdi/PathSearchingVirtualMachine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/PrimitiveType.java b/jdk/src/share/classes/com/sun/jdi/PrimitiveType.java
index 3805d6a..9cc721f 100644
--- a/jdk/src/share/classes/com/sun/jdi/PrimitiveType.java
+++ b/jdk/src/share/classes/com/sun/jdi/PrimitiveType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/PrimitiveValue.java b/jdk/src/share/classes/com/sun/jdi/PrimitiveValue.java
index 6af5a33..9601488 100644
--- a/jdk/src/share/classes/com/sun/jdi/PrimitiveValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/PrimitiveValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ReferenceType.java b/jdk/src/share/classes/com/sun/jdi/ReferenceType.java
index 96973bc..43d1c02 100644
--- a/jdk/src/share/classes/com/sun/jdi/ReferenceType.java
+++ b/jdk/src/share/classes/com/sun/jdi/ReferenceType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ShortType.java b/jdk/src/share/classes/com/sun/jdi/ShortType.java
index 87542a1..9e0a2a9 100644
--- a/jdk/src/share/classes/com/sun/jdi/ShortType.java
+++ b/jdk/src/share/classes/com/sun/jdi/ShortType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ShortValue.java b/jdk/src/share/classes/com/sun/jdi/ShortValue.java
index c7011c3..61e54ec 100644
--- a/jdk/src/share/classes/com/sun/jdi/ShortValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/ShortValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/StackFrame.java b/jdk/src/share/classes/com/sun/jdi/StackFrame.java
index dc78485..9d51d8a 100644
--- a/jdk/src/share/classes/com/sun/jdi/StackFrame.java
+++ b/jdk/src/share/classes/com/sun/jdi/StackFrame.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/StringReference.java b/jdk/src/share/classes/com/sun/jdi/StringReference.java
index e32b442..92e7167 100644
--- a/jdk/src/share/classes/com/sun/jdi/StringReference.java
+++ b/jdk/src/share/classes/com/sun/jdi/StringReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ThreadGroupReference.java b/jdk/src/share/classes/com/sun/jdi/ThreadGroupReference.java
index ca13fc3..110504f 100644
--- a/jdk/src/share/classes/com/sun/jdi/ThreadGroupReference.java
+++ b/jdk/src/share/classes/com/sun/jdi/ThreadGroupReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/ThreadReference.java b/jdk/src/share/classes/com/sun/jdi/ThreadReference.java
index a082ddf..2e09ec8 100644
--- a/jdk/src/share/classes/com/sun/jdi/ThreadReference.java
+++ b/jdk/src/share/classes/com/sun/jdi/ThreadReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/Type.java b/jdk/src/share/classes/com/sun/jdi/Type.java
index fdcccd4..852d714 100644
--- a/jdk/src/share/classes/com/sun/jdi/Type.java
+++ b/jdk/src/share/classes/com/sun/jdi/Type.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/TypeComponent.java b/jdk/src/share/classes/com/sun/jdi/TypeComponent.java
index 5354a67..fa36d7b 100644
--- a/jdk/src/share/classes/com/sun/jdi/TypeComponent.java
+++ b/jdk/src/share/classes/com/sun/jdi/TypeComponent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java b/jdk/src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java
index b5f354a..49f1c88 100644
--- a/jdk/src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/VMCannotBeModifiedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/VMDisconnectedException.java b/jdk/src/share/classes/com/sun/jdi/VMDisconnectedException.java
index 888308c..faeab60 100644
--- a/jdk/src/share/classes/com/sun/jdi/VMDisconnectedException.java
+++ b/jdk/src/share/classes/com/sun/jdi/VMDisconnectedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/VMMismatchException.java b/jdk/src/share/classes/com/sun/jdi/VMMismatchException.java
index 90c0232..b05a9aa 100644
--- a/jdk/src/share/classes/com/sun/jdi/VMMismatchException.java
+++ b/jdk/src/share/classes/com/sun/jdi/VMMismatchException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/VMOutOfMemoryException.java b/jdk/src/share/classes/com/sun/jdi/VMOutOfMemoryException.java
index afb8235..cc64d92 100644
--- a/jdk/src/share/classes/com/sun/jdi/VMOutOfMemoryException.java
+++ b/jdk/src/share/classes/com/sun/jdi/VMOutOfMemoryException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/Value.java b/jdk/src/share/classes/com/sun/jdi/Value.java
index 582f439..4957b02 100644
--- a/jdk/src/share/classes/com/sun/jdi/Value.java
+++ b/jdk/src/share/classes/com/sun/jdi/Value.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/VirtualMachine.java b/jdk/src/share/classes/com/sun/jdi/VirtualMachine.java
index 096465a..0571a27 100644
--- a/jdk/src/share/classes/com/sun/jdi/VirtualMachine.java
+++ b/jdk/src/share/classes/com/sun/jdi/VirtualMachine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/VirtualMachineManager.java b/jdk/src/share/classes/com/sun/jdi/VirtualMachineManager.java
index a388086..5b59db5 100644
--- a/jdk/src/share/classes/com/sun/jdi/VirtualMachineManager.java
+++ b/jdk/src/share/classes/com/sun/jdi/VirtualMachineManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/VoidType.java b/jdk/src/share/classes/com/sun/jdi/VoidType.java
index 85671b4..9a9ee46 100644
--- a/jdk/src/share/classes/com/sun/jdi/VoidType.java
+++ b/jdk/src/share/classes/com/sun/jdi/VoidType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/VoidValue.java b/jdk/src/share/classes/com/sun/jdi/VoidValue.java
index 74fee8d..f3fb87e 100644
--- a/jdk/src/share/classes/com/sun/jdi/VoidValue.java
+++ b/jdk/src/share/classes/com/sun/jdi/VoidValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/AttachingConnector.java b/jdk/src/share/classes/com/sun/jdi/connect/AttachingConnector.java
index 9343795..80bf5a0 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/AttachingConnector.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/AttachingConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/Connector.java b/jdk/src/share/classes/com/sun/jdi/connect/Connector.java
index f6bd8060..52aebbf 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/Connector.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/Connector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java b/jdk/src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java
index 27c4974..b7f57c0 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/LaunchingConnector.java b/jdk/src/share/classes/com/sun/jdi/connect/LaunchingConnector.java
index dc636ed..af801e9 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/LaunchingConnector.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/LaunchingConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/ListeningConnector.java b/jdk/src/share/classes/com/sun/jdi/connect/ListeningConnector.java
index dc46af9..1048201 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/ListeningConnector.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/ListeningConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/Transport.java b/jdk/src/share/classes/com/sun/jdi/connect/Transport.java
index b271a96..102d64c 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/Transport.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/Transport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java b/jdk/src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java
index 9ea50ee..1ede92bc 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/TransportTimeoutException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/VMStartException.java b/jdk/src/share/classes/com/sun/jdi/connect/VMStartException.java
index 0163347..04c0629 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/VMStartException.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/VMStartException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java b/jdk/src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java
index bd0a8c4..a324bc3 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/spi/Connection.java b/jdk/src/share/classes/com/sun/jdi/connect/spi/Connection.java
index d4b1721..36df964 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/spi/Connection.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/spi/Connection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/connect/spi/TransportService.java b/jdk/src/share/classes/com/sun/jdi/connect/spi/TransportService.java
index c3f410e..f589424 100644
--- a/jdk/src/share/classes/com/sun/jdi/connect/spi/TransportService.java
+++ b/jdk/src/share/classes/com/sun/jdi/connect/spi/TransportService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/AccessWatchpointEvent.java b/jdk/src/share/classes/com/sun/jdi/event/AccessWatchpointEvent.java
index 6bee053..b04d4f7 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/AccessWatchpointEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/AccessWatchpointEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/BreakpointEvent.java b/jdk/src/share/classes/com/sun/jdi/event/BreakpointEvent.java
index 0fbd9cf..565f4f0 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/BreakpointEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/BreakpointEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/ClassPrepareEvent.java b/jdk/src/share/classes/com/sun/jdi/event/ClassPrepareEvent.java
index 2922ed8..2f0bf5a 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/ClassPrepareEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/ClassPrepareEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/ClassUnloadEvent.java b/jdk/src/share/classes/com/sun/jdi/event/ClassUnloadEvent.java
index 1da9da3..b900e6a 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/ClassUnloadEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/ClassUnloadEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/Event.java b/jdk/src/share/classes/com/sun/jdi/event/Event.java
index 92c0217..8e8185c 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/Event.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/Event.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/EventIterator.java b/jdk/src/share/classes/com/sun/jdi/event/EventIterator.java
index a66fc85..e16ccc5 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/EventIterator.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/EventIterator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/EventQueue.java b/jdk/src/share/classes/com/sun/jdi/event/EventQueue.java
index 5dde746..e7912ba 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/EventQueue.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/EventQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/EventSet.java b/jdk/src/share/classes/com/sun/jdi/event/EventSet.java
index 63efacf..bba0573 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/EventSet.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/EventSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/ExceptionEvent.java b/jdk/src/share/classes/com/sun/jdi/event/ExceptionEvent.java
index 1a03bb6..91ed8e4 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/ExceptionEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/ExceptionEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/LocatableEvent.java b/jdk/src/share/classes/com/sun/jdi/event/LocatableEvent.java
index 66a2070..ab4d7f5 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/LocatableEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/LocatableEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/MethodEntryEvent.java b/jdk/src/share/classes/com/sun/jdi/event/MethodEntryEvent.java
index 2f48a4a..29e4df6 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/MethodEntryEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/MethodEntryEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/MethodExitEvent.java b/jdk/src/share/classes/com/sun/jdi/event/MethodExitEvent.java
index 7a08790..6c7ad30 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/MethodExitEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/MethodExitEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/ModificationWatchpointEvent.java b/jdk/src/share/classes/com/sun/jdi/event/ModificationWatchpointEvent.java
index 9531ad4..965a6cd 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/ModificationWatchpointEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/ModificationWatchpointEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java b/jdk/src/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java
index 338ac38..0890d12 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java b/jdk/src/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java
index 1c9835b..f249c18 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/MonitorWaitEvent.java b/jdk/src/share/classes/com/sun/jdi/event/MonitorWaitEvent.java
index d8630df..6cd32a6 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/MonitorWaitEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/MonitorWaitEvent.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java b/jdk/src/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java
index b458ad6..f79cf03 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/StepEvent.java b/jdk/src/share/classes/com/sun/jdi/event/StepEvent.java
index ebeadff..2790787 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/StepEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/StepEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/ThreadDeathEvent.java b/jdk/src/share/classes/com/sun/jdi/event/ThreadDeathEvent.java
index f998e6d..cd23380 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/ThreadDeathEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/ThreadDeathEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/ThreadStartEvent.java b/jdk/src/share/classes/com/sun/jdi/event/ThreadStartEvent.java
index 7730e9a..01e9e63 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/ThreadStartEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/ThreadStartEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/VMDeathEvent.java b/jdk/src/share/classes/com/sun/jdi/event/VMDeathEvent.java
index a6decf0..c96aa12 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/VMDeathEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/VMDeathEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/VMDisconnectEvent.java b/jdk/src/share/classes/com/sun/jdi/event/VMDisconnectEvent.java
index 55a928c..82c49e2 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/VMDisconnectEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/VMDisconnectEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/VMStartEvent.java b/jdk/src/share/classes/com/sun/jdi/event/VMStartEvent.java
index 3172bc7..586526a 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/VMStartEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/VMStartEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/event/WatchpointEvent.java b/jdk/src/share/classes/com/sun/jdi/event/WatchpointEvent.java
index 9cb5d5d..0246bff 100644
--- a/jdk/src/share/classes/com/sun/jdi/event/WatchpointEvent.java
+++ b/jdk/src/share/classes/com/sun/jdi/event/WatchpointEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/AccessWatchpointRequest.java b/jdk/src/share/classes/com/sun/jdi/request/AccessWatchpointRequest.java
index 1591525..03d64f9 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/AccessWatchpointRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/AccessWatchpointRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/BreakpointRequest.java b/jdk/src/share/classes/com/sun/jdi/request/BreakpointRequest.java
index 6d6ee7d..c6d937e 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/BreakpointRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/BreakpointRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/ClassPrepareRequest.java b/jdk/src/share/classes/com/sun/jdi/request/ClassPrepareRequest.java
index 6089292..4bd1b78 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/ClassPrepareRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/ClassPrepareRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/ClassUnloadRequest.java b/jdk/src/share/classes/com/sun/jdi/request/ClassUnloadRequest.java
index 4868b80..4335c03 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/ClassUnloadRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/ClassUnloadRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/DuplicateRequestException.java b/jdk/src/share/classes/com/sun/jdi/request/DuplicateRequestException.java
index b502034..3412f23 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/DuplicateRequestException.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/DuplicateRequestException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/EventRequest.java b/jdk/src/share/classes/com/sun/jdi/request/EventRequest.java
index 8b64f1f..111963e 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/EventRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/EventRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
@@ -103,7 +103,7 @@
* has been deleted.
* @throws IllegalThreadStateException if this is a StepRequest,
* <code>val</code> is <code>true</code>, and the
- * thread named in the request has died.
+ * thread named in the request has died or is not yet started.
*/
void setEnabled(boolean val);
@@ -112,7 +112,7 @@
* @throws InvalidRequestStateException if this request
* has been deleted.
* @throws IllegalThreadStateException if this is a StepRequest
- * and the thread named in the request has died.
+ * and the thread named in the request has died or is not yet started.
*/
void enable();
diff --git a/jdk/src/share/classes/com/sun/jdi/request/EventRequestManager.java b/jdk/src/share/classes/com/sun/jdi/request/EventRequestManager.java
index 13f03fc..3664c84 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/EventRequestManager.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/EventRequestManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/ExceptionRequest.java b/jdk/src/share/classes/com/sun/jdi/request/ExceptionRequest.java
index ddb5d97..8de652f 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/ExceptionRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/ExceptionRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java b/jdk/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java
index 619f47b..6faab81 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/InvalidRequestStateException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/MethodEntryRequest.java b/jdk/src/share/classes/com/sun/jdi/request/MethodEntryRequest.java
index 1d98ade..c31a1e7 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/MethodEntryRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/MethodEntryRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2002, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/MethodExitRequest.java b/jdk/src/share/classes/com/sun/jdi/request/MethodExitRequest.java
index e061290..8c64b9f 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/MethodExitRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/MethodExitRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/ModificationWatchpointRequest.java b/jdk/src/share/classes/com/sun/jdi/request/ModificationWatchpointRequest.java
index 20b5b23..d28ae73 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/ModificationWatchpointRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/ModificationWatchpointRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/MonitorContendedEnterRequest.java b/jdk/src/share/classes/com/sun/jdi/request/MonitorContendedEnterRequest.java
index 864522c..56c4625 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/MonitorContendedEnterRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/MonitorContendedEnterRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/MonitorContendedEnteredRequest.java b/jdk/src/share/classes/com/sun/jdi/request/MonitorContendedEnteredRequest.java
index 965df47..cc36ea2 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/MonitorContendedEnteredRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/MonitorContendedEnteredRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/MonitorWaitRequest.java b/jdk/src/share/classes/com/sun/jdi/request/MonitorWaitRequest.java
index 35df225..9cb162b 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/MonitorWaitRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/MonitorWaitRequest.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/MonitorWaitedRequest.java b/jdk/src/share/classes/com/sun/jdi/request/MonitorWaitedRequest.java
index ee4982a..6cc41fb 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/MonitorWaitedRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/MonitorWaitedRequest.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/StepRequest.java b/jdk/src/share/classes/com/sun/jdi/request/StepRequest.java
index 2ea385f..abcb249 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/StepRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/StepRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/ThreadDeathRequest.java b/jdk/src/share/classes/com/sun/jdi/request/ThreadDeathRequest.java
index ac17fa2..916fff4 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/ThreadDeathRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/ThreadDeathRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/ThreadStartRequest.java b/jdk/src/share/classes/com/sun/jdi/request/ThreadStartRequest.java
index 596c96b..c34d171 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/ThreadStartRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/ThreadStartRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/VMDeathRequest.java b/jdk/src/share/classes/com/sun/jdi/request/VMDeathRequest.java
index 8643440..69a767f 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/VMDeathRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/VMDeathRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jdi/request/WatchpointRequest.java b/jdk/src/share/classes/com/sun/jdi/request/WatchpointRequest.java
index 9c78f75..0b0de7e 100644
--- a/jdk/src/share/classes/com/sun/jdi/request/WatchpointRequest.java
+++ b/jdk/src/share/classes/com/sun/jdi/request/WatchpointRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java b/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java
index b1f5ab2..d7acd36 100644
--- a/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java
+++ b/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java
index 3226e2e..1d76705 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/ClassLoaderRepositorySupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java
index c0dae31..1042281 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java
index b6286e5..63ec9cc 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/DefaultMXBeanMappingFactory.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java
index 06cc19d..89d325d 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java
index 6a3e770..88bb570 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/JmxMBeanServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanAnalyzer.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanAnalyzer.java
index d7d06a0..ce65d91 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanAnalyzer.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanAnalyzer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java
index 67073dd..92e3601 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanSupport.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanSupport.java
index 3af4b8b..2219937 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanSupport.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java
index 3e8cb71..4f3e4a4 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/ObjectInputStreamWithLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanIntrospector.java b/jdk/src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanIntrospector.java
index 2388eae..36349ae 100644
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanIntrospector.java
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/StandardMBeanIntrospector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientCommunicatorAdmin.java b/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientCommunicatorAdmin.java
index 3bb9121..b8549f2 100644
--- a/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientCommunicatorAdmin.java
+++ b/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientCommunicatorAdmin.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java b/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
index ffe8edb..305672b 100644
--- a/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
+++ b/jdk/src/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java b/jdk/src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java
index 66063c1..cc22f20 100644
--- a/jdk/src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java
+++ b/jdk/src/share/classes/com/sun/jmx/remote/util/OrderClassLoaders.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/EnumRowStatus.java b/jdk/src/share/classes/com/sun/jmx/snmp/EnumRowStatus.java
index 74a05ae..7a4b493 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/EnumRowStatus.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/EnumRowStatus.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/Enumerated.java b/jdk/src/share/classes/com/sun/jmx/snmp/Enumerated.java
index 7cde19b..bc39e6f 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/Enumerated.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/Enumerated.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/AclImpl.java b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/AclImpl.java
index b78c9ff..d29c4e06 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/AclImpl.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/AclImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMAclBlock.java b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMAclBlock.java
index ca5720e..1062575 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMAclBlock.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMAclBlock.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformBlock.java b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformBlock.java
index 02a4550..10390f0 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformBlock.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMInformBlock.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapBlock.java b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapBlock.java
index ab3c529..5801d39 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapBlock.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JDMTrapBlock.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JJTParserState.java b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JJTParserState.java
index f68c13c..3279f45 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JJTParserState.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/JJTParserState.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java
index f6ba9e0..bf1041b 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/Parser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/SnmpAcl.java b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/SnmpAcl.java
index ae5b7cf..a8e43c5 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/SnmpAcl.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/SnmpAcl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java
index d4c67d4..1a0eba1 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/IPAcl/TokenMgrError.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/InetAddressAcl.java b/jdk/src/share/classes/com/sun/jmx/snmp/InetAddressAcl.java
index 690b933..291671a 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/InetAddressAcl.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/InetAddressAcl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpString.java b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpString.java
index 76af600..169b67b 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/SnmpString.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/SnmpString.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpErrorHandlerAgent.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpErrorHandlerAgent.java
index 5d9b3e5..63bab37 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpErrorHandlerAgent.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpErrorHandlerAgent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpGenericObjectServer.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpGenericObjectServer.java
index 689e085..df2a2fe 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpGenericObjectServer.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpGenericObjectServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpIndex.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpIndex.java
index 483a796..727d189 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpIndex.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpIndex.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java
index ac9c4bb..4e54f68 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMib.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java
index 86892ee..16b2678 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2007, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgentMBean.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgentMBean.java
index 9f48879..c94135d 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgentMBean.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibAgentMBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java
index 83e2641..896b612 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java
index 38db9f0..e99ad82 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequest.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequest.java
index e117bf2..0748700 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequest.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequestImpl.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequestImpl.java
index 5f204bc..ddcadf7 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequestImpl.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibRequestImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibSubRequest.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibSubRequest.java
index 76aa168..2680dcb 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibSubRequest.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibSubRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java
index 0bad79c..9b8f43d 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpRequestTree.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpRequestTree.java
index bfe2e0fe..77e2ffc 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpRequestTree.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpRequestTree.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpStandardObjectServer.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpStandardObjectServer.java
index f036946..37f31e4 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpStandardObjectServer.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpStandardObjectServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableSupport.java b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableSupport.java
index 950bbce..bc0214c 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableSupport.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/agent/SnmpTableSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/CommunicatorServer.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/CommunicatorServer.java
index b0828e2..6096f6f 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/CommunicatorServer.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/CommunicatorServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServerMBean.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServerMBean.java
index 325daa5..0fc1a83 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServerMBean.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServerMBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2003, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpMibTree.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpMibTree.java
index c6f6770..23c7ee1 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpMibTree.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpMibTree.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java
index 442f496..0b5ef6d 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java
index aa34952..2c66597 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubNextRequestHandler.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubNextRequestHandler.java
index 99eebaa..bd1f9f9 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubNextRequestHandler.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubNextRequestHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java
index 391d528..c2858de 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/defaults/SnmpProperties.java b/jdk/src/share/classes/com/sun/jmx/snmp/defaults/SnmpProperties.java
index f17c682..fcd7c64 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/defaults/SnmpProperties.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/defaults/SnmpProperties.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/tasks/ThreadService.java b/jdk/src/share/classes/com/sun/jmx/snmp/tasks/ThreadService.java
index 6b45ee3..85050de 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/tasks/ThreadService.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/tasks/ThreadService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/dns/DnsClient.java b/jdk/src/share/classes/com/sun/jndi/dns/DnsClient.java
index 8ade3e1..133eabc 100644
--- a/jdk/src/share/classes/com/sun/jndi/dns/DnsClient.java
+++ b/jdk/src/share/classes/com/sun/jndi/dns/DnsClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -411,8 +411,7 @@
udpSocket.receive(ipkt);
long end = System.currentTimeMillis();
- byte[] data = new byte[ipkt.getLength()];
- data = ipkt.getData();
+ byte[] data = ipkt.getData();
if (isMatchResponse(data, xid)) {
return data;
}
diff --git a/jdk/src/share/classes/com/sun/jndi/dns/DnsContext.java b/jdk/src/share/classes/com/sun/jndi/dns/DnsContext.java
index 3c0b6a5..ee118b8 100644
--- a/jdk/src/share/classes/com/sun/jndi/dns/DnsContext.java
+++ b/jdk/src/share/classes/com/sun/jndi/dns/DnsContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecord.java b/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecord.java
index b4c88c6..846135c 100644
--- a/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecord.java
+++ b/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecord.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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,8 +25,13 @@
package com.sun.jndi.dns;
+import javax.naming.CommunicationException;
import javax.naming.InvalidNameException;
+import java.io.IOException;
+
+import java.nio.charset.StandardCharsets;
+
/**
* The ResourceRecord class represents a DNS resource record.
@@ -84,6 +89,11 @@
null, "IN", null, null, "HS"
};
+ /*
+ * Maximum number of compression references in labels.
+ * Used to detect compression loops.
+ */
+ private static final int MAXIMUM_COMPRESSION_REFERENCES = 16;
byte[] msg; // DNS message
int msgLen; // msg size (in octets)
@@ -110,12 +120,12 @@
* false, the rdata is not decoded (and getRdata() will return null)
* unless this is an SOA record.
*
- * @throws InvalidNameException if a decoded domain name isn't valid.
+ * @throws CommunicationException if a decoded domain name isn't valid.
* @throws ArrayIndexOutOfBoundsException given certain other corrupt data.
*/
ResourceRecord(byte[] msg, int msgLen, int offset,
boolean qSection, boolean decodeRdata)
- throws InvalidNameException {
+ throws CommunicationException {
this.msg = msg;
this.msgLen = msgLen;
@@ -235,7 +245,7 @@
* Decodes the binary format of the RR.
* May throw ArrayIndexOutOfBoundsException given corrupt data.
*/
- private void decode(boolean decodeRdata) throws InvalidNameException {
+ private void decode(boolean decodeRdata) throws CommunicationException {
int pos = offset; // index of next unread octet
name = new DnsName(); // NAME
@@ -316,7 +326,7 @@
/*
* Returns the name encoded at msg[pos], including the root label.
*/
- private DnsName decodeName(int pos) throws InvalidNameException {
+ private DnsName decodeName(int pos) throws CommunicationException {
DnsName n = new DnsName();
decodeName(pos, n);
return n;
@@ -326,22 +336,39 @@
* Prepends to "n" the domain name encoded at msg[pos], including the root
* label. Returns the index into "msg" following the name.
*/
- private int decodeName(int pos, DnsName n) throws InvalidNameException {
- if (msg[pos] == 0) { // end of name
- n.add(0, "");
- return (pos + 1);
- } else if ((msg[pos] & 0xC0) != 0) { // name compression
- decodeName(getUShort(pos) & 0x3FFF, n);
- return (pos + 2);
- } else { // append a label
- int len = msg[pos++];
- try {
- n.add(0, new String(msg, pos, len, "ISO-8859-1"));
- } catch (java.io.UnsupportedEncodingException e) {
- // assert false : "ISO-Latin-1 charset unavailable";
+ private int decodeName(int pos, DnsName n) throws CommunicationException {
+ int endPos = -1;
+ int level = 0;
+ try {
+ while (true) {
+ if (level > MAXIMUM_COMPRESSION_REFERENCES)
+ throw new IOException("Too many compression references");
+ int typeAndLen = msg[pos] & 0xFF;
+ if (typeAndLen == 0) { // end of name
+ ++pos;
+ n.add(0, "");
+ break;
+ } else if (typeAndLen <= 63) { // regular label
+ ++pos;
+ n.add(0, new String(msg, pos, typeAndLen,
+ StandardCharsets.ISO_8859_1));
+ pos += typeAndLen;
+ } else if ((typeAndLen & 0xC0) == 0xC0) { // name compression
+ ++level;
+ endPos = pos + 2;
+ pos = getUShort(pos) & 0x3FFF;
+ } else
+ throw new IOException("Invalid label type: " + typeAndLen);
}
- return decodeName(pos + len, n);
+ } catch (IOException | InvalidNameException e) {
+ CommunicationException ce =new CommunicationException(
+ "DNS error: malformed packet");
+ ce.initCause(e);
+ throw ce;
}
+ if (endPos == -1)
+ endPos = pos;
+ return endPos;
}
/*
@@ -352,7 +379,7 @@
* The rdata of records with unknown type/class combinations is
* returned in a newly-allocated byte array.
*/
- private Object decodeRdata(int pos) throws InvalidNameException {
+ private Object decodeRdata(int pos) throws CommunicationException {
if (rrclass == CLASS_INTERNET) {
switch (rrtype) {
case TYPE_A:
@@ -386,7 +413,7 @@
/*
* Returns the rdata of an MX record that is encoded at msg[pos].
*/
- private String decodeMx(int pos) throws InvalidNameException {
+ private String decodeMx(int pos) throws CommunicationException {
int preference = getUShort(pos);
pos += 2;
DnsName name = decodeName(pos);
@@ -396,7 +423,7 @@
/*
* Returns the rdata of an SOA record that is encoded at msg[pos].
*/
- private String decodeSoa(int pos) throws InvalidNameException {
+ private String decodeSoa(int pos) throws CommunicationException {
DnsName mname = new DnsName();
pos = decodeName(pos, mname);
DnsName rname = new DnsName();
@@ -421,7 +448,7 @@
* Returns the rdata of an SRV record that is encoded at msg[pos].
* See RFC 2782.
*/
- private String decodeSrv(int pos) throws InvalidNameException {
+ private String decodeSrv(int pos) throws CommunicationException {
int priority = getUShort(pos);
pos += 2;
int weight = getUShort(pos);
@@ -436,7 +463,7 @@
* Returns the rdata of an NAPTR record that is encoded at msg[pos].
* See RFC 2915.
*/
- private String decodeNaptr(int pos) throws InvalidNameException {
+ private String decodeNaptr(int pos) throws CommunicationException {
int order = getUShort(pos);
pos += 2;
int preference = getUShort(pos);
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/BasicControl.java b/jdk/src/share/classes/com/sun/jndi/ldap/BasicControl.java
index 007a40c..a7599d2 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/BasicControl.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/BasicControl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/BerDecoder.java b/jdk/src/share/classes/com/sun/jndi/ldap/BerDecoder.java
index 55b46d3..103ce47 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/BerDecoder.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/BerDecoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/BerEncoder.java b/jdk/src/share/classes/com/sun/jndi/ldap/BerEncoder.java
index a641b0d..aa19de7 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/BerEncoder.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/BerEncoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java b/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java
index 9a220b6..65a675f 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/Connection.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/Filter.java b/jdk/src/share/classes/com/sun/jndi/ldap/Filter.java
index 994586c..0a4bba5 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/Filter.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/Filter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java b/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
index 989f39b..e5821ad 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtx.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java b/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
index 9797aad..cb73cf7 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java b/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java
index a2f528b..d29e408 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/LdapName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/LdapPoolManager.java b/jdk/src/share/classes/com/sun/jndi/ldap/LdapPoolManager.java
index 1222538..88b36cb 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/LdapPoolManager.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/LdapPoolManager.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/VersionHelper12.java b/jdk/src/share/classes/com/sun/jndi/ldap/VersionHelper12.java
index 63e6bd2..468273e 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/VersionHelper12.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/VersionHelper12.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java b/jdk/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java
index 28745bd..53d197c 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/PartialCompositeContext.java b/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/PartialCompositeContext.java
index 13b5daa..891a862 100644
--- a/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/PartialCompositeContext.java
+++ b/jdk/src/share/classes/com/sun/jndi/toolkit/ctx/PartialCompositeContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/toolkit/dir/ContextEnumerator.java b/jdk/src/share/classes/com/sun/jndi/toolkit/dir/ContextEnumerator.java
index d88a7e2..cafd047 100644
--- a/jdk/src/share/classes/com/sun/jndi/toolkit/dir/ContextEnumerator.java
+++ b/jdk/src/share/classes/com/sun/jndi/toolkit/dir/ContextEnumerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java b/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java
index 4ad7a62..ffdc9b8 100644
--- a/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java
+++ b/jdk/src/share/classes/com/sun/jndi/toolkit/dir/SearchFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java b/jdk/src/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java
index b275120..467fb0c 100644
--- a/jdk/src/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java
+++ b/jdk/src/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/management/GarbageCollectorMXBean.java b/jdk/src/share/classes/com/sun/management/GarbageCollectorMXBean.java
index af574ca..b4cf214 100644
--- a/jdk/src/share/classes/com/sun/management/GarbageCollectorMXBean.java
+++ b/jdk/src/share/classes/com/sun/management/GarbageCollectorMXBean.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/management/GcInfo.java b/jdk/src/share/classes/com/sun/management/GcInfo.java
index 516174a..0a7eda7 100644
--- a/jdk/src/share/classes/com/sun/management/GcInfo.java
+++ b/jdk/src/share/classes/com/sun/management/GcInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java b/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java
index 60751b0..9bcdd85 100644
--- a/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java
+++ b/jdk/src/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/management/OperatingSystemMXBean.java b/jdk/src/share/classes/com/sun/management/OperatingSystemMXBean.java
index 5707508..3b928aa 100644
--- a/jdk/src/share/classes/com/sun/management/OperatingSystemMXBean.java
+++ b/jdk/src/share/classes/com/sun/management/OperatingSystemMXBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/management/ThreadMXBean.java b/jdk/src/share/classes/com/sun/management/ThreadMXBean.java
index 25a59c4..4801bba 100644
--- a/jdk/src/share/classes/com/sun/management/ThreadMXBean.java
+++ b/jdk/src/share/classes/com/sun/management/ThreadMXBean.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/management/UnixOperatingSystemMXBean.java b/jdk/src/share/classes/com/sun/management/UnixOperatingSystemMXBean.java
index 00cb3f4..f094f5c 100644
--- a/jdk/src/share/classes/com/sun/management/UnixOperatingSystemMXBean.java
+++ b/jdk/src/share/classes/com/sun/management/UnixOperatingSystemMXBean.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/management/VMOption.java b/jdk/src/share/classes/com/sun/management/VMOption.java
index fb6d8a6..9c66af1 100644
--- a/jdk/src/share/classes/com/sun/management/VMOption.java
+++ b/jdk/src/share/classes/com/sun/management/VMOption.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/media/sound/FastSysexMessage.java b/jdk/src/share/classes/com/sun/media/sound/FastSysexMessage.java
index 7f2e2de..8b847eb 100644
--- a/jdk/src/share/classes/com/sun/media/sound/FastSysexMessage.java
+++ b/jdk/src/share/classes/com/sun/media/sound/FastSysexMessage.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/src/share/classes/com/sun/media/sound/SunFileReader.java b/jdk/src/share/classes/com/sun/media/sound/SunFileReader.java
index 202b94f..7e59125 100644
--- a/jdk/src/share/classes/com/sun/media/sound/SunFileReader.java
+++ b/jdk/src/share/classes/com/sun/media/sound/SunFileReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java b/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java
index 0a32e2d..a735b43 100644
--- a/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java
+++ b/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/Authenticator.java b/jdk/src/share/classes/com/sun/net/httpserver/Authenticator.java
index ba4aecb..cdce078 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/Authenticator.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/Authenticator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java b/jdk/src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java
index 09964d5..eb87031 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/Filter.java b/jdk/src/share/classes/com/sun/net/httpserver/Filter.java
index 01fd7b6..e28bdc6 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/Filter.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/Filter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/Headers.java b/jdk/src/share/classes/com/sun/net/httpserver/Headers.java
index 7d07d42..0ca7d39 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/Headers.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/Headers.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/HttpContext.java b/jdk/src/share/classes/com/sun/net/httpserver/HttpContext.java
index b145813..169e4a0 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/HttpContext.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/HttpContext.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/HttpExchange.java b/jdk/src/share/classes/com/sun/net/httpserver/HttpExchange.java
index f976ac2..5a9c4d9 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/HttpExchange.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/HttpExchange.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/HttpHandler.java b/jdk/src/share/classes/com/sun/net/httpserver/HttpHandler.java
index 3611d67..62b621c 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/HttpHandler.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/HttpHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/HttpPrincipal.java b/jdk/src/share/classes/com/sun/net/httpserver/HttpPrincipal.java
index e34eccb..df5e422 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/HttpPrincipal.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/HttpPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/HttpServer.java b/jdk/src/share/classes/com/sun/net/httpserver/HttpServer.java
index 21dfe41..02e9994 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/HttpServer.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/HttpServer.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/HttpsConfigurator.java b/jdk/src/share/classes/com/sun/net/httpserver/HttpsConfigurator.java
index f15c8a9..eda0e8b 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/HttpsConfigurator.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/HttpsConfigurator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/HttpsExchange.java b/jdk/src/share/classes/com/sun/net/httpserver/HttpsExchange.java
index 1893b1d..99a2733 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/HttpsExchange.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/HttpsExchange.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/HttpsParameters.java b/jdk/src/share/classes/com/sun/net/httpserver/HttpsParameters.java
index 70df374..f3fd7a6 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/HttpsParameters.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/HttpsParameters.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/HttpsServer.java b/jdk/src/share/classes/com/sun/net/httpserver/HttpsServer.java
index b4a0a58..f7eb542 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/HttpsServer.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/HttpsServer.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/package-info.java b/jdk/src/share/classes/com/sun/net/httpserver/package-info.java
index ebe76e5..9fc1b7b 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/package-info.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java b/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
index affd8ab..f4e53b3 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/net/httpserver/spi/package-info.java b/jdk/src/share/classes/com/sun/net/httpserver/spi/package-info.java
index f4d244a..8c4d318 100644
--- a/jdk/src/share/classes/com/sun/net/httpserver/spi/package-info.java
+++ b/jdk/src/share/classes/com/sun/net/httpserver/spi/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/net/ssl/internal/ssl/Provider.java b/jdk/src/share/classes/com/sun/net/ssl/internal/ssl/Provider.java
index 765c232..2f1d2b4 100644
--- a/jdk/src/share/classes/com/sun/net/ssl/internal/ssl/Provider.java
+++ b/jdk/src/share/classes/com/sun/net/ssl/internal/ssl/Provider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/src/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java b/jdk/src/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java
index f4a2a80..0723756 100644
--- a/jdk/src/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java
+++ b/jdk/src/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/AbstractNotificationHandler.java b/jdk/src/share/classes/com/sun/nio/sctp/AbstractNotificationHandler.java
index d11cc16..498897f 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/AbstractNotificationHandler.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/AbstractNotificationHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/Association.java b/jdk/src/share/classes/com/sun/nio/sctp/Association.java
index 01cc82d..9d48b1f 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/Association.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/Association.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java b/jdk/src/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java
index ff41b47..7aefc78 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/HandlerResult.java b/jdk/src/share/classes/com/sun/nio/sctp/HandlerResult.java
index 42dd17f..b884f82 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/HandlerResult.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/HandlerResult.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java b/jdk/src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java
index dec6382..7665817 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/IllegalReceiveException.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/IllegalUnbindException.java b/jdk/src/share/classes/com/sun/nio/sctp/IllegalUnbindException.java
index dc965d6..5ba8616 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/IllegalUnbindException.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/IllegalUnbindException.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/InvalidStreamException.java b/jdk/src/share/classes/com/sun/nio/sctp/InvalidStreamException.java
index c331b25..0c0c93c 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/InvalidStreamException.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/InvalidStreamException.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java b/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java
index a63f909..e3208f2 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/MessageInfo.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/Notification.java b/jdk/src/share/classes/com/sun/nio/sctp/Notification.java
index 8c20103..7b15b23 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/Notification.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/Notification.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/NotificationHandler.java b/jdk/src/share/classes/com/sun/nio/sctp/NotificationHandler.java
index f95d9ec..27b357f 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/NotificationHandler.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/NotificationHandler.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java b/jdk/src/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java
index e05c8bb..4eab3cb 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java b/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java
index 130390c..445b755 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpChannel.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java b/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java
index 79c5efb..169243d 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpMultiChannel.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java b/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java
index a1e7a9a..899a2f6 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpServerChannel.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SctpSocketOption.java b/jdk/src/share/classes/com/sun/nio/sctp/SctpSocketOption.java
index 783bc56..72c92f5 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/SctpSocketOption.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpSocketOption.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java b/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java
index 1ac4c79..75e5c0c 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/SendFailedNotification.java b/jdk/src/share/classes/com/sun/nio/sctp/SendFailedNotification.java
index 8178b3c..d69a666 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/SendFailedNotification.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/SendFailedNotification.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/ShutdownNotification.java b/jdk/src/share/classes/com/sun/nio/sctp/ShutdownNotification.java
index d3556b3..90f66b9 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/ShutdownNotification.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/ShutdownNotification.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/nio/sctp/package-info.java b/jdk/src/share/classes/com/sun/nio/sctp/package-info.java
index fe63d18..ac9cca9 100644
--- a/jdk/src/share/classes/com/sun/nio/sctp/package-info.java
+++ b/jdk/src/share/classes/com/sun/nio/sctp/package-info.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java
index 4748a6b..cc67948 100644
--- a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java
+++ b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/SignatureAlgorithm.java
@@ -296,7 +296,7 @@
* which is executed on the internal {@link java.security.Signature} object.
*
* @param signature
- * @return true if if the signature is valid.
+ * @return true if the signature is valid.
*
* @throws XMLSignatureException
*/
diff --git a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceData.java b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceData.java
index 81de122..dabab20 100644
--- a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceData.java
+++ b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceData.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id$
diff --git a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceNodeSetData.java b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceNodeSetData.java
index dc18c42..115680c 100644
--- a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceNodeSetData.java
+++ b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceNodeSetData.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id$
diff --git a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceOctetStreamData.java b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceOctetStreamData.java
index 0f59fb9..5285517 100644
--- a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceOctetStreamData.java
+++ b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceOctetStreamData.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id$
diff --git a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java
index cfa45e0..d9d5026 100644
--- a/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java
+++ b/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/signature/reference/ReferenceSubTreeData.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id$
diff --git a/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
index 80109fd..714ae35 100644
--- a/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/rowset/FilteredRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/FilteredRowSetImpl.java
index 1e60fe8..8d72277 100644
--- a/jdk/src/share/classes/com/sun/rowset/FilteredRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/FilteredRowSetImpl.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/rowset/JdbcRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/JdbcRowSetImpl.java
index 45df1b8..a765fbf 100644
--- a/jdk/src/share/classes/com/sun/rowset/JdbcRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/JdbcRowSetImpl.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties
index 41e23d7..75daa75 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_de.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties
index 683429d..8f9cb1f 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_es.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties
index 7793e88..4beab2b 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_fr.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties
index 916db67..4261aed 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_it.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties
index 7580131..17e6901 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ja.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties
index 89bbf67..f8553dc 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties
index cc80e06..5f17c81 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_pt_BR.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties
index 089dc28..7122a87 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties
index 29d1823..adb91c4 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_CN.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties
index 5ed2f8c..dba1905 100644
--- a/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties
+++ b/jdk/src/share/classes/com/sun/rowset/RowSetResourceBundle_zh_TW.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/WebRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/WebRowSetImpl.java
index a2d2c43..db7bb7f 100644
--- a/jdk/src/share/classes/com/sun/rowset/WebRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/WebRowSetImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/internal/BaseRow.java b/jdk/src/share/classes/com/sun/rowset/internal/BaseRow.java
index dec4270..1b4067c 100644
--- a/jdk/src/share/classes/com/sun/rowset/internal/BaseRow.java
+++ b/jdk/src/share/classes/com/sun/rowset/internal/BaseRow.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java b/jdk/src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
index c78e874..4090768 100644
--- a/jdk/src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/com/sun/rowset/package.html b/jdk/src/share/classes/com/sun/rowset/package.html
index abd21b8..0009652 100644
--- a/jdk/src/share/classes/com/sun/rowset/package.html
+++ b/jdk/src/share/classes/com/sun/rowset/package.html
@@ -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
diff --git a/jdk/src/share/classes/com/sun/security/auth/LdapPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/LdapPrincipal.java
index e974f2c..6a324ee 100644
--- a/jdk/src/share/classes/com/sun/security/auth/LdapPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/LdapPrincipal.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/security/auth/NTDomainPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/NTDomainPrincipal.java
index e89e565..eb7730c 100644
--- a/jdk/src/share/classes/com/sun/security/auth/NTDomainPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/NTDomainPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/NTNumericCredential.java b/jdk/src/share/classes/com/sun/security/auth/NTNumericCredential.java
index 02f9634..9bda9c9 100644
--- a/jdk/src/share/classes/com/sun/security/auth/NTNumericCredential.java
+++ b/jdk/src/share/classes/com/sun/security/auth/NTNumericCredential.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/NTSid.java b/jdk/src/share/classes/com/sun/security/auth/NTSid.java
index 2c64deb..28b40b9 100644
--- a/jdk/src/share/classes/com/sun/security/auth/NTSid.java
+++ b/jdk/src/share/classes/com/sun/security/auth/NTSid.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java
index 082b9c4..d3f34f9 100644
--- a/jdk/src/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java
index 52205c9..6b59945 100644
--- a/jdk/src/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java
index 7d3f666..5928dce 100644
--- a/jdk/src/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/NTSidUserPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/NTSidUserPrincipal.java
index b180f52..9265f54 100644
--- a/jdk/src/share/classes/com/sun/security/auth/NTSidUserPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/NTSidUserPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/NTUserPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/NTUserPrincipal.java
index 405d553..91be069 100644
--- a/jdk/src/share/classes/com/sun/security/auth/NTUserPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/NTUserPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/PrincipalComparator.java b/jdk/src/share/classes/com/sun/security/auth/PrincipalComparator.java
index 122a31c..8d8e124 100644
--- a/jdk/src/share/classes/com/sun/security/auth/PrincipalComparator.java
+++ b/jdk/src/share/classes/com/sun/security/auth/PrincipalComparator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java
index bb7e8b8..7924362 100644
--- a/jdk/src/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java
index eff1f3d..86f7ed6 100644
--- a/jdk/src/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/SolarisPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/SolarisPrincipal.java
index bd3e8c8..69ece71 100644
--- a/jdk/src/share/classes/com/sun/security/auth/SolarisPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/SolarisPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java
index 7e63b44..db5775a 100644
--- a/jdk/src/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java
index 2581186..c6dfd7e 100644
--- a/jdk/src/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/UnixPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/UnixPrincipal.java
index 3a8004f..4aefaf9 100644
--- a/jdk/src/share/classes/com/sun/security/auth/UnixPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/UnixPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/UserPrincipal.java b/jdk/src/share/classes/com/sun/security/auth/UserPrincipal.java
index a156b47..f4e7555 100644
--- a/jdk/src/share/classes/com/sun/security/auth/UserPrincipal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/UserPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/X500Principal.java b/jdk/src/share/classes/com/sun/security/auth/X500Principal.java
index d4b7ce2..ae3e4cb 100644
--- a/jdk/src/share/classes/com/sun/security/auth/X500Principal.java
+++ b/jdk/src/share/classes/com/sun/security/auth/X500Principal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java b/jdk/src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java
index 6bebfb4..4d6f7b6 100644
--- a/jdk/src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java
+++ b/jdk/src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -28,21 +28,14 @@
/* JAAS imports */
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.ConfirmationCallback;
-import javax.security.auth.callback.NameCallback;
-import javax.security.auth.callback.PasswordCallback;
-import javax.security.auth.callback.TextOutputCallback;
+import javax.security.auth.callback.NameCallback; // javadoc
+import javax.security.auth.callback.PasswordCallback; // javadoc
import javax.security.auth.callback.UnsupportedCallbackException;
/* Java imports */
-import java.io.BufferedReader;
import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PushbackInputStream;
-import java.util.Arrays;
-import sun.security.util.Password;
+import sun.security.util.ConsoleCallbackHandler;
/**
* <p>
@@ -55,6 +48,7 @@
@jdk.Exported
public class TextCallbackHandler implements CallbackHandler {
+ private final CallbackHandler consoleHandler;
/**
* <p>Creates a callback handler that prompts and reads from the
@@ -63,7 +57,9 @@
* CallbackHandler.
*/
- public TextCallbackHandler() { }
+ public TextCallbackHandler() {
+ this.consoleHandler = new ConsoleCallbackHandler();
+ }
/**
* Handles the specified set of callbacks.
@@ -76,187 +72,7 @@
public void handle(Callback[] callbacks)
throws IOException, UnsupportedCallbackException
{
- ConfirmationCallback confirmation = null;
-
- for (int i = 0; i < callbacks.length; i++) {
- if (callbacks[i] instanceof TextOutputCallback) {
- TextOutputCallback tc = (TextOutputCallback) callbacks[i];
-
- String text;
- switch (tc.getMessageType()) {
- case TextOutputCallback.INFORMATION:
- text = "";
- break;
- case TextOutputCallback.WARNING:
- text = "Warning: ";
- break;
- case TextOutputCallback.ERROR:
- text = "Error: ";
- break;
- default:
- throw new UnsupportedCallbackException(
- callbacks[i], "Unrecognized message type");
- }
-
- String message = tc.getMessage();
- if (message != null) {
- text += message;
- }
- if (text != null) {
- System.err.println(text);
- }
-
- } else if (callbacks[i] instanceof NameCallback) {
- NameCallback nc = (NameCallback) callbacks[i];
-
- if (nc.getDefaultName() == null) {
- System.err.print(nc.getPrompt());
- } else {
- System.err.print(nc.getPrompt() +
- " [" + nc.getDefaultName() + "] ");
- }
- System.err.flush();
-
- String result = readLine();
- if (result.equals("")) {
- result = nc.getDefaultName();
- }
-
- nc.setName(result);
-
- } else if (callbacks[i] instanceof PasswordCallback) {
- PasswordCallback pc = (PasswordCallback) callbacks[i];
-
- System.err.print(pc.getPrompt());
- System.err.flush();
-
- pc.setPassword(Password.readPassword(System.in, pc.isEchoOn()));
-
- } else if (callbacks[i] instanceof ConfirmationCallback) {
- confirmation = (ConfirmationCallback) callbacks[i];
-
- } else {
- throw new UnsupportedCallbackException(
- callbacks[i], "Unrecognized Callback");
- }
- }
-
- /* Do the confirmation callback last. */
- if (confirmation != null) {
- doConfirmation(confirmation);
- }
- }
-
- /* Reads a line of input */
- private String readLine() throws IOException {
- String result = new BufferedReader
- (new InputStreamReader(System.in)).readLine();
- if (result == null) {
- throw new IOException("Cannot read from System.in");
- }
- return result;
- }
-
- private void doConfirmation(ConfirmationCallback confirmation)
- throws IOException, UnsupportedCallbackException
- {
- String prefix;
- int messageType = confirmation.getMessageType();
- switch (messageType) {
- case ConfirmationCallback.WARNING:
- prefix = "Warning: ";
- break;
- case ConfirmationCallback.ERROR:
- prefix = "Error: ";
- break;
- case ConfirmationCallback.INFORMATION:
- prefix = "";
- break;
- default:
- throw new UnsupportedCallbackException(
- confirmation, "Unrecognized message type: " + messageType);
- }
-
- class OptionInfo {
- String name;
- int value;
- OptionInfo(String name, int value) {
- this.name = name;
- this.value = value;
- }
- }
-
- OptionInfo[] options;
- int optionType = confirmation.getOptionType();
- switch (optionType) {
- case ConfirmationCallback.YES_NO_OPTION:
- options = new OptionInfo[] {
- new OptionInfo("Yes", ConfirmationCallback.YES),
- new OptionInfo("No", ConfirmationCallback.NO)
- };
- break;
- case ConfirmationCallback.YES_NO_CANCEL_OPTION:
- options = new OptionInfo[] {
- new OptionInfo("Yes", ConfirmationCallback.YES),
- new OptionInfo("No", ConfirmationCallback.NO),
- new OptionInfo("Cancel", ConfirmationCallback.CANCEL)
- };
- break;
- case ConfirmationCallback.OK_CANCEL_OPTION:
- options = new OptionInfo[] {
- new OptionInfo("OK", ConfirmationCallback.OK),
- new OptionInfo("Cancel", ConfirmationCallback.CANCEL)
- };
- break;
- case ConfirmationCallback.UNSPECIFIED_OPTION:
- String[] optionStrings = confirmation.getOptions();
- options = new OptionInfo[optionStrings.length];
- for (int i = 0; i < options.length; i++) {
- options[i] = new OptionInfo(optionStrings[i], i);
- }
- break;
- default:
- throw new UnsupportedCallbackException(
- confirmation, "Unrecognized option type: " + optionType);
- }
-
- int defaultOption = confirmation.getDefaultOption();
-
- String prompt = confirmation.getPrompt();
- if (prompt == null) {
- prompt = "";
- }
- prompt = prefix + prompt;
- if (!prompt.equals("")) {
- System.err.println(prompt);
- }
-
- for (int i = 0; i < options.length; i++) {
- if (optionType == ConfirmationCallback.UNSPECIFIED_OPTION) {
- // defaultOption is an index into the options array
- System.err.println(
- i + ". " + options[i].name +
- (i == defaultOption ? " [default]" : ""));
- } else {
- // defaultOption is an option value
- System.err.println(
- i + ". " + options[i].name +
- (options[i].value == defaultOption ? " [default]" : ""));
- }
- }
- System.err.print("Enter a number: ");
- System.err.flush();
- int result;
- try {
- result = Integer.parseInt(readLine());
- if (result < 0 || result > (options.length - 1)) {
- result = defaultOption;
- }
- result = options[result].value;
- } catch (NumberFormatException e) {
- result = defaultOption;
- }
-
- confirmation.setSelectedIndex(result);
+ // delegate to console handler
+ consoleHandler.handle(callbacks);
}
}
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java b/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java
index 35d35cc..6bce936 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/JndiLoginModule.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java b/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java
index ada7630..248afb5 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java b/jdk/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java
index 9a59817..8539a26 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/LdapLoginModule.java b/jdk/src/share/classes/com/sun/security/auth/module/LdapLoginModule.java
index e2acede..e161b0e 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/LdapLoginModule.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/LdapLoginModule.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/NTLoginModule.java b/jdk/src/share/classes/com/sun/security/auth/module/NTLoginModule.java
index 18fb73d..8be7e9d 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/NTLoginModule.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/NTLoginModule.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/NTSystem.java b/jdk/src/share/classes/com/sun/security/auth/module/NTSystem.java
index 502d92a..0a51492 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/NTSystem.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/NTSystem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java b/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java
index e03eb7a..c5ab3b5 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/SolarisLoginModule.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/SolarisSystem.java b/jdk/src/share/classes/com/sun/security/auth/module/SolarisSystem.java
index df4f527..434967e 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/SolarisSystem.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/SolarisSystem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java b/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java
index 3b59267..4bf9d5d 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/UnixLoginModule.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/auth/module/UnixSystem.java b/jdk/src/share/classes/com/sun/security/auth/module/UnixSystem.java
index 804d8c1..f969ae1 100644
--- a/jdk/src/share/classes/com/sun/security/auth/module/UnixSystem.java
+++ b/jdk/src/share/classes/com/sun/security/auth/module/UnixSystem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/jgss/AuthorizationDataEntry.java b/jdk/src/share/classes/com/sun/security/jgss/AuthorizationDataEntry.java
index fdabd19..5eab09b 100644
--- a/jdk/src/share/classes/com/sun/security/jgss/AuthorizationDataEntry.java
+++ b/jdk/src/share/classes/com/sun/security/jgss/AuthorizationDataEntry.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010, 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
diff --git a/jdk/src/share/classes/com/sun/security/jgss/ExtendedGSSContext.java b/jdk/src/share/classes/com/sun/security/jgss/ExtendedGSSContext.java
index 798379e..2733c7b 100644
--- a/jdk/src/share/classes/com/sun/security/jgss/ExtendedGSSContext.java
+++ b/jdk/src/share/classes/com/sun/security/jgss/ExtendedGSSContext.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java b/jdk/src/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java
index bf44dff..6727ddd 100644
--- a/jdk/src/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java
+++ b/jdk/src/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/security/jgss/GSSUtil.java b/jdk/src/share/classes/com/sun/security/jgss/GSSUtil.java
index 50b83da..2358c58 100644
--- a/jdk/src/share/classes/com/sun/security/jgss/GSSUtil.java
+++ b/jdk/src/share/classes/com/sun/security/jgss/GSSUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/jgss/InquireSecContextPermission.java b/jdk/src/share/classes/com/sun/security/jgss/InquireSecContextPermission.java
index 1e247f9..f8e850c 100644
--- a/jdk/src/share/classes/com/sun/security/jgss/InquireSecContextPermission.java
+++ b/jdk/src/share/classes/com/sun/security/jgss/InquireSecContextPermission.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/security/jgss/InquireType.java b/jdk/src/share/classes/com/sun/security/jgss/InquireType.java
index c153ccb..9dfc83a 100644
--- a/jdk/src/share/classes/com/sun/security/jgss/InquireType.java
+++ b/jdk/src/share/classes/com/sun/security/jgss/InquireType.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/security/ntlm/Client.java b/jdk/src/share/classes/com/sun/security/ntlm/Client.java
index 7117cdc..ba3e90c 100644
--- a/jdk/src/share/classes/com/sun/security/ntlm/Client.java
+++ b/jdk/src/share/classes/com/sun/security/ntlm/Client.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java b/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java
index b85fcee..da18e21 100644
--- a/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java
+++ b/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Client.java b/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Client.java
index 44cee0b..a9065b3 100644
--- a/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Client.java
+++ b/jdk/src/share/classes/com/sun/security/sasl/digest/DigestMD5Client.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Base.java b/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Base.java
index b074159..30461e2 100644
--- a/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Base.java
+++ b/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Base.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java b/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java
index c96a979..e8d9a4c 100644
--- a/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java
+++ b/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Client.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java b/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java
index b3b8a99..94ce39c 100644
--- a/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java
+++ b/jdk/src/share/classes/com/sun/security/sasl/gsskerb/GssKrb5Server.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java b/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java
index 3b64585..9589abd 100644
--- a/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java
+++ b/jdk/src/share/classes/com/sun/security/sasl/ntlm/NTLMServer.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java b/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java
index 93901d4..c0df4bf 100644
--- a/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java
+++ b/jdk/src/share/classes/com/sun/security/sasl/util/AbstractSaslImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
index 823abc4..5f3d8e2 100644
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
@@ -143,12 +143,12 @@
InternalFrame.closeButtonToolTip=Schlie\u00DFen
############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButton.textAndMnemonic=Wiede&rherstellen
-InternalFrameTitlePane.moveButton.textAndMnemonic=Verschieben(&M)
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Gr\u00F6\u00DFe(&S)
+InternalFrameTitlePane.restoreButton.textAndMnemonic=&Wiederherstellen
+InternalFrameTitlePane.moveButton.textAndMnemonic=&Verschieben
+InternalFrameTitlePane.sizeButton.textAndMnemonic=&Gr\u00F6\u00DFe
InternalFrameTitlePane.minimizeButton.textAndMnemonic=Mi&nimieren
InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ma&ximieren
-InternalFrameTitlePane.closeButton.textAndMnemonic=S&chlie\u00DFen
+InternalFrameTitlePane.closeButton.textAndMnemonic=&Schlie\u00DFen
############ Text strings #############
# Used for html forms
diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
index 08c7782..485ed06 100644
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
@@ -145,7 +145,7 @@
############ Internal Frame Title Pane Strings ############
InternalFrameTitlePane.restoreButton.textAndMnemonic=&Restaurar
InternalFrameTitlePane.moveButton.textAndMnemonic=&Mover
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Tama\u00F1o(&S)
+InternalFrameTitlePane.sizeButton.textAndMnemonic=&Tama\u00F1o
InternalFrameTitlePane.minimizeButton.textAndMnemonic=Mi&nimizar
InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ma&ximizar
InternalFrameTitlePane.closeButton.textAndMnemonic=&Cerrar
diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
index 902db71..ac89a22 100644
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
@@ -144,11 +144,11 @@
############ Internal Frame Title Pane Strings ############
InternalFrameTitlePane.restoreButton.textAndMnemonic=&Restaurer
-InternalFrameTitlePane.moveButton.textAndMnemonic=D\u00E9placer(&M)
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Taille(&S)
-InternalFrameTitlePane.minimizeButton.textAndMnemonic=R\u00E9duire(&N)
-InternalFrameTitlePane.maximizeButton.textAndMnemonic=Agrandir(&X)
-InternalFrameTitlePane.closeButton.textAndMnemonic=Fermer(&C)
+InternalFrameTitlePane.moveButton.textAndMnemonic=D\u00E9p&lacer
+InternalFrameTitlePane.sizeButton.textAndMnemonic=Re&dimensionner
+InternalFrameTitlePane.minimizeButton.textAndMnemonic=&R\u00E9duire
+InternalFrameTitlePane.maximizeButton.textAndMnemonic=&Agrandir
+InternalFrameTitlePane.closeButton.textAndMnemonic=&Fermer
############ Text strings #############
# Used for html forms
diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
index 310d08f..c86d214 100644
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
@@ -144,10 +144,10 @@
############ Internal Frame Title Pane Strings ############
InternalFrameTitlePane.restoreButton.textAndMnemonic=&Ripristina
-InternalFrameTitlePane.moveButton.textAndMnemonic=Sposta(&M)
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Dimen&sioni
-InternalFrameTitlePane.minimizeButton.textAndMnemonic=Riduci a ico&na
-InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ingrandisci(&X)
+InternalFrameTitlePane.moveButton.textAndMnemonic=&Sposta
+InternalFrameTitlePane.sizeButton.textAndMnemonic=R&idimensiona
+InternalFrameTitlePane.minimizeButton.textAndMnemonic=Ri&duci a icona
+InternalFrameTitlePane.maximizeButton.textAndMnemonic=In&grandisci
InternalFrameTitlePane.closeButton.textAndMnemonic=&Chiudi
############ Text strings #############
diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties
index 4f86d4c..5c5ad20 100644
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties
@@ -145,10 +145,10 @@
############ Internal Frame Title Pane Strings ############
InternalFrameTitlePane.restoreButton.textAndMnemonic=&Restaurar
InternalFrameTitlePane.moveButton.textAndMnemonic=&Mover
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Tamanho(&S)
+InternalFrameTitlePane.sizeButton.textAndMnemonic=&Dimensionar
InternalFrameTitlePane.minimizeButton.textAndMnemonic=Mi&nimizar
InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ma&ximizar
-InternalFrameTitlePane.closeButton.textAndMnemonic=Fe&char
+InternalFrameTitlePane.closeButton.textAndMnemonic=&Fechar
############ Text strings #############
# Used for html forms
diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties
index 27f2498..825a025 100644
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties
@@ -143,12 +143,12 @@
InternalFrame.closeButtonToolTip=St\u00E4ng
############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButton.textAndMnemonic=\u00C5terst\u00E4ll(&R)
-InternalFrameTitlePane.moveButton.textAndMnemonic=Flytta(&M)
+InternalFrameTitlePane.restoreButton.textAndMnemonic=&\u00C5terst\u00E4ll
+InternalFrameTitlePane.moveButton.textAndMnemonic=&Flytta
InternalFrameTitlePane.sizeButton.textAndMnemonic=&Storlek
InternalFrameTitlePane.minimizeButton.textAndMnemonic=Mi&nimera
InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ma&ximera
-InternalFrameTitlePane.closeButton.textAndMnemonic=St\u00E4ng(&C)
+InternalFrameTitlePane.closeButton.textAndMnemonic=&St\u00E4ng
############ Text strings #############
# Used for html forms
diff --git a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties
index c26b7a1..6541661 100644
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties
@@ -143,9 +143,9 @@
InternalFrame.closeButtonToolTip=\u95DC\u9589
############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButton.textAndMnemonic=\u5FA9\u539F(&R)
+InternalFrameTitlePane.restoreButton.textAndMnemonic=\u56DE\u5FA9(&R)
InternalFrameTitlePane.moveButton.textAndMnemonic=\u79FB\u52D5(&M)
-InternalFrameTitlePane.sizeButton.textAndMnemonic=\u5927\u5C0F(&S)
+InternalFrameTitlePane.sizeButton.textAndMnemonic=\u8ABF\u6574\u5927\u5C0F(&S)
InternalFrameTitlePane.minimizeButton.textAndMnemonic=\u6700\u5C0F\u5316(&N)
InternalFrameTitlePane.maximizeButton.textAndMnemonic=\u6700\u5927\u5316(&X)
InternalFrameTitlePane.closeButton.textAndMnemonic=\u95DC\u9589(&C)
diff --git a/jdk/src/share/classes/com/sun/tools/attach/AgentInitializationException.java b/jdk/src/share/classes/com/sun/tools/attach/AgentInitializationException.java
index cee1a51..b747a73 100644
--- a/jdk/src/share/classes/com/sun/tools/attach/AgentInitializationException.java
+++ b/jdk/src/share/classes/com/sun/tools/attach/AgentInitializationException.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/tools/attach/AgentLoadException.java b/jdk/src/share/classes/com/sun/tools/attach/AgentLoadException.java
index fa19a5f..8b04c46 100644
--- a/jdk/src/share/classes/com/sun/tools/attach/AgentLoadException.java
+++ b/jdk/src/share/classes/com/sun/tools/attach/AgentLoadException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/tools/attach/AttachNotSupportedException.java b/jdk/src/share/classes/com/sun/tools/attach/AttachNotSupportedException.java
index 40f8624..fb55186 100644
--- a/jdk/src/share/classes/com/sun/tools/attach/AttachNotSupportedException.java
+++ b/jdk/src/share/classes/com/sun/tools/attach/AttachNotSupportedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/tools/attach/AttachPermission.java b/jdk/src/share/classes/com/sun/tools/attach/AttachPermission.java
index 4d05f1e..51e198b 100644
--- a/jdk/src/share/classes/com/sun/tools/attach/AttachPermission.java
+++ b/jdk/src/share/classes/com/sun/tools/attach/AttachPermission.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/com/sun/tools/attach/VirtualMachineDescriptor.java b/jdk/src/share/classes/com/sun/tools/attach/VirtualMachineDescriptor.java
index 3e27fe8..21df7e6 100644
--- a/jdk/src/share/classes/com/sun/tools/attach/VirtualMachineDescriptor.java
+++ b/jdk/src/share/classes/com/sun/tools/attach/VirtualMachineDescriptor.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/tools/attach/spi/AttachProvider.java b/jdk/src/share/classes/com/sun/tools/attach/spi/AttachProvider.java
index 67f74f7..aa4a521 100644
--- a/jdk/src/share/classes/com/sun/tools/attach/spi/AttachProvider.java
+++ b/jdk/src/share/classes/com/sun/tools/attach/spi/AttachProvider.java
@@ -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
diff --git a/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java b/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java
index 5cf2229..69deb78 100644
--- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -2172,6 +2172,7 @@
throw generateParseException();
}
+ @SuppressWarnings("serial") // JDK implementation class
static private final class LookaheadSuccess extends java.lang.Error { }
final private LookaheadSuccess jj_ls = new LookaheadSuccess();
private boolean jj_scan_token(int kind) {
diff --git a/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java b/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java
index 1b16420..034a986 100644
--- a/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java b/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java
index e3c2e4f..1cb6d23 100644
--- a/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java b/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java
index 9345a43..50790cb 100644
--- a/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/oql/OQLException.java b/jdk/src/share/classes/com/sun/tools/hat/internal/oql/OQLException.java
index b83f134..94cd6e7 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/oql/OQLException.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/oql/OQLException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -36,6 +36,7 @@
* OQLException is thrown if OQL execution results in error
*
*/
+@SuppressWarnings("serial") // JDK implementation class
public class OQLException extends Exception {
public OQLException(String msg) {
super(msg);
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java
index bdf01b8..64d5abe 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/AllClassesQuery.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java
index f13572a..dde9640 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/ClassQuery.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/HttpReader.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/HttpReader.java
index f08c987..ba27ae3 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/HttpReader.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/HttpReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/InstancesCountQuery.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/InstancesCountQuery.java
index 7e87543..1b466a4 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/InstancesCountQuery.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/InstancesCountQuery.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLHelp.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLHelp.java
index 730d2b7..9a40d83 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLHelp.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLHelp.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java
index 3e99bbc..c21493c 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/OQLQuery.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java
index 9a6d93d..3db09be 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/QueryHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java b/jdk/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java
index 3337b47..ccffc6d 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java
+++ b/jdk/src/share/classes/com/sun/tools/hat/internal/server/RefsByTypeQuery.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/resources/hat.js b/jdk/src/share/classes/com/sun/tools/hat/resources/hat.js
index 97e38a7..c8ef946 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/resources/hat.js
+++ b/jdk/src/share/classes/com/sun/tools/hat/resources/hat.js
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/hat/resources/oqlhelp.html b/jdk/src/share/classes/com/sun/tools/hat/resources/oqlhelp.html
index d660fd3..5d7ec45 100644
--- a/jdk/src/share/classes/com/sun/tools/hat/resources/oqlhelp.html
+++ b/jdk/src/share/classes/com/sun/tools/hat/resources/oqlhelp.html
@@ -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
diff --git a/jdk/src/share/classes/com/sun/tools/jconsole/JConsoleContext.java b/jdk/src/share/classes/com/sun/tools/jconsole/JConsoleContext.java
index 9c8895f..4eda258 100644
--- a/jdk/src/share/classes/com/sun/tools/jconsole/JConsoleContext.java
+++ b/jdk/src/share/classes/com/sun/tools/jconsole/JConsoleContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, 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
diff --git a/jdk/src/share/classes/com/sun/tools/jconsole/JConsolePlugin.java b/jdk/src/share/classes/com/sun/tools/jconsole/JConsolePlugin.java
index daff88c..d1323fc 100644
--- a/jdk/src/share/classes/com/sun/tools/jconsole/JConsolePlugin.java
+++ b/jdk/src/share/classes/com/sun/tools/jconsole/JConsolePlugin.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, 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
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/AbstractLauncher.java b/jdk/src/share/classes/com/sun/tools/jdi/AbstractLauncher.java
index 736da0a..75d5d0a 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/AbstractLauncher.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/AbstractLauncher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java
index 0c83e4d..3449a45 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java
@@ -200,4 +200,9 @@
* Defined always to be true for arrays
*/
public boolean isFinal() { return true; }
+
+ /*
+ * Defined always to be false for arrays
+ */
+ public boolean isStatic() { return false; }
}
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java
index d6b1e95..ff11775 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ConnectorImpl.java
@@ -144,6 +144,7 @@
return string;
}
+ @SuppressWarnings("serial") // JDK implementation class
abstract class ArgumentImpl implements Connector.Argument, Cloneable, Serializable {
private String name;
private String label;
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/EventSetImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/EventSetImpl.java
index 9464780..d907e95 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/EventSetImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/EventSetImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/SDE.java b/jdk/src/share/classes/com/sun/tools/jdi/SDE.java
index 833519d..2ccaf25 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/SDE.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/SDE.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, 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
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/SocketAttachingConnector.java b/jdk/src/share/classes/com/sun/tools/jdi/SocketAttachingConnector.java
index 36f5be2..a8c2bed 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/SocketAttachingConnector.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/SocketAttachingConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/SocketListeningConnector.java b/jdk/src/share/classes/com/sun/tools/jdi/SocketListeningConnector.java
index 7931dd9..95f0410 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/SocketListeningConnector.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/SocketListeningConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ThreadListener.java b/jdk/src/share/classes/com/sun/tools/jdi/ThreadListener.java
index d50c805..d14622c 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ThreadListener.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ThreadListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2000, 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
diff --git a/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java b/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
index 5826999..9034771 100644
--- a/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/com/sun/tools/script/shell/messages.properties b/jdk/src/share/classes/com/sun/tools/script/shell/messages.properties
index 4494f73..4838fb0 100644
--- a/jdk/src/share/classes/com/sun/tools/script/shell/messages.properties
+++ b/jdk/src/share/classes/com/sun/tools/script/shell/messages.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/java/applet/Applet.java b/jdk/src/share/classes/java/applet/Applet.java
index 63d3f0a..889e618 100644
--- a/jdk/src/share/classes/java/applet/Applet.java
+++ b/jdk/src/share/classes/java/applet/Applet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/applet/AppletStub.java b/jdk/src/share/classes/java/applet/AppletStub.java
index a1a31ad..07e4d89 100644
--- a/jdk/src/share/classes/java/applet/AppletStub.java
+++ b/jdk/src/share/classes/java/applet/AppletStub.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/AWTEvent.java b/jdk/src/share/classes/java/awt/AWTEvent.java
index e541d4f..db51f2c 100644
--- a/jdk/src/share/classes/java/awt/AWTEvent.java
+++ b/jdk/src/share/classes/java/awt/AWTEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/AWTPermission.java b/jdk/src/share/classes/java/awt/AWTPermission.java
index 0859872..a201670 100644
--- a/jdk/src/share/classes/java/awt/AWTPermission.java
+++ b/jdk/src/share/classes/java/awt/AWTPermission.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
diff --git a/jdk/src/share/classes/java/awt/AttributeValue.java b/jdk/src/share/classes/java/awt/AttributeValue.java
index 7007ce0..1a2e17b 100644
--- a/jdk/src/share/classes/java/awt/AttributeValue.java
+++ b/jdk/src/share/classes/java/awt/AttributeValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/classes/java/awt/BorderLayout.java b/jdk/src/share/classes/java/awt/BorderLayout.java
index 52f56ed..8075310 100644
--- a/jdk/src/share/classes/java/awt/BorderLayout.java
+++ b/jdk/src/share/classes/java/awt/BorderLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/BufferCapabilities.java b/jdk/src/share/classes/java/awt/BufferCapabilities.java
index 61ce15e..2da7ac3 100644
--- a/jdk/src/share/classes/java/awt/BufferCapabilities.java
+++ b/jdk/src/share/classes/java/awt/BufferCapabilities.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/Button.java b/jdk/src/share/classes/java/awt/Button.java
index da7a01f..d002590 100644
--- a/jdk/src/share/classes/java/awt/Button.java
+++ b/jdk/src/share/classes/java/awt/Button.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/Checkbox.java b/jdk/src/share/classes/java/awt/Checkbox.java
index 0215382..bf3d337 100644
--- a/jdk/src/share/classes/java/awt/Checkbox.java
+++ b/jdk/src/share/classes/java/awt/Checkbox.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/CheckboxGroup.java b/jdk/src/share/classes/java/awt/CheckboxGroup.java
index 90994f4..7037e68 100644
--- a/jdk/src/share/classes/java/awt/CheckboxGroup.java
+++ b/jdk/src/share/classes/java/awt/CheckboxGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/CheckboxMenuItem.java b/jdk/src/share/classes/java/awt/CheckboxMenuItem.java
index 424a531..9278524 100644
--- a/jdk/src/share/classes/java/awt/CheckboxMenuItem.java
+++ b/jdk/src/share/classes/java/awt/CheckboxMenuItem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/Color.java b/jdk/src/share/classes/java/awt/Color.java
index 464fe98..ac460d3 100644
--- a/jdk/src/share/classes/java/awt/Color.java
+++ b/jdk/src/share/classes/java/awt/Color.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java b/jdk/src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java
index 3f53698..a450fec 100644
--- a/jdk/src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java
+++ b/jdk/src/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/awt/Cursor.java b/jdk/src/share/classes/java/awt/Cursor.java
index 793fb3e..794c7c9 100644
--- a/jdk/src/share/classes/java/awt/Cursor.java
+++ b/jdk/src/share/classes/java/awt/Cursor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/DefaultFocusTraversalPolicy.java b/jdk/src/share/classes/java/awt/DefaultFocusTraversalPolicy.java
index ae9dd91..cf54f80 100644
--- a/jdk/src/share/classes/java/awt/DefaultFocusTraversalPolicy.java
+++ b/jdk/src/share/classes/java/awt/DefaultFocusTraversalPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/awt/Dialog.java b/jdk/src/share/classes/java/awt/Dialog.java
index d392a90..70e9ce9 100644
--- a/jdk/src/share/classes/java/awt/Dialog.java
+++ b/jdk/src/share/classes/java/awt/Dialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/Event.java b/jdk/src/share/classes/java/awt/Event.java
index b2a2e6b..ed96bb7 100644
--- a/jdk/src/share/classes/java/awt/Event.java
+++ b/jdk/src/share/classes/java/awt/Event.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/EventFilter.java b/jdk/src/share/classes/java/awt/EventFilter.java
index 1c38467..cad166b 100644
--- a/jdk/src/share/classes/java/awt/EventFilter.java
+++ b/jdk/src/share/classes/java/awt/EventFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/java/awt/FlowLayout.java b/jdk/src/share/classes/java/awt/FlowLayout.java
index 9961c9b..38b4ac8 100644
--- a/jdk/src/share/classes/java/awt/FlowLayout.java
+++ b/jdk/src/share/classes/java/awt/FlowLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/FocusTraversalPolicy.java b/jdk/src/share/classes/java/awt/FocusTraversalPolicy.java
index 0d8323b..4d216be 100644
--- a/jdk/src/share/classes/java/awt/FocusTraversalPolicy.java
+++ b/jdk/src/share/classes/java/awt/FocusTraversalPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/awt/Font.java b/jdk/src/share/classes/java/awt/Font.java
index 7f3657c..3293932 100644
--- a/jdk/src/share/classes/java/awt/Font.java
+++ b/jdk/src/share/classes/java/awt/Font.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/FontMetrics.java b/jdk/src/share/classes/java/awt/FontMetrics.java
index cd6c0fb..f83d44d 100644
--- a/jdk/src/share/classes/java/awt/FontMetrics.java
+++ b/jdk/src/share/classes/java/awt/FontMetrics.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/Frame.java b/jdk/src/share/classes/java/awt/Frame.java
index 7a7f02f..421565e 100644
--- a/jdk/src/share/classes/java/awt/Frame.java
+++ b/jdk/src/share/classes/java/awt/Frame.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/Graphics.java b/jdk/src/share/classes/java/awt/Graphics.java
index c440b0a..a634949 100644
--- a/jdk/src/share/classes/java/awt/Graphics.java
+++ b/jdk/src/share/classes/java/awt/Graphics.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/GraphicsConfiguration.java b/jdk/src/share/classes/java/awt/GraphicsConfiguration.java
index c4ca1d1..ef0e454 100644
--- a/jdk/src/share/classes/java/awt/GraphicsConfiguration.java
+++ b/jdk/src/share/classes/java/awt/GraphicsConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
diff --git a/jdk/src/share/classes/java/awt/GraphicsEnvironment.java b/jdk/src/share/classes/java/awt/GraphicsEnvironment.java
index 8a655ba..66ab39a 100644
--- a/jdk/src/share/classes/java/awt/GraphicsEnvironment.java
+++ b/jdk/src/share/classes/java/awt/GraphicsEnvironment.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/java/awt/GridBagConstraints.java b/jdk/src/share/classes/java/awt/GridBagConstraints.java
index bf53b39..a926e2c 100644
--- a/jdk/src/share/classes/java/awt/GridBagConstraints.java
+++ b/jdk/src/share/classes/java/awt/GridBagConstraints.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/GridBagLayout.java b/jdk/src/share/classes/java/awt/GridBagLayout.java
index 0b0f2bc..20e772a 100644
--- a/jdk/src/share/classes/java/awt/GridBagLayout.java
+++ b/jdk/src/share/classes/java/awt/GridBagLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/GridLayout.java b/jdk/src/share/classes/java/awt/GridLayout.java
index ef506b0..717be62 100644
--- a/jdk/src/share/classes/java/awt/GridLayout.java
+++ b/jdk/src/share/classes/java/awt/GridLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/ImageCapabilities.java b/jdk/src/share/classes/java/awt/ImageCapabilities.java
index d0ad474..e02ccac 100644
--- a/jdk/src/share/classes/java/awt/ImageCapabilities.java
+++ b/jdk/src/share/classes/java/awt/ImageCapabilities.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/Insets.java b/jdk/src/share/classes/java/awt/Insets.java
index f049a9e..c404cc6 100644
--- a/jdk/src/share/classes/java/awt/Insets.java
+++ b/jdk/src/share/classes/java/awt/Insets.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/JobAttributes.java b/jdk/src/share/classes/java/awt/JobAttributes.java
index 205b360..51580df 100644
--- a/jdk/src/share/classes/java/awt/JobAttributes.java
+++ b/jdk/src/share/classes/java/awt/JobAttributes.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/Label.java b/jdk/src/share/classes/java/awt/Label.java
index 090ef84..96bce37 100644
--- a/jdk/src/share/classes/java/awt/Label.java
+++ b/jdk/src/share/classes/java/awt/Label.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/LinearGradientPaint.java b/jdk/src/share/classes/java/awt/LinearGradientPaint.java
index eed1f34..ad70a60 100644
--- a/jdk/src/share/classes/java/awt/LinearGradientPaint.java
+++ b/jdk/src/share/classes/java/awt/LinearGradientPaint.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/LinearGradientPaintContext.java b/jdk/src/share/classes/java/awt/LinearGradientPaintContext.java
index 965e148..635a3cb 100644
--- a/jdk/src/share/classes/java/awt/LinearGradientPaintContext.java
+++ b/jdk/src/share/classes/java/awt/LinearGradientPaintContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/java/awt/Menu.java b/jdk/src/share/classes/java/awt/Menu.java
index ae5d2fa..6293718 100644
--- a/jdk/src/share/classes/java/awt/Menu.java
+++ b/jdk/src/share/classes/java/awt/Menu.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/MenuBar.java b/jdk/src/share/classes/java/awt/MenuBar.java
index 2c494ad..a31745a 100644
--- a/jdk/src/share/classes/java/awt/MenuBar.java
+++ b/jdk/src/share/classes/java/awt/MenuBar.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/MenuComponent.java b/jdk/src/share/classes/java/awt/MenuComponent.java
index 8718821..b65c843 100644
--- a/jdk/src/share/classes/java/awt/MenuComponent.java
+++ b/jdk/src/share/classes/java/awt/MenuComponent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/MenuItem.java b/jdk/src/share/classes/java/awt/MenuItem.java
index 1344691..e3514f5 100644
--- a/jdk/src/share/classes/java/awt/MenuItem.java
+++ b/jdk/src/share/classes/java/awt/MenuItem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/PageAttributes.java b/jdk/src/share/classes/java/awt/PageAttributes.java
index 7e7bf1c..d06ea4c 100644
--- a/jdk/src/share/classes/java/awt/PageAttributes.java
+++ b/jdk/src/share/classes/java/awt/PageAttributes.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/Polygon.java b/jdk/src/share/classes/java/awt/Polygon.java
index 5e649da..e714428 100644
--- a/jdk/src/share/classes/java/awt/Polygon.java
+++ b/jdk/src/share/classes/java/awt/Polygon.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/RadialGradientPaint.java b/jdk/src/share/classes/java/awt/RadialGradientPaint.java
index 9f569f4..0f4c8de 100644
--- a/jdk/src/share/classes/java/awt/RadialGradientPaint.java
+++ b/jdk/src/share/classes/java/awt/RadialGradientPaint.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/Rectangle.java b/jdk/src/share/classes/java/awt/Rectangle.java
index 0b55007..d64deaf 100644
--- a/jdk/src/share/classes/java/awt/Rectangle.java
+++ b/jdk/src/share/classes/java/awt/Rectangle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/RenderingHints.java b/jdk/src/share/classes/java/awt/RenderingHints.java
index 931639c..2cc161a 100644
--- a/jdk/src/share/classes/java/awt/RenderingHints.java
+++ b/jdk/src/share/classes/java/awt/RenderingHints.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/ScrollPane.java b/jdk/src/share/classes/java/awt/ScrollPane.java
index 626fed6..70ca48f 100644
--- a/jdk/src/share/classes/java/awt/ScrollPane.java
+++ b/jdk/src/share/classes/java/awt/ScrollPane.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/Scrollbar.java b/jdk/src/share/classes/java/awt/Scrollbar.java
index 0c980b3..af03158 100644
--- a/jdk/src/share/classes/java/awt/Scrollbar.java
+++ b/jdk/src/share/classes/java/awt/Scrollbar.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/Shape.java b/jdk/src/share/classes/java/awt/Shape.java
index 8015d45..0ff0fbb 100644
--- a/jdk/src/share/classes/java/awt/Shape.java
+++ b/jdk/src/share/classes/java/awt/Shape.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/SplashScreen.java b/jdk/src/share/classes/java/awt/SplashScreen.java
index 1841498..a1d4b6f 100644
--- a/jdk/src/share/classes/java/awt/SplashScreen.java
+++ b/jdk/src/share/classes/java/awt/SplashScreen.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/java/awt/TextArea.java b/jdk/src/share/classes/java/awt/TextArea.java
index 0528c0a..34b2137 100644
--- a/jdk/src/share/classes/java/awt/TextArea.java
+++ b/jdk/src/share/classes/java/awt/TextArea.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/TextField.java b/jdk/src/share/classes/java/awt/TextField.java
index e708821..533c6a7 100644
--- a/jdk/src/share/classes/java/awt/TextField.java
+++ b/jdk/src/share/classes/java/awt/TextField.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/TexturePaintContext.java b/jdk/src/share/classes/java/awt/TexturePaintContext.java
index 359071e..1211196 100644
--- a/jdk/src/share/classes/java/awt/TexturePaintContext.java
+++ b/jdk/src/share/classes/java/awt/TexturePaintContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, 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
diff --git a/jdk/src/share/classes/java/awt/TrayIcon.java b/jdk/src/share/classes/java/awt/TrayIcon.java
index 9835216..22f02cf 100644
--- a/jdk/src/share/classes/java/awt/TrayIcon.java
+++ b/jdk/src/share/classes/java/awt/TrayIcon.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/java/awt/WaitDispatchSupport.java b/jdk/src/share/classes/java/awt/WaitDispatchSupport.java
index ac59d77..a504252 100644
--- a/jdk/src/share/classes/java/awt/WaitDispatchSupport.java
+++ b/jdk/src/share/classes/java/awt/WaitDispatchSupport.java
@@ -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
diff --git a/jdk/src/share/classes/java/awt/color/ICC_ColorSpace.java b/jdk/src/share/classes/java/awt/color/ICC_ColorSpace.java
index 53edefb..ee2ed1a 100644
--- a/jdk/src/share/classes/java/awt/color/ICC_ColorSpace.java
+++ b/jdk/src/share/classes/java/awt/color/ICC_ColorSpace.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/color/ICC_ProfileGray.java b/jdk/src/share/classes/java/awt/color/ICC_ProfileGray.java
index 1b076a6..63f13c4 100644
--- a/jdk/src/share/classes/java/awt/color/ICC_ProfileGray.java
+++ b/jdk/src/share/classes/java/awt/color/ICC_ProfileGray.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/color/ICC_ProfileRGB.java b/jdk/src/share/classes/java/awt/color/ICC_ProfileRGB.java
index c26697a..4929e8a 100644
--- a/jdk/src/share/classes/java/awt/color/ICC_ProfileRGB.java
+++ b/jdk/src/share/classes/java/awt/color/ICC_ProfileRGB.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/color/package.html b/jdk/src/share/classes/java/awt/color/package.html
index 13ab174..41fa95a 100644
--- a/jdk/src/share/classes/java/awt/color/package.html
+++ b/jdk/src/share/classes/java/awt/color/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/java/awt/datatransfer/FlavorMap.java b/jdk/src/share/classes/java/awt/datatransfer/FlavorMap.java
index 6bfbd51..4f25065 100644
--- a/jdk/src/share/classes/java/awt/datatransfer/FlavorMap.java
+++ b/jdk/src/share/classes/java/awt/datatransfer/FlavorMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
diff --git a/jdk/src/share/classes/java/awt/datatransfer/MimeType.java b/jdk/src/share/classes/java/awt/datatransfer/MimeType.java
index 3ed00b7..cee6bba 100644
--- a/jdk/src/share/classes/java/awt/datatransfer/MimeType.java
+++ b/jdk/src/share/classes/java/awt/datatransfer/MimeType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/java/awt/datatransfer/MimeTypeParameterList.java b/jdk/src/share/classes/java/awt/datatransfer/MimeTypeParameterList.java
index 2ef3074..f4816b6 100644
--- a/jdk/src/share/classes/java/awt/datatransfer/MimeTypeParameterList.java
+++ b/jdk/src/share/classes/java/awt/datatransfer/MimeTypeParameterList.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/datatransfer/package.html b/jdk/src/share/classes/java/awt/datatransfer/package.html
index f33946c..abaf6b8 100644
--- a/jdk/src/share/classes/java/awt/datatransfer/package.html
+++ b/jdk/src/share/classes/java/awt/datatransfer/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DragGestureEvent.java b/jdk/src/share/classes/java/awt/dnd/DragGestureEvent.java
index 3b72ed9..f496092 100644
--- a/jdk/src/share/classes/java/awt/dnd/DragGestureEvent.java
+++ b/jdk/src/share/classes/java/awt/dnd/DragGestureEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DragGestureListener.java b/jdk/src/share/classes/java/awt/dnd/DragGestureListener.java
index 5da844c..5adb328 100644
--- a/jdk/src/share/classes/java/awt/dnd/DragGestureListener.java
+++ b/jdk/src/share/classes/java/awt/dnd/DragGestureListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DragGestureRecognizer.java b/jdk/src/share/classes/java/awt/dnd/DragGestureRecognizer.java
index 331f085..2d0108a 100644
--- a/jdk/src/share/classes/java/awt/dnd/DragGestureRecognizer.java
+++ b/jdk/src/share/classes/java/awt/dnd/DragGestureRecognizer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DragSource.java b/jdk/src/share/classes/java/awt/dnd/DragSource.java
index ac9b15a..2b32b87 100644
--- a/jdk/src/share/classes/java/awt/dnd/DragSource.java
+++ b/jdk/src/share/classes/java/awt/dnd/DragSource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DragSourceContext.java b/jdk/src/share/classes/java/awt/dnd/DragSourceContext.java
index dd2a415..5d7715d 100644
--- a/jdk/src/share/classes/java/awt/dnd/DragSourceContext.java
+++ b/jdk/src/share/classes/java/awt/dnd/DragSourceContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DragSourceDragEvent.java b/jdk/src/share/classes/java/awt/dnd/DragSourceDragEvent.java
index 315fa3c..63e60d9 100644
--- a/jdk/src/share/classes/java/awt/dnd/DragSourceDragEvent.java
+++ b/jdk/src/share/classes/java/awt/dnd/DragSourceDragEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DragSourceDropEvent.java b/jdk/src/share/classes/java/awt/dnd/DragSourceDropEvent.java
index 25f7630..5cc3c8f 100644
--- a/jdk/src/share/classes/java/awt/dnd/DragSourceDropEvent.java
+++ b/jdk/src/share/classes/java/awt/dnd/DragSourceDropEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DragSourceEvent.java b/jdk/src/share/classes/java/awt/dnd/DragSourceEvent.java
index 05e29f5..3effe4f 100644
--- a/jdk/src/share/classes/java/awt/dnd/DragSourceEvent.java
+++ b/jdk/src/share/classes/java/awt/dnd/DragSourceEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DropTargetDragEvent.java b/jdk/src/share/classes/java/awt/dnd/DropTargetDragEvent.java
index f74d041..daa5487 100644
--- a/jdk/src/share/classes/java/awt/dnd/DropTargetDragEvent.java
+++ b/jdk/src/share/classes/java/awt/dnd/DropTargetDragEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/DropTargetDropEvent.java b/jdk/src/share/classes/java/awt/dnd/DropTargetDropEvent.java
index cb6ff20..e6ad684 100644
--- a/jdk/src/share/classes/java/awt/dnd/DropTargetDropEvent.java
+++ b/jdk/src/share/classes/java/awt/dnd/DropTargetDropEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/InvalidDnDOperationException.java b/jdk/src/share/classes/java/awt/dnd/InvalidDnDOperationException.java
index 37bf2cb..1f9368e 100644
--- a/jdk/src/share/classes/java/awt/dnd/InvalidDnDOperationException.java
+++ b/jdk/src/share/classes/java/awt/dnd/InvalidDnDOperationException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/java/awt/dnd/package.html b/jdk/src/share/classes/java/awt/dnd/package.html
index f2df346..4673485 100644
--- a/jdk/src/share/classes/java/awt/dnd/package.html
+++ b/jdk/src/share/classes/java/awt/dnd/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/java/awt/doc-files/AWTThreadIssues.html b/jdk/src/share/classes/java/awt/doc-files/AWTThreadIssues.html
index 93d1851..118e2a6 100644
--- a/jdk/src/share/classes/java/awt/doc-files/AWTThreadIssues.html
+++ b/jdk/src/share/classes/java/awt/doc-files/AWTThreadIssues.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2002, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/doc-files/DesktopProperties.html b/jdk/src/share/classes/java/awt/doc-files/DesktopProperties.html
index 8a3923c..0153a07 100644
--- a/jdk/src/share/classes/java/awt/doc-files/DesktopProperties.html
+++ b/jdk/src/share/classes/java/awt/doc-files/DesktopProperties.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/doc-files/FocusSpec.html b/jdk/src/share/classes/java/awt/doc-files/FocusSpec.html
index 910db97..a55f602 100644
--- a/jdk/src/share/classes/java/awt/doc-files/FocusSpec.html
+++ b/jdk/src/share/classes/java/awt/doc-files/FocusSpec.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/doc-files/Modality.html b/jdk/src/share/classes/java/awt/doc-files/Modality.html
index f0bf00c..19695f0 100644
--- a/jdk/src/share/classes/java/awt/doc-files/Modality.html
+++ b/jdk/src/share/classes/java/awt/doc-files/Modality.html
@@ -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
diff --git a/jdk/src/share/classes/java/awt/event/ComponentAdapter.java b/jdk/src/share/classes/java/awt/event/ComponentAdapter.java
index 028b8d3..2e3ab4c 100644
--- a/jdk/src/share/classes/java/awt/event/ComponentAdapter.java
+++ b/jdk/src/share/classes/java/awt/event/ComponentAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/ContainerAdapter.java b/jdk/src/share/classes/java/awt/event/ContainerAdapter.java
index 61f6c30..e4af172 100644
--- a/jdk/src/share/classes/java/awt/event/ContainerAdapter.java
+++ b/jdk/src/share/classes/java/awt/event/ContainerAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/ContainerEvent.java b/jdk/src/share/classes/java/awt/event/ContainerEvent.java
index 2d07046..964b27c 100644
--- a/jdk/src/share/classes/java/awt/event/ContainerEvent.java
+++ b/jdk/src/share/classes/java/awt/event/ContainerEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/FocusAdapter.java b/jdk/src/share/classes/java/awt/event/FocusAdapter.java
index 7511da7..5676d08 100644
--- a/jdk/src/share/classes/java/awt/event/FocusAdapter.java
+++ b/jdk/src/share/classes/java/awt/event/FocusAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/InvocationEvent.java b/jdk/src/share/classes/java/awt/event/InvocationEvent.java
index 3f04a23..eee903a 100644
--- a/jdk/src/share/classes/java/awt/event/InvocationEvent.java
+++ b/jdk/src/share/classes/java/awt/event/InvocationEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/event/ItemEvent.java b/jdk/src/share/classes/java/awt/event/ItemEvent.java
index 2caee9e..34e3b5b 100644
--- a/jdk/src/share/classes/java/awt/event/ItemEvent.java
+++ b/jdk/src/share/classes/java/awt/event/ItemEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/KeyAdapter.java b/jdk/src/share/classes/java/awt/event/KeyAdapter.java
index 3c0d61c..846da09 100644
--- a/jdk/src/share/classes/java/awt/event/KeyAdapter.java
+++ b/jdk/src/share/classes/java/awt/event/KeyAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/MouseAdapter.java b/jdk/src/share/classes/java/awt/event/MouseAdapter.java
index dfc16d9..0ae02db 100644
--- a/jdk/src/share/classes/java/awt/event/MouseAdapter.java
+++ b/jdk/src/share/classes/java/awt/event/MouseAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/MouseEvent.java b/jdk/src/share/classes/java/awt/event/MouseEvent.java
index 4532c9f..89c950a 100644
--- a/jdk/src/share/classes/java/awt/event/MouseEvent.java
+++ b/jdk/src/share/classes/java/awt/event/MouseEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/MouseMotionAdapter.java b/jdk/src/share/classes/java/awt/event/MouseMotionAdapter.java
index e349c9d..8b80685 100644
--- a/jdk/src/share/classes/java/awt/event/MouseMotionAdapter.java
+++ b/jdk/src/share/classes/java/awt/event/MouseMotionAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/NativeLibLoader.java b/jdk/src/share/classes/java/awt/event/NativeLibLoader.java
index 4336669..401c979 100644
--- a/jdk/src/share/classes/java/awt/event/NativeLibLoader.java
+++ b/jdk/src/share/classes/java/awt/event/NativeLibLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/java/awt/event/WindowAdapter.java b/jdk/src/share/classes/java/awt/event/WindowAdapter.java
index 131431d..1ef0473 100644
--- a/jdk/src/share/classes/java/awt/event/WindowAdapter.java
+++ b/jdk/src/share/classes/java/awt/event/WindowAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/event/package.html b/jdk/src/share/classes/java/awt/event/package.html
index eec07ca..5da7989 100644
--- a/jdk/src/share/classes/java/awt/event/package.html
+++ b/jdk/src/share/classes/java/awt/event/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/java/awt/font/FontRenderContext.java b/jdk/src/share/classes/java/awt/font/FontRenderContext.java
index 240ea89..db65d01 100644
--- a/jdk/src/share/classes/java/awt/font/FontRenderContext.java
+++ b/jdk/src/share/classes/java/awt/font/FontRenderContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/font/GlyphMetrics.java b/jdk/src/share/classes/java/awt/font/GlyphMetrics.java
index 74f2b0a..254d19a 100644
--- a/jdk/src/share/classes/java/awt/font/GlyphMetrics.java
+++ b/jdk/src/share/classes/java/awt/font/GlyphMetrics.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/font/GlyphVector.java b/jdk/src/share/classes/java/awt/font/GlyphVector.java
index 23ce1a9..a16f3be 100644
--- a/jdk/src/share/classes/java/awt/font/GlyphVector.java
+++ b/jdk/src/share/classes/java/awt/font/GlyphVector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/font/LineBreakMeasurer.java b/jdk/src/share/classes/java/awt/font/LineBreakMeasurer.java
index 0688ab4..7a3860a 100644
--- a/jdk/src/share/classes/java/awt/font/LineBreakMeasurer.java
+++ b/jdk/src/share/classes/java/awt/font/LineBreakMeasurer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/java/awt/font/MultipleMaster.java b/jdk/src/share/classes/java/awt/font/MultipleMaster.java
index 8c67264..2f3acec 100644
--- a/jdk/src/share/classes/java/awt/font/MultipleMaster.java
+++ b/jdk/src/share/classes/java/awt/font/MultipleMaster.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1998, 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
diff --git a/jdk/src/share/classes/java/awt/font/NumericShaper.java b/jdk/src/share/classes/java/awt/font/NumericShaper.java
index 63a1a6a..7e1980e 100644
--- a/jdk/src/share/classes/java/awt/font/NumericShaper.java
+++ b/jdk/src/share/classes/java/awt/font/NumericShaper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/awt/font/OpenType.java b/jdk/src/share/classes/java/awt/font/OpenType.java
index 559cb03..e32503a 100644
--- a/jdk/src/share/classes/java/awt/font/OpenType.java
+++ b/jdk/src/share/classes/java/awt/font/OpenType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/font/StyledParagraph.java b/jdk/src/share/classes/java/awt/font/StyledParagraph.java
index e0447df..2087fa0 100644
--- a/jdk/src/share/classes/java/awt/font/StyledParagraph.java
+++ b/jdk/src/share/classes/java/awt/font/StyledParagraph.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2005, 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
diff --git a/jdk/src/share/classes/java/awt/font/TextLayout.java b/jdk/src/share/classes/java/awt/font/TextLayout.java
index 34e9f88..08d7794 100644
--- a/jdk/src/share/classes/java/awt/font/TextLayout.java
+++ b/jdk/src/share/classes/java/awt/font/TextLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/font/TextLine.java b/jdk/src/share/classes/java/awt/font/TextLine.java
index 3a4301e..9efcdc3 100644
--- a/jdk/src/share/classes/java/awt/font/TextLine.java
+++ b/jdk/src/share/classes/java/awt/font/TextLine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/font/TextMeasurer.java b/jdk/src/share/classes/java/awt/font/TextMeasurer.java
index b20afcd..81cb122 100644
--- a/jdk/src/share/classes/java/awt/font/TextMeasurer.java
+++ b/jdk/src/share/classes/java/awt/font/TextMeasurer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/font/TransformAttribute.java b/jdk/src/share/classes/java/awt/font/TransformAttribute.java
index e282c71..15196e8 100644
--- a/jdk/src/share/classes/java/awt/font/TransformAttribute.java
+++ b/jdk/src/share/classes/java/awt/font/TransformAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/java/awt/font/package.html b/jdk/src/share/classes/java/awt/font/package.html
index d4d0a0a..22e71ba 100644
--- a/jdk/src/share/classes/java/awt/font/package.html
+++ b/jdk/src/share/classes/java/awt/font/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/java/awt/geom/AffineTransform.java b/jdk/src/share/classes/java/awt/geom/AffineTransform.java
index 494e3c8..547b854 100644
--- a/jdk/src/share/classes/java/awt/geom/AffineTransform.java
+++ b/jdk/src/share/classes/java/awt/geom/AffineTransform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/awt/geom/Arc2D.java b/jdk/src/share/classes/java/awt/geom/Arc2D.java
index 802ec5a..3d92306 100644
--- a/jdk/src/share/classes/java/awt/geom/Arc2D.java
+++ b/jdk/src/share/classes/java/awt/geom/Arc2D.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/geom/Dimension2D.java b/jdk/src/share/classes/java/awt/geom/Dimension2D.java
index 3572539..e9866e8 100644
--- a/jdk/src/share/classes/java/awt/geom/Dimension2D.java
+++ b/jdk/src/share/classes/java/awt/geom/Dimension2D.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/geom/FlatteningPathIterator.java b/jdk/src/share/classes/java/awt/geom/FlatteningPathIterator.java
index 3ee163e..c2548b4 100644
--- a/jdk/src/share/classes/java/awt/geom/FlatteningPathIterator.java
+++ b/jdk/src/share/classes/java/awt/geom/FlatteningPathIterator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1998, 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
diff --git a/jdk/src/share/classes/java/awt/geom/Line2D.java b/jdk/src/share/classes/java/awt/geom/Line2D.java
index 7d49d27..ff7f5c9 100644
--- a/jdk/src/share/classes/java/awt/geom/Line2D.java
+++ b/jdk/src/share/classes/java/awt/geom/Line2D.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/geom/Path2D.java b/jdk/src/share/classes/java/awt/geom/Path2D.java
index d968e2e..9f7df21 100644
--- a/jdk/src/share/classes/java/awt/geom/Path2D.java
+++ b/jdk/src/share/classes/java/awt/geom/Path2D.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/java/awt/geom/Point2D.java b/jdk/src/share/classes/java/awt/geom/Point2D.java
index 2320ea8..6079184 100644
--- a/jdk/src/share/classes/java/awt/geom/Point2D.java
+++ b/jdk/src/share/classes/java/awt/geom/Point2D.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/geom/QuadCurve2D.java b/jdk/src/share/classes/java/awt/geom/QuadCurve2D.java
index 56d435f..3ff4f6d 100644
--- a/jdk/src/share/classes/java/awt/geom/QuadCurve2D.java
+++ b/jdk/src/share/classes/java/awt/geom/QuadCurve2D.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/geom/RectangularShape.java b/jdk/src/share/classes/java/awt/geom/RectangularShape.java
index 1a468dd..d828f53 100644
--- a/jdk/src/share/classes/java/awt/geom/RectangularShape.java
+++ b/jdk/src/share/classes/java/awt/geom/RectangularShape.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/geom/package.html b/jdk/src/share/classes/java/awt/geom/package.html
index 4b18dee..de8b62c 100644
--- a/jdk/src/share/classes/java/awt/geom/package.html
+++ b/jdk/src/share/classes/java/awt/geom/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/java/awt/im/InputMethodRequests.java b/jdk/src/share/classes/java/awt/im/InputMethodRequests.java
index 414eaaa..f065f58 100644
--- a/jdk/src/share/classes/java/awt/im/InputMethodRequests.java
+++ b/jdk/src/share/classes/java/awt/im/InputMethodRequests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/java/awt/image/BandedSampleModel.java b/jdk/src/share/classes/java/awt/image/BandedSampleModel.java
index ac97f06..dbee9f3 100644
--- a/jdk/src/share/classes/java/awt/image/BandedSampleModel.java
+++ b/jdk/src/share/classes/java/awt/image/BandedSampleModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/image/BufferStrategy.java b/jdk/src/share/classes/java/awt/image/BufferStrategy.java
index 1bd882c..cc660b2 100644
--- a/jdk/src/share/classes/java/awt/image/BufferStrategy.java
+++ b/jdk/src/share/classes/java/awt/image/BufferStrategy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/awt/image/BufferedImage.java b/jdk/src/share/classes/java/awt/image/BufferedImage.java
index df96883..bb272aa 100644
--- a/jdk/src/share/classes/java/awt/image/BufferedImage.java
+++ b/jdk/src/share/classes/java/awt/image/BufferedImage.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/image/ByteLookupTable.java b/jdk/src/share/classes/java/awt/image/ByteLookupTable.java
index 35968d6..1b2df43 100644
--- a/jdk/src/share/classes/java/awt/image/ByteLookupTable.java
+++ b/jdk/src/share/classes/java/awt/image/ByteLookupTable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/java/awt/image/ColorConvertOp.java b/jdk/src/share/classes/java/awt/image/ColorConvertOp.java
index 712eae4..7c18887 100644
--- a/jdk/src/share/classes/java/awt/image/ColorConvertOp.java
+++ b/jdk/src/share/classes/java/awt/image/ColorConvertOp.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/image/ColorModel.java b/jdk/src/share/classes/java/awt/image/ColorModel.java
index 73f5b49..66b8c33 100644
--- a/jdk/src/share/classes/java/awt/image/ColorModel.java
+++ b/jdk/src/share/classes/java/awt/image/ColorModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/image/DirectColorModel.java b/jdk/src/share/classes/java/awt/image/DirectColorModel.java
index 2ddd85c..d53f719 100644
--- a/jdk/src/share/classes/java/awt/image/DirectColorModel.java
+++ b/jdk/src/share/classes/java/awt/image/DirectColorModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/image/ImageFilter.java b/jdk/src/share/classes/java/awt/image/ImageFilter.java
index 7b72807..0b64d72 100644
--- a/jdk/src/share/classes/java/awt/image/ImageFilter.java
+++ b/jdk/src/share/classes/java/awt/image/ImageFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/image/ImageProducer.java b/jdk/src/share/classes/java/awt/image/ImageProducer.java
index a419f8b..bc24753 100644
--- a/jdk/src/share/classes/java/awt/image/ImageProducer.java
+++ b/jdk/src/share/classes/java/awt/image/ImageProducer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/image/Kernel.java b/jdk/src/share/classes/java/awt/image/Kernel.java
index a0f3ea6..71b5809 100644
--- a/jdk/src/share/classes/java/awt/image/Kernel.java
+++ b/jdk/src/share/classes/java/awt/image/Kernel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/image/MemoryImageSource.java b/jdk/src/share/classes/java/awt/image/MemoryImageSource.java
index 90519ce..7046f5e 100644
--- a/jdk/src/share/classes/java/awt/image/MemoryImageSource.java
+++ b/jdk/src/share/classes/java/awt/image/MemoryImageSource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/image/PixelGrabber.java b/jdk/src/share/classes/java/awt/image/PixelGrabber.java
index 2053ed7..0448a7b 100644
--- a/jdk/src/share/classes/java/awt/image/PixelGrabber.java
+++ b/jdk/src/share/classes/java/awt/image/PixelGrabber.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/image/PixelInterleavedSampleModel.java b/jdk/src/share/classes/java/awt/image/PixelInterleavedSampleModel.java
index 8cc3c17..3f4c995 100644
--- a/jdk/src/share/classes/java/awt/image/PixelInterleavedSampleModel.java
+++ b/jdk/src/share/classes/java/awt/image/PixelInterleavedSampleModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/java/awt/image/RGBImageFilter.java b/jdk/src/share/classes/java/awt/image/RGBImageFilter.java
index 2f807dd..f72f466 100644
--- a/jdk/src/share/classes/java/awt/image/RGBImageFilter.java
+++ b/jdk/src/share/classes/java/awt/image/RGBImageFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/image/Raster.java b/jdk/src/share/classes/java/awt/image/Raster.java
index 4fd0f61..5374cd8 100644
--- a/jdk/src/share/classes/java/awt/image/Raster.java
+++ b/jdk/src/share/classes/java/awt/image/Raster.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/image/SampleModel.java b/jdk/src/share/classes/java/awt/image/SampleModel.java
index ab81b78..d21b452 100644
--- a/jdk/src/share/classes/java/awt/image/SampleModel.java
+++ b/jdk/src/share/classes/java/awt/image/SampleModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/java/awt/image/ShortLookupTable.java b/jdk/src/share/classes/java/awt/image/ShortLookupTable.java
index f0c18e0..977d86e 100644
--- a/jdk/src/share/classes/java/awt/image/ShortLookupTable.java
+++ b/jdk/src/share/classes/java/awt/image/ShortLookupTable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2000, 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
diff --git a/jdk/src/share/classes/java/awt/image/WritableRaster.java b/jdk/src/share/classes/java/awt/image/WritableRaster.java
index 190596a..6ad9502 100644
--- a/jdk/src/share/classes/java/awt/image/WritableRaster.java
+++ b/jdk/src/share/classes/java/awt/image/WritableRaster.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/image/package.html b/jdk/src/share/classes/java/awt/image/package.html
index c2f4c69..5f47da4 100644
--- a/jdk/src/share/classes/java/awt/image/package.html
+++ b/jdk/src/share/classes/java/awt/image/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/java/awt/image/renderable/RenderableImage.java b/jdk/src/share/classes/java/awt/image/renderable/RenderableImage.java
index 8b0b3de..d6e7ad4 100644
--- a/jdk/src/share/classes/java/awt/image/renderable/RenderableImage.java
+++ b/jdk/src/share/classes/java/awt/image/renderable/RenderableImage.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/image/renderable/RenderableImageOp.java b/jdk/src/share/classes/java/awt/image/renderable/RenderableImageOp.java
index 92b3b96..6c51f65 100644
--- a/jdk/src/share/classes/java/awt/image/renderable/RenderableImageOp.java
+++ b/jdk/src/share/classes/java/awt/image/renderable/RenderableImageOp.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/java/awt/image/renderable/package.html b/jdk/src/share/classes/java/awt/image/renderable/package.html
index 58a9694..c75fb1f 100644
--- a/jdk/src/share/classes/java/awt/image/renderable/package.html
+++ b/jdk/src/share/classes/java/awt/image/renderable/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/java/awt/package.html b/jdk/src/share/classes/java/awt/package.html
index 1b6527e..3d157e5 100644
--- a/jdk/src/share/classes/java/awt/package.html
+++ b/jdk/src/share/classes/java/awt/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/peer/CheckboxPeer.java b/jdk/src/share/classes/java/awt/peer/CheckboxPeer.java
index abdbec9..567d29e 100644
--- a/jdk/src/share/classes/java/awt/peer/CheckboxPeer.java
+++ b/jdk/src/share/classes/java/awt/peer/CheckboxPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/peer/DesktopPeer.java b/jdk/src/share/classes/java/awt/peer/DesktopPeer.java
index 48603d6..61c83b6 100644
--- a/jdk/src/share/classes/java/awt/peer/DesktopPeer.java
+++ b/jdk/src/share/classes/java/awt/peer/DesktopPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/java/awt/peer/FramePeer.java b/jdk/src/share/classes/java/awt/peer/FramePeer.java
index e9d2b00..75a62cd 100644
--- a/jdk/src/share/classes/java/awt/peer/FramePeer.java
+++ b/jdk/src/share/classes/java/awt/peer/FramePeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/peer/TextComponentPeer.java b/jdk/src/share/classes/java/awt/peer/TextComponentPeer.java
index a84bac2..606ff84 100644
--- a/jdk/src/share/classes/java/awt/peer/TextComponentPeer.java
+++ b/jdk/src/share/classes/java/awt/peer/TextComponentPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/awt/print/Book.java b/jdk/src/share/classes/java/awt/print/Book.java
index 72f032e..672b842 100644
--- a/jdk/src/share/classes/java/awt/print/Book.java
+++ b/jdk/src/share/classes/java/awt/print/Book.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2000, 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
diff --git a/jdk/src/share/classes/java/awt/print/PrinterJob.java b/jdk/src/share/classes/java/awt/print/PrinterJob.java
index 74121c5..b9b0d13 100644
--- a/jdk/src/share/classes/java/awt/print/PrinterJob.java
+++ b/jdk/src/share/classes/java/awt/print/PrinterJob.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/java/awt/print/package.html b/jdk/src/share/classes/java/awt/print/package.html
index c04f6f9..6c708d5 100644
--- a/jdk/src/share/classes/java/awt/print/package.html
+++ b/jdk/src/share/classes/java/awt/print/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/java/beans/BeanDescriptor.java b/jdk/src/share/classes/java/beans/BeanDescriptor.java
index 2e235c2..fee5415 100644
--- a/jdk/src/share/classes/java/beans/BeanDescriptor.java
+++ b/jdk/src/share/classes/java/beans/BeanDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/share/classes/java/beans/Encoder.java b/jdk/src/share/classes/java/beans/Encoder.java
index 4a877f3..48292d0 100644
--- a/jdk/src/share/classes/java/beans/Encoder.java
+++ b/jdk/src/share/classes/java/beans/Encoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
diff --git a/jdk/src/share/classes/java/beans/FeatureDescriptor.java b/jdk/src/share/classes/java/beans/FeatureDescriptor.java
index 34c27e5..75f06f3 100644
--- a/jdk/src/share/classes/java/beans/FeatureDescriptor.java
+++ b/jdk/src/share/classes/java/beans/FeatureDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java b/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java
index f38c357..1f329a3 100644
--- a/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java
+++ b/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/beans/MetaData.java b/jdk/src/share/classes/java/beans/MetaData.java
index d733b6f..3ae1e03 100644
--- a/jdk/src/share/classes/java/beans/MetaData.java
+++ b/jdk/src/share/classes/java/beans/MetaData.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/beans/MethodDescriptor.java b/jdk/src/share/classes/java/beans/MethodDescriptor.java
index f7f527c..da2f754 100644
--- a/jdk/src/share/classes/java/beans/MethodDescriptor.java
+++ b/jdk/src/share/classes/java/beans/MethodDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/beans/NameGenerator.java b/jdk/src/share/classes/java/beans/NameGenerator.java
index ddc1b21..61dd933 100644
--- a/jdk/src/share/classes/java/beans/NameGenerator.java
+++ b/jdk/src/share/classes/java/beans/NameGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
diff --git a/jdk/src/share/classes/java/beans/PropertyEditorManager.java b/jdk/src/share/classes/java/beans/PropertyEditorManager.java
index 3fee3f4..46ec87d 100644
--- a/jdk/src/share/classes/java/beans/PropertyEditorManager.java
+++ b/jdk/src/share/classes/java/beans/PropertyEditorManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/share/classes/java/beans/PropertyEditorSupport.java b/jdk/src/share/classes/java/beans/PropertyEditorSupport.java
index ece9378..1569c65 100644
--- a/jdk/src/share/classes/java/beans/PropertyEditorSupport.java
+++ b/jdk/src/share/classes/java/beans/PropertyEditorSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/beans/SimpleBeanInfo.java b/jdk/src/share/classes/java/beans/SimpleBeanInfo.java
index 88348ffd..2775b7e 100644
--- a/jdk/src/share/classes/java/beans/SimpleBeanInfo.java
+++ b/jdk/src/share/classes/java/beans/SimpleBeanInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/share/classes/java/beans/beancontext/BeanContextChildSupport.java b/jdk/src/share/classes/java/beans/beancontext/BeanContextChildSupport.java
index 897e5a8..3b6edad 100644
--- a/jdk/src/share/classes/java/beans/beancontext/BeanContextChildSupport.java
+++ b/jdk/src/share/classes/java/beans/beancontext/BeanContextChildSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/java/beans/beancontext/BeanContextServiceRevokedListener.java b/jdk/src/share/classes/java/beans/beancontext/BeanContextServiceRevokedListener.java
index fe976f2..f16f107 100644
--- a/jdk/src/share/classes/java/beans/beancontext/BeanContextServiceRevokedListener.java
+++ b/jdk/src/share/classes/java/beans/beancontext/BeanContextServiceRevokedListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/java/io/BufferedWriter.java b/jdk/src/share/classes/java/io/BufferedWriter.java
index 01dfb17..a5d810a 100644
--- a/jdk/src/share/classes/java/io/BufferedWriter.java
+++ b/jdk/src/share/classes/java/io/BufferedWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/io/ByteArrayInputStream.java b/jdk/src/share/classes/java/io/ByteArrayInputStream.java
index ce0b8d1..d07f074 100644
--- a/jdk/src/share/classes/java/io/ByteArrayInputStream.java
+++ b/jdk/src/share/classes/java/io/ByteArrayInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/java/io/ByteArrayOutputStream.java b/jdk/src/share/classes/java/io/ByteArrayOutputStream.java
index cd3c139..257104c 100644
--- a/jdk/src/share/classes/java/io/ByteArrayOutputStream.java
+++ b/jdk/src/share/classes/java/io/ByteArrayOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/java/io/Console.java b/jdk/src/share/classes/java/io/Console.java
index 292e42e..aa53c0d 100644
--- a/jdk/src/share/classes/java/io/Console.java
+++ b/jdk/src/share/classes/java/io/Console.java
@@ -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
diff --git a/jdk/src/share/classes/java/io/DataOutput.java b/jdk/src/share/classes/java/io/DataOutput.java
index ce909d1..c6692a6 100644
--- a/jdk/src/share/classes/java/io/DataOutput.java
+++ b/jdk/src/share/classes/java/io/DataOutput.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/io/EOFException.java b/jdk/src/share/classes/java/io/EOFException.java
index 0f9a326..536669f 100644
--- a/jdk/src/share/classes/java/io/EOFException.java
+++ b/jdk/src/share/classes/java/io/EOFException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/io/FileInputStream.java b/jdk/src/share/classes/java/io/FileInputStream.java
index 3e67fb8..cc6710e 100644
--- a/jdk/src/share/classes/java/io/FileInputStream.java
+++ b/jdk/src/share/classes/java/io/FileInputStream.java
@@ -51,6 +51,12 @@
/* File Descriptor - handle to the open file */
private final FileDescriptor fd;
+ /**
+ * The path of the referenced file
+ * (null if the stream is created with a file descriptor)
+ */
+ private final String path;
+
private FileChannel channel = null;
private final Object closeLock = new Object();
@@ -128,6 +134,7 @@
}
fd = new FileDescriptor();
fd.attach(this);
+ path = name;
open(name);
}
@@ -164,6 +171,7 @@
security.checkRead(fdObj);
}
fd = fdObj;
+ path = null;
/*
* FileDescriptor is being shared by streams.
@@ -186,7 +194,11 @@
* file is reached.
* @exception IOException if an I/O error occurs.
*/
- public native int read() throws IOException;
+ public int read() throws IOException {
+ return read0();
+ }
+
+ private native int read0() throws IOException;
/**
* Reads a subarray as a sequence of bytes.
@@ -345,7 +357,7 @@
public FileChannel getChannel() {
synchronized (this) {
if (channel == null) {
- channel = FileChannelImpl.open(fd, true, false, this);
+ channel = FileChannelImpl.open(fd, path, true, false, this);
}
return channel;
}
diff --git a/jdk/src/share/classes/java/io/FileOutputStream.java b/jdk/src/share/classes/java/io/FileOutputStream.java
index 44f4728..8377261 100644
--- a/jdk/src/share/classes/java/io/FileOutputStream.java
+++ b/jdk/src/share/classes/java/io/FileOutputStream.java
@@ -67,6 +67,12 @@
*/
private FileChannel channel;
+ /**
+ * The path of the referenced file
+ * (null if the stream is created with a file descriptor)
+ */
+ private final String path;
+
private final Object closeLock = new Object();
private volatile boolean closed = false;
@@ -202,6 +208,7 @@
this.fd = new FileDescriptor();
fd.attach(this);
this.append = append;
+ this.path = name;
open(name, append);
}
@@ -239,6 +246,7 @@
}
this.fd = fdObj;
this.append = false;
+ this.path = null;
fd.attach(this);
}
@@ -376,7 +384,7 @@
public FileChannel getChannel() {
synchronized (this) {
if (channel == null) {
- channel = FileChannelImpl.open(fd, false, true, append, this);
+ channel = FileChannelImpl.open(fd, path, false, true, append, this);
}
return channel;
}
diff --git a/jdk/src/share/classes/java/io/FilePermission.java b/jdk/src/share/classes/java/io/FilePermission.java
index bac39d3..0744ea2 100644
--- a/jdk/src/share/classes/java/io/FilePermission.java
+++ b/jdk/src/share/classes/java/io/FilePermission.java
@@ -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
diff --git a/jdk/src/share/classes/java/io/FileSystem.java b/jdk/src/share/classes/java/io/FileSystem.java
index 96547bf..9d73e79 100644
--- a/jdk/src/share/classes/java/io/FileSystem.java
+++ b/jdk/src/share/classes/java/io/FileSystem.java
@@ -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
diff --git a/jdk/src/share/classes/java/io/ObjectInputStream.java b/jdk/src/share/classes/java/io/ObjectInputStream.java
index 15ecd9b..e662270 100644
--- a/jdk/src/share/classes/java/io/ObjectInputStream.java
+++ b/jdk/src/share/classes/java/io/ObjectInputStream.java
@@ -39,7 +39,6 @@
import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.atomic.AtomicBoolean;
import static java.io.ObjectStreamClass.processQueue;
import sun.reflect.misc.ReflectUtil;
@@ -534,7 +533,7 @@
if (ctx == null) {
throw new NotActiveException("not in call to readObject");
}
- Object curObj = ctx.getObj();
+ ctx.checkAndSetUsed();
ObjectStreamClass curDesc = ctx.getDesc();
bin.setBlockDataMode(false);
GetFieldImpl getField = new GetFieldImpl(curDesc);
@@ -1597,7 +1596,7 @@
int descHandle = handles.assign(unshared ? unsharedMarker : desc);
passHandle = NULL_HANDLE;
- ObjectStreamClass readDesc = null;
+ ObjectStreamClass readDesc;
try {
readDesc = readClassDescriptor();
} catch (ClassNotFoundException ex) {
@@ -1976,29 +1975,34 @@
}
int primDataSize = desc.getPrimDataSize();
- if (primVals == null || primVals.length < primDataSize) {
- primVals = new byte[primDataSize];
- }
- bin.readFully(primVals, 0, primDataSize, false);
- if (obj != null) {
- desc.setPrimFieldValues(obj, primVals);
- }
-
- int objHandle = passHandle;
- ObjectStreamField[] fields = desc.getFields(false);
- Object[] objVals = new Object[desc.getNumObjFields()];
- int numPrimFields = fields.length - objVals.length;
- for (int i = 0; i < objVals.length; i++) {
- ObjectStreamField f = fields[numPrimFields + i];
- objVals[i] = readObject0(f.isUnshared());
- if (f.getField() != null) {
- handles.markDependency(objHandle, passHandle);
+ if (primDataSize > 0) {
+ if (primVals == null || primVals.length < primDataSize) {
+ primVals = new byte[primDataSize];
+ }
+ bin.readFully(primVals, 0, primDataSize, false);
+ if (obj != null) {
+ desc.setPrimFieldValues(obj, primVals);
}
}
- if (obj != null) {
- desc.setObjFieldValues(obj, objVals);
+
+ int numObjFields = desc.getNumObjFields();
+ if (numObjFields > 0) {
+ int objHandle = passHandle;
+ ObjectStreamField[] fields = desc.getFields(false);
+ Object[] objVals = new Object[numObjFields];
+ int numPrimFields = fields.length - objVals.length;
+ for (int i = 0; i < objVals.length; i++) {
+ ObjectStreamField f = fields[numPrimFields + i];
+ objVals[i] = readObject0(f.isUnshared());
+ if (f.getField() != null) {
+ handles.markDependency(objHandle, passHandle);
+ }
+ }
+ if (obj != null) {
+ desc.setObjFieldValues(obj, objVals);
+ }
+ passHandle = objHandle;
}
- passHandle = objHandle;
}
/**
diff --git a/jdk/src/share/classes/java/io/ObjectOutputStream.java b/jdk/src/share/classes/java/io/ObjectOutputStream.java
index 612bb4e..ac75a01 100644
--- a/jdk/src/share/classes/java/io/ObjectOutputStream.java
+++ b/jdk/src/share/classes/java/io/ObjectOutputStream.java
@@ -35,7 +35,6 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import static java.io.ObjectStreamClass.processQueue;
-import java.io.SerialCallbackContext;
import sun.reflect.misc.ReflectUtil;
/**
@@ -458,7 +457,7 @@
if (ctx == null) {
throw new NotActiveException("not in call to writeObject");
}
- Object curObj = ctx.getObj();
+ ctx.checkAndSetUsed();
ObjectStreamClass curDesc = ctx.getDesc();
curPut = new PutFieldImpl(curDesc);
}
@@ -1527,29 +1526,34 @@
desc.checkDefaultSerialize();
int primDataSize = desc.getPrimDataSize();
- if (primVals == null || primVals.length < primDataSize) {
- primVals = new byte[primDataSize];
- }
- desc.getPrimFieldValues(obj, primVals);
- bout.write(primVals, 0, primDataSize, false);
-
- ObjectStreamField[] fields = desc.getFields(false);
- Object[] objVals = new Object[desc.getNumObjFields()];
- int numPrimFields = fields.length - objVals.length;
- desc.getObjFieldValues(obj, objVals);
- for (int i = 0; i < objVals.length; i++) {
- if (extendedDebugInfo) {
- debugInfoStack.push(
- "field (class \"" + desc.getName() + "\", name: \"" +
- fields[numPrimFields + i].getName() + "\", type: \"" +
- fields[numPrimFields + i].getType() + "\")");
+ if (primDataSize > 0) {
+ if (primVals == null || primVals.length < primDataSize) {
+ primVals = new byte[primDataSize];
}
- try {
- writeObject0(objVals[i],
- fields[numPrimFields + i].isUnshared());
- } finally {
+ desc.getPrimFieldValues(obj, primVals);
+ bout.write(primVals, 0, primDataSize, false);
+ }
+
+ int numObjFields = desc.getNumObjFields();
+ if (numObjFields > 0) {
+ ObjectStreamField[] fields = desc.getFields(false);
+ Object[] objVals = new Object[numObjFields];
+ int numPrimFields = fields.length - objVals.length;
+ desc.getObjFieldValues(obj, objVals);
+ for (int i = 0; i < objVals.length; i++) {
if (extendedDebugInfo) {
- debugInfoStack.pop();
+ debugInfoStack.push(
+ "field (class \"" + desc.getName() + "\", name: \"" +
+ fields[numPrimFields + i].getName() + "\", type: \"" +
+ fields[numPrimFields + i].getType() + "\")");
+ }
+ try {
+ writeObject0(objVals[i],
+ fields[numPrimFields + i].isUnshared());
+ } finally {
+ if (extendedDebugInfo) {
+ debugInfoStack.pop();
+ }
}
}
}
@@ -2464,7 +2468,9 @@
StringBuilder buffer = new StringBuilder();
if (!stack.isEmpty()) {
for(int i = stack.size(); i > 0; i-- ) {
- buffer.append(stack.get(i-1) + ((i != 1) ? "\n" : ""));
+ buffer.append(stack.get(i - 1));
+ if (i != 1)
+ buffer.append('\n');
}
}
return buffer.toString();
diff --git a/jdk/src/share/classes/java/io/ObjectStreamClass.java b/jdk/src/share/classes/java/io/ObjectStreamClass.java
index 5667690..0ae46f0 100644
--- a/jdk/src/share/classes/java/io/ObjectStreamClass.java
+++ b/jdk/src/share/classes/java/io/ObjectStreamClass.java
@@ -1472,42 +1472,55 @@
}
/**
+ * Returns JVM type signature for given primitive.
+ */
+ private static String getPrimitiveSignature(Class<?> cl) {
+ if (cl == Integer.TYPE)
+ return "I";
+ else if (cl == Byte.TYPE)
+ return "B";
+ else if (cl == Long.TYPE)
+ return "J";
+ else if (cl == Float.TYPE)
+ return "F";
+ else if (cl == Double.TYPE)
+ return "D";
+ else if (cl == Short.TYPE)
+ return "S";
+ else if (cl == Character.TYPE)
+ return "C";
+ else if (cl == Boolean.TYPE)
+ return "Z";
+ else if (cl == Void.TYPE)
+ return "V";
+ else
+ throw new InternalError();
+ }
+
+ /**
* Returns JVM type signature for given class.
*/
- private static String getClassSignature(Class<?> cl) {
- StringBuilder sbuf = new StringBuilder();
- while (cl.isArray()) {
- sbuf.append('[');
- cl = cl.getComponentType();
- }
- if (cl.isPrimitive()) {
- if (cl == Integer.TYPE) {
- sbuf.append('I');
- } else if (cl == Byte.TYPE) {
- sbuf.append('B');
- } else if (cl == Long.TYPE) {
- sbuf.append('J');
- } else if (cl == Float.TYPE) {
- sbuf.append('F');
- } else if (cl == Double.TYPE) {
- sbuf.append('D');
- } else if (cl == Short.TYPE) {
- sbuf.append('S');
- } else if (cl == Character.TYPE) {
- sbuf.append('C');
- } else if (cl == Boolean.TYPE) {
- sbuf.append('Z');
- } else if (cl == Void.TYPE) {
- sbuf.append('V');
- } else {
- throw new InternalError();
- }
- } else {
- sbuf.append('L' + cl.getName().replace('.', '/') + ';');
- }
- return sbuf.toString();
+ static String getClassSignature(Class<?> cl) {
+ if (cl.isPrimitive())
+ return getPrimitiveSignature(cl);
+ else
+ return appendClassSignature(new StringBuilder(), cl).toString();
}
+ private static StringBuilder appendClassSignature(StringBuilder sbuf, Class<?> cl) {
+ while (cl.isArray()) {
+ sbuf.append('[');
+ cl = cl.getComponentType();
+ }
+
+ if (cl.isPrimitive())
+ sbuf.append(getPrimitiveSignature(cl));
+ else
+ sbuf.append('L').append(cl.getName().replace('.', '/')).append(';');
+
+ return sbuf;
+ }
+
/**
* Returns JVM type signature for given list of parameters and return type.
*/
@@ -1517,10 +1530,10 @@
StringBuilder sbuf = new StringBuilder();
sbuf.append('(');
for (int i = 0; i < paramTypes.length; i++) {
- sbuf.append(getClassSignature(paramTypes[i]));
+ appendClassSignature(sbuf, paramTypes[i]);
}
sbuf.append(')');
- sbuf.append(getClassSignature(retType));
+ appendClassSignature(sbuf, retType);
return sbuf.toString();
}
diff --git a/jdk/src/share/classes/java/io/ObjectStreamConstants.java b/jdk/src/share/classes/java/io/ObjectStreamConstants.java
index 89265fb..23f72b4 100644
--- a/jdk/src/share/classes/java/io/ObjectStreamConstants.java
+++ b/jdk/src/share/classes/java/io/ObjectStreamConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/io/ObjectStreamField.java b/jdk/src/share/classes/java/io/ObjectStreamField.java
index 981e4ba..f77c312 100644
--- a/jdk/src/share/classes/java/io/ObjectStreamField.java
+++ b/jdk/src/share/classes/java/io/ObjectStreamField.java
@@ -91,7 +91,7 @@
this.name = name;
this.type = type;
this.unshared = unshared;
- signature = getClassSignature(type).intern();
+ signature = ObjectStreamClass.getClassSignature(type).intern();
field = null;
}
@@ -137,7 +137,7 @@
name = field.getName();
Class<?> ftype = field.getType();
type = (showType || ftype.isPrimitive()) ? ftype : Object.class;
- signature = getClassSignature(ftype).intern();
+ signature = ObjectStreamClass.getClassSignature(ftype).intern();
}
/**
@@ -286,41 +286,4 @@
String getSignature() {
return signature;
}
-
- /**
- * Returns JVM type signature for given class.
- */
- private static String getClassSignature(Class<?> cl) {
- StringBuilder sbuf = new StringBuilder();
- while (cl.isArray()) {
- sbuf.append('[');
- cl = cl.getComponentType();
- }
- if (cl.isPrimitive()) {
- if (cl == Integer.TYPE) {
- sbuf.append('I');
- } else if (cl == Byte.TYPE) {
- sbuf.append('B');
- } else if (cl == Long.TYPE) {
- sbuf.append('J');
- } else if (cl == Float.TYPE) {
- sbuf.append('F');
- } else if (cl == Double.TYPE) {
- sbuf.append('D');
- } else if (cl == Short.TYPE) {
- sbuf.append('S');
- } else if (cl == Character.TYPE) {
- sbuf.append('C');
- } else if (cl == Boolean.TYPE) {
- sbuf.append('Z');
- } else if (cl == Void.TYPE) {
- sbuf.append('V');
- } else {
- throw new InternalError();
- }
- } else {
- sbuf.append('L' + cl.getName().replace('.', '/') + ';');
- }
- return sbuf.toString();
- }
}
diff --git a/jdk/src/share/classes/java/io/PipedReader.java b/jdk/src/share/classes/java/io/PipedReader.java
index 3471646..1167ff1 100644
--- a/jdk/src/share/classes/java/io/PipedReader.java
+++ b/jdk/src/share/classes/java/io/PipedReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/io/PrintStream.java b/jdk/src/share/classes/java/io/PrintStream.java
index d57984e..d4ebd84 100644
--- a/jdk/src/share/classes/java/io/PrintStream.java
+++ b/jdk/src/share/classes/java/io/PrintStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/io/PushbackInputStream.java b/jdk/src/share/classes/java/io/PushbackInputStream.java
index b81bec4..b44848d 100644
--- a/jdk/src/share/classes/java/io/PushbackInputStream.java
+++ b/jdk/src/share/classes/java/io/PushbackInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/java/io/PushbackReader.java b/jdk/src/share/classes/java/io/PushbackReader.java
index 98ebd5d..f918621 100644
--- a/jdk/src/share/classes/java/io/PushbackReader.java
+++ b/jdk/src/share/classes/java/io/PushbackReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/io/RandomAccessFile.java b/jdk/src/share/classes/java/io/RandomAccessFile.java
index c48aa99..58d8c89 100644
--- a/jdk/src/share/classes/java/io/RandomAccessFile.java
+++ b/jdk/src/share/classes/java/io/RandomAccessFile.java
@@ -62,6 +62,12 @@
private FileChannel channel = null;
private boolean rw;
+ /**
+ * The path of the referenced file
+ * (null if the stream is created with a file descriptor)
+ */
+ private final String path;
+
private Object closeLock = new Object();
private volatile boolean closed = false;
@@ -233,6 +239,7 @@
}
fd = new FileDescriptor();
fd.attach(this);
+ path = name;
open(name, imode);
}
@@ -272,7 +279,7 @@
public final FileChannel getChannel() {
synchronized (this) {
if (channel == null) {
- channel = FileChannelImpl.open(fd, true, rw, this);
+ channel = FileChannelImpl.open(fd, path, true, rw, this);
}
return channel;
}
@@ -309,7 +316,11 @@
* @exception IOException if an I/O error occurs. Not thrown if
* end-of-file has been reached.
*/
- public native int read() throws IOException;
+ public int read() throws IOException {
+ return read0();
+ }
+
+ private native int read0() throws IOException;
/**
* Reads a sub array as a sequence of bytes.
@@ -457,7 +468,11 @@
* @param b the {@code byte} to be written.
* @exception IOException if an I/O error occurs.
*/
- public native void write(int b) throws IOException;
+ public void write(int b) throws IOException {
+ write0(b);
+ }
+
+ private native void write0(int b) throws IOException;
/**
* Writes a sub array as a sequence of bytes.
diff --git a/jdk/src/share/classes/java/io/SerialCallbackContext.java b/jdk/src/share/classes/java/io/SerialCallbackContext.java
index 748d38e..15c36b0 100644
--- a/jdk/src/share/classes/java/io/SerialCallbackContext.java
+++ b/jdk/src/share/classes/java/io/SerialCallbackContext.java
@@ -60,7 +60,7 @@
return desc;
}
- private void checkAndSetUsed() throws NotActiveException {
+ public void checkAndSetUsed() throws NotActiveException {
if (thread != Thread.currentThread()) {
throw new NotActiveException(
"not in readObject invocation or fields already read");
diff --git a/jdk/src/share/classes/java/io/Serializable.java b/jdk/src/share/classes/java/io/Serializable.java
index 2f7bea1..39d7c46 100644
--- a/jdk/src/share/classes/java/io/Serializable.java
+++ b/jdk/src/share/classes/java/io/Serializable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/io/SerializablePermission.java b/jdk/src/share/classes/java/io/SerializablePermission.java
index b208d24..8b6397d 100644
--- a/jdk/src/share/classes/java/io/SerializablePermission.java
+++ b/jdk/src/share/classes/java/io/SerializablePermission.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/java/io/StringReader.java b/jdk/src/share/classes/java/io/StringReader.java
index 0cdf8fd..ce9ff60 100644
--- a/jdk/src/share/classes/java/io/StringReader.java
+++ b/jdk/src/share/classes/java/io/StringReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/lang/AbstractStringBuilder.java b/jdk/src/share/classes/java/lang/AbstractStringBuilder.java
index 3cde60d..97713d3 100644
--- a/jdk/src/share/classes/java/lang/AbstractStringBuilder.java
+++ b/jdk/src/share/classes/java/lang/AbstractStringBuilder.java
@@ -1285,18 +1285,17 @@
/**
* Returns the index within this string of the first occurrence of the
- * specified substring. The integer returned is the smallest value
- * <i>k</i> such that:
- * <pre>{@code
- * this.toString().startsWith(str, <i>k</i>)
- * }</pre>
- * is {@code true}.
+ * specified substring.
*
- * @param str any string.
- * @return if the string argument occurs as a substring within this
- * object, then the index of the first character of the first
- * such substring is returned; if it does not occur as a
- * substring, {@code -1} is returned.
+ * <p>The returned index is the smallest value {@code k} for which:
+ * <pre>{@code
+ * this.toString().startsWith(str, k)
+ * }</pre>
+ * If no such value of {@code k} exists, then {@code -1} is returned.
+ *
+ * @param str the substring to search for.
+ * @return the index of the first occurrence of the specified substring,
+ * or {@code -1} if there is no such occurrence.
*/
public int indexOf(String str) {
return indexOf(str, 0);
@@ -1304,38 +1303,39 @@
/**
* Returns the index within this string of the first occurrence of the
- * specified substring, starting at the specified index. The integer
- * returned is the smallest value {@code k} for which:
+ * specified substring, starting at the specified index.
+ *
+ * <p>The returned index is the smallest value {@code k} for which:
* <pre>{@code
* k >= Math.min(fromIndex, this.length()) &&
* this.toString().startsWith(str, k)
* }</pre>
- * If no such value of <i>k</i> exists, then -1 is returned.
+ * If no such value of {@code k} exists, then {@code -1} is returned.
*
- * @param str the substring for which to search.
+ * @param str the substring to search for.
* @param fromIndex the index from which to start the search.
- * @return the index within this string of the first occurrence of the
- * specified substring, starting at the specified index.
+ * @return the index of the first occurrence of the specified substring,
+ * starting at the specified index,
+ * or {@code -1} if there is no such occurrence.
*/
public int indexOf(String str, int fromIndex) {
return String.indexOf(value, 0, count, str, fromIndex);
}
/**
- * Returns the index within this string of the rightmost occurrence
- * of the specified substring. The rightmost empty string "" is
+ * Returns the index within this string of the last occurrence of the
+ * specified substring. The last occurrence of the empty string "" is
* considered to occur at the index value {@code this.length()}.
- * The returned index is the largest value <i>k</i> such that
+ *
+ * <p>The returned index is the largest value {@code k} for which:
* <pre>{@code
* this.toString().startsWith(str, k)
* }</pre>
- * is true.
+ * If no such value of {@code k} exists, then {@code -1} is returned.
*
* @param str the substring to search for.
- * @return if the string argument occurs one or more times as a substring
- * within this object, then the index of the first character of
- * the last such substring is returned. If it does not occur as
- * a substring, {@code -1} is returned.
+ * @return the index of the last occurrence of the specified substring,
+ * or {@code -1} if there is no such occurrence.
*/
public int lastIndexOf(String str) {
return lastIndexOf(str, count);
@@ -1343,18 +1343,20 @@
/**
* Returns the index within this string of the last occurrence of the
- * specified substring. The integer returned is the largest value <i>k</i>
- * such that:
+ * specified substring, searching backward starting at the specified index.
+ *
+ * <p>The returned index is the largest value {@code k} for which:
* <pre>{@code
* k <= Math.min(fromIndex, this.length()) &&
* this.toString().startsWith(str, k)
* }</pre>
- * If no such value of <i>k</i> exists, then -1 is returned.
+ * If no such value of {@code k} exists, then {@code -1} is returned.
*
* @param str the substring to search for.
* @param fromIndex the index to start the search from.
- * @return the index within this sequence of the last occurrence of the
- * specified substring.
+ * @return the index of the last occurrence of the specified substring,
+ * searching backward from the specified index,
+ * or {@code -1} if there is no such occurrence.
*/
public int lastIndexOf(String str, int fromIndex) {
return String.lastIndexOf(value, 0, count, str, fromIndex);
diff --git a/jdk/src/share/classes/java/lang/ArrayStoreException.java b/jdk/src/share/classes/java/lang/ArrayStoreException.java
index 96fa744..5ea0aa9 100644
--- a/jdk/src/share/classes/java/lang/ArrayStoreException.java
+++ b/jdk/src/share/classes/java/lang/ArrayStoreException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/lang/Character.java b/jdk/src/share/classes/java/lang/Character.java
index 0926758..3fda1bb 100644
--- a/jdk/src/share/classes/java/lang/Character.java
+++ b/jdk/src/share/classes/java/lang/Character.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/src/share/classes/java/lang/ClassCastException.java b/jdk/src/share/classes/java/lang/ClassCastException.java
index 93b6163..e4ca76c 100644
--- a/jdk/src/share/classes/java/lang/ClassCastException.java
+++ b/jdk/src/share/classes/java/lang/ClassCastException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/java/lang/ClassValue.java b/jdk/src/share/classes/java/lang/ClassValue.java
index 676c2ec..e58634b 100644
--- a/jdk/src/share/classes/java/lang/ClassValue.java
+++ b/jdk/src/share/classes/java/lang/ClassValue.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java b/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java
index bf5c7ae..ff9288b 100644
--- a/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java
+++ b/jdk/src/share/classes/java/lang/ConditionalSpecialCasing.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/java/lang/Integer.java b/jdk/src/share/classes/java/lang/Integer.java
index d9e4265..6897880 100644
--- a/jdk/src/share/classes/java/lang/Integer.java
+++ b/jdk/src/share/classes/java/lang/Integer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/java/lang/Iterable.java b/jdk/src/share/classes/java/lang/Iterable.java
index eed3938..de91500 100644
--- a/jdk/src/share/classes/java/lang/Iterable.java
+++ b/jdk/src/share/classes/java/lang/Iterable.java
@@ -82,7 +82,7 @@
*
* @implSpec
* The default implementation creates an
- * <em><a href="Spliterator.html#binding">early-binding</a></em>
+ * <em><a href="../util/Spliterator.html#binding">early-binding</a></em>
* spliterator from the iterable's {@code Iterator}. The spliterator
* inherits the <em>fail-fast</em> properties of the iterable's iterator.
*
diff --git a/jdk/src/share/classes/java/lang/Long.java b/jdk/src/share/classes/java/lang/Long.java
index f873762..0f2794c 100644
--- a/jdk/src/share/classes/java/lang/Long.java
+++ b/jdk/src/share/classes/java/lang/Long.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/java/lang/ProcessBuilder.java b/jdk/src/share/classes/java/lang/ProcessBuilder.java
index 53fbc48..efa30fd 100644
--- a/jdk/src/share/classes/java/lang/ProcessBuilder.java
+++ b/jdk/src/share/classes/java/lang/ProcessBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/java/lang/RuntimePermission.java b/jdk/src/share/classes/java/lang/RuntimePermission.java
index 9da131b..53fa3e5 100644
--- a/jdk/src/share/classes/java/lang/RuntimePermission.java
+++ b/jdk/src/share/classes/java/lang/RuntimePermission.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/StackTraceElement.java b/jdk/src/share/classes/java/lang/StackTraceElement.java
index 4543749..58738d8 100644
--- a/jdk/src/share/classes/java/lang/StackTraceElement.java
+++ b/jdk/src/share/classes/java/lang/StackTraceElement.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/lang/String.java b/jdk/src/share/classes/java/lang/String.java
index 6565f64..4e68fe3 100644
--- a/jdk/src/share/classes/java/lang/String.java
+++ b/jdk/src/share/classes/java/lang/String.java
@@ -1671,11 +1671,11 @@
* Returns the index within this string of the first occurrence of the
* specified substring.
*
- * <p>The returned index is the smallest value <i>k</i> for which:
- * <blockquote><pre>
- * this.startsWith(str, <i>k</i>)
- * </pre></blockquote>
- * If no such value of <i>k</i> exists, then {@code -1} is returned.
+ * <p>The returned index is the smallest value {@code k} for which:
+ * <pre>{@code
+ * this.startsWith(str, k)
+ * }</pre>
+ * If no such value of {@code k} exists, then {@code -1} is returned.
*
* @param str the substring to search for.
* @return the index of the first occurrence of the specified substring,
@@ -1689,11 +1689,12 @@
* Returns the index within this string of the first occurrence of the
* specified substring, starting at the specified index.
*
- * <p>The returned index is the smallest value <i>k</i> for which:
- * <blockquote><pre>
- * <i>k</i> >= fromIndex {@code &&} this.startsWith(str, <i>k</i>)
- * </pre></blockquote>
- * If no such value of <i>k</i> exists, then {@code -1} is returned.
+ * <p>The returned index is the smallest value {@code k} for which:
+ * <pre>{@code
+ * k >= Math.min(fromIndex, this.length()) &&
+ * this.startsWith(str, k)
+ * }</pre>
+ * If no such value of {@code k} exists, then {@code -1} is returned.
*
* @param str the substring to search for.
* @param fromIndex the index from which to start the search.
@@ -1780,11 +1781,11 @@
* specified substring. The last occurrence of the empty string ""
* is considered to occur at the index value {@code this.length()}.
*
- * <p>The returned index is the largest value <i>k</i> for which:
- * <blockquote><pre>
- * this.startsWith(str, <i>k</i>)
- * </pre></blockquote>
- * If no such value of <i>k</i> exists, then {@code -1} is returned.
+ * <p>The returned index is the largest value {@code k} for which:
+ * <pre>{@code
+ * this.startsWith(str, k)
+ * }</pre>
+ * If no such value of {@code k} exists, then {@code -1} is returned.
*
* @param str the substring to search for.
* @return the index of the last occurrence of the specified substring,
@@ -1798,11 +1799,12 @@
* Returns the index within this string of the last occurrence of the
* specified substring, searching backward starting at the specified index.
*
- * <p>The returned index is the largest value <i>k</i> for which:
- * <blockquote><pre>
- * <i>k</i> {@code <=} fromIndex {@code &&} this.startsWith(str, <i>k</i>)
- * </pre></blockquote>
- * If no such value of <i>k</i> exists, then {@code -1} is returned.
+ * <p>The returned index is the largest value {@code k} for which:
+ * <pre>{@code
+ * k <= Math.min(fromIndex, this.length()) &&
+ * this.startsWith(str, k)
+ * }</pre>
+ * If no such value of {@code k} exists, then {@code -1} is returned.
*
* @param str the substring to search for.
* @param fromIndex the index to start the search from.
@@ -2549,87 +2551,88 @@
if (locale == null) {
throw new NullPointerException();
}
-
- int firstUpper;
+ int first;
+ boolean hasSurr = false;
final int len = value.length;
- /* Now check if there are any characters that need to be changed. */
- scan: {
- for (firstUpper = 0 ; firstUpper < len; ) {
- char c = value[firstUpper];
- if ((c >= Character.MIN_HIGH_SURROGATE)
- && (c <= Character.MAX_HIGH_SURROGATE)) {
- int supplChar = codePointAt(firstUpper);
- if (supplChar != Character.toLowerCase(supplChar)) {
- break scan;
- }
- firstUpper += Character.charCount(supplChar);
- } else {
- if (c != Character.toLowerCase(c)) {
- break scan;
- }
- firstUpper++;
- }
+ // Now check if there are any characters that need to be changed, or are surrogate
+ for (first = 0 ; first < len; first++) {
+ int cp = (int)value[first];
+ if (Character.isSurrogate((char)cp)) {
+ hasSurr = true;
+ break;
}
- return this;
+ if (cp != Character.toLowerCase(cp)) { // no need to check Character.ERROR
+ break;
+ }
}
-
+ if (first == len)
+ return this;
char[] result = new char[len];
- int resultOffset = 0; /* result may grow, so i+resultOffset
- * is the write location in result */
-
- /* Just copy the first few lowerCase characters. */
- System.arraycopy(value, 0, result, 0, firstUpper);
-
+ System.arraycopy(value, 0, result, 0, first); // Just copy the first few
+ // lowerCase characters.
String lang = locale.getLanguage();
- boolean localeDependent =
- (lang == "tr" || lang == "az" || lang == "lt");
- char[] lowerCharArray;
- int lowerChar;
- int srcChar;
+ if (lang == "tr" || lang == "az" || lang == "lt") {
+ return toLowerCaseEx(result, first, locale, true);
+ }
+ if (hasSurr) {
+ return toLowerCaseEx(result, first, locale, false);
+ }
+ for (int i = first; i < len; i++) {
+ int cp = (int)value[i];
+ if (cp == '\u03A3') { // GREEK CAPITAL LETTER SIGMA
+ return toLowerCaseEx(result, i, locale, false);
+ }
+ cp = Character.toLowerCase(cp);
+ if (!Character.isBmpCodePoint(cp)) {
+ return toLowerCaseEx(result, i, locale, false);
+ }
+ result[i] = (char)cp;
+ }
+ return new String(result, true);
+ }
+
+ private String toLowerCaseEx(char[] result, int first, Locale locale, boolean localeDependent) {
+ int resultOffset = first;
int srcCount;
- for (int i = firstUpper; i < len; i += srcCount) {
- srcChar = (int)value[i];
- if ((char)srcChar >= Character.MIN_HIGH_SURROGATE
- && (char)srcChar <= Character.MAX_HIGH_SURROGATE) {
+ for (int i = first; i < value.length; i += srcCount) {
+ int srcChar = (int)value[i];
+ int lowerChar;
+ char[] lowerCharArray;
+ srcCount = 1;
+ if (Character.isSurrogate((char)srcChar)) {
srcChar = codePointAt(i);
srcCount = Character.charCount(srcChar);
- } else {
- srcCount = 1;
}
if (localeDependent || srcChar == '\u03A3') { // GREEK CAPITAL LETTER SIGMA
lowerChar = ConditionalSpecialCasing.toLowerCaseEx(this, i, locale);
} else {
lowerChar = Character.toLowerCase(srcChar);
}
- if ((lowerChar == Character.ERROR)
- || (lowerChar >= Character.MIN_SUPPLEMENTARY_CODE_POINT)) {
+ if (Character.isBmpCodePoint(lowerChar)) { // Character.ERROR is not a bmp
+ result[resultOffset++] = (char)lowerChar;
+ } else {
if (lowerChar == Character.ERROR) {
- lowerCharArray =
- ConditionalSpecialCasing.toLowerCaseCharArray(this, i, locale);
+ lowerCharArray = ConditionalSpecialCasing.toLowerCaseCharArray(this, i, locale);
} else if (srcCount == 2) {
- resultOffset += Character.toChars(lowerChar, result, i + resultOffset) - srcCount;
+ resultOffset += Character.toChars(lowerChar, result, resultOffset);
continue;
} else {
lowerCharArray = Character.toChars(lowerChar);
}
-
/* Grow result if needed */
int mapLen = lowerCharArray.length;
if (mapLen > srcCount) {
char[] result2 = new char[result.length + mapLen - srcCount];
- System.arraycopy(result, 0, result2, 0, i + resultOffset);
+ System.arraycopy(result, 0, result2, 0, resultOffset);
result = result2;
}
for (int x = 0; x < mapLen; ++x) {
- result[i + resultOffset + x] = lowerCharArray[x];
+ result[resultOffset++] = lowerCharArray[x];
}
- resultOffset += (mapLen - srcCount);
- } else {
- result[i + resultOffset] = (char)lowerChar;
}
}
- return new String(result, 0, len + resultOffset);
+ return new String(result, 0, resultOffset);
}
/**
@@ -2707,92 +2710,91 @@
if (locale == null) {
throw new NullPointerException();
}
-
- int firstLower;
+ int first;
+ boolean hasSurr = false;
final int len = value.length;
- /* Now check if there are any characters that need to be changed. */
- scan: {
- for (firstLower = 0 ; firstLower < len; ) {
- int c = (int)value[firstLower];
- int srcCount;
- if ((c >= Character.MIN_HIGH_SURROGATE)
- && (c <= Character.MAX_HIGH_SURROGATE)) {
- c = codePointAt(firstLower);
- srcCount = Character.charCount(c);
- } else {
- srcCount = 1;
- }
- int upperCaseChar = Character.toUpperCaseEx(c);
- if ((upperCaseChar == Character.ERROR)
- || (c != upperCaseChar)) {
- break scan;
- }
- firstLower += srcCount;
+ // Now check if there are any characters that need to be changed, or are surrogate
+ for (first = 0 ; first < len; first++ ) {
+ int cp = (int)value[first];
+ if (Character.isSurrogate((char)cp)) {
+ hasSurr = true;
+ break;
}
+ if (cp != Character.toUpperCaseEx(cp)) { // no need to check Character.ERROR
+ break;
+ }
+ }
+ if (first == len) {
return this;
}
-
- /* result may grow, so i+resultOffset is the write location in result */
- int resultOffset = 0;
- char[] result = new char[len]; /* may grow */
-
- /* Just copy the first few upperCase characters. */
- System.arraycopy(value, 0, result, 0, firstLower);
-
+ char[] result = new char[len];
+ System.arraycopy(value, 0, result, 0, first); // Just copy the first few
+ // upperCase characters.
String lang = locale.getLanguage();
- boolean localeDependent =
- (lang == "tr" || lang == "az" || lang == "lt");
- char[] upperCharArray;
- int upperChar;
- int srcChar;
+ if (lang == "tr" || lang == "az" || lang == "lt") {
+ return toUpperCaseEx(result, first, locale, true);
+ }
+ if (hasSurr) {
+ return toUpperCaseEx(result, first, locale, false);
+ }
+ for (int i = first; i < len; i++) {
+ int cp = Character.toUpperCaseEx((int)value[i]);
+ if (!Character.isBmpCodePoint(cp)) { // Character.ERROR is not bmp
+ return toUpperCaseEx(result, i, locale, false);
+ }
+ result[i] = (char)cp;
+ }
+ return new String(result, true);
+ }
+
+ private String toUpperCaseEx(char[] result, int first, Locale locale,
+ boolean localeDependent) {
+ int resultOffset = first;
int srcCount;
- for (int i = firstLower; i < len; i += srcCount) {
- srcChar = (int)value[i];
- if ((char)srcChar >= Character.MIN_HIGH_SURROGATE &&
- (char)srcChar <= Character.MAX_HIGH_SURROGATE) {
+ for (int i = first; i < value.length; i += srcCount) {
+ int srcChar = (int)value[i];
+ int upperChar;
+ char[] upperCharArray;
+ srcCount = 1;
+ if (Character.isSurrogate((char)srcChar)) {
srcChar = codePointAt(i);
srcCount = Character.charCount(srcChar);
- } else {
- srcCount = 1;
}
if (localeDependent) {
upperChar = ConditionalSpecialCasing.toUpperCaseEx(this, i, locale);
} else {
upperChar = Character.toUpperCaseEx(srcChar);
}
- if ((upperChar == Character.ERROR)
- || (upperChar >= Character.MIN_SUPPLEMENTARY_CODE_POINT)) {
+ if (Character.isBmpCodePoint(upperChar)) {
+ result[resultOffset++] = (char)upperChar;
+ } else {
if (upperChar == Character.ERROR) {
if (localeDependent) {
upperCharArray =
- ConditionalSpecialCasing.toUpperCaseCharArray(this, i, locale);
+ ConditionalSpecialCasing.toUpperCaseCharArray(this, i, locale);
} else {
upperCharArray = Character.toUpperCaseCharArray(srcChar);
}
} else if (srcCount == 2) {
- resultOffset += Character.toChars(upperChar, result, i + resultOffset) - srcCount;
+ resultOffset += Character.toChars(upperChar, result, resultOffset);
continue;
} else {
upperCharArray = Character.toChars(upperChar);
}
-
/* Grow result if needed */
int mapLen = upperCharArray.length;
if (mapLen > srcCount) {
char[] result2 = new char[result.length + mapLen - srcCount];
- System.arraycopy(result, 0, result2, 0, i + resultOffset);
+ System.arraycopy(result, 0, result2, 0, resultOffset);
result = result2;
- }
- for (int x = 0; x < mapLen; ++x) {
- result[i + resultOffset + x] = upperCharArray[x];
- }
- resultOffset += (mapLen - srcCount);
- } else {
- result[i + resultOffset] = (char)upperChar;
+ }
+ for (int x = 0; x < mapLen; ++x) {
+ result[resultOffset++] = upperCharArray[x];
+ }
}
}
- return new String(result, 0, len + resultOffset);
+ return new String(result, 0, resultOffset);
}
/**
diff --git a/jdk/src/share/classes/java/lang/StringBuilder.java b/jdk/src/share/classes/java/lang/StringBuilder.java
index bfa2d83..f73f8a2 100644
--- a/jdk/src/share/classes/java/lang/StringBuilder.java
+++ b/jdk/src/share/classes/java/lang/StringBuilder.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/Thread.java b/jdk/src/share/classes/java/lang/Thread.java
index 13d8ac2..3245f7b 100644
--- a/jdk/src/share/classes/java/lang/Thread.java
+++ b/jdk/src/share/classes/java/lang/Thread.java
@@ -973,7 +973,7 @@
* @deprecated This method was originally designed to destroy this
* thread without any cleanup. Any monitors it held would have
* remained locked. However, the method was never implemented.
- * If if were to be implemented, it would be deadlock-prone in
+ * If it were to be implemented, it would be deadlock-prone in
* much the manner of {@link #suspend}. If the target thread held
* a lock protecting a critical system resource when it was
* destroyed, no thread could ever access this resource again.
diff --git a/jdk/src/share/classes/java/lang/ThreadLocal.java b/jdk/src/share/classes/java/lang/ThreadLocal.java
index f9f78c4..3cb6574 100644
--- a/jdk/src/share/classes/java/lang/ThreadLocal.java
+++ b/jdk/src/share/classes/java/lang/ThreadLocal.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java b/jdk/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java
index 1f11b72..241b21a 100644
--- a/jdk/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java
+++ b/jdk/src/share/classes/java/lang/annotation/IncompleteAnnotationException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/java/lang/instrument/package.html b/jdk/src/share/classes/java/lang/instrument/package.html
index eb73ee3..e6839e5 100644
--- a/jdk/src/share/classes/java/lang/instrument/package.html
+++ b/jdk/src/share/classes/java/lang/instrument/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2003, 2006, 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
diff --git a/jdk/src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java b/jdk/src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java
index e8e36e1..3f91060 100644
--- a/jdk/src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java
+++ b/jdk/src/share/classes/java/lang/invoke/AbstractValidatingLambdaMetafactory.java
@@ -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
@@ -200,6 +200,13 @@
implIsInstanceMethod ? "instance" : "static", implInfo,
instantiatedArity, samArity));
}
+ for (MethodType bridgeMT : additionalBridges) {
+ if (bridgeMT.parameterCount() != samArity) {
+ throw new LambdaConversionException(
+ String.format("Incorrect number of parameters for bridge signature %s; incompatible with %s",
+ bridgeMT, samMethodType));
+ }
+ }
// If instance: first captured arg (receiver) must be subtype of class where impl method is defined
final int capturedStart;
@@ -232,7 +239,7 @@
throw new LambdaConversionException(
String.format("Invalid receiver type %s; not a subtype of implementation receiver type %s",
receiverClass, implReceiverClass));
- }
+ }
} else {
// no receiver
capturedStart = 0;
@@ -274,11 +281,18 @@
String.format("Type mismatch for lambda return: %s is not convertible to %s",
actualReturnType, expectedType));
}
- if (!isAdaptableToAsReturn(expectedType, samReturnType)) {
+ if (!isAdaptableToAsReturnStrict(expectedType, samReturnType)) {
throw new LambdaConversionException(
String.format("Type mismatch for lambda expected return: %s is not convertible to %s",
expectedType, samReturnType));
}
+ for (MethodType bridgeMT : additionalBridges) {
+ if (!isAdaptableToAsReturnStrict(expectedType, bridgeMT.returnType())) {
+ throw new LambdaConversionException(
+ String.format("Type mismatch for lambda expected return: %s is not convertible to %s",
+ expectedType, bridgeMT.returnType()));
+ }
+ }
}
/**
@@ -330,6 +344,10 @@
return toType.equals(void.class)
|| !fromType.equals(void.class) && isAdaptableTo(fromType, toType, false);
}
+ private boolean isAdaptableToAsReturnStrict(Class<?> fromType, Class<?> toType) {
+ if (fromType.equals(void.class)) return toType.equals(void.class);
+ return isAdaptableTo(fromType, toType, true);
+ }
/*********** Logging support -- for debugging only, uncomment as needed
diff --git a/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java b/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java
index f592d51..91960b2 100644
--- a/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java
+++ b/jdk/src/share/classes/java/lang/invoke/BoundMethodHandle.java
@@ -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
@@ -861,4 +861,18 @@
* All subclasses must provide such a value describing their type signature.
*/
static final SpeciesData SPECIES_DATA = SpeciesData.EMPTY;
+
+ private static final SpeciesData[] SPECIES_DATA_CACHE = new SpeciesData[5];
+ private static SpeciesData checkCache(int size, String types) {
+ int idx = size - 1;
+ SpeciesData data = SPECIES_DATA_CACHE[idx];
+ if (data != null) return data;
+ SPECIES_DATA_CACHE[idx] = data = getSpeciesData(types);
+ return data;
+ }
+ static SpeciesData speciesData_L() { return checkCache(1, "L"); }
+ static SpeciesData speciesData_LL() { return checkCache(2, "LL"); }
+ static SpeciesData speciesData_LLL() { return checkCache(3, "LLL"); }
+ static SpeciesData speciesData_LLLL() { return checkCache(4, "LLLL"); }
+ static SpeciesData speciesData_LLLLL() { return checkCache(5, "LLLLL"); }
}
diff --git a/jdk/src/share/classes/java/lang/invoke/CallSite.java b/jdk/src/share/classes/java/lang/invoke/CallSite.java
index 5da81af..949364b 100644
--- a/jdk/src/share/classes/java/lang/invoke/CallSite.java
+++ b/jdk/src/share/classes/java/lang/invoke/CallSite.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/invoke/ConstantCallSite.java b/jdk/src/share/classes/java/lang/invoke/ConstantCallSite.java
index 771b06d..f27d0e7b 100644
--- a/jdk/src/share/classes/java/lang/invoke/ConstantCallSite.java
+++ b/jdk/src/share/classes/java/lang/invoke/ConstantCallSite.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java b/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
index bb873b1..837ef04 100644
--- a/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
+++ b/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
@@ -27,7 +27,6 @@
import sun.invoke.util.VerifyAccess;
import java.lang.invoke.LambdaForm.Name;
-import java.lang.invoke.MethodHandles.Lookup;
import sun.invoke.util.Wrapper;
@@ -39,8 +38,6 @@
import java.lang.reflect.*;
import static java.lang.invoke.MethodHandleStatics.*;
import static java.lang.invoke.MethodHandleNatives.Constants.*;
-import static java.lang.invoke.MethodHandles.Lookup.IMPL_LOOKUP;
-import sun.invoke.util.ValueConversions;
import sun.invoke.util.VerifyType;
/**
@@ -51,7 +48,7 @@
class InvokerBytecodeGenerator {
/** Define class names for convenience. */
private static final String MH = "java/lang/invoke/MethodHandle";
- private static final String BMH = "java/lang/invoke/BoundMethodHandle";
+ private static final String MHI = "java/lang/invoke/MethodHandleImpl";
private static final String LF = "java/lang/invoke/LambdaForm";
private static final String LFN = "java/lang/invoke/LambdaForm$Name";
private static final String CLS = "java/lang/Class";
@@ -61,6 +58,7 @@
private static final String LF_SIG = "L" + LF + ";";
private static final String LFN_SIG = "L" + LFN + ";";
private static final String LL_SIG = "(L" + OBJ + ";)L" + OBJ + ";";
+ private static final String CLL_SIG = "(L" + CLS + ";L" + OBJ + ";)L" + OBJ + ";";
/** Name of its super class*/
private static final String superName = LF;
@@ -437,7 +435,7 @@
mv.visitLdcInsn(constantPlaceholder(pclass));
mv.visitTypeInsn(Opcodes.CHECKCAST, CLS);
mv.visitInsn(Opcodes.SWAP);
- mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, CLS, "cast", LL_SIG, false);
+ mv.visitMethodInsn(Opcodes.INVOKESTATIC, MHI, "castReference", CLL_SIG, false);
if (pclass.isArray())
mv.visitTypeInsn(Opcodes.CHECKCAST, OBJARY);
}
@@ -511,17 +509,22 @@
Name name = lambdaForm.names[i];
MemberName member = name.function.member();
- if (isSelectAlternative(member)) {
- // selectAlternative idiom
- // FIXME: make sure this idiom is really present!
+ if (isSelectAlternative(i)) {
emitSelectAlternative(name, lambdaForm.names[i + 1]);
i++; // skip MH.invokeBasic of the selectAlternative result
+ } else if (isGuardWithCatch(i)) {
+ emitGuardWithCatch(i);
+ i = i+2; // Jump to the end of GWC idiom
} else if (isStaticallyInvocable(member)) {
emitStaticInvoke(member, name);
} else {
emitInvoke(name);
}
+ // Update cached form name's info in case an intrinsic spanning multiple names was encountered.
+ name = lambdaForm.names[i];
+ member = name.function.member();
+
// store the result from evaluating to the target name in a local if required
// (if this is the last value, i.e., the one that is going to be returned,
// avoid store/load/return and just return)
@@ -674,12 +677,66 @@
}
/**
- * Check if MemberName is a call to MethodHandleImpl.selectAlternative.
+ * Check if MemberName is a call to a method named {@code name} in class {@code declaredClass}.
*/
- private boolean isSelectAlternative(MemberName member) {
+ private boolean memberRefersTo(MemberName member, Class<?> declaringClass, String name) {
return member != null &&
- member.getDeclaringClass() == MethodHandleImpl.class &&
- member.getName().equals("selectAlternative");
+ member.getDeclaringClass() == declaringClass &&
+ member.getName().equals(name);
+ }
+ private boolean nameRefersTo(Name name, Class<?> declaringClass, String methodName) {
+ return name.function != null &&
+ memberRefersTo(name.function.member(), declaringClass, methodName);
+ }
+
+ /**
+ * Check if MemberName is a call to MethodHandle.invokeBasic.
+ */
+ private boolean isInvokeBasic(Name name) {
+ if (name.function == null)
+ return false;
+ if (name.arguments.length < 1)
+ return false; // must have MH argument
+ MemberName member = name.function.member();
+ return memberRefersTo(member, MethodHandle.class, "invokeBasic") &&
+ !member.isPublic() && !member.isStatic();
+ }
+
+ /**
+ * Check if i-th name is a call to MethodHandleImpl.selectAlternative.
+ */
+ private boolean isSelectAlternative(int pos) {
+ // selectAlternative idiom:
+ // t_{n}:L=MethodHandleImpl.selectAlternative(...)
+ // t_{n+1}:?=MethodHandle.invokeBasic(t_{n}, ...)
+ if (pos+1 >= lambdaForm.names.length) return false;
+ Name name0 = lambdaForm.names[pos];
+ Name name1 = lambdaForm.names[pos+1];
+ return nameRefersTo(name0, MethodHandleImpl.class, "selectAlternative") &&
+ isInvokeBasic(name1) &&
+ name1.lastUseIndex(name0) == 0 && // t_{n+1}:?=MethodHandle.invokeBasic(t_{n}, ...)
+ lambdaForm.lastUseIndex(name0) == pos+1; // t_{n} is local: used only in t_{n+1}
+ }
+
+ /**
+ * Check if i-th name is a start of GuardWithCatch idiom.
+ */
+ private boolean isGuardWithCatch(int pos) {
+ // GuardWithCatch idiom:
+ // t_{n}:L=MethodHandle.invokeBasic(...)
+ // t_{n+1}:L=MethodHandleImpl.guardWithCatch(*, *, *, t_{n});
+ // t_{n+2}:?=MethodHandle.invokeBasic(t_{n+1})
+ if (pos+2 >= lambdaForm.names.length) return false;
+ Name name0 = lambdaForm.names[pos];
+ Name name1 = lambdaForm.names[pos+1];
+ Name name2 = lambdaForm.names[pos+2];
+ return nameRefersTo(name1, MethodHandleImpl.class, "guardWithCatch") &&
+ isInvokeBasic(name0) &&
+ isInvokeBasic(name2) &&
+ name1.lastUseIndex(name0) == 3 && // t_{n+1}:L=MethodHandleImpl.guardWithCatch(*, *, *, t_{n});
+ lambdaForm.lastUseIndex(name0) == pos+1 && // t_{n} is local: used only in t_{n+1}
+ name2.lastUseIndex(name1) == 1 && // t_{n+2}:?=MethodHandle.invokeBasic(t_{n+1})
+ lambdaForm.lastUseIndex(name1) == pos+2; // t_{n+1} is local: used only in t_{n+2}
}
/**
@@ -694,8 +751,6 @@
* }</pre></blockquote>
*/
private void emitSelectAlternative(Name selectAlternativeName, Name invokeBasicName) {
- MethodType type = selectAlternativeName.function.methodType();
-
Name receiver = (Name) invokeBasicName.arguments[0];
Label L_fallback = new Label();
@@ -709,7 +764,6 @@
mv.visitJumpInsn(Opcodes.IF_ICMPNE, L_fallback);
// invoke selectAlternativeName.arguments[1]
- MethodHandle target = (MethodHandle) selectAlternativeName.arguments[1];
emitPushArgument(selectAlternativeName, 1); // get 2nd argument of selectAlternative
emitAstoreInsn(receiver.index()); // store the MH in the receiver slot
emitInvoke(invokeBasicName);
@@ -721,7 +775,6 @@
mv.visitLabel(L_fallback);
// invoke selectAlternativeName.arguments[2]
- MethodHandle fallback = (MethodHandle) selectAlternativeName.arguments[2];
emitPushArgument(selectAlternativeName, 2); // get 3rd argument of selectAlternative
emitAstoreInsn(receiver.index()); // store the MH in the receiver slot
emitInvoke(invokeBasicName);
@@ -730,6 +783,85 @@
mv.visitLabel(L_done);
}
+ /**
+ * Emit bytecode for the guardWithCatch idiom.
+ *
+ * The pattern looks like (Cf. MethodHandleImpl.makeGuardWithCatch):
+ * <blockquote><pre>{@code
+ * guardWithCatch=Lambda(a0:L,a1:L,a2:L,a3:L,a4:L,a5:L,a6:L,a7:L)=>{
+ * t8:L=MethodHandle.invokeBasic(a4:L,a6:L,a7:L);
+ * t9:L=MethodHandleImpl.guardWithCatch(a1:L,a2:L,a3:L,t8:L);
+ * t10:I=MethodHandle.invokeBasic(a5:L,t9:L);t10:I}
+ * }</pre></blockquote>
+ *
+ * It is compiled into bytecode equivalent of the following code:
+ * <blockquote><pre>{@code
+ * try {
+ * return a1.invokeBasic(a6, a7);
+ * } catch (Throwable e) {
+ * if (!a2.isInstance(e)) throw e;
+ * return a3.invokeBasic(ex, a6, a7);
+ * }}
+ */
+ private void emitGuardWithCatch(int pos) {
+ Name args = lambdaForm.names[pos];
+ Name invoker = lambdaForm.names[pos+1];
+ Name result = lambdaForm.names[pos+2];
+
+ Label L_startBlock = new Label();
+ Label L_endBlock = new Label();
+ Label L_handler = new Label();
+ Label L_done = new Label();
+
+ Class<?> returnType = result.function.resolvedHandle.type().returnType();
+ MethodType type = args.function.resolvedHandle.type()
+ .dropParameterTypes(0,1)
+ .changeReturnType(returnType);
+
+ mv.visitTryCatchBlock(L_startBlock, L_endBlock, L_handler, "java/lang/Throwable");
+
+ // Normal case
+ mv.visitLabel(L_startBlock);
+ // load target
+ emitPushArgument(invoker, 0);
+ emitPushArguments(args, 1); // skip 1st argument: method handle
+ mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, MH, "invokeBasic", type.basicType().toMethodDescriptorString(), false);
+ mv.visitLabel(L_endBlock);
+ mv.visitJumpInsn(Opcodes.GOTO, L_done);
+
+ // Exceptional case
+ mv.visitLabel(L_handler);
+
+ // Check exception's type
+ mv.visitInsn(Opcodes.DUP);
+ // load exception class
+ emitPushArgument(invoker, 1);
+ mv.visitInsn(Opcodes.SWAP);
+ mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/lang/Class", "isInstance", "(Ljava/lang/Object;)Z", false);
+ Label L_rethrow = new Label();
+ mv.visitJumpInsn(Opcodes.IFEQ, L_rethrow);
+
+ // Invoke catcher
+ // load catcher
+ emitPushArgument(invoker, 2);
+ mv.visitInsn(Opcodes.SWAP);
+ emitPushArguments(args, 1); // skip 1st argument: method handle
+ MethodType catcherType = type.insertParameterTypes(0, Throwable.class);
+ mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, MH, "invokeBasic", catcherType.basicType().toMethodDescriptorString(), false);
+ mv.visitJumpInsn(Opcodes.GOTO, L_done);
+
+ mv.visitLabel(L_rethrow);
+ mv.visitInsn(Opcodes.ATHROW);
+
+ mv.visitLabel(L_done);
+ }
+
+ private void emitPushArguments(Name args, int start) {
+ for (int i = start; i < args.arguments.length; i++) {
+ emitPushArgument(args, i);
+ }
+ }
+
private void emitPushArgument(Name name, int paramIndex) {
Object arg = name.arguments[paramIndex];
char ptype = name.function.parameterType(paramIndex);
diff --git a/jdk/src/share/classes/java/lang/invoke/Invokers.java b/jdk/src/share/classes/java/lang/invoke/Invokers.java
index 6214aad..b9c18b5 100644
--- a/jdk/src/share/classes/java/lang/invoke/Invokers.java
+++ b/jdk/src/share/classes/java/lang/invoke/Invokers.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/invoke/LambdaForm.java b/jdk/src/share/classes/java/lang/invoke/LambdaForm.java
index 857cf26..a5e40ed 100644
--- a/jdk/src/share/classes/java/lang/invoke/LambdaForm.java
+++ b/jdk/src/share/classes/java/lang/invoke/LambdaForm.java
@@ -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
@@ -1465,6 +1465,33 @@
return false;
}
+ /** Return the index of the last occurrence of n in the argument array.
+ * Return -1 if the name is not used.
+ */
+ int lastUseIndex(Name n) {
+ if (arguments == null) return -1;
+ for (int i = arguments.length; --i >= 0; ) {
+ if (arguments[i] == n) return i;
+ }
+ return -1;
+ }
+
+ /** Return the number of occurrences of n in the argument array.
+ * Return 0 if the name is not used.
+ */
+ int useCount(Name n) {
+ if (arguments == null) return 0;
+ int count = 0;
+ for (int i = arguments.length; --i >= 0; ) {
+ if (arguments[i] == n) ++count;
+ }
+ return count;
+ }
+
+ boolean contains(Name n) {
+ return this == n || lastUseIndex(n) >= 0;
+ }
+
public boolean equals(Name that) {
if (this == that) return true;
if (isParam())
@@ -1488,6 +1515,35 @@
}
}
+ /** Return the index of the last name which contains n as an argument.
+ * Return -1 if the name is not used. Return names.length if it is the return value.
+ */
+ int lastUseIndex(Name n) {
+ int ni = n.index, nmax = names.length;
+ assert(names[ni] == n);
+ if (result == ni) return nmax; // live all the way beyond the end
+ for (int i = nmax; --i > ni; ) {
+ if (names[i].lastUseIndex(n) >= 0)
+ return i;
+ }
+ return -1;
+ }
+
+ /** Return the number of times n is used as an argument or return value. */
+ int useCount(Name n) {
+ int ni = n.index, nmax = names.length;
+ int end = lastUseIndex(n);
+ if (end < 0) return 0;
+ int count = 0;
+ if (end == nmax) { count++; end--; }
+ int beg = n.index() + 1;
+ if (beg < arity) beg = arity;
+ for (int i = beg; i <= end; i++) {
+ count += names[i].useCount(n);
+ }
+ return count;
+ }
+
static Name argument(int which, char type) {
int tn = ALL_TYPES.indexOf(type);
if (tn < 0 || which >= INTERNED_ARGUMENT_LIMIT)
diff --git a/jdk/src/share/classes/java/lang/invoke/MemberName.java b/jdk/src/share/classes/java/lang/invoke/MemberName.java
index 5b6cecb..9cc901e 100644
--- a/jdk/src/share/classes/java/lang/invoke/MemberName.java
+++ b/jdk/src/share/classes/java/lang/invoke/MemberName.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandle.java b/jdk/src/share/classes/java/lang/invoke/MethodHandle.java
index ce115df..f142076 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandle.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandle.java
@@ -31,8 +31,6 @@
import sun.misc.Unsafe;
import static java.lang.invoke.MethodHandleStatics.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* A method handle is a typed, directly executable reference to an underlying method,
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java b/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
index eca236c..e2dbfc8 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
@@ -27,7 +27,6 @@
import java.security.AccessController;
import java.security.PrivilegedAction;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import sun.invoke.empty.Empty;
@@ -254,7 +253,7 @@
// Note: Do not check for a class hierarchy relation
// between src and dst. In all cases a 'null' argument
// will pass the cast conversion.
- fn = ValueConversions.cast(dst);
+ fn = ValueConversions.cast(dst, Lazy.MH_castReference);
}
}
Name conv = new Name(fn, names[INARG_BASE + i]);
@@ -294,6 +293,25 @@
return SimpleMethodHandle.make(srcType, form);
}
+ /**
+ * Identity function, with reference cast.
+ * @param t an arbitrary reference type
+ * @param x an arbitrary reference value
+ * @return the same value x
+ */
+ @ForceInline
+ @SuppressWarnings("unchecked")
+ static <T,U> T castReference(Class<? extends T> t, U x) {
+ // inlined Class.cast because we can't ForceInline it
+ if (x != null && !t.isInstance(x))
+ throw newClassCastException(t, x);
+ return (T) x;
+ }
+
+ private static ClassCastException newClassCastException(Class<?> t, Object obj) {
+ return new ClassCastException("Cannot cast " + obj.getClass().getName() + " to " + t.getName());
+ }
+
static MethodHandle makeReferenceIdentity(Class<?> refType) {
MethodType lambdaType = MethodType.genericMethodType(1).invokerType();
Name[] names = arguments(1, lambdaType);
@@ -482,12 +500,31 @@
* Factored in an inner class to delay initialization until first usage.
*/
private static class Lazy {
+ private static final Class<?> MHI = MethodHandleImpl.class;
+
static final NamedFunction NF_checkSpreadArgument;
+ static final NamedFunction NF_guardWithCatch;
+ static final NamedFunction NF_selectAlternative;
+ static final NamedFunction NF_throwException;
+
+ static final MethodHandle MH_castReference;
+
static {
try {
- NF_checkSpreadArgument = new NamedFunction(MethodHandleImpl.class
- .getDeclaredMethod("checkSpreadArgument", Object.class, int.class));
+ NF_checkSpreadArgument = new NamedFunction(MHI.getDeclaredMethod("checkSpreadArgument", Object.class, int.class));
+ NF_guardWithCatch = new NamedFunction(MHI.getDeclaredMethod("guardWithCatch", MethodHandle.class, Class.class,
+ MethodHandle.class, Object[].class));
+ NF_selectAlternative = new NamedFunction(MHI.getDeclaredMethod("selectAlternative", boolean.class, MethodHandle.class,
+ MethodHandle.class));
+ NF_throwException = new NamedFunction(MHI.getDeclaredMethod("throwException", Throwable.class));
+
NF_checkSpreadArgument.resolve();
+ NF_guardWithCatch.resolve();
+ NF_selectAlternative.resolve();
+ NF_throwException.resolve();
+
+ MethodType mt = MethodType.methodType(Object.class, Class.class, Object.class);
+ MH_castReference = IMPL_LOOKUP.findStatic(MHI, "castReference", mt);
} catch (ReflectiveOperationException ex) {
throw newInternalError(ex);
}
@@ -548,24 +585,12 @@
return SimpleMethodHandle.make(srcType, form);
}
+ @LambdaForm.Hidden
static
MethodHandle selectAlternative(boolean testResult, MethodHandle target, MethodHandle fallback) {
return testResult ? target : fallback;
}
- static MethodHandle SELECT_ALTERNATIVE;
- static MethodHandle selectAlternative() {
- if (SELECT_ALTERNATIVE != null) return SELECT_ALTERNATIVE;
- try {
- SELECT_ALTERNATIVE
- = IMPL_LOOKUP.findStatic(MethodHandleImpl.class, "selectAlternative",
- MethodType.methodType(MethodHandle.class, boolean.class, MethodHandle.class, MethodHandle.class));
- } catch (ReflectiveOperationException ex) {
- throw new RuntimeException(ex);
- }
- return SELECT_ALTERNATIVE;
- }
-
static
MethodHandle makeGuardWithTest(MethodHandle test,
MethodHandle target,
@@ -585,7 +610,7 @@
// call selectAlternative
Object[] selectArgs = { names[arity + 1], target, fallback };
- names[arity + 2] = new Name(MethodHandleImpl.selectAlternative(), selectArgs);
+ names[arity + 2] = new Name(Lazy.NF_selectAlternative, selectArgs);
targetArgs[0] = names[arity + 2];
// call target or fallback
@@ -595,167 +620,137 @@
return SimpleMethodHandle.make(target.type(), form);
}
- private static class GuardWithCatch {
- private final MethodHandle target;
- private final Class<? extends Throwable> exType;
- private final MethodHandle catcher;
- // FIXME: Build the control flow out of foldArguments.
- GuardWithCatch(MethodHandle target, Class<? extends Throwable> exType, MethodHandle catcher) {
- this.target = target;
- this.exType = exType;
- this.catcher = catcher;
- }
- @LambdaForm.Hidden
- private Object invoke_V(Object... av) throws Throwable {
- try {
- return target.invokeExact(av);
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t, av);
- }
- }
- @LambdaForm.Hidden
- private Object invoke_L0() throws Throwable {
- try {
- return target.invokeExact();
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t);
- }
- }
- @LambdaForm.Hidden
- private Object invoke_L1(Object a0) throws Throwable {
- try {
- return target.invokeExact(a0);
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t, a0);
- }
- }
- @LambdaForm.Hidden
- private Object invoke_L2(Object a0, Object a1) throws Throwable {
- try {
- return target.invokeExact(a0, a1);
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t, a0, a1);
- }
- }
- @LambdaForm.Hidden
- private Object invoke_L3(Object a0, Object a1, Object a2) throws Throwable {
- try {
- return target.invokeExact(a0, a1, a2);
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t, a0, a1, a2);
- }
- }
- @LambdaForm.Hidden
- private Object invoke_L4(Object a0, Object a1, Object a2, Object a3) throws Throwable {
- try {
- return target.invokeExact(a0, a1, a2, a3);
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t, a0, a1, a2, a3);
- }
- }
- @LambdaForm.Hidden
- private Object invoke_L5(Object a0, Object a1, Object a2, Object a3, Object a4) throws Throwable {
- try {
- return target.invokeExact(a0, a1, a2, a3, a4);
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t, a0, a1, a2, a3, a4);
- }
- }
- @LambdaForm.Hidden
- private Object invoke_L6(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5) throws Throwable {
- try {
- return target.invokeExact(a0, a1, a2, a3, a4, a5);
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t, a0, a1, a2, a3, a4, a5);
- }
- }
- @LambdaForm.Hidden
- private Object invoke_L7(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6) throws Throwable {
- try {
- return target.invokeExact(a0, a1, a2, a3, a4, a5, a6);
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t, a0, a1, a2, a3, a4, a5, a6);
- }
- }
- @LambdaForm.Hidden
- private Object invoke_L8(Object a0, Object a1, Object a2, Object a3, Object a4, Object a5, Object a6, Object a7) throws Throwable {
- try {
- return target.invokeExact(a0, a1, a2, a3, a4, a5, a6, a7);
- } catch (Throwable t) {
- if (!exType.isInstance(t)) throw t;
- return catcher.invokeExact(t, a0, a1, a2, a3, a4, a5, a6, a7);
- }
- }
- static MethodHandle[] makeInvokes() {
- ArrayList<MethodHandle> invokes = new ArrayList<>();
- MethodHandles.Lookup lookup = IMPL_LOOKUP;
- for (;;) {
- int nargs = invokes.size();
- String name = "invoke_L"+nargs;
- MethodHandle invoke = null;
- try {
- invoke = lookup.findVirtual(GuardWithCatch.class, name, MethodType.genericMethodType(nargs));
- } catch (ReflectiveOperationException ex) {
- }
- if (invoke == null) break;
- invokes.add(invoke);
- }
- assert(invokes.size() == 9); // current number of methods
- return invokes.toArray(new MethodHandle[0]);
- };
- static final MethodHandle[] INVOKES = makeInvokes();
- // For testing use this:
- //static final MethodHandle[] INVOKES = Arrays.copyOf(makeInvokes(), 2);
- static final MethodHandle VARARGS_INVOKE;
- static {
- try {
- VARARGS_INVOKE = IMPL_LOOKUP.findVirtual(GuardWithCatch.class, "invoke_V", MethodType.genericMethodType(0, true));
- } catch (ReflectiveOperationException ex) {
- throw uncaughtException(ex);
- }
- }
- }
+ /**
+ * The LambaForm shape for catchException combinator is the following:
+ * <blockquote><pre>{@code
+ * guardWithCatch=Lambda(a0:L,a1:L,a2:L)=>{
+ * t3:L=BoundMethodHandle$Species_LLLLL.argL0(a0:L);
+ * t4:L=BoundMethodHandle$Species_LLLLL.argL1(a0:L);
+ * t5:L=BoundMethodHandle$Species_LLLLL.argL2(a0:L);
+ * t6:L=BoundMethodHandle$Species_LLLLL.argL3(a0:L);
+ * t7:L=BoundMethodHandle$Species_LLLLL.argL4(a0:L);
+ * t8:L=MethodHandle.invokeBasic(t6:L,a1:L,a2:L);
+ * t9:L=MethodHandleImpl.guardWithCatch(t3:L,t4:L,t5:L,t8:L);
+ * t10:I=MethodHandle.invokeBasic(t7:L,t9:L);t10:I}
+ * }</pre></blockquote>
+ *
+ * argL0 and argL2 are target and catcher method handles. argL1 is exception class.
+ * argL3 and argL4 are auxiliary method handles: argL3 boxes arguments and wraps them into Object[]
+ * (ValueConversions.array()) and argL4 unboxes result if necessary (ValueConversions.unbox()).
+ *
+ * Having t8 and t10 passed outside and not hardcoded into a lambda form allows to share lambda forms
+ * among catchException combinators with the same basic type.
+ */
+ private static LambdaForm makeGuardWithCatchForm(MethodType basicType) {
+ MethodType lambdaType = basicType.invokerType();
+ LambdaForm lform = basicType.form().cachedLambdaForm(MethodTypeForm.LF_GWC);
+ if (lform != null) {
+ return lform;
+ }
+ final int THIS_MH = 0; // the BMH_LLLLL
+ final int ARG_BASE = 1; // start of incoming arguments
+ final int ARG_LIMIT = ARG_BASE + basicType.parameterCount();
+
+ int nameCursor = ARG_LIMIT;
+ final int GET_TARGET = nameCursor++;
+ final int GET_CLASS = nameCursor++;
+ final int GET_CATCHER = nameCursor++;
+ final int GET_COLLECT_ARGS = nameCursor++;
+ final int GET_UNBOX_RESULT = nameCursor++;
+ final int BOXED_ARGS = nameCursor++;
+ final int TRY_CATCH = nameCursor++;
+ final int UNBOX_RESULT = nameCursor++;
+
+ Name[] names = arguments(nameCursor - ARG_LIMIT, lambdaType);
+
+ BoundMethodHandle.SpeciesData data = BoundMethodHandle.speciesData_LLLLL();
+ names[GET_TARGET] = new Name(data.getterFunction(0), names[THIS_MH]);
+ names[GET_CLASS] = new Name(data.getterFunction(1), names[THIS_MH]);
+ names[GET_CATCHER] = new Name(data.getterFunction(2), names[THIS_MH]);
+ names[GET_COLLECT_ARGS] = new Name(data.getterFunction(3), names[THIS_MH]);
+ names[GET_UNBOX_RESULT] = new Name(data.getterFunction(4), names[THIS_MH]);
+
+ // FIXME: rework argument boxing/result unboxing logic for LF interpretation
+
+ // t_{i}:L=MethodHandle.invokeBasic(collectArgs:L,a1:L,...);
+ MethodType collectArgsType = basicType.changeReturnType(Object.class);
+ MethodHandle invokeBasic = MethodHandles.basicInvoker(collectArgsType);
+ Object[] args = new Object[invokeBasic.type().parameterCount()];
+ args[0] = names[GET_COLLECT_ARGS];
+ System.arraycopy(names, ARG_BASE, args, 1, ARG_LIMIT-ARG_BASE);
+ names[BOXED_ARGS] = new Name(new NamedFunction(invokeBasic), args);
+
+ // t_{i+1}:L=MethodHandleImpl.guardWithCatch(target:L,exType:L,catcher:L,t_{i}:L);
+ Object[] gwcArgs = new Object[] {names[GET_TARGET], names[GET_CLASS], names[GET_CATCHER], names[BOXED_ARGS]};
+ names[TRY_CATCH] = new Name(Lazy.NF_guardWithCatch, gwcArgs);
+
+ // t_{i+2}:I=MethodHandle.invokeBasic(unbox:L,t_{i+1}:L);
+ MethodHandle invokeBasicUnbox = MethodHandles.basicInvoker(MethodType.methodType(basicType.rtype(), Object.class));
+ Object[] unboxArgs = new Object[] {names[GET_UNBOX_RESULT], names[TRY_CATCH]};
+ names[UNBOX_RESULT] = new Name(new NamedFunction(invokeBasicUnbox), unboxArgs);
+
+ lform = new LambdaForm("guardWithCatch", lambdaType.parameterCount(), names);
+
+ basicType.form().setCachedLambdaForm(MethodTypeForm.LF_GWC, lform);
+ return lform;
+ }
static
MethodHandle makeGuardWithCatch(MethodHandle target,
Class<? extends Throwable> exType,
MethodHandle catcher) {
MethodType type = target.type();
- MethodType ctype = catcher.type();
- int nargs = type.parameterCount();
- if (nargs < GuardWithCatch.INVOKES.length) {
- MethodType gtype = type.generic();
- MethodType gcatchType = gtype.insertParameterTypes(0, Throwable.class);
- // Note: convertArguments(...2) avoids interface casts present in convertArguments(...0)
- MethodHandle gtarget = makePairwiseConvert(target, gtype, 2);
- MethodHandle gcatcher = makePairwiseConvert(catcher, gcatchType, 2);
- GuardWithCatch gguard = new GuardWithCatch(gtarget, exType, gcatcher);
- if (gtarget == null || gcatcher == null) throw new InternalError();
- MethodHandle ginvoker = GuardWithCatch.INVOKES[nargs].bindReceiver(gguard);
- return makePairwiseConvert(ginvoker, type, 2);
+ LambdaForm form = makeGuardWithCatchForm(type.basicType());
+
+ // Prepare auxiliary method handles used during LambdaForm interpreation.
+ // Box arguments and wrap them into Object[]: ValueConversions.array().
+ MethodType varargsType = type.changeReturnType(Object[].class);
+ MethodHandle collectArgs = ValueConversions.varargsArray(type.parameterCount())
+ .asType(varargsType);
+ // Result unboxing: ValueConversions.unbox() OR ValueConversions.identity() OR ValueConversions.ignore().
+ MethodHandle unboxResult;
+ if (type.returnType().isPrimitive()) {
+ unboxResult = ValueConversions.unbox(type.returnType());
} else {
- target = target.asType(type.changeReturnType(Object.class));
- MethodHandle gtarget = makeSpreadArguments(target, Object[].class, 0, nargs);
- MethodType catcherType = ctype.changeParameterType(0, Throwable.class)
- .changeReturnType(Object.class);
- catcher = catcher.asType(catcherType);
- MethodHandle gcatcher = makeSpreadArguments(catcher, Object[].class, 1, nargs);
- GuardWithCatch gguard = new GuardWithCatch(gtarget, exType, gcatcher);
- if (gtarget == null || gcatcher == null) throw new InternalError();
- MethodHandle ginvoker = GuardWithCatch.VARARGS_INVOKE.bindReceiver(gguard);
- MethodHandle gcollect = makeCollectArguments(ginvoker, ValueConversions.varargsArray(nargs), 0, false);
- return makePairwiseConvert(gcollect, type, 2);
+ unboxResult = ValueConversions.identity();
}
+
+ BoundMethodHandle.SpeciesData data = BoundMethodHandle.speciesData_LLLLL();
+ BoundMethodHandle mh;
+ try {
+ mh = (BoundMethodHandle)
+ data.constructor[0].invokeBasic(type, form, (Object) target, (Object) exType, (Object) catcher,
+ (Object) collectArgs, (Object) unboxResult);
+ } catch (Throwable ex) {
+ throw uncaughtException(ex);
+ }
+ assert(mh.type() == type);
+ return mh;
+ }
+
+ /**
+ * Intrinsified during LambdaForm compilation
+ * (see {@link InvokerBytecodeGenerator#emitGuardWithCatch emitGuardWithCatch}).
+ */
+ @LambdaForm.Hidden
+ static Object guardWithCatch(MethodHandle target, Class<? extends Throwable> exType, MethodHandle catcher,
+ Object... av) throws Throwable {
+ try {
+ return target.invokeWithArguments(av);
+ } catch (Throwable t) {
+ if (!exType.isInstance(t)) throw t;
+ Object[] args = prepend(t, av);
+ return catcher.invokeWithArguments(args);
+ }
+ }
+
+ /** Prepend an element {@code elem} to an {@code array}. */
+ private static Object[] prepend(Object elem, Object[] array) {
+ Object[] newArray = new Object[array.length+1];
+ newArray[0] = elem;
+ System.arraycopy(array, 0, newArray, 1, array.length);
+ return newArray;
}
static
@@ -765,23 +760,9 @@
if (arity > 1) {
return throwException(type.dropParameterTypes(1, arity)).dropArguments(type, 1, arity-1);
}
- return makePairwiseConvert(throwException(), type, 2);
+ return makePairwiseConvert(Lazy.NF_throwException.resolvedHandle(), type, 2);
}
- static MethodHandle THROW_EXCEPTION;
- static MethodHandle throwException() {
- MethodHandle mh = THROW_EXCEPTION;
- if (mh != null) return mh;
- try {
- mh
- = IMPL_LOOKUP.findStatic(MethodHandleImpl.class, "throwException",
- MethodType.methodType(Empty.class, Throwable.class));
- } catch (ReflectiveOperationException ex) {
- throw new RuntimeException(ex);
- }
- THROW_EXCEPTION = mh;
- return mh;
- }
static <T extends Throwable> Empty throwException(T t) throws T { throw t; }
static MethodHandle[] FAKE_METHOD_HANDLE_INVOKE = new MethodHandle[2];
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java b/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java
index 34ec234..8fec887 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodType.java b/jdk/src/share/classes/java/lang/invoke/MethodType.java
index 214ca6c..c264600 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodType.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodType.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodTypeForm.java b/jdk/src/share/classes/java/lang/invoke/MethodTypeForm.java
index 09a07b1..ee5e622 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodTypeForm.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodTypeForm.java
@@ -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
@@ -76,7 +76,8 @@
LF_GEN_INVOKER = 12,
LF_CS_LINKER = 13, // linkToCallSite_CS
LF_MH_LINKER = 14, // linkToCallSite_MH
- LF_LIMIT = 15;
+ LF_GWC = 15,
+ LF_LIMIT = 16;
public MethodType erasedType() {
return erasedType;
diff --git a/jdk/src/share/classes/java/lang/invoke/MutableCallSite.java b/jdk/src/share/classes/java/lang/invoke/MutableCallSite.java
index 68dabe8..c5f7450 100644
--- a/jdk/src/share/classes/java/lang/invoke/MutableCallSite.java
+++ b/jdk/src/share/classes/java/lang/invoke/MutableCallSite.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/invoke/SimpleMethodHandle.java b/jdk/src/share/classes/java/lang/invoke/SimpleMethodHandle.java
index c2d8e58..07f08dd 100644
--- a/jdk/src/share/classes/java/lang/invoke/SimpleMethodHandle.java
+++ b/jdk/src/share/classes/java/lang/invoke/SimpleMethodHandle.java
@@ -27,8 +27,6 @@
import static java.lang.invoke.LambdaForm.*;
import static java.lang.invoke.MethodHandleNatives.Constants.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* A method handle whose behavior is determined only by its LambdaForm.
diff --git a/jdk/src/share/classes/java/lang/invoke/Stable.java b/jdk/src/share/classes/java/lang/invoke/Stable.java
index 67a3b4f..077c546 100644
--- a/jdk/src/share/classes/java/lang/invoke/Stable.java
+++ b/jdk/src/share/classes/java/lang/invoke/Stable.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/invoke/SwitchPoint.java b/jdk/src/share/classes/java/lang/invoke/SwitchPoint.java
index 290f9f0..01c16f5 100644
--- a/jdk/src/share/classes/java/lang/invoke/SwitchPoint.java
+++ b/jdk/src/share/classes/java/lang/invoke/SwitchPoint.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java b/jdk/src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java
index b23ba66..6bfbf6b 100644
--- a/jdk/src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java
+++ b/jdk/src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java
@@ -212,7 +212,7 @@
* @param functional
*/
void convertType(Class<?> arg, Class<?> target, Class<?> functional) {
- if (arg.equals(target)) {
+ if (arg.equals(target) && arg.equals(functional)) {
return;
}
if (arg == Void.TYPE || target == Void.TYPE) {
diff --git a/jdk/src/share/classes/java/lang/invoke/package-info.java b/jdk/src/share/classes/java/lang/invoke/package-info.java
index 51fc21c..ec2539f 100644
--- a/jdk/src/share/classes/java/lang/invoke/package-info.java
+++ b/jdk/src/share/classes/java/lang/invoke/package-info.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/management/CompilationMXBean.java b/jdk/src/share/classes/java/lang/management/CompilationMXBean.java
index bc411ed..f50d0c3 100644
--- a/jdk/src/share/classes/java/lang/management/CompilationMXBean.java
+++ b/jdk/src/share/classes/java/lang/management/CompilationMXBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/share/classes/java/lang/management/ManagementPermission.java b/jdk/src/share/classes/java/lang/management/ManagementPermission.java
index ae3dc56..31d00cf 100644
--- a/jdk/src/share/classes/java/lang/management/ManagementPermission.java
+++ b/jdk/src/share/classes/java/lang/management/ManagementPermission.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/management/package.html b/jdk/src/share/classes/java/lang/management/package.html
index c2c74d0..829b3e8 100644
--- a/jdk/src/share/classes/java/lang/management/package.html
+++ b/jdk/src/share/classes/java/lang/management/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/java/lang/ref/Reference.java b/jdk/src/share/classes/java/lang/ref/Reference.java
index 49f68d1..5febcae 100644
--- a/jdk/src/share/classes/java/lang/ref/Reference.java
+++ b/jdk/src/share/classes/java/lang/ref/Reference.java
@@ -26,6 +26,8 @@
package java.lang.ref;
import sun.misc.Cleaner;
+import sun.misc.JavaLangRefAccess;
+import sun.misc.SharedSecrets;
/**
* Abstract base class for reference objects. This class defines the
@@ -147,51 +149,75 @@
}
public void run() {
- for (;;) {
- Reference<Object> r;
- Cleaner c;
- try {
- synchronized (lock) {
- if (pending != null) {
- r = pending;
- // 'instanceof' might throw OutOfMemoryError sometimes
- // so do this before un-linking 'r' from the 'pending' chain...
- c = r instanceof Cleaner ? (Cleaner) r : null;
- // unlink 'r' from 'pending' chain
- pending = r.discovered;
- r.discovered = null;
- } else {
- // The waiting on the lock may cause an OutOfMemoryError
- // because it may try to allocate exception objects.
- lock.wait();
- continue;
- }
- }
- } catch (OutOfMemoryError x) {
- // Give other threads CPU time so they hopefully drop some live references
- // and GC reclaims some space.
- // Also prevent CPU intensive spinning in case 'r instanceof Cleaner' above
- // persistently throws OOME for some time...
- Thread.yield();
- // retry
- continue;
- } catch (InterruptedException x) {
- // retry
- continue;
- }
-
- // Fast path for cleaners
- if (c != null) {
- c.clean();
- continue;
- }
-
- ReferenceQueue<Object> q = r.queue;
- if (q != ReferenceQueue.NULL) q.enqueue(r);
+ while (true) {
+ tryHandlePending(true);
}
}
}
+ /**
+ * Try handle pending {@link Reference} if there is one.<p>
+ * Return {@code true} as a hint that there might be another
+ * {@link Reference} pending or {@code false} when there are no more pending
+ * {@link Reference}s at the moment and the program can do some other
+ * useful work instead of looping.
+ *
+ * @param waitForNotify if {@code true} and there was no pending
+ * {@link Reference}, wait until notified from VM
+ * or interrupted; if {@code false}, return immediately
+ * when there is no pending {@link Reference}.
+ * @return {@code true} if there was a {@link Reference} pending and it
+ * was processed, or we waited for notification and either got it
+ * or thread was interrupted before being notified;
+ * {@code false} otherwise.
+ */
+ static boolean tryHandlePending(boolean waitForNotify) {
+ Reference<Object> r;
+ Cleaner c;
+ try {
+ synchronized (lock) {
+ if (pending != null) {
+ r = pending;
+ // 'instanceof' might throw OutOfMemoryError sometimes
+ // so do this before un-linking 'r' from the 'pending' chain...
+ c = r instanceof Cleaner ? (Cleaner) r : null;
+ // unlink 'r' from 'pending' chain
+ pending = r.discovered;
+ r.discovered = null;
+ } else {
+ // The waiting on the lock may cause an OutOfMemoryError
+ // because it may try to allocate exception objects.
+ if (waitForNotify) {
+ lock.wait();
+ }
+ // retry if waited
+ return waitForNotify;
+ }
+ }
+ } catch (OutOfMemoryError x) {
+ // Give other threads CPU time so they hopefully drop some live references
+ // and GC reclaims some space.
+ // Also prevent CPU intensive spinning in case 'r instanceof Cleaner' above
+ // persistently throws OOME for some time...
+ Thread.yield();
+ // retry
+ return true;
+ } catch (InterruptedException x) {
+ // retry
+ return true;
+ }
+
+ // Fast path for cleaners
+ if (c != null) {
+ c.clean();
+ return true;
+ }
+
+ ReferenceQueue<? super Object> q = r.queue;
+ if (q != ReferenceQueue.NULL) q.enqueue(r);
+ return true;
+ }
+
static {
ThreadGroup tg = Thread.currentThread().getThreadGroup();
for (ThreadGroup tgn = tg;
@@ -204,8 +230,15 @@
handler.setPriority(Thread.MAX_PRIORITY);
handler.setDaemon(true);
handler.start();
- }
+ // provide access in SharedSecrets
+ SharedSecrets.setJavaLangRefAccess(new JavaLangRefAccess() {
+ @Override
+ public boolean tryHandlePendingReference() {
+ return tryHandlePending(false);
+ }
+ });
+ }
/* -- Referent accessor and setters -- */
diff --git a/jdk/src/share/classes/java/lang/ref/ReferenceQueue.java b/jdk/src/share/classes/java/lang/ref/ReferenceQueue.java
index 61eaccb..534d21c 100644
--- a/jdk/src/share/classes/java/lang/ref/ReferenceQueue.java
+++ b/jdk/src/share/classes/java/lang/ref/ReferenceQueue.java
@@ -138,11 +138,17 @@
synchronized (lock) {
Reference<? extends T> r = reallyPoll();
if (r != null) return r;
+ long start = (timeout == 0) ? 0 : System.nanoTime();
for (;;) {
lock.wait(timeout);
r = reallyPoll();
if (r != null) return r;
- if (timeout != 0) return null;
+ if (timeout != 0) {
+ long end = System.nanoTime();
+ timeout -= (end - start) / 1000_000;
+ if (timeout <= 0) return null;
+ start = end;
+ }
}
}
}
diff --git a/jdk/src/share/classes/java/lang/reflect/Array.java b/jdk/src/share/classes/java/lang/reflect/Array.java
index f6d7efe..7e7e356 100644
--- a/jdk/src/share/classes/java/lang/reflect/Array.java
+++ b/jdk/src/share/classes/java/lang/reflect/Array.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/lang/reflect/Member.java b/jdk/src/share/classes/java/lang/reflect/Member.java
index a539cb5..2241d45 100644
--- a/jdk/src/share/classes/java/lang/reflect/Member.java
+++ b/jdk/src/share/classes/java/lang/reflect/Member.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/lang/reflect/ReflectPermission.java b/jdk/src/share/classes/java/lang/reflect/ReflectPermission.java
index 2674de4..df61783 100644
--- a/jdk/src/share/classes/java/lang/reflect/ReflectPermission.java
+++ b/jdk/src/share/classes/java/lang/reflect/ReflectPermission.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
diff --git a/jdk/src/share/classes/java/lang/reflect/Type.java b/jdk/src/share/classes/java/lang/reflect/Type.java
index ecd3527..eee7443 100644
--- a/jdk/src/share/classes/java/lang/reflect/Type.java
+++ b/jdk/src/share/classes/java/lang/reflect/Type.java
@@ -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
diff --git a/jdk/src/share/classes/java/lang/reflect/WeakCache.java b/jdk/src/share/classes/java/lang/reflect/WeakCache.java
index 4c28024..e9103b6 100644
--- a/jdk/src/share/classes/java/lang/reflect/WeakCache.java
+++ b/jdk/src/share/classes/java/lang/reflect/WeakCache.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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
@@ -184,6 +184,7 @@
return reverseMap.size();
}
+ @SuppressWarnings("unchecked") // refQueue.poll actually returns CacheKey<K>
private void expungeStaleEntries() {
CacheKey<K> cacheKey;
while ((cacheKey = (CacheKey<K>)refQueue.poll()) != null) {
@@ -351,6 +352,7 @@
}
@Override
+ @SuppressWarnings("unchecked")
public boolean equals(Object obj) {
K key;
return obj == this ||
@@ -359,7 +361,7 @@
// cleared CacheKey is only equal to itself
(key = this.get()) != null &&
// compare key by identity
- key == ((CacheKey<K>) obj).get();
+ key == ((CacheKey<K>) obj).get(); // Cast is safe from getClass check
}
void expungeFrom(ConcurrentMap<?, ? extends ConcurrentMap<?, ?>> map,
diff --git a/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java b/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
index 1ef64fb..555ca84 100644
--- a/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
+++ b/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java b/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
index 446b424..a398287 100644
--- a/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
+++ b/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/net/Inet4AddressImpl.java b/jdk/src/share/classes/java/net/Inet4AddressImpl.java
index 6ca2d5c..04c3273 100644
--- a/jdk/src/share/classes/java/net/Inet4AddressImpl.java
+++ b/jdk/src/share/classes/java/net/Inet4AddressImpl.java
@@ -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
diff --git a/jdk/src/share/classes/java/net/Inet6AddressImpl.java b/jdk/src/share/classes/java/net/Inet6AddressImpl.java
index 6512b99..6a3dcc7 100644
--- a/jdk/src/share/classes/java/net/Inet6AddressImpl.java
+++ b/jdk/src/share/classes/java/net/Inet6AddressImpl.java
@@ -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
diff --git a/jdk/src/share/classes/java/net/SocketAddress.java b/jdk/src/share/classes/java/net/SocketAddress.java
index a3ee4ee..cfb014b 100644
--- a/jdk/src/share/classes/java/net/SocketAddress.java
+++ b/jdk/src/share/classes/java/net/SocketAddress.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/net/StandardSocketOptions.java b/jdk/src/share/classes/java/net/StandardSocketOptions.java
index 25fb61a..7fdd5f0 100644
--- a/jdk/src/share/classes/java/net/StandardSocketOptions.java
+++ b/jdk/src/share/classes/java/net/StandardSocketOptions.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/Bits.java b/jdk/src/share/classes/java/nio/Bits.java
index 11f2b6d..c7f2b78 100644
--- a/jdk/src/share/classes/java/nio/Bits.java
+++ b/jdk/src/share/classes/java/nio/Bits.java
@@ -26,6 +26,11 @@
package java.nio;
import java.security.AccessController;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.atomic.LongAdder;
+
+import sun.misc.JavaLangRefAccess;
+import sun.misc.SharedSecrets;
import sun.misc.Unsafe;
import sun.misc.VM;
@@ -621,55 +626,103 @@
// direct buffer memory. This value may be changed during VM
// initialization if it is launched with "-XX:MaxDirectMemorySize=<size>".
private static volatile long maxMemory = VM.maxDirectMemory();
- private static volatile long reservedMemory;
- private static volatile long totalCapacity;
- private static volatile long count;
- private static boolean memoryLimitSet = false;
+ private static final AtomicLong reservedMemory = new AtomicLong();
+ private static final AtomicLong totalCapacity = new AtomicLong();
+ private static final AtomicLong count = new AtomicLong();
+ private static volatile boolean memoryLimitSet = false;
+ // max. number of sleeps during try-reserving with exponentially
+ // increasing delay before throwing OutOfMemoryError:
+ // 1, 2, 4, 8, 16, 32, 64, 128, 256 (total 511 ms ~ 0.5 s)
+ // which means that OOME will be thrown after 0.5 s of trying
+ private static final int MAX_SLEEPS = 9;
// These methods should be called whenever direct memory is allocated or
// freed. They allow the user to control the amount of direct memory
// which a process may access. All sizes are specified in bytes.
static void reserveMemory(long size, int cap) {
- synchronized (Bits.class) {
- if (!memoryLimitSet && VM.isBooted()) {
- maxMemory = VM.maxDirectMemory();
- memoryLimitSet = true;
- }
- // -XX:MaxDirectMemorySize limits the total capacity rather than the
- // actual memory usage, which will differ when buffers are page
- // aligned.
- if (cap <= maxMemory - totalCapacity) {
- reservedMemory += size;
- totalCapacity += cap;
- count++;
+
+ if (!memoryLimitSet && VM.isBooted()) {
+ maxMemory = VM.maxDirectMemory();
+ memoryLimitSet = true;
+ }
+
+ // optimist!
+ if (tryReserveMemory(size, cap)) {
+ return;
+ }
+
+ final JavaLangRefAccess jlra = SharedSecrets.getJavaLangRefAccess();
+
+ // retry while helping enqueue pending Reference objects
+ // which includes executing pending Cleaner(s) which includes
+ // Cleaner(s) that free direct buffer memory
+ while (jlra.tryHandlePendingReference()) {
+ if (tryReserveMemory(size, cap)) {
return;
}
}
+ // trigger VM's Reference processing
System.gc();
- try {
- Thread.sleep(100);
- } catch (InterruptedException x) {
- // Restore interrupt status
- Thread.currentThread().interrupt();
- }
- synchronized (Bits.class) {
- if (totalCapacity + cap > maxMemory)
- throw new OutOfMemoryError("Direct buffer memory");
- reservedMemory += size;
- totalCapacity += cap;
- count++;
- }
+ // a retry loop with exponential back-off delays
+ // (this gives VM some time to do it's job)
+ boolean interrupted = false;
+ try {
+ long sleepTime = 1;
+ int sleeps = 0;
+ while (true) {
+ if (tryReserveMemory(size, cap)) {
+ return;
+ }
+ if (sleeps >= MAX_SLEEPS) {
+ break;
+ }
+ if (!jlra.tryHandlePendingReference()) {
+ try {
+ Thread.sleep(sleepTime);
+ sleepTime <<= 1;
+ sleeps++;
+ } catch (InterruptedException e) {
+ interrupted = true;
+ }
+ }
+ }
+
+ // no luck
+ throw new OutOfMemoryError("Direct buffer memory");
+
+ } finally {
+ if (interrupted) {
+ // don't swallow interrupts
+ Thread.currentThread().interrupt();
+ }
+ }
}
- static synchronized void unreserveMemory(long size, int cap) {
- if (reservedMemory > 0) {
- reservedMemory -= size;
- totalCapacity -= cap;
- count--;
- assert (reservedMemory > -1);
+ private static boolean tryReserveMemory(long size, int cap) {
+
+ // -XX:MaxDirectMemorySize limits the total capacity rather than the
+ // actual memory usage, which will differ when buffers are page
+ // aligned.
+ long totalCap;
+ while (cap <= maxMemory - (totalCap = totalCapacity.get())) {
+ if (totalCapacity.compareAndSet(totalCap, totalCap + cap)) {
+ reservedMemory.addAndGet(size);
+ count.incrementAndGet();
+ return true;
+ }
}
+
+ return false;
+ }
+
+
+ static void unreserveMemory(long size, int cap) {
+ long cnt = count.decrementAndGet();
+ long reservedMem = reservedMemory.addAndGet(-size);
+ long totalCap = totalCapacity.addAndGet(-cap);
+ assert cnt >= 0 && reservedMem >= 0 && totalCap >= 0;
}
// -- Monitoring of direct buffer usage --
@@ -687,15 +740,15 @@
}
@Override
public long getCount() {
- return Bits.count;
+ return Bits.count.get();
}
@Override
public long getTotalCapacity() {
- return Bits.totalCapacity;
+ return Bits.totalCapacity.get();
}
@Override
public long getMemoryUsed() {
- return Bits.reservedMemory;
+ return Bits.reservedMemory.get();
}
};
}
diff --git a/jdk/src/share/classes/java/nio/Buffer.java b/jdk/src/share/classes/java/nio/Buffer.java
index f5a9cd4..2a90de8 100644
--- a/jdk/src/share/classes/java/nio/Buffer.java
+++ b/jdk/src/share/classes/java/nio/Buffer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/ByteBufferAs-X-Buffer.java.template b/jdk/src/share/classes/java/nio/ByteBufferAs-X-Buffer.java.template
index d5be966..bae6225 100644
--- a/jdk/src/share/classes/java/nio/ByteBufferAs-X-Buffer.java.template
+++ b/jdk/src/share/classes/java/nio/ByteBufferAs-X-Buffer.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/ByteOrder.java b/jdk/src/share/classes/java/nio/ByteOrder.java
index 50c7f15..a20cacc 100644
--- a/jdk/src/share/classes/java/nio/ByteOrder.java
+++ b/jdk/src/share/classes/java/nio/ByteOrder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/Direct-X-Buffer.java.template b/jdk/src/share/classes/java/nio/Direct-X-Buffer.java.template
index 0523e2a..57801f7 100644
--- a/jdk/src/share/classes/java/nio/Direct-X-Buffer.java.template
+++ b/jdk/src/share/classes/java/nio/Direct-X-Buffer.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/Heap-X-Buffer.java.template b/jdk/src/share/classes/java/nio/Heap-X-Buffer.java.template
index 54f7164..e8639c4 100644
--- a/jdk/src/share/classes/java/nio/Heap-X-Buffer.java.template
+++ b/jdk/src/share/classes/java/nio/Heap-X-Buffer.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/MappedByteBuffer.java b/jdk/src/share/classes/java/nio/MappedByteBuffer.java
index 25aa60e..4d52d90 100644
--- a/jdk/src/share/classes/java/nio/MappedByteBuffer.java
+++ b/jdk/src/share/classes/java/nio/MappedByteBuffer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/StringCharBuffer.java b/jdk/src/share/classes/java/nio/StringCharBuffer.java
index a277ef5..0c20fa6 100644
--- a/jdk/src/share/classes/java/nio/StringCharBuffer.java
+++ b/jdk/src/share/classes/java/nio/StringCharBuffer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/X-Buffer.java.template b/jdk/src/share/classes/java/nio/X-Buffer.java.template
index acc8fc8..af9eca1 100644
--- a/jdk/src/share/classes/java/nio/X-Buffer.java.template
+++ b/jdk/src/share/classes/java/nio/X-Buffer.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/AsynchronousByteChannel.java b/jdk/src/share/classes/java/nio/channels/AsynchronousByteChannel.java
index 47ffc87..b96a239 100644
--- a/jdk/src/share/classes/java/nio/channels/AsynchronousByteChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/AsynchronousByteChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2009, 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
diff --git a/jdk/src/share/classes/java/nio/channels/AsynchronousChannel.java b/jdk/src/share/classes/java/nio/channels/AsynchronousChannel.java
index 98e30d0..4668d09 100644
--- a/jdk/src/share/classes/java/nio/channels/AsynchronousChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/AsynchronousChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2009, 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
diff --git a/jdk/src/share/classes/java/nio/channels/AsynchronousChannelGroup.java b/jdk/src/share/classes/java/nio/channels/AsynchronousChannelGroup.java
index 8f7cdd6..92b7e66 100644
--- a/jdk/src/share/classes/java/nio/channels/AsynchronousChannelGroup.java
+++ b/jdk/src/share/classes/java/nio/channels/AsynchronousChannelGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2009, 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
diff --git a/jdk/src/share/classes/java/nio/channels/AsynchronousFileChannel.java b/jdk/src/share/classes/java/nio/channels/AsynchronousFileChannel.java
index 24ec4df..b985d77 100644
--- a/jdk/src/share/classes/java/nio/channels/AsynchronousFileChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/AsynchronousFileChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java b/jdk/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java
index 7588200..29ecbd6 100644
--- a/jdk/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java b/jdk/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java
index 2b9fd88..1ed1e86 100644
--- a/jdk/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/AsynchronousSocketChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/channels/Channel.java b/jdk/src/share/classes/java/nio/channels/Channel.java
index 88d15ac..663d0e0 100644
--- a/jdk/src/share/classes/java/nio/channels/Channel.java
+++ b/jdk/src/share/classes/java/nio/channels/Channel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/DatagramChannel.java b/jdk/src/share/classes/java/nio/channels/DatagramChannel.java
index b979cd3..b85c98c 100644
--- a/jdk/src/share/classes/java/nio/channels/DatagramChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/DatagramChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/FileChannel.java b/jdk/src/share/classes/java/nio/channels/FileChannel.java
index f6f332a..a23f1c3 100644
--- a/jdk/src/share/classes/java/nio/channels/FileChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/FileChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/FileLock.java b/jdk/src/share/classes/java/nio/channels/FileLock.java
index fb584ee..156071c 100644
--- a/jdk/src/share/classes/java/nio/channels/FileLock.java
+++ b/jdk/src/share/classes/java/nio/channels/FileLock.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, 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
diff --git a/jdk/src/share/classes/java/nio/channels/MembershipKey.java b/jdk/src/share/classes/java/nio/channels/MembershipKey.java
index cd95586..91c2632 100644
--- a/jdk/src/share/classes/java/nio/channels/MembershipKey.java
+++ b/jdk/src/share/classes/java/nio/channels/MembershipKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2009, 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
diff --git a/jdk/src/share/classes/java/nio/channels/MulticastChannel.java b/jdk/src/share/classes/java/nio/channels/MulticastChannel.java
index ca17e24..d1d13eb 100644
--- a/jdk/src/share/classes/java/nio/channels/MulticastChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/MulticastChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/channels/NetworkChannel.java b/jdk/src/share/classes/java/nio/channels/NetworkChannel.java
index b56b5e2..65a7c22 100644
--- a/jdk/src/share/classes/java/nio/channels/NetworkChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/NetworkChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/channels/Pipe.java b/jdk/src/share/classes/java/nio/channels/Pipe.java
index 4b5a5a5..d704680 100644
--- a/jdk/src/share/classes/java/nio/channels/Pipe.java
+++ b/jdk/src/share/classes/java/nio/channels/Pipe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/SelectableChannel.java b/jdk/src/share/classes/java/nio/channels/SelectableChannel.java
index 17f8683..997d5c5 100644
--- a/jdk/src/share/classes/java/nio/channels/SelectableChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/SelectableChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/SelectionKey.java b/jdk/src/share/classes/java/nio/channels/SelectionKey.java
index e140ee6..00ea670 100644
--- a/jdk/src/share/classes/java/nio/channels/SelectionKey.java
+++ b/jdk/src/share/classes/java/nio/channels/SelectionKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/Selector.java b/jdk/src/share/classes/java/nio/channels/Selector.java
index 3f21727..ea72acb 100644
--- a/jdk/src/share/classes/java/nio/channels/Selector.java
+++ b/jdk/src/share/classes/java/nio/channels/Selector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/ServerSocketChannel.java b/jdk/src/share/classes/java/nio/channels/ServerSocketChannel.java
index aeda90d..8d967b3 100644
--- a/jdk/src/share/classes/java/nio/channels/ServerSocketChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/ServerSocketChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/SocketChannel.java b/jdk/src/share/classes/java/nio/channels/SocketChannel.java
index 2864643..eb13b15 100644
--- a/jdk/src/share/classes/java/nio/channels/SocketChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/SocketChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java b/jdk/src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java
index c840069..5000c58 100644
--- a/jdk/src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java b/jdk/src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java
index 5d1b1ee..0de212d 100644
--- a/jdk/src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/spi/AbstractSelectableChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/spi/AbstractSelectionKey.java b/jdk/src/share/classes/java/nio/channels/spi/AbstractSelectionKey.java
index bf5a4d7..015e6c7 100644
--- a/jdk/src/share/classes/java/nio/channels/spi/AbstractSelectionKey.java
+++ b/jdk/src/share/classes/java/nio/channels/spi/AbstractSelectionKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/spi/AbstractSelector.java b/jdk/src/share/classes/java/nio/channels/spi/AbstractSelector.java
index f4f4a2a..09e3b61 100644
--- a/jdk/src/share/classes/java/nio/channels/spi/AbstractSelector.java
+++ b/jdk/src/share/classes/java/nio/channels/spi/AbstractSelector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java b/jdk/src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java
index e768e47..464b4fc 100644
--- a/jdk/src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java
+++ b/jdk/src/share/classes/java/nio/channels/spi/AsynchronousChannelProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/src/share/classes/java/nio/channels/spi/SelectorProvider.java b/jdk/src/share/classes/java/nio/channels/spi/SelectorProvider.java
index e90ff3d..ae87600 100644
--- a/jdk/src/share/classes/java/nio/channels/spi/SelectorProvider.java
+++ b/jdk/src/share/classes/java/nio/channels/spi/SelectorProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/charset/Charset-X-Coder.java.template b/jdk/src/share/classes/java/nio/charset/Charset-X-Coder.java.template
index 106f7b2..f5e50a5 100644
--- a/jdk/src/share/classes/java/nio/charset/Charset-X-Coder.java.template
+++ b/jdk/src/share/classes/java/nio/charset/Charset-X-Coder.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/charset/CoderResult.java b/jdk/src/share/classes/java/nio/charset/CoderResult.java
index 15aad36..d087c97 100644
--- a/jdk/src/share/classes/java/nio/charset/CoderResult.java
+++ b/jdk/src/share/classes/java/nio/charset/CoderResult.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, 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
diff --git a/jdk/src/share/classes/java/nio/charset/CodingErrorAction.java b/jdk/src/share/classes/java/nio/charset/CodingErrorAction.java
index 8ca30e4..c708e63 100644
--- a/jdk/src/share/classes/java/nio/charset/CodingErrorAction.java
+++ b/jdk/src/share/classes/java/nio/charset/CodingErrorAction.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2002, 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
diff --git a/jdk/src/share/classes/java/nio/charset/StandardCharsets.java b/jdk/src/share/classes/java/nio/charset/StandardCharsets.java
index b2572c3..3a3a92c 100644
--- a/jdk/src/share/classes/java/nio/charset/StandardCharsets.java
+++ b/jdk/src/share/classes/java/nio/charset/StandardCharsets.java
@@ -29,7 +29,7 @@
* charsets are guaranteed to be available on every implementation of the Java
* platform.
*
- * @see <a href="Charset#standard">Standard Charsets</a>
+ * @see <a href="Charset.html#standard">Standard Charsets</a>
* @since 1.7
*/
public final class StandardCharsets {
diff --git a/jdk/src/share/classes/java/nio/charset/spi/CharsetProvider.java b/jdk/src/share/classes/java/nio/charset/spi/CharsetProvider.java
index 829ba45..bc1ec91 100644
--- a/jdk/src/share/classes/java/nio/charset/spi/CharsetProvider.java
+++ b/jdk/src/share/classes/java/nio/charset/spi/CharsetProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/nio/file/FileStore.java b/jdk/src/share/classes/java/nio/file/FileStore.java
index d0bdc01..2b14a4b 100644
--- a/jdk/src/share/classes/java/nio/file/FileStore.java
+++ b/jdk/src/share/classes/java/nio/file/FileStore.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/FileSystem.java b/jdk/src/share/classes/java/nio/file/FileSystem.java
index a5dbe0f..03ace89 100644
--- a/jdk/src/share/classes/java/nio/file/FileSystem.java
+++ b/jdk/src/share/classes/java/nio/file/FileSystem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/java/nio/file/FileSystems.java b/jdk/src/share/classes/java/nio/file/FileSystems.java
index d6b4496..a38aaae 100644
--- a/jdk/src/share/classes/java/nio/file/FileSystems.java
+++ b/jdk/src/share/classes/java/nio/file/FileSystems.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/FileTreeWalker.java b/jdk/src/share/classes/java/nio/file/FileTreeWalker.java
index 85086e1..b0cf0d3 100644
--- a/jdk/src/share/classes/java/nio/file/FileTreeWalker.java
+++ b/jdk/src/share/classes/java/nio/file/FileTreeWalker.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/java/nio/file/Path.java b/jdk/src/share/classes/java/nio/file/Path.java
index 2bcc9aa..daa09f4 100644
--- a/jdk/src/share/classes/java/nio/file/Path.java
+++ b/jdk/src/share/classes/java/nio/file/Path.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/java/nio/file/SecureDirectoryStream.java b/jdk/src/share/classes/java/nio/file/SecureDirectoryStream.java
index 2bfa205..064618b 100644
--- a/jdk/src/share/classes/java/nio/file/SecureDirectoryStream.java
+++ b/jdk/src/share/classes/java/nio/file/SecureDirectoryStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/WatchEvent.java b/jdk/src/share/classes/java/nio/file/WatchEvent.java
index 5084868..25438a8 100644
--- a/jdk/src/share/classes/java/nio/file/WatchEvent.java
+++ b/jdk/src/share/classes/java/nio/file/WatchEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/WatchService.java b/jdk/src/share/classes/java/nio/file/WatchService.java
index c6440b2..d06222e 100644
--- a/jdk/src/share/classes/java/nio/file/WatchService.java
+++ b/jdk/src/share/classes/java/nio/file/WatchService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/AclEntry.java b/jdk/src/share/classes/java/nio/file/attribute/AclEntry.java
index 49bf529..b008494 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/AclEntry.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/AclEntry.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/AclFileAttributeView.java b/jdk/src/share/classes/java/nio/file/attribute/AclFileAttributeView.java
index f5d58d4..129d0ee 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/AclFileAttributeView.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/AclFileAttributeView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/AttributeView.java b/jdk/src/share/classes/java/nio/file/attribute/AttributeView.java
index d33f976..569076c 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/AttributeView.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/AttributeView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2009, 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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java b/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java
index 3a9c791..bfa3fdc 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributeView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributes.java b/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributes.java
index df2d10b..1aeb0d7 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributes.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/BasicFileAttributes.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/DosFileAttributeView.java b/jdk/src/share/classes/java/nio/file/attribute/DosFileAttributeView.java
index 1fb5385..c12d8a0 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/DosFileAttributeView.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/DosFileAttributeView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/FileAttribute.java b/jdk/src/share/classes/java/nio/file/attribute/FileAttribute.java
index 4616876..16181dd 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/FileAttribute.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/FileAttribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/FileTime.java b/jdk/src/share/classes/java/nio/file/attribute/FileTime.java
index 00b22b0..2f3399b 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/FileTime.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/FileTime.java
@@ -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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java b/jdk/src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java
index 81a6a41..25466f2 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/PosixFileAttributeView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java b/jdk/src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java
index 9840e84..56e7135 100644
--- a/jdk/src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java
+++ b/jdk/src/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/file/spi/FileSystemProvider.java b/jdk/src/share/classes/java/nio/file/spi/FileSystemProvider.java
index 5b95dcc..bed8416 100644
--- a/jdk/src/share/classes/java/nio/file/spi/FileSystemProvider.java
+++ b/jdk/src/share/classes/java/nio/file/spi/FileSystemProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/java/nio/package.html b/jdk/src/share/classes/java/nio/package.html
index 1f02634..eddd611 100644
--- a/jdk/src/share/classes/java/nio/package.html
+++ b/jdk/src/share/classes/java/nio/package.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/rmi/MarshalledObject.java b/jdk/src/share/classes/java/rmi/MarshalledObject.java
index 384230f..b5f8b73 100644
--- a/jdk/src/share/classes/java/rmi/MarshalledObject.java
+++ b/jdk/src/share/classes/java/rmi/MarshalledObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/java/security/Provider.java b/jdk/src/share/classes/java/security/Provider.java
index d7e0826..e8c7a08 100644
--- a/jdk/src/share/classes/java/security/Provider.java
+++ b/jdk/src/share/classes/java/security/Provider.java
@@ -769,6 +769,7 @@
return super.replace(key, value);
}
+ @SuppressWarnings("unchecked") // Function must actually operate over strings
private void implReplaceAll(BiFunction<? super Object, ? super Object, ? extends Object> function) {
legacyChanged = true;
if (legacyStrings == null) {
@@ -779,7 +780,7 @@
super.replaceAll(function);
}
-
+ @SuppressWarnings("unchecked") // Function must actually operate over strings
private Object implMerge(Object key, Object value, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) {
if ((key instanceof String) && (value instanceof String)) {
if (!checkLegacy(key)) {
@@ -791,6 +792,7 @@
return super.merge(key, value, remappingFunction);
}
+ @SuppressWarnings("unchecked") // Function must actually operate over strings
private Object implCompute(Object key, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) {
if (key instanceof String) {
if (!checkLegacy(key)) {
@@ -802,6 +804,7 @@
return super.compute(key, remappingFunction);
}
+ @SuppressWarnings("unchecked") // Function must actually operate over strings
private Object implComputeIfAbsent(Object key, Function<? super Object, ? extends Object> mappingFunction) {
if (key instanceof String) {
if (!checkLegacy(key)) {
@@ -813,6 +816,7 @@
return super.computeIfAbsent(key, mappingFunction);
}
+ @SuppressWarnings("unchecked") // Function must actually operate over strings
private Object implComputeIfPresent(Object key, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction) {
if (key instanceof String) {
if (!checkLegacy(key)) {
diff --git a/jdk/src/share/classes/java/sql/Array.java b/jdk/src/share/classes/java/sql/Array.java
index 8127814..9e2c210 100644
--- a/jdk/src/share/classes/java/sql/Array.java
+++ b/jdk/src/share/classes/java/sql/Array.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/java/sql/Clob.java b/jdk/src/share/classes/java/sql/Clob.java
index 86bd1cc..2cfd4e4 100644
--- a/jdk/src/share/classes/java/sql/Clob.java
+++ b/jdk/src/share/classes/java/sql/Clob.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -309,8 +309,8 @@
void truncate(long len) throws SQLException;
/**
- * This method frees the <code>Clob</code> object and releases the resources the resources
- * that it holds. The object is invalid once the <code>free</code> method
+ * This method releases the resources that the <code>Clob</code> object
+ * holds. The object is invalid once the <code>free</code> method
* is called.
* <p>
* After <code>free</code> has been called, any attempt to invoke a
diff --git a/jdk/src/share/classes/java/sql/Connection.java b/jdk/src/share/classes/java/sql/Connection.java
index 19acac7..4cedd13 100644
--- a/jdk/src/share/classes/java/sql/Connection.java
+++ b/jdk/src/share/classes/java/sql/Connection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/sql/DataTruncation.java b/jdk/src/share/classes/java/sql/DataTruncation.java
index c21305c..3a00c43 100644
--- a/jdk/src/share/classes/java/sql/DataTruncation.java
+++ b/jdk/src/share/classes/java/sql/DataTruncation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/sql/Date.java b/jdk/src/share/classes/java/sql/Date.java
index 0133fbe..9ac1e1c 100644
--- a/jdk/src/share/classes/java/sql/Date.java
+++ b/jdk/src/share/classes/java/sql/Date.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/sql/DriverPropertyInfo.java b/jdk/src/share/classes/java/sql/DriverPropertyInfo.java
index 0a0b870..b5a6452 100644
--- a/jdk/src/share/classes/java/sql/DriverPropertyInfo.java
+++ b/jdk/src/share/classes/java/sql/DriverPropertyInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/sql/SQLException.java b/jdk/src/share/classes/java/sql/SQLException.java
index 3b8c27a..d6c9bd2 100644
--- a/jdk/src/share/classes/java/sql/SQLException.java
+++ b/jdk/src/share/classes/java/sql/SQLException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/sql/SQLFeatureNotSupportedException.java b/jdk/src/share/classes/java/sql/SQLFeatureNotSupportedException.java
index c15ff74..98900fb 100644
--- a/jdk/src/share/classes/java/sql/SQLFeatureNotSupportedException.java
+++ b/jdk/src/share/classes/java/sql/SQLFeatureNotSupportedException.java
@@ -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
diff --git a/jdk/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java b/jdk/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java
index 0fd5ca7..86b4e8f 100644
--- a/jdk/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java
+++ b/jdk/src/share/classes/java/sql/SQLIntegrityConstraintViolationException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/java/sql/SQLInvalidAuthorizationSpecException.java b/jdk/src/share/classes/java/sql/SQLInvalidAuthorizationSpecException.java
index 74067f0..63009d9 100644
--- a/jdk/src/share/classes/java/sql/SQLInvalidAuthorizationSpecException.java
+++ b/jdk/src/share/classes/java/sql/SQLInvalidAuthorizationSpecException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/java/sql/SQLNonTransientConnectionException.java b/jdk/src/share/classes/java/sql/SQLNonTransientConnectionException.java
index 726a505..f28252a 100644
--- a/jdk/src/share/classes/java/sql/SQLNonTransientConnectionException.java
+++ b/jdk/src/share/classes/java/sql/SQLNonTransientConnectionException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/java/sql/SQLNonTransientException.java b/jdk/src/share/classes/java/sql/SQLNonTransientException.java
index e9e151d..9d1a636 100644
--- a/jdk/src/share/classes/java/sql/SQLNonTransientException.java
+++ b/jdk/src/share/classes/java/sql/SQLNonTransientException.java
@@ -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
diff --git a/jdk/src/share/classes/java/sql/SQLRecoverableException.java b/jdk/src/share/classes/java/sql/SQLRecoverableException.java
index 9b7bdab..76b32a4 100644
--- a/jdk/src/share/classes/java/sql/SQLRecoverableException.java
+++ b/jdk/src/share/classes/java/sql/SQLRecoverableException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/java/sql/SQLSyntaxErrorException.java b/jdk/src/share/classes/java/sql/SQLSyntaxErrorException.java
index 4b1f71b..2b3142f 100644
--- a/jdk/src/share/classes/java/sql/SQLSyntaxErrorException.java
+++ b/jdk/src/share/classes/java/sql/SQLSyntaxErrorException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/java/sql/SQLTransactionRollbackException.java b/jdk/src/share/classes/java/sql/SQLTransactionRollbackException.java
index f5fe156..910f8b4 100644
--- a/jdk/src/share/classes/java/sql/SQLTransactionRollbackException.java
+++ b/jdk/src/share/classes/java/sql/SQLTransactionRollbackException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/java/sql/SQLTransientConnectionException.java b/jdk/src/share/classes/java/sql/SQLTransientConnectionException.java
index 538ca47..e1c9bef 100644
--- a/jdk/src/share/classes/java/sql/SQLTransientConnectionException.java
+++ b/jdk/src/share/classes/java/sql/SQLTransientConnectionException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/classes/java/sql/SQLTransientException.java b/jdk/src/share/classes/java/sql/SQLTransientException.java
index f0e86d5..4271df9 100644
--- a/jdk/src/share/classes/java/sql/SQLTransientException.java
+++ b/jdk/src/share/classes/java/sql/SQLTransientException.java
@@ -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
diff --git a/jdk/src/share/classes/java/sql/SQLWarning.java b/jdk/src/share/classes/java/sql/SQLWarning.java
index 011a93a..3dd3348 100644
--- a/jdk/src/share/classes/java/sql/SQLWarning.java
+++ b/jdk/src/share/classes/java/sql/SQLWarning.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/sql/Struct.java b/jdk/src/share/classes/java/sql/Struct.java
index 1b54961..d2b7441 100644
--- a/jdk/src/share/classes/java/sql/Struct.java
+++ b/jdk/src/share/classes/java/sql/Struct.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/java/sql/Time.java b/jdk/src/share/classes/java/sql/Time.java
index de187e9..a61ee1c 100644
--- a/jdk/src/share/classes/java/sql/Time.java
+++ b/jdk/src/share/classes/java/sql/Time.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/sql/Timestamp.java b/jdk/src/share/classes/java/sql/Timestamp.java
index afa56ee..f4a527a 100644
--- a/jdk/src/share/classes/java/sql/Timestamp.java
+++ b/jdk/src/share/classes/java/sql/Timestamp.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/text/CharacterIterator.java b/jdk/src/share/classes/java/text/CharacterIterator.java
index 7674268..efa7ab4 100644
--- a/jdk/src/share/classes/java/text/CharacterIterator.java
+++ b/jdk/src/share/classes/java/text/CharacterIterator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/text/Collator.java b/jdk/src/share/classes/java/text/Collator.java
index d105a81..228e8cf 100644
--- a/jdk/src/share/classes/java/text/Collator.java
+++ b/jdk/src/share/classes/java/text/Collator.java
@@ -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
diff --git a/jdk/src/share/classes/java/time/format/Parsed.java b/jdk/src/share/classes/java/time/format/Parsed.java
index 7196100..f9878bb 100644
--- a/jdk/src/share/classes/java/time/format/Parsed.java
+++ b/jdk/src/share/classes/java/time/format/Parsed.java
@@ -289,7 +289,7 @@
changedCount++;
continue outer; // have to restart to avoid concurrent modification
}
- throw new DateTimeException("Method resolveFields() can only return ChronoZonedDateTime," +
+ throw new DateTimeException("Method resolve() can only return ChronoZonedDateTime, " +
"ChronoLocalDateTime, ChronoLocalDate or LocalTime");
} else if (fieldValues.containsKey(targetField) == false) {
changedCount++;
diff --git a/jdk/src/share/classes/java/util/AbstractCollection.java b/jdk/src/share/classes/java/util/AbstractCollection.java
index 8fae85d..4e53015 100644
--- a/jdk/src/share/classes/java/util/AbstractCollection.java
+++ b/jdk/src/share/classes/java/util/AbstractCollection.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/AbstractMap.java b/jdk/src/share/classes/java/util/AbstractMap.java
index 10cffc0..a68a77b 100644
--- a/jdk/src/share/classes/java/util/AbstractMap.java
+++ b/jdk/src/share/classes/java/util/AbstractMap.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/AbstractSet.java b/jdk/src/share/classes/java/util/AbstractSet.java
index d54e3f8..e999188 100644
--- a/jdk/src/share/classes/java/util/AbstractSet.java
+++ b/jdk/src/share/classes/java/util/AbstractSet.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java b/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java
index 634be7f..089b900 100644
--- a/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java
+++ b/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java
@@ -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
@@ -128,7 +128,6 @@
this.lo = lo; this.hi = hi;
}
- @SuppressWarnings("unchecked")
public final void compute() {
final BinaryOperator<T> fn;
final T[] a;
@@ -142,9 +141,9 @@
if (lt == null) { // first pass
int mid = (l + h) >>> 1;
f = rt = t.right =
- new CumulateTask<>(t, fn, a, org, fnc, th, mid, h);
+ new CumulateTask<T>(t, fn, a, org, fnc, th, mid, h);
t = lt = t.left =
- new CumulateTask<>(t, fn, a, org, fnc, th, l, mid);
+ new CumulateTask<T>(t, fn, a, org, fnc, th, l, mid);
}
else { // possibly refork
T pin = t.in;
@@ -213,7 +212,9 @@
sum = t.in;
t.out = sum;
for (CumulateTask<T> par;;) { // propagate
- if ((par = (CumulateTask<T>)t.getCompleter()) == null) {
+ @SuppressWarnings("unchecked") CumulateTask<T> partmp
+ = (CumulateTask<T>)t.getCompleter();
+ if ((par = partmp) == null) {
if ((state & FINISHED) != 0) // enable join
t.quietlyComplete();
break outer;
@@ -245,6 +246,7 @@
}
}
}
+ private static final long serialVersionUID = 5293554502939613543L;
}
static final class LongCumulateTask extends CountedCompleter<Void> {
@@ -394,6 +396,7 @@
}
}
}
+ private static final long serialVersionUID = -5074099945909284273L;
}
static final class DoubleCumulateTask extends CountedCompleter<Void> {
@@ -543,6 +546,7 @@
}
}
}
+ private static final long serialVersionUID = -586947823794232033L;
}
static final class IntCumulateTask extends CountedCompleter<Void> {
@@ -692,5 +696,6 @@
}
}
}
+ private static final long serialVersionUID = 3731755594596840961L;
}
}
diff --git a/jdk/src/share/classes/java/util/Arrays.java b/jdk/src/share/classes/java/util/Arrays.java
index 09135c9..2edadd8 100644
--- a/jdk/src/share/classes/java/util/Arrays.java
+++ b/jdk/src/share/classes/java/util/Arrays.java
@@ -50,7 +50,7 @@
* if the specified array reference is null, except where noted.
*
* <p>The documentation for the methods contained in this class includes
- * briefs description of the <i>implementations</i>. Such descriptions should
+ * brief descriptions of the <i>implementations</i>. Such descriptions should
* be regarded as <i>implementation notes</i>, rather than parts of the
* <i>specification</i>. Implementors should feel free to substitute other
* algorithms, so long as the specification itself is adhered to. (For
diff --git a/jdk/src/share/classes/java/util/ArraysParallelSortHelpers.java b/jdk/src/share/classes/java/util/ArraysParallelSortHelpers.java
index 3ad4fc3..3e0ef5a 100644
--- a/jdk/src/share/classes/java/util/ArraysParallelSortHelpers.java
+++ b/jdk/src/share/classes/java/util/ArraysParallelSortHelpers.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/BitSet.java b/jdk/src/share/classes/java/util/BitSet.java
index 721d160..ae95b8e 100644
--- a/jdk/src/share/classes/java/util/BitSet.java
+++ b/jdk/src/share/classes/java/util/BitSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/util/Comparator.java b/jdk/src/share/classes/java/util/Comparator.java
index 6f9d166..ecf8d64 100644
--- a/jdk/src/share/classes/java/util/Comparator.java
+++ b/jdk/src/share/classes/java/util/Comparator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -235,7 +235,7 @@
* @see #thenComparing(Comparator)
* @since 1.8
*/
- default <U extends Comparable<? super U>> Comparator<T> thenComparing(
+ default <U> Comparator<T> thenComparing(
Function<? super T, ? extends U> keyExtractor,
Comparator<? super U> keyComparator)
{
diff --git a/jdk/src/share/classes/java/util/ConcurrentModificationException.java b/jdk/src/share/classes/java/util/ConcurrentModificationException.java
index d525653..7e65d2a 100644
--- a/jdk/src/share/classes/java/util/ConcurrentModificationException.java
+++ b/jdk/src/share/classes/java/util/ConcurrentModificationException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/java/util/Date.java b/jdk/src/share/classes/java/util/Date.java
index f16ea49..b5a26b4 100644
--- a/jdk/src/share/classes/java/util/Date.java
+++ b/jdk/src/share/classes/java/util/Date.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/java/util/DualPivotQuicksort.java b/jdk/src/share/classes/java/util/DualPivotQuicksort.java
index 83f639d..4682dde 100644
--- a/jdk/src/share/classes/java/util/DualPivotQuicksort.java
+++ b/jdk/src/share/classes/java/util/DualPivotQuicksort.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/java/util/EnumSet.java b/jdk/src/share/classes/java/util/EnumSet.java
index 6aff299..af40997 100644
--- a/jdk/src/share/classes/java/util/EnumSet.java
+++ b/jdk/src/share/classes/java/util/EnumSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -77,6 +77,8 @@
* @see EnumMap
* @serial exclude
*/
+@SuppressWarnings("serial") // No serialVersionUID due to usage of
+ // serial proxy pattern
public abstract class EnumSet<E extends Enum<E>> extends AbstractSet<E>
implements Cloneable, java.io.Serializable
{
diff --git a/jdk/src/share/classes/java/util/Formattable.java b/jdk/src/share/classes/java/util/Formattable.java
index 6f3fd1a..f7e1e50 100644
--- a/jdk/src/share/classes/java/util/Formattable.java
+++ b/jdk/src/share/classes/java/util/Formattable.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/ListResourceBundle.java b/jdk/src/share/classes/java/util/ListResourceBundle.java
index 35464b3..44d2179 100644
--- a/jdk/src/share/classes/java/util/ListResourceBundle.java
+++ b/jdk/src/share/classes/java/util/ListResourceBundle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/util/Locale.java b/jdk/src/share/classes/java/util/Locale.java
index f1acc5b..2b16d99 100644
--- a/jdk/src/share/classes/java/util/Locale.java
+++ b/jdk/src/share/classes/java/util/Locale.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/util/LocaleISOData.java b/jdk/src/share/classes/java/util/LocaleISOData.java
index 9470c65..266e799 100644
--- a/jdk/src/share/classes/java/util/LocaleISOData.java
+++ b/jdk/src/share/classes/java/util/LocaleISOData.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/MissingFormatWidthException.java b/jdk/src/share/classes/java/util/MissingFormatWidthException.java
index bd7c590..9650fe2 100644
--- a/jdk/src/share/classes/java/util/MissingFormatWidthException.java
+++ b/jdk/src/share/classes/java/util/MissingFormatWidthException.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/PropertyPermission.java b/jdk/src/share/classes/java/util/PropertyPermission.java
index a07874e..6a50b5d9 100644
--- a/jdk/src/share/classes/java/util/PropertyPermission.java
+++ b/jdk/src/share/classes/java/util/PropertyPermission.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/PropertyResourceBundle.java b/jdk/src/share/classes/java/util/PropertyResourceBundle.java
index 3d784d3..13a1e20 100644
--- a/jdk/src/share/classes/java/util/PropertyResourceBundle.java
+++ b/jdk/src/share/classes/java/util/PropertyResourceBundle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/util/Random.java b/jdk/src/share/classes/java/util/Random.java
index 2095c43..069242c 100644
--- a/jdk/src/share/classes/java/util/Random.java
+++ b/jdk/src/share/classes/java/util/Random.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/util/ResourceBundle.java b/jdk/src/share/classes/java/util/ResourceBundle.java
index bbbb1f0..142b619 100644
--- a/jdk/src/share/classes/java/util/ResourceBundle.java
+++ b/jdk/src/share/classes/java/util/ResourceBundle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/util/Scanner.java b/jdk/src/share/classes/java/util/Scanner.java
index 4fe100f..6839648 100644
--- a/jdk/src/share/classes/java/util/Scanner.java
+++ b/jdk/src/share/classes/java/util/Scanner.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/ServiceLoader.java b/jdk/src/share/classes/java/util/ServiceLoader.java
index f2473a9..8c887eb 100644
--- a/jdk/src/share/classes/java/util/ServiceLoader.java
+++ b/jdk/src/share/classes/java/util/ServiceLoader.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/TimerTask.java b/jdk/src/share/classes/java/util/TimerTask.java
index 691c9a0..5750486 100644
--- a/jdk/src/share/classes/java/util/TimerTask.java
+++ b/jdk/src/share/classes/java/util/TimerTask.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, 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
diff --git a/jdk/src/share/classes/java/util/TreeMap.java b/jdk/src/share/classes/java/util/TreeMap.java
index fa97543..fda3e2a 100644
--- a/jdk/src/share/classes/java/util/TreeMap.java
+++ b/jdk/src/share/classes/java/util/TreeMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -1335,6 +1335,7 @@
*/
abstract static class NavigableSubMap<K,V> extends AbstractMap<K,V>
implements NavigableMap<K,V>, java.io.Serializable {
+ private static final long serialVersionUID = -2102997345730753016L;
/**
* The backing map.
*/
diff --git a/jdk/src/share/classes/java/util/TreeSet.java b/jdk/src/share/classes/java/util/TreeSet.java
index 821b42f..f71a616 100644
--- a/jdk/src/share/classes/java/util/TreeSet.java
+++ b/jdk/src/share/classes/java/util/TreeSet.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/UUID.java b/jdk/src/share/classes/java/util/UUID.java
index 7232b9d..b4ea41f 100644
--- a/jdk/src/share/classes/java/util/UUID.java
+++ b/jdk/src/share/classes/java/util/UUID.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java b/jdk/src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java
index dce3576..d70bd41 100644
--- a/jdk/src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java
+++ b/jdk/src/share/classes/java/util/concurrent/locks/AbstractQueuedSynchronizer.java
@@ -1484,7 +1484,7 @@
* due to the queue being empty.
*
* <p>This method is designed to be used by a fair synchronizer to
- * avoid <a href="AbstractQueuedSynchronizer#barging">barging</a>.
+ * avoid <a href="AbstractQueuedSynchronizer.html#barging">barging</a>.
* Such a synchronizer's {@link #tryAcquire} method should return
* {@code false}, and its {@link #tryAcquireShared} method should
* return a negative value, if this method returns {@code true}
diff --git a/jdk/src/share/classes/java/util/function/ToIntBiFunction.java b/jdk/src/share/classes/java/util/function/ToIntBiFunction.java
index e310928..0e28d26 100644
--- a/jdk/src/share/classes/java/util/function/ToIntBiFunction.java
+++ b/jdk/src/share/classes/java/util/function/ToIntBiFunction.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/function/package-info.java b/jdk/src/share/classes/java/util/function/package-info.java
index ccb329c..31a1c46 100644
--- a/jdk/src/share/classes/java/util/function/package-info.java
+++ b/jdk/src/share/classes/java/util/function/package-info.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/jar/JarVerifier.java b/jdk/src/share/classes/java/util/jar/JarVerifier.java
index 875d51f..3c9a1eb 100644
--- a/jdk/src/share/classes/java/util/jar/JarVerifier.java
+++ b/jdk/src/share/classes/java/util/jar/JarVerifier.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java b/jdk/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
index 9541a5a..84a7279 100644
--- a/jdk/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
+++ b/jdk/src/share/classes/java/util/jar/JavaUtilJarAccessImpl.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/jar/Manifest.java b/jdk/src/share/classes/java/util/jar/Manifest.java
index 7646978..75a7512 100644
--- a/jdk/src/share/classes/java/util/jar/Manifest.java
+++ b/jdk/src/share/classes/java/util/jar/Manifest.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/logging/ConsoleHandler.java b/jdk/src/share/classes/java/util/logging/ConsoleHandler.java
index c43f869..9bd216d 100644
--- a/jdk/src/share/classes/java/util/logging/ConsoleHandler.java
+++ b/jdk/src/share/classes/java/util/logging/ConsoleHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/util/logging/FileHandler.java b/jdk/src/share/classes/java/util/logging/FileHandler.java
index b2ac0d9..3e57e5a 100644
--- a/jdk/src/share/classes/java/util/logging/FileHandler.java
+++ b/jdk/src/share/classes/java/util/logging/FileHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -535,7 +535,7 @@
continue;
} else if (ch2 == 'h') {
file = new File(System.getProperty("user.home"));
- if (isSetUID()) {
+ if (sun.misc.VM.isSetUID()) {
// Ok, we are in a set UID program. For safety's sake
// we disallow attempts to open files relative to %h.
throw new IOException("can't use %h in set UID program");
@@ -669,9 +669,4 @@
lastException = ex;
}
}
-
- /**
- * check if we are in a set UID program.
- */
- private static native boolean isSetUID();
}
diff --git a/jdk/src/share/classes/java/util/logging/Level.java b/jdk/src/share/classes/java/util/logging/Level.java
index ade3328..f4e66ef 100644
--- a/jdk/src/share/classes/java/util/logging/Level.java
+++ b/jdk/src/share/classes/java/util/logging/Level.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/util/logging/LoggingProxyImpl.java b/jdk/src/share/classes/java/util/logging/LoggingProxyImpl.java
index 736e0c3..61fcb7b 100644
--- a/jdk/src/share/classes/java/util/logging/LoggingProxyImpl.java
+++ b/jdk/src/share/classes/java/util/logging/LoggingProxyImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/java/util/logging/MemoryHandler.java b/jdk/src/share/classes/java/util/logging/MemoryHandler.java
index 4d45faa..e3f527b 100644
--- a/jdk/src/share/classes/java/util/logging/MemoryHandler.java
+++ b/jdk/src/share/classes/java/util/logging/MemoryHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/util/logging/SimpleFormatter.java b/jdk/src/share/classes/java/util/logging/SimpleFormatter.java
index 4dfb3fc..12412f1 100644
--- a/jdk/src/share/classes/java/util/logging/SimpleFormatter.java
+++ b/jdk/src/share/classes/java/util/logging/SimpleFormatter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/util/logging/SocketHandler.java b/jdk/src/share/classes/java/util/logging/SocketHandler.java
index 5635830..0b6cad9 100644
--- a/jdk/src/share/classes/java/util/logging/SocketHandler.java
+++ b/jdk/src/share/classes/java/util/logging/SocketHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/util/logging/StreamHandler.java b/jdk/src/share/classes/java/util/logging/StreamHandler.java
index 0ace5b2..76db9ea 100644
--- a/jdk/src/share/classes/java/util/logging/StreamHandler.java
+++ b/jdk/src/share/classes/java/util/logging/StreamHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/util/logging/XMLFormatter.java b/jdk/src/share/classes/java/util/logging/XMLFormatter.java
index fc1ccab..541c73f 100644
--- a/jdk/src/share/classes/java/util/logging/XMLFormatter.java
+++ b/jdk/src/share/classes/java/util/logging/XMLFormatter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/util/prefs/Preferences.java b/jdk/src/share/classes/java/util/prefs/Preferences.java
index e3f4592..3b7b47f 100644
--- a/jdk/src/share/classes/java/util/prefs/Preferences.java
+++ b/jdk/src/share/classes/java/util/prefs/Preferences.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/java/util/regex/Pattern.java b/jdk/src/share/classes/java/util/regex/Pattern.java
index b7d780b..63722d5 100644
--- a/jdk/src/share/classes/java/util/regex/Pattern.java
+++ b/jdk/src/share/classes/java/util/regex/Pattern.java
@@ -3961,7 +3961,7 @@
* Node class for a case sensitive/BMP-only sequence of literal
* characters.
*/
- static final class Slice extends SliceNode {
+ static class Slice extends SliceNode {
Slice(int[] buf) {
super(buf);
}
@@ -4034,7 +4034,7 @@
* Node class for a case sensitive sequence of literal characters
* including supplementary characters.
*/
- static final class SliceS extends SliceNode {
+ static final class SliceS extends Slice {
SliceS(int[] buf) {
super(buf);
}
diff --git a/jdk/src/share/classes/java/util/regex/UnicodeProp.java b/jdk/src/share/classes/java/util/regex/UnicodeProp.java
index 2c7c128..c12bf52 100644
--- a/jdk/src/share/classes/java/util/regex/UnicodeProp.java
+++ b/jdk/src/share/classes/java/util/regex/UnicodeProp.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/spi/LocaleServiceProvider.java b/jdk/src/share/classes/java/util/spi/LocaleServiceProvider.java
index 128e40f..5e3b508 100644
--- a/jdk/src/share/classes/java/util/spi/LocaleServiceProvider.java
+++ b/jdk/src/share/classes/java/util/spi/LocaleServiceProvider.java
@@ -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
diff --git a/jdk/src/share/classes/java/util/stream/DoubleStream.java b/jdk/src/share/classes/java/util/stream/DoubleStream.java
index bcbb3c1..4d5d23d 100644
--- a/jdk/src/share/classes/java/util/stream/DoubleStream.java
+++ b/jdk/src/share/classes/java/util/stream/DoubleStream.java
@@ -330,7 +330,7 @@
* <pre>{@code
* double result = identity;
* for (double element : this stream)
- * result = accumulator.apply(result, element)
+ * result = accumulator.applyAsDouble(result, element)
* return result;
* }</pre>
*
@@ -391,7 +391,7 @@
* result = element;
* }
* else
- * result = accumulator.apply(result, element);
+ * result = accumulator.applyAsDouble(result, element);
* }
* return foundAny ? OptionalDouble.of(result) : OptionalDouble.empty();
* }</pre>
diff --git a/jdk/src/share/classes/java/util/stream/IntStream.java b/jdk/src/share/classes/java/util/stream/IntStream.java
index f0fcc68..94c2924 100644
--- a/jdk/src/share/classes/java/util/stream/IntStream.java
+++ b/jdk/src/share/classes/java/util/stream/IntStream.java
@@ -323,7 +323,7 @@
* <pre>{@code
* int result = identity;
* for (int element : this stream)
- * result = accumulator.apply(result, element)
+ * result = accumulator.applyAsInt(result, element)
* return result;
* }</pre>
*
@@ -384,7 +384,7 @@
* result = element;
* }
* else
- * result = accumulator.apply(result, element);
+ * result = accumulator.applyAsInt(result, element);
* }
* return foundAny ? OptionalInt.of(result) : OptionalInt.empty();
* }</pre>
diff --git a/jdk/src/share/classes/java/util/stream/LongStream.java b/jdk/src/share/classes/java/util/stream/LongStream.java
index d9828c5..a2d429e 100644
--- a/jdk/src/share/classes/java/util/stream/LongStream.java
+++ b/jdk/src/share/classes/java/util/stream/LongStream.java
@@ -328,7 +328,7 @@
* <pre>{@code
* long result = identity;
* for (long element : this stream)
- * result = accumulator.apply(result, element)
+ * result = accumulator.applyAsLong(result, element)
* return result;
* }</pre>
*
@@ -389,7 +389,7 @@
* result = element;
* }
* else
- * result = accumulator.apply(result, element);
+ * result = accumulator.applyAsLong(result, element);
* }
* return foundAny ? OptionalLong.of(result) : OptionalLong.empty();
* }</pre>
diff --git a/jdk/src/share/classes/java/util/zip/Adler32.java b/jdk/src/share/classes/java/util/zip/Adler32.java
index bffc3af..de279f9 100644
--- a/jdk/src/share/classes/java/util/zip/Adler32.java
+++ b/jdk/src/share/classes/java/util/zip/Adler32.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/util/zip/CRC32.java b/jdk/src/share/classes/java/util/zip/CRC32.java
index 187346f..0f55579 100644
--- a/jdk/src/share/classes/java/util/zip/CRC32.java
+++ b/jdk/src/share/classes/java/util/zip/CRC32.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/util/zip/DeflaterInputStream.java b/jdk/src/share/classes/java/util/zip/DeflaterInputStream.java
index cdca7f6..d1ab13d 100644
--- a/jdk/src/share/classes/java/util/zip/DeflaterInputStream.java
+++ b/jdk/src/share/classes/java/util/zip/DeflaterInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java b/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java
index 7cb0f83..a1f768c 100644
--- a/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java
+++ b/jdk/src/share/classes/java/util/zip/DeflaterOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/util/zip/GZIPOutputStream.java b/jdk/src/share/classes/java/util/zip/GZIPOutputStream.java
index e454956..2c1cd40 100644
--- a/jdk/src/share/classes/java/util/zip/GZIPOutputStream.java
+++ b/jdk/src/share/classes/java/util/zip/GZIPOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/util/zip/InflaterInputStream.java b/jdk/src/share/classes/java/util/zip/InflaterInputStream.java
index 23cb9d9..163f619 100644
--- a/jdk/src/share/classes/java/util/zip/InflaterInputStream.java
+++ b/jdk/src/share/classes/java/util/zip/InflaterInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/java/util/zip/InflaterOutputStream.java b/jdk/src/share/classes/java/util/zip/InflaterOutputStream.java
index 53f8b5de..02900c7 100644
--- a/jdk/src/share/classes/java/util/zip/InflaterOutputStream.java
+++ b/jdk/src/share/classes/java/util/zip/InflaterOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/java/util/zip/ZipConstants.java b/jdk/src/share/classes/java/util/zip/ZipConstants.java
index ade50f3..db7f500 100644
--- a/jdk/src/share/classes/java/util/zip/ZipConstants.java
+++ b/jdk/src/share/classes/java/util/zip/ZipConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 1996, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/util/zip/ZipConstants64.java b/jdk/src/share/classes/java/util/zip/ZipConstants64.java
index d44d42a..5d45f77 100644
--- a/jdk/src/share/classes/java/util/zip/ZipConstants64.java
+++ b/jdk/src/share/classes/java/util/zip/ZipConstants64.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 1996, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
index 3b76eca..0bd7580 100644
--- a/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
+++ b/jdk/src/share/classes/java/util/zip/ZipOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/javax/accessibility/AccessibleAction.java b/jdk/src/share/classes/javax/accessibility/AccessibleAction.java
index ec0b868..e4b7bb8 100644
--- a/jdk/src/share/classes/javax/accessibility/AccessibleAction.java
+++ b/jdk/src/share/classes/javax/accessibility/AccessibleAction.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/javax/accessibility/AccessibleText.java b/jdk/src/share/classes/javax/accessibility/AccessibleText.java
index d4ed664..238a61a 100644
--- a/jdk/src/share/classes/javax/accessibility/AccessibleText.java
+++ b/jdk/src/share/classes/javax/accessibility/AccessibleText.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/javax/crypto/JceSecurityManager.java b/jdk/src/share/classes/javax/crypto/JceSecurityManager.java
index 53afe67..b3d7ce7 100644
--- a/jdk/src/share/classes/javax/crypto/JceSecurityManager.java
+++ b/jdk/src/share/classes/javax/crypto/JceSecurityManager.java
@@ -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
diff --git a/jdk/src/share/classes/javax/crypto/NullCipherSpi.java b/jdk/src/share/classes/javax/crypto/NullCipherSpi.java
index 23399a8..7419f87 100644
--- a/jdk/src/share/classes/javax/crypto/NullCipherSpi.java
+++ b/jdk/src/share/classes/javax/crypto/NullCipherSpi.java
@@ -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
diff --git a/jdk/src/share/classes/javax/crypto/spec/IvParameterSpec.java b/jdk/src/share/classes/javax/crypto/spec/IvParameterSpec.java
index fa1eaed..243c848 100644
--- a/jdk/src/share/classes/javax/crypto/spec/IvParameterSpec.java
+++ b/jdk/src/share/classes/javax/crypto/spec/IvParameterSpec.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/crypto/spec/PBEParameterSpec.java b/jdk/src/share/classes/javax/crypto/spec/PBEParameterSpec.java
index 4a17c40..ca45c73 100644
--- a/jdk/src/share/classes/javax/crypto/spec/PBEParameterSpec.java
+++ b/jdk/src/share/classes/javax/crypto/spec/PBEParameterSpec.java
@@ -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
diff --git a/jdk/src/share/classes/javax/crypto/spec/RC5ParameterSpec.java b/jdk/src/share/classes/javax/crypto/spec/RC5ParameterSpec.java
index 499480c..0eddb61 100644
--- a/jdk/src/share/classes/javax/crypto/spec/RC5ParameterSpec.java
+++ b/jdk/src/share/classes/javax/crypto/spec/RC5ParameterSpec.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/crypto/spec/SecretKeySpec.java b/jdk/src/share/classes/javax/crypto/spec/SecretKeySpec.java
index 586399d..aedd9ca 100644
--- a/jdk/src/share/classes/javax/crypto/spec/SecretKeySpec.java
+++ b/jdk/src/share/classes/javax/crypto/spec/SecretKeySpec.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/imageio/event/IIOReadProgressListener.java b/jdk/src/share/classes/javax/imageio/event/IIOReadProgressListener.java
index d3f455e..d98856b 100644
--- a/jdk/src/share/classes/javax/imageio/event/IIOReadProgressListener.java
+++ b/jdk/src/share/classes/javax/imageio/event/IIOReadProgressListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/imageio/event/IIOReadUpdateListener.java b/jdk/src/share/classes/javax/imageio/event/IIOReadUpdateListener.java
index d507768..48e03e6 100644
--- a/jdk/src/share/classes/javax/imageio/event/IIOReadUpdateListener.java
+++ b/jdk/src/share/classes/javax/imageio/event/IIOReadUpdateListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/imageio/event/IIOReadWarningListener.java b/jdk/src/share/classes/javax/imageio/event/IIOReadWarningListener.java
index 71a720b..3b2dd75 100644
--- a/jdk/src/share/classes/javax/imageio/event/IIOReadWarningListener.java
+++ b/jdk/src/share/classes/javax/imageio/event/IIOReadWarningListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2000, 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
diff --git a/jdk/src/share/classes/javax/imageio/event/IIOWriteWarningListener.java b/jdk/src/share/classes/javax/imageio/event/IIOWriteWarningListener.java
index f7cde3e..67d4cf2 100644
--- a/jdk/src/share/classes/javax/imageio/event/IIOWriteWarningListener.java
+++ b/jdk/src/share/classes/javax/imageio/event/IIOWriteWarningListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java b/jdk/src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java
index 08bc4f1..8c0f133 100644
--- a/jdk/src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java
+++ b/jdk/src/share/classes/javax/imageio/metadata/IIOMetadataFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html b/jdk/src/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html
index 679fb32..b448b77 100644
--- a/jdk/src/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html
+++ b/jdk/src/share/classes/javax/imageio/metadata/doc-files/gif_metadata.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/imageio/metadata/doc-files/standard_metadata.html b/jdk/src/share/classes/javax/imageio/metadata/doc-files/standard_metadata.html
index 4b909e6..5378bc3 100644
--- a/jdk/src/share/classes/javax/imageio/metadata/doc-files/standard_metadata.html
+++ b/jdk/src/share/classes/javax/imageio/metadata/doc-files/standard_metadata.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/imageio/spi/IIORegistry.java b/jdk/src/share/classes/javax/imageio/spi/IIORegistry.java
index 36deb51..8fa2878 100644
--- a/jdk/src/share/classes/javax/imageio/spi/IIORegistry.java
+++ b/jdk/src/share/classes/javax/imageio/spi/IIORegistry.java
@@ -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
diff --git a/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java b/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java
index 3f4338d..2eff30e 100644
--- a/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java
+++ b/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -123,15 +123,6 @@
}
}
- // The following two methods expose functionality from
- // sun.misc.Service. If that class is made public, they may be
- // removed.
- //
- // The sun.misc.ServiceConfigurationError class may also be
- // exposed, in which case the references to 'an
- // <code>Error</code>' below should be changed to 'a
- // <code>ServiceConfigurationError</code>'.
-
/**
* Searches for implementations of a particular service class
* using the given class loader.
diff --git a/jdk/src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java b/jdk/src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java
index 8f7061f..0a0be29 100644
--- a/jdk/src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java
+++ b/jdk/src/share/classes/javax/imageio/stream/ImageInputStreamImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/AttributeList.java b/jdk/src/share/classes/javax/management/AttributeList.java
index 2fd3bdb..b9426b1 100644
--- a/jdk/src/share/classes/javax/management/AttributeList.java
+++ b/jdk/src/share/classes/javax/management/AttributeList.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/BadAttributeValueExpException.java b/jdk/src/share/classes/javax/management/BadAttributeValueExpException.java
index 2eda233..d343338 100644
--- a/jdk/src/share/classes/javax/management/BadAttributeValueExpException.java
+++ b/jdk/src/share/classes/javax/management/BadAttributeValueExpException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2003, 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
diff --git a/jdk/src/share/classes/javax/management/BooleanValueExp.java b/jdk/src/share/classes/javax/management/BooleanValueExp.java
index 2384261..f63daba 100644
--- a/jdk/src/share/classes/javax/management/BooleanValueExp.java
+++ b/jdk/src/share/classes/javax/management/BooleanValueExp.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/Descriptor.java b/jdk/src/share/classes/javax/management/Descriptor.java
index 0cd325f..0b25e34 100644
--- a/jdk/src/share/classes/javax/management/Descriptor.java
+++ b/jdk/src/share/classes/javax/management/Descriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/DescriptorKey.java b/jdk/src/share/classes/javax/management/DescriptorKey.java
index 5ca8ee9..c9bd8b2 100644
--- a/jdk/src/share/classes/javax/management/DescriptorKey.java
+++ b/jdk/src/share/classes/javax/management/DescriptorKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/ImmutableDescriptor.java b/jdk/src/share/classes/javax/management/ImmutableDescriptor.java
index b2af95e..60e75fa 100644
--- a/jdk/src/share/classes/javax/management/ImmutableDescriptor.java
+++ b/jdk/src/share/classes/javax/management/ImmutableDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/javax/management/JMX.java b/jdk/src/share/classes/javax/management/JMX.java
index ffa53cf..f1dba27 100644
--- a/jdk/src/share/classes/javax/management/JMX.java
+++ b/jdk/src/share/classes/javax/management/JMX.java
@@ -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
diff --git a/jdk/src/share/classes/javax/management/MBeanAttributeInfo.java b/jdk/src/share/classes/javax/management/MBeanAttributeInfo.java
index 7a3adaa..36eb1ef 100644
--- a/jdk/src/share/classes/javax/management/MBeanAttributeInfo.java
+++ b/jdk/src/share/classes/javax/management/MBeanAttributeInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanConstructorInfo.java b/jdk/src/share/classes/javax/management/MBeanConstructorInfo.java
index d02ffce..dab4065 100644
--- a/jdk/src/share/classes/javax/management/MBeanConstructorInfo.java
+++ b/jdk/src/share/classes/javax/management/MBeanConstructorInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanFeatureInfo.java b/jdk/src/share/classes/javax/management/MBeanFeatureInfo.java
index 5acd054..abb04da 100644
--- a/jdk/src/share/classes/javax/management/MBeanFeatureInfo.java
+++ b/jdk/src/share/classes/javax/management/MBeanFeatureInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanInfo.java b/jdk/src/share/classes/javax/management/MBeanInfo.java
index d10dd1c..c6424b1 100644
--- a/jdk/src/share/classes/javax/management/MBeanInfo.java
+++ b/jdk/src/share/classes/javax/management/MBeanInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanNotificationInfo.java b/jdk/src/share/classes/javax/management/MBeanNotificationInfo.java
index be1b58b..e5b9b13 100644
--- a/jdk/src/share/classes/javax/management/MBeanNotificationInfo.java
+++ b/jdk/src/share/classes/javax/management/MBeanNotificationInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanOperationInfo.java b/jdk/src/share/classes/javax/management/MBeanOperationInfo.java
index 1be6d8f..6e11e41 100644
--- a/jdk/src/share/classes/javax/management/MBeanOperationInfo.java
+++ b/jdk/src/share/classes/javax/management/MBeanOperationInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanParameterInfo.java b/jdk/src/share/classes/javax/management/MBeanParameterInfo.java
index 81f2eff..8dd185e 100644
--- a/jdk/src/share/classes/javax/management/MBeanParameterInfo.java
+++ b/jdk/src/share/classes/javax/management/MBeanParameterInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanServer.java b/jdk/src/share/classes/javax/management/MBeanServer.java
index 909e31d..1526d81 100644
--- a/jdk/src/share/classes/javax/management/MBeanServer.java
+++ b/jdk/src/share/classes/javax/management/MBeanServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanServerConnection.java b/jdk/src/share/classes/javax/management/MBeanServerConnection.java
index 505a44e..60c7428 100644
--- a/jdk/src/share/classes/javax/management/MBeanServerConnection.java
+++ b/jdk/src/share/classes/javax/management/MBeanServerConnection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanServerFactory.java b/jdk/src/share/classes/javax/management/MBeanServerFactory.java
index 1e0ad2f..7eade40 100644
--- a/jdk/src/share/classes/javax/management/MBeanServerFactory.java
+++ b/jdk/src/share/classes/javax/management/MBeanServerFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanServerInvocationHandler.java b/jdk/src/share/classes/javax/management/MBeanServerInvocationHandler.java
index 485dec8..b06ca06 100644
--- a/jdk/src/share/classes/javax/management/MBeanServerInvocationHandler.java
+++ b/jdk/src/share/classes/javax/management/MBeanServerInvocationHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanServerNotification.java b/jdk/src/share/classes/javax/management/MBeanServerNotification.java
index aec2f18..526a789 100644
--- a/jdk/src/share/classes/javax/management/MBeanServerNotification.java
+++ b/jdk/src/share/classes/javax/management/MBeanServerNotification.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/MBeanTrustPermission.java b/jdk/src/share/classes/javax/management/MBeanTrustPermission.java
index 605201a..20ad8ab 100644
--- a/jdk/src/share/classes/javax/management/MBeanTrustPermission.java
+++ b/jdk/src/share/classes/javax/management/MBeanTrustPermission.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/src/share/classes/javax/management/MXBean.java b/jdk/src/share/classes/javax/management/MXBean.java
index 85db37b..766e36f 100644
--- a/jdk/src/share/classes/javax/management/MXBean.java
+++ b/jdk/src/share/classes/javax/management/MXBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/NumericValueExp.java b/jdk/src/share/classes/javax/management/NumericValueExp.java
index 2feb1f3..f4eec97 100644
--- a/jdk/src/share/classes/javax/management/NumericValueExp.java
+++ b/jdk/src/share/classes/javax/management/NumericValueExp.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/ObjectName.java b/jdk/src/share/classes/javax/management/ObjectName.java
index c1942f0..059deb4 100644
--- a/jdk/src/share/classes/javax/management/ObjectName.java
+++ b/jdk/src/share/classes/javax/management/ObjectName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/PersistentMBean.java b/jdk/src/share/classes/javax/management/PersistentMBean.java
index 6333409..e52f235 100644
--- a/jdk/src/share/classes/javax/management/PersistentMBean.java
+++ b/jdk/src/share/classes/javax/management/PersistentMBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/Query.java b/jdk/src/share/classes/javax/management/Query.java
index 2a1b33e..c6dc99c 100644
--- a/jdk/src/share/classes/javax/management/Query.java
+++ b/jdk/src/share/classes/javax/management/Query.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/StandardEmitterMBean.java b/jdk/src/share/classes/javax/management/StandardEmitterMBean.java
index a7ac7a1..250d109 100644
--- a/jdk/src/share/classes/javax/management/StandardEmitterMBean.java
+++ b/jdk/src/share/classes/javax/management/StandardEmitterMBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/loading/MLet.java b/jdk/src/share/classes/javax/management/loading/MLet.java
index ab50507..ac80c38 100644
--- a/jdk/src/share/classes/javax/management/loading/MLet.java
+++ b/jdk/src/share/classes/javax/management/loading/MLet.java
@@ -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
diff --git a/jdk/src/share/classes/javax/management/loading/MLetParser.java b/jdk/src/share/classes/javax/management/loading/MLetParser.java
index bc3af8c..4291c5b 100644
--- a/jdk/src/share/classes/javax/management/loading/MLetParser.java
+++ b/jdk/src/share/classes/javax/management/loading/MLetParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java b/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java
index 1f7ad27..0605713 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java
index a4fd412..b1a68c4 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java
index 1f308e5..24f6b12 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java
index 5d9fb01..8894ae8 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java
index 0d1aa06..49445b0 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java
index 538205a..a05d82d 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java
index 08e5b24..ba047ef 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/monitor/Monitor.java b/jdk/src/share/classes/javax/management/monitor/Monitor.java
index f80b1f7..bf89b06 100644
--- a/jdk/src/share/classes/javax/management/monitor/Monitor.java
+++ b/jdk/src/share/classes/javax/management/monitor/Monitor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/monitor/package.html b/jdk/src/share/classes/javax/management/monitor/package.html
index a5050d7..5366616 100644
--- a/jdk/src/share/classes/javax/management/monitor/package.html
+++ b/jdk/src/share/classes/javax/management/monitor/package.html
@@ -2,7 +2,7 @@
<head>
<title>javax.management.monitor package</title>
<!--
-Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/management/openmbean/ArrayType.java b/jdk/src/share/classes/javax/management/openmbean/ArrayType.java
index afd2b6a..c59bd15 100644
--- a/jdk/src/share/classes/javax/management/openmbean/ArrayType.java
+++ b/jdk/src/share/classes/javax/management/openmbean/ArrayType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java b/jdk/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java
index 2d9e238..322076d 100644
--- a/jdk/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java
+++ b/jdk/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java
@@ -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
diff --git a/jdk/src/share/classes/javax/management/openmbean/CompositeType.java b/jdk/src/share/classes/javax/management/openmbean/CompositeType.java
index 93540af..0eddb79 100644
--- a/jdk/src/share/classes/javax/management/openmbean/CompositeType.java
+++ b/jdk/src/share/classes/javax/management/openmbean/CompositeType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java
index 550a507..9f0c052 100644
--- a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java
+++ b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanInfoSupport.java b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanInfoSupport.java
index 101c5fe..5a40b53 100644
--- a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanInfoSupport.java
+++ b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanInfoSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java
index 56ad0cf..4cf21fd 100644
--- a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java
+++ b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/openmbean/SimpleType.java b/jdk/src/share/classes/javax/management/openmbean/SimpleType.java
index ea26ae5..89e233f 100644
--- a/jdk/src/share/classes/javax/management/openmbean/SimpleType.java
+++ b/jdk/src/share/classes/javax/management/openmbean/SimpleType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/openmbean/TabularType.java b/jdk/src/share/classes/javax/management/openmbean/TabularType.java
index 9eca491..af8cb56 100644
--- a/jdk/src/share/classes/javax/management/openmbean/TabularType.java
+++ b/jdk/src/share/classes/javax/management/openmbean/TabularType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/package.html b/jdk/src/share/classes/javax/management/package.html
index 9cd9ef8..71c3c79 100644
--- a/jdk/src/share/classes/javax/management/package.html
+++ b/jdk/src/share/classes/javax/management/package.html
@@ -2,7 +2,7 @@
<head>
<title>javax.management package</title>
<!--
-Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/management/relation/Relation.java b/jdk/src/share/classes/javax/management/relation/Relation.java
index 3ef3ce7..a74fc78 100644
--- a/jdk/src/share/classes/javax/management/relation/Relation.java
+++ b/jdk/src/share/classes/javax/management/relation/Relation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/relation/RelationService.java b/jdk/src/share/classes/javax/management/relation/RelationService.java
index 2585d11..4dfd9b3 100644
--- a/jdk/src/share/classes/javax/management/relation/RelationService.java
+++ b/jdk/src/share/classes/javax/management/relation/RelationService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/relation/RelationServiceMBean.java b/jdk/src/share/classes/javax/management/relation/RelationServiceMBean.java
index a875304..6df633e 100644
--- a/jdk/src/share/classes/javax/management/relation/RelationServiceMBean.java
+++ b/jdk/src/share/classes/javax/management/relation/RelationServiceMBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/relation/RelationSupport.java b/jdk/src/share/classes/javax/management/relation/RelationSupport.java
index be18fd2..09f8b93 100644
--- a/jdk/src/share/classes/javax/management/relation/RelationSupport.java
+++ b/jdk/src/share/classes/javax/management/relation/RelationSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/management/remote/JMXConnectionNotification.java b/jdk/src/share/classes/javax/management/remote/JMXConnectionNotification.java
index 401d592..51c233d 100644
--- a/jdk/src/share/classes/javax/management/remote/JMXConnectionNotification.java
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnectionNotification.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, 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
diff --git a/jdk/src/share/classes/javax/management/remote/JMXConnector.java b/jdk/src/share/classes/javax/management/remote/JMXConnector.java
index 81502d8..fa0ef89 100644
--- a/jdk/src/share/classes/javax/management/remote/JMXConnector.java
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/src/share/classes/javax/management/remote/JMXConnectorFactory.java b/jdk/src/share/classes/javax/management/remote/JMXConnectorFactory.java
index f78ff50..55c4d9d 100644
--- a/jdk/src/share/classes/javax/management/remote/JMXConnectorFactory.java
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnectorFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/remote/JMXConnectorProvider.java b/jdk/src/share/classes/javax/management/remote/JMXConnectorProvider.java
index 4d982aa..618a140 100644
--- a/jdk/src/share/classes/javax/management/remote/JMXConnectorProvider.java
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnectorProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/src/share/classes/javax/management/remote/JMXConnectorServerFactory.java b/jdk/src/share/classes/javax/management/remote/JMXConnectorServerFactory.java
index 8ad3a94..0d58b73 100644
--- a/jdk/src/share/classes/javax/management/remote/JMXConnectorServerFactory.java
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnectorServerFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/classes/javax/management/remote/JMXPrincipal.java b/jdk/src/share/classes/javax/management/remote/JMXPrincipal.java
index 5cb0c37..aaa242f 100644
--- a/jdk/src/share/classes/javax/management/remote/JMXPrincipal.java
+++ b/jdk/src/share/classes/javax/management/remote/JMXPrincipal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/src/share/classes/javax/management/remote/NotificationResult.java b/jdk/src/share/classes/javax/management/remote/NotificationResult.java
index ff3978d..4dedcc3 100644
--- a/jdk/src/share/classes/javax/management/remote/NotificationResult.java
+++ b/jdk/src/share/classes/javax/management/remote/NotificationResult.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, 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
diff --git a/jdk/src/share/classes/javax/management/remote/TargetedNotification.java b/jdk/src/share/classes/javax/management/remote/TargetedNotification.java
index cc3d0dc..ce4f6d2 100644
--- a/jdk/src/share/classes/javax/management/remote/TargetedNotification.java
+++ b/jdk/src/share/classes/javax/management/remote/TargetedNotification.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, 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
diff --git a/jdk/src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java b/jdk/src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java
index cd8e3ac..e8addac 100644
--- a/jdk/src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java
+++ b/jdk/src/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java
index 4d0a3d4..6f60de7 100644
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java
index 9db8bd9..4cdb092 100644
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java b/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java
index e3e10d4..323f6bb 100644
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/javax/management/remote/rmi/package.html b/jdk/src/share/classes/javax/management/remote/rmi/package.html
index 4306c29..9281aa9 100644
--- a/jdk/src/share/classes/javax/management/remote/rmi/package.html
+++ b/jdk/src/share/classes/javax/management/remote/rmi/package.html
@@ -2,7 +2,7 @@
<head>
<title>RMI connector</title>
<!--
-Copyright (c) 2002, 2006, 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
diff --git a/jdk/src/share/classes/javax/naming/AuthenticationException.java b/jdk/src/share/classes/javax/naming/AuthenticationException.java
index c66f4ea..2c0d788 100644
--- a/jdk/src/share/classes/javax/naming/AuthenticationException.java
+++ b/jdk/src/share/classes/javax/naming/AuthenticationException.java
@@ -29,7 +29,7 @@
* This exception is thrown when an authentication error occurs while
* accessing the naming or directory service.
* An authentication error can happen, for example, when the credentials
- * supplied by the user program is invalid or otherwise fails to
+ * supplied by the user program are invalid or otherwise fail to
* authenticate the user to the naming/directory service.
*<p>
* If the program wants to handle this exception in particular, it
@@ -37,7 +37,7 @@
* catch NamingException. After catching AuthenticationException, the
* program could reattempt the authentication by updating
* the resolved context's environment properties with the appropriate
- * appropriate credentials.
+ * credentials.
* <p>
* Synchronization and serialization issues that apply to NamingException
* apply directly here.
diff --git a/jdk/src/share/classes/javax/naming/AuthenticationNotSupportedException.java b/jdk/src/share/classes/javax/naming/AuthenticationNotSupportedException.java
index aae2248..2287a3c 100644
--- a/jdk/src/share/classes/javax/naming/AuthenticationNotSupportedException.java
+++ b/jdk/src/share/classes/javax/naming/AuthenticationNotSupportedException.java
@@ -67,7 +67,7 @@
/**
* Constructs a new instance of AuthenticationNotSupportedException
- * all name resolution fields and explanation initialized to null.
+ * with all name resolution fields and explanation initialized to null.
*/
public AuthenticationNotSupportedException() {
super();
diff --git a/jdk/src/share/classes/javax/naming/BinaryRefAddr.java b/jdk/src/share/classes/javax/naming/BinaryRefAddr.java
index 711a834..214e2aa 100644
--- a/jdk/src/share/classes/javax/naming/BinaryRefAddr.java
+++ b/jdk/src/share/classes/javax/naming/BinaryRefAddr.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/javax/naming/Binding.java b/jdk/src/share/classes/javax/naming/Binding.java
index 5206dd0..32ad356 100644
--- a/jdk/src/share/classes/javax/naming/Binding.java
+++ b/jdk/src/share/classes/javax/naming/Binding.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/javax/naming/CannotProceedException.java b/jdk/src/share/classes/javax/naming/CannotProceedException.java
index 9754bd7..da3f55b 100644
--- a/jdk/src/share/classes/javax/naming/CannotProceedException.java
+++ b/jdk/src/share/classes/javax/naming/CannotProceedException.java
@@ -64,7 +64,7 @@
/**
* Contains the remaining unresolved part of the second
* "name" argument to Context.rename().
- * This information necessary for
+ * This information is necessary for
* continuing the Context.rename() operation.
* <p>
* This field is initialized to null.
diff --git a/jdk/src/share/classes/javax/naming/CompositeName.java b/jdk/src/share/classes/javax/naming/CompositeName.java
index 7c79d52..93ef152 100644
--- a/jdk/src/share/classes/javax/naming/CompositeName.java
+++ b/jdk/src/share/classes/javax/naming/CompositeName.java
@@ -205,7 +205,7 @@
private transient NameImpl impl;
/**
* Constructs a new composite name instance using the components
- * specified by 'comps'. This protected method is intended to be
+ * specified by 'comps'. This protected method is intended
* to be used by subclasses of CompositeName when they override
* methods such as clone(), getPrefix(), getSuffix().
*
@@ -436,7 +436,7 @@
/**
* Determines whether a composite name is a suffix of this composite name.
- * A composite name 'n' is a suffix if it it is equal to
+ * A composite name 'n' is a suffix if it is equal to
* getSuffix(size()-n.size())--in other words, this
* composite name ends with 'n'.
* If n is null or not a composite name, false is returned.
diff --git a/jdk/src/share/classes/javax/naming/CompoundName.java b/jdk/src/share/classes/javax/naming/CompoundName.java
index 6d41cf8..059d951c 100644
--- a/jdk/src/share/classes/javax/naming/CompoundName.java
+++ b/jdk/src/share/classes/javax/naming/CompoundName.java
@@ -165,7 +165,7 @@
/**
* Constructs a new compound name instance using the components
- * specified in comps and syntax. This protected method is intended to be
+ * specified in comps and syntax. This protected method is intended
* to be used by subclasses of CompoundName when they override
* methods such as clone(), getPrefix(), getSuffix().
*
@@ -365,7 +365,7 @@
* components in this compound name.
* The result and this compound name share the same syntax.
* Subsequent changes to
- * this compound name does not affect the name that is returned and
+ * this compound name do not affect the name that is returned and
* vice versa.
*
* @param posn The 0-based index of the component at which to stop.
@@ -385,7 +385,7 @@
* components in this compound name.
* The result and this compound name share the same syntax.
* Subsequent changes to
- * this compound name does not affect the name that is returned.
+ * this compound name do not affect the name that is returned.
*
* @param posn The 0-based index of the component at which to start.
* Must be in the range [0,size()].
@@ -423,7 +423,7 @@
/**
* Determines whether a compound name is a suffix of this compound name.
- * A compound name 'n' is a suffix if it it is equal to
+ * A compound name 'n' is a suffix if it is equal to
* getSuffix(size()-n.size())--in other words, this
* compound name ends with 'n'.
* If n is null or not a compound name, false is returned.
diff --git a/jdk/src/share/classes/javax/naming/InsufficientResourcesException.java b/jdk/src/share/classes/javax/naming/InsufficientResourcesException.java
index 3ef840c..992ec9f 100644
--- a/jdk/src/share/classes/javax/naming/InsufficientResourcesException.java
+++ b/jdk/src/share/classes/javax/naming/InsufficientResourcesException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/javax/naming/LinkException.java b/jdk/src/share/classes/javax/naming/LinkException.java
index 30f3ea4..60ce3d1 100644
--- a/jdk/src/share/classes/javax/naming/LinkException.java
+++ b/jdk/src/share/classes/javax/naming/LinkException.java
@@ -26,11 +26,11 @@
package javax.naming;
/**
- * This exception is used to describe problems encounter while resolving links.
- * Addition information is added to the base NamingException for pinpointing
+ * This exception is used to describe problems encountered while resolving links.
+ * Additional information is added to the base NamingException for pinpointing
* the problem with the link.
*<p>
- * Analogous to how NamingException captures name resolution information,
+ * Analogously to how NamingException captures name resolution information,
* LinkException captures "link"-name resolution information pinpointing
* the problem encountered while resolving a link. All these fields may
* be null.
@@ -111,7 +111,7 @@
protected String linkExplanation;
/**
- * Constructs a new instance of LinkException with an explanation
+ * Constructs a new instance of LinkException with an explanation.
* All the other fields are initialized to null.
* @param explanation A possibly null string containing additional
* detail about this exception.
@@ -176,7 +176,7 @@
}
/**
- * Retrieves the explanation associated with the problem encounter
+ * Retrieves the explanation associated with the problem encountered
* when resolving a link.
*
* @return The possibly null detail string explaining more about the problem
@@ -190,7 +190,7 @@
}
/**
- * Sets the explanation associated with the problem encounter
+ * Sets the explanation associated with the problem encountered
* when resolving a link.
*
* @param msg The possibly null detail string explaining more about the problem
@@ -211,7 +211,7 @@
* invoke this method using the resulting composite name.
*<p>
* A copy of <code>name</code> is made and stored.
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the copy in this NamingException and vice versa.
*
*
@@ -237,7 +237,7 @@
* invoke this method using the resulting composite name.
*<p>
* A copy of <code>name</code> is made and stored.
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the copy in this NamingException and vice versa.
*
* @param name The name to set remaining link name to. This can be null.
diff --git a/jdk/src/share/classes/javax/naming/LinkLoopException.java b/jdk/src/share/classes/javax/naming/LinkLoopException.java
index 58b6a65..6865233 100644
--- a/jdk/src/share/classes/javax/naming/LinkLoopException.java
+++ b/jdk/src/share/classes/javax/naming/LinkLoopException.java
@@ -27,7 +27,7 @@
/**
* This exception is thrown when
- * a loop was detected will attempting to resolve a link, or an implementation
+ * a loop was detected while attempting to resolve a link, or an implementation
* specific limit on link counts has been reached.
* <p>
* Synchronization and serialization issues that apply to LinkException
@@ -42,7 +42,7 @@
public class LinkLoopException extends LinkException {
/**
- * Constructs a new instance of LinkLoopException with an explanation
+ * Constructs a new instance of LinkLoopException with an explanation.
* All the other fields are initialized to null.
* @param explanation A possibly null string containing additional
* detail about this exception.
diff --git a/jdk/src/share/classes/javax/naming/MalformedLinkException.java b/jdk/src/share/classes/javax/naming/MalformedLinkException.java
index f23ef9e..1d7e511 100644
--- a/jdk/src/share/classes/javax/naming/MalformedLinkException.java
+++ b/jdk/src/share/classes/javax/naming/MalformedLinkException.java
@@ -42,7 +42,7 @@
public class MalformedLinkException extends LinkException {
/**
- * Constructs a new instance of MalformedLinkException with an explanation
+ * Constructs a new instance of MalformedLinkException with an explanation.
* All the other fields are initialized to null.
* @param explanation A possibly null string containing additional
* detail about this exception.
diff --git a/jdk/src/share/classes/javax/naming/NamingException.java b/jdk/src/share/classes/javax/naming/NamingException.java
index 030acc6..e1252da 100644
--- a/jdk/src/share/classes/javax/naming/NamingException.java
+++ b/jdk/src/share/classes/javax/naming/NamingException.java
@@ -201,7 +201,7 @@
* invoke this method using the resulting composite name.
*<p>
* A copy of <code>name</code> is made and stored.
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the copy in this NamingException and vice versa.
*
* @param name The possibly null name to set resolved name to.
@@ -225,7 +225,7 @@
* invoke this method using the resulting composite name.
*<p>
* A copy of <code>name</code> is made and stored.
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the copy in this NamingException and vice versa.
* @param name The possibly null name to set remaining name to.
* If null, it sets the remaining name field to null.
@@ -279,7 +279,7 @@
* a compound name, you should "stringify" the compound name
* then invoke the overloaded form that accepts a String parameter.
*<p>
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the remaining name field in this NamingException and vice versa.
* @param name The possibly null name containing ordered components to add.
* If name is null, this method does not do anything.
diff --git a/jdk/src/share/classes/javax/naming/RefAddr.java b/jdk/src/share/classes/javax/naming/RefAddr.java
index 92ac432..3dc90f2 100644
--- a/jdk/src/share/classes/javax/naming/RefAddr.java
+++ b/jdk/src/share/classes/javax/naming/RefAddr.java
@@ -90,7 +90,7 @@
/**
* Determines whether obj is equal to this RefAddr.
*<p>
- * obj is equal to this RefAddr all of these conditions are true
+ * obj is equal to this RefAddr if all of these conditions are true
*<ul>
*<li> non-null
*<li> instance of RefAddr
diff --git a/jdk/src/share/classes/javax/naming/Reference.java b/jdk/src/share/classes/javax/naming/Reference.java
index 51e0be7..3459316 100644
--- a/jdk/src/share/classes/javax/naming/Reference.java
+++ b/jdk/src/share/classes/javax/naming/Reference.java
@@ -218,8 +218,8 @@
* String.compareTo() is used to test the equality of the address types.
*
* @param addrType The non-null address type for which to find the address.
- * @return The address in this reference with address type 'addrType;
- * null if no such address exist.
+ * @return The address in this reference with address type 'addrType';
+ * null if no such address exists.
*/
public RefAddr get(String addrType) {
int len = addrs.size();
diff --git a/jdk/src/share/classes/javax/naming/Referenceable.java b/jdk/src/share/classes/javax/naming/Referenceable.java
index ef45b06..1bb6d81 100644
--- a/jdk/src/share/classes/javax/naming/Referenceable.java
+++ b/jdk/src/share/classes/javax/naming/Referenceable.java
@@ -33,7 +33,7 @@
* objects which themselves are not directly bound to the naming system.
* Such objects can implement the Referenceable interface as a way
* for programs that use that object to determine what its Reference is.
- * For example, when binding a object, if an object implements the
+ * For example, when binding an object, if an object implements the
* Referenceable interface, getReference() can be invoked on the object to
* get its Reference to use for binding.
*
diff --git a/jdk/src/share/classes/javax/naming/directory/Attribute.java b/jdk/src/share/classes/javax/naming/directory/Attribute.java
index 6ed0d9a..2cdc354 100644
--- a/jdk/src/share/classes/javax/naming/directory/Attribute.java
+++ b/jdk/src/share/classes/javax/naming/directory/Attribute.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, 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
diff --git a/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java b/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java
index 8dde5cb..1804829 100644
--- a/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java
+++ b/jdk/src/share/classes/javax/naming/ldap/InitialLdapContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/naming/ldap/LdapName.java b/jdk/src/share/classes/javax/naming/ldap/LdapName.java
index cde2b6a..07dd186 100644
--- a/jdk/src/share/classes/javax/naming/ldap/LdapName.java
+++ b/jdk/src/share/classes/javax/naming/ldap/LdapName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/javax/naming/ldap/PagedResultsControl.java b/jdk/src/share/classes/javax/naming/ldap/PagedResultsControl.java
index 18c08e5..26a4cfa 100644
--- a/jdk/src/share/classes/javax/naming/ldap/PagedResultsControl.java
+++ b/jdk/src/share/classes/javax/naming/ldap/PagedResultsControl.java
@@ -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
diff --git a/jdk/src/share/classes/javax/naming/ldap/SortControl.java b/jdk/src/share/classes/javax/naming/ldap/SortControl.java
index 3aef9fd..b7420b9 100644
--- a/jdk/src/share/classes/javax/naming/ldap/SortControl.java
+++ b/jdk/src/share/classes/javax/naming/ldap/SortControl.java
@@ -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
diff --git a/jdk/src/share/classes/javax/net/ssl/HttpsURLConnection.java b/jdk/src/share/classes/javax/net/ssl/HttpsURLConnection.java
index b4c9ffe..c1eb552 100644
--- a/jdk/src/share/classes/javax/net/ssl/HttpsURLConnection.java
+++ b/jdk/src/share/classes/javax/net/ssl/HttpsURLConnection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/javax/net/ssl/SSLContextSpi.java b/jdk/src/share/classes/javax/net/ssl/SSLContextSpi.java
index 0b06191..269ed85 100644
--- a/jdk/src/share/classes/javax/net/ssl/SSLContextSpi.java
+++ b/jdk/src/share/classes/javax/net/ssl/SSLContextSpi.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/javax/net/ssl/SSLEngineResult.java b/jdk/src/share/classes/javax/net/ssl/SSLEngineResult.java
index 93ad6a7..af42f2b 100644
--- a/jdk/src/share/classes/javax/net/ssl/SSLEngineResult.java
+++ b/jdk/src/share/classes/javax/net/ssl/SSLEngineResult.java
@@ -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
diff --git a/jdk/src/share/classes/javax/net/ssl/SSLPeerUnverifiedException.java b/jdk/src/share/classes/javax/net/ssl/SSLPeerUnverifiedException.java
index 380a525..e613e0f 100644
--- a/jdk/src/share/classes/javax/net/ssl/SSLPeerUnverifiedException.java
+++ b/jdk/src/share/classes/javax/net/ssl/SSLPeerUnverifiedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/javax/net/ssl/SSLServerSocketFactory.java b/jdk/src/share/classes/javax/net/ssl/SSLServerSocketFactory.java
index 8efbd41..a992a07 100644
--- a/jdk/src/share/classes/javax/net/ssl/SSLServerSocketFactory.java
+++ b/jdk/src/share/classes/javax/net/ssl/SSLServerSocketFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/javax/net/ssl/SSLSession.java b/jdk/src/share/classes/javax/net/ssl/SSLSession.java
index 7cbcf28..d98edf0 100644
--- a/jdk/src/share/classes/javax/net/ssl/SSLSession.java
+++ b/jdk/src/share/classes/javax/net/ssl/SSLSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/javax/net/ssl/SSLSessionContext.java b/jdk/src/share/classes/javax/net/ssl/SSLSessionContext.java
index 3459545..b6f6fb6 100644
--- a/jdk/src/share/classes/javax/net/ssl/SSLSessionContext.java
+++ b/jdk/src/share/classes/javax/net/ssl/SSLSessionContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/javax/net/ssl/SSLSocket.java b/jdk/src/share/classes/javax/net/ssl/SSLSocket.java
index 0945fc0..948e20d 100644
--- a/jdk/src/share/classes/javax/net/ssl/SSLSocket.java
+++ b/jdk/src/share/classes/javax/net/ssl/SSLSocket.java
@@ -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
diff --git a/jdk/src/share/classes/javax/print/CancelablePrintJob.java b/jdk/src/share/classes/javax/print/CancelablePrintJob.java
index 30f1529..ea23dff 100644
--- a/jdk/src/share/classes/javax/print/CancelablePrintJob.java
+++ b/jdk/src/share/classes/javax/print/CancelablePrintJob.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
diff --git a/jdk/src/share/classes/javax/print/DocFlavor.java b/jdk/src/share/classes/javax/print/DocFlavor.java
index 3c94623..d016cb7 100644
--- a/jdk/src/share/classes/javax/print/DocFlavor.java
+++ b/jdk/src/share/classes/javax/print/DocFlavor.java
@@ -1045,6 +1045,7 @@
* @author Alan Kaminsky
*/
public static class URL extends DocFlavor {
+ private static final long serialVersionUID = 2936725788144902062L;
/**
* Constructs a new doc flavor with the given MIME type and a print
diff --git a/jdk/src/share/classes/javax/print/DocPrintJob.java b/jdk/src/share/classes/javax/print/DocPrintJob.java
index 1a661f6..3d504dd 100644
--- a/jdk/src/share/classes/javax/print/DocPrintJob.java
+++ b/jdk/src/share/classes/javax/print/DocPrintJob.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/PrintException.java b/jdk/src/share/classes/javax/print/PrintException.java
index a66df87..f301998 100644
--- a/jdk/src/share/classes/javax/print/PrintException.java
+++ b/jdk/src/share/classes/javax/print/PrintException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -33,7 +33,7 @@
*
*/
public class PrintException extends Exception {
-
+ private static final long serialVersionUID = -5932531546705242471L;
/**
* Construct a print exception with no detail message.
diff --git a/jdk/src/share/classes/javax/print/PrintService.java b/jdk/src/share/classes/javax/print/PrintService.java
index 0b53a13..f52eb72 100644
--- a/jdk/src/share/classes/javax/print/PrintService.java
+++ b/jdk/src/share/classes/javax/print/PrintService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/ServiceUIFactory.java b/jdk/src/share/classes/javax/print/ServiceUIFactory.java
index e8cd067..d293a8c 100644
--- a/jdk/src/share/classes/javax/print/ServiceUIFactory.java
+++ b/jdk/src/share/classes/javax/print/ServiceUIFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/AttributeSetUtilities.java b/jdk/src/share/classes/javax/print/attribute/AttributeSetUtilities.java
index aa1468f..42ebc1f 100644
--- a/jdk/src/share/classes/javax/print/attribute/AttributeSetUtilities.java
+++ b/jdk/src/share/classes/javax/print/attribute/AttributeSetUtilities.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -77,6 +77,7 @@
*/
private static class UnmodifiableAttributeSet
implements AttributeSet, Serializable {
+ private static final long serialVersionUID = -6131802583863447813L;
private AttributeSet attrset;
@@ -147,6 +148,7 @@
private static class UnmodifiableDocAttributeSet
extends UnmodifiableAttributeSet
implements DocAttributeSet, Serializable {
+ private static final long serialVersionUID = -6349408326066898956L;
public UnmodifiableDocAttributeSet(DocAttributeSet attributeSet) {
@@ -161,6 +163,7 @@
extends UnmodifiableAttributeSet
implements PrintRequestAttributeSet, Serializable
{
+ private static final long serialVersionUID = 7799373532614825073L;
public UnmodifiablePrintRequestAttributeSet
(PrintRequestAttributeSet attributeSet) {
@@ -175,6 +178,7 @@
extends UnmodifiableAttributeSet
implements PrintJobAttributeSet, Serializable
{
+ private static final long serialVersionUID = -8002245296274522112L;
public UnmodifiablePrintJobAttributeSet
(PrintJobAttributeSet attributeSet) {
@@ -189,6 +193,7 @@
extends UnmodifiableAttributeSet
implements PrintServiceAttributeSet, Serializable
{
+ private static final long serialVersionUID = -7112165137107826819L;
public UnmodifiablePrintServiceAttributeSet
(PrintServiceAttributeSet attributeSet) {
@@ -291,6 +296,7 @@
*/
private static class SynchronizedAttributeSet
implements AttributeSet, Serializable {
+ private static final long serialVersionUID = 8365731020128564925L;
private AttributeSet attrset;
@@ -357,6 +363,7 @@
private static class SynchronizedDocAttributeSet
extends SynchronizedAttributeSet
implements DocAttributeSet, Serializable {
+ private static final long serialVersionUID = 6455869095246629354L;
public SynchronizedDocAttributeSet(DocAttributeSet attributeSet) {
super(attributeSet);
@@ -369,6 +376,7 @@
private static class SynchronizedPrintRequestAttributeSet
extends SynchronizedAttributeSet
implements PrintRequestAttributeSet, Serializable {
+ private static final long serialVersionUID = 5671237023971169027L;
public SynchronizedPrintRequestAttributeSet
(PrintRequestAttributeSet attributeSet) {
@@ -382,6 +390,7 @@
private static class SynchronizedPrintJobAttributeSet
extends SynchronizedAttributeSet
implements PrintJobAttributeSet, Serializable {
+ private static final long serialVersionUID = 2117188707856965749L;
public SynchronizedPrintJobAttributeSet
(PrintJobAttributeSet attributeSet) {
@@ -395,6 +404,8 @@
private static class SynchronizedPrintServiceAttributeSet
extends SynchronizedAttributeSet
implements PrintServiceAttributeSet, Serializable {
+ private static final long serialVersionUID = -2830705374001675073L;
+
public SynchronizedPrintServiceAttributeSet
(PrintServiceAttributeSet attributeSet) {
super(attributeSet);
diff --git a/jdk/src/share/classes/javax/print/attribute/DateTimeSyntax.java b/jdk/src/share/classes/javax/print/attribute/DateTimeSyntax.java
index 175281c..d78c8f2 100644
--- a/jdk/src/share/classes/javax/print/attribute/DateTimeSyntax.java
+++ b/jdk/src/share/classes/javax/print/attribute/DateTimeSyntax.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/DocAttributeSet.java b/jdk/src/share/classes/javax/print/attribute/DocAttributeSet.java
index 4cb3d41..b4482d2 100644
--- a/jdk/src/share/classes/javax/print/attribute/DocAttributeSet.java
+++ b/jdk/src/share/classes/javax/print/attribute/DocAttributeSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/EnumSyntax.java b/jdk/src/share/classes/javax/print/attribute/EnumSyntax.java
index 9847004..85ee7d8 100644
--- a/jdk/src/share/classes/javax/print/attribute/EnumSyntax.java
+++ b/jdk/src/share/classes/javax/print/attribute/EnumSyntax.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/IntegerSyntax.java b/jdk/src/share/classes/javax/print/attribute/IntegerSyntax.java
index 81ffff9..7675a83 100644
--- a/jdk/src/share/classes/javax/print/attribute/IntegerSyntax.java
+++ b/jdk/src/share/classes/javax/print/attribute/IntegerSyntax.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/PrintJobAttributeSet.java b/jdk/src/share/classes/javax/print/attribute/PrintJobAttributeSet.java
index e81511f..5bce735 100644
--- a/jdk/src/share/classes/javax/print/attribute/PrintJobAttributeSet.java
+++ b/jdk/src/share/classes/javax/print/attribute/PrintJobAttributeSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/PrintRequestAttributeSet.java b/jdk/src/share/classes/javax/print/attribute/PrintRequestAttributeSet.java
index 6f4c285..eac683b 100644
--- a/jdk/src/share/classes/javax/print/attribute/PrintRequestAttributeSet.java
+++ b/jdk/src/share/classes/javax/print/attribute/PrintRequestAttributeSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/PrintServiceAttributeSet.java b/jdk/src/share/classes/javax/print/attribute/PrintServiceAttributeSet.java
index f7c111c..badde73 100644
--- a/jdk/src/share/classes/javax/print/attribute/PrintServiceAttributeSet.java
+++ b/jdk/src/share/classes/javax/print/attribute/PrintServiceAttributeSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/ResolutionSyntax.java b/jdk/src/share/classes/javax/print/attribute/ResolutionSyntax.java
index a4a103a..f5a1240 100644
--- a/jdk/src/share/classes/javax/print/attribute/ResolutionSyntax.java
+++ b/jdk/src/share/classes/javax/print/attribute/ResolutionSyntax.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/Size2DSyntax.java b/jdk/src/share/classes/javax/print/attribute/Size2DSyntax.java
index e8b43a6..aac527f 100644
--- a/jdk/src/share/classes/javax/print/attribute/Size2DSyntax.java
+++ b/jdk/src/share/classes/javax/print/attribute/Size2DSyntax.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/UnmodifiableSetException.java b/jdk/src/share/classes/javax/print/attribute/UnmodifiableSetException.java
index 943f15d..a5b4d1d 100644
--- a/jdk/src/share/classes/javax/print/attribute/UnmodifiableSetException.java
+++ b/jdk/src/share/classes/javax/print/attribute/UnmodifiableSetException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -33,6 +33,8 @@
* @since 1.4
*/
public class UnmodifiableSetException extends RuntimeException {
+ private static final long serialVersionUID = 2255250308571511731L;
+
/**
* Constructs an UnsupportedOperationException with no detail message.
*/
diff --git a/jdk/src/share/classes/javax/print/attribute/package.html b/jdk/src/share/classes/javax/print/attribute/package.html
index 661cbc2..fa98516 100644
--- a/jdk/src/share/classes/javax/print/attribute/package.html
+++ b/jdk/src/share/classes/javax/print/attribute/package.html
@@ -3,7 +3,7 @@
<head>
<title>javax.print.attribute package</title>
<!--
-Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/standard/JobKOctets.java b/jdk/src/share/classes/javax/print/attribute/standard/JobKOctets.java
index b56e36e..a40a021 100644
--- a/jdk/src/share/classes/javax/print/attribute/standard/JobKOctets.java
+++ b/jdk/src/share/classes/javax/print/attribute/standard/JobKOctets.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/standard/MediaPrintableArea.java b/jdk/src/share/classes/javax/print/attribute/standard/MediaPrintableArea.java
index 9f33f05..232600e 100644
--- a/jdk/src/share/classes/javax/print/attribute/standard/MediaPrintableArea.java
+++ b/jdk/src/share/classes/javax/print/attribute/standard/MediaPrintableArea.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/standard/PresentationDirection.java b/jdk/src/share/classes/javax/print/attribute/standard/PresentationDirection.java
index 6d151f8..d5fbb0d 100644
--- a/jdk/src/share/classes/javax/print/attribute/standard/PresentationDirection.java
+++ b/jdk/src/share/classes/javax/print/attribute/standard/PresentationDirection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2004, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/standard/PrinterIsAcceptingJobs.java b/jdk/src/share/classes/javax/print/attribute/standard/PrinterIsAcceptingJobs.java
index d6628a0..c22042c 100644
--- a/jdk/src/share/classes/javax/print/attribute/standard/PrinterIsAcceptingJobs.java
+++ b/jdk/src/share/classes/javax/print/attribute/standard/PrinterIsAcceptingJobs.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/standard/PrinterStateReasons.java b/jdk/src/share/classes/javax/print/attribute/standard/PrinterStateReasons.java
index 52758fa..de695b7 100644
--- a/jdk/src/share/classes/javax/print/attribute/standard/PrinterStateReasons.java
+++ b/jdk/src/share/classes/javax/print/attribute/standard/PrinterStateReasons.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/attribute/standard/package.html b/jdk/src/share/classes/javax/print/attribute/standard/package.html
index 540f8ed..49fcbf3 100644
--- a/jdk/src/share/classes/javax/print/attribute/standard/package.html
+++ b/jdk/src/share/classes/javax/print/attribute/standard/package.html
@@ -3,7 +3,7 @@
<head>
<title>javax.print.attribute.standard package</title>
<!--
-Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/event/package.html b/jdk/src/share/classes/javax/print/event/package.html
index 69c54bd..10426d8 100644
--- a/jdk/src/share/classes/javax/print/event/package.html
+++ b/jdk/src/share/classes/javax/print/event/package.html
@@ -3,7 +3,7 @@
<head>
<title>javax.print.event package</title>
<!--
-Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/print/package.html b/jdk/src/share/classes/javax/print/package.html
index 0f195be..e4076f8 100644
--- a/jdk/src/share/classes/javax/print/package.html
+++ b/jdk/src/share/classes/javax/print/package.html
@@ -3,7 +3,7 @@
<head>
<title>javax.print package</title>
<!--
-Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/script/AbstractScriptEngine.java b/jdk/src/share/classes/javax/script/AbstractScriptEngine.java
index a0db613..7c9eb00 100644
--- a/jdk/src/share/classes/javax/script/AbstractScriptEngine.java
+++ b/jdk/src/share/classes/javax/script/AbstractScriptEngine.java
@@ -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
diff --git a/jdk/src/share/classes/javax/script/CompiledScript.java b/jdk/src/share/classes/javax/script/CompiledScript.java
index 5017565..7fb4157 100644
--- a/jdk/src/share/classes/javax/script/CompiledScript.java
+++ b/jdk/src/share/classes/javax/script/CompiledScript.java
@@ -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
diff --git a/jdk/src/share/classes/javax/script/ScriptEngine.java b/jdk/src/share/classes/javax/script/ScriptEngine.java
index 889cb66..5d04247 100644
--- a/jdk/src/share/classes/javax/script/ScriptEngine.java
+++ b/jdk/src/share/classes/javax/script/ScriptEngine.java
@@ -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
diff --git a/jdk/src/share/classes/javax/script/ScriptEngineManager.java b/jdk/src/share/classes/javax/script/ScriptEngineManager.java
index 769c41c..83cb9f0 100644
--- a/jdk/src/share/classes/javax/script/ScriptEngineManager.java
+++ b/jdk/src/share/classes/javax/script/ScriptEngineManager.java
@@ -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
diff --git a/jdk/src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java b/jdk/src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java
index fbf7471..9630c72 100644
--- a/jdk/src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java
+++ b/jdk/src/share/classes/javax/security/auth/kerberos/JavaxSecurityAuthKerberosAccessImpl.java
@@ -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
diff --git a/jdk/src/share/classes/javax/smartcardio/CardChannel.java b/jdk/src/share/classes/javax/smartcardio/CardChannel.java
index 688c4da..8821e5e 100644
--- a/jdk/src/share/classes/javax/smartcardio/CardChannel.java
+++ b/jdk/src/share/classes/javax/smartcardio/CardChannel.java
@@ -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
diff --git a/jdk/src/share/classes/javax/smartcardio/CardTerminal.java b/jdk/src/share/classes/javax/smartcardio/CardTerminal.java
index 65671d8..7406818 100644
--- a/jdk/src/share/classes/javax/smartcardio/CardTerminal.java
+++ b/jdk/src/share/classes/javax/smartcardio/CardTerminal.java
@@ -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
diff --git a/jdk/src/share/classes/javax/smartcardio/ResponseAPDU.java b/jdk/src/share/classes/javax/smartcardio/ResponseAPDU.java
index 7caa52e..e9850da 100644
--- a/jdk/src/share/classes/javax/smartcardio/ResponseAPDU.java
+++ b/jdk/src/share/classes/javax/smartcardio/ResponseAPDU.java
@@ -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
diff --git a/jdk/src/share/classes/javax/sound/midi/InvalidMidiDataException.java b/jdk/src/share/classes/javax/sound/midi/InvalidMidiDataException.java
index 4199a2b..ed20121f 100644
--- a/jdk/src/share/classes/javax/sound/midi/InvalidMidiDataException.java
+++ b/jdk/src/share/classes/javax/sound/midi/InvalidMidiDataException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -39,6 +39,7 @@
* @author Kara Kytle
*/
public class InvalidMidiDataException extends Exception {
+ private static final long serialVersionUID = 2780771756789932067L;
/**
* Constructs an <code>InvalidMidiDataException</code> with
@@ -49,7 +50,6 @@
super();
}
-
/**
* Constructs an <code>InvalidMidiDataException</code> with the
* specified detail message.
diff --git a/jdk/src/share/classes/javax/sound/midi/MidiSystem.java b/jdk/src/share/classes/javax/sound/midi/MidiSystem.java
index d0eab92..c661e23 100644
--- a/jdk/src/share/classes/javax/sound/midi/MidiSystem.java
+++ b/jdk/src/share/classes/javax/sound/midi/MidiSystem.java
@@ -1475,7 +1475,7 @@
/**
* Obtains the set of services currently installed on the system
- * using sun.misc.Service, the SPI mechanism in 1.3.
+ * using the SPI mechanism in 1.3.
* @return a List of instances of providers for the requested service.
* If no providers are available, a List of length 0 will be returned.
*/
diff --git a/jdk/src/share/classes/javax/sound/midi/MidiUnavailableException.java b/jdk/src/share/classes/javax/sound/midi/MidiUnavailableException.java
index 0a7191e..85ace34 100644
--- a/jdk/src/share/classes/javax/sound/midi/MidiUnavailableException.java
+++ b/jdk/src/share/classes/javax/sound/midi/MidiUnavailableException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -39,6 +39,7 @@
* @author Kara Kytle
*/
public class MidiUnavailableException extends Exception {
+ private static final long serialVersionUID = 6093809578628944323L;
/**
* Constructs a <code>MidiUnavailableException</code> that has
@@ -49,7 +50,6 @@
super();
}
-
/**
* Constructs a <code>MidiUnavailableException</code> with the
* specified detail message.
diff --git a/jdk/src/share/classes/javax/sound/midi/Soundbank.java b/jdk/src/share/classes/javax/sound/midi/Soundbank.java
index 023cabe..7aba057 100644
--- a/jdk/src/share/classes/javax/sound/midi/Soundbank.java
+++ b/jdk/src/share/classes/javax/sound/midi/Soundbank.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, 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
diff --git a/jdk/src/share/classes/javax/sound/sampled/AudioPermission.java b/jdk/src/share/classes/javax/sound/sampled/AudioPermission.java
index a265544..4e7dcef 100644
--- a/jdk/src/share/classes/javax/sound/sampled/AudioPermission.java
+++ b/jdk/src/share/classes/javax/sound/sampled/AudioPermission.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -27,7 +27,6 @@
import java.security.BasicPermission;
-
/**
* The <code>AudioPermission</code> class represents access rights to the audio
* system resources. An <code>AudioPermission</code> contains a target name
@@ -76,134 +75,8 @@
* @author Kara Kytle
* @since 1.3
*/
-/*
- * (OLD PERMISSIONS TAKEN OUT FOR 1.2 BETA)
- *
- * <tr>
- * <td>playback device access</td>
- * <td>Direct access to the audio playback device(s), including configuration of the
- * playback format, volume, and balance, explicit opening and closing of the device,
- * etc.</td>
- * <td>Changes the properties of a shared system device and therefore
- * can affect other applications.</td>
- * </tr>
- *
- * <tr>
- * <td>playback device override</td>
- * <td>Manipulation of the audio playback device(s) in a way that directly conflicts
- * with use by other applications. This includes closing the device while it is in
- * use by another application, changing the device format while another application
- * is using it, etc. </td>
- * <td>Changes the properties of a shared system device and therefore
- * can affect other applications.</td>
- * </tr>
- *
- * <tr>
- * <td>record device access</td>
- * <td>Direct access to the audio recording device(s), including configuration of the
- * the record format, volume, and balance, explicit opening and closing of the device,
- * etc.</td>
- * <td>Changes the properties of a shared system device and therefore
- * can affect other applications.</td>
- * </tr>
- *
- * <tr>
- * <td>record device override</td>
- * <td>Manipulation of the audio recording device(s) in a way that directly conflicts
- * with use by other applications. This includes closing the device while it is in
- * use by another application, changing the device format while another application
- * is using it, etc. </td>
- * <td>Changes the properties of a shared system device and therefore
- * can affect other applications.</td>
- * </tr>
- *
- * </table>
- *<p>
- *
- * @author Kara Kytle
- * @since 1.3
- */
-
-/*
- * The <code>AudioPermission</code> class represents access rights to the audio
- * system resources. An <code>AudioPermission</code> contains a target name
- * but no actions list; you either have the named permission or you don't.
- * <p>
- * The target name is the name of the audio permission (see the table below).
- * The names follow the hierarchical property-naming convention. Also, an asterisk
- * can be used to represent all the audio permissions.
- * <p>
- * The following table lists all the possible AudioPermission target names.
- * For each name, the table provides a description of exactly what that permission
- * allows, as well as a discussion of the risks of granting code the permission.
- * <p>
- *
- * <table border=1 cellpadding=5>
- * <tr>
- * <th>Permission Target Name</th>
- * <th>What the Permission Allows</th>
- * <th>Risks of Allowing this Permission</th>
- * </tr>
- *
- * <tr>
- * <td>play</td>
- * <td>Audio playback through the audio device or devices on the system.</td>
- * <td>Allows the application to use a system device. Can affect other applications,
- * because the result will be mixed with other audio being played on the system.</td>
- *</tr>
- *
- * <tr>
- * <td>record</td>
- * <td>Recording audio from the audio device or devices on the system,
- * commonly through a microphone.</td>
- * <td>Can enable an applet or application to eavesdrop on a user.</td>
- * </tr>
- *
- * <tr>
- * <td>playback device access</td>
- * <td>Direct access to the audio playback device(s), including configuration of the
- * playback format, volume, and balance, explicit opening and closing of the device,
- * etc.</td>
- * <td>Changes the properties of a shared system device and therefore
- * can affect other applications.</td>
- * </tr>
- *
- * <tr>
- * <td>playback device override</td>
- * <td>Manipulation of the audio playback device(s) in a way that directly conflicts
- * with use by other applications. This includes closing the device while it is in
- * use by another application, changing the device format while another application
- * is using it, etc. </td>
- * <td>Changes the properties of a shared system device and therefore
- * can affect other applications.</td>
- * </tr>
- *
- * <tr>
- * <td>record device access</td>
- * <td>Direct access to the audio recording device(s), including configuration of the
- * the record format, volume, and balance, explicit opening and closing of the device,
- * etc.</td>
- * <td>Changes the properties of a shared system device and therefore
- * can affect other applications.</td>
- * </tr>
- *
- * <tr>
- * <td>record device override</td>
- * <td>Manipulation of the audio recording device(s) in a way that directly conflicts
- * with use by other applications. This includes closing the device while it is in
- * use by another application, changing the device format while another application
- * is using it, etc. </td>
- * <td>Changes the properties of a shared system device and therefore
- * can affect other applications.</td>
- * </tr>
- *
- * </table>
- *<p>
- *
- * @author Kara Kytle
- */
-
public class AudioPermission extends BasicPermission {
+ private static final long serialVersionUID = -5518053473477801126L;
/**
* Creates a new <code>AudioPermission</code> object that has the specified
diff --git a/jdk/src/share/classes/javax/sound/sampled/AudioSystem.java b/jdk/src/share/classes/javax/sound/sampled/AudioSystem.java
index 17c0f26..235ed23 100644
--- a/jdk/src/share/classes/javax/sound/sampled/AudioSystem.java
+++ b/jdk/src/share/classes/javax/sound/sampled/AudioSystem.java
@@ -1622,7 +1622,7 @@
/**
* Obtains the set of services currently installed on the system
- * using sun.misc.Service, the SPI mechanism in 1.3.
+ * using the SPI mechanism in 1.3.
* @return a List of instances of providers for the requested service.
* If no providers are available, a vector of length 0 will be returned.
*/
diff --git a/jdk/src/share/classes/javax/sound/sampled/DataLine.java b/jdk/src/share/classes/javax/sound/sampled/DataLine.java
index 8b3b180..d0030c9 100644
--- a/jdk/src/share/classes/javax/sound/sampled/DataLine.java
+++ b/jdk/src/share/classes/javax/sound/sampled/DataLine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, 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
diff --git a/jdk/src/share/classes/javax/sound/sampled/LineEvent.java b/jdk/src/share/classes/javax/sound/sampled/LineEvent.java
index d94c757..ff5b90f 100644
--- a/jdk/src/share/classes/javax/sound/sampled/LineEvent.java
+++ b/jdk/src/share/classes/javax/sound/sampled/LineEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -46,6 +46,7 @@
* @serial exclude
*/
public class LineEvent extends java.util.EventObject {
+ private static final long serialVersionUID = -1274246333383880410L;
// INSTANCE VARIABLES
diff --git a/jdk/src/share/classes/javax/sound/sampled/LineUnavailableException.java b/jdk/src/share/classes/javax/sound/sampled/LineUnavailableException.java
index c63f9ad..1e72f75 100644
--- a/jdk/src/share/classes/javax/sound/sampled/LineUnavailableException.java
+++ b/jdk/src/share/classes/javax/sound/sampled/LineUnavailableException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -44,6 +44,7 @@
*/
public class LineUnavailableException extends Exception {
+ private static final long serialVersionUID = -2046718279487432130L;
/**
* Constructs a <code>LineUnavailableException</code> that has
@@ -54,7 +55,6 @@
super();
}
-
/**
* Constructs a <code>LineUnavailableException</code> that has
* the specified detail message.
diff --git a/jdk/src/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java b/jdk/src/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java
index 56690b5..45acd48 100644
--- a/jdk/src/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java
+++ b/jdk/src/share/classes/javax/sound/sampled/UnsupportedAudioFileException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -33,15 +33,8 @@
* @author Kara Kytle
* @since 1.3
*/
-/*
- * An <code>UnsupportedAudioFileException</code> is an exception indicating that an
- * operation failed because a file did not contain valid data of a recognized file
- * type and format.
- *
- * @author Kara Kytle
- */
-
public class UnsupportedAudioFileException extends Exception {
+ private static final long serialVersionUID = -139127412623160368L;
/**
* Constructs a <code>UnsupportedAudioFileException</code> that has
@@ -52,7 +45,6 @@
super();
}
-
/**
* Constructs a <code>UnsupportedAudioFileException</code> that has
* the specified detail message.
diff --git a/jdk/src/share/classes/javax/sql/PooledConnection.java b/jdk/src/share/classes/javax/sql/PooledConnection.java
index 7815893..870b23d 100644
--- a/jdk/src/share/classes/javax/sql/PooledConnection.java
+++ b/jdk/src/share/classes/javax/sql/PooledConnection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/sql/StatementEvent.java b/jdk/src/share/classes/javax/sql/StatementEvent.java
index 62a2ae2..688eced 100644
--- a/jdk/src/share/classes/javax/sql/StatementEvent.java
+++ b/jdk/src/share/classes/javax/sql/StatementEvent.java
@@ -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
diff --git a/jdk/src/share/classes/javax/sql/rowset/JoinRowSet.java b/jdk/src/share/classes/javax/sql/rowset/JoinRowSet.java
index 08b88dd..501a8ee 100644
--- a/jdk/src/share/classes/javax/sql/rowset/JoinRowSet.java
+++ b/jdk/src/share/classes/javax/sql/rowset/JoinRowSet.java
@@ -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
diff --git a/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java b/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java
index a5c9981..b71270a 100644
--- a/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java
+++ b/jdk/src/share/classes/javax/sql/rowset/RowSetMetaDataImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
@@ -579,7 +579,7 @@
*
* @param columnIndex the first column is 1, the second is 2, and so on;
* must be between <code>1</code> and the number of columns, inclusive
- * @return <code>true</code> if if a value in the designated column is a signed
+ * @return <code>true</code> if a value in the designated column is a signed
* number; <code>false</code> otherwise
* @throws SQLException if a database access error occurs
* or the given column number is out of bounds
diff --git a/jdk/src/share/classes/javax/sql/rowset/package.html b/jdk/src/share/classes/javax/sql/rowset/package.html
index da94c38..09949e5 100644
--- a/jdk/src/share/classes/javax/sql/rowset/package.html
+++ b/jdk/src/share/classes/javax/sql/rowset/package.html
@@ -5,7 +5,7 @@
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<!--
-Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/javax/sql/rowset/spi/SyncProvider.java b/jdk/src/share/classes/javax/sql/rowset/spi/SyncProvider.java
index 7dce603..6f1cc16 100644
--- a/jdk/src/share/classes/javax/sql/rowset/spi/SyncProvider.java
+++ b/jdk/src/share/classes/javax/sql/rowset/spi/SyncProvider.java
@@ -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
diff --git a/jdk/src/share/classes/javax/sql/rowset/spi/TransactionalWriter.java b/jdk/src/share/classes/javax/sql/rowset/spi/TransactionalWriter.java
index 871e94c..fce96e8 100644
--- a/jdk/src/share/classes/javax/sql/rowset/spi/TransactionalWriter.java
+++ b/jdk/src/share/classes/javax/sql/rowset/spi/TransactionalWriter.java
@@ -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
diff --git a/jdk/src/share/classes/javax/sql/rowset/spi/XmlReader.java b/jdk/src/share/classes/javax/sql/rowset/spi/XmlReader.java
index ea03f85..9aad9cc 100644
--- a/jdk/src/share/classes/javax/sql/rowset/spi/XmlReader.java
+++ b/jdk/src/share/classes/javax/sql/rowset/spi/XmlReader.java
@@ -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
diff --git a/jdk/src/share/classes/javax/sql/rowset/spi/XmlWriter.java b/jdk/src/share/classes/javax/sql/rowset/spi/XmlWriter.java
index 9943736..80ab78f 100644
--- a/jdk/src/share/classes/javax/sql/rowset/spi/XmlWriter.java
+++ b/jdk/src/share/classes/javax/sql/rowset/spi/XmlWriter.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/Action.java b/jdk/src/share/classes/javax/swing/Action.java
index 66fcf83..7fc81b4 100644
--- a/jdk/src/share/classes/javax/swing/Action.java
+++ b/jdk/src/share/classes/javax/swing/Action.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
diff --git a/jdk/src/share/classes/javax/swing/ActionMap.java b/jdk/src/share/classes/javax/swing/ActionMap.java
index d3a03ff..6e9ce60 100644
--- a/jdk/src/share/classes/javax/swing/ActionMap.java
+++ b/jdk/src/share/classes/javax/swing/ActionMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java b/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java
index cccbd2a..2dfa914 100644
--- a/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java
+++ b/jdk/src/share/classes/javax/swing/ActionPropertyChangeListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/ArrayTable.java b/jdk/src/share/classes/javax/swing/ArrayTable.java
index 7878092..d9e5449 100644
--- a/jdk/src/share/classes/javax/swing/ArrayTable.java
+++ b/jdk/src/share/classes/javax/swing/ArrayTable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/BorderFactory.java b/jdk/src/share/classes/javax/swing/BorderFactory.java
index 1a1e4ab..f821e76 100644
--- a/jdk/src/share/classes/javax/swing/BorderFactory.java
+++ b/jdk/src/share/classes/javax/swing/BorderFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/BoundedRangeModel.java b/jdk/src/share/classes/javax/swing/BoundedRangeModel.java
index c8348b9..ea0a411 100644
--- a/jdk/src/share/classes/javax/swing/BoundedRangeModel.java
+++ b/jdk/src/share/classes/javax/swing/BoundedRangeModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/Box.java b/jdk/src/share/classes/javax/swing/Box.java
index 1a3ace7..9bf5474 100644
--- a/jdk/src/share/classes/javax/swing/Box.java
+++ b/jdk/src/share/classes/javax/swing/Box.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, 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
diff --git a/jdk/src/share/classes/javax/swing/BoxLayout.java b/jdk/src/share/classes/javax/swing/BoxLayout.java
index 09968fb..8723a15 100644
--- a/jdk/src/share/classes/javax/swing/BoxLayout.java
+++ b/jdk/src/share/classes/javax/swing/BoxLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, 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
diff --git a/jdk/src/share/classes/javax/swing/BufferStrategyPaintManager.java b/jdk/src/share/classes/javax/swing/BufferStrategyPaintManager.java
index 402e6a6..97653d0 100644
--- a/jdk/src/share/classes/javax/swing/BufferStrategyPaintManager.java
+++ b/jdk/src/share/classes/javax/swing/BufferStrategyPaintManager.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/ButtonGroup.java b/jdk/src/share/classes/javax/swing/ButtonGroup.java
index 7f6229d..27b11ea 100644
--- a/jdk/src/share/classes/javax/swing/ButtonGroup.java
+++ b/jdk/src/share/classes/javax/swing/ButtonGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/ClientPropertyKey.java b/jdk/src/share/classes/javax/swing/ClientPropertyKey.java
index f51332d..b9fca10 100644
--- a/jdk/src/share/classes/javax/swing/ClientPropertyKey.java
+++ b/jdk/src/share/classes/javax/swing/ClientPropertyKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/ComboBoxModel.java b/jdk/src/share/classes/javax/swing/ComboBoxModel.java
index 4b657da..e7c3be9 100644
--- a/jdk/src/share/classes/javax/swing/ComboBoxModel.java
+++ b/jdk/src/share/classes/javax/swing/ComboBoxModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/ComponentInputMap.java b/jdk/src/share/classes/javax/swing/ComponentInputMap.java
index bf8cda3..ba2d48a 100644
--- a/jdk/src/share/classes/javax/swing/ComponentInputMap.java
+++ b/jdk/src/share/classes/javax/swing/ComponentInputMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/DefaultFocusManager.java b/jdk/src/share/classes/javax/swing/DefaultFocusManager.java
index 4ebc54a..0644bc0 100644
--- a/jdk/src/share/classes/javax/swing/DefaultFocusManager.java
+++ b/jdk/src/share/classes/javax/swing/DefaultFocusManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/DefaultRowSorter.java b/jdk/src/share/classes/javax/swing/DefaultRowSorter.java
index f33a83e..5b9e945 100644
--- a/jdk/src/share/classes/javax/swing/DefaultRowSorter.java
+++ b/jdk/src/share/classes/javax/swing/DefaultRowSorter.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/DesktopManager.java b/jdk/src/share/classes/javax/swing/DesktopManager.java
index e0a2a43..07e40a0 100644
--- a/jdk/src/share/classes/javax/swing/DesktopManager.java
+++ b/jdk/src/share/classes/javax/swing/DesktopManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2002, 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
diff --git a/jdk/src/share/classes/javax/swing/FocusManager.java b/jdk/src/share/classes/javax/swing/FocusManager.java
index 554a155..1e3a98b 100644
--- a/jdk/src/share/classes/javax/swing/FocusManager.java
+++ b/jdk/src/share/classes/javax/swing/FocusManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
diff --git a/jdk/src/share/classes/javax/swing/GroupLayout.java b/jdk/src/share/classes/javax/swing/GroupLayout.java
index 582c961..c6d0fc1 100644
--- a/jdk/src/share/classes/javax/swing/GroupLayout.java
+++ b/jdk/src/share/classes/javax/swing/GroupLayout.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/InputMap.java b/jdk/src/share/classes/javax/swing/InputMap.java
index fa2a036..55af730 100644
--- a/jdk/src/share/classes/javax/swing/InputMap.java
+++ b/jdk/src/share/classes/javax/swing/InputMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/InputVerifier.java b/jdk/src/share/classes/javax/swing/InputVerifier.java
index 2cf4ddc..111015e 100644
--- a/jdk/src/share/classes/javax/swing/InputVerifier.java
+++ b/jdk/src/share/classes/javax/swing/InputVerifier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/JButton.java b/jdk/src/share/classes/javax/swing/JButton.java
index 0e97ba8..5823cf1 100644
--- a/jdk/src/share/classes/javax/swing/JButton.java
+++ b/jdk/src/share/classes/javax/swing/JButton.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, 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
diff --git a/jdk/src/share/classes/javax/swing/JFileChooser.java b/jdk/src/share/classes/javax/swing/JFileChooser.java
index 012c675..a3d4443 100644
--- a/jdk/src/share/classes/javax/swing/JFileChooser.java
+++ b/jdk/src/share/classes/javax/swing/JFileChooser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/JLayer.java b/jdk/src/share/classes/javax/swing/JLayer.java
index b0f3894..d79b048 100644
--- a/jdk/src/share/classes/javax/swing/JLayer.java
+++ b/jdk/src/share/classes/javax/swing/JLayer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/JMenu.java b/jdk/src/share/classes/javax/swing/JMenu.java
index 7493ede..a9cec08 100644
--- a/jdk/src/share/classes/javax/swing/JMenu.java
+++ b/jdk/src/share/classes/javax/swing/JMenu.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/JMenuBar.java b/jdk/src/share/classes/javax/swing/JMenuBar.java
index f00d420..7c7cc54 100644
--- a/jdk/src/share/classes/javax/swing/JMenuBar.java
+++ b/jdk/src/share/classes/javax/swing/JMenuBar.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/JMenuItem.java b/jdk/src/share/classes/javax/swing/JMenuItem.java
index 10b59bb..4ee5b67 100644
--- a/jdk/src/share/classes/javax/swing/JMenuItem.java
+++ b/jdk/src/share/classes/javax/swing/JMenuItem.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/JRootPane.java b/jdk/src/share/classes/javax/swing/JRootPane.java
index b1eaf52..8cab327 100644
--- a/jdk/src/share/classes/javax/swing/JRootPane.java
+++ b/jdk/src/share/classes/javax/swing/JRootPane.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, 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
diff --git a/jdk/src/share/classes/javax/swing/JSeparator.java b/jdk/src/share/classes/javax/swing/JSeparator.java
index 5f56ae3..179c7fe 100644
--- a/jdk/src/share/classes/javax/swing/JSeparator.java
+++ b/jdk/src/share/classes/javax/swing/JSeparator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/JToolTip.java b/jdk/src/share/classes/javax/swing/JToolTip.java
index 6373fee..e540912 100644
--- a/jdk/src/share/classes/javax/swing/JToolTip.java
+++ b/jdk/src/share/classes/javax/swing/JToolTip.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/JTree.java b/jdk/src/share/classes/javax/swing/JTree.java
index 196cde4..35603c5 100644
--- a/jdk/src/share/classes/javax/swing/JTree.java
+++ b/jdk/src/share/classes/javax/swing/JTree.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/JViewport.java b/jdk/src/share/classes/javax/swing/JViewport.java
index 5cc25a7..856513a 100644
--- a/jdk/src/share/classes/javax/swing/JViewport.java
+++ b/jdk/src/share/classes/javax/swing/JViewport.java
@@ -661,7 +661,7 @@
* painting to originate from {@code JViewport}, or one of its
* ancestors. Otherwise returns {@code false}.
*
- * @return true if if scroll mode is a {@code BACKINGSTORE_SCROLL_MODE}.
+ * @return true if scroll mode is a {@code BACKINGSTORE_SCROLL_MODE}.
* @see JComponent#isPaintingOrigin()
*/
protected boolean isPaintingOrigin() {
diff --git a/jdk/src/share/classes/javax/swing/JWindow.java b/jdk/src/share/classes/javax/swing/JWindow.java
index 2cfdef4..4de51d2 100644
--- a/jdk/src/share/classes/javax/swing/JWindow.java
+++ b/jdk/src/share/classes/javax/swing/JWindow.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/KeyboardManager.java b/jdk/src/share/classes/javax/swing/KeyboardManager.java
index afbd93e..cbda853 100644
--- a/jdk/src/share/classes/javax/swing/KeyboardManager.java
+++ b/jdk/src/share/classes/javax/swing/KeyboardManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2009, 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
diff --git a/jdk/src/share/classes/javax/swing/LookAndFeel.java b/jdk/src/share/classes/javax/swing/LookAndFeel.java
index 2aad929..16f4308 100644
--- a/jdk/src/share/classes/javax/swing/LookAndFeel.java
+++ b/jdk/src/share/classes/javax/swing/LookAndFeel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/MutableComboBoxModel.java b/jdk/src/share/classes/javax/swing/MutableComboBoxModel.java
index 90f9474..09fb037 100644
--- a/jdk/src/share/classes/javax/swing/MutableComboBoxModel.java
+++ b/jdk/src/share/classes/javax/swing/MutableComboBoxModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/Painter.java b/jdk/src/share/classes/javax/swing/Painter.java
index 57ac21f..bd1b5a1 100644
--- a/jdk/src/share/classes/javax/swing/Painter.java
+++ b/jdk/src/share/classes/javax/swing/Painter.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/Popup.java b/jdk/src/share/classes/javax/swing/Popup.java
index e59d6d8..7597045 100644
--- a/jdk/src/share/classes/javax/swing/Popup.java
+++ b/jdk/src/share/classes/javax/swing/Popup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/PopupFactory.java b/jdk/src/share/classes/javax/swing/PopupFactory.java
index 13a1f9d..275a1d3 100644
--- a/jdk/src/share/classes/javax/swing/PopupFactory.java
+++ b/jdk/src/share/classes/javax/swing/PopupFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/ProgressMonitor.java b/jdk/src/share/classes/javax/swing/ProgressMonitor.java
index c763765..378e176 100644
--- a/jdk/src/share/classes/javax/swing/ProgressMonitor.java
+++ b/jdk/src/share/classes/javax/swing/ProgressMonitor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/ProgressMonitorInputStream.java b/jdk/src/share/classes/javax/swing/ProgressMonitorInputStream.java
index 43213c7..67fc068 100644
--- a/jdk/src/share/classes/javax/swing/ProgressMonitorInputStream.java
+++ b/jdk/src/share/classes/javax/swing/ProgressMonitorInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/RepaintManager.java b/jdk/src/share/classes/javax/swing/RepaintManager.java
index ce0467a..5f103d9 100644
--- a/jdk/src/share/classes/javax/swing/RepaintManager.java
+++ b/jdk/src/share/classes/javax/swing/RepaintManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/RootPaneContainer.java b/jdk/src/share/classes/javax/swing/RootPaneContainer.java
index 8f4405f..c728acb 100644
--- a/jdk/src/share/classes/javax/swing/RootPaneContainer.java
+++ b/jdk/src/share/classes/javax/swing/RootPaneContainer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/RowFilter.java b/jdk/src/share/classes/javax/swing/RowFilter.java
index ccf779c..8201add 100644
--- a/jdk/src/share/classes/javax/swing/RowFilter.java
+++ b/jdk/src/share/classes/javax/swing/RowFilter.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/ScrollPaneConstants.java b/jdk/src/share/classes/javax/swing/ScrollPaneConstants.java
index ff9284a..6fef77a 100644
--- a/jdk/src/share/classes/javax/swing/ScrollPaneConstants.java
+++ b/jdk/src/share/classes/javax/swing/ScrollPaneConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/SizeSequence.java b/jdk/src/share/classes/javax/swing/SizeSequence.java
index 4d8d65e..131032d 100644
--- a/jdk/src/share/classes/javax/swing/SizeSequence.java
+++ b/jdk/src/share/classes/javax/swing/SizeSequence.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java b/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java
index 45b3766..53b348f 100644
--- a/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java
+++ b/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/SpinnerDateModel.java b/jdk/src/share/classes/javax/swing/SpinnerDateModel.java
index ee72e06..e810486 100644
--- a/jdk/src/share/classes/javax/swing/SpinnerDateModel.java
+++ b/jdk/src/share/classes/javax/swing/SpinnerDateModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/SpinnerListModel.java b/jdk/src/share/classes/javax/swing/SpinnerListModel.java
index 58f19e3..15a8472 100644
--- a/jdk/src/share/classes/javax/swing/SpinnerListModel.java
+++ b/jdk/src/share/classes/javax/swing/SpinnerListModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/SpinnerModel.java b/jdk/src/share/classes/javax/swing/SpinnerModel.java
index 029f704..7c06024 100644
--- a/jdk/src/share/classes/javax/swing/SpinnerModel.java
+++ b/jdk/src/share/classes/javax/swing/SpinnerModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/SpinnerNumberModel.java b/jdk/src/share/classes/javax/swing/SpinnerNumberModel.java
index cc12cb7..b52d360 100644
--- a/jdk/src/share/classes/javax/swing/SpinnerNumberModel.java
+++ b/jdk/src/share/classes/javax/swing/SpinnerNumberModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/Spring.java b/jdk/src/share/classes/javax/swing/Spring.java
index e0cb015..75b2a51 100644
--- a/jdk/src/share/classes/javax/swing/Spring.java
+++ b/jdk/src/share/classes/javax/swing/Spring.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/SwingUtilities.java b/jdk/src/share/classes/javax/swing/SwingUtilities.java
index 9d17280..7f79052 100644
--- a/jdk/src/share/classes/javax/swing/SwingUtilities.java
+++ b/jdk/src/share/classes/javax/swing/SwingUtilities.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/Timer.java b/jdk/src/share/classes/javax/swing/Timer.java
index e6e0430..5ef34ad 100644
--- a/jdk/src/share/classes/javax/swing/Timer.java
+++ b/jdk/src/share/classes/javax/swing/Timer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/TimerQueue.java b/jdk/src/share/classes/javax/swing/TimerQueue.java
index 91747dd..a6791d6 100644
--- a/jdk/src/share/classes/javax/swing/TimerQueue.java
+++ b/jdk/src/share/classes/javax/swing/TimerQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/javax/swing/ToolTipManager.java b/jdk/src/share/classes/javax/swing/ToolTipManager.java
index f180a9a..6a3954f 100644
--- a/jdk/src/share/classes/javax/swing/ToolTipManager.java
+++ b/jdk/src/share/classes/javax/swing/ToolTipManager.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/TransferHandler.java b/jdk/src/share/classes/javax/swing/TransferHandler.java
index 8b76770..886b41b 100644
--- a/jdk/src/share/classes/javax/swing/TransferHandler.java
+++ b/jdk/src/share/classes/javax/swing/TransferHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/WindowConstants.java b/jdk/src/share/classes/javax/swing/WindowConstants.java
index 0523758..6b1fdb3 100644
--- a/jdk/src/share/classes/javax/swing/WindowConstants.java
+++ b/jdk/src/share/classes/javax/swing/WindowConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/border/AbstractBorder.java b/jdk/src/share/classes/javax/swing/border/AbstractBorder.java
index ee7ee28..b329c07 100644
--- a/jdk/src/share/classes/javax/swing/border/AbstractBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/AbstractBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/border/Border.java b/jdk/src/share/classes/javax/swing/border/Border.java
index 2e1d6c7..ca58d0d 100644
--- a/jdk/src/share/classes/javax/swing/border/Border.java
+++ b/jdk/src/share/classes/javax/swing/border/Border.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/border/CompoundBorder.java b/jdk/src/share/classes/javax/swing/border/CompoundBorder.java
index 6a28c1a..b62ecc9 100644
--- a/jdk/src/share/classes/javax/swing/border/CompoundBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/CompoundBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/border/EmptyBorder.java b/jdk/src/share/classes/javax/swing/border/EmptyBorder.java
index cc8da3a..1875ee3 100644
--- a/jdk/src/share/classes/javax/swing/border/EmptyBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/EmptyBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, 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
diff --git a/jdk/src/share/classes/javax/swing/border/MatteBorder.java b/jdk/src/share/classes/javax/swing/border/MatteBorder.java
index 53eaefa..e8491f5 100644
--- a/jdk/src/share/classes/javax/swing/border/MatteBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/MatteBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/border/TitledBorder.java b/jdk/src/share/classes/javax/swing/border/TitledBorder.java
index 250f0b7..5b08430 100644
--- a/jdk/src/share/classes/javax/swing/border/TitledBorder.java
+++ b/jdk/src/share/classes/javax/swing/border/TitledBorder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/border/package.html b/jdk/src/share/classes/javax/swing/border/package.html
index c11b674..2341e1e 100644
--- a/jdk/src/share/classes/javax/swing/border/package.html
+++ b/jdk/src/share/classes/javax/swing/border/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java b/jdk/src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java
index 37e7135..7a5afde 100644
--- a/jdk/src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java
+++ b/jdk/src/share/classes/javax/swing/colorchooser/ColorChooserPanel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/colorchooser/ColorPanel.java b/jdk/src/share/classes/javax/swing/colorchooser/ColorPanel.java
index b1f992a..efed08f 100644
--- a/jdk/src/share/classes/javax/swing/colorchooser/ColorPanel.java
+++ b/jdk/src/share/classes/javax/swing/colorchooser/ColorPanel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/colorchooser/package.html b/jdk/src/share/classes/javax/swing/colorchooser/package.html
index bf405aa..cb80302 100644
--- a/jdk/src/share/classes/javax/swing/colorchooser/package.html
+++ b/jdk/src/share/classes/javax/swing/colorchooser/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/event/AncestorEvent.java b/jdk/src/share/classes/javax/swing/event/AncestorEvent.java
index 0234d3e..a113ebe 100644
--- a/jdk/src/share/classes/javax/swing/event/AncestorEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/AncestorEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/event/ChangeEvent.java b/jdk/src/share/classes/javax/swing/event/ChangeEvent.java
index 4e93c29..d9d5965 100644
--- a/jdk/src/share/classes/javax/swing/event/ChangeEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/ChangeEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/event/DocumentEvent.java b/jdk/src/share/classes/javax/swing/event/DocumentEvent.java
index a115660..a197cc7 100644
--- a/jdk/src/share/classes/javax/swing/event/DocumentEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/DocumentEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/event/EventListenerList.java b/jdk/src/share/classes/javax/swing/event/EventListenerList.java
index e02e7f3..9e145da 100644
--- a/jdk/src/share/classes/javax/swing/event/EventListenerList.java
+++ b/jdk/src/share/classes/javax/swing/event/EventListenerList.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
diff --git a/jdk/src/share/classes/javax/swing/event/InternalFrameAdapter.java b/jdk/src/share/classes/javax/swing/event/InternalFrameAdapter.java
index 6ab9047..2ee07f9 100644
--- a/jdk/src/share/classes/javax/swing/event/InternalFrameAdapter.java
+++ b/jdk/src/share/classes/javax/swing/event/InternalFrameAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/event/InternalFrameListener.java b/jdk/src/share/classes/javax/swing/event/InternalFrameListener.java
index bf04ee2..151c497 100644
--- a/jdk/src/share/classes/javax/swing/event/InternalFrameListener.java
+++ b/jdk/src/share/classes/javax/swing/event/InternalFrameListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/event/ListDataEvent.java b/jdk/src/share/classes/javax/swing/event/ListDataEvent.java
index 05f0ccd..3706d97 100644
--- a/jdk/src/share/classes/javax/swing/event/ListDataEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/ListDataEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/event/MenuDragMouseEvent.java b/jdk/src/share/classes/javax/swing/event/MenuDragMouseEvent.java
index d2fcea6..ac64103 100644
--- a/jdk/src/share/classes/javax/swing/event/MenuDragMouseEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/MenuDragMouseEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/event/MenuEvent.java b/jdk/src/share/classes/javax/swing/event/MenuEvent.java
index a88c6b1..7b68d3c 100644
--- a/jdk/src/share/classes/javax/swing/event/MenuEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/MenuEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/event/MenuKeyEvent.java b/jdk/src/share/classes/javax/swing/event/MenuKeyEvent.java
index 3575352..c654b4b 100644
--- a/jdk/src/share/classes/javax/swing/event/MenuKeyEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/MenuKeyEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/event/PopupMenuEvent.java b/jdk/src/share/classes/javax/swing/event/PopupMenuEvent.java
index 695f858..0668371 100644
--- a/jdk/src/share/classes/javax/swing/event/PopupMenuEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/PopupMenuEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/event/TreeExpansionListener.java b/jdk/src/share/classes/javax/swing/event/TreeExpansionListener.java
index 7a2867b..915dcf9 100644
--- a/jdk/src/share/classes/javax/swing/event/TreeExpansionListener.java
+++ b/jdk/src/share/classes/javax/swing/event/TreeExpansionListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/event/TreeModelListener.java b/jdk/src/share/classes/javax/swing/event/TreeModelListener.java
index 48a945f..d89c2a3 100644
--- a/jdk/src/share/classes/javax/swing/event/TreeModelListener.java
+++ b/jdk/src/share/classes/javax/swing/event/TreeModelListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/event/TreeSelectionEvent.java b/jdk/src/share/classes/javax/swing/event/TreeSelectionEvent.java
index 40deb71..d2966ad 100644
--- a/jdk/src/share/classes/javax/swing/event/TreeSelectionEvent.java
+++ b/jdk/src/share/classes/javax/swing/event/TreeSelectionEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/event/TreeSelectionListener.java b/jdk/src/share/classes/javax/swing/event/TreeSelectionListener.java
index 6a344e3..903fb41 100644
--- a/jdk/src/share/classes/javax/swing/event/TreeSelectionListener.java
+++ b/jdk/src/share/classes/javax/swing/event/TreeSelectionListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/event/TreeWillExpandListener.java b/jdk/src/share/classes/javax/swing/event/TreeWillExpandListener.java
index 3afb1f1..6fd170c 100644
--- a/jdk/src/share/classes/javax/swing/event/TreeWillExpandListener.java
+++ b/jdk/src/share/classes/javax/swing/event/TreeWillExpandListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/event/package.html b/jdk/src/share/classes/javax/swing/event/package.html
index c1fab2c..054a005 100644
--- a/jdk/src/share/classes/javax/swing/event/package.html
+++ b/jdk/src/share/classes/javax/swing/event/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/filechooser/FileFilter.java b/jdk/src/share/classes/javax/swing/filechooser/FileFilter.java
index 8cc1586..1bdc9d4 100644
--- a/jdk/src/share/classes/javax/swing/filechooser/FileFilter.java
+++ b/jdk/src/share/classes/javax/swing/filechooser/FileFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/filechooser/FileSystemView.java b/jdk/src/share/classes/javax/swing/filechooser/FileSystemView.java
index 9d93b9b..f62d69c 100644
--- a/jdk/src/share/classes/javax/swing/filechooser/FileSystemView.java
+++ b/jdk/src/share/classes/javax/swing/filechooser/FileSystemView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/filechooser/FileView.java b/jdk/src/share/classes/javax/swing/filechooser/FileView.java
index 30dffc1..5e04ca4 100644
--- a/jdk/src/share/classes/javax/swing/filechooser/FileView.java
+++ b/jdk/src/share/classes/javax/swing/filechooser/FileView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/javax/swing/filechooser/package.html b/jdk/src/share/classes/javax/swing/filechooser/package.html
index 6303e9f..d850fc5 100644
--- a/jdk/src/share/classes/javax/swing/filechooser/package.html
+++ b/jdk/src/share/classes/javax/swing/filechooser/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/package.html b/jdk/src/share/classes/javax/swing/package.html
index fcf18c2..5e7dfe7 100644
--- a/jdk/src/share/classes/javax/swing/package.html
+++ b/jdk/src/share/classes/javax/swing/package.html
@@ -3,7 +3,7 @@
<HEAD>
<!--
-Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/ComboBoxUI.java b/jdk/src/share/classes/javax/swing/plaf/ComboBoxUI.java
index 92eb0e1..93511e9 100644
--- a/jdk/src/share/classes/javax/swing/plaf/ComboBoxUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/ComboBoxUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/ComponentUI.java b/jdk/src/share/classes/javax/swing/plaf/ComponentUI.java
index 5da213a..2e81c64 100644
--- a/jdk/src/share/classes/javax/swing/plaf/ComponentUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/ComponentUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/LayerUI.java b/jdk/src/share/classes/javax/swing/plaf/LayerUI.java
index e8eafdf..cce5249 100644
--- a/jdk/src/share/classes/javax/swing/plaf/LayerUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/LayerUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicBorders.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicBorders.java
index 9e67b81..be06927 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicBorders.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicBorders.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java
index 940e7cf..1367e0c 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicButtonListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java
index 944048f..b6de66b 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicColorChooserUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java
index 97ecb62..8d68668 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopIconUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java
index 18aa6dc..2d00677 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDesktopPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
index 23252d7..eeca39b 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java
index 17ce072..62c417f 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicGraphicsUtils.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicGraphicsUtils.java
index 826b024..d3e0bb7 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicGraphicsUtils.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicGraphicsUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java
index 1db95fb..ffbd5ea 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicInternalFrameUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicLabelUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicLabelUI.java
index 43fdb36..9c31265 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicLabelUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicLabelUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuBarUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuBarUI.java
index 837fb98..75b10be 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuBarUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java
index c6b521c..1c6f496 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java
index d849077..3ce5c06 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicMenuUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java
index b55f8ab..b43e5d2 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicOptionPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java
index 41f4f89..ded6ad2 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java
index e7d739a..517615a 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicProgressBarUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicProgressBarUI.java
index c831728..8c4dbb1 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicProgressBarUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicProgressBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java
index 765e948..b3298e4 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java
index 08b8090..6462820 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicScrollPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSeparatorUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSeparatorUI.java
index cd53a7c..0a83867 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSeparatorUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSeparatorUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java
index e90c1e8..440de3d 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSliderUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java
index 1ec9921..ab99d04 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicSplitPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java
index f0e3ada..7b7823f 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java
index 23fa230..337aa46 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicTableHeaderUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java
index 2324f07..f0a88e0 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java
index 847e1db..c488392 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java
index 79b2093..d54d470 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicToolTipUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/DefaultMenuLayout.java b/jdk/src/share/classes/javax/swing/plaf/basic/DefaultMenuLayout.java
index b8ee3cf..6b905c6 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/DefaultMenuLayout.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/DefaultMenuLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/package.html b/jdk/src/share/classes/javax/swing/plaf/basic/package.html
index d453d34..d02593c 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/package.html
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalBorders.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalBorders.java
index 36a99ac..24c3d5a 100644
--- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalBorders.java
+++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalBorders.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java
index 8d4e9f4..f0d043b 100644
--- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalLabelUI.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalLabelUI.java
index bb200c1..6d62d1d 100644
--- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalLabelUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalLabelUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java
index 74583f2..c32d267 100644
--- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java
index 65b2cb4..5f5ea59 100644
--- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalTreeUI.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalTreeUI.java
index b3ba0ea..dee9e02 100644
--- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalTreeUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalTreeUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/package.html b/jdk/src/share/classes/javax/swing/plaf/metal/package.html
index 146cbbb..1c41e7f 100644
--- a/jdk/src/share/classes/javax/swing/plaf/metal/package.html
+++ b/jdk/src/share/classes/javax/swing/plaf/metal/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/multi/package.html b/jdk/src/share/classes/javax/swing/plaf/multi/package.html
index 94e7308..65d1aea 100644
--- a/jdk/src/share/classes/javax/swing/plaf/multi/package.html
+++ b/jdk/src/share/classes/javax/swing/plaf/multi/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java b/jdk/src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java
index e095b58..f10dfd4 100644
--- a/jdk/src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java
+++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/AbstractRegionPainter.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java b/jdk/src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java
index deeecdd..a1c1a2c 100644
--- a/jdk/src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java
+++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/LoweredBorder.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java b/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java
index a8aa256..b83fc59 100644
--- a/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java
+++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java
@@ -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
diff --git a/jdk/src/share/classes/javax/swing/plaf/nimbus/package.html b/jdk/src/share/classes/javax/swing/plaf/nimbus/package.html
index 5a60f7a..14cac30 100644
--- a/jdk/src/share/classes/javax/swing/plaf/nimbus/package.html
+++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/package.html b/jdk/src/share/classes/javax/swing/plaf/package.html
index 4e1745e..c207c89 100644
--- a/jdk/src/share/classes/javax/swing/plaf/package.html
+++ b/jdk/src/share/classes/javax/swing/plaf/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/Region.java b/jdk/src/share/classes/javax/swing/plaf/synth/Region.java
index a98b391..a4e8432 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/Region.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/Region.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2009, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java
index 2c6535c..74e13aa 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxMenuItemUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxMenuItemUI.java
index 41b2682..4b2a4b6 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxMenuItemUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxMenuItemUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxUI.java
index aabec2b..0d68fa2 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthCheckBoxUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthColorChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthColorChooserUI.java
index 0d0753a..9256684 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthColorChooserUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthColorChooserUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java
index 165ba83..754484d 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboPopup.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboPopup.java
index 3e728c7..66428da 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboPopup.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboPopup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java
index 38f8f9f..cde0f05 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java
index a677bdb..c109908 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java
index d9b9ae7..2ccf592 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthFormattedTextFieldUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthFormattedTextFieldUI.java
index 776d3f9..76b7e06 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthFormattedTextFieldUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthFormattedTextFieldUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java
index a6442da..f0f7b60 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameTitlePane.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameUI.java
index a4dee16..34c94cd 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java
index d6cae8f..45031e9 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java
index a949f5d..5f19a19 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java
index 1df0737..95d461c 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java
index a87a4ad..9c1f9cb 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuItemUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuItemUI.java
index f34b732..19ac0a7 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuItemUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuItemUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuLayout.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuLayout.java
index 24ca48d..acffe9f 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuLayout.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java
index fb6cca0..3f53f46 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java
index 51786ba..42d454c 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPainter.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPainter.java
index 3fa960d..3d7be8e 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPainter.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPainter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPanelUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPanelUI.java
index ae63c36..ddfff5c 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPanelUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPanelUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPasswordFieldUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPasswordFieldUI.java
index 6dafaf6..b640dd7 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPasswordFieldUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPasswordFieldUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2004, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java
index 8879d48..d228aba 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java
index 8b09c54..1afc81b 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonMenuItemUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonMenuItemUI.java
index c31ba83..e25a85c 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonMenuItemUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonMenuItemUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonUI.java
index c380f36..25ddf99 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthRadioButtonUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2004, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.java
index ce38352..0d437de 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java
index 8a1b6e7..21b0a52 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java
index 1e20274..82d0b5e 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSeparatorUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSeparatorUI.java
index b46e69c..7e759d4 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSeparatorUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSeparatorUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSliderUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSliderUI.java
index c1ce146..65d4612 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSliderUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSliderUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java
index 2c18b0f..d8bc4fe 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java
index f8cec60..665286c 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java
index 5abfd8d..95aa6dc 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java
index 716a218..ec358aa 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java
index 384a120..49dfe4b 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthToggleButtonUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthToggleButtonUI.java
index d308dc6..02d8ec7 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthToggleButtonUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthToggleButtonUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java
index 3fb941d..f65fdd1 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java
index 9d20679..afd49f4 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java
index 401175c..70f7f64 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthViewportUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthViewportUI.java
index 444e4f0..4c5a9b0 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthViewportUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthViewportUI.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html b/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html
index 2837aae..e4ab4e2 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/doc-files/componentProperties.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 2003, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/package.html b/jdk/src/share/classes/javax/swing/plaf/synth/package.html
index 2cf9680..6662e81 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/package.html
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-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
diff --git a/jdk/src/share/classes/javax/swing/table/TableCellRenderer.java b/jdk/src/share/classes/javax/swing/table/TableCellRenderer.java
index 5257416..892220b 100644
--- a/jdk/src/share/classes/javax/swing/table/TableCellRenderer.java
+++ b/jdk/src/share/classes/javax/swing/table/TableCellRenderer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/table/TableColumnModel.java b/jdk/src/share/classes/javax/swing/table/TableColumnModel.java
index a072df4..b6c308c 100644
--- a/jdk/src/share/classes/javax/swing/table/TableColumnModel.java
+++ b/jdk/src/share/classes/javax/swing/table/TableColumnModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
diff --git a/jdk/src/share/classes/javax/swing/table/TableModel.java b/jdk/src/share/classes/javax/swing/table/TableModel.java
index 5b13fc1..bc524b8 100644
--- a/jdk/src/share/classes/javax/swing/table/TableModel.java
+++ b/jdk/src/share/classes/javax/swing/table/TableModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, 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
diff --git a/jdk/src/share/classes/javax/swing/table/package.html b/jdk/src/share/classes/javax/swing/table/package.html
index e046826..f3fd20c 100644
--- a/jdk/src/share/classes/javax/swing/table/package.html
+++ b/jdk/src/share/classes/javax/swing/table/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/AbstractWriter.java b/jdk/src/share/classes/javax/swing/text/AbstractWriter.java
index 440ee5b..ebf38d2 100644
--- a/jdk/src/share/classes/javax/swing/text/AbstractWriter.java
+++ b/jdk/src/share/classes/javax/swing/text/AbstractWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/AsyncBoxView.java b/jdk/src/share/classes/javax/swing/text/AsyncBoxView.java
index 9623ef2..a30756c 100644
--- a/jdk/src/share/classes/javax/swing/text/AsyncBoxView.java
+++ b/jdk/src/share/classes/javax/swing/text/AsyncBoxView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/text/AttributeSet.java b/jdk/src/share/classes/javax/swing/text/AttributeSet.java
index dc146e5..260d891 100644
--- a/jdk/src/share/classes/javax/swing/text/AttributeSet.java
+++ b/jdk/src/share/classes/javax/swing/text/AttributeSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, 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
diff --git a/jdk/src/share/classes/javax/swing/text/BadLocationException.java b/jdk/src/share/classes/javax/swing/text/BadLocationException.java
index 62032ae..9d5201a 100644
--- a/jdk/src/share/classes/javax/swing/text/BadLocationException.java
+++ b/jdk/src/share/classes/javax/swing/text/BadLocationException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/text/BoxView.java b/jdk/src/share/classes/javax/swing/text/BoxView.java
index b761671..ba43516 100644
--- a/jdk/src/share/classes/javax/swing/text/BoxView.java
+++ b/jdk/src/share/classes/javax/swing/text/BoxView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/Caret.java b/jdk/src/share/classes/javax/swing/text/Caret.java
index 7083a6a..9025036 100644
--- a/jdk/src/share/classes/javax/swing/text/Caret.java
+++ b/jdk/src/share/classes/javax/swing/text/Caret.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/ComponentView.java b/jdk/src/share/classes/javax/swing/text/ComponentView.java
index 760856a..7bd0f2d 100644
--- a/jdk/src/share/classes/javax/swing/text/ComponentView.java
+++ b/jdk/src/share/classes/javax/swing/text/ComponentView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/DefaultHighlighter.java b/jdk/src/share/classes/javax/swing/text/DefaultHighlighter.java
index d704348..2ed06b2 100644
--- a/jdk/src/share/classes/javax/swing/text/DefaultHighlighter.java
+++ b/jdk/src/share/classes/javax/swing/text/DefaultHighlighter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/text/DocumentFilter.java b/jdk/src/share/classes/javax/swing/text/DocumentFilter.java
index dce1394..e71502c 100644
--- a/jdk/src/share/classes/javax/swing/text/DocumentFilter.java
+++ b/jdk/src/share/classes/javax/swing/text/DocumentFilter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/EditorKit.java b/jdk/src/share/classes/javax/swing/text/EditorKit.java
index c3d2722..7e4037e 100644
--- a/jdk/src/share/classes/javax/swing/text/EditorKit.java
+++ b/jdk/src/share/classes/javax/swing/text/EditorKit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/text/Element.java b/jdk/src/share/classes/javax/swing/text/Element.java
index cde494b..f296fe3 100644
--- a/jdk/src/share/classes/javax/swing/text/Element.java
+++ b/jdk/src/share/classes/javax/swing/text/Element.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2001, 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
diff --git a/jdk/src/share/classes/javax/swing/text/ElementIterator.java b/jdk/src/share/classes/javax/swing/text/ElementIterator.java
index ea29b53..959a18b 100644
--- a/jdk/src/share/classes/javax/swing/text/ElementIterator.java
+++ b/jdk/src/share/classes/javax/swing/text/ElementIterator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/FieldView.java b/jdk/src/share/classes/javax/swing/text/FieldView.java
index 867ef44..37b6f86 100644
--- a/jdk/src/share/classes/javax/swing/text/FieldView.java
+++ b/jdk/src/share/classes/javax/swing/text/FieldView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/text/GapContent.java b/jdk/src/share/classes/javax/swing/text/GapContent.java
index cd873b0..9109001 100644
--- a/jdk/src/share/classes/javax/swing/text/GapContent.java
+++ b/jdk/src/share/classes/javax/swing/text/GapContent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/GapVector.java b/jdk/src/share/classes/javax/swing/text/GapVector.java
index 7639273..a200478 100644
--- a/jdk/src/share/classes/javax/swing/text/GapVector.java
+++ b/jdk/src/share/classes/javax/swing/text/GapVector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/text/GlyphPainter2.java b/jdk/src/share/classes/javax/swing/text/GlyphPainter2.java
index dca6208..17606d0 100644
--- a/jdk/src/share/classes/javax/swing/text/GlyphPainter2.java
+++ b/jdk/src/share/classes/javax/swing/text/GlyphPainter2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/Highlighter.java b/jdk/src/share/classes/javax/swing/text/Highlighter.java
index f30f66a..4407ebd 100644
--- a/jdk/src/share/classes/javax/swing/text/Highlighter.java
+++ b/jdk/src/share/classes/javax/swing/text/Highlighter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1998, 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
diff --git a/jdk/src/share/classes/javax/swing/text/IconView.java b/jdk/src/share/classes/javax/swing/text/IconView.java
index ef1a41e..c908e97 100644
--- a/jdk/src/share/classes/javax/swing/text/IconView.java
+++ b/jdk/src/share/classes/javax/swing/text/IconView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/ParagraphView.java b/jdk/src/share/classes/javax/swing/text/ParagraphView.java
index a1546f5..b045548 100644
--- a/jdk/src/share/classes/javax/swing/text/ParagraphView.java
+++ b/jdk/src/share/classes/javax/swing/text/ParagraphView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/PasswordView.java b/jdk/src/share/classes/javax/swing/text/PasswordView.java
index c9b9659..61dfbf9 100644
--- a/jdk/src/share/classes/javax/swing/text/PasswordView.java
+++ b/jdk/src/share/classes/javax/swing/text/PasswordView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/PlainView.java b/jdk/src/share/classes/javax/swing/text/PlainView.java
index ec5d6b6..3d91d86 100644
--- a/jdk/src/share/classes/javax/swing/text/PlainView.java
+++ b/jdk/src/share/classes/javax/swing/text/PlainView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/Position.java b/jdk/src/share/classes/javax/swing/text/Position.java
index 7ad9d8b..0c63105 100644
--- a/jdk/src/share/classes/javax/swing/text/Position.java
+++ b/jdk/src/share/classes/javax/swing/text/Position.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/StyleConstants.java b/jdk/src/share/classes/javax/swing/text/StyleConstants.java
index 2618ee6..01f9408 100644
--- a/jdk/src/share/classes/javax/swing/text/StyleConstants.java
+++ b/jdk/src/share/classes/javax/swing/text/StyleConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/StyledDocument.java b/jdk/src/share/classes/javax/swing/text/StyledDocument.java
index ad7c1c1..8e4e90b 100644
--- a/jdk/src/share/classes/javax/swing/text/StyledDocument.java
+++ b/jdk/src/share/classes/javax/swing/text/StyledDocument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1998, 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
diff --git a/jdk/src/share/classes/javax/swing/text/TabExpander.java b/jdk/src/share/classes/javax/swing/text/TabExpander.java
index fa3ec69..fa8db3e 100644
--- a/jdk/src/share/classes/javax/swing/text/TabExpander.java
+++ b/jdk/src/share/classes/javax/swing/text/TabExpander.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1998, 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
diff --git a/jdk/src/share/classes/javax/swing/text/TabableView.java b/jdk/src/share/classes/javax/swing/text/TabableView.java
index e28107a..7cdb136 100644
--- a/jdk/src/share/classes/javax/swing/text/TabableView.java
+++ b/jdk/src/share/classes/javax/swing/text/TabableView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/TableView.java b/jdk/src/share/classes/javax/swing/text/TableView.java
index 2527b69..b74c857 100644
--- a/jdk/src/share/classes/javax/swing/text/TableView.java
+++ b/jdk/src/share/classes/javax/swing/text/TableView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/text/TextAction.java b/jdk/src/share/classes/javax/swing/text/TextAction.java
index 9f0c43d..9e7d9f7 100644
--- a/jdk/src/share/classes/javax/swing/text/TextAction.java
+++ b/jdk/src/share/classes/javax/swing/text/TextAction.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/Utilities.java b/jdk/src/share/classes/javax/swing/text/Utilities.java
index 87db791..fef7b11 100644
--- a/jdk/src/share/classes/javax/swing/text/Utilities.java
+++ b/jdk/src/share/classes/javax/swing/text/Utilities.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/text/WrappedPlainView.java b/jdk/src/share/classes/javax/swing/text/WrappedPlainView.java
index a819a13..c9b7a78 100644
--- a/jdk/src/share/classes/javax/swing/text/WrappedPlainView.java
+++ b/jdk/src/share/classes/javax/swing/text/WrappedPlainView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/text/ZoneView.java b/jdk/src/share/classes/javax/swing/text/ZoneView.java
index c586008..c824827 100644
--- a/jdk/src/share/classes/javax/swing/text/ZoneView.java
+++ b/jdk/src/share/classes/javax/swing/text/ZoneView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/AccessibleHTML.java b/jdk/src/share/classes/javax/swing/text/html/AccessibleHTML.java
index f1b2cc6..bd878da 100644
--- a/jdk/src/share/classes/javax/swing/text/html/AccessibleHTML.java
+++ b/jdk/src/share/classes/javax/swing/text/html/AccessibleHTML.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/BlockView.java b/jdk/src/share/classes/javax/swing/text/html/BlockView.java
index 7b232da..bdd1a20 100644
--- a/jdk/src/share/classes/javax/swing/text/html/BlockView.java
+++ b/jdk/src/share/classes/javax/swing/text/html/BlockView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/CSS.java b/jdk/src/share/classes/javax/swing/text/html/CSS.java
index 3a2e2f9..ec101b1 100644
--- a/jdk/src/share/classes/javax/swing/text/html/CSS.java
+++ b/jdk/src/share/classes/javax/swing/text/html/CSS.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/CSSParser.java b/jdk/src/share/classes/javax/swing/text/html/CSSParser.java
index aa1edc4..4af7976 100644
--- a/jdk/src/share/classes/javax/swing/text/html/CSSParser.java
+++ b/jdk/src/share/classes/javax/swing/text/html/CSSParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/FormSubmitEvent.java b/jdk/src/share/classes/javax/swing/text/html/FormSubmitEvent.java
index f3aea3c..a17c070 100644
--- a/jdk/src/share/classes/javax/swing/text/html/FormSubmitEvent.java
+++ b/jdk/src/share/classes/javax/swing/text/html/FormSubmitEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/FormView.java b/jdk/src/share/classes/javax/swing/text/html/FormView.java
index 42c29e2..09d5908 100644
--- a/jdk/src/share/classes/javax/swing/text/html/FormView.java
+++ b/jdk/src/share/classes/javax/swing/text/html/FormView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/FrameSetView.java b/jdk/src/share/classes/javax/swing/text/html/FrameSetView.java
index 8408c83..3a9af32 100644
--- a/jdk/src/share/classes/javax/swing/text/html/FrameSetView.java
+++ b/jdk/src/share/classes/javax/swing/text/html/FrameSetView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/HTML.java b/jdk/src/share/classes/javax/swing/text/html/HTML.java
index 9ae008c..3545de2 100644
--- a/jdk/src/share/classes/javax/swing/text/html/HTML.java
+++ b/jdk/src/share/classes/javax/swing/text/html/HTML.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java b/jdk/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java
index df9bb7c..0e21e32 100644
--- a/jdk/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java
+++ b/jdk/src/share/classes/javax/swing/text/html/HTMLFrameHyperlinkEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/HTMLWriter.java b/jdk/src/share/classes/javax/swing/text/html/HTMLWriter.java
index 506fd3a..0d154e2 100644
--- a/jdk/src/share/classes/javax/swing/text/html/HTMLWriter.java
+++ b/jdk/src/share/classes/javax/swing/text/html/HTMLWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/ImageView.java b/jdk/src/share/classes/javax/swing/text/html/ImageView.java
index 99f7d4d..bf01379 100644
--- a/jdk/src/share/classes/javax/swing/text/html/ImageView.java
+++ b/jdk/src/share/classes/javax/swing/text/html/ImageView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/InlineView.java b/jdk/src/share/classes/javax/swing/text/html/InlineView.java
index 810fdf9..d9515be 100644
--- a/jdk/src/share/classes/javax/swing/text/html/InlineView.java
+++ b/jdk/src/share/classes/javax/swing/text/html/InlineView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/ObjectView.java b/jdk/src/share/classes/javax/swing/text/html/ObjectView.java
index 00d3a42..e163d3e 100644
--- a/jdk/src/share/classes/javax/swing/text/html/ObjectView.java
+++ b/jdk/src/share/classes/javax/swing/text/html/ObjectView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java b/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java
index 363be1d..34d5307 100644
--- a/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java
+++ b/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java b/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java
index d66302c..886ff0d 100644
--- a/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java
+++ b/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/ParagraphView.java b/jdk/src/share/classes/javax/swing/text/html/ParagraphView.java
index 72e6695..3c14210 100644
--- a/jdk/src/share/classes/javax/swing/text/html/ParagraphView.java
+++ b/jdk/src/share/classes/javax/swing/text/html/ParagraphView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/TableView.java b/jdk/src/share/classes/javax/swing/text/html/TableView.java
index e0b46a0..6632b2e 100644
--- a/jdk/src/share/classes/javax/swing/text/html/TableView.java
+++ b/jdk/src/share/classes/javax/swing/text/html/TableView.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/package.html b/jdk/src/share/classes/javax/swing/text/html/package.html
index e838b62..e0ab035 100644
--- a/jdk/src/share/classes/javax/swing/text/html/package.html
+++ b/jdk/src/share/classes/javax/swing/text/html/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/parser/ContentModel.java b/jdk/src/share/classes/javax/swing/text/html/parser/ContentModel.java
index 96cb903..c23b1bc 100644
--- a/jdk/src/share/classes/javax/swing/text/html/parser/ContentModel.java
+++ b/jdk/src/share/classes/javax/swing/text/html/parser/ContentModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/parser/DocumentParser.java b/jdk/src/share/classes/javax/swing/text/html/parser/DocumentParser.java
index c7b66c3..5d24ce5 100644
--- a/jdk/src/share/classes/javax/swing/text/html/parser/DocumentParser.java
+++ b/jdk/src/share/classes/javax/swing/text/html/parser/DocumentParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/parser/Element.java b/jdk/src/share/classes/javax/swing/text/html/parser/Element.java
index 8b35c5a..6ce872b 100644
--- a/jdk/src/share/classes/javax/swing/text/html/parser/Element.java
+++ b/jdk/src/share/classes/javax/swing/text/html/parser/Element.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/text/html/parser/package.html b/jdk/src/share/classes/javax/swing/text/html/parser/package.html
index 9ccd18c..d503bc7 100644
--- a/jdk/src/share/classes/javax/swing/text/html/parser/package.html
+++ b/jdk/src/share/classes/javax/swing/text/html/parser/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1999, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/package.html b/jdk/src/share/classes/javax/swing/text/package.html
index b1be232..4aa7804 100644
--- a/jdk/src/share/classes/javax/swing/text/package.html
+++ b/jdk/src/share/classes/javax/swing/text/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/text/rtf/package.html b/jdk/src/share/classes/javax/swing/text/rtf/package.html
index 8754907..aa83e9f 100644
--- a/jdk/src/share/classes/javax/swing/text/rtf/package.html
+++ b/jdk/src/share/classes/javax/swing/text/rtf/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/tree/DefaultTreeCellEditor.java b/jdk/src/share/classes/javax/swing/tree/DefaultTreeCellEditor.java
index 05a6145..f6c2559 100644
--- a/jdk/src/share/classes/javax/swing/tree/DefaultTreeCellEditor.java
+++ b/jdk/src/share/classes/javax/swing/tree/DefaultTreeCellEditor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/javax/swing/tree/ExpandVetoException.java b/jdk/src/share/classes/javax/swing/tree/ExpandVetoException.java
index b13f50e..88aee49 100644
--- a/jdk/src/share/classes/javax/swing/tree/ExpandVetoException.java
+++ b/jdk/src/share/classes/javax/swing/tree/ExpandVetoException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, 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
diff --git a/jdk/src/share/classes/javax/swing/tree/TreeCellRenderer.java b/jdk/src/share/classes/javax/swing/tree/TreeCellRenderer.java
index 533e5e4..8ed0087 100644
--- a/jdk/src/share/classes/javax/swing/tree/TreeCellRenderer.java
+++ b/jdk/src/share/classes/javax/swing/tree/TreeCellRenderer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/javax/swing/tree/TreeModel.java b/jdk/src/share/classes/javax/swing/tree/TreeModel.java
index 174317e..94f7d23 100644
--- a/jdk/src/share/classes/javax/swing/tree/TreeModel.java
+++ b/jdk/src/share/classes/javax/swing/tree/TreeModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/tree/TreeNode.java b/jdk/src/share/classes/javax/swing/tree/TreeNode.java
index 5931cc6..e6dcbab 100644
--- a/jdk/src/share/classes/javax/swing/tree/TreeNode.java
+++ b/jdk/src/share/classes/javax/swing/tree/TreeNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/src/share/classes/javax/swing/tree/TreeSelectionModel.java b/jdk/src/share/classes/javax/swing/tree/TreeSelectionModel.java
index 2cb797e..5df7f39 100644
--- a/jdk/src/share/classes/javax/swing/tree/TreeSelectionModel.java
+++ b/jdk/src/share/classes/javax/swing/tree/TreeSelectionModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2002, 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
diff --git a/jdk/src/share/classes/javax/swing/tree/package.html b/jdk/src/share/classes/javax/swing/tree/package.html
index c664765..b6b58bb 100644
--- a/jdk/src/share/classes/javax/swing/tree/package.html
+++ b/jdk/src/share/classes/javax/swing/tree/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/swing/undo/package.html b/jdk/src/share/classes/javax/swing/undo/package.html
index 563fb15..f4ae62d 100644
--- a/jdk/src/share/classes/javax/swing/undo/package.html
+++ b/jdk/src/share/classes/javax/swing/undo/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/classes/javax/xml/crypto/KeySelector.java b/jdk/src/share/classes/javax/xml/crypto/KeySelector.java
index de3274e..26f7979 100644
--- a/jdk/src/share/classes/javax/xml/crypto/KeySelector.java
+++ b/jdk/src/share/classes/javax/xml/crypto/KeySelector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/javax/xml/crypto/MarshalException.java b/jdk/src/share/classes/javax/xml/crypto/MarshalException.java
index 8c35261..2d15b90 100644
--- a/jdk/src/share/classes/javax/xml/crypto/MarshalException.java
+++ b/jdk/src/share/classes/javax/xml/crypto/MarshalException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/Manifest.java b/jdk/src/share/classes/javax/xml/crypto/dsig/Manifest.java
index 8c76626..0a34d04 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/Manifest.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/Manifest.java
@@ -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
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/TransformException.java b/jdk/src/share/classes/javax/xml/crypto/dsig/TransformException.java
index e9b96cd..9fdd263 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/TransformException.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/TransformException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignatureException.java b/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignatureException.java
index fe29262..773db09 100644
--- a/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignatureException.java
+++ b/jdk/src/share/classes/javax/xml/crypto/dsig/XMLSignatureException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java
index dfd58a0..b6e2075 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java
@@ -351,6 +351,7 @@
}
@Override
+ @SuppressWarnings("serial") // Anonymous class
public AnnotationVisitor visitAnnotationDefault() {
return new AnnotationNode(new ArrayList<Object>(0) {
@Override
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/AnalyzerException.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/AnalyzerException.java
index c3678c8..0cd1bc4 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/AnalyzerException.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/AnalyzerException.java
@@ -66,6 +66,7 @@
* @author Bing Ran
* @author Eric Bruneton
*/
+@SuppressWarnings("serial") // JDK-implementation class
public class AnalyzerException extends Exception {
public final AbstractInsnNode node;
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/Attributes.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/Attributes.java
index 404e91a..ecd727f 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/Attributes.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/Attributes.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/ContentHandler.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/ContentHandler.java
index 186d201..d7079b6 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/ContentHandler.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/ContentHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/DTDHandler.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/DTDHandler.java
index 7014d96..6e004ef 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/DTDHandler.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/DTDHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/EntityResolver.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/EntityResolver.java
index 39f6268..81cae70 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/EntityResolver.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/EntityResolver.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/ErrorHandler.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/ErrorHandler.java
index 3f6a9d1..3df1021 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/ErrorHandler.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/ErrorHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/InputSource.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/InputSource.java
index 606eaf1..5e54841 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/InputSource.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/InputSource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/Locator.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/Locator.java
index 1e76b0f..d5682f6 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/Locator.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/Locator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXException.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXException.java
index a7d980a..72ea612 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXException.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXNotRecognizedException.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXNotRecognizedException.java
index 369a3e9..a7f0af5 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXNotRecognizedException.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXNotRecognizedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXNotSupportedException.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXNotSupportedException.java
index c149485..c91e9c3 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXNotSupportedException.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXNotSupportedException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXParseException.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXParseException.java
index d9d84f3..efc1f52 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXParseException.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/SAXParseException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/XMLReader.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/XMLReader.java
index fd173ca..edb986f 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/XMLReader.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/XMLReader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/org/xml/sax/helpers/DefaultHandler.java b/jdk/src/share/classes/jdk/internal/org/xml/sax/helpers/DefaultHandler.java
index d9ce967..c4e02ec 100644
--- a/jdk/src/share/classes/jdk/internal/org/xml/sax/helpers/DefaultHandler.java
+++ b/jdk/src/share/classes/jdk/internal/org/xml/sax/helpers/DefaultHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/jdk/internal/util/xml/PropertiesDefaultHandler.java b/jdk/src/share/classes/jdk/internal/util/xml/PropertiesDefaultHandler.java
index 0df0a99..8ffdb1a 100644
--- a/jdk/src/share/classes/jdk/internal/util/xml/PropertiesDefaultHandler.java
+++ b/jdk/src/share/classes/jdk/internal/util/xml/PropertiesDefaultHandler.java
@@ -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
diff --git a/jdk/src/share/classes/jdk/internal/util/xml/XMLStreamException.java b/jdk/src/share/classes/jdk/internal/util/xml/XMLStreamException.java
index 44f1611..6b02437 100644
--- a/jdk/src/share/classes/jdk/internal/util/xml/XMLStreamException.java
+++ b/jdk/src/share/classes/jdk/internal/util/xml/XMLStreamException.java
@@ -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
diff --git a/jdk/src/share/classes/jdk/internal/util/xml/impl/Parser.java b/jdk/src/share/classes/jdk/internal/util/xml/impl/Parser.java
index 3e72bf7..7eb918d 100644
--- a/jdk/src/share/classes/jdk/internal/util/xml/impl/Parser.java
+++ b/jdk/src/share/classes/jdk/internal/util/xml/impl/Parser.java
@@ -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
diff --git a/jdk/src/share/classes/org/ietf/jgss/GSSContext.java b/jdk/src/share/classes/org/ietf/jgss/GSSContext.java
index af36b52..d0c6b83 100644
--- a/jdk/src/share/classes/org/ietf/jgss/GSSContext.java
+++ b/jdk/src/share/classes/org/ietf/jgss/GSSContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/org/ietf/jgss/GSSCredential.java b/jdk/src/share/classes/org/ietf/jgss/GSSCredential.java
index 9117d1e..fbe379e 100644
--- a/jdk/src/share/classes/org/ietf/jgss/GSSCredential.java
+++ b/jdk/src/share/classes/org/ietf/jgss/GSSCredential.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/org/ietf/jgss/GSSException.java b/jdk/src/share/classes/org/ietf/jgss/GSSException.java
index 0c23f6c..cfde0e5 100644
--- a/jdk/src/share/classes/org/ietf/jgss/GSSException.java
+++ b/jdk/src/share/classes/org/ietf/jgss/GSSException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/org/ietf/jgss/GSSManager.java b/jdk/src/share/classes/org/ietf/jgss/GSSManager.java
index 26d75f5..3bf99e4 100644
--- a/jdk/src/share/classes/org/ietf/jgss/GSSManager.java
+++ b/jdk/src/share/classes/org/ietf/jgss/GSSManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/org/ietf/jgss/GSSName.java b/jdk/src/share/classes/org/ietf/jgss/GSSName.java
index 4a3328d..c3626ac 100644
--- a/jdk/src/share/classes/org/ietf/jgss/GSSName.java
+++ b/jdk/src/share/classes/org/ietf/jgss/GSSName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/org/ietf/jgss/package.html b/jdk/src/share/classes/org/ietf/jgss/package.html
index 47c568f..1dc1ec4 100644
--- a/jdk/src/share/classes/org/ietf/jgss/package.html
+++ b/jdk/src/share/classes/org/ietf/jgss/package.html
@@ -2,7 +2,7 @@
<html>
<head>
<!--
-Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java
index 859b431..fe13647 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/DigesterOutputStream.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DigesterOutputStream.java,v 1.5 2005/12/20 20:02:39 mullan Exp $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/SignerOutputStream.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/SignerOutputStream.java
index 6cfcf0e..65dfe77 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/SignerOutputStream.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/SignerOutputStream.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: SignerOutputStream.java,v 1.2 2005/09/15 14:29:02 mullan Exp $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java
index ec6e9c6..c1d8257 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheCanonicalizer.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: ApacheCanonicalizer.java 1333869 2012-05-04 10:42:44Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java
index add5564..a550536 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheData.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: ApacheData.java 1333869 2012-05-04 10:42:44Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java
index 7f12cf4..7b0f23e 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheNodeSetData.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: ApacheNodeSetData.java 1203890 2011-11-18 22:47:56Z mullan $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java
index 713934d..a687f64 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheOctetStreamData.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: ApacheOctetStreamData.java 1197150 2011-11-03 14:34:57Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java
index aac0518..f5cdec5 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/ApacheTransform.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: ApacheTransform.java 1333869 2012-05-04 10:42:44Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java
index 3fdf0c8..9db24f2 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMBase64Transform.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMBase64Transform.java 1197150 2011-11-03 14:34:57Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java
index 1338ea6..441644e 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14N11Method.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id$
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java
index 6e0ff53..92bd07e 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalXMLC14NMethod.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMCanonicalXMLC14NMethod.java 1197150 2011-11-03 14:34:57Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java
index 82b7c76..92e48bc 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCanonicalizationMethod.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMCanonicalizationMethod.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java
index f5ff15e..b3b7c31 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMCryptoBinary.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMCryptoBinary.java 1197150 2011-11-03 14:34:57Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java
index 06c7bbf..d39c298 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMDigestMethod.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMDigestMethod.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java
index 163cd68..03e0322 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMEnvelopedTransform.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMEnvelopedTransform.java 1197150 2011-11-03 14:34:57Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java
index 4694388..4ad810e 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMExcC14NMethod.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMExcC14NMethod.java 1197150 2011-11-03 14:34:57Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java
index d193fa2..dd7e40e 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMHMACSignatureMethod.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java
index a7e70c0..61e511a 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfo.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMKeyInfo.java 1333869 2012-05-04 10:42:44Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java
index 33f2a22..c241d68 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyInfoFactory.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMKeyInfoFactory.java 1333869 2012-05-04 10:42:44Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java
index 41db19a..d314071 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyName.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMKeyName.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java
index 782fd2d..0dfc5db 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMKeyValue.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java
index 96e2a8b..bbc483b 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMManifest.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMManifest.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java
index bf3109c..02520d1 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMPGPData.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMPGPData.java 1203846 2011-11-18 21:18:17Z mullan $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java
index de4f9f8..99bf300 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* ===========================================================================
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java
index 1d77f82..2e8ccbe 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* ===========================================================================
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java
index 4ce9c3c..e3fb95d 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureMethod.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMSignatureMethod.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java
index dc2500b..c953cae 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperties.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMSignatureProperties.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java
index 117c465..b09b21c 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignatureProperty.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMSignatureProperty.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java
index 9aacfb5..767a4b8 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSignedInfo.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMSignedInfo.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java
index 02ea86f..39346a0 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMStructure.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMStructure.java 1197150 2011-11-03 14:34:57Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java
index ca33a18..9119260 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMSubTreeData.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id$
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java
index d7a40e0..74131a6 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMTransform.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMTransform.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java
index 33e0a90..bf4e28b 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMURIDereferencer.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMURIDereferencer.java 1231033 2012-01-13 12:12:12Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java
index 300f777..4d4a647 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMUtils.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMUtils.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java
index 11076a7..e701ff1 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509Data.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMX509Data.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java
index 9b008bc..cff9d1c 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMX509IssuerSerial.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMX509IssuerSerial.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java
index 01c7bcc..4fa5f56 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLObject.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMXMLObject.java 1333415 2012-05-03 12:03:51Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java
index e2cbf65..5cc085e 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* ===========================================================================
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java
index b085a33..eb68d70 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignatureFactory.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMXMLSignatureFactory.java 1333869 2012-05-04 10:42:44Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java
index edabc98..0215029 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java
@@ -28,7 +28,7 @@
* ===========================================================================
*/
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMXPathFilter2Transform.java 1203789 2011-11-18 18:46:07Z mullan $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java
index aaf8d22..e88eeb8 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathTransform.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMXPathTransform.java 1203789 2011-11-18 18:46:07Z mullan $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java
index 06bb624..74a8426 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMXSLTTransform.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: DOMXSLTTransform.java 1197150 2011-11-03 14:34:57Z coheigea $
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java
index 8c08060..dd59cae 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/Utils.java
@@ -21,7 +21,7 @@
* under the License.
*/
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/*
* $Id: Utils.java 1197150 2011-11-03 14:34:57Z coheigea $
diff --git a/jdk/src/share/classes/sun/applet/AppletClassLoader.java b/jdk/src/share/classes/sun/applet/AppletClassLoader.java
index a391197..f732ad2 100644
--- a/jdk/src/share/classes/sun/applet/AppletClassLoader.java
+++ b/jdk/src/share/classes/sun/applet/AppletClassLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/sun/applet/AppletSecurity.java b/jdk/src/share/classes/sun/applet/AppletSecurity.java
index 2d3f07c..7df2f96 100644
--- a/jdk/src/share/classes/sun/applet/AppletSecurity.java
+++ b/jdk/src/share/classes/sun/applet/AppletSecurity.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/sun/applet/AppletViewerPanel.java b/jdk/src/share/classes/sun/applet/AppletViewerPanel.java
index 2b79c3f..93f064b 100644
--- a/jdk/src/share/classes/sun/applet/AppletViewerPanel.java
+++ b/jdk/src/share/classes/sun/applet/AppletViewerPanel.java
@@ -31,7 +31,6 @@
import java.net.MalformedURLException;
import java.awt.*;
import java.applet.*;
-import sun.tools.jar.*;
/**
diff --git a/jdk/src/share/classes/sun/applet/Main.java b/jdk/src/share/classes/sun/applet/Main.java
index 0ce2c12..e6af9ee 100644
--- a/jdk/src/share/classes/sun/applet/Main.java
+++ b/jdk/src/share/classes/sun/applet/Main.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_de.java b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_de.java
index b99d3bb..cab08eb 100644
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_de.java
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_de.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java
index 1bdb5b2..6fde7ce 100644
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_ja.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java
index 2890869..cb9a776 100644
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_pt_BR.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java
index 7247017..6605e02 100644
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_sv.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java
index a96f926..05171be 100644
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java
index 5440cf1..65b079d 100644
--- a/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java
+++ b/jdk/src/share/classes/sun/applet/resources/MsgAppletViewer_zh_TW.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/awt/AWTAutoShutdown.java b/jdk/src/share/classes/sun/awt/AWTAutoShutdown.java
index fca64f8..310e88b 100644
--- a/jdk/src/share/classes/sun/awt/AWTAutoShutdown.java
+++ b/jdk/src/share/classes/sun/awt/AWTAutoShutdown.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/awt/AppContext.java b/jdk/src/share/classes/sun/awt/AppContext.java
index fbd4b21..c7f46ef 100644
--- a/jdk/src/share/classes/sun/awt/AppContext.java
+++ b/jdk/src/share/classes/sun/awt/AppContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/sun/awt/CausedFocusEvent.java b/jdk/src/share/classes/sun/awt/CausedFocusEvent.java
index 9fa100a..985b416 100644
--- a/jdk/src/share/classes/sun/awt/CausedFocusEvent.java
+++ b/jdk/src/share/classes/sun/awt/CausedFocusEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/CharsetString.java b/jdk/src/share/classes/sun/awt/CharsetString.java
index 434ac73..bf3042f 100644
--- a/jdk/src/share/classes/sun/awt/CharsetString.java
+++ b/jdk/src/share/classes/sun/awt/CharsetString.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/awt/DebugSettings.java b/jdk/src/share/classes/sun/awt/DebugSettings.java
index 5b4e3ed..aaab07e 100644
--- a/jdk/src/share/classes/sun/awt/DebugSettings.java
+++ b/jdk/src/share/classes/sun/awt/DebugSettings.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2003, 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
diff --git a/jdk/src/share/classes/sun/awt/EventListenerAggregate.java b/jdk/src/share/classes/sun/awt/EventListenerAggregate.java
index b07c30e..9eb85e8 100644
--- a/jdk/src/share/classes/sun/awt/EventListenerAggregate.java
+++ b/jdk/src/share/classes/sun/awt/EventListenerAggregate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/HToolkit.java b/jdk/src/share/classes/sun/awt/HToolkit.java
index 8671d8b..ea18275 100644
--- a/jdk/src/share/classes/sun/awt/HToolkit.java
+++ b/jdk/src/share/classes/sun/awt/HToolkit.java
@@ -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
diff --git a/jdk/src/share/classes/sun/awt/HeadlessToolkit.java b/jdk/src/share/classes/sun/awt/HeadlessToolkit.java
index ab71975..9d68bd4 100644
--- a/jdk/src/share/classes/sun/awt/HeadlessToolkit.java
+++ b/jdk/src/share/classes/sun/awt/HeadlessToolkit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java b/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
index f9aa85d..6a7f570 100644
--- a/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
+++ b/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2009, 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
diff --git a/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerProvider.java b/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerProvider.java
index 9d4ac6d..d9931b0 100644
--- a/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerProvider.java
+++ b/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
diff --git a/jdk/src/share/classes/sun/awt/ModalityEvent.java b/jdk/src/share/classes/sun/awt/ModalityEvent.java
index e3fbff6..a801a8c 100644
--- a/jdk/src/share/classes/sun/awt/ModalityEvent.java
+++ b/jdk/src/share/classes/sun/awt/ModalityEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/NativeLibLoader.java b/jdk/src/share/classes/sun/awt/NativeLibLoader.java
index 32a31b9..73fa561 100644
--- a/jdk/src/share/classes/sun/awt/NativeLibLoader.java
+++ b/jdk/src/share/classes/sun/awt/NativeLibLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/sun/awt/NullComponentPeer.java b/jdk/src/share/classes/sun/awt/NullComponentPeer.java
index 50712de..d44e8ca 100644
--- a/jdk/src/share/classes/sun/awt/NullComponentPeer.java
+++ b/jdk/src/share/classes/sun/awt/NullComponentPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/awt/PaintEventDispatcher.java b/jdk/src/share/classes/sun/awt/PaintEventDispatcher.java
index 248dbdb..7a6312a 100644
--- a/jdk/src/share/classes/sun/awt/PaintEventDispatcher.java
+++ b/jdk/src/share/classes/sun/awt/PaintEventDispatcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/PeerEvent.java b/jdk/src/share/classes/sun/awt/PeerEvent.java
index 8e5a65a..47d39c4 100644
--- a/jdk/src/share/classes/sun/awt/PeerEvent.java
+++ b/jdk/src/share/classes/sun/awt/PeerEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/ScrollPaneWheelScroller.java b/jdk/src/share/classes/sun/awt/ScrollPaneWheelScroller.java
index 73aebd7..c1952ca 100644
--- a/jdk/src/share/classes/sun/awt/ScrollPaneWheelScroller.java
+++ b/jdk/src/share/classes/sun/awt/ScrollPaneWheelScroller.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/awt/SunDisplayChanger.java b/jdk/src/share/classes/sun/awt/SunDisplayChanger.java
index dc127da..27fe0f8 100644
--- a/jdk/src/share/classes/sun/awt/SunDisplayChanger.java
+++ b/jdk/src/share/classes/sun/awt/SunDisplayChanger.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/awt/SunGraphicsCallback.java b/jdk/src/share/classes/sun/awt/SunGraphicsCallback.java
index f09568e..794dbfa 100644
--- a/jdk/src/share/classes/sun/awt/SunGraphicsCallback.java
+++ b/jdk/src/share/classes/sun/awt/SunGraphicsCallback.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/classes/sun/awt/SunToolkit.java b/jdk/src/share/classes/sun/awt/SunToolkit.java
index 43d099d..96b793b 100644
--- a/jdk/src/share/classes/sun/awt/SunToolkit.java
+++ b/jdk/src/share/classes/sun/awt/SunToolkit.java
@@ -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
diff --git a/jdk/src/share/classes/sun/awt/UngrabEvent.java b/jdk/src/share/classes/sun/awt/UngrabEvent.java
index ee898ce..ed126ee 100644
--- a/jdk/src/share/classes/sun/awt/UngrabEvent.java
+++ b/jdk/src/share/classes/sun/awt/UngrabEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/datatransfer/TransferableProxy.java b/jdk/src/share/classes/sun/awt/datatransfer/TransferableProxy.java
index ed688aa..ac79ecf 100644
--- a/jdk/src/share/classes/sun/awt/datatransfer/TransferableProxy.java
+++ b/jdk/src/share/classes/sun/awt/datatransfer/TransferableProxy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/awt/im/CompositionArea.java b/jdk/src/share/classes/sun/awt/im/CompositionArea.java
index 15eb088..f53713e 100644
--- a/jdk/src/share/classes/sun/awt/im/CompositionArea.java
+++ b/jdk/src/share/classes/sun/awt/im/CompositionArea.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/im/CompositionAreaHandler.java b/jdk/src/share/classes/sun/awt/im/CompositionAreaHandler.java
index 1d661c4..612a6f4 100644
--- a/jdk/src/share/classes/sun/awt/im/CompositionAreaHandler.java
+++ b/jdk/src/share/classes/sun/awt/im/CompositionAreaHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java b/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java
index 853d9d4..d974cde 100644
--- a/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java
+++ b/jdk/src/share/classes/sun/awt/im/ExecutableInputMethodManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/sun/awt/im/InputContext.java b/jdk/src/share/classes/sun/awt/im/InputContext.java
index 9f85c89..5cc891e 100644
--- a/jdk/src/share/classes/sun/awt/im/InputContext.java
+++ b/jdk/src/share/classes/sun/awt/im/InputContext.java
@@ -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
diff --git a/jdk/src/share/classes/sun/awt/im/InputMethodContext.java b/jdk/src/share/classes/sun/awt/im/InputMethodContext.java
index 98f3538..fad9a6b 100644
--- a/jdk/src/share/classes/sun/awt/im/InputMethodContext.java
+++ b/jdk/src/share/classes/sun/awt/im/InputMethodContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/im/InputMethodJFrame.java b/jdk/src/share/classes/sun/awt/im/InputMethodJFrame.java
index e83dc9e..afe6fa2 100644
--- a/jdk/src/share/classes/sun/awt/im/InputMethodJFrame.java
+++ b/jdk/src/share/classes/sun/awt/im/InputMethodJFrame.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/im/InputMethodManager.java b/jdk/src/share/classes/sun/awt/im/InputMethodManager.java
index 055970f..51b7951 100644
--- a/jdk/src/share/classes/sun/awt/im/InputMethodManager.java
+++ b/jdk/src/share/classes/sun/awt/im/InputMethodManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java b/jdk/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java
index 5ed1340..8c117b3 100644
--- a/jdk/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java
+++ b/jdk/src/share/classes/sun/awt/im/SimpleInputMethodWindow.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/sun/awt/image/BytePackedRaster.java b/jdk/src/share/classes/sun/awt/image/BytePackedRaster.java
index c819c9d..da370a3 100644
--- a/jdk/src/share/classes/sun/awt/image/BytePackedRaster.java
+++ b/jdk/src/share/classes/sun/awt/image/BytePackedRaster.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2007, 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
diff --git a/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java b/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
index c971b41..872ffc0 100644
--- a/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
+++ b/jdk/src/share/classes/sun/awt/image/JPEGImageDecoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/sun/awt/image/NativeLibLoader.java b/jdk/src/share/classes/sun/awt/image/NativeLibLoader.java
index d713d79..46ae519 100644
--- a/jdk/src/share/classes/sun/awt/image/NativeLibLoader.java
+++ b/jdk/src/share/classes/sun/awt/image/NativeLibLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/sun/awt/image/SurfaceManager.java b/jdk/src/share/classes/sun/awt/image/SurfaceManager.java
index f20d2b8..887ad5a 100644
--- a/jdk/src/share/classes/sun/awt/image/SurfaceManager.java
+++ b/jdk/src/share/classes/sun/awt/image/SurfaceManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, 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
diff --git a/jdk/src/share/classes/sun/awt/image/VolatileSurfaceManager.java b/jdk/src/share/classes/sun/awt/image/VolatileSurfaceManager.java
index aa43f19..b20f203 100644
--- a/jdk/src/share/classes/sun/awt/image/VolatileSurfaceManager.java
+++ b/jdk/src/share/classes/sun/awt/image/VolatileSurfaceManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/classes/sun/awt/shell/ShellFolderManager.java b/jdk/src/share/classes/sun/awt/shell/ShellFolderManager.java
index 14893d8..955ba3b 100644
--- a/jdk/src/share/classes/sun/awt/shell/ShellFolderManager.java
+++ b/jdk/src/share/classes/sun/awt/shell/ShellFolderManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/dc/DuctusRenderingEngine.java b/jdk/src/share/classes/sun/dc/DuctusRenderingEngine.java
index 164f9ae..6cba2eb 100644
--- a/jdk/src/share/classes/sun/dc/DuctusRenderingEngine.java
+++ b/jdk/src/share/classes/sun/dc/DuctusRenderingEngine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/sun/font/CMap.java b/jdk/src/share/classes/sun/font/CMap.java
index f2554bd..73cfcc7 100644
--- a/jdk/src/share/classes/sun/font/CMap.java
+++ b/jdk/src/share/classes/sun/font/CMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/src/share/classes/sun/font/CreatedFontTracker.java b/jdk/src/share/classes/sun/font/CreatedFontTracker.java
index 11aff59..199676f 100644
--- a/jdk/src/share/classes/sun/font/CreatedFontTracker.java
+++ b/jdk/src/share/classes/sun/font/CreatedFontTracker.java
@@ -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
diff --git a/jdk/src/share/classes/sun/font/FileFont.java b/jdk/src/share/classes/sun/font/FileFont.java
index ae68003..8b49a50 100644
--- a/jdk/src/share/classes/sun/font/FileFont.java
+++ b/jdk/src/share/classes/sun/font/FileFont.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/classes/sun/font/FontManagerFactory.java b/jdk/src/share/classes/sun/font/FontManagerFactory.java
index eef009a..667d948 100644
--- a/jdk/src/share/classes/sun/font/FontManagerFactory.java
+++ b/jdk/src/share/classes/sun/font/FontManagerFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/src/share/classes/sun/font/FontManagerForSGE.java b/jdk/src/share/classes/sun/font/FontManagerForSGE.java
index b121284..1d71ec9 100644
--- a/jdk/src/share/classes/sun/font/FontManagerForSGE.java
+++ b/jdk/src/share/classes/sun/font/FontManagerForSGE.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2011, 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
diff --git a/jdk/src/share/classes/sun/font/FreetypeFontScaler.java b/jdk/src/share/classes/sun/font/FreetypeFontScaler.java
index b4d961a..50b69e5 100644
--- a/jdk/src/share/classes/sun/font/FreetypeFontScaler.java
+++ b/jdk/src/share/classes/sun/font/FreetypeFontScaler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/sun/font/GlyphLayout.java b/jdk/src/share/classes/sun/font/GlyphLayout.java
index f2fc484..749a1c7 100644
--- a/jdk/src/share/classes/sun/font/GlyphLayout.java
+++ b/jdk/src/share/classes/sun/font/GlyphLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/share/classes/sun/font/GlyphList.java b/jdk/src/share/classes/sun/font/GlyphList.java
index 5044604..328e3e4 100644
--- a/jdk/src/share/classes/sun/font/GlyphList.java
+++ b/jdk/src/share/classes/sun/font/GlyphList.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -148,7 +148,7 @@
* throughput on a MP system. If for some reason the reusable
* GlyphList is checked out for a long time (or never returned?) then
* we would end up always creating new ones. That situation should not
- * occur and if if did, it would just lead to some extra garbage being
+ * occur and if it did, it would just lead to some extra garbage being
* created.
*/
private static GlyphList reusableGL = new GlyphList();
diff --git a/jdk/src/share/classes/sun/font/LayoutPathImpl.java b/jdk/src/share/classes/sun/font/LayoutPathImpl.java
index 3e9832f..6e2b9b4 100644
--- a/jdk/src/share/classes/sun/font/LayoutPathImpl.java
+++ b/jdk/src/share/classes/sun/font/LayoutPathImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/sun/font/StandardTextSource.java b/jdk/src/share/classes/sun/font/StandardTextSource.java
index b40436b..25f5443 100644
--- a/jdk/src/share/classes/sun/font/StandardTextSource.java
+++ b/jdk/src/share/classes/sun/font/StandardTextSource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, 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
diff --git a/jdk/src/share/classes/sun/font/TextLabelFactory.java b/jdk/src/share/classes/sun/font/TextLabelFactory.java
index 386e4b3..a42b396 100644
--- a/jdk/src/share/classes/sun/font/TextLabelFactory.java
+++ b/jdk/src/share/classes/sun/font/TextLabelFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, 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
diff --git a/jdk/src/share/classes/sun/font/Type1Font.java b/jdk/src/share/classes/sun/font/Type1Font.java
index 0330cc9..9e5216b 100644
--- a/jdk/src/share/classes/sun/font/Type1Font.java
+++ b/jdk/src/share/classes/sun/font/Type1Font.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/src/share/classes/sun/instrument/InstrumentationImpl.java b/jdk/src/share/classes/sun/instrument/InstrumentationImpl.java
index 823bdfa..3b36a87 100644
--- a/jdk/src/share/classes/sun/instrument/InstrumentationImpl.java
+++ b/jdk/src/share/classes/sun/instrument/InstrumentationImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/invoke/WrapperInstance.java b/jdk/src/share/classes/sun/invoke/WrapperInstance.java
index 6c545cf..f7cba5a 100644
--- a/jdk/src/share/classes/sun/invoke/WrapperInstance.java
+++ b/jdk/src/share/classes/sun/invoke/WrapperInstance.java
@@ -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
diff --git a/jdk/src/share/classes/sun/invoke/anon/ConstantPoolPatch.java b/jdk/src/share/classes/sun/invoke/anon/ConstantPoolPatch.java
index b4fde05..d83c2a6 100644
--- a/jdk/src/share/classes/sun/invoke/anon/ConstantPoolPatch.java
+++ b/jdk/src/share/classes/sun/invoke/anon/ConstantPoolPatch.java
@@ -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
diff --git a/jdk/src/share/classes/sun/invoke/util/ValueConversions.java b/jdk/src/share/classes/sun/invoke/util/ValueConversions.java
index 1158ccb..e3095fc 100644
--- a/jdk/src/share/classes/sun/invoke/util/ValueConversions.java
+++ b/jdk/src/share/classes/sun/invoke/util/ValueConversions.java
@@ -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
@@ -443,20 +443,6 @@
return x;
}
- /**
- * Identity function, with reference cast.
- * @param t an arbitrary reference type
- * @param x an arbitrary reference value
- * @return the same value x
- */
- @SuppressWarnings("unchecked")
- static <T,U> T castReference(Class<? extends T> t, U x) {
- // inlined Class.cast because we can't ForceInline it
- if (x != null && !t.isInstance(x))
- throw newClassCastException(t, x);
- return (T) x;
- }
-
private static ClassCastException newClassCastException(Class<?> t, Object obj) {
return new ClassCastException("Cannot cast " + obj.getClass().getName() + " to " + t.getName());
}
@@ -466,12 +452,10 @@
static {
try {
MethodType idType = MethodType.genericMethodType(1);
- MethodType castType = idType.insertParameterTypes(0, Class.class);
MethodType ignoreType = idType.changeReturnType(void.class);
MethodType zeroObjectType = MethodType.genericMethodType(0);
IDENTITY = IMPL_LOOKUP.findStatic(THIS_CLASS, "identity", idType);
- //CAST_REFERENCE = IMPL_LOOKUP.findVirtual(Class.class, "cast", idType);
- CAST_REFERENCE = IMPL_LOOKUP.findStatic(THIS_CLASS, "castReference", castType);
+ CAST_REFERENCE = IMPL_LOOKUP.findVirtual(Class.class, "cast", idType);
ZERO_OBJECT = IMPL_LOOKUP.findStatic(THIS_CLASS, "zeroObject", zeroObjectType);
IGNORE = IMPL_LOOKUP.findStatic(THIS_CLASS, "ignore", ignoreType);
EMPTY = IMPL_LOOKUP.findStatic(THIS_CLASS, "empty", ignoreType.dropParameterTypes(0, 1));
@@ -509,6 +493,9 @@
* and returns it as the given type.
*/
public static MethodHandle cast(Class<?> type) {
+ return cast(type, CAST_REFERENCE);
+ }
+ public static MethodHandle cast(Class<?> type, MethodHandle castReference) {
if (type.isPrimitive()) throw new IllegalArgumentException("cannot cast primitive type "+type);
MethodHandle mh;
Wrapper wrap = null;
@@ -519,7 +506,7 @@
mh = cache.get(wrap);
if (mh != null) return mh;
}
- mh = MethodHandles.insertArguments(CAST_REFERENCE, 0, type);
+ mh = MethodHandles.insertArguments(castReference, 0, type);
if (cache != null)
cache.put(wrap, mh);
return mh;
diff --git a/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java b/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java
index 02a6e66..a95aefb 100644
--- a/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java
+++ b/jdk/src/share/classes/sun/invoke/util/VerifyAccess.java
@@ -90,35 +90,28 @@
if (allowedModes == 0) return false;
assert((allowedModes & PUBLIC) != 0 &&
(allowedModes & ~(ALL_ACCESS_MODES|PACKAGE_ALLOWED)) == 0);
- // Usually refc and defc are the same, but if they differ, verify them both.
- if (refc != defc) {
- if (!isClassAccessible(refc, lookupClass, allowedModes)) {
- // Note that defc is verified in the switch below.
- return false;
- }
- if ((mods & (ALL_ACCESS_MODES|STATIC)) == (PROTECTED|STATIC) &&
- (allowedModes & PROTECTED_OR_PACKAGE_ALLOWED) != 0) {
- // Apply the special rules for refc here.
- if (!isRelatedClass(refc, lookupClass))
- return isSamePackage(defc, lookupClass);
- // If refc == defc, the call to isPublicSuperClass will do
- // the whole job, since in that case refc (as defc) will be
- // a superclass of the lookup class.
- }
+ // The symbolic reference class (refc) must always be fully verified.
+ if (!isClassAccessible(refc, lookupClass, allowedModes)) {
+ return false;
}
+ // Usually refc and defc are the same, but verify defc also in case they differ.
if (defc == lookupClass &&
(allowedModes & PRIVATE) != 0)
return true; // easy check; all self-access is OK
switch (mods & ALL_ACCESS_MODES) {
case PUBLIC:
- if (refc != defc) return true; // already checked above
- return isClassAccessible(refc, lookupClass, allowedModes);
+ return true; // already checked above
case PROTECTED:
if ((allowedModes & PROTECTED_OR_PACKAGE_ALLOWED) != 0 &&
isSamePackage(defc, lookupClass))
return true;
+ if ((allowedModes & PROTECTED) == 0)
+ return false;
+ if ((mods & STATIC) != 0 &&
+ !isRelatedClass(refc, lookupClass))
+ return false;
if ((allowedModes & PROTECTED) != 0 &&
- isPublicSuperClass(defc, lookupClass))
+ isSuperClass(defc, lookupClass))
return true;
return false;
case PACKAGE_ONLY: // That is, zero. Unmarked member is package-only access.
@@ -140,8 +133,8 @@
lookupClass.isAssignableFrom(refc));
}
- static boolean isPublicSuperClass(Class<?> defc, Class<?> lookupClass) {
- return isPublic(getClassModifiers(defc)) && defc.isAssignableFrom(lookupClass);
+ static boolean isSuperClass(Class<?> defc, Class<?> lookupClass) {
+ return defc.isAssignableFrom(lookupClass);
}
static int getClassModifiers(Class<?> c) {
diff --git a/jdk/src/share/classes/sun/invoke/util/VerifyType.java b/jdk/src/share/classes/sun/invoke/util/VerifyType.java
index b0c76ae..52b32c4 100644
--- a/jdk/src/share/classes/sun/invoke/util/VerifyType.java
+++ b/jdk/src/share/classes/sun/invoke/util/VerifyType.java
@@ -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
diff --git a/jdk/src/share/classes/sun/java2d/SurfaceData.java b/jdk/src/share/classes/sun/java2d/SurfaceData.java
index 1a224b1..c1b8bf7 100644
--- a/jdk/src/share/classes/sun/java2d/SurfaceData.java
+++ b/jdk/src/share/classes/sun/java2d/SurfaceData.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/sun/java2d/SurfaceDataProxy.java b/jdk/src/share/classes/sun/java2d/SurfaceDataProxy.java
index dd83753..2467943 100644
--- a/jdk/src/share/classes/sun/java2d/SurfaceDataProxy.java
+++ b/jdk/src/share/classes/sun/java2d/SurfaceDataProxy.java
@@ -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
diff --git a/jdk/src/share/classes/sun/java2d/cmm/PCMM.java b/jdk/src/share/classes/sun/java2d/cmm/PCMM.java
index 03f2fab..d147f0a 100644
--- a/jdk/src/share/classes/sun/java2d/cmm/PCMM.java
+++ b/jdk/src/share/classes/sun/java2d/cmm/PCMM.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java b/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
index d76d996..d01dff6 100644
--- a/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
+++ b/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMS.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java b/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java
index 9d6dfa9..4d5ae1f 100644
--- a/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java
+++ b/jdk/src/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/src/share/classes/sun/java2d/loops/Blit.java b/jdk/src/share/classes/sun/java2d/loops/Blit.java
index 61dd277..7a337e1 100644
--- a/jdk/src/share/classes/sun/java2d/loops/Blit.java
+++ b/jdk/src/share/classes/sun/java2d/loops/Blit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java b/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java
index 205da2f..47db650 100644
--- a/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java
+++ b/jdk/src/share/classes/sun/java2d/loops/GraphicsPrimitive.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/loops/MaskFill.java b/jdk/src/share/classes/sun/java2d/loops/MaskFill.java
index 601a3fc..877aefb 100644
--- a/jdk/src/share/classes/sun/java2d/loops/MaskFill.java
+++ b/jdk/src/share/classes/sun/java2d/loops/MaskFill.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/share/classes/sun/java2d/loops/SurfaceType.java b/jdk/src/share/classes/sun/java2d/loops/SurfaceType.java
index 907c6f3..1c2517d 100644
--- a/jdk/src/share/classes/sun/java2d/loops/SurfaceType.java
+++ b/jdk/src/share/classes/sun/java2d/loops/SurfaceType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLBufImgOps.java b/jdk/src/share/classes/sun/java2d/opengl/OGLBufImgOps.java
index 8d8366b..0306e09 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLBufImgOps.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLBufImgOps.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLDrawImage.java b/jdk/src/share/classes/sun/java2d/opengl/OGLDrawImage.java
index 9e373f2..06bb739 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLDrawImage.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLDrawImage.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLPaints.java b/jdk/src/share/classes/sun/java2d/opengl/OGLPaints.java
index 62d4001..1991d82 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLPaints.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLPaints.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLRenderQueue.java b/jdk/src/share/classes/sun/java2d/opengl/OGLRenderQueue.java
index e30795b..43a47a8 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLRenderQueue.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLRenderQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLRenderer.java b/jdk/src/share/classes/sun/java2d/opengl/OGLRenderer.java
index 7eacd53..95b15fd 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLRenderer.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLRenderer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceDataProxy.java b/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceDataProxy.java
index a2dfd5b..d0718cb 100644
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceDataProxy.java
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceDataProxy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java b/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java
index 2b21c5f..239d134 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/AAShapePipe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/AlphaColorPipe.java b/jdk/src/share/classes/sun/java2d/pipe/AlphaColorPipe.java
index 2b0ea08..1101908 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/AlphaColorPipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/AlphaColorPipe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/BufferedMaskFill.java b/jdk/src/share/classes/sun/java2d/pipe/BufferedMaskFill.java
index b01b161..ae3ccbe 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/BufferedMaskFill.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/BufferedMaskFill.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java b/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java
index e65b733..804f930 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/BufferedRenderPipe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/DrawImage.java b/jdk/src/share/classes/sun/java2d/pipe/DrawImage.java
index e807e79..23c5e30 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/DrawImage.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/DrawImage.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/GlyphListPipe.java b/jdk/src/share/classes/sun/java2d/pipe/GlyphListPipe.java
index 0467290..0b107b0 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/GlyphListPipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/GlyphListPipe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java b/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java
index e70ab69..9327f45 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/LoopPipe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/ParallelogramPipe.java b/jdk/src/share/classes/sun/java2d/pipe/ParallelogramPipe.java
index 3b6b996..1511066 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/ParallelogramPipe.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/ParallelogramPipe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java b/jdk/src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java
index 86fcc5e..79fc8eb 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/PixelToParallelogramConverter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2011, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/Region.java b/jdk/src/share/classes/sun/java2d/pipe/Region.java
index db0d32f..d398126 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/Region.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/Region.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/RegionIterator.java b/jdk/src/share/classes/sun/java2d/pipe/RegionIterator.java
index b46cb11..6c3e791 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/RegionIterator.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/RegionIterator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
index 2fb8910..3c2a77c 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/src/share/classes/sun/jvmstat/monitor/MonitorException.java b/jdk/src/share/classes/sun/jvmstat/monitor/MonitorException.java
index f135fdd..64279ce 100644
--- a/jdk/src/share/classes/sun/jvmstat/monitor/MonitorException.java
+++ b/jdk/src/share/classes/sun/jvmstat/monitor/MonitorException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -32,6 +32,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class MonitorException extends Exception {
/**
diff --git a/jdk/src/share/classes/sun/jvmstat/monitor/event/HostEvent.java b/jdk/src/share/classes/sun/jvmstat/monitor/event/HostEvent.java
index 620fbca..fe8dd87 100644
--- a/jdk/src/share/classes/sun/jvmstat/monitor/event/HostEvent.java
+++ b/jdk/src/share/classes/sun/jvmstat/monitor/event/HostEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -34,6 +34,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class HostEvent extends EventObject {
/**
diff --git a/jdk/src/share/classes/sun/jvmstat/monitor/event/MonitorStatusChangeEvent.java b/jdk/src/share/classes/sun/jvmstat/monitor/event/MonitorStatusChangeEvent.java
index 93f3272..618ef6f 100644
--- a/jdk/src/share/classes/sun/jvmstat/monitor/event/MonitorStatusChangeEvent.java
+++ b/jdk/src/share/classes/sun/jvmstat/monitor/event/MonitorStatusChangeEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -35,6 +35,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class MonitorStatusChangeEvent extends VmEvent {
/**
diff --git a/jdk/src/share/classes/sun/jvmstat/monitor/event/VmEvent.java b/jdk/src/share/classes/sun/jvmstat/monitor/event/VmEvent.java
index e118640..99c28d0 100644
--- a/jdk/src/share/classes/sun/jvmstat/monitor/event/VmEvent.java
+++ b/jdk/src/share/classes/sun/jvmstat/monitor/event/VmEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -34,6 +34,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class VmEvent extends EventObject {
/**
diff --git a/jdk/src/share/classes/sun/jvmstat/monitor/event/VmStatusChangeEvent.java b/jdk/src/share/classes/sun/jvmstat/monitor/event/VmStatusChangeEvent.java
index ea251b3..73509a0 100644
--- a/jdk/src/share/classes/sun/jvmstat/monitor/event/VmStatusChangeEvent.java
+++ b/jdk/src/share/classes/sun/jvmstat/monitor/event/VmStatusChangeEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -35,6 +35,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class VmStatusChangeEvent extends HostEvent {
/**
diff --git a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorDataException.java b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorDataException.java
index 34da333..ca55775 100644
--- a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorDataException.java
+++ b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorDataException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -34,6 +34,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class MonitorDataException extends MonitorException {
/**
diff --git a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorStructureException.java b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorStructureException.java
index 7df8ee2..c55ace4 100644
--- a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorStructureException.java
+++ b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorStructureException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -34,6 +34,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class MonitorStructureException extends MonitorException {
/**
diff --git a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorTypeException.java b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorTypeException.java
index fa7ac1a..bf7e9ee 100644
--- a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorTypeException.java
+++ b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorTypeException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -34,6 +34,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class MonitorTypeException extends MonitorException {
/**
diff --git a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorVersionException.java b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorVersionException.java
index 640848b..1481831 100644
--- a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorVersionException.java
+++ b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/MonitorVersionException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -35,6 +35,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class MonitorVersionException extends MonitorException {
/**
diff --git a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/SyntaxException.java b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/SyntaxException.java
index 9fdca0b..5a85a96 100644
--- a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/SyntaxException.java
+++ b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/SyntaxException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -36,6 +36,7 @@
* @author Brian Doherty
* @since 1.5
*/
+@SuppressWarnings("serial") // JDK implementation class
public class SyntaxException extends Exception {
int lineno;
diff --git a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/FileMonitoredVm.java b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/FileMonitoredVm.java
index ca4e737..d39c638 100644
--- a/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/FileMonitoredVm.java
+++ b/jdk/src/share/classes/sun/jvmstat/perfdata/monitor/protocol/file/FileMonitoredVm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher.properties b/jdk/src/share/classes/sun/launcher/resources/launcher.properties
index 8fbefac..cfdf9a9 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_de.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_de.properties
index 9720e46..a4cc1a0 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_de.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_de.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_es.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_es.properties
index b2bdab3..6027c4e 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_es.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_es.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_fr.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_fr.properties
index 11f64e0..e813ba1 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_fr.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_fr.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_it.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_it.properties
index 492b675..83b62f0 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_it.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_it.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_ja.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_ja.properties
index d1f2f69..8256ce8 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_ja.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_ja.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_ko.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_ko.properties
index d9d471e..6999371 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_ko.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_ko.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_pt_BR.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_pt_BR.properties
index d2c68a0..e0c7ba3 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_pt_BR.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_pt_BR.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_sv.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_sv.properties
index d64c3f6..92f061f 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_sv.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_sv.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_zh_CN.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_zh_CN.properties
index 1e35276..3ab1bd4 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_zh_CN.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_zh_CN.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher_zh_TW.properties b/jdk/src/share/classes/sun/launcher/resources/launcher_zh_TW.properties
index 57e301d..d099058 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher_zh_TW.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher_zh_TW.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/management/Agent.java b/jdk/src/share/classes/sun/management/Agent.java
index 171b5c9..7136f78 100644
--- a/jdk/src/share/classes/sun/management/Agent.java
+++ b/jdk/src/share/classes/sun/management/Agent.java
@@ -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
diff --git a/jdk/src/share/classes/sun/management/AgentConfigurationError.java b/jdk/src/share/classes/sun/management/AgentConfigurationError.java
index bda11b6..56c4301 100644
--- a/jdk/src/share/classes/sun/management/AgentConfigurationError.java
+++ b/jdk/src/share/classes/sun/management/AgentConfigurationError.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/BaseOperatingSystemImpl.java b/jdk/src/share/classes/sun/management/BaseOperatingSystemImpl.java
index ac7e106..a40e0b0 100644
--- a/jdk/src/share/classes/sun/management/BaseOperatingSystemImpl.java
+++ b/jdk/src/share/classes/sun/management/BaseOperatingSystemImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java b/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java
index 7a4bd99..d2e7b39 100644
--- a/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java
+++ b/jdk/src/share/classes/sun/management/HotSpotDiagnostic.java
@@ -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
diff --git a/jdk/src/share/classes/sun/management/RuntimeImpl.java b/jdk/src/share/classes/sun/management/RuntimeImpl.java
index c0abdb7..f381bc1 100644
--- a/jdk/src/share/classes/sun/management/RuntimeImpl.java
+++ b/jdk/src/share/classes/sun/management/RuntimeImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/management/counter/perf/InstrumentationException.java b/jdk/src/share/classes/sun/management/counter/perf/InstrumentationException.java
index 3e00568..80685a1 100644
--- a/jdk/src/share/classes/sun/management/counter/perf/InstrumentationException.java
+++ b/jdk/src/share/classes/sun/management/counter/perf/InstrumentationException.java
@@ -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
diff --git a/jdk/src/share/classes/sun/management/counter/perf/PerfDataType.java b/jdk/src/share/classes/sun/management/counter/perf/PerfDataType.java
index 8bb9c24..8b8d61c 100644
--- a/jdk/src/share/classes/sun/management/counter/perf/PerfDataType.java
+++ b/jdk/src/share/classes/sun/management/counter/perf/PerfDataType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_de.properties b/jdk/src/share/classes/sun/management/resources/agent_de.properties
index 5464385..c6248fc 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_de.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_de.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_es.properties b/jdk/src/share/classes/sun/management/resources/agent_es.properties
index 393aa68..c91a3b3 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_es.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_es.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_fr.properties b/jdk/src/share/classes/sun/management/resources/agent_fr.properties
index 5a112f5..651ac8a 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_fr.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_fr.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_it.properties b/jdk/src/share/classes/sun/management/resources/agent_it.properties
index 97fc2c2..2f1b608 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_it.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_it.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_ja.properties b/jdk/src/share/classes/sun/management/resources/agent_ja.properties
index 04c2b4a..ef7a46b 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_ja.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_ja.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_ko.properties b/jdk/src/share/classes/sun/management/resources/agent_ko.properties
index 5af4f55..d180fd4 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_ko.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_ko.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_pt_BR.properties b/jdk/src/share/classes/sun/management/resources/agent_pt_BR.properties
index c7ca0ef..65fa5bf 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_pt_BR.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_pt_BR.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_sv.properties b/jdk/src/share/classes/sun/management/resources/agent_sv.properties
index 96b4e01..746ec33 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_sv.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_sv.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_zh_CN.properties b/jdk/src/share/classes/sun/management/resources/agent_zh_CN.properties
index 61b7671..31c540e 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_zh_CN.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_zh_CN.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/resources/agent_zh_TW.properties b/jdk/src/share/classes/sun/management/resources/agent_zh_TW.properties
index 22fec8d..e75cb6d 100644
--- a/jdk/src/share/classes/sun/management/resources/agent_zh_TW.properties
+++ b/jdk/src/share/classes/sun/management/resources/agent_zh_TW.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java
index 3a70921..1411ec5 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java
@@ -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
diff --git a/jdk/src/share/classes/sun/misc/CRC16.java b/jdk/src/share/classes/sun/misc/CRC16.java
index a6ccfd7..3ec66a0 100644
--- a/jdk/src/share/classes/sun/misc/CRC16.java
+++ b/jdk/src/share/classes/sun/misc/CRC16.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 1995, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/misc/CharacterDecoder.java b/jdk/src/share/classes/sun/misc/CharacterDecoder.java
index 12f6989..728e7602 100644
--- a/jdk/src/share/classes/sun/misc/CharacterDecoder.java
+++ b/jdk/src/share/classes/sun/misc/CharacterDecoder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/sun/misc/ClassFileTransformer.java b/jdk/src/share/classes/sun/misc/ClassFileTransformer.java
index 669b9e8..06a1959 100644
--- a/jdk/src/share/classes/sun/misc/ClassFileTransformer.java
+++ b/jdk/src/share/classes/sun/misc/ClassFileTransformer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, 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
diff --git a/jdk/src/share/classes/sun/misc/ClassLoaderUtil.java b/jdk/src/share/classes/sun/misc/ClassLoaderUtil.java
deleted file mode 100644
index 06cc7ff..0000000
--- a/jdk/src/share/classes/sun/misc/ClassLoaderUtil.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 2006, 2011, 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.
- */
-
-package sun.misc;
-
-/**
- * Provides utility functions related to URLClassLoaders or subclasses of it.
- *
- * W A R N I N G
- *
- * This class uses undocumented, unpublished, private data structures inside
- * java.net.URLClassLoader and sun.misc.URLClassPath. Use with extreme caution.
- *
- * @author tjquinn
- */
-
-
-import java.io.IOException;
-import java.net.URLClassLoader;
-import java.util.*;
-import java.util.jar.JarFile;
-
-public class ClassLoaderUtil {
-
- /**
- * Releases resources held by a URLClassLoader. A new classloader must
- * be created before the underlying resources can be accessed again.
- * @param classLoader the instance of URLClassLoader (or a subclass)
- */
- public static void releaseLoader(URLClassLoader classLoader) {
- releaseLoader(classLoader, null);
- }
-
- /**
- * Releases resources held by a URLClassLoader. Notably, close the jars
- * opened by the loader. Initializes and updates the List of
- * jars that have been successfully closed.
- * <p>
- * @param classLoader the instance of URLClassLoader (or a subclass)
- * @param jarsClosed a List of Strings that will contain the names of jars
- * successfully closed; can be null if the caller does not need the information returned
- * @return a List of IOExceptions reporting jars that failed to close; null
- * indicates that an error other than an IOException occurred attempting to
- * release the loader; empty indicates a successful release; non-empty
- * indicates at least one error attempting to close an open jar.
- */
- public static List<IOException> releaseLoader(URLClassLoader classLoader, List<String> jarsClosed) {
-
- List<IOException> ioExceptions = new LinkedList<IOException>();
-
- try {
- /* Records all IOExceptions thrown while closing jar files. */
-
- if (jarsClosed != null) {
- jarsClosed.clear();
- }
-
- URLClassPath ucp = SharedSecrets.getJavaNetAccess()
- .getURLClassPath(classLoader);
- ArrayList<?> loaders = ucp.loaders;
- Stack<?> urls = ucp.urls;
- HashMap<?,?> lmap = ucp.lmap;
-
- /*
- *The urls variable in the URLClassPath object holds URLs that have not yet
- *been used to resolve a resource or load a class and, therefore, do
- *not yet have a loader associated with them. Clear the stack so any
- *future requests that might incorrectly reach the loader cannot be
- *resolved and cannot open a jar file after we think we've closed
- *them all.
- */
- synchronized(urls) {
- urls.clear();
- }
-
- /*
- *Also clear the map of URLs to loaders so the class loader cannot use
- *previously-opened jar files - they are about to be closed.
- */
- synchronized(lmap) {
- lmap.clear();
- }
-
- /*
- *The URLClassPath object's path variable records the list of all URLs that are on
- *the URLClassPath's class path. Leave that unchanged. This might
- *help someone trying to debug why a released class loader is still used.
- *Because the stack and lmap are now clear, code that incorrectly uses a
- *the released class loader will trigger an exception if the
- *class or resource would have been resolved by the class
- *loader (and no other) if it had not been released.
- *
- *The list of URLs might provide some hints to the person as to where
- *in the code the class loader was set up, which might in turn suggest
- *where in the code the class loader needs to stop being used.
- *The URLClassPath does not use the path variable to open new jar
- *files - it uses the urls Stack for that - so leaving the path variable
- *will not by itself allow the class loader to continue handling requests.
- */
-
- /*
- *For each loader, close the jar file associated with that loader.
- *
- *The URLClassPath's use of loaders is sync-ed on the entire URLClassPath
- *object.
- */
- synchronized (ucp) {
- for (Object o : loaders) {
- if (o != null) {
- /*
- *If the loader is a JarLoader inner class and its jarFile
- *field is non-null then try to close that jar file. Add
- *it to the list of closed files if successful.
- */
- if (o instanceof URLClassPath.JarLoader) {
- URLClassPath.JarLoader jl = (URLClassPath.JarLoader)o;
- JarFile jarFile = jl.getJarFile();
- try {
- if (jarFile != null) {
- jarFile.close();
- if (jarsClosed != null) {
- jarsClosed.add(jarFile.getName());
- }
- }
- } catch (IOException ioe) {
- /*
- *Wrap the IOException to identify which jar
- *could not be closed and add it to the list
- *of IOExceptions to be returned to the caller.
- */
- String jarFileName = (jarFile == null) ? "filename not available":jarFile.getName();
- String msg = "Error closing JAR file: " + jarFileName;
- IOException newIOE = new IOException(msg);
- newIOE.initCause(ioe);
- ioExceptions.add(newIOE);
- }
- }
- }
- }
- /*
- *Now clear the loaders ArrayList.
- */
- loaders.clear();
- }
- } catch (Throwable t) {
- throw new RuntimeException (t);
- }
- return ioExceptions;
- }
-}
diff --git a/jdk/src/share/classes/sun/misc/ExtensionDependency.java b/jdk/src/share/classes/sun/misc/ExtensionDependency.java
index f09b3ac..9f0d084 100644
--- a/jdk/src/share/classes/sun/misc/ExtensionDependency.java
+++ b/jdk/src/share/classes/sun/misc/ExtensionDependency.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/sun/misc/JavaAWTAccess.java b/jdk/src/share/classes/sun/misc/JavaAWTAccess.java
index 65f44db..7b24dc4 100644
--- a/jdk/src/share/classes/sun/misc/JavaAWTAccess.java
+++ b/jdk/src/share/classes/sun/misc/JavaAWTAccess.java
@@ -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
diff --git a/jdk/src/windows/native/java/util/logging.c b/jdk/src/share/classes/sun/misc/JavaLangRefAccess.java
similarity index 71%
copy from jdk/src/windows/native/java/util/logging.c
copy to jdk/src/share/classes/sun/misc/JavaLangRefAccess.java
index 41b7cf6..e3e2322 100644
--- a/jdk/src/windows/native/java/util/logging.c
+++ b/jdk/src/share/classes/sun/misc/JavaLangRefAccess.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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,16 +23,17 @@
* questions.
*/
-/*
- * Win32 specific code to support logging.
- */
+package sun.misc;
-#include "jni_util.h"
+public interface JavaLangRefAccess {
-
-JNIEXPORT jboolean JNICALL
-Java_java_util_logging_FileHandler_isSetUID(JNIEnv *env, jclass thisclass) {
-
- /* There is no set UID on Windows. */
- return JNI_FALSE;
+ /**
+ * Help ReferenceHandler thread process next pending
+ * {@link java.lang.ref.Reference}
+ *
+ * @return {@code true} if there was a pending reference and it
+ * was enqueue-ed or {@code false} if there was no
+ * pending reference
+ */
+ boolean tryHandlePendingReference();
}
diff --git a/jdk/src/share/classes/sun/misc/JavaUtilJarAccess.java b/jdk/src/share/classes/sun/misc/JavaUtilJarAccess.java
index 8165482..3453855 100644
--- a/jdk/src/share/classes/sun/misc/JavaUtilJarAccess.java
+++ b/jdk/src/share/classes/sun/misc/JavaUtilJarAccess.java
@@ -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
diff --git a/jdk/src/share/classes/sun/misc/PerfCounter.java b/jdk/src/share/classes/sun/misc/PerfCounter.java
index 980e34f..6d6969a 100644
--- a/jdk/src/share/classes/sun/misc/PerfCounter.java
+++ b/jdk/src/share/classes/sun/misc/PerfCounter.java
@@ -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
diff --git a/jdk/src/share/classes/sun/misc/PerformanceLogger.java b/jdk/src/share/classes/sun/misc/PerformanceLogger.java
index c5cb9bf..9f4a9e4 100644
--- a/jdk/src/share/classes/sun/misc/PerformanceLogger.java
+++ b/jdk/src/share/classes/sun/misc/PerformanceLogger.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/classes/sun/misc/Service.java b/jdk/src/share/classes/sun/misc/Service.java
deleted file mode 100644
index e00077f..0000000
--- a/jdk/src/share/classes/sun/misc/Service.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/*
- * Copyright (c) 1999, 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.
- */
-
-package sun.misc;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.TreeSet;
-
-
-/**
- * A simple service-provider lookup mechanism. A <i>service</i> is a
- * well-known set of interfaces and (usually abstract) classes. A <i>service
- * provider</i> is a specific implementation of a service. The classes in a
- * provider typically implement the interfaces and subclass the classes defined
- * in the service itself. Service providers may be installed in an
- * implementation of the Java platform in the form of extensions, that is, jar
- * files placed into any of the usual extension directories. Providers may
- * also be made available by adding them to the applet or application class
- * path or by some other platform-specific means.
- *
- * <p> In this lookup mechanism a service is represented by an interface or an
- * abstract class. (A concrete class may be used, but this is not
- * recommended.) A provider of a given service contains one or more concrete
- * classes that extend this <i>service class</i> with data and code specific to
- * the provider. This <i>provider class</i> will typically not be the entire
- * provider itself but rather a proxy that contains enough information to
- * decide whether the provider is able to satisfy a particular request together
- * with code that can create the actual provider on demand. The details of
- * provider classes tend to be highly service-specific; no single class or
- * interface could possibly unify them, so no such class has been defined. The
- * only requirement enforced here is that provider classes must have a
- * zero-argument constructor so that they may be instantiated during lookup.
- *
- * <p> A service provider identifies itself by placing a provider-configuration
- * file in the resource directory <tt>META-INF/services</tt>. The file's name
- * should consist of the fully-qualified name of the abstract service class.
- * The file should contain a list of fully-qualified concrete provider-class
- * names, one per line. Space and tab characters surrounding each name, as
- * well as blank lines, are ignored. The comment character is <tt>'#'</tt>
- * (<tt>0x23</tt>); on each line all characters following the first comment
- * character are ignored. The file must be encoded in UTF-8.
- *
- * <p> If a particular concrete provider class is named in more than one
- * configuration file, or is named in the same configuration file more than
- * once, then the duplicates will be ignored. The configuration file naming a
- * particular provider need not be in the same jar file or other distribution
- * unit as the provider itself. The provider must be accessible from the same
- * class loader that was initially queried to locate the configuration file;
- * note that this is not necessarily the class loader that found the file.
- *
- * <p> <b>Example:</b> Suppose we have a service class named
- * <tt>java.io.spi.CharCodec</tt>. It has two abstract methods:
- *
- * <pre>
- * public abstract CharEncoder getEncoder(String encodingName);
- * public abstract CharDecoder getDecoder(String encodingName);
- * </pre>
- *
- * Each method returns an appropriate object or <tt>null</tt> if it cannot
- * translate the given encoding. Typical <tt>CharCodec</tt> providers will
- * support more than one encoding.
- *
- * <p> If <tt>sun.io.StandardCodec</tt> is a provider of the <tt>CharCodec</tt>
- * service then its jar file would contain the file
- * <tt>META-INF/services/java.io.spi.CharCodec</tt>. This file would contain
- * the single line:
- *
- * <pre>
- * sun.io.StandardCodec # Standard codecs for the platform
- * </pre>
- *
- * To locate an encoder for a given encoding name, the internal I/O code would
- * do something like this:
- *
- * <pre>
- * CharEncoder getEncoder(String encodingName) {
- * Iterator ps = Service.providers(CharCodec.class);
- * while (ps.hasNext()) {
- * CharCodec cc = (CharCodec)ps.next();
- * CharEncoder ce = cc.getEncoder(encodingName);
- * if (ce != null)
- * return ce;
- * }
- * return null;
- * }
- * </pre>
- *
- * The provider-lookup mechanism always executes in the security context of the
- * caller. Trusted system code should typically invoke the methods in this
- * class from within a privileged security context.
- *
- * @author Mark Reinhold
- * @since 1.3
- */
-
-public final class Service<S> {
-
- private static final String prefix = "META-INF/services/";
-
- private Service() { }
-
- private static void fail(Class<?> service, String msg, Throwable cause)
- throws ServiceConfigurationError
- {
- ServiceConfigurationError sce
- = new ServiceConfigurationError(service.getName() + ": " + msg);
- sce.initCause(cause);
- throw sce;
- }
-
- private static void fail(Class<?> service, String msg)
- throws ServiceConfigurationError
- {
- throw new ServiceConfigurationError(service.getName() + ": " + msg);
- }
-
- private static void fail(Class<?> service, URL u, int line, String msg)
- throws ServiceConfigurationError
- {
- fail(service, u + ":" + line + ": " + msg);
- }
-
- /**
- * Parse a single line from the given configuration file, adding the name
- * on the line to both the names list and the returned set iff the name is
- * not already a member of the returned set.
- */
- private static int parseLine(Class<?> service, URL u, BufferedReader r, int lc,
- List<String> names, Set<String> returned)
- throws IOException, ServiceConfigurationError
- {
- String ln = r.readLine();
- if (ln == null) {
- return -1;
- }
- int ci = ln.indexOf('#');
- if (ci >= 0) ln = ln.substring(0, ci);
- ln = ln.trim();
- int n = ln.length();
- if (n != 0) {
- if ((ln.indexOf(' ') >= 0) || (ln.indexOf('\t') >= 0))
- fail(service, u, lc, "Illegal configuration-file syntax");
- int cp = ln.codePointAt(0);
- if (!Character.isJavaIdentifierStart(cp))
- fail(service, u, lc, "Illegal provider-class name: " + ln);
- for (int i = Character.charCount(cp); i < n; i += Character.charCount(cp)) {
- cp = ln.codePointAt(i);
- if (!Character.isJavaIdentifierPart(cp) && (cp != '.'))
- fail(service, u, lc, "Illegal provider-class name: " + ln);
- }
- if (!returned.contains(ln)) {
- names.add(ln);
- returned.add(ln);
- }
- }
- return lc + 1;
- }
-
- /**
- * Parse the content of the given URL as a provider-configuration file.
- *
- * @param service
- * The service class for which providers are being sought;
- * used to construct error detail strings
- *
- * @param url
- * The URL naming the configuration file to be parsed
- *
- * @param returned
- * A Set containing the names of provider classes that have already
- * been returned. This set will be updated to contain the names
- * that will be yielded from the returned <tt>Iterator</tt>.
- *
- * @return A (possibly empty) <tt>Iterator</tt> that will yield the
- * provider-class names in the given configuration file that are
- * not yet members of the returned set
- *
- * @throws ServiceConfigurationError
- * If an I/O error occurs while reading from the given URL, or
- * if a configuration-file format error is detected
- */
- private static Iterator<String> parse(Class<?> service, URL u, Set<String> returned)
- throws ServiceConfigurationError
- {
- InputStream in = null;
- BufferedReader r = null;
- ArrayList<String> names = new ArrayList<>();
- try {
- in = u.openStream();
- r = new BufferedReader(new InputStreamReader(in, "utf-8"));
- int lc = 1;
- while ((lc = parseLine(service, u, r, lc, names, returned)) >= 0);
- } catch (IOException x) {
- fail(service, ": " + x);
- } finally {
- try {
- if (r != null) r.close();
- if (in != null) in.close();
- } catch (IOException y) {
- fail(service, ": " + y);
- }
- }
- return names.iterator();
- }
-
-
- /**
- * Private inner class implementing fully-lazy provider lookup
- */
- private static class LazyIterator<S> implements Iterator<S> {
-
- Class<S> service;
- ClassLoader loader;
- Enumeration<URL> configs = null;
- Iterator<String> pending = null;
- Set<String> returned = new TreeSet<>();
- String nextName = null;
-
- private LazyIterator(Class<S> service, ClassLoader loader) {
- this.service = service;
- this.loader = loader;
- }
-
- public boolean hasNext() throws ServiceConfigurationError {
- if (nextName != null) {
- return true;
- }
- if (configs == null) {
- try {
- String fullName = prefix + service.getName();
- if (loader == null)
- configs = ClassLoader.getSystemResources(fullName);
- else
- configs = loader.getResources(fullName);
- } catch (IOException x) {
- fail(service, ": " + x);
- }
- }
- while ((pending == null) || !pending.hasNext()) {
- if (!configs.hasMoreElements()) {
- return false;
- }
- pending = parse(service, configs.nextElement(), returned);
- }
- nextName = pending.next();
- return true;
- }
-
- public S next() throws ServiceConfigurationError {
- if (!hasNext()) {
- throw new NoSuchElementException();
- }
- String cn = nextName;
- nextName = null;
- Class<?> c = null;
- try {
- c = Class.forName(cn, false, loader);
- } catch (ClassNotFoundException x) {
- fail(service,
- "Provider " + cn + " not found");
- }
- if (!service.isAssignableFrom(c)) {
- fail(service,
- "Provider " + cn + " not a subtype");
- }
- try {
- return service.cast(c.newInstance());
- } catch (Throwable x) {
- fail(service,
- "Provider " + cn + " could not be instantiated: " + x,
- x);
- }
- return null; /* This cannot happen */
- }
-
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- }
-
-
- /**
- * Locates and incrementally instantiates the available providers of a
- * given service using the given class loader.
- *
- * <p> This method transforms the name of the given service class into a
- * provider-configuration filename as described above and then uses the
- * <tt>getResources</tt> method of the given class loader to find all
- * available files with that name. These files are then read and parsed to
- * produce a list of provider-class names. The iterator that is returned
- * uses the given class loader to lookup and then instantiate each element
- * of the list.
- *
- * <p> Because it is possible for extensions to be installed into a running
- * Java virtual machine, this method may return different results each time
- * it is invoked. <p>
- *
- * @param service
- * The service's abstract service class
- *
- * @param loader
- * The class loader to be used to load provider-configuration files
- * and instantiate provider classes, or <tt>null</tt> if the system
- * class loader (or, failing that the bootstrap class loader) is to
- * be used
- *
- * @return An <tt>Iterator</tt> that yields provider objects for the given
- * service, in some arbitrary order. The iterator will throw a
- * <tt>ServiceConfigurationError</tt> if a provider-configuration
- * file violates the specified format or if a provider class cannot
- * be found and instantiated.
- *
- * @throws ServiceConfigurationError
- * If a provider-configuration file violates the specified format
- * or names a provider class that cannot be found and instantiated
- *
- * @see #providers(java.lang.Class)
- * @see #installedProviders(java.lang.Class)
- */
- public static <S> Iterator<S> providers(Class<S> service, ClassLoader loader)
- throws ServiceConfigurationError
- {
- return new LazyIterator<S>(service, loader);
- }
-
-
- /**
- * Locates and incrementally instantiates the available providers of a
- * given service using the context class loader. This convenience method
- * is equivalent to
- *
- * <pre>
- * ClassLoader cl = Thread.currentThread().getContextClassLoader();
- * return Service.providers(service, cl);
- * </pre>
- *
- * @param service
- * The service's abstract service class
- *
- * @return An <tt>Iterator</tt> that yields provider objects for the given
- * service, in some arbitrary order. The iterator will throw a
- * <tt>ServiceConfigurationError</tt> if a provider-configuration
- * file violates the specified format or if a provider class cannot
- * be found and instantiated.
- *
- * @throws ServiceConfigurationError
- * If a provider-configuration file violates the specified format
- * or names a provider class that cannot be found and instantiated
- *
- * @see #providers(java.lang.Class, java.lang.ClassLoader)
- */
- public static <S> Iterator<S> providers(Class<S> service)
- throws ServiceConfigurationError
- {
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- return Service.providers(service, cl);
- }
-
-
- /**
- * Locates and incrementally instantiates the available providers of a
- * given service using the extension class loader. This convenience method
- * simply locates the extension class loader, call it
- * <tt>extClassLoader</tt>, and then does
- *
- * <pre>
- * return Service.providers(service, extClassLoader);
- * </pre>
- *
- * If the extension class loader cannot be found then the system class
- * loader is used; if there is no system class loader then the bootstrap
- * class loader is used.
- *
- * @param service
- * The service's abstract service class
- *
- * @return An <tt>Iterator</tt> that yields provider objects for the given
- * service, in some arbitrary order. The iterator will throw a
- * <tt>ServiceConfigurationError</tt> if a provider-configuration
- * file violates the specified format or if a provider class cannot
- * be found and instantiated.
- *
- * @throws ServiceConfigurationError
- * If a provider-configuration file violates the specified format
- * or names a provider class that cannot be found and instantiated
- *
- * @see #providers(java.lang.Class, java.lang.ClassLoader)
- */
- public static <S> Iterator<S> installedProviders(Class<S> service)
- throws ServiceConfigurationError
- {
- ClassLoader cl = ClassLoader.getSystemClassLoader();
- ClassLoader prev = null;
- while (cl != null) {
- prev = cl;
- cl = cl.getParent();
- }
- return Service.providers(service, prev);
- }
-
-}
diff --git a/jdk/src/share/classes/sun/misc/ServiceConfigurationError.java b/jdk/src/share/classes/sun/misc/ServiceConfigurationError.java
deleted file mode 100644
index 1060f20..0000000
--- a/jdk/src/share/classes/sun/misc/ServiceConfigurationError.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 1999, 2011, 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.
- */
-
-package sun.misc;
-
-
-/**
- * Error thrown when something goes wrong while looking up service providers.
- * In particular, this error will be thrown in the following situations:
- *
- * <ul>
- * <li> A concrete provider class cannot be found,
- * <li> A concrete provider class cannot be instantiated,
- * <li> The format of a provider-configuration file is illegal, or
- * <li> An IOException occurs while reading a provider-configuration file.
- * </ul>
- *
- * @author Mark Reinhold
- * @since 1.3
- */
-
-public class ServiceConfigurationError extends Error {
-
- static final long serialVersionUID = 8769866263384244465L;
-
- /**
- * Constructs a new instance with the specified detail string.
- */
- public ServiceConfigurationError(String msg) {
- super(msg);
- }
-
- /**
- * Constructs a new instance that wraps the specified throwable.
- */
- public ServiceConfigurationError(Throwable x) {
- super(x);
- }
-
-}
diff --git a/jdk/src/share/classes/sun/misc/SharedSecrets.java b/jdk/src/share/classes/sun/misc/SharedSecrets.java
index bc2ab2e..bfb7c5b 100644
--- a/jdk/src/share/classes/sun/misc/SharedSecrets.java
+++ b/jdk/src/share/classes/sun/misc/SharedSecrets.java
@@ -45,6 +45,7 @@
private static final Unsafe unsafe = Unsafe.getUnsafe();
private static JavaUtilJarAccess javaUtilJarAccess;
private static JavaLangAccess javaLangAccess;
+ private static JavaLangRefAccess javaLangRefAccess;
private static JavaIOAccess javaIOAccess;
private static JavaNetAccess javaNetAccess;
private static JavaNetHttpCookieAccess javaNetHttpCookieAccess;
@@ -76,6 +77,14 @@
return javaLangAccess;
}
+ public static void setJavaLangRefAccess(JavaLangRefAccess jlra) {
+ javaLangRefAccess = jlra;
+ }
+
+ public static JavaLangRefAccess getJavaLangRefAccess() {
+ return javaLangRefAccess;
+ }
+
public static void setJavaNetAccess(JavaNetAccess jna) {
javaNetAccess = jna;
}
diff --git a/jdk/src/share/classes/sun/misc/SoftCache.java b/jdk/src/share/classes/sun/misc/SoftCache.java
index a71f3ad..d186685 100644
--- a/jdk/src/share/classes/sun/misc/SoftCache.java
+++ b/jdk/src/share/classes/sun/misc/SoftCache.java
@@ -309,7 +309,7 @@
* mapped
*
* @return The previous value to which this key was mapped, or
- * <code>null</code> if if there was no mapping for the key
+ * <code>null</code> if there was no mapping for the key
*/
public Object put(Object key, Object value) {
processQueue();
diff --git a/jdk/src/share/classes/sun/misc/URLClassPath.java b/jdk/src/share/classes/sun/misc/URLClassPath.java
index 7946f9e..11dae81 100644
--- a/jdk/src/share/classes/sun/misc/URLClassPath.java
+++ b/jdk/src/share/classes/sun/misc/URLClassPath.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/sun/misc/VM.java b/jdk/src/share/classes/sun/misc/VM.java
index 8b77e22..5c5a3e8 100644
--- a/jdk/src/share/classes/sun/misc/VM.java
+++ b/jdk/src/share/classes/sun/misc/VM.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
@@ -367,6 +367,11 @@
*/
public static native ClassLoader latestUserDefinedLoader();
+ /**
+ * Returns {@code true} if we are in a set UID program.
+ */
+ public static native boolean isSetUID();
+
static {
initialize();
}
diff --git a/jdk/src/share/classes/sun/misc/Version.java.template b/jdk/src/share/classes/sun/misc/Version.java.template
index 372df43..dd47869 100644
--- a/jdk/src/share/classes/sun/misc/Version.java.template
+++ b/jdk/src/share/classes/sun/misc/Version.java.template
@@ -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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_de.java b/jdk/src/share/classes/sun/misc/resources/Messages_de.java
index 9f063e8..e2961c5 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_de.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_de.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_es.java b/jdk/src/share/classes/sun/misc/resources/Messages_es.java
index d46419e..9e76201 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_es.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_es.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_fr.java b/jdk/src/share/classes/sun/misc/resources/Messages_fr.java
index 9ed71c9..b742b26 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_fr.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_fr.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_it.java b/jdk/src/share/classes/sun/misc/resources/Messages_it.java
index 956caaa..ee7dd0a 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_it.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_it.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_ja.java b/jdk/src/share/classes/sun/misc/resources/Messages_ja.java
index 95c7990..4f14551 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_ja.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_ja.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_ko.java b/jdk/src/share/classes/sun/misc/resources/Messages_ko.java
index 60b4ef0..53c32fc 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_ko.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_ko.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_pt_BR.java b/jdk/src/share/classes/sun/misc/resources/Messages_pt_BR.java
index e588028..4781700 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_pt_BR.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_pt_BR.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_sv.java b/jdk/src/share/classes/sun/misc/resources/Messages_sv.java
index c6770c2..a813852 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_sv.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_sv.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_zh_CN.java b/jdk/src/share/classes/sun/misc/resources/Messages_zh_CN.java
index 5ee47f9..d884f74 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_zh_CN.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/misc/resources/Messages_zh_TW.java b/jdk/src/share/classes/sun/misc/resources/Messages_zh_TW.java
index 7b39584..530a7cd 100644
--- a/jdk/src/share/classes/sun/misc/resources/Messages_zh_TW.java
+++ b/jdk/src/share/classes/sun/misc/resources/Messages_zh_TW.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, 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
diff --git a/jdk/src/share/classes/sun/net/NetworkClient.java b/jdk/src/share/classes/sun/net/NetworkClient.java
index 1d6a15c..0f76bf6 100644
--- a/jdk/src/share/classes/sun/net/NetworkClient.java
+++ b/jdk/src/share/classes/sun/net/NetworkClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/net/TelnetOutputStream.java b/jdk/src/share/classes/sun/net/TelnetOutputStream.java
index f9572d5..74f6c9c 100644
--- a/jdk/src/share/classes/sun/net/TelnetOutputStream.java
+++ b/jdk/src/share/classes/sun/net/TelnetOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/net/ftp/FtpClient.java b/jdk/src/share/classes/sun/net/ftp/FtpClient.java
index 8b17ed0..73df120 100644
--- a/jdk/src/share/classes/sun/net/ftp/FtpClient.java
+++ b/jdk/src/share/classes/sun/net/ftp/FtpClient.java
@@ -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
diff --git a/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java b/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java
index b090524..0f4bf3f 100644
--- a/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java
+++ b/jdk/src/share/classes/sun/net/ftp/impl/FtpClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/sun/net/httpserver/ChunkedInputStream.java b/jdk/src/share/classes/sun/net/httpserver/ChunkedInputStream.java
index 387ec1c..38e2d84 100644
--- a/jdk/src/share/classes/sun/net/httpserver/ChunkedInputStream.java
+++ b/jdk/src/share/classes/sun/net/httpserver/ChunkedInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/sun/net/httpserver/Request.java b/jdk/src/share/classes/sun/net/httpserver/Request.java
index 9189ed6..e8d719f 100644
--- a/jdk/src/share/classes/sun/net/httpserver/Request.java
+++ b/jdk/src/share/classes/sun/net/httpserver/Request.java
@@ -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
diff --git a/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java b/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java
index fa54e6b..5b424fb 100644
--- a/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java
+++ b/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/net/smtp/SmtpProtocolException.java b/jdk/src/share/classes/sun/net/smtp/SmtpProtocolException.java
index 7b29260..ea205a2 100644
--- a/jdk/src/share/classes/sun/net/smtp/SmtpProtocolException.java
+++ b/jdk/src/share/classes/sun/net/smtp/SmtpProtocolException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java b/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
index 0e786fe..f7018ed 100644
--- a/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
+++ b/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
@@ -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
diff --git a/jdk/src/share/classes/sun/net/www/MessageHeader.java b/jdk/src/share/classes/sun/net/www/MessageHeader.java
index d6982b6..34b6307 100644
--- a/jdk/src/share/classes/sun/net/www/MessageHeader.java
+++ b/jdk/src/share/classes/sun/net/www/MessageHeader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/sun/net/www/content/image/gif.java b/jdk/src/share/classes/sun/net/www/content/image/gif.java
index 7db08b9..78b6c6c 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/gif.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/gif.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/net/www/content/image/jpeg.java b/jdk/src/share/classes/sun/net/www/content/image/jpeg.java
index 6073dd7..fdb034d 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/jpeg.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/jpeg.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/sun/net/www/content/image/png.java b/jdk/src/share/classes/sun/net/www/content/image/png.java
index 535e31a..526d23e 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/png.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/png.java
@@ -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
diff --git a/jdk/src/share/classes/sun/net/www/content/image/x_xbitmap.java b/jdk/src/share/classes/sun/net/www/content/image/x_xbitmap.java
index 11e86ab..839b902 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/x_xbitmap.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/x_xbitmap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/net/www/content/image/x_xpixmap.java b/jdk/src/share/classes/sun/net/www/content/image/x_xpixmap.java
index e08609b..d220844 100644
--- a/jdk/src/share/classes/sun/net/www/content/image/x_xpixmap.java
+++ b/jdk/src/share/classes/sun/net/www/content/image/x_xpixmap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/net/www/http/ChunkedInputStream.java b/jdk/src/share/classes/sun/net/www/http/ChunkedInputStream.java
index 2cf2781..222ddc0 100644
--- a/jdk/src/share/classes/sun/net/www/http/ChunkedInputStream.java
+++ b/jdk/src/share/classes/sun/net/www/http/ChunkedInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/net/www/http/ChunkedOutputStream.java b/jdk/src/share/classes/sun/net/www/http/ChunkedOutputStream.java
index fc23ac6..aa5040f 100644
--- a/jdk/src/share/classes/sun/net/www/http/ChunkedOutputStream.java
+++ b/jdk/src/share/classes/sun/net/www/http/ChunkedOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/AuthCacheValue.java b/jdk/src/share/classes/sun/net/www/protocol/http/AuthCacheValue.java
index a755323..a8f66fd 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/AuthCacheValue.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/AuthCacheValue.java
@@ -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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java b/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java
index 41f5599..89b4d99 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java
@@ -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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java b/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java
index e44bb3d..a9bedac 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java b/jdk/src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java
index 2cc087f8..e77da61 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/BasicAuthentication.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java b/jdk/src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java
index fd999d3..8701a77 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/DigestAuthentication.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java b/jdk/src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java
index 41618ca..335670e 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/NTLMAuthenticationProxy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java b/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java
index 24e9904..0c9bc24 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2009, 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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/Negotiator.java b/jdk/src/share/classes/sun/net/www/protocol/http/Negotiator.java
index 5674371..856efe1 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/Negotiator.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/Negotiator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java b/jdk/src/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java
index ada2ee9..3b8ff0c 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java b/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java
index 9bcbe87..19a2010 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/https/HttpsClient.java
@@ -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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java b/jdk/src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java
index c664a69..1ec1700 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, 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
diff --git a/jdk/src/share/classes/sun/net/www/protocol/jar/JarURLConnection.java b/jdk/src/share/classes/sun/net/www/protocol/jar/JarURLConnection.java
index 4c5dc87..509b712 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/jar/JarURLConnection.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/jar/JarURLConnection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java b/jdk/src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java
index 22e005d..6f1f8e8 100644
--- a/jdk/src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/AbstractPollSelectorImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java b/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java
index 9699c82..e9521ea 100644
--- a/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java b/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java
index 5aaf4a5..d28bf90 100644
--- a/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java b/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java
index 2fcd0c8..bb127e8 100644
--- a/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/FileChannelImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -29,10 +29,20 @@
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.MappedByteBuffer;
-import java.nio.channels.*;
+import java.nio.channels.ClosedByInterruptException;
+import java.nio.channels.ClosedChannelException;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+import java.nio.channels.FileLockInterruptionException;
+import java.nio.channels.NonReadableChannelException;
+import java.nio.channels.NonWritableChannelException;
+import java.nio.channels.OverlappingFileLockException;
+import java.nio.channels.ReadableByteChannel;
+import java.nio.channels.WritableByteChannel;
+import java.security.AccessController;
import java.util.ArrayList;
import java.util.List;
-import java.security.AccessController;
+
import sun.misc.Cleaner;
import sun.security.action.GetPropertyAction;
@@ -56,13 +66,17 @@
// Required to prevent finalization of creating stream (immutable)
private final Object parent;
+ // The path of the referenced file
+ // (null if the parent stream is created with a file descriptor)
+ private final String path;
+
// Thread-safe set of IDs of native threads, for signalling
private final NativeThreadSet threads = new NativeThreadSet(2);
// Lock for operations involving position and size
private final Object positionLock = new Object();
- private FileChannelImpl(FileDescriptor fd, boolean readable,
+ private FileChannelImpl(FileDescriptor fd, String path, boolean readable,
boolean writable, boolean append, Object parent)
{
this.fd = fd;
@@ -70,23 +84,24 @@
this.writable = writable;
this.append = append;
this.parent = parent;
+ this.path = path;
this.nd = new FileDispatcherImpl(append);
}
// Used by FileInputStream.getChannel() and RandomAccessFile.getChannel()
- public static FileChannel open(FileDescriptor fd,
+ public static FileChannel open(FileDescriptor fd, String path,
boolean readable, boolean writable,
Object parent)
{
- return new FileChannelImpl(fd, readable, writable, false, parent);
+ return new FileChannelImpl(fd, path, readable, writable, false, parent);
}
// Used by FileOutputStream.getChannel
- public static FileChannel open(FileDescriptor fd,
+ public static FileChannel open(FileDescriptor fd, String path,
boolean readable, boolean writable,
boolean append, Object parent)
{
- return new FileChannelImpl(fd, readable, writable, append, parent);
+ return new FileChannelImpl(fd, path, readable, writable, append, parent);
}
private void ensureOpen() throws IOException {
diff --git a/jdk/src/share/classes/sun/nio/ch/IOStatus.java b/jdk/src/share/classes/sun/nio/ch/IOStatus.java
index 856eb8b..968e134 100644
--- a/jdk/src/share/classes/sun/nio/ch/IOStatus.java
+++ b/jdk/src/share/classes/sun/nio/ch/IOStatus.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/IOUtil.java b/jdk/src/share/classes/sun/nio/ch/IOUtil.java
index ba5449e..91980b1 100644
--- a/jdk/src/share/classes/sun/nio/ch/IOUtil.java
+++ b/jdk/src/share/classes/sun/nio/ch/IOUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/NativeDispatcher.java b/jdk/src/share/classes/sun/nio/ch/NativeDispatcher.java
index bcc507d..26553e0 100644
--- a/jdk/src/share/classes/sun/nio/ch/NativeDispatcher.java
+++ b/jdk/src/share/classes/sun/nio/ch/NativeDispatcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/Net.java b/jdk/src/share/classes/sun/nio/ch/Net.java
index a25111c..79ebb2f 100644
--- a/jdk/src/share/classes/sun/nio/ch/Net.java
+++ b/jdk/src/share/classes/sun/nio/ch/Net.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/ServerSocketAdaptor.java b/jdk/src/share/classes/sun/nio/ch/ServerSocketAdaptor.java
index d6f2bcd..4357ffc 100644
--- a/jdk/src/share/classes/sun/nio/ch/ServerSocketAdaptor.java
+++ b/jdk/src/share/classes/sun/nio/ch/ServerSocketAdaptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java b/jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java
index dc15547..6b7d51b 100644
--- a/jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/ServerSocketChannelImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java b/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java
index 8d891b6..5658480 100644
--- a/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java b/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java
index 9ca284e..9fd494b 100644
--- a/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java
+++ b/jdk/src/share/classes/sun/nio/ch/SocketAdaptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java b/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java
index 535e73c..a977ced 100644
--- a/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/SocketChannelImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/ThreadPool.java b/jdk/src/share/classes/sun/nio/ch/ThreadPool.java
index 6a2fe42..0761cb3 100644
--- a/jdk/src/share/classes/sun/nio/ch/ThreadPool.java
+++ b/jdk/src/share/classes/sun/nio/ch/ThreadPool.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/src/share/classes/sun/nio/ch/Util.java b/jdk/src/share/classes/sun/nio/ch/Util.java
index 772f149..dca91d6 100644
--- a/jdk/src/share/classes/sun/nio/ch/Util.java
+++ b/jdk/src/share/classes/sun/nio/ch/Util.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/nio/cs/UTF_8.java b/jdk/src/share/classes/sun/nio/cs/UTF_8.java
index cb707ff..bfb7b7a 100644
--- a/jdk/src/share/classes/sun/nio/cs/UTF_8.java
+++ b/jdk/src/share/classes/sun/nio/cs/UTF_8.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/nio/cs/ext/DoubleByte.java b/jdk/src/share/classes/sun/nio/cs/ext/DoubleByte.java
index 398ab52..ddc1904 100644
--- a/jdk/src/share/classes/sun/nio/cs/ext/DoubleByte.java
+++ b/jdk/src/share/classes/sun/nio/cs/ext/DoubleByte.java
@@ -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
diff --git a/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java b/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java
index 98ec881..1d46e46 100644
--- a/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java
+++ b/jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/src/share/classes/sun/nio/cs/ext/HKSCS.java b/jdk/src/share/classes/sun/nio/cs/ext/HKSCS.java
index 0978468..07be74d 100644
--- a/jdk/src/share/classes/sun/nio/cs/ext/HKSCS.java
+++ b/jdk/src/share/classes/sun/nio/cs/ext/HKSCS.java
@@ -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
diff --git a/jdk/src/share/classes/sun/nio/cs/ext/ISO2022_JP_2.java b/jdk/src/share/classes/sun/nio/cs/ext/ISO2022_JP_2.java
index 0389a12..8d0d4e0 100644
--- a/jdk/src/share/classes/sun/nio/cs/ext/ISO2022_JP_2.java
+++ b/jdk/src/share/classes/sun/nio/cs/ext/ISO2022_JP_2.java
@@ -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
diff --git a/jdk/src/share/classes/sun/nio/cs/ext/MSISO2022JP.java b/jdk/src/share/classes/sun/nio/cs/ext/MSISO2022JP.java
index 761809a..188116e 100644
--- a/jdk/src/share/classes/sun/nio/cs/ext/MSISO2022JP.java
+++ b/jdk/src/share/classes/sun/nio/cs/ext/MSISO2022JP.java
@@ -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
diff --git a/jdk/src/share/classes/sun/nio/fs/Util.java b/jdk/src/share/classes/sun/nio/fs/Util.java
index e9abc6f..2d5c8cb 100644
--- a/jdk/src/share/classes/sun/nio/fs/Util.java
+++ b/jdk/src/share/classes/sun/nio/fs/Util.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/sun/print/PSPathGraphics.java b/jdk/src/share/classes/sun/print/PSPathGraphics.java
index 0ee2a24..edd3e1d 100644
--- a/jdk/src/share/classes/sun/print/PSPathGraphics.java
+++ b/jdk/src/share/classes/sun/print/PSPathGraphics.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/share/classes/sun/print/PathGraphics.java b/jdk/src/share/classes/sun/print/PathGraphics.java
index ee71c75..f7f82c8 100644
--- a/jdk/src/share/classes/sun/print/PathGraphics.java
+++ b/jdk/src/share/classes/sun/print/PathGraphics.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2007, 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
diff --git a/jdk/src/share/classes/sun/print/PrintJob2D.java b/jdk/src/share/classes/sun/print/PrintJob2D.java
index 4e3923a..ef5446d 100644
--- a/jdk/src/share/classes/sun/print/PrintJob2D.java
+++ b/jdk/src/share/classes/sun/print/PrintJob2D.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/print/ServiceDialog.java b/jdk/src/share/classes/sun/print/ServiceDialog.java
index bdfd5ba..7c557db 100644
--- a/jdk/src/share/classes/sun/print/ServiceDialog.java
+++ b/jdk/src/share/classes/sun/print/ServiceDialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/reflect/AccessorGenerator.java b/jdk/src/share/classes/sun/reflect/AccessorGenerator.java
index d3eda43..7f1ae50 100644
--- a/jdk/src/share/classes/sun/reflect/AccessorGenerator.java
+++ b/jdk/src/share/classes/sun/reflect/AccessorGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/reflect/MethodAccessorGenerator.java b/jdk/src/share/classes/sun/reflect/MethodAccessorGenerator.java
index b00450c..6f212a8 100644
--- a/jdk/src/share/classes/sun/reflect/MethodAccessorGenerator.java
+++ b/jdk/src/share/classes/sun/reflect/MethodAccessorGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java b/jdk/src/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java
index 68ef98f..f07a17c 100644
--- a/jdk/src/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java
+++ b/jdk/src/share/classes/sun/reflect/UnsafeStaticFieldAccessorImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/src/share/classes/sun/reflect/annotation/ExceptionProxy.java b/jdk/src/share/classes/sun/reflect/annotation/ExceptionProxy.java
index 0fa1806..8495bc9 100644
--- a/jdk/src/share/classes/sun/reflect/annotation/ExceptionProxy.java
+++ b/jdk/src/share/classes/sun/reflect/annotation/ExceptionProxy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -37,5 +37,6 @@
* @since 1.5
*/
public abstract class ExceptionProxy implements java.io.Serializable {
+ private static final long serialVersionUID = 7241930048386631401L;
protected abstract RuntimeException generateException();
}
diff --git a/jdk/src/share/classes/sun/reflect/generics/repository/ClassRepository.java b/jdk/src/share/classes/sun/reflect/generics/repository/ClassRepository.java
index 6fae146..f60f033 100644
--- a/jdk/src/share/classes/sun/reflect/generics/repository/ClassRepository.java
+++ b/jdk/src/share/classes/sun/reflect/generics/repository/ClassRepository.java
@@ -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
diff --git a/jdk/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java b/jdk/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java
index 4eca0a9..28cb4b4 100644
--- a/jdk/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java
+++ b/jdk/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java b/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java
index 1ec2eb6..b49ed0a 100644
--- a/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java
+++ b/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java
@@ -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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties
index ae2c6bf..e8f4189 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_de.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties
index 9192c09..21f9530 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_es.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties
index f806368..788b28f 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_fr.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties
index 7afb47c..40b9c65 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_it.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties
index 46261e6..ef6246e 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ja.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ko.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ko.properties
index 3464c4e..3f0aa5d 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ko.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_ko.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties
index 9659c3b..a4784a1 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_pt_BR.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties
index e853e97..ea95f50 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_sv.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties
index 9a5a2bf..445d5ba 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_CN.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties
index 256fb2c..f98c2bc 100644
--- a/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties
+++ b/jdk/src/share/classes/sun/rmi/registry/resources/rmiregistry_zh_TW.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1999, 2001, 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
diff --git a/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java b/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java
index 6b997e4..52f474e 100644
--- a/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java
+++ b/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java
@@ -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
diff --git a/jdk/src/share/classes/sun/rmi/rmic/RemoteClass.java b/jdk/src/share/classes/sun/rmi/rmic/RemoteClass.java
index 62dfcf2..e9ec3fa 100644
--- a/jdk/src/share/classes/sun/rmi/rmic/RemoteClass.java
+++ b/jdk/src/share/classes/sun/rmi/rmic/RemoteClass.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2008, 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
diff --git a/jdk/src/share/classes/sun/rmi/rmic/Util.java b/jdk/src/share/classes/sun/rmi/rmic/Util.java
index 2a154b7..f93b509 100644
--- a/jdk/src/share/classes/sun/rmi/rmic/Util.java
+++ b/jdk/src/share/classes/sun/rmi/rmic/Util.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/classes/sun/rmi/rmic/newrmic/jrmp/StubSkeletonWriter.java b/jdk/src/share/classes/sun/rmi/rmic/newrmic/jrmp/StubSkeletonWriter.java
index f56ea1d..a7fa7c4 100644
--- a/jdk/src/share/classes/sun/rmi/rmic/newrmic/jrmp/StubSkeletonWriter.java
+++ b/jdk/src/share/classes/sun/rmi/rmic/newrmic/jrmp/StubSkeletonWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties b/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties
index 7e5d0e7..2a11d99 100644
--- a/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties
+++ b/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_ja.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties b/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties
index db847f5..aa93d01 100644
--- a/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties
+++ b/jdk/src/share/classes/sun/rmi/rmic/resources/rmic_zh_CN.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java b/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java
index 4f67941..64b8fc9 100644
--- a/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java
+++ b/jdk/src/share/classes/sun/rmi/server/MarshalInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_de.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_de.properties
index 8013169..4198822 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_de.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_de.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_es.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_es.properties
index 075a5e6..b250cb8 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_es.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_es.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_fr.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_fr.properties
index 5b719bf..d589941 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_fr.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_fr.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_it.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_it.properties
index 55a0871..d415613 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_it.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_it.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_ja.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_ja.properties
index b0742af..7d5ae8e 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_ja.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_ja.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_ko.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_ko.properties
index ea728a6..f8c2c05 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_ko.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_ko.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties
index eac4239..cdbdcdf 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_pt_BR.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_sv.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_sv.properties
index 67b9ffd..d1bb850 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_sv.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_sv.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties
index 920bde7..6bb2256 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_CN.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties b/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties
index 684645e..2905dc4 100644
--- a/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties
+++ b/jdk/src/share/classes/sun/rmi/server/resources/rmid_zh_TW.properties
@@ -1,6 +1,6 @@
#
#
-# Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java b/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java
index 80ab104..ca0f2b8 100644
--- a/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java
+++ b/jdk/src/share/classes/sun/rmi/transport/ObjectTable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java b/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java
index 657683c..c561216 100644
--- a/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java
+++ b/jdk/src/share/classes/sun/rmi/transport/proxy/CGIHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/rmi/transport/proxy/WrappedSocket.java b/jdk/src/share/classes/sun/rmi/transport/proxy/WrappedSocket.java
index 67f8fe65..7bc8503 100644
--- a/jdk/src/share/classes/sun/rmi/transport/proxy/WrappedSocket.java
+++ b/jdk/src/share/classes/sun/rmi/transport/proxy/WrappedSocket.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/rmi/transport/tcp/MultiplexOutputStream.java b/jdk/src/share/classes/sun/rmi/transport/tcp/MultiplexOutputStream.java
index 5411deb..d5a77dd 100644
--- a/jdk/src/share/classes/sun/rmi/transport/tcp/MultiplexOutputStream.java
+++ b/jdk/src/share/classes/sun/rmi/transport/tcp/MultiplexOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java b/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java
index 45fd60e..dbce2cc 100644
--- a/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java
+++ b/jdk/src/share/classes/sun/rmi/transport/tcp/TCPChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/security/ec/CurveDB.java b/jdk/src/share/classes/sun/security/ec/CurveDB.java
index 1cacfa3..0e2db68 100644
--- a/jdk/src/share/classes/sun/security/ec/CurveDB.java
+++ b/jdk/src/share/classes/sun/security/ec/CurveDB.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/src/share/classes/sun/security/ec/ECDHKeyAgreement.java b/jdk/src/share/classes/sun/security/ec/ECDHKeyAgreement.java
index d65e3a0..fbb2838 100644
--- a/jdk/src/share/classes/sun/security/ec/ECDHKeyAgreement.java
+++ b/jdk/src/share/classes/sun/security/ec/ECDHKeyAgreement.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/ec/ECDSASignature.java b/jdk/src/share/classes/sun/security/ec/ECDSASignature.java
index 1e80694..e20120b 100644
--- a/jdk/src/share/classes/sun/security/ec/ECDSASignature.java
+++ b/jdk/src/share/classes/sun/security/ec/ECDSASignature.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java b/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java
index 4cfda31..5bfb6a7 100644
--- a/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java
+++ b/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/ec/ECParameters.java b/jdk/src/share/classes/sun/security/ec/ECParameters.java
index 512f6c5..8292c95 100644
--- a/jdk/src/share/classes/sun/security/ec/ECParameters.java
+++ b/jdk/src/share/classes/sun/security/ec/ECParameters.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/src/share/classes/sun/security/ec/ECPublicKeyImpl.java b/jdk/src/share/classes/sun/security/ec/ECPublicKeyImpl.java
index dee601c..0e82e73 100644
--- a/jdk/src/share/classes/sun/security/ec/ECPublicKeyImpl.java
+++ b/jdk/src/share/classes/sun/security/ec/ECPublicKeyImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/src/share/classes/sun/security/ec/NamedCurve.java b/jdk/src/share/classes/sun/security/ec/NamedCurve.java
index ecb1d81..97597c8 100644
--- a/jdk/src/share/classes/sun/security/ec/NamedCurve.java
+++ b/jdk/src/share/classes/sun/security/ec/NamedCurve.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/src/share/classes/sun/security/ec/SunECEntries.java b/jdk/src/share/classes/sun/security/ec/SunECEntries.java
index 9552f8e..4e29718 100644
--- a/jdk/src/share/classes/sun/security/ec/SunECEntries.java
+++ b/jdk/src/share/classes/sun/security/ec/SunECEntries.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/jca/GetInstance.java b/jdk/src/share/classes/sun/security/jca/GetInstance.java
index c39be78..85ca272 100644
--- a/jdk/src/share/classes/sun/security/jca/GetInstance.java
+++ b/jdk/src/share/classes/sun/security/jca/GetInstance.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/GSSCaller.java b/jdk/src/share/classes/sun/security/jgss/GSSCaller.java
index 278e7b9..c061078 100644
--- a/jdk/src/share/classes/sun/security/jgss/GSSCaller.java
+++ b/jdk/src/share/classes/sun/security/jgss/GSSCaller.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java b/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java
index b88f722..602f180 100644
--- a/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java
+++ b/jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/GSSUtil.java b/jdk/src/share/classes/sun/security/jgss/GSSUtil.java
index f2d9f37..51dbdd6 100644
--- a/jdk/src/share/classes/sun/security/jgss/GSSUtil.java
+++ b/jdk/src/share/classes/sun/security/jgss/GSSUtil.java
@@ -25,7 +25,6 @@
package sun.security.jgss;
-import com.sun.security.auth.callback.TextCallbackHandler;
import javax.security.auth.Subject;
import javax.security.auth.kerberos.KerberosPrincipal;
import javax.security.auth.kerberos.KerberosTicket;
@@ -48,6 +47,7 @@
import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
import sun.security.action.GetBooleanAction;
+import sun.security.util.ConsoleCallbackHandler;
/**
* The GSSUtilImplementation that knows how to work with the internals of
@@ -243,7 +243,7 @@
if ((defaultHandler != null) && (defaultHandler.length() != 0)) {
cb = null;
} else {
- cb = new TextCallbackHandler();
+ cb = new ConsoleCallbackHandler();
}
}
diff --git a/jdk/src/share/classes/sun/security/jgss/HttpCaller.java b/jdk/src/share/classes/sun/security/jgss/HttpCaller.java
index b4f3e01..b8847b8 100644
--- a/jdk/src/share/classes/sun/security/jgss/HttpCaller.java
+++ b/jdk/src/share/classes/sun/security/jgss/HttpCaller.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/LoginConfigImpl.java b/jdk/src/share/classes/sun/security/jgss/LoginConfigImpl.java
index 52e2fa4..a06d3db 100644
--- a/jdk/src/share/classes/sun/security/jgss/LoginConfigImpl.java
+++ b/jdk/src/share/classes/sun/security/jgss/LoginConfigImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2009, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/AcceptSecContextToken.java b/jdk/src/share/classes/sun/security/jgss/krb5/AcceptSecContextToken.java
index 35882bc..35459ed 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/AcceptSecContextToken.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/AcceptSecContextToken.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java b/jdk/src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java
index ff2154f..0077e7e 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/InitSecContextToken.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java b/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java
index 7b34ff8..7482b39 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java
index 4a4d0fc..1fbb7a1 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5AcceptCredential.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Context.java b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Context.java
index 9e48094..2230c75 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Context.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Context.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java
index fa9a95a..536f927 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5InitCredential.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java
index a199529..ffae2cd 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java
index f3bde04..e06ca3e 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5NameElement.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java
index 0d5a314..31b54b7 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/Krb5Util.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/MessageToken.java b/jdk/src/share/classes/sun/security/jgss/krb5/MessageToken.java
index 145cd77..6d344d3 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/MessageToken.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/MessageToken.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/ServiceCreds.java b/jdk/src/share/classes/sun/security/jgss/krb5/ServiceCreds.java
index 824724b..0969046 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/ServiceCreds.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/ServiceCreds.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/SubjectComber.java b/jdk/src/share/classes/sun/security/jgss/krb5/SubjectComber.java
index ad1723f..a7100f0 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/SubjectComber.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/SubjectComber.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/jgss/spi/GSSContextSpi.java b/jdk/src/share/classes/sun/security/jgss/spi/GSSContextSpi.java
index 57ed32c..1a68a44 100644
--- a/jdk/src/share/classes/sun/security/jgss/spi/GSSContextSpi.java
+++ b/jdk/src/share/classes/sun/security/jgss/spi/GSSContextSpi.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/spi/GSSCredentialSpi.java b/jdk/src/share/classes/sun/security/jgss/spi/GSSCredentialSpi.java
index bab8a5d..69646d7 100644
--- a/jdk/src/share/classes/sun/security/jgss/spi/GSSCredentialSpi.java
+++ b/jdk/src/share/classes/sun/security/jgss/spi/GSSCredentialSpi.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java b/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java
index 1acc3a9..1c66bf5 100644
--- a/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java
+++ b/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoCredElement.java b/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoCredElement.java
index ee5999c..3a61383 100644
--- a/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoCredElement.java
+++ b/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoCredElement.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/sun/security/jgss/wrapper/GSSCredElement.java b/jdk/src/share/classes/sun/security/jgss/wrapper/GSSCredElement.java
index e38c4c6..3b06c7a 100644
--- a/jdk/src/share/classes/sun/security/jgss/wrapper/GSSCredElement.java
+++ b/jdk/src/share/classes/sun/security/jgss/wrapper/GSSCredElement.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/Config.java b/jdk/src/share/classes/sun/security/krb5/Config.java
index 442d835..a86cdfd 100644
--- a/jdk/src/share/classes/sun/security/krb5/Config.java
+++ b/jdk/src/share/classes/sun/security/krb5/Config.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/Credentials.java b/jdk/src/share/classes/sun/security/krb5/Credentials.java
index e0037da..80095ac 100644
--- a/jdk/src/share/classes/sun/security/krb5/Credentials.java
+++ b/jdk/src/share/classes/sun/security/krb5/Credentials.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/EncryptedData.java b/jdk/src/share/classes/sun/security/krb5/EncryptedData.java
index 0849f91..4c5cab7 100644
--- a/jdk/src/share/classes/sun/security/krb5/EncryptedData.java
+++ b/jdk/src/share/classes/sun/security/krb5/EncryptedData.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/EncryptionKey.java b/jdk/src/share/classes/sun/security/krb5/EncryptionKey.java
index 08fd9d2..b83fe8c 100644
--- a/jdk/src/share/classes/sun/security/krb5/EncryptionKey.java
+++ b/jdk/src/share/classes/sun/security/krb5/EncryptionKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java b/jdk/src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java
index ae3dc3d..501e6b3 100644
--- a/jdk/src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java
+++ b/jdk/src/share/classes/sun/security/krb5/JavaxSecurityAuthKerberosAccess.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/krb5/KdcComm.java b/jdk/src/share/classes/sun/security/krb5/KdcComm.java
index 770d0a1..caaf20a 100644
--- a/jdk/src/share/classes/sun/security/krb5/KdcComm.java
+++ b/jdk/src/share/classes/sun/security/krb5/KdcComm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/KrbApRep.java b/jdk/src/share/classes/sun/security/krb5/KrbApRep.java
index 792e5ae..44216bf 100644
--- a/jdk/src/share/classes/sun/security/krb5/KrbApRep.java
+++ b/jdk/src/share/classes/sun/security/krb5/KrbApRep.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/KrbApReq.java b/jdk/src/share/classes/sun/security/krb5/KrbApReq.java
index d05ee69..b88e42d 100644
--- a/jdk/src/share/classes/sun/security/krb5/KrbApReq.java
+++ b/jdk/src/share/classes/sun/security/krb5/KrbApReq.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/KrbCred.java b/jdk/src/share/classes/sun/security/krb5/KrbCred.java
index 586a666..e6a4785 100644
--- a/jdk/src/share/classes/sun/security/krb5/KrbCred.java
+++ b/jdk/src/share/classes/sun/security/krb5/KrbCred.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/KrbTgsReq.java b/jdk/src/share/classes/sun/security/krb5/KrbTgsReq.java
index fa599e4..798b78d 100644
--- a/jdk/src/share/classes/sun/security/krb5/KrbTgsReq.java
+++ b/jdk/src/share/classes/sun/security/krb5/KrbTgsReq.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/PrincipalName.java b/jdk/src/share/classes/sun/security/krb5/PrincipalName.java
index fc3b71f..669544d 100644
--- a/jdk/src/share/classes/sun/security/krb5/PrincipalName.java
+++ b/jdk/src/share/classes/sun/security/krb5/PrincipalName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/Realm.java b/jdk/src/share/classes/sun/security/krb5/Realm.java
index 66a69f7..65f1f6f 100644
--- a/jdk/src/share/classes/sun/security/krb5/Realm.java
+++ b/jdk/src/share/classes/sun/security/krb5/Realm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/SCDynamicStoreConfig.java b/jdk/src/share/classes/sun/security/krb5/SCDynamicStoreConfig.java
index 8d63237..f94a137 100644
--- a/jdk/src/share/classes/sun/security/krb5/SCDynamicStoreConfig.java
+++ b/jdk/src/share/classes/sun/security/krb5/SCDynamicStoreConfig.java
@@ -42,7 +42,7 @@
public Boolean run() {
String osname = System.getProperty("os.name");
if (osname.contains("OS X")) {
- System.loadLibrary("osx");
+ System.loadLibrary("osxkrb5");
return true;
}
return false;
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/CredentialsUtil.java b/jdk/src/share/classes/sun/security/krb5/internal/CredentialsUtil.java
index 800e6ee..b6a3677 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/CredentialsUtil.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/CredentialsUtil.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/Krb5.java b/jdk/src/share/classes/sun/security/krb5/internal/Krb5.java
index 1861c39..2be21dc 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/Krb5.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/Krb5.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/NetClient.java b/jdk/src/share/classes/sun/security/krb5/internal/NetClient.java
index 7502cf0..6224356 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/NetClient.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/NetClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java b/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
index 17378cb..3337d9f 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/crypto/DesCbcEType.java b/jdk/src/share/classes/sun/security/krb5/internal/crypto/DesCbcEType.java
index 7470fb2..9c6ce64 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/crypto/DesCbcEType.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/crypto/DesCbcEType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java b/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java
index 534bc8f..feed5d8 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/crypto/EType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/crypto/KeyUsage.java b/jdk/src/share/classes/sun/security/krb5/internal/crypto/KeyUsage.java
index 69c6fc8..f9be46c 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/crypto/KeyUsage.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/crypto/KeyUsage.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java b/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java
index 4d08539..5da7bc6 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/krb5/internal/rcache/AuthList.java b/jdk/src/share/classes/sun/security/krb5/internal/rcache/AuthList.java
index 8ec8e3e..1764271 100644
--- a/jdk/src/share/classes/sun/security/krb5/internal/rcache/AuthList.java
+++ b/jdk/src/share/classes/sun/security/krb5/internal/rcache/AuthList.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/pkcs/PKCS7.java b/jdk/src/share/classes/sun/security/pkcs/PKCS7.java
index f26f6ed..fdc295c 100644
--- a/jdk/src/share/classes/sun/security/pkcs/PKCS7.java
+++ b/jdk/src/share/classes/sun/security/pkcs/PKCS7.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/security/pkcs/SignerInfo.java b/jdk/src/share/classes/sun/security/pkcs/SignerInfo.java
index 43c5ac7..8650474 100644
--- a/jdk/src/share/classes/sun/security/pkcs/SignerInfo.java
+++ b/jdk/src/share/classes/sun/security/pkcs/SignerInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java b/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java
index 3caf6ca..af4e8a4 100644
--- a/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java
+++ b/jdk/src/share/classes/sun/security/pkcs10/PKCS10.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11DHKeyFactory.java b/jdk/src/share/classes/sun/security/pkcs11/P11DHKeyFactory.java
index efede76..7bc5f14 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11DHKeyFactory.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11DHKeyFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11DSAKeyFactory.java b/jdk/src/share/classes/sun/security/pkcs11/P11DSAKeyFactory.java
index c472f71..d9550cb 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11DSAKeyFactory.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11DSAKeyFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java b/jdk/src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java
index 40b5929..257164a 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java b/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java
index 5f31003..32002c2 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java b/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java
index 175c415..6c36de1 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11RSAKeyFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/provider/DSA.java b/jdk/src/share/classes/sun/security/provider/DSA.java
index 970c752..641c719 100644
--- a/jdk/src/share/classes/sun/security/provider/DSA.java
+++ b/jdk/src/share/classes/sun/security/provider/DSA.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/security/provider/X509Factory.java b/jdk/src/share/classes/sun/security/provider/X509Factory.java
index 3a491a1..d59e1d5 100644
--- a/jdk/src/share/classes/sun/security/provider/X509Factory.java
+++ b/jdk/src/share/classes/sun/security/provider/X509Factory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java b/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java
index 680795c..d05d22f 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, 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
@@ -26,13 +26,16 @@
package sun.security.provider.certpath;
import java.io.IOException;
-import java.util.Date;
-
+import java.math.BigInteger;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
import java.security.cert.X509CertSelector;
import java.security.cert.CertificateException;
+import java.util.Arrays;
+import java.util.Date;
+import sun.security.util.Debug;
+import sun.security.util.DerInputStream;
import sun.security.util.DerOutputStream;
import sun.security.x509.SerialNumber;
import sun.security.x509.KeyIdentifier;
@@ -40,26 +43,27 @@
/**
* An adaptable X509 certificate selector for forward certification path
- * building.
+ * building. This selector overrides the default X509CertSelector matching
+ * rules for the subjectKeyIdentifier and serialNumber criteria, and adds
+ * additional rules for certificate validity.
*
* @since 1.7
*/
class AdaptableX509CertSelector extends X509CertSelector {
+
+ private static final Debug debug = Debug.getInstance("certpath");
+
// The start date of a validity period.
private Date startDate;
// The end date of a validity period.
private Date endDate;
- // Is subject key identifier sensitive?
- private boolean isSKIDSensitive = false;
+ // The subject key identifier
+ private byte[] ski;
- // Is serial number sensitive?
- private boolean isSNSensitive = false;
-
- AdaptableX509CertSelector() {
- super();
- }
+ // The serial number
+ private BigInteger serial;
/**
* Sets the criterion of the X509Certificate validity period.
@@ -86,51 +90,70 @@
}
/**
- * Parse the authority key identifier extension.
- *
- * If the keyIdentifier field of the extension is non-null, set the
- * subjectKeyIdentifier criterion. If the authorityCertSerialNumber
- * field is non-null, set the serialNumber criterion.
- *
- * Note that we will not set the subject criterion according to the
- * authorityCertIssuer field of the extension. The caller MUST set
- * the subject criterion before call match().
- *
- * @param akidext the authorityKeyIdentifier extension
+ * This selector overrides the subjectKeyIdentifier matching rules of
+ * X509CertSelector, so it throws IllegalArgumentException if this method
+ * is ever called.
*/
- void parseAuthorityKeyIdentifierExtension(
- AuthorityKeyIdentifierExtension akidext) throws IOException {
- if (akidext != null) {
- KeyIdentifier akid = (KeyIdentifier)akidext.get(
- AuthorityKeyIdentifierExtension.KEY_ID);
+ @Override
+ public void setSubjectKeyIdentifier(byte[] subjectKeyID) {
+ throw new IllegalArgumentException();
+ }
+
+ /**
+ * This selector overrides the serialNumber matching rules of
+ * X509CertSelector, so it throws IllegalArgumentException if this method
+ * is ever called.
+ */
+ @Override
+ public void setSerialNumber(BigInteger serial) {
+ throw new IllegalArgumentException();
+ }
+
+ /**
+ * Sets the subjectKeyIdentifier and serialNumber criteria from the
+ * authority key identifier extension.
+ *
+ * The subjectKeyIdentifier criterion is set to the keyIdentifier field
+ * of the extension, or null if it is empty. The serialNumber criterion
+ * is set to the authorityCertSerialNumber field, or null if it is empty.
+ *
+ * Note that we do not set the subject criterion to the
+ * authorityCertIssuer field of the extension. The caller MUST set
+ * the subject criterion before calling match().
+ *
+ * @param ext the authorityKeyIdentifier extension
+ * @throws IOException if there is an error parsing the extension
+ */
+ void setSkiAndSerialNumber(AuthorityKeyIdentifierExtension ext)
+ throws IOException {
+
+ ski = null;
+ serial = null;
+
+ if (ext != null) {
+ KeyIdentifier akid = (KeyIdentifier)ext.get(
+ AuthorityKeyIdentifierExtension.KEY_ID);
if (akid != null) {
- // Do not override the previous setting for initial selection.
- if (isSKIDSensitive || getSubjectKeyIdentifier() == null) {
- DerOutputStream derout = new DerOutputStream();
- derout.putOctetString(akid.getIdentifier());
- super.setSubjectKeyIdentifier(derout.toByteArray());
-
- isSKIDSensitive = true;
- }
+ DerOutputStream derout = new DerOutputStream();
+ derout.putOctetString(akid.getIdentifier());
+ ski = derout.toByteArray();
}
-
- SerialNumber asn = (SerialNumber)akidext.get(
- AuthorityKeyIdentifierExtension.SERIAL_NUMBER);
+ SerialNumber asn = (SerialNumber)ext.get(
+ AuthorityKeyIdentifierExtension.SERIAL_NUMBER);
if (asn != null) {
- // Do not override the previous setting for initial selection.
- if (isSNSensitive || getSerialNumber() == null) {
- super.setSerialNumber(asn.getNumber());
- isSNSensitive = true;
- }
+ serial = asn.getNumber();
}
-
- // the subject criterion should be set by the caller.
+ // the subject criterion should be set by the caller
}
}
/**
* Decides whether a <code>Certificate</code> should be selected.
*
+ * This method overrides the matching rules for the subjectKeyIdentifier
+ * and serialNumber criteria and adds additional rules for certificate
+ * validity.
+ *
* For the purpose of compatibility, when a certificate is of
* version 1 and version 2, or the certificate does not include
* a subject key identifier extension, the selection criterion
@@ -138,12 +161,28 @@
*/
@Override
public boolean match(Certificate cert) {
- if (!(cert instanceof X509Certificate)) {
+ X509Certificate xcert = (X509Certificate)cert;
+
+ // match subject key identifier
+ if (!matchSubjectKeyID(xcert)) {
return false;
}
- X509Certificate xcert = (X509Certificate)cert;
+ // In practice, a CA may replace its root certificate and require that
+ // the existing certificate is still valid, even if the AKID extension
+ // does not match the replacement root certificate fields.
+ //
+ // Conservatively, we only support the replacement for version 1 and
+ // version 2 certificate. As for version 3, the certificate extension
+ // may contain sensitive information (for example, policies), the
+ // AKID need to be respected to seek the exact certificate in case
+ // of key or certificate abuse.
int version = xcert.getVersion();
+ if (serial != null && version > 2) {
+ if (!serial.equals(xcert.getSerialNumber())) {
+ return false;
+ }
+ }
// Check the validity period for version 1 and 2 certificate.
if (version < 3) {
@@ -154,7 +193,6 @@
return false;
}
}
-
if (endDate != null) {
try {
xcert.checkValidity(endDate);
@@ -164,26 +202,50 @@
}
}
- // If no SubjectKeyIdentifier extension, don't bother to check it.
- if (isSKIDSensitive &&
- (version < 3 || xcert.getExtensionValue("2.5.29.14") == null)) {
- setSubjectKeyIdentifier(null);
+
+ if (!super.match(cert)) {
+ return false;
}
- // In practice, a CA may replace its root certificate and require that
- // the existing certificate is still valid, even if the AKID extension
- // does not match the replacement root certificate fields.
- //
- // Conservatively, we only support the replacement for version 1 and
- // version 2 certificate. As for version 2, the certificate extension
- // may contain sensitive information (for example, policies), the
- // AKID need to be respected to seek the exact certificate in case
- // of key or certificate abuse.
- if (isSNSensitive && version < 3) {
- setSerialNumber(null);
- }
+ return true;
+ }
- return super.match(cert);
+ /*
+ * Match on subject key identifier extension value. These matching rules
+ * are identical to X509CertSelector except that if the certificate does
+ * not have a subject key identifier extension, it returns true.
+ */
+ private boolean matchSubjectKeyID(X509Certificate xcert) {
+ if (ski == null) {
+ return true;
+ }
+ try {
+ byte[] extVal = xcert.getExtensionValue("2.5.29.14");
+ if (extVal == null) {
+ if (debug != null) {
+ debug.println("AdaptableX509CertSelector.match: "
+ + "no subject key ID extension");
+ }
+ return true;
+ }
+ DerInputStream in = new DerInputStream(extVal);
+ byte[] certSubjectKeyID = in.getOctetString();
+ if (certSubjectKeyID == null ||
+ !Arrays.equals(ski, certSubjectKeyID)) {
+ if (debug != null) {
+ debug.println("AdaptableX509CertSelector.match: "
+ + "subject key IDs don't match");
+ }
+ return false;
+ }
+ } catch (IOException ex) {
+ if (debug != null) {
+ debug.println("AdaptableX509CertSelector.match: "
+ + "exception in subject key ID check");
+ }
+ return false;
+ }
+ return true;
}
@Override
@@ -198,6 +260,9 @@
copy.endDate = (Date)endDate.clone();
}
+ if (ski != null) {
+ copy.ski = ski.clone();
+ }
return copy;
}
}
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/AdjacencyList.java b/jdk/src/share/classes/sun/security/provider/certpath/AdjacencyList.java
index 79ab59c..f26919b 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/AdjacencyList.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/AdjacencyList.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/CertPathHelper.java b/jdk/src/share/classes/sun/security/provider/certpath/CertPathHelper.java
index bd3a342..af6da8a 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/CertPathHelper.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/CertPathHelper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2009, 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
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java b/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java
index ecf609b..7f275fb 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, 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
@@ -751,9 +751,7 @@
* issued. [section 5.2.1, RFC 2459]
*/
AuthorityKeyIdentifierExtension crlAKID = crl.getAuthKeyIdExtension();
- if (crlAKID != null) {
- issuerSelector.parseAuthorityKeyIdentifierExtension(crlAKID);
- }
+ issuerSelector.setSkiAndSerialNumber(crlAKID);
matched = issuerSelector.match(cert);
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java b/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java
index 9523e9c..16892c4 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -269,7 +269,7 @@
*/
AuthorityKeyIdentifierExtension akidext =
currentState.cert.getAuthorityKeyIdentifierExtension();
- caSelector.parseAuthorityKeyIdentifierExtension(akidext);
+ caSelector.setSkiAndSerialNumber(akidext);
/*
* check the validity period
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java b/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java
index 728bc19..c4eaff3 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2014, 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
@@ -103,7 +103,7 @@
*/
try {
X509CertImpl firstCertImpl = X509CertImpl.toImpl(firstCert);
- selector.parseAuthorityKeyIdentifierExtension(
+ selector.setSkiAndSerialNumber(
firstCertImpl.getAuthorityKeyIdentifierExtension());
} catch (CertificateException | IOException e) {
// ignore
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/ReverseBuilder.java b/jdk/src/share/classes/sun/security/provider/certpath/ReverseBuilder.java
index aa0999e..a70945d 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/ReverseBuilder.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/ReverseBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java b/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java
index 19b41f6..f38e7dc 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -1035,6 +1035,9 @@
boolean signFlag = true;
List<? extends Certificate> cpList =
cpbr.getCertPath().getCertificates();
+ if (cpList.isEmpty()) {
+ return;
+ }
try {
for (int i = cpList.size()-1; i >= 0; i-- ) {
X509Certificate cert = (X509Certificate)cpList.get(i);
diff --git a/jdk/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java b/jdk/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java
index 8f4f44d..5a24a69 100644
--- a/jdk/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java
+++ b/jdk/src/share/classes/sun/security/provider/certpath/ldap/LDAPCertStore.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java b/jdk/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java
index 9801550..8ca36a1 100644
--- a/jdk/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java
+++ b/jdk/src/share/classes/sun/security/rsa/RSAKeyPairGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/AppInputStream.java b/jdk/src/share/classes/sun/security/ssl/AppInputStream.java
index 9904f4a..b9fb8fb 100644
--- a/jdk/src/share/classes/sun/security/ssl/AppInputStream.java
+++ b/jdk/src/share/classes/sun/security/ssl/AppInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/ByteBufferInputStream.java b/jdk/src/share/classes/sun/security/ssl/ByteBufferInputStream.java
index d6734b6..dde1869 100644
--- a/jdk/src/share/classes/sun/security/ssl/ByteBufferInputStream.java
+++ b/jdk/src/share/classes/sun/security/ssl/ByteBufferInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java b/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java
index 162d534..19dc90f 100644
--- a/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java
+++ b/jdk/src/share/classes/sun/security/ssl/CipherSuiteList.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java b/jdk/src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java
index 4f10c98..8465b01 100644
--- a/jdk/src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java
+++ b/jdk/src/share/classes/sun/security/ssl/ECDHClientKeyExchange.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java b/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java
index 4f2da07..df52bc5 100644
--- a/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java
+++ b/jdk/src/share/classes/sun/security/ssl/ECDHCrypt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/HandshakeHash.java b/jdk/src/share/classes/sun/security/ssl/HandshakeHash.java
index 771b0a7..ad4f6fd 100644
--- a/jdk/src/share/classes/sun/security/ssl/HandshakeHash.java
+++ b/jdk/src/share/classes/sun/security/ssl/HandshakeHash.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/HandshakeOutStream.java b/jdk/src/share/classes/sun/security/ssl/HandshakeOutStream.java
index 00df8a1..4c8cd4d 100644
--- a/jdk/src/share/classes/sun/security/ssl/HandshakeOutStream.java
+++ b/jdk/src/share/classes/sun/security/ssl/HandshakeOutStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java b/jdk/src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java
index 172bd45..2b25197 100644
--- a/jdk/src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/KeyManagerFactoryImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/Krb5Helper.java b/jdk/src/share/classes/sun/security/ssl/Krb5Helper.java
index ebf212b..c16eae1 100644
--- a/jdk/src/share/classes/sun/security/ssl/Krb5Helper.java
+++ b/jdk/src/share/classes/sun/security/ssl/Krb5Helper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/Krb5Proxy.java b/jdk/src/share/classes/sun/security/ssl/Krb5Proxy.java
index 9c5eee2..8596d86 100644
--- a/jdk/src/share/classes/sun/security/ssl/Krb5Proxy.java
+++ b/jdk/src/share/classes/sun/security/ssl/Krb5Proxy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/RSASignature.java b/jdk/src/share/classes/sun/security/ssl/RSASignature.java
index 8661acd..94a1e8e 100644
--- a/jdk/src/share/classes/sun/security/ssl/RSASignature.java
+++ b/jdk/src/share/classes/sun/security/ssl/RSASignature.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java b/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java
index d023ec1..d62641b 100644
--- a/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java
+++ b/jdk/src/share/classes/sun/security/ssl/SSLAlgorithmConstraints.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java b/jdk/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java
index 04f0c01..51fac9b 100644
--- a/jdk/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/SSLSessionContextImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/SessionId.java b/jdk/src/share/classes/sun/security/ssl/SessionId.java
index f902452..39bdd67 100644
--- a/jdk/src/share/classes/sun/security/ssl/SessionId.java
+++ b/jdk/src/share/classes/sun/security/ssl/SessionId.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java b/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
index c33f3f6..0d9f14c 100644
--- a/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
+++ b/jdk/src/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java b/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java
index 72c4635..46e0678 100644
--- a/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java b/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
index df111f0..8b598c3 100644
--- a/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java b/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java
index af64fcf..b6a5034 100644
--- a/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/X509KeyManagerImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java b/jdk/src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java
index d94a735..130ba74 100644
--- a/jdk/src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/krb5/Krb5ProxyImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/timestamp/TSRequest.java b/jdk/src/share/classes/sun/security/timestamp/TSRequest.java
index b2620bd..086c3b6 100644
--- a/jdk/src/share/classes/sun/security/timestamp/TSRequest.java
+++ b/jdk/src/share/classes/sun/security/timestamp/TSRequest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java b/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java
index c24a68e..75aab4e 100644
--- a/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java
+++ b/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/tools/jarsigner/Resources.java b/jdk/src/share/classes/sun/security/tools/jarsigner/Resources.java
index fec1890..77b0628 100644
--- a/jdk/src/share/classes/sun/security/tools/jarsigner/Resources.java
+++ b/jdk/src/share/classes/sun/security/tools/jarsigner/Resources.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_ja.java b/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_ja.java
index 7c522ba..cf89e9a 100644
--- a/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_ja.java
+++ b/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_ja.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java b/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java
index ee2334d..0beb62a 100644
--- a/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java
+++ b/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -53,9 +53,9 @@
{"If.keystore.is.not.password.protected.then.storepass.and.keypass.must.not.be.specified",
"\u5982\u679C\u5BC6\u94A5\u5E93\u672A\u53D7\u53E3\u4EE4\u4FDD\u62A4, \u5219\u4E0D\u80FD\u6307\u5B9A -storepass \u548C -keypass"},
{"Usage.jarsigner.options.jar.file.alias",
- "\u7528\u6CD5: jarsigner [\u9009\u9879] jar \u6587\u4EF6\u522B\u540D"},
+ "\u7528\u6CD5: jarsigner [\u9009\u9879] jar-file \u522B\u540D"},
{".jarsigner.verify.options.jar.file.alias.",
- " jarsigner -verify [options] jar-file [alias...]"},
+ " jarsigner -verify [\u9009\u9879] jar-file [\u522B\u540D...]"},
{".keystore.url.keystore.location",
"[-keystore <url>] \u5BC6\u94A5\u5E93\u4F4D\u7F6E"},
{".storepass.password.password.for.keystore.integrity",
@@ -65,7 +65,7 @@
{".keypass.password.password.for.private.key.if.different.",
"[-keypass <\u53E3\u4EE4>] \u79C1\u6709\u5BC6\u94A5\u7684\u53E3\u4EE4 (\u5982\u679C\u4E0D\u540C)"},
{".certchain.file.name.of.alternative.certchain.file",
- "[-certchain <file>] \u66FF\u4EE3 certchain \u6587\u4EF6\u7684\u540D\u79F0"},
+ "[-certchain <\u6587\u4EF6>] \u66FF\u4EE3 certchain \u6587\u4EF6\u7684\u540D\u79F0"},
{".sigfile.file.name.of.SF.DSA.file",
"[-sigfile <\u6587\u4EF6>] .SF/.DSA \u6587\u4EF6\u7684\u540D\u79F0"},
{".signedjar.file.name.of.signed.JAR.file",
diff --git a/jdk/src/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java b/jdk/src/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java
index e52e246..3e50419 100644
--- a/jdk/src/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java
+++ b/jdk/src/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_de.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_de.java
index 623bf76..46d75a5 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_de.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_de.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"Generiert ein Zertifikat aus einer Zertifikatanforderung"}, //-gencert
{"Generates.CRL", "Generiert eine CRL"}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "{0} Secret Key generiert"}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "{0}-Bit {1} Secret Key generiert"}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"Importiert Eintr\u00E4ge aus einer Identity-Datenbank im JDK 1.1.x-Stil"}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"Importiert ein Zertifikat oder eine Zertifikatkette"}, //-importcert
+ {"Imports.a.password",
+ "Importiert ein Kennwort"}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"Importiert einen oder alle Eintr\u00E4ge aus einem anderen Keystore"}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "Sie m\u00FCssen einen Alias angeben"},
{"Keystore.password.must.be.at.least.6.characters",
"Keystore-Kennwort muss mindestens sechs Zeichen lang sein"},
+ {"Enter.the.password.to.be.stored.",
+ "Geben Sie das Kennwort ein, das gespeichert werden soll: "},
{"Enter.keystore.password.", "Keystore-Kennwort eingeben: "},
{"Enter.source.keystore.password.", "Quell-Keystore-Kennwort eingeben: "},
{"Enter.destination.keystore.password.", "Ziel-Keystore-Kennwort eingeben: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "Neues {0}: "},
{"Passwords.must.differ", "Kennw\u00F6rter m\u00FCssen sich unterscheiden"},
{"Re.enter.new.prompt.", "Neues {0} erneut eingeben: "},
+ {"Re.enter.passpword.", "Geben Sie das Kennwort erneut ein: "},
{"Re.enter.new.password.", "Neues Kennwort erneut eingeben: "},
{"They.don.t.match.Try.again", "Keine \u00DCbereinstimmung. Wiederholen Sie den Vorgang"},
{"Enter.prompt.alias.name.", "{0}-Aliasnamen eingeben: "},
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_es.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_es.java
index ac12dd0..4c0bd34 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_es.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_es.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"Genera un certificado a partir de una solicitud de certificado"}, //-gencert
{"Generates.CRL", "Genera CRL"}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "Clave secreta {0} generada"}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "Clave secreta {1} de {0} bits generada"}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"Importa entradas desde una base de datos de identidades JDK 1.1.x-style"}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"Importa un certificado o una cadena de certificados"}, //-importcert
+ {"Imports.a.password",
+ "Importa una contrase\u00F1a"}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"Importa una o todas las entradas desde otro almac\u00E9n de claves"}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "Se debe especificar un alias"},
{"Keystore.password.must.be.at.least.6.characters",
"La contrase\u00F1a del almac\u00E9n de claves debe tener al menos 6 caracteres"},
+ {"Enter.the.password.to.be.stored.",
+ "Introduzca la contrase\u00F1a que se va a almacenar: "},
{"Enter.keystore.password.", "Introduzca la contrase\u00F1a del almac\u00E9n de claves: "},
{"Enter.source.keystore.password.", "Introduzca la contrase\u00F1a de almac\u00E9n de claves de origen: "},
{"Enter.destination.keystore.password.", "Introduzca la contrase\u00F1a de almac\u00E9n de claves de destino: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "Nuevo {0}: "},
{"Passwords.must.differ", "Las contrase\u00F1as deben ser distintas"},
{"Re.enter.new.prompt.", "Vuelva a escribir el nuevo {0}: "},
+ {"Re.enter.passpword.", "Vuelva a introducir la contrase\u00F1a: "},
{"Re.enter.new.password.", "Volver a escribir la contrase\u00F1a nueva: "},
{"They.don.t.match.Try.again", "No coinciden. Int\u00E9ntelo de nuevo"},
{"Enter.prompt.alias.name.", "Escriba el nombre de alias de {0}: "},
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_fr.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_fr.java
index aaa7c2e..6ba2985 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_fr.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_fr.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"G\u00E9n\u00E8re le certificat \u00E0 partir d'une demande de certificat"}, //-gencert
{"Generates.CRL", "G\u00E9n\u00E8re la liste des certificats r\u00E9voqu\u00E9s (CRL)"}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "Cl\u00E9 secr\u00E8te {0} g\u00E9n\u00E9r\u00E9e"}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "Cl\u00E9 secr\u00E8te {0} bits {1} g\u00E9n\u00E9r\u00E9e"}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"Importe les entr\u00E9es \u00E0 partir d'une base de donn\u00E9es d'identit\u00E9s de type JDK 1.1.x"}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"Importe un certificat ou une cha\u00EEne de certificat"}, //-importcert
+ {"Imports.a.password",
+ "Importe un mot de passe"}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"Importe une entr\u00E9e ou la totalit\u00E9 des entr\u00E9es depuis un autre fichier de cl\u00E9s"}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "L'alias doit \u00EAtre sp\u00E9cifi\u00E9"},
{"Keystore.password.must.be.at.least.6.characters",
"Un mot de passe de fichier de cl\u00E9s doit comporter au moins 6 caract\u00E8res"},
+ {"Enter.the.password.to.be.stored.",
+ "Saisissez le mot de passe \u00E0 stocker : "},
{"Enter.keystore.password.", "Entrez le mot de passe du fichier de cl\u00E9s : "},
{"Enter.source.keystore.password.", "Entrez le mot de passe du fichier de cl\u00E9s source\u00A0: "},
{"Enter.destination.keystore.password.", "Entrez le mot de passe du fichier de cl\u00E9s de destination\u00A0: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "Nouveau {0} : "},
{"Passwords.must.differ", "Les mots de passe doivent diff\u00E9rer"},
{"Re.enter.new.prompt.", "Indiquez encore le nouveau {0} : "},
+ {"Re.enter.passpword.", "R\u00E9p\u00E9tez le mot de passe : "},
{"Re.enter.new.password.", "Ressaisissez le nouveau mot de passe : "},
{"They.don.t.match.Try.again", "Ils sont diff\u00E9rents. R\u00E9essayez."},
{"Enter.prompt.alias.name.", "Indiquez le nom d''alias {0} : "},
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_it.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_it.java
index a47c97f..68b64ce 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_it.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_it.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"Genera un certificato da una richiesta di certificato"}, //-gencert
{"Generates.CRL", "Genera CRL"}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "Generata chiave segreta {0}"}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "Generata chiave segreta {1} a {0} bit"}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"Importa le voci da un database delle identit\u00E0 di tipo JDK 1.1.x"}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"Importa un certificato o una catena di certificati"}, //-importcert
+ {"Imports.a.password",
+ "Importa una password"}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"Importa una o tutte le voci da un altro keystore"}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "\u00C8 necessario specificare l'alias"},
{"Keystore.password.must.be.at.least.6.characters",
"La password del keystore deve contenere almeno 6 caratteri"},
+ {"Enter.the.password.to.be.stored.",
+ "Immettere la password da memorizzare: "},
{"Enter.keystore.password.", "Immettere la password del keystore: "},
{"Enter.source.keystore.password.", "Immettere la password del keystore di origine: "},
{"Enter.destination.keystore.password.", "Immettere la password del keystore di destinazione: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "Nuova {0}: "},
{"Passwords.must.differ", "Le password non devono coincidere"},
{"Re.enter.new.prompt.", "Reimmettere un nuovo valore per {0}: "},
+ {"Re.enter.passpword.", "Reimmettere la password: "},
{"Re.enter.new.password.", "Immettere nuovamente la nuova password: "},
{"They.don.t.match.Try.again", "Non corrispondono. Riprovare."},
{"Enter.prompt.alias.name.", "Immettere nome alias {0}: "},
@@ -335,7 +344,7 @@
"Immettere un nuovo nome alias\t(premere INVIO per annullare l'importazione della voce): "},
{"Enter.alias.name.", "Immettere nome alias: "},
{".RETURN.if.same.as.for.otherAlias.",
- "\t(INVIO se corrisponde al nome di <{0}>"},
+ "\t(INVIO se corrisponde al nome di <{0}>)"},
{".PATTERN.printX509Cert",
"Proprietario: {0}\nAutorit\u00E0 emittente: {1}\nNumero di serie: {2}\nValido da: {3} a: {4}\nImpronte digitali certificato:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Nome algoritmo firma: {8}\n\t Versione: {9}"},
{"What.is.your.first.and.last.name.",
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_ja.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_ja.java
index b40b046..6ae28fa 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_ja.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_ja.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8\u304B\u3089\u8A3C\u660E\u66F8\u3092\u751F\u6210\u3057\u307E\u3059"}, //-gencert
{"Generates.CRL", "CRL\u3092\u751F\u6210\u3057\u307E\u3059"}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "{0}\u79D8\u5BC6\u9375\u3092\u751F\u6210\u3057\u307E\u3057\u305F"}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "{0}\u30D3\u30C3\u30C8{1}\u79D8\u5BC6\u9375\u3092\u751F\u6210\u3057\u307E\u3057\u305F"}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"JDK 1.1.x-style\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u30FB\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u30A8\u30F3\u30C8\u30EA\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"\u8A3C\u660E\u66F8\u307E\u305F\u306F\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-importcert
+ {"Imports.a.password",
+ "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"\u5225\u306E\u30AD\u30FC\u30B9\u30C8\u30A2\u304B\u30891\u3064\u307E\u305F\u306F\u3059\u3079\u3066\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "\u5225\u540D\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
{"Keystore.password.must.be.at.least.6.characters",
"\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306F6\u6587\u5B57\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+ {"Enter.the.password.to.be.stored.",
+ "\u4FDD\u5B58\u3059\u308B\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
{"Enter.keystore.password.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
{"Enter.source.keystore.password.", "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
{"Enter.destination.keystore.password.", "\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "\u65B0\u898F{0}: "},
{"Passwords.must.differ", "\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u7570\u306A\u3063\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
{"Re.enter.new.prompt.", "\u65B0\u898F{0}\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
+ {"Re.enter.passpword.", "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
{"Re.enter.new.password.", "\u65B0\u898F\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
{"They.don.t.match.Try.again", "\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002\u3082\u3046\u4E00\u5EA6\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044"},
{"Enter.prompt.alias.name.", "{0}\u306E\u5225\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_ko.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_ko.java
index 6140bc7..d0bed5c 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_ko.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_ko.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"\uC778\uC99D\uC11C \uC694\uCCAD\uC5D0\uC11C \uC778\uC99D\uC11C\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-gencert
{"Generates.CRL", "CRL\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "{0} \uBCF4\uC548 \uD0A4\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "{0}\uBE44\uD2B8 {1} \uBCF4\uC548 \uD0A4\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"JDK 1.1.x \uC2A4\uD0C0\uC77C ID \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uD56D\uBAA9\uC744 \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"\uC778\uC99D\uC11C \uB610\uB294 \uC778\uC99D\uC11C \uCCB4\uC778\uC744 \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-importcert
+ {"Imports.a.password",
+ "\uBE44\uBC00\uBC88\uD638\uB97C \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"\uB2E4\uB978 \uD0A4 \uC800\uC7A5\uC18C\uC5D0\uC11C \uD558\uB098 \uB610\uB294 \uBAA8\uB4E0 \uD56D\uBAA9\uC744 \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "\uBCC4\uCE6D\uC744 \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4."},
{"Keystore.password.must.be.at.least.6.characters",
"\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638\uB294 6\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+ {"Enter.the.password.to.be.stored.",
+ "\uC800\uC7A5\uD560 \uBE44\uBC00\uBC88\uD638 \uC785\uB825: "},
{"Enter.keystore.password.", "\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 \uC785\uB825: "},
{"Enter.source.keystore.password.", "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 \uC785\uB825: "},
{"Enter.destination.keystore.password.", "\uB300\uC0C1 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 \uC785\uB825: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "\uC0C8 {0}: "},
{"Passwords.must.differ", "\uBE44\uBC00\uBC88\uD638\uB294 \uB2EC\uB77C\uC57C \uD569\uB2C8\uB2E4."},
{"Re.enter.new.prompt.", "\uC0C8 {0} \uB2E4\uC2DC \uC785\uB825: "},
+ {"Re.enter.passpword.", "\uBE44\uBC00\uBC88\uD638 \uB2E4\uC2DC \uC785\uB825: "},
{"Re.enter.new.password.", "\uC0C8 \uBE44\uBC00\uBC88\uD638 \uB2E4\uC2DC \uC785\uB825: "},
{"They.don.t.match.Try.again", "\uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624."},
{"Enter.prompt.alias.name.", "{0} \uBCC4\uCE6D \uC774\uB984 \uC785\uB825: "},
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_pt_BR.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_pt_BR.java
index 0080342..349f694 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_pt_BR.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_pt_BR.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"Gera um certificado de uma solicita\u00E7\u00E3o de certificado"}, //-gencert
{"Generates.CRL", "Gera CRL"}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "Chave secreta {0} gerada"}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "Chave secreta {1} de {0} bits gerada"}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"Importa entradas de um banco de dados de identidade JDK 1.1.x-style"}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"Importa um certificado ou uma cadeia de certificados"}, //-importcert
+ {"Imports.a.password",
+ "Importa uma senha"}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"Importa uma ou todas as entradas de outra \u00E1rea de armazenamento de chaves"}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "Deve ser especificado um alias"},
{"Keystore.password.must.be.at.least.6.characters",
"A senha da \u00E1rea de armazenamento de chaves deve ter, no m\u00EDnimo, 6 caracteres"},
+ {"Enter.the.password.to.be.stored.",
+ "Digite a senha a ser armazenada: "},
{"Enter.keystore.password.", "Informe a senha da \u00E1rea de armazenamento de chaves: "},
{"Enter.source.keystore.password.", "Informe a senha da \u00E1rea de armazenamento de chaves de origem: "},
{"Enter.destination.keystore.password.", "Informe a senha da \u00E1rea de armazenamento de chaves de destino: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "Nova {0}: "},
{"Passwords.must.differ", "As senhas devem ser diferentes"},
{"Re.enter.new.prompt.", "Informe novamente a nova {0}: "},
+ {"Re.enter.passpword.", "Redigite a senha: "},
{"Re.enter.new.password.", "Informe novamente a nova senha: "},
{"They.don.t.match.Try.again", "Elas n\u00E3o correspondem. Tente novamente"},
{"Enter.prompt.alias.name.", "Informe o nome do alias {0}: "},
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_sv.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_sv.java
index 7c2aa3c..effa0d6 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_sv.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_sv.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"Genererar certifikat fr\u00E5n certifikatbeg\u00E4ran"}, //-gencert
{"Generates.CRL", "Genererar CRL"}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "Genererade {0} hemlig nyckel"}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "Genererade {0}-bitars {1} hemlig nyckel"}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"Importerar poster fr\u00E5n identitetsdatabas i JDK 1.1.x-format"}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"Importerar ett certifikat eller en certifikatkedja"}, //-importcert
+ {"Imports.a.password",
+ "Importerar ett l\u00F6senord"}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"Importerar en eller alla poster fr\u00E5n annat nyckellager"}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "Du m\u00E5ste ange alias"},
{"Keystore.password.must.be.at.least.6.characters",
"Nyckellagerl\u00F6senordet m\u00E5ste inneh\u00E5lla minst 6 tecken"},
+ {"Enter.the.password.to.be.stored.",
+ "Ange det l\u00F6senord som ska lagras: "},
{"Enter.keystore.password.", "Ange nyckellagerl\u00F6senord: "},
{"Enter.source.keystore.password.", "Ange l\u00F6senord f\u00F6r k\u00E4llnyckellagret: "},
{"Enter.destination.keystore.password.", "Ange nyckellagerl\u00F6senord f\u00F6r destination: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "Nytt {0}: "},
{"Passwords.must.differ", "L\u00F6senorden m\u00E5ste vara olika"},
{"Re.enter.new.prompt.", "Ange nytt {0} igen: "},
+ {"Re.enter.passpword.", "Ange l\u00F6senord igen: "},
{"Re.enter.new.password.", "Ange det nya l\u00F6senordet igen: "},
{"They.don.t.match.Try.again", "De matchar inte. F\u00F6rs\u00F6k igen"},
{"Enter.prompt.alias.name.", "Ange aliasnamn f\u00F6r {0}: "},
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_CN.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_CN.java
index 814e0fe..99f85df 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_CN.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"\u6839\u636E\u8BC1\u4E66\u8BF7\u6C42\u751F\u6210\u8BC1\u4E66"}, //-gencert
{"Generates.CRL", "\u751F\u6210 CRL"}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "\u5DF2\u751F\u6210{0}\u5BC6\u94A5"}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "\u5DF2\u751F\u6210 {0} \u4F4D{1}\u5BC6\u94A5"}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"\u4ECE JDK 1.1.x \u6837\u5F0F\u7684\u8EAB\u4EFD\u6570\u636E\u5E93\u5BFC\u5165\u6761\u76EE"}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"\u5BFC\u5165\u8BC1\u4E66\u6216\u8BC1\u4E66\u94FE"}, //-importcert
+ {"Imports.a.password",
+ "\u5BFC\u5165\u53E3\u4EE4"}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"\u4ECE\u5176\u4ED6\u5BC6\u94A5\u5E93\u5BFC\u5165\u4E00\u4E2A\u6216\u6240\u6709\u6761\u76EE"}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "\u5FC5\u987B\u6307\u5B9A\u522B\u540D"},
{"Keystore.password.must.be.at.least.6.characters",
"\u5BC6\u94A5\u5E93\u53E3\u4EE4\u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
+ {"Enter.the.password.to.be.stored.",
+ "\u8F93\u5165\u8981\u5B58\u50A8\u7684\u53E3\u4EE4: "},
{"Enter.keystore.password.", "\u8F93\u5165\u5BC6\u94A5\u5E93\u53E3\u4EE4: "},
{"Enter.source.keystore.password.", "\u8F93\u5165\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4: "},
{"Enter.destination.keystore.password.", "\u8F93\u5165\u76EE\u6807\u5BC6\u94A5\u5E93\u53E3\u4EE4: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "\u65B0{0}: "},
{"Passwords.must.differ", "\u53E3\u4EE4\u4E0D\u80FD\u76F8\u540C"},
{"Re.enter.new.prompt.", "\u91CD\u65B0\u8F93\u5165\u65B0{0}: "},
+ {"Re.enter.passpword.", "\u518D\u6B21\u8F93\u5165\u53E3\u4EE4: "},
{"Re.enter.new.password.", "\u518D\u6B21\u8F93\u5165\u65B0\u53E3\u4EE4: "},
{"They.don.t.match.Try.again", "\u5B83\u4EEC\u4E0D\u5339\u914D\u3002\u8BF7\u91CD\u8BD5"},
{"Enter.prompt.alias.name.", "\u8F93\u5165{0}\u522B\u540D: "},
diff --git a/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_TW.java b/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_TW.java
index 0b6afb8..9f6ec38 100644
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_TW.java
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_TW.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -65,10 +65,16 @@
{"Generates.certificate.from.a.certificate.request",
"\u5F9E\u6191\u8B49\u8981\u6C42\u7522\u751F\u6191\u8B49"}, //-gencert
{"Generates.CRL", "\u7522\u751F CRL"}, //-gencrl
+ {"Generated.keyAlgName.secret.key",
+ "\u5DF2\u7522\u751F {0} \u79D8\u5BC6\u91D1\u9470"}, //-genseckey
+ {"Generated.keysize.bit.keyAlgName.secret.key",
+ "\u5DF2\u7522\u751F {0} \u4F4D\u5143 {1} \u79D8\u5BC6\u91D1\u9470"}, //-genseckey
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
"\u5F9E JDK 1.1.x-style \u8B58\u5225\u8CC7\u6599\u5EAB\u532F\u5165\u9805\u76EE"}, //-identitydb
{"Imports.a.certificate.or.a.certificate.chain",
"\u532F\u5165\u6191\u8B49\u6216\u6191\u8B49\u93C8"}, //-importcert
+ {"Imports.a.password",
+ "\u532F\u5165\u5BC6\u78BC"}, //-importpass
{"Imports.one.or.all.entries.from.another.keystore",
"\u5F9E\u5176\u4ED6\u91D1\u9470\u5132\u5B58\u5EAB\u532F\u5165\u4E00\u500B\u6216\u5168\u90E8\u9805\u76EE"}, //-importkeystore
{"Clones.a.key.entry",
@@ -220,6 +226,8 @@
{"Must.specify.alias", "\u5FC5\u9808\u6307\u5B9A\u5225\u540D"},
{"Keystore.password.must.be.at.least.6.characters",
"\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
+ {"Enter.the.password.to.be.stored.",
+ "\u8F38\u5165\u8981\u5132\u5B58\u7684\u5BC6\u78BC: "},
{"Enter.keystore.password.", "\u8F38\u5165\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
{"Enter.source.keystore.password.", "\u8ACB\u8F38\u5165\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
{"Enter.destination.keystore.password.", "\u8ACB\u8F38\u5165\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
@@ -328,6 +336,7 @@
{"New.prompt.", "\u65B0 {0}: "},
{"Passwords.must.differ", "\u5FC5\u9808\u662F\u4E0D\u540C\u7684\u5BC6\u78BC"},
{"Re.enter.new.prompt.", "\u91CD\u65B0\u8F38\u5165\u65B0 {0}: "},
+ {"Re.enter.passpword.", "\u91CD\u65B0\u8F38\u5165\u5BC6\u78BC:"},
{"Re.enter.new.password.", "\u91CD\u65B0\u8F38\u5165\u65B0\u5BC6\u78BC: "},
{"They.don.t.match.Try.again", "\u5B83\u5011\u4E0D\u76F8\u7B26\u3002\u8ACB\u91CD\u8A66"},
{"Enter.prompt.alias.name.", "\u8F38\u5165 {0} \u5225\u540D\u540D\u7A31: "},
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources.java
index 5fffebe..c666ae4 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_de.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_de.java
index a00f9e9..8484d92 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_de.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_de.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_es.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_es.java
index 6e92889..cd6e6f3 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_es.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_es.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_fr.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_fr.java
index adba418..fd8087b 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_fr.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_fr.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_it.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_it.java
index 813be7c..d989184 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_it.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_it.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_ja.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_ja.java
index bd07eb0..ccd904e 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_ja.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_ja.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_ko.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_ko.java
index 3dc58f2..c5c457d 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_ko.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_ko.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_pt_BR.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_pt_BR.java
index 2290701..e92282e 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_pt_BR.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_pt_BR.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_sv.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_sv.java
index 0929eec..858ec64 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_sv.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_sv.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_zh_CN.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_zh_CN.java
index d96dc07..5206c61 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_zh_CN.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/tools/policytool/Resources_zh_TW.java b/jdk/src/share/classes/sun/security/tools/policytool/Resources_zh_TW.java
index 5a9af4e..b446eef 100644
--- a/jdk/src/share/classes/sun/security/tools/policytool/Resources_zh_TW.java
+++ b/jdk/src/share/classes/sun/security/tools/policytool/Resources_zh_TW.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/AuthResources_pt_BR.java b/jdk/src/share/classes/sun/security/util/AuthResources_pt_BR.java
index 638dda4..1c251f7 100644
--- a/jdk/src/share/classes/sun/security/util/AuthResources_pt_BR.java
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_pt_BR.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/AuthResources_zh_CN.java b/jdk/src/share/classes/sun/security/util/AuthResources_zh_CN.java
index 61600e8..eab8f67 100644
--- a/jdk/src/share/classes/sun/security/util/AuthResources_zh_CN.java
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/AuthResources_zh_TW.java b/jdk/src/share/classes/sun/security/util/AuthResources_zh_TW.java
index 8ec2ebd..450ca22 100644
--- a/jdk/src/share/classes/sun/security/util/AuthResources_zh_TW.java
+++ b/jdk/src/share/classes/sun/security/util/AuthResources_zh_TW.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/ConsoleCallbackHandler.java b/jdk/src/share/classes/sun/security/util/ConsoleCallbackHandler.java
new file mode 100644
index 0000000..e29e0b1
--- /dev/null
+++ b/jdk/src/share/classes/sun/security/util/ConsoleCallbackHandler.java
@@ -0,0 +1,247 @@
+/*
+ * Copyright (c) 2014, 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.
+ */
+
+package sun.security.util;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.ConfirmationCallback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.TextOutputCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+/**
+ * A {@code CallbackHandler} that prompts and reads from the command line
+ * for answers to authentication questions.
+ */
+public class ConsoleCallbackHandler implements CallbackHandler {
+
+ /**
+ * Creates a callback handler that prompts and reads from the
+ * command line for answers to authentication questions.
+ */
+ public ConsoleCallbackHandler() { }
+
+ /**
+ * Handles the specified set of callbacks.
+ *
+ * @param callbacks the callbacks to handle
+ * @throws IOException if an input or output error occurs.
+ * @throws UnsupportedCallbackException if the callback is not an
+ * instance of NameCallback or PasswordCallback
+ */
+ public void handle(Callback[] callbacks)
+ throws IOException, UnsupportedCallbackException
+ {
+ ConfirmationCallback confirmation = null;
+
+ for (int i = 0; i < callbacks.length; i++) {
+ if (callbacks[i] instanceof TextOutputCallback) {
+ TextOutputCallback tc = (TextOutputCallback) callbacks[i];
+
+ String text;
+ switch (tc.getMessageType()) {
+ case TextOutputCallback.INFORMATION:
+ text = "";
+ break;
+ case TextOutputCallback.WARNING:
+ text = "Warning: ";
+ break;
+ case TextOutputCallback.ERROR:
+ text = "Error: ";
+ break;
+ default:
+ throw new UnsupportedCallbackException(
+ callbacks[i], "Unrecognized message type");
+ }
+
+ String message = tc.getMessage();
+ if (message != null) {
+ text += message;
+ }
+ if (text != null) {
+ System.err.println(text);
+ }
+
+ } else if (callbacks[i] instanceof NameCallback) {
+ NameCallback nc = (NameCallback) callbacks[i];
+
+ if (nc.getDefaultName() == null) {
+ System.err.print(nc.getPrompt());
+ } else {
+ System.err.print(nc.getPrompt() +
+ " [" + nc.getDefaultName() + "] ");
+ }
+ System.err.flush();
+
+ String result = readLine();
+ if (result.equals("")) {
+ result = nc.getDefaultName();
+ }
+
+ nc.setName(result);
+
+ } else if (callbacks[i] instanceof PasswordCallback) {
+ PasswordCallback pc = (PasswordCallback) callbacks[i];
+
+ System.err.print(pc.getPrompt());
+ System.err.flush();
+
+ pc.setPassword(Password.readPassword(System.in, pc.isEchoOn()));
+
+ } else if (callbacks[i] instanceof ConfirmationCallback) {
+ confirmation = (ConfirmationCallback) callbacks[i];
+
+ } else {
+ throw new UnsupportedCallbackException(
+ callbacks[i], "Unrecognized Callback");
+ }
+ }
+
+ /* Do the confirmation callback last. */
+ if (confirmation != null) {
+ doConfirmation(confirmation);
+ }
+ }
+
+ /* Reads a line of input */
+ private String readLine() throws IOException {
+ String result = new BufferedReader
+ (new InputStreamReader(System.in)).readLine();
+ if (result == null) {
+ throw new IOException("Cannot read from System.in");
+ }
+ return result;
+ }
+
+ private void doConfirmation(ConfirmationCallback confirmation)
+ throws IOException, UnsupportedCallbackException
+ {
+ String prefix;
+ int messageType = confirmation.getMessageType();
+ switch (messageType) {
+ case ConfirmationCallback.WARNING:
+ prefix = "Warning: ";
+ break;
+ case ConfirmationCallback.ERROR:
+ prefix = "Error: ";
+ break;
+ case ConfirmationCallback.INFORMATION:
+ prefix = "";
+ break;
+ default:
+ throw new UnsupportedCallbackException(
+ confirmation, "Unrecognized message type: " + messageType);
+ }
+
+ class OptionInfo {
+ String name;
+ int value;
+ OptionInfo(String name, int value) {
+ this.name = name;
+ this.value = value;
+ }
+ }
+
+ OptionInfo[] options;
+ int optionType = confirmation.getOptionType();
+ switch (optionType) {
+ case ConfirmationCallback.YES_NO_OPTION:
+ options = new OptionInfo[] {
+ new OptionInfo("Yes", ConfirmationCallback.YES),
+ new OptionInfo("No", ConfirmationCallback.NO)
+ };
+ break;
+ case ConfirmationCallback.YES_NO_CANCEL_OPTION:
+ options = new OptionInfo[] {
+ new OptionInfo("Yes", ConfirmationCallback.YES),
+ new OptionInfo("No", ConfirmationCallback.NO),
+ new OptionInfo("Cancel", ConfirmationCallback.CANCEL)
+ };
+ break;
+ case ConfirmationCallback.OK_CANCEL_OPTION:
+ options = new OptionInfo[] {
+ new OptionInfo("OK", ConfirmationCallback.OK),
+ new OptionInfo("Cancel", ConfirmationCallback.CANCEL)
+ };
+ break;
+ case ConfirmationCallback.UNSPECIFIED_OPTION:
+ String[] optionStrings = confirmation.getOptions();
+ options = new OptionInfo[optionStrings.length];
+ for (int i = 0; i < options.length; i++) {
+ options[i] = new OptionInfo(optionStrings[i], i);
+ }
+ break;
+ default:
+ throw new UnsupportedCallbackException(
+ confirmation, "Unrecognized option type: " + optionType);
+ }
+
+ int defaultOption = confirmation.getDefaultOption();
+
+ String prompt = confirmation.getPrompt();
+ if (prompt == null) {
+ prompt = "";
+ }
+ prompt = prefix + prompt;
+ if (!prompt.equals("")) {
+ System.err.println(prompt);
+ }
+
+ for (int i = 0; i < options.length; i++) {
+ if (optionType == ConfirmationCallback.UNSPECIFIED_OPTION) {
+ // defaultOption is an index into the options array
+ System.err.println(
+ i + ". " + options[i].name +
+ (i == defaultOption ? " [default]" : ""));
+ } else {
+ // defaultOption is an option value
+ System.err.println(
+ i + ". " + options[i].name +
+ (options[i].value == defaultOption ? " [default]" : ""));
+ }
+ }
+ System.err.print("Enter a number: ");
+ System.err.flush();
+ int result;
+ try {
+ result = Integer.parseInt(readLine());
+ if (result < 0 || result > (options.length - 1)) {
+ result = defaultOption;
+ }
+ result = options[result].value;
+ } catch (NumberFormatException e) {
+ result = defaultOption;
+ }
+
+ confirmation.setSelectedIndex(result);
+ }
+}
diff --git a/jdk/src/share/classes/sun/security/util/DerIndefLenConverter.java b/jdk/src/share/classes/sun/security/util/DerIndefLenConverter.java
index 78d9e30..6635137 100644
--- a/jdk/src/share/classes/sun/security/util/DerIndefLenConverter.java
+++ b/jdk/src/share/classes/sun/security/util/DerIndefLenConverter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/share/classes/sun/security/util/ECKeySizeParameterSpec.java b/jdk/src/share/classes/sun/security/util/ECKeySizeParameterSpec.java
index 58c31b8..149eeb0 100644
--- a/jdk/src/share/classes/sun/security/util/ECKeySizeParameterSpec.java
+++ b/jdk/src/share/classes/sun/security/util/ECKeySizeParameterSpec.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/util/ECUtil.java b/jdk/src/share/classes/sun/security/util/ECUtil.java
index 84cb64b..dc6b02b 100644
--- a/jdk/src/share/classes/sun/security/util/ECUtil.java
+++ b/jdk/src/share/classes/sun/security/util/ECUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/src/share/classes/sun/security/util/HostnameChecker.java b/jdk/src/share/classes/sun/security/util/HostnameChecker.java
index 7f087f4..77f17f7 100644
--- a/jdk/src/share/classes/sun/security/util/HostnameChecker.java
+++ b/jdk/src/share/classes/sun/security/util/HostnameChecker.java
@@ -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
diff --git a/jdk/src/share/classes/sun/security/util/ManifestEntryVerifier.java b/jdk/src/share/classes/sun/security/util/ManifestEntryVerifier.java
index 548133c..8e0169e 100644
--- a/jdk/src/share/classes/sun/security/util/ManifestEntryVerifier.java
+++ b/jdk/src/share/classes/sun/security/util/ManifestEntryVerifier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources.java b/jdk/src/share/classes/sun/security/util/Resources.java
index 5002826..286acc9 100644
--- a/jdk/src/share/classes/sun/security/util/Resources.java
+++ b/jdk/src/share/classes/sun/security/util/Resources.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_de.java b/jdk/src/share/classes/sun/security/util/Resources_de.java
index 628a40c..5f98820 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_de.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_de.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_es.java b/jdk/src/share/classes/sun/security/util/Resources_es.java
index 0f6d129..783f072 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_es.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_es.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_fr.java b/jdk/src/share/classes/sun/security/util/Resources_fr.java
index f31968f..a2053cf 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_fr.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_fr.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_it.java b/jdk/src/share/classes/sun/security/util/Resources_it.java
index bcb1acb..28ceead 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_it.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_it.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_ja.java b/jdk/src/share/classes/sun/security/util/Resources_ja.java
index 7c9e928..474d264 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_ja.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_ja.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_ko.java b/jdk/src/share/classes/sun/security/util/Resources_ko.java
index f3f7df17..8dfca86 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_ko.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_ko.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_pt_BR.java b/jdk/src/share/classes/sun/security/util/Resources_pt_BR.java
index ed8d658..ba17abf 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_pt_BR.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_pt_BR.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_sv.java b/jdk/src/share/classes/sun/security/util/Resources_sv.java
index fda06ab..000c36d 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_sv.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_sv.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_zh_CN.java b/jdk/src/share/classes/sun/security/util/Resources_zh_CN.java
index 6e9e24a..536fd09 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_zh_CN.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/Resources_zh_TW.java b/jdk/src/share/classes/sun/security/util/Resources_zh_TW.java
index d7444a6..a1de718 100644
--- a/jdk/src/share/classes/sun/security/util/Resources_zh_TW.java
+++ b/jdk/src/share/classes/sun/security/util/Resources_zh_TW.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/security/util/SecurityConstants.java b/jdk/src/share/classes/sun/security/util/SecurityConstants.java
index ecc074a..8a06fa8 100644
--- a/jdk/src/share/classes/sun/security/util/SecurityConstants.java
+++ b/jdk/src/share/classes/sun/security/util/SecurityConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java b/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java
index e84cc2c..4148dcf 100644
--- a/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java
+++ b/jdk/src/share/classes/sun/security/util/SignatureFileVerifier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/share/classes/sun/security/x509/URIName.java b/jdk/src/share/classes/sun/security/x509/URIName.java
index d7dbea9..034117e 100644
--- a/jdk/src/share/classes/sun/security/x509/URIName.java
+++ b/jdk/src/share/classes/sun/security/x509/URIName.java
@@ -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
diff --git a/jdk/src/share/classes/sun/swing/DefaultLayoutStyle.java b/jdk/src/share/classes/sun/swing/DefaultLayoutStyle.java
index 3d284c3..1fc1767c 100644
--- a/jdk/src/share/classes/sun/swing/DefaultLayoutStyle.java
+++ b/jdk/src/share/classes/sun/swing/DefaultLayoutStyle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
diff --git a/jdk/src/share/classes/sun/swing/SwingAccessor.java b/jdk/src/share/classes/sun/swing/SwingAccessor.java
index 72d15f4..10d4de6 100644
--- a/jdk/src/share/classes/sun/swing/SwingAccessor.java
+++ b/jdk/src/share/classes/sun/swing/SwingAccessor.java
@@ -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
diff --git a/jdk/src/share/classes/sun/swing/SwingLazyValue.java b/jdk/src/share/classes/sun/swing/SwingLazyValue.java
index 87205f3..e3e2186 100644
--- a/jdk/src/share/classes/sun/swing/SwingLazyValue.java
+++ b/jdk/src/share/classes/sun/swing/SwingLazyValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/share/classes/sun/swing/plaf/synth/Paint9Painter.java b/jdk/src/share/classes/sun/swing/plaf/synth/Paint9Painter.java
index 11f65ac..2a7aa57 100644
--- a/jdk/src/share/classes/sun/swing/plaf/synth/Paint9Painter.java
+++ b/jdk/src/share/classes/sun/swing/plaf/synth/Paint9Painter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/text/bidi/BidiBase.java b/jdk/src/share/classes/sun/text/bidi/BidiBase.java
index 6dc4196..f13155d 100644
--- a/jdk/src/share/classes/sun/text/bidi/BidiBase.java
+++ b/jdk/src/share/classes/sun/text/bidi/BidiBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/src/share/classes/sun/text/normalizer/ReplaceableUCharacterIterator.java b/jdk/src/share/classes/sun/text/normalizer/ReplaceableUCharacterIterator.java
index 1d24a17..9eabcba 100644
--- a/jdk/src/share/classes/sun/text/normalizer/ReplaceableUCharacterIterator.java
+++ b/jdk/src/share/classes/sun/text/normalizer/ReplaceableUCharacterIterator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/sun/text/normalizer/UCharacter.java b/jdk/src/share/classes/sun/text/normalizer/UCharacter.java
index 015bd91..2992eed 100644
--- a/jdk/src/share/classes/sun/text/normalizer/UCharacter.java
+++ b/jdk/src/share/classes/sun/text/normalizer/UCharacter.java
@@ -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
diff --git a/jdk/src/share/classes/sun/text/resources/es/FormatData_es_CL.java b/jdk/src/share/classes/sun/text/resources/es/FormatData_es_CL.java
index 87805df..49396af 100644
--- a/jdk/src/share/classes/sun/text/resources/es/FormatData_es_CL.java
+++ b/jdk/src/share/classes/sun/text/resources/es/FormatData_es_CL.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -57,10 +57,10 @@
},
{ "TimePatterns",
new String[] {
- "hh:mm:ss a z", // full time pattern
- "hh:mm:ss a z", // long time pattern
- "hh:mm:ss a", // medium time pattern
- "hh:mm a", // short time pattern
+ "HH:mm:ss zzzz", // full time pattern
+ "H:mm:ss z", // long time pattern
+ "H:mm:ss", // medium time pattern
+ "H:mm", // short time pattern
}
},
{ "DatePatterns",
diff --git a/jdk/src/share/classes/sun/text/resources/es/FormatData_es_EC.java b/jdk/src/share/classes/sun/text/resources/es/FormatData_es_EC.java
index a5283df..76ef82c 100644
--- a/jdk/src/share/classes/sun/text/resources/es/FormatData_es_EC.java
+++ b/jdk/src/share/classes/sun/text/resources/es/FormatData_es_EC.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -72,10 +72,10 @@
},
{ "TimePatterns",
new String[] {
- "hh:mm:ss a z", // full time pattern
- "hh:mm:ss a z", // long time pattern
- "hh:mm:ss a", // medium time pattern
- "hh:mm a", // short time pattern
+ "HH:mm:ss zzzz", // full time pattern
+ "H:mm:ss z", // long time pattern
+ "H:mm:ss", // medium time pattern
+ "H:mm", // short time pattern
}
},
{ "DatePatterns",
diff --git a/jdk/src/share/classes/sun/text/resources/th/CollationData_th.java b/jdk/src/share/classes/sun/text/resources/th/CollationData_th.java
index 6efe743..ffb950b 100644
--- a/jdk/src/share/classes/sun/text/resources/th/CollationData_th.java
+++ b/jdk/src/share/classes/sun/text/resources/th/CollationData_th.java
@@ -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
diff --git a/jdk/src/share/classes/sun/text/resources/zh/CollationData_zh_HK.java b/jdk/src/share/classes/sun/text/resources/zh/CollationData_zh_HK.java
index 6cf5b0d..67470a1 100644
--- a/jdk/src/share/classes/sun/text/resources/zh/CollationData_zh_HK.java
+++ b/jdk/src/share/classes/sun/text/resources/zh/CollationData_zh_HK.java
@@ -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
diff --git a/jdk/src/share/classes/sun/tools/jar/JarException.java b/jdk/src/share/classes/sun/tools/jar/JarException.java
index 2bdfa17..60a5b91 100644
--- a/jdk/src/share/classes/sun/tools/jar/JarException.java
+++ b/jdk/src/share/classes/sun/tools/jar/JarException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/Main.java b/jdk/src/share/classes/sun/tools/jar/Main.java
index 7a3e395..607304d 100644
--- a/jdk/src/share/classes/sun/tools/jar/Main.java
+++ b/jdk/src/share/classes/sun/tools/jar/Main.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/Manifest.java b/jdk/src/share/classes/sun/tools/jar/Manifest.java
index b1e23ce..5c7f17e 100644
--- a/jdk/src/share/classes/sun/tools/jar/Manifest.java
+++ b/jdk/src/share/classes/sun/tools/jar/Manifest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/SignatureFile.java b/jdk/src/share/classes/sun/tools/jar/SignatureFile.java
index 007b679..76f8a01 100644
--- a/jdk/src/share/classes/sun/tools/jar/SignatureFile.java
+++ b/jdk/src/share/classes/sun/tools/jar/SignatureFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar.properties
index b8b07ce..beefbd2 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_de.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_de.properties
index 23f986c..ab85b0d 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_de.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_de.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_es.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_es.properties
index 7a86450..94b46d7 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_es.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_es.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
@@ -45,4 +45,4 @@
out.inflated=\ inflado: {0}
out.size=(entrada = {0}) (salida = {1})
-usage=Sintaxis: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] archivos...\nOpciones:\n -c crear nuevo archivo\n -t crear la tabla de contenido del archivo\n -x extraer el archive mencionado (o todos) del archivo\n -u actualizar archive existente\n -v generar salida detallada de los datos de salida est\u00E1ndar\n -f especificar nombre de archive de almacenamiento\n -m incluir informaci\u00F3n de manifiesto del archive de manifiesto especificado\n -n realizar normalizaci\u00F3n de Pack200 despu\u00E9s de crear un nuevo archivo\n -e especificar punto de entrada de la aplicaci\u00F3n para la aplicaci\u00F3n aut\u00F3noma \n que se incluye dentro de un archive jar ejecutable\n -0 s\u00F3lo almacenar; no utilizar compresi\u00F3n ZIP\n -M no crear un archive de manifiesto para las entradas\n -i generar informaci\u00F3n de \u00EDndice para los archives jar especificados\n -C cambiar al directorio especificado e incluir el archivo siguiente\nSi alg\u00FAn archivo es un directorio, se procesar\u00E1 de forma recurrente.\nEl nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se\nespecifican en el mismo orden que los indicadores 'm', 'f' y 'e'.\n\nEjemplo 1: para archivar archivos de dos clases en un archivo llamado classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nEjemplo 2: utilice un archivo de manifiesto existente 'mymanifest' y archive todos los\n archivos del directorio foo/ en 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=Sintaxis: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] archivos...\nOpciones:\n -c crear nuevo archivo\n -t crear la tabla de contenido del archivo\n -x extraer el archive mencionado (o todos) del archivo\n -u actualizar archive existente\n -v generar salida detallada de los datos de salida est\u00E1ndar\n -f especificar nombre de archive de almacenamiento\n -m incluir informaci\u00F3n de manifiesto del archive de manifiesto especificado\n -n realizar normalizaci\u00F3n de Pack200 despu\u00E9s de crear un nuevo archivo\n -e especificar punto de entrada de la aplicaci\u00F3n para la aplicaci\u00F3n aut\u00F3noma \n que se incluye dentro de un archive jar ejecutable\n -0 s\u00F3lo almacenar; no utilizar compresi\u00F3n ZIP\n -M no crear un archive de manifiesto para las entradas\n -i generar informaci\u00F3n de \u00EDndice para los archives jar especificados\n -C cambiar al directorio especificado e incluir el archivo siguiente\nSi alg\u00FAn archivo es un directorio, se procesar\u00E1 de forma recurrente.\nEl nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se\nespecifican en el mismo orden que los indicadores 'm', 'f' y 'e'.\n\nEjemplo 1: para archivar archivos de dos clases en un archivo llamado classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nEjemplo 2: utilice un archivo de manifiesto existente 'mymanifest' y archive todos los\n archivos del directorio foo/ en 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_fr.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_fr.properties
index 8f41319..9d05de5 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_fr.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_fr.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_it.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_it.properties
index 74bc9b7..5445efa 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_it.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_it.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_ja.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_ja.properties
index 1705543..2db5b85 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_ja.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_ja.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_ko.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_ko.properties
index 079dee8..f370386 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_ko.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_ko.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties
index c2d3147..24cd297 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
@@ -45,4 +45,4 @@
out.inflated=\ inflado: {0}
out.size=(entrada = {0}) (sa\u00EDda= {1})
-usage=Uso: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] arquivos ...\nOp\u00E7\u00F5es:\n -c cria novo archive\n -t lista o sum\u00E1rio do archive\n -x extrai arquivos com o nome (ou todos) do arquivo compactado\n -u atualiza o archive existente\n -v gera sa\u00EDda detalhada na sa\u00EDda padr\u00E3o\n -f especifica o nome do archive\n -m inclui as informa\u00E7\u00F5es do manifesto do arquivo de manifesto especificado\n -n executa a normaliza\u00E7\u00E3o Pack200 ap\u00F3s a cria\u00E7\u00E3o de um novo archive\n -e especifica o ponto de entrada da aplica\u00E7\u00E3o para aplica\u00E7\u00E3o independente \n empacotada em um arquivo jar execut\u00E1vel\n -0 armazena somente; n\u00E3o usa compacta\u00E7\u00E3o ZIP\n -M n\u00E3o cria um arquivo de manifesto para as entradas\n -i gera informa\u00E7\u00F5es de \u00EDndice para os arquivos jar especificados\n -C altera para o diret\u00F3rio especificado e inclui o arquivo seguinte\nSe algum arquivo for um diret\u00F3rio, ent\u00E3o ser\u00E1 processado repetidamente.\nO nome do arquivo de manifesto, o nome do archive e o nome do ponto de entrada s\u00E3o\nespecificados na mesma ordem dos flags 'm', 'f' e 'e'.\n\nExemplo 1: para arquivar dois arquivos de classe em um archive chamado classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nExemplo 2: use um arquivo de manifesto existente 'mymanifest' e arquive todos os\n arquivos no diret\u00F3rio foo/ na 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=Uso: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] arquivos ...\nOp\u00E7\u00F5es:\n -c cria novo arquivo compactado\n -t lista o sum\u00E1rio do arquivo compactado\n -x extrai arquivos com o nome (ou todos) do arquivo compactado\n -u atualiza o arquivo compactado existente\n -v gera sa\u00EDda detalhada na sa\u00EDda padr\u00E3o\n -f especifica o nome do arquivo do arquivo compactado\n -m inclui as informa\u00E7\u00F5es do manifesto do arquivo de manifesto especificado\n -n executa a normaliza\u00E7\u00E3o Pack200 ap\u00F3s a cria\u00E7\u00E3o de um novo arquivo compactado\n -e especifica o ponto de entrada da aplica\u00E7\u00E3o para aplica\u00E7\u00E3o stand-alone \n empacotada em um arquivo jar execut\u00E1vel\n -0 armazena somente; n\u00E3o usa compacta\u00E7\u00E3o ZIP\n -M n\u00E3o cria um arquivo de manifesto para as entradas\n -i gera informa\u00E7\u00F5es de \u00EDndice para os arquivos especificados\n -C passa para o diret\u00F3rio especificado e inclui o arquivo a seguir\nSe um arquivo tamb\u00E9m for um diret\u00F3rio, ele ser\u00E1 processado repetidamente.\nO nome do arquivo de manifesto, o nome do arquivo compactado e o nome do ponto de entrada s\u00E3o\nespecificados na mesma ordem dos flags 'm', 'f' e 'e'.\n\nExemplo 1: para arquivar dois arquivos de classe em um arquivo compactado denominado classes.jar: \n jar cvf classes.jar Foo.class Bar.class \nExemplo 2: use um arquivo de manifesto existente 'mymanifest' e arquive todos os\n arquivos no diret\u00F3rio foo/ na 'classes.jar': \n jar cvfm classes.jar mymanifest -C foo/ .\n
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_sv.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_sv.properties
index b88532f..25e6183 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_sv.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_sv.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties
index 08607cc..699127f 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties b/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties
index 76ce561..72a0a92 100644
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2006, 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
diff --git a/jdk/src/share/classes/sun/tools/java/BinaryConstantPool.java b/jdk/src/share/classes/sun/tools/java/BinaryConstantPool.java
index ff67c4d..2bcc7e1 100644
--- a/jdk/src/share/classes/sun/tools/java/BinaryConstantPool.java
+++ b/jdk/src/share/classes/sun/tools/java/BinaryConstantPool.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/tools/java/ClassDeclaration.java b/jdk/src/share/classes/sun/tools/java/ClassDeclaration.java
index 7bc4841..b55c191 100644
--- a/jdk/src/share/classes/sun/tools/java/ClassDeclaration.java
+++ b/jdk/src/share/classes/sun/tools/java/ClassDeclaration.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/tools/java/MemberDefinition.java b/jdk/src/share/classes/sun/tools/java/MemberDefinition.java
index c970137..27f1090 100644
--- a/jdk/src/share/classes/sun/tools/java/MemberDefinition.java
+++ b/jdk/src/share/classes/sun/tools/java/MemberDefinition.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/tools/java/RuntimeConstants.java b/jdk/src/share/classes/sun/tools/java/RuntimeConstants.java
index f37916a..87fa33f 100644
--- a/jdk/src/share/classes/sun/tools/java/RuntimeConstants.java
+++ b/jdk/src/share/classes/sun/tools/java/RuntimeConstants.java
@@ -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
diff --git a/jdk/src/share/classes/sun/tools/jconsole/AboutDialog.java b/jdk/src/share/classes/sun/tools/jconsole/AboutDialog.java
index 583b392..8f198bf 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/AboutDialog.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/AboutDialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/src/share/classes/sun/tools/jconsole/BorderedComponent.java b/jdk/src/share/classes/sun/tools/jconsole/BorderedComponent.java
index 261225b..888065f 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/BorderedComponent.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/BorderedComponent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/jconsole/JConsole.java b/jdk/src/share/classes/sun/tools/jconsole/JConsole.java
index cdb78f9..bc2b171 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/JConsole.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/JConsole.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java b/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java
index d79d632..79e1743 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/SummaryTab.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/jconsole/inspector/Utils.java b/jdk/src/share/classes/sun/tools/jconsole/inspector/Utils.java
index 01279d9..ebdda0b 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/Utils.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/Utils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/jconsole/inspector/XObject.java b/jdk/src/share/classes/sun/tools/jconsole/inspector/XObject.java
index 95db938..b74f206 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XObject.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/jconsole/inspector/XTextField.java b/jdk/src/share/classes/sun/tools/jconsole/inspector/XTextField.java
index 3c78b32..a16f9d4 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/inspector/XTextField.java
+++ b/jdk/src/share/classes/sun/tools/jconsole/inspector/XTextField.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties b/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties
index 82cfb5d..36cda09 100644
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties
@@ -279,4 +279,4 @@
KBYTES={0} KB
PLOT=\u30D7\u30ED\u30C3\u30C8
VISUALIZE=\u8996\u899A\u5316
-ZZ_USAGE_TEXT=\u4F7F\u7528\u65B9\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n -interval \u66F4\u65B0\u9593\u9694\u3092n\u79D2\u306B\u8A2D\u5B9A\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8\u306F4\u79D2)\n -notile \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u6700\u521D\u306B\u4E26\u3079\u3066\u8868\u793A\u3057\u306A\u3044(2\u3064\u4EE5\u4E0A\u306E\u63A5\u7D9A\u306B\u3064\u3044\u3066)\n -pluginpath JConsole\u304C\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u53C2\u7167\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B9\u3092\u6307\u5B9A\u3059\u308B\n -version \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u5370\u5237\u3059\u308B\n\n connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n pid \u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u306E\u30D7\u30ED\u30BB\u30B9ID\n host \u30EA\u30E2\u30FC\u30C8\u30FB\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9\n port \u30EA\u30E2\u30FC\u30C8\u63A5\u7D9A\u7528\u306E\u30DD\u30FC\u30C8\u756A\u53F7\n\n -J JConsole\u304C\u5B9F\u884C\u4E2D\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\n \u5165\u529B\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B
+ZZ_USAGE_TEXT=\u4F7F\u7528\u65B9\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n -interval \u66F4\u65B0\u9593\u9694\u3092n\u79D2\u306B\u8A2D\u5B9A\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8\u306F4\u79D2)\n -notile \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u6700\u521D\u306B\u4E26\u3079\u3066\u8868\u793A\u3057\u306A\u3044(2\u3064\u4EE5\u4E0A\u306E\u63A5\u7D9A\u306B\u3064\u3044\u3066)\n -pluginpath JConsole\u304C\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u53C2\u7167\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B9\u3092\u6307\u5B9A\u3059\u308B\n -version \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3059\u308B\n\n connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n pid \u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u306E\u30D7\u30ED\u30BB\u30B9ID\n host \u30EA\u30E2\u30FC\u30C8\u30FB\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9\n port \u30EA\u30E2\u30FC\u30C8\u63A5\u7D9A\u7528\u306E\u30DD\u30FC\u30C8\u756A\u53F7\n\n -J JConsole\u304C\u5B9F\u884C\u4E2D\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\n \u5165\u529B\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B
diff --git a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java
index e8bcce8..0c1d6a1 100644
--- a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java
+++ b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2011, 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
@@ -26,18 +26,18 @@
package sun.tools.jinfo;
import java.lang.reflect.Method;
+import java.util.Arrays;
import java.io.IOException;
import java.io.InputStream;
import com.sun.tools.attach.VirtualMachine;
+
import sun.tools.attach.HotSpotVirtualMachine;
/*
* This class is the main class for the JInfo utility. It parses its arguments
* and decides if the command should be satisfied using the VM attach mechanism
- * or an SA tool. At this time the only option that uses the VM attach
- * mechanism is the -flag option to set or print a command line option of a
- * running application. All other options are mapped to SA tools.
+ * or an SA tool.
*/
public class JInfo {
@@ -46,62 +46,95 @@
usage(1); // no arguments
}
- boolean useSA = true;
- String arg1 = args[0];
- if (arg1.startsWith("-")) {
- if (arg1.equals("-flags") ||
- arg1.equals("-sysprops")) {
- // SA JInfo needs <pid> or <server> or
- // (<executable> and <code file>). So, total
- // argument count including option has to 2 or 3.
- if (args.length != 2 && args.length != 3) {
- usage(1);
+ // First determine if we should launch SA or not
+ boolean useSA = false;
+ if (args[0].equals("-F")) {
+ // delete the -F
+ args = Arrays.copyOfRange(args, 1, args.length);
+ useSA = true;
+ } else if (args[0].equals("-flags")
+ || args[0].equals("-sysprops"))
+ {
+ if (args.length == 2) {
+ if (!args[1].matches("[0-9]+")) {
+ // If args[1] doesn't parse to a number then
+ // it must be the SA debug server
+ // (otherwise it is the pid)
+ useSA = true;
}
- } else if (arg1.equals("-flag")) {
- // do not use SA, use attach-on-demand
- useSA = false;
- } else {
- // unknown option or -h or -help, print help
- int exit;
- if (arg1.equals("-help") || arg1.equals("-h")) {
- exit = 0;
- } else {
- exit = 1;
- }
- usage(exit);
}
+ if (args.length == 3) {
+ // arguments include an executable and a core file
+ useSA = true;
+ }
+ } else if (!args[0].startsWith("-")) {
+ if (args.length == 2) {
+ // the only arguments are an executable and a core file
+ useSA = true;
+ }
+ } else if (args[0].equals("-h")
+ || args[0].equals("-help")) {
+ usage(0);
}
if (useSA) {
+ // invoke SA which does it's own argument parsing
runTool(args);
} else {
- if (args.length == 3) {
- String pid = args[2];
- String option = args[1];
- flag(pid, option);
- } else {
- int exit;
- if (arg1.equals("-help") || arg1.equals("-h")) {
- exit = 0;
- } else {
- exit = 1;
+ // Now we can parse arguments for the non-SA case
+ String pid = null;
+
+ switch(args[0]) {
+ case "-flag":
+ if (args.length != 3) {
+ usage(1);
}
- usage(exit);
+ String option = args[1];
+ pid = args[2];
+ flag(pid, option);
+ break;
+ case "-flags":
+ if (args.length != 2) {
+ usage(1);
+ }
+ pid = args[1];
+ flags(pid);
+ break;
+ case "-sysprops":
+ if (args.length != 2) {
+ usage(1);
+ }
+ pid = args[1];
+ sysprops(pid);
+ break;
+ case "-help":
+ case "-h":
+ usage(0);
+ default:
+ if (args.length == 1) {
+ // no flags specified, we do -sysprops and -flags
+ pid = args[0];
+ sysprops(pid);
+ System.out.println();
+ flags(pid);
+ } else {
+ usage(1);
+ }
}
}
}
- // Invoke SA tool with the given arguments
+ // Invoke SA tool with the given arguments
private static void runTool(String args[]) throws Exception {
String tool = "sun.jvm.hotspot.tools.JInfo";
- // Tool not available on this platform.
+ // Tool not available on this platform.
Class<?> c = loadClass(tool);
if (c == null) {
usage(1);
}
// invoke the main method with the arguments
- Class[] argTypes = { String[].class } ;
+ Class<?>[] argTypes = { String[].class } ;
Method m = c.getDeclaredMethod("main", argTypes);
Object[] invokeArgs = { args };
@@ -111,7 +144,7 @@
// loads the given class using the system class loader
private static Class<?> loadClass(String name) {
//
- // We specify the system clas loader so as to cater for development
+ // We specify the system class loader so as to cater for development
// environments where this class is on the boot class path but sa-jdi.jar
// is on the system class path. Once the JDK is deployed then both
// tools.jar and sa-jdi.jar are on the system class path.
@@ -124,28 +157,28 @@
}
private static void flag(String pid, String option) throws IOException {
- VirtualMachine vm = attach(pid);
+ HotSpotVirtualMachine vm = (HotSpotVirtualMachine) attach(pid);
String flag;
InputStream in;
int index = option.indexOf('=');
if (index != -1) {
flag = option.substring(0, index);
String value = option.substring(index + 1);
- in = ((HotSpotVirtualMachine)vm).setFlag(flag, value);
+ in = vm.setFlag(flag, value);
} else {
char c = option.charAt(0);
switch (c) {
case '+':
flag = option.substring(1);
- in = ((HotSpotVirtualMachine)vm).setFlag(flag, "1");
+ in = vm.setFlag(flag, "1");
break;
case '-':
flag = option.substring(1);
- in = ((HotSpotVirtualMachine)vm).setFlag(flag, "0");
+ in = vm.setFlag(flag, "0");
break;
default:
flag = option;
- in = ((HotSpotVirtualMachine)vm).printFlag(flag);
+ in = vm.printFlag(flag);
break;
}
}
@@ -153,6 +186,20 @@
drain(vm, in);
}
+ private static void flags(String pid) throws IOException {
+ HotSpotVirtualMachine vm = (HotSpotVirtualMachine) attach(pid);
+ InputStream in = vm.executeJCmd("VM.flags");
+ System.out.println("VM Flags:");
+ drain(vm, in);
+ }
+
+ private static void sysprops(String pid) throws IOException {
+ HotSpotVirtualMachine vm = (HotSpotVirtualMachine) attach(pid);
+ InputStream in = vm.executeJCmd("VM.system_properties");
+ System.out.println("Java System Properties:");
+ drain(vm, in);
+ }
+
// Attach to <pid>, exiting if we fail to attach
private static VirtualMachine attach(String pid) {
try {
@@ -195,7 +242,9 @@
System.err.println("Usage:");
if (usageSA) {
System.err.println(" jinfo [option] <pid>");
- System.err.println(" (to connect to running process)");
+ System.err.println(" (to connect to a running process)");
+ System.err.println(" jinfo -F [option] <pid>");
+ System.err.println(" (to connect to a hung process)");
System.err.println(" jinfo [option] <executable> <core>");
System.err.println(" (to connect to a core file)");
System.err.println(" jinfo [option] [server_id@]<remote server IP or hostname>");
@@ -206,10 +255,10 @@
System.err.println(" -flag <name> to print the value of the named VM flag");
System.err.println(" -flag [+|-]<name> to enable or disable the named VM flag");
System.err.println(" -flag <name>=<value> to set the named VM flag to the given value");
- System.err.println(" for running processes and core files:");
+ System.err.println(" for running or hung processes and core files:");
System.err.println(" -flags to print VM flags");
System.err.println(" -sysprops to print Java system properties");
- System.err.println(" <no option> to print both of the above");
+ System.err.println(" <no option> to print both VM flags and system properties");
System.err.println(" -h | -help to print this help message");
} else {
System.err.println(" jinfo <option> <pid>");
@@ -219,6 +268,9 @@
System.err.println(" -flag <name> to print the value of the named VM flag");
System.err.println(" -flag [+|-]<name> to enable or disable the named VM flag");
System.err.println(" -flag <name>=<value> to set the named VM flag to the given value");
+ System.err.println(" -flags to print VM flags");
+ System.err.println(" -sysprops to print Java system properties");
+ System.err.println(" <no option> to print both VM flags and system properties");
System.err.println(" -h | -help to print this help message");
}
diff --git a/jdk/src/share/classes/sun/tools/jps/Jps.java b/jdk/src/share/classes/sun/tools/jps/Jps.java
index 75f2dc1..3312551 100644
--- a/jdk/src/share/classes/sun/tools/jps/Jps.java
+++ b/jdk/src/share/classes/sun/tools/jps/Jps.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/jstack/JStack.java b/jdk/src/share/classes/sun/tools/jstack/JStack.java
index 6807f66..6c96af2 100644
--- a/jdk/src/share/classes/sun/tools/jstack/JStack.java
+++ b/jdk/src/share/classes/sun/tools/jstack/JStack.java
@@ -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
diff --git a/jdk/src/share/classes/sun/tools/jstat/ColumnFormat.java b/jdk/src/share/classes/sun/tools/jstat/ColumnFormat.java
index 4613dd3..97fb4a8 100644
--- a/jdk/src/share/classes/sun/tools/jstat/ColumnFormat.java
+++ b/jdk/src/share/classes/sun/tools/jstat/ColumnFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/jstat/RowClosure.java b/jdk/src/share/classes/sun/tools/jstat/RowClosure.java
index 00b7220..2494ea3 100644
--- a/jdk/src/share/classes/sun/tools/jstat/RowClosure.java
+++ b/jdk/src/share/classes/sun/tools/jstat/RowClosure.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/jstat/resources/jstat_options b/jdk/src/share/classes/sun/tools/jstat/resources/jstat_options
index cd4b237..9bccaeb 100644
--- a/jdk/src/share/classes/sun/tools/jstat/resources/jstat_options
+++ b/jdk/src/share/classes/sun/tools/jstat/resources/jstat_options
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java b/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java
index e1d3fda..f3e877c 100644
--- a/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java
+++ b/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_ja.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, 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
diff --git a/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java b/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java
index f4af21d..693cfe2 100644
--- a/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java
+++ b/jdk/src/share/classes/sun/tools/native2ascii/resources/MsgNative2ascii_zh_CN.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, 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
diff --git a/jdk/src/share/classes/sun/tools/serialver/SerialVer.java b/jdk/src/share/classes/sun/tools/serialver/SerialVer.java
index a02a897..85c7373 100644
--- a/jdk/src/share/classes/sun/tools/serialver/SerialVer.java
+++ b/jdk/src/share/classes/sun/tools/serialver/SerialVer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/classes/sun/tools/tree/ExprExpression.java b/jdk/src/share/classes/sun/tools/tree/ExprExpression.java
index 378c9d9..796f559e 100644
--- a/jdk/src/share/classes/sun/tools/tree/ExprExpression.java
+++ b/jdk/src/share/classes/sun/tools/tree/ExprExpression.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/tools/tree/FieldExpression.java b/jdk/src/share/classes/sun/tools/tree/FieldExpression.java
index 1143061..171d49b 100644
--- a/jdk/src/share/classes/sun/tools/tree/FieldExpression.java
+++ b/jdk/src/share/classes/sun/tools/tree/FieldExpression.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/classes/sun/tracing/ProviderSkeleton.java b/jdk/src/share/classes/sun/tracing/ProviderSkeleton.java
index f68f265..915bb2e 100644
--- a/jdk/src/share/classes/sun/tracing/ProviderSkeleton.java
+++ b/jdk/src/share/classes/sun/tracing/ProviderSkeleton.java
@@ -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
diff --git a/jdk/src/share/classes/sun/tracing/dtrace/DTraceProvider.java b/jdk/src/share/classes/sun/tracing/dtrace/DTraceProvider.java
index fdc447d..12ad7a5 100644
--- a/jdk/src/share/classes/sun/tracing/dtrace/DTraceProvider.java
+++ b/jdk/src/share/classes/sun/tracing/dtrace/DTraceProvider.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/calendar/ZoneInfo.java b/jdk/src/share/classes/sun/util/calendar/ZoneInfo.java
index c781ded..cb9b74a 100644
--- a/jdk/src/share/classes/sun/util/calendar/ZoneInfo.java
+++ b/jdk/src/share/classes/sun/util/calendar/ZoneInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/classes/sun/util/locale/LanguageTag.java b/jdk/src/share/classes/sun/util/locale/LanguageTag.java
index 0de8710..2247398 100644
--- a/jdk/src/share/classes/sun/util/locale/LanguageTag.java
+++ b/jdk/src/share/classes/sun/util/locale/LanguageTag.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/AuxLocaleProviderAdapter.java b/jdk/src/share/classes/sun/util/locale/provider/AuxLocaleProviderAdapter.java
index 6389bcc..05ddd6e 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/AuxLocaleProviderAdapter.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/AuxLocaleProviderAdapter.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/BreakIteratorProviderImpl.java b/jdk/src/share/classes/sun/util/locale/provider/BreakIteratorProviderImpl.java
index 1a611a0..f178929 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/BreakIteratorProviderImpl.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/BreakIteratorProviderImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/CalendarDataProviderImpl.java b/jdk/src/share/classes/sun/util/locale/provider/CalendarDataProviderImpl.java
index 136889f..f8efe52 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/CalendarDataProviderImpl.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/CalendarDataProviderImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/CollatorProviderImpl.java b/jdk/src/share/classes/sun/util/locale/provider/CollatorProviderImpl.java
index 3f997cf..b19249a 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/CollatorProviderImpl.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/CollatorProviderImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/CurrencyNameProviderImpl.java b/jdk/src/share/classes/sun/util/locale/provider/CurrencyNameProviderImpl.java
index 6e368bc..feedf70 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/CurrencyNameProviderImpl.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/CurrencyNameProviderImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/FallbackLocaleProviderAdapter.java b/jdk/src/share/classes/sun/util/locale/provider/FallbackLocaleProviderAdapter.java
index cb55691..20e5036 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/FallbackLocaleProviderAdapter.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/FallbackLocaleProviderAdapter.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java b/jdk/src/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java
index d871013..50473cd 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template b/jdk/src/share/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template
index ee941cce..17d9af6 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template
+++ b/jdk/src/share/classes/sun/util/locale/provider/LocaleDataMetaInfo-XLocales.java.template
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java b/jdk/src/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java
index 16f71b1..fefd69d 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/LocaleNameProviderImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java b/jdk/src/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java
index d10ccdb..b7ba736 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java b/jdk/src/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java
index 7270444..dc8d50f 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/LocaleServiceProviderPool.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/ResourceBundleBasedAdapter.java b/jdk/src/share/classes/sun/util/locale/provider/ResourceBundleBasedAdapter.java
index 7046c2e..2c78c5c 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/ResourceBundleBasedAdapter.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/ResourceBundleBasedAdapter.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/RuleBasedBreakIterator.java b/jdk/src/share/classes/sun/util/locale/provider/RuleBasedBreakIterator.java
index fd5f8f1..f8c68fa 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/RuleBasedBreakIterator.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/RuleBasedBreakIterator.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java b/jdk/src/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java
index 96cb5ef..105af9c 100644
--- a/jdk/src/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java
+++ b/jdk/src/share/classes/sun/util/locale/provider/TimeZoneNameProviderImpl.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/logging/LoggingProxy.java b/jdk/src/share/classes/sun/util/logging/LoggingProxy.java
index 41fb7c8..c044a5a 100644
--- a/jdk/src/share/classes/sun/util/logging/LoggingProxy.java
+++ b/jdk/src/share/classes/sun/util/logging/LoggingProxy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/LoggingSupport.java b/jdk/src/share/classes/sun/util/logging/LoggingSupport.java
index eed1c8f..67b617d 100644
--- a/jdk/src/share/classes/sun/util/logging/LoggingSupport.java
+++ b/jdk/src/share/classes/sun/util/logging/LoggingSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging.properties b/jdk/src/share/classes/sun/util/logging/resources/logging.properties
index 248b4d7..1e8d446 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_de.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_de.properties
index 1aa8ef4..86fc0da 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_de.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_de.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_es.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_es.properties
index 90de2e8..f115321 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_es.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_es.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_fr.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_fr.properties
index af34d6f..f4d308d 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_fr.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_fr.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_it.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_it.properties
index 73a3b5c..cb2c1ee 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_it.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_it.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_ja.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_ja.properties
index 60358d1..508afbd 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_ja.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_ja.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_ko.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_ko.properties
index 6d5dc55..ef69b1c 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_ko.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_ko.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_pt_BR.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_pt_BR.properties
index 29229f2..8bb18b7 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_pt_BR.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_pt_BR.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_sv.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_sv.properties
index b760786..41cb20b 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_sv.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_sv.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_zh_CN.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_zh_CN.properties
index 67dd2b8..dc6f241 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_zh_CN.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_zh_CN.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties b/jdk/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties
index 4875bc8..c407828 100644
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2011, 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
@@ -27,7 +27,7 @@
# these are the same as the non-localized level name.
# The following ALL CAPS words should be translated.
-ALL=\u5168\u90E8
+ALL=\u6240\u6709
# The following ALL CAPS words should be translated.
SEVERE=\u56B4\u91CD
# The following ALL CAPS words should be translated.
diff --git a/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java b/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java
index e0e1a70..ab2d10a 100644
--- a/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java
+++ b/jdk/src/share/classes/sun/util/resources/TimeZoneNamesBundle.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/share/classes/sun/util/resources/ko/LocaleNames_ko.properties b/jdk/src/share/classes/sun/util/resources/ko/LocaleNames_ko.properties
index a9fee89..68273f5 100644
--- a/jdk/src/share/classes/sun/util/resources/ko/LocaleNames_ko.properties
+++ b/jdk/src/share/classes/sun/util/resources/ko/LocaleNames_ko.properties
@@ -1,4 +1,4 @@
-# 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
diff --git a/jdk/src/share/classes/sun/util/resources/sv/LocaleNames_sv.properties b/jdk/src/share/classes/sun/util/resources/sv/LocaleNames_sv.properties
index e7bd9e0..c303e92 100644
--- a/jdk/src/share/classes/sun/util/resources/sv/LocaleNames_sv.properties
+++ b/jdk/src/share/classes/sun/util/resources/sv/LocaleNames_sv.properties
@@ -1,4 +1,4 @@
-# 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
diff --git a/jdk/src/share/classes/sun/util/resources/zh/CurrencyNames_zh_HK.java b/jdk/src/share/classes/sun/util/resources/zh/CurrencyNames_zh_HK.java
index d3fae4b..d026c2d 100644
--- a/jdk/src/share/classes/sun/util/resources/zh/CurrencyNames_zh_HK.java
+++ b/jdk/src/share/classes/sun/util/resources/zh/CurrencyNames_zh_HK.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/resources/zh/CurrencyNames_zh_SG.java b/jdk/src/share/classes/sun/util/resources/zh/CurrencyNames_zh_SG.java
index 16778ff..f31bd7e 100644
--- a/jdk/src/share/classes/sun/util/resources/zh/CurrencyNames_zh_SG.java
+++ b/jdk/src/share/classes/sun/util/resources/zh/CurrencyNames_zh_SG.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/src/share/classes/sun/util/resources/zh/LocaleNames_zh_HK.java b/jdk/src/share/classes/sun/util/resources/zh/LocaleNames_zh_HK.java
index 6609a3f..bc38040 100644
--- a/jdk/src/share/classes/sun/util/resources/zh/LocaleNames_zh_HK.java
+++ b/jdk/src/share/classes/sun/util/resources/zh/LocaleNames_zh_HK.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_HK.java b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_HK.java
index 9694c70..6cbe56c 100644
--- a/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_HK.java
+++ b/jdk/src/share/classes/sun/util/resources/zh/TimeZoneNames_zh_HK.java
@@ -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
diff --git a/jdk/src/share/classes/sun/util/xml/PlatformXmlPropertiesProvider.java b/jdk/src/share/classes/sun/util/xml/PlatformXmlPropertiesProvider.java
index c0519db..6b29009 100644
--- a/jdk/src/share/classes/sun/util/xml/PlatformXmlPropertiesProvider.java
+++ b/jdk/src/share/classes/sun/util/xml/PlatformXmlPropertiesProvider.java
@@ -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
diff --git a/jdk/src/share/demo/applets/MoleculeViewer/XYZApp.java b/jdk/src/share/demo/applets/MoleculeViewer/XYZApp.java
index 78c816a..ec03636 100644
--- a/jdk/src/share/demo/applets/MoleculeViewer/XYZApp.java
+++ b/jdk/src/share/demo/applets/MoleculeViewer/XYZApp.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/applets/WireFrame/ThreeD.java b/jdk/src/share/demo/applets/WireFrame/ThreeD.java
index 321729a..f4bb345 100644
--- a/jdk/src/share/demo/applets/WireFrame/ThreeD.java
+++ b/jdk/src/share/demo/applets/WireFrame/ThreeD.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/build.xml b/jdk/src/share/demo/java2d/J2DBench/build.xml
index c29611d..c2af9ec 100644
--- a/jdk/src/share/demo/java2d/J2DBench/build.xml
+++ b/jdk/src/share/demo/java2d/J2DBench/build.xml
@@ -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.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Destinations.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Destinations.java
index a0a70e1..33bc6da 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Destinations.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Destinations.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Group.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Group.java
index 007df98..af1f938 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Group.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Group.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java
index e3d0a9e..18124e5 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Modifier.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Modifier.java
index 32c4ad9..2c36016 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Modifier.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Modifier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Node.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Node.java
index a725757..9b047cc 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Node.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Node.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Option.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Option.java
index 88656a1..001d2c5 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Option.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Option.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Result.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Result.java
index 2f40cd2..a456feb 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Result.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Result.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ResultSet.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ResultSet.java
index 7b17770..d8da283 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ResultSet.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ResultSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Test.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Test.java
index d727aaa..1dfac33 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Test.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/Test.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/TestEnvironment.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/TestEnvironment.java
index c0211a8..ba354a0 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/TestEnvironment.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/TestEnvironment.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java
index fa0838c..5c507b2 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/IIOComparator.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/IIOComparator.java
index e0399f0..5e37981 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/IIOComparator.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/IIOComparator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java
index a30e1aa..fd1266e 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/XMLHTMLReporter.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/XMLHTMLReporter.java
index f72f902..35c5902 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/XMLHTMLReporter.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/report/XMLHTMLReporter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java
index 92cfe7c..b114820 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java
index 52378b2..654835c 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/MiscTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/MiscTests.java
index 84bddea..77c6d74 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/MiscTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/MiscTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java
index 99f6113..75ba125 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/RenderTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/RenderTests.java
index addba01..386077e 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/RenderTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/RenderTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/ColorConversionTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/ColorConversionTests.java
index 4916929..4785f87 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/ColorConversionTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/cmm/ColorConversionTests.java
@@ -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.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/IIOTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/IIOTests.java
index d535fe6..ae69c34 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/IIOTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/IIOTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputImageTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputImageTests.java
index b0c9a94..1ca0d42 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputImageTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputImageTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputStreamTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputStreamTests.java
index ec54485..b5abb0b 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputStreamTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputStreamTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java
index d643de4..bafae68 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputImageTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputImageTests.java
index 0eea6e2..1fb6353 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputImageTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputImageTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputStreamTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputStreamTests.java
index bf1da9a..f1a4be5 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputStreamTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputStreamTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java
index a1662c3..c09f5d2 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextConstructionTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextConstructionTests.java
index cd92674..1772f29 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextConstructionTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextConstructionTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java
index 1fb4863..6f9bb15 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextRenderTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextRenderTests.java
index 3f5c385..9dbe75d 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextRenderTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextRenderTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java
index deb78a4..ffc57fa 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ui/CompactLayout.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ui/CompactLayout.java
index 40ed4e6..4d185a0 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ui/CompactLayout.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ui/CompactLayout.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ui/EnableButton.java b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ui/EnableButton.java
index 0663a59..ba971f0 100644
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ui/EnableButton.java
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/ui/EnableButton.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethod.java b/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethod.java
index add460a..d3f289b 100644
--- a/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethod.java
+++ b/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethod.java
@@ -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.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethodDescriptor.java b/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethodDescriptor.java
index ee8ccb5..0e91e19 100644
--- a/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethodDescriptor.java
+++ b/jdk/src/share/demo/jfc/CodePointIM/com/sun/inputmethods/internal/codepointim/CodePointInputMethodDescriptor.java
@@ -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.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java b/jdk/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java
index 24c5533..cd730f4 100644
--- a/jdk/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java
+++ b/jdk/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jfc/Font2DTest/FontPanel.java b/jdk/src/share/demo/jfc/Font2DTest/FontPanel.java
index 696acde..01a956e 100644
--- a/jdk/src/share/demo/jfc/Font2DTest/FontPanel.java
+++ b/jdk/src/share/demo/jfc/Font2DTest/FontPanel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jfc/TableExample/TableExample4.java b/jdk/src/share/demo/jfc/TableExample/TableExample4.java
index 4609fba..f4132b6 100644
--- a/jdk/src/share/demo/jfc/TableExample/TableExample4.java
+++ b/jdk/src/share/demo/jfc/TableExample/TableExample4.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jvmti/hprof/debug_malloc.c b/jdk/src/share/demo/jvmti/hprof/debug_malloc.c
index 6f14390..b130c16 100644
--- a/jdk/src/share/demo/jvmti/hprof/debug_malloc.c
+++ b/jdk/src/share/demo/jvmti/hprof/debug_malloc.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jvmti/hprof/hprof_class.c b/jdk/src/share/demo/jvmti/hprof/hprof_class.c
index fb16784..3ebe008 100644
--- a/jdk/src/share/demo/jvmti/hprof/hprof_class.c
+++ b/jdk/src/share/demo/jvmti/hprof/hprof_class.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jvmti/hprof/hprof_event.c b/jdk/src/share/demo/jvmti/hprof/hprof_event.c
index 7892457..194ef36 100644
--- a/jdk/src/share/demo/jvmti/hprof/hprof_event.c
+++ b/jdk/src/share/demo/jvmti/hprof/hprof_event.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jvmti/hprof/hprof_init.c b/jdk/src/share/demo/jvmti/hprof/hprof_init.c
index aa3c820..a055278 100644
--- a/jdk/src/share/demo/jvmti/hprof/hprof_init.c
+++ b/jdk/src/share/demo/jvmti/hprof/hprof_init.c
@@ -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.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -237,7 +237,7 @@
* such a connection can't be made.
*/
static int
-connect_to_socket(char *hostname, unsigned short port)
+connect_to_socket(char *hostname, int port)
{
int fd;
@@ -251,7 +251,7 @@
}
/* create a socket */
- fd = md_connect(hostname, port);
+ fd = md_connect(hostname, (unsigned short)port);
return fd;
}
@@ -817,7 +817,7 @@
if ( gdata->net_port > 0 ) {
LOG2("Agent_OnLoad", "Connecting to socket");
- gdata->fd = connect_to_socket(gdata->net_hostname, (unsigned short)gdata->net_port);
+ gdata->fd = connect_to_socket(gdata->net_hostname, gdata->net_port);
if (gdata->fd <= 0) {
char errmsg[120];
diff --git a/jdk/src/share/demo/jvmti/hprof/hprof_md.h b/jdk/src/share/demo/jvmti/hprof/hprof_md.h
index b65cba0..c86be65 100644
--- a/jdk/src/share/demo/jvmti/hprof/hprof_md.h
+++ b/jdk/src/share/demo/jvmti/hprof/hprof_md.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c b/jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c
index 73413fd..eaa271e 100644
--- a/jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c
+++ b/jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c
@@ -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.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java b/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
index 6276548..9101f56 100644
--- a/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
+++ b/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
@@ -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.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java b/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java
index 67027e9..7cef6ce 100644
--- a/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java
+++ b/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java
@@ -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.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/instrument/InvocationAdapter.c b/jdk/src/share/instrument/InvocationAdapter.c
index f1923d7..878adec 100644
--- a/jdk/src/share/instrument/InvocationAdapter.c
+++ b/jdk/src/share/instrument/InvocationAdapter.c
@@ -153,7 +153,6 @@
char * options;
jarAttribute* attributes;
char * premainClass;
- char * agentClass;
char * bootClassPath;
/*
diff --git a/jdk/src/share/instrument/JarFacade.c b/jdk/src/share/instrument/JarFacade.c
index 07ae23c..37afe59 100644
--- a/jdk/src/share/instrument/JarFacade.c
+++ b/jdk/src/share/instrument/JarFacade.c
@@ -23,14 +23,6 @@
* questions.
*/
-#ifdef _WIN32
-/*
- * Win* needs this include. However, Linux and Solaris do not.
- * Having this include on Solaris SPARC breaks having non US-ASCII
- * characters in the value of the Premain-Class attribute.
- */
-#include <ctype.h>
-#endif /* _WIN32 */
#include <string.h>
#include <stdlib.h>
@@ -58,13 +50,13 @@
size_t value_len;
/* skip any leading white space */
- while (isspace(*begin)) {
+ while (*begin == ' ') {
begin++;
}
/* skip any trailing white space */
end = &begin[strlen(begin)];
- while (end > begin && isspace(end[-1])) {
+ while (end > begin && end[-1] == ' ') {
end--;
}
diff --git a/jdk/src/share/javavm/export/jawt.h b/jdk/src/share/javavm/export/jawt.h
index eb7fe4f..e0f682f 100644
--- a/jdk/src/share/javavm/export/jawt.h
+++ b/jdk/src/share/javavm/export/jawt.h
@@ -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
diff --git a/jdk/src/share/lib/calendars.properties b/jdk/src/share/lib/calendars.properties
index ed8c2f6..49f68ac 100644
--- a/jdk/src/share/lib/calendars.properties
+++ b/jdk/src/share/lib/calendars.properties
@@ -1,4 +1,4 @@
-# Copyright (c) 2005, 2007, 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
diff --git a/jdk/src/share/lib/security/java.security-aix b/jdk/src/share/lib/security/java.security-aix
index fd49537..2734cb4 100644
--- a/jdk/src/share/lib/security/java.security-aix
+++ b/jdk/src/share/lib/security/java.security-aix
@@ -182,6 +182,7 @@
com.sun.istack.internal.,\
com.sun.jmx.,\
com.sun.media.sound.,\
+ com.sun.naming.internal.,\
com.sun.proxy.,\
com.sun.corba.se.,\
com.sun.org.apache.bcel.internal.,\
@@ -205,7 +206,7 @@
com.sun.org.glassfish.,\
com.oracle.xmlns.internal.,\
com.oracle.webservices.internal.,\
- oracle.jrockit.jfr.,\
+ oracle.jrockit.jfr.,\
org.jcp.xml.dsig.internal.,\
jdk.internal.,\
jdk.nashorn.internal.,\
@@ -228,6 +229,7 @@
com.sun.istack.internal.,\
com.sun.jmx.,\
com.sun.media.sound.,\
+ com.sun.naming.internal.,\
com.sun.proxy.,\
com.sun.corba.se.,\
com.sun.org.apache.bcel.internal.,\
@@ -251,7 +253,7 @@
com.sun.org.glassfish.,\
com.oracle.xmlns.internal.,\
com.oracle.webservices.internal.,\
- oracle.jrockit.jfr.,\
+ oracle.jrockit.jfr.,\
org.jcp.xml.dsig.internal.,\
jdk.internal.,\
jdk.nashorn.internal.,\
@@ -470,7 +472,7 @@
# jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048
#
#
-jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
+jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024
# Algorithm restrictions for Secure Socket Layer/Transport Layer Security
# (SSL/TLS) processing
@@ -494,4 +496,3 @@
#
# Example:
# jdk.tls.disabledAlgorithms=MD5, SHA1, DSA, RSA keySize < 2048
-
diff --git a/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c b/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c
index a981c82..dd2a8e7 100644
--- a/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c
+++ b/jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/native/com/sun/media/sound/Platform.c b/jdk/src/share/native/com/sun/media/sound/Platform.c
index 863e680..5e373be 100644
--- a/jdk/src/share/native/com/sun/media/sound/Platform.c
+++ b/jdk/src/share/native/com/sun/media/sound/Platform.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/share/native/com/sun/media/sound/PlatformMidi.h b/jdk/src/share/native/com/sun/media/sound/PlatformMidi.h
index cd49414..d26e1af 100644
--- a/jdk/src/share/native/com/sun/media/sound/PlatformMidi.h
+++ b/jdk/src/share/native/com/sun/media/sound/PlatformMidi.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/native/com/sun/media/sound/SoundDefs.h b/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
index 1e7721f..90334cf 100644
--- a/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
+++ b/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
diff --git a/jdk/src/share/native/com/sun/media/sound/Utilities.h b/jdk/src/share/native/com/sun/media/sound/Utilities.h
index c1bde06..3f05a9f 100644
--- a/jdk/src/share/native/com/sun/media/sound/Utilities.h
+++ b/jdk/src/share/native/com/sun/media/sound/Utilities.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/share/native/common/jni_util.c b/jdk/src/share/native/common/jni_util.c
index de3509b..6837dd6 100644
--- a/jdk/src/share/native/common/jni_util.c
+++ b/jdk/src/share/native/common/jni_util.c
@@ -719,52 +719,49 @@
JNIEXPORT jstring JNICALL
JNU_NewStringPlatform(JNIEnv *env, const char *str)
{
- jstring result;
- result = nativeNewStringPlatform(env, str);
- if (result == NULL) {
- jbyteArray hab = 0;
- int len;
+ jstring result = NULL;
+ jbyteArray hab = 0;
+ int len;
- if (fastEncoding == NO_ENCODING_YET) {
- initializeEncoding(env);
- JNU_CHECK_EXCEPTION_RETURN(env, NULL);
- }
+ if (fastEncoding == NO_ENCODING_YET) {
+ initializeEncoding(env);
+ JNU_CHECK_EXCEPTION_RETURN(env, NULL);
+ }
- if ((fastEncoding == FAST_8859_1) || (fastEncoding == NO_ENCODING_YET))
- return newString8859_1(env, str);
- if (fastEncoding == FAST_646_US)
- return newString646_US(env, str);
- if (fastEncoding == FAST_CP1252)
- return newStringCp1252(env, str);
+ if ((fastEncoding == FAST_8859_1) || (fastEncoding == NO_ENCODING_YET))
+ return newString8859_1(env, str);
+ if (fastEncoding == FAST_646_US)
+ return newString646_US(env, str);
+ if (fastEncoding == FAST_CP1252)
+ return newStringCp1252(env, str);
- if ((*env)->EnsureLocalCapacity(env, 2) < 0)
- return NULL;
+ if ((*env)->EnsureLocalCapacity(env, 2) < 0)
+ return NULL;
- len = (int)strlen(str);
- hab = (*env)->NewByteArray(env, len);
- if (hab != 0) {
- jclass strClazz = JNU_ClassString(env);
- CHECK_NULL_RETURN(strClazz, 0);
- (*env)->SetByteArrayRegion(env, hab, 0, len, (jbyte *)str);
- if (jnuEncodingSupported(env)) {
- result = (*env)->NewObject(env, strClazz,
- String_init_ID, hab, jnuEncoding);
- } else {
- /*If the encoding specified in sun.jnu.encoding is not endorsed
- by "Charset.isSupported" we have to fall back to use String(byte[])
- explicitly here without specifying the encoding name, in which the
- StringCoding class will pickup the iso-8859-1 as the fallback
- converter for us.
- */
- jmethodID mid = (*env)->GetMethodID(env, strClazz,
- "<init>", "([B)V");
- if (mid != NULL) {
- result = (*env)->NewObject(env, strClazz, mid, hab);
- }
+ len = (int)strlen(str);
+ hab = (*env)->NewByteArray(env, len);
+ if (hab != 0) {
+ jclass strClazz = JNU_ClassString(env);
+ CHECK_NULL_RETURN(strClazz, 0);
+ (*env)->SetByteArrayRegion(env, hab, 0, len, (jbyte *)str);
+ if (jnuEncodingSupported(env)) {
+ result = (*env)->NewObject(env, strClazz,
+ String_init_ID, hab, jnuEncoding);
+ } else {
+ /*If the encoding specified in sun.jnu.encoding is not endorsed
+ by "Charset.isSupported" we have to fall back to use String(byte[])
+ explicitly here without specifying the encoding name, in which the
+ StringCoding class will pickup the iso-8859-1 as the fallback
+ converter for us.
+ */
+ jmethodID mid = (*env)->GetMethodID(env, strClazz,
+ "<init>", "([B)V");
+ if (mid != NULL) {
+ result = (*env)->NewObject(env, strClazz, mid, hab);
}
- (*env)->DeleteLocalRef(env, hab);
- return result;
}
+ (*env)->DeleteLocalRef(env, hab);
+ return result;
}
return NULL;
}
@@ -778,56 +775,53 @@
JNIEXPORT const char * JNICALL
JNU_GetStringPlatformChars(JNIEnv *env, jstring jstr, jboolean *isCopy)
{
- char *result = nativeGetStringPlatformChars(env, jstr, isCopy);
- if (result == NULL) {
+ char *result = NULL;
+ jbyteArray hab = 0;
- jbyteArray hab = 0;
+ if (isCopy)
+ *isCopy = JNI_TRUE;
- if (isCopy)
- *isCopy = JNI_TRUE;
-
- if (fastEncoding == NO_ENCODING_YET) {
- initializeEncoding(env);
- JNU_CHECK_EXCEPTION_RETURN(env, 0);
- }
-
- if ((fastEncoding == FAST_8859_1) || (fastEncoding == NO_ENCODING_YET))
- return getString8859_1Chars(env, jstr);
- if (fastEncoding == FAST_646_US)
- return getString646_USChars(env, jstr);
- if (fastEncoding == FAST_CP1252)
- return getStringCp1252Chars(env, jstr);
-
- if ((*env)->EnsureLocalCapacity(env, 2) < 0)
- return 0;
-
- if (jnuEncodingSupported(env)) {
- hab = (*env)->CallObjectMethod(env, jstr, String_getBytes_ID, jnuEncoding);
- } else {
- jmethodID mid;
- jclass strClazz = JNU_ClassString(env);
- CHECK_NULL_RETURN(strClazz, 0);
- mid = (*env)->GetMethodID(env, strClazz,
- "getBytes", "()[B");
- if (mid != NULL) {
- hab = (*env)->CallObjectMethod(env, jstr, mid);
- }
- }
-
- if (!(*env)->ExceptionCheck(env)) {
- jint len = (*env)->GetArrayLength(env, hab);
- result = MALLOC_MIN4(len);
- if (result == 0) {
- JNU_ThrowOutOfMemoryError(env, 0);
- (*env)->DeleteLocalRef(env, hab);
- return 0;
- }
- (*env)->GetByteArrayRegion(env, hab, 0, len, (jbyte *)result);
- result[len] = 0; /* NULL-terminate */
- }
-
- (*env)->DeleteLocalRef(env, hab);
+ if (fastEncoding == NO_ENCODING_YET) {
+ initializeEncoding(env);
+ JNU_CHECK_EXCEPTION_RETURN(env, 0);
}
+
+ if ((fastEncoding == FAST_8859_1) || (fastEncoding == NO_ENCODING_YET))
+ return getString8859_1Chars(env, jstr);
+ if (fastEncoding == FAST_646_US)
+ return getString646_USChars(env, jstr);
+ if (fastEncoding == FAST_CP1252)
+ return getStringCp1252Chars(env, jstr);
+
+ if ((*env)->EnsureLocalCapacity(env, 2) < 0)
+ return 0;
+
+ if (jnuEncodingSupported(env)) {
+ hab = (*env)->CallObjectMethod(env, jstr, String_getBytes_ID, jnuEncoding);
+ } else {
+ jmethodID mid;
+ jclass strClazz = JNU_ClassString(env);
+ CHECK_NULL_RETURN(strClazz, 0);
+ mid = (*env)->GetMethodID(env, strClazz,
+ "getBytes", "()[B");
+ if (mid != NULL) {
+ hab = (*env)->CallObjectMethod(env, jstr, mid);
+ }
+ }
+
+ if (!(*env)->ExceptionCheck(env)) {
+ jint len = (*env)->GetArrayLength(env, hab);
+ result = MALLOC_MIN4(len);
+ if (result == 0) {
+ JNU_ThrowOutOfMemoryError(env, 0);
+ (*env)->DeleteLocalRef(env, hab);
+ return 0;
+ }
+ (*env)->GetByteArrayRegion(env, hab, 0, len, (jbyte *)result);
+ result[len] = 0; /* NULL-terminate */
+ }
+
+ (*env)->DeleteLocalRef(env, hab);
return result;
}
diff --git a/jdk/src/share/native/common/jni_util.h b/jdk/src/share/native/common/jni_util.h
index b8d23cd..b66ea62 100644
--- a/jdk/src/share/native/common/jni_util.h
+++ b/jdk/src/share/native/common/jni_util.h
@@ -297,6 +297,21 @@
} \
} while (0) \
+#ifdef __cplusplus
+#define JNU_CHECK_EXCEPTION(env) \
+ do { \
+ if ((env)->ExceptionCheck()) { \
+ return; \
+ } \
+ } while (0) \
+
+#define JNU_CHECK_EXCEPTION_RETURN(env, y) \
+ do { \
+ if ((env)->ExceptionCheck()) { \
+ return (y); \
+ } \
+ } while (0)
+#else
#define JNU_CHECK_EXCEPTION(env) \
do { \
if ((*env)->ExceptionCheck(env)) { \
@@ -310,7 +325,7 @@
return (y); \
} \
} while (0)
-
+#endif /* __cplusplus */
/************************************************************************
* Debugging utilities
*/
@@ -363,10 +378,6 @@
FAST_646_US /* US-ASCII : ISO646-US */
};
-jstring nativeNewStringPlatform(JNIEnv *env, const char *str);
-
-char* nativeGetStringPlatformChars(JNIEnv *env, jstring jstr, jboolean *isCopy);
-
int getFastEncoding();
void initializeEncoding();
diff --git a/jdk/src/share/native/java/io/FileInputStream.c b/jdk/src/share/native/java/io/FileInputStream.c
index 52e2cdd..092ddbf 100644
--- a/jdk/src/share/native/java/io/FileInputStream.c
+++ b/jdk/src/share/native/java/io/FileInputStream.c
@@ -62,7 +62,7 @@
}
JNIEXPORT jint JNICALL
-Java_java_io_FileInputStream_read(JNIEnv *env, jobject this) {
+Java_java_io_FileInputStream_read0(JNIEnv *env, jobject this) {
return readSingle(env, this, fis_fd);
}
diff --git a/jdk/src/share/native/java/io/RandomAccessFile.c b/jdk/src/share/native/java/io/RandomAccessFile.c
index 3251db8..53b5f1a 100644
--- a/jdk/src/share/native/java/io/RandomAccessFile.c
+++ b/jdk/src/share/native/java/io/RandomAccessFile.c
@@ -64,7 +64,7 @@
}
JNIEXPORT jint JNICALL
-Java_java_io_RandomAccessFile_read(JNIEnv *env, jobject this) {
+Java_java_io_RandomAccessFile_read0(JNIEnv *env, jobject this) {
return readSingle(env, this, raf_fd);
}
@@ -75,7 +75,7 @@
}
JNIEXPORT void JNICALL
-Java_java_io_RandomAccessFile_write(JNIEnv *env, jobject this, jint byte) {
+Java_java_io_RandomAccessFile_write0(JNIEnv *env, jobject this, jint byte) {
writeSingle(env, this, byte, JNI_FALSE, raf_fd);
}
diff --git a/jdk/src/share/native/java/lang/ClassLoader.c b/jdk/src/share/native/java/lang/ClassLoader.c
index 8e0b950..7701cce 100644
--- a/jdk/src/share/native/java/lang/ClassLoader.c
+++ b/jdk/src/share/native/java/lang/ClassLoader.c
@@ -325,7 +325,7 @@
void *entryName = NULL;
char *jniFunctionName;
int i;
- int len;
+ size_t len;
// Check for JNI_On(Un)Load<_libname> function
if (isLoad) {
@@ -501,9 +501,9 @@
{
const char *cname;
char *libName;
- int prefixLen = (int) strlen(JNI_LIB_PREFIX);
- int suffixLen = (int) strlen(JNI_LIB_SUFFIX);
- int len;
+ size_t prefixLen = strlen(JNI_LIB_PREFIX);
+ size_t suffixLen = strlen(JNI_LIB_SUFFIX);
+ size_t len;
jstring lib;
void *ret;
const char *onLoadSymbols[] = JNI_ONLOAD_SYMBOLS;
diff --git a/jdk/src/share/native/java/lang/SecurityManager.c b/jdk/src/share/native/java/lang/SecurityManager.c
index a815df5..6976808 100644
--- a/jdk/src/share/native/java/lang/SecurityManager.c
+++ b/jdk/src/share/native/java/lang/SecurityManager.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/native/java/lang/System.c b/jdk/src/share/native/java/lang/System.c
index 9c2f591..5c36460 100644
--- a/jdk/src/share/native/java/lang/System.c
+++ b/jdk/src/share/native/java/lang/System.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1994, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 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
diff --git a/jdk/src/share/native/java/lang/Throwable.c b/jdk/src/share/native/java/lang/Throwable.c
index aaf3c26..768c7e1 100644
--- a/jdk/src/share/native/java/lang/Throwable.c
+++ b/jdk/src/share/native/java/lang/Throwable.c
@@ -44,7 +44,7 @@
* `this' so you can write 'throw e.fillInStackTrace();'
*/
JNIEXPORT jobject JNICALL
-Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, int dummy)
+Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, jint dummy)
{
JVM_FillInStackTrace(env, throwable);
return throwable;
diff --git a/jdk/src/share/native/java/lang/fdlibm/src/k_rem_pio2.c b/jdk/src/share/native/java/lang/fdlibm/src/k_rem_pio2.c
index 58f49c7..c6ebddf 100644
--- a/jdk/src/share/native/java/lang/fdlibm/src/k_rem_pio2.c
+++ b/jdk/src/share/native/java/lang/fdlibm/src/k_rem_pio2.c
@@ -1,6 +1,6 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/share/native/java/lang/java_props.h b/jdk/src/share/native/java/lang/java_props.h
index bf0f76a..21207d9 100644
--- a/jdk/src/share/native/java/lang/java_props.h
+++ b/jdk/src/share/native/java/lang/java_props.h
@@ -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
diff --git a/jdk/src/share/native/java/net/Inet4Address.c b/jdk/src/share/native/java/net/Inet4Address.c
index 9fb0f34..cc43241 100644
--- a/jdk/src/share/native/java/net/Inet4Address.c
+++ b/jdk/src/share/native/java/net/Inet4Address.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/java/net/Inet6Address.c b/jdk/src/share/native/java/net/Inet6Address.c
index 8d34918..3d0151a 100644
--- a/jdk/src/share/native/java/net/Inet6Address.c
+++ b/jdk/src/share/native/java/net/Inet6Address.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/java/net/InetAddress.c b/jdk/src/share/native/java/net/InetAddress.c
index a712dd9..19e8fc2 100644
--- a/jdk/src/share/native/java/net/InetAddress.c
+++ b/jdk/src/share/native/java/net/InetAddress.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2002, 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
diff --git a/jdk/src/share/native/java/net/net_util.c b/jdk/src/share/native/java/net/net_util.c
index dd93b13..32ea664 100644
--- a/jdk/src/share/native/java/net/net_util.c
+++ b/jdk/src/share/native/java/net/net_util.c
@@ -46,13 +46,10 @@
jstring s;
jint preferIPv4Stack;
- if ((*vm)->GetEnv(vm, (void **)&env, JNI_VERSION_1_2) == JNI_OK) {
- if (JVM_InitializeSocketLibrary() < 0) {
- JNU_ThrowByName(env, "java/lang/UnsatisfiedLinkError",
- "failed to initialize net library.");
- return JNI_VERSION_1_2;
- }
+ if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_2) != JNI_OK) {
+ return JNI_EVERSION; /* JNI version not supported */
}
+
iCls = (*env)->FindClass(env, "java/lang/Boolean");
CHECK_NULL_RETURN(iCls, JNI_VERSION_1_2);
mid = (*env)->GetStaticMethodID(env, iCls, "getBoolean", "(Ljava/lang/String;)Z");
@@ -108,7 +105,7 @@
return (*env)->GetObjectField(env, holder, ia6_scopeifnameID);
}
-int setInet6Address_scopeifname(JNIEnv *env, jobject iaObj, jobject scopeifname) {
+jboolean setInet6Address_scopeifname(JNIEnv *env, jobject iaObj, jobject scopeifname) {
jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
CHECK_NULL_RETURN(holder, JNI_FALSE);
(*env)->SetObjectField(env, holder, ia6_scopeifnameID, scopeifname);
@@ -127,20 +124,18 @@
return (*env)->GetIntField(env, holder, ia6_scopeidID);
}
-int setInet6Address_scopeid(JNIEnv *env, jobject iaObj, int scopeid) {
+jboolean setInet6Address_scopeid(JNIEnv *env, jobject iaObj, int scopeid) {
jobject holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
CHECK_NULL_RETURN(holder, JNI_FALSE);
(*env)->SetIntField(env, holder, ia6_scopeidID, scopeid);
if (scopeid > 0) {
- (*env)->SetBooleanField(env, holder, ia6_scopeidsetID, JNI_TRUE);
+ (*env)->SetBooleanField(env, holder, ia6_scopeidsetID, JNI_TRUE);
}
return JNI_TRUE;
}
-
-int getInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *dest) {
+jboolean getInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *dest) {
jobject holder, addr;
- jbyteArray barr;
holder = (*env)->GetObjectField(env, iaObj, ia6_holder6ID);
CHECK_NULL_RETURN(holder, JNI_FALSE);
@@ -150,7 +145,7 @@
return JNI_TRUE;
}
-int setInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *address) {
+jboolean setInet6Address_ipaddress(JNIEnv *env, jobject iaObj, char *address) {
jobject holder;
jbyteArray addr;
@@ -201,7 +196,6 @@
jobject iaObj;
#ifdef AF_INET6
if (him->sa_family == AF_INET6) {
- jbyteArray ipaddress;
#ifdef WIN32
struct SOCKADDR_IN6 *him6 = (struct SOCKADDR_IN6 *)him;
#else
@@ -217,11 +211,12 @@
setInetAddress_family(env, iaObj, IPv4);
} else {
jint scope;
- int ret;
+ jboolean ret;
iaObj = (*env)->NewObject(env, ia6_class, ia6_ctrID);
CHECK_NULL_RETURN(iaObj, NULL);
ret = setInet6Address_ipaddress(env, iaObj, (char *)&(him6->sin6_addr));
- CHECK_NULL_RETURN(ret, NULL);
+ if (ret == JNI_FALSE)
+ return NULL;
setInetAddress_family(env, iaObj, IPv6);
scope = getScopeID(him);
setInet6Address_scopeid(env, iaObj, scope);
@@ -268,7 +263,6 @@
return JNI_FALSE;
}
} else {
- jbyteArray ipaddress;
jbyte caddrCur[16];
int scope;
diff --git a/jdk/src/share/native/java/net/net_util.h b/jdk/src/share/native/java/net/net_util.h
index b77d02b..a31d849 100644
--- a/jdk/src/share/native/java/net/net_util.h
+++ b/jdk/src/share/native/java/net/net_util.h
@@ -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
@@ -63,12 +63,12 @@
* get_ methods that return objects return NULL on error.
*/
extern jobject getInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj);
-extern int setInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj, jobject scopeifname);
+extern jboolean setInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj, jobject scopeifname);
extern int getInet6Address_scopeid_set(JNIEnv *env, jobject ia6Obj);
extern int getInet6Address_scopeid(JNIEnv *env, jobject ia6Obj);
-extern int setInet6Address_scopeid(JNIEnv *env, jobject ia6Obj, int scopeid);
-extern int getInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *dest);
-extern int setInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *address);
+extern jboolean setInet6Address_scopeid(JNIEnv *env, jobject ia6Obj, int scopeid);
+extern jboolean getInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *dest);
+extern jboolean setInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *address);
extern void setInetAddress_addr(JNIEnv *env, jobject iaObj, int address);
extern void setInetAddress_family(JNIEnv *env, jobject iaObj, int family);
@@ -165,7 +165,7 @@
/* Socket operations
*
- * These work just like the JVM_* procedures, except that they may do some
+ * These work just like the system calls, except that they may do some
* platform-specific pre/post processing of the arguments and/or results.
*/
diff --git a/jdk/src/share/native/java/util/zip/zip_util.c b/jdk/src/share/native/java/util/zip/zip_util.c
index 2788248..a072e66 100644
--- a/jdk/src/share/native/java/util/zip/zip_util.c
+++ b/jdk/src/share/native/java/util/zip/zip_util.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/native/java/util/zip/zip_util.h b/jdk/src/share/native/java/util/zip/zip_util.h
index 124e3f7..a4aaf83 100644
--- a/jdk/src/share/native/java/util/zip/zip_util.h
+++ b/jdk/src/share/native/java/util/zip/zip_util.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/native/sun/awt/debug/debug_assert.h b/jdk/src/share/native/sun/awt/debug/debug_assert.h
index 920f232..8f1b13d 100644
--- a/jdk/src/share/native/sun/awt/debug/debug_assert.h
+++ b/jdk/src/share/native/sun/awt/debug/debug_assert.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/native/sun/awt/debug/debug_mem.c b/jdk/src/share/native/sun/awt/debug/debug_mem.c
index bf91768..6522bca 100644
--- a/jdk/src/share/native/sun/awt/debug/debug_mem.c
+++ b/jdk/src/share/native/sun/awt/debug/debug_mem.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/native/sun/awt/debug/debug_trace.h b/jdk/src/share/native/sun/awt/debug/debug_trace.h
index aad4677..e38cb95 100644
--- a/jdk/src/share/native/sun/awt/debug/debug_trace.h
+++ b/jdk/src/share/native/sun/awt/debug/debug_trace.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/native/sun/awt/debug/debug_util.h b/jdk/src/share/native/sun/awt/debug/debug_util.h
index 29ba438..1173056 100644
--- a/jdk/src/share/native/sun/awt/debug/debug_util.h
+++ b/jdk/src/share/native/sun/awt/debug/debug_util.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c b/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c
index 3497950..42756c9 100644
--- a/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c
+++ b/jdk/src/share/native/sun/awt/image/BufImgSurfaceData.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/share/native/sun/awt/image/DataBufferNative.c b/jdk/src/share/native/sun/awt/image/DataBufferNative.c
index 4bc087b..2d661a4 100644
--- a/jdk/src/share/native/sun/awt/image/DataBufferNative.c
+++ b/jdk/src/share/native/sun/awt/image/DataBufferNative.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/awt/image/awt_ImageRep.c b/jdk/src/share/native/sun/awt/image/awt_ImageRep.c
index e091be3..8552e31 100644
--- a/jdk/src/share/native/sun/awt/image/awt_ImageRep.c
+++ b/jdk/src/share/native/sun/awt/image/awt_ImageRep.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1998, 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
diff --git a/jdk/src/share/native/sun/awt/image/awt_parseImage.c b/jdk/src/share/native/sun/awt/image/awt_parseImage.c
index 8d6e9a3..b77db60 100644
--- a/jdk/src/share/native/sun/awt/image/awt_parseImage.c
+++ b/jdk/src/share/native/sun/awt/image/awt_parseImage.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/native/sun/awt/image/awt_parseImage.h b/jdk/src/share/native/sun/awt/image/awt_parseImage.h
index 02dfd1a..75dfa72 100644
--- a/jdk/src/share/native/sun/awt/image/awt_parseImage.h
+++ b/jdk/src/share/native/sun/awt/image/awt_parseImage.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/share/native/sun/awt/image/cvutils/img_dcm.h b/jdk/src/share/native/sun/awt/image/cvutils/img_dcm.h
index 1885dce..ac75d8a 100644
--- a/jdk/src/share/native/sun/awt/image/cvutils/img_dcm.h
+++ b/jdk/src/share/native/sun/awt/image/cvutils/img_dcm.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/native/sun/awt/image/cvutils/img_dcm8.h b/jdk/src/share/native/sun/awt/image/cvutils/img_dcm8.h
index 42a2943..83c7d51 100644
--- a/jdk/src/share/native/sun/awt/image/cvutils/img_dcm8.h
+++ b/jdk/src/share/native/sun/awt/image/cvutils/img_dcm8.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/native/sun/awt/image/cvutils/img_globals.c b/jdk/src/share/native/sun/awt/image/cvutils/img_globals.c
index e7ecd3f..fb99c2f 100644
--- a/jdk/src/share/native/sun/awt/image/cvutils/img_globals.c
+++ b/jdk/src/share/native/sun/awt/image/cvutils/img_globals.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/native/sun/awt/image/cvutils/img_replscale.h b/jdk/src/share/native/sun/awt/image/cvutils/img_replscale.h
index 8f53055..6a114357 100644
--- a/jdk/src/share/native/sun/awt/image/cvutils/img_replscale.h
+++ b/jdk/src/share/native/sun/awt/image/cvutils/img_replscale.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
index d1e84df..2d93a85 100644
--- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
+++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c b/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c
index 1cb1da0..ad7e821 100644
--- a/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c
+++ b/jdk/src/share/native/sun/awt/image/jpeg/jpegdecoder.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/share/native/sun/awt/libpng/CHANGES b/jdk/src/share/native/sun/awt/libpng/CHANGES
index 61687cb..44ce7dd 100644
--- a/jdk/src/share/native/sun/awt/libpng/CHANGES
+++ b/jdk/src/share/native/sun/awt/libpng/CHANGES
@@ -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
diff --git a/jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c b/jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c
index 887c7bd..bd27ed8 100644
--- a/jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c
+++ b/jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffine.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffine.c
index 18f9973..42d42ed 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffine.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffine.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffine.h b/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffine.h
index 85f18cd..b9f8fe8 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffine.h
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffine.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c
index cb06dee..e095a0e 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageColorTrue2Index.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageColorTrue2Index.c
index 3750081..0028fd2 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageColorTrue2Index.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageColorTrue2Index.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv.h b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv.h
index 24d99ce..a4f37d9 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv.h
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv.h
@@ -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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN.c
index c149d42..3c7e835 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c
index 88ade07..e9033ad 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConvMxN_ext.c
@@ -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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c
index 70f3831..11a68ad 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c
@@ -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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c
index 7fc3d5e..0be65cd 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c
index 9d80ddd..b0697c8 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_32nw.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c
index 1ca321e..c7420a9 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c
@@ -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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c
index 5c4de68..c81dbd0 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c
@@ -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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_D64nw.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_D64nw.c
index 2e84957..551ea19 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_D64nw.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_D64nw.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_F32nw.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_F32nw.c
index d19448d..7e279d7 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_F32nw.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_F32nw.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c
index 0369f57..926459d 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c
@@ -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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c
index fe15909..2aebcb8 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c
@@ -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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c
index a5fdb06..cd001c0 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_ImageCreate.c b/jdk/src/share/native/sun/awt/medialib/mlib_ImageCreate.c
index 8c067cc..b91bf88 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_ImageCreate.c
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_ImageCreate.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageConv.h b/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageConv.h
index ba1cfa3..41fb980 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageConv.h
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_c_ImageConv.h
@@ -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
diff --git a/jdk/src/share/native/sun/awt/medialib/mlib_image.h b/jdk/src/share/native/sun/awt/medialib/mlib_image.h
index 288b0aa..60d776a 100644
--- a/jdk/src/share/native/sun/awt/medialib/mlib_image.h
+++ b/jdk/src/share/native/sun/awt/medialib/mlib_image.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/share/native/sun/awt/medialib/safe_alloc.h b/jdk/src/share/native/sun/awt/medialib/safe_alloc.h
index 6a0320e..1ee9904 100644
--- a/jdk/src/share/native/sun/awt/medialib/safe_alloc.h
+++ b/jdk/src/share/native/sun/awt/medialib/safe_alloc.h
@@ -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
diff --git a/jdk/src/share/native/sun/awt/splashscreen/java_awt_SplashScreen.c b/jdk/src/share/native/sun/awt/splashscreen/java_awt_SplashScreen.c
index f6cc52c..db245be 100644
--- a/jdk/src/share/native/sun/awt/splashscreen/java_awt_SplashScreen.c
+++ b/jdk/src/share/native/sun/awt/splashscreen/java_awt_SplashScreen.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
index e986bac..bdc88ae 100644
--- a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
+++ b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_gif.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_impl.h b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_impl.h
index 72823a1..21f09ce 100644
--- a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_impl.h
+++ b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_impl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
index b1a5909..f9cb899 100644
--- a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
+++ b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
index b470f64..08e381b 100644
--- a/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
+++ b/jdk/src/share/native/sun/awt/splashscreen/splashscreen_png.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
diff --git a/jdk/src/share/native/sun/font/AccelGlyphCache.c b/jdk/src/share/native/sun/font/AccelGlyphCache.c
index 34cddfc..67729ad 100644
--- a/jdk/src/share/native/sun/font/AccelGlyphCache.c
+++ b/jdk/src/share/native/sun/font/AccelGlyphCache.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/native/sun/font/DrawGlyphList.c b/jdk/src/share/native/sun/font/DrawGlyphList.c
index 2fcb5d6..483e3fe 100644
--- a/jdk/src/share/native/sun/font/DrawGlyphList.c
+++ b/jdk/src/share/native/sun/font/DrawGlyphList.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/font/FontInstanceAdapter.cpp b/jdk/src/share/native/sun/font/FontInstanceAdapter.cpp
index 4214078..f2f553c 100644
--- a/jdk/src/share/native/sun/font/FontInstanceAdapter.cpp
+++ b/jdk/src/share/native/sun/font/FontInstanceAdapter.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/share/native/sun/font/FontInstanceAdapter.h b/jdk/src/share/native/sun/font/FontInstanceAdapter.h
index 264cf27..8d2ee30 100644
--- a/jdk/src/share/native/sun/font/FontInstanceAdapter.h
+++ b/jdk/src/share/native/sun/font/FontInstanceAdapter.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/native/sun/font/fontscalerdefs.h b/jdk/src/share/native/sun/font/fontscalerdefs.h
index 7d84d84..5ffabbb 100644
--- a/jdk/src/share/native/sun/font/fontscalerdefs.h
+++ b/jdk/src/share/native/sun/font/fontscalerdefs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/src/share/native/sun/font/freetypeScaler.c b/jdk/src/share/native/sun/font/freetypeScaler.c
index c562f54..e4b37fd 100644
--- a/jdk/src/share/native/sun/font/freetypeScaler.c
+++ b/jdk/src/share/native/sun/font/freetypeScaler.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/src/share/native/sun/font/sunFont.c b/jdk/src/share/native/sun/font/sunFont.c
index 70bfee8..50a62e4 100644
--- a/jdk/src/share/native/sun/font/sunFont.c
+++ b/jdk/src/share/native/sun/font/sunFont.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/src/share/native/sun/font/sunfontids.h b/jdk/src/share/native/sun/font/sunfontids.h
index a7e4290..593fd4e 100644
--- a/jdk/src/share/native/sun/font/sunfontids.h
+++ b/jdk/src/share/native/sun/font/sunfontids.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, 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
diff --git a/jdk/src/share/native/sun/java2d/Disposer.c b/jdk/src/share/native/sun/java2d/Disposer.c
index 6116317..d27157e 100644
--- a/jdk/src/share/native/sun/java2d/Disposer.c
+++ b/jdk/src/share/native/sun/java2d/Disposer.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2003, 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
diff --git a/jdk/src/share/native/sun/java2d/SurfaceData.c b/jdk/src/share/native/sun/java2d/SurfaceData.c
index d72fa28..b8cb9fd 100644
--- a/jdk/src/share/native/sun/java2d/SurfaceData.c
+++ b/jdk/src/share/native/sun/java2d/SurfaceData.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c b/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c
index 86051e0..8e687de 100644
--- a/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c
+++ b/jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/AnyByteBinary.h b/jdk/src/share/native/sun/java2d/loops/AnyByteBinary.h
index 3b1fa03..bf50ff1 100644
--- a/jdk/src/share/native/sun/java2d/loops/AnyByteBinary.h
+++ b/jdk/src/share/native/sun/java2d/loops/AnyByteBinary.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/Blit.c b/jdk/src/share/native/sun/java2d/loops/Blit.c
index d6302b3..fee108b 100644
--- a/jdk/src/share/native/sun/java2d/loops/Blit.c
+++ b/jdk/src/share/native/sun/java2d/loops/Blit.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/BlitBg.c b/jdk/src/share/native/sun/java2d/loops/BlitBg.c
index fe3ba39..c819fd7 100644
--- a/jdk/src/share/native/sun/java2d/loops/BlitBg.c
+++ b/jdk/src/share/native/sun/java2d/loops/BlitBg.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/ByteIndexed.h b/jdk/src/share/native/sun/java2d/loops/ByteIndexed.h
index 215cfc0..76ea5c7 100644
--- a/jdk/src/share/native/sun/java2d/loops/ByteIndexed.h
+++ b/jdk/src/share/native/sun/java2d/loops/ByteIndexed.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/DrawPath.c b/jdk/src/share/native/sun/java2d/loops/DrawPath.c
index d96c7f8..f841ca9 100644
--- a/jdk/src/share/native/sun/java2d/loops/DrawPath.c
+++ b/jdk/src/share/native/sun/java2d/loops/DrawPath.c
@@ -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
diff --git a/jdk/src/share/native/sun/java2d/loops/DrawPolygons.c b/jdk/src/share/native/sun/java2d/loops/DrawPolygons.c
index 5cec234..fdda181 100644
--- a/jdk/src/share/native/sun/java2d/loops/DrawPolygons.c
+++ b/jdk/src/share/native/sun/java2d/loops/DrawPolygons.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/FillPath.c b/jdk/src/share/native/sun/java2d/loops/FillPath.c
index a7b77c0..dfbb19f 100644
--- a/jdk/src/share/native/sun/java2d/loops/FillPath.c
+++ b/jdk/src/share/native/sun/java2d/loops/FillPath.c
@@ -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
diff --git a/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.c b/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.c
index 352a5eb..742dfeb 100644
--- a/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.c
+++ b/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h b/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h
index 6391354..6c67461 100644
--- a/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h
+++ b/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/IntArgb.h b/jdk/src/share/native/sun/java2d/loops/IntArgb.h
index f4ec005..1e22bd4 100644
--- a/jdk/src/share/native/sun/java2d/loops/IntArgb.h
+++ b/jdk/src/share/native/sun/java2d/loops/IntArgb.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/IntArgbBm.h b/jdk/src/share/native/sun/java2d/loops/IntArgbBm.h
index 675fba1..438eb90 100644
--- a/jdk/src/share/native/sun/java2d/loops/IntArgbBm.h
+++ b/jdk/src/share/native/sun/java2d/loops/IntArgbBm.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/IntArgbPre.h b/jdk/src/share/native/sun/java2d/loops/IntArgbPre.h
index c45013d..ab41f8c 100644
--- a/jdk/src/share/native/sun/java2d/loops/IntArgbPre.h
+++ b/jdk/src/share/native/sun/java2d/loops/IntArgbPre.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/MaskBlit.c b/jdk/src/share/native/sun/java2d/loops/MaskBlit.c
index 83f9493..21b716e 100644
--- a/jdk/src/share/native/sun/java2d/loops/MaskBlit.c
+++ b/jdk/src/share/native/sun/java2d/loops/MaskBlit.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/MaskFill.c b/jdk/src/share/native/sun/java2d/loops/MaskFill.c
index 2e5d3ed..3549340 100644
--- a/jdk/src/share/native/sun/java2d/loops/MaskFill.c
+++ b/jdk/src/share/native/sun/java2d/loops/MaskFill.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/ProcessPath.c b/jdk/src/share/native/sun/java2d/loops/ProcessPath.c
index b098f15..52d8ddd 100644
--- a/jdk/src/share/native/sun/java2d/loops/ProcessPath.c
+++ b/jdk/src/share/native/sun/java2d/loops/ProcessPath.c
@@ -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
diff --git a/jdk/src/share/native/sun/java2d/loops/ScaledBlit.c b/jdk/src/share/native/sun/java2d/loops/ScaledBlit.c
index 486a984..cfd97a2 100644
--- a/jdk/src/share/native/sun/java2d/loops/ScaledBlit.c
+++ b/jdk/src/share/native/sun/java2d/loops/ScaledBlit.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2005, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/TransformHelper.c b/jdk/src/share/native/sun/java2d/loops/TransformHelper.c
index 6d53054..ed94a3d 100644
--- a/jdk/src/share/native/sun/java2d/loops/TransformHelper.c
+++ b/jdk/src/share/native/sun/java2d/loops/TransformHelper.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/Ushort4444Argb.h b/jdk/src/share/native/sun/java2d/loops/Ushort4444Argb.h
index aa50d8b..98c3508 100644
--- a/jdk/src/share/native/sun/java2d/loops/Ushort4444Argb.h
+++ b/jdk/src/share/native/sun/java2d/loops/Ushort4444Argb.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/share/native/sun/java2d/loops/UshortIndexed.h b/jdk/src/share/native/sun/java2d/loops/UshortIndexed.h
index 6a4b5b1..1f404d1 100644
--- a/jdk/src/share/native/sun/java2d/loops/UshortIndexed.h
+++ b/jdk/src/share/native/sun/java2d/loops/UshortIndexed.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLBlitLoops.c b/jdk/src/share/native/sun/java2d/opengl/OGLBlitLoops.c
index 68d6018..8282986 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLBlitLoops.c
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLBlitLoops.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLContext.c b/jdk/src/share/native/sun/java2d/opengl/OGLContext.c
index d1484f7..0139491 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLContext.c
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLContext.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLContext.h b/jdk/src/share/native/sun/java2d/opengl/OGLContext.h
index 5e236bb..0f44232 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLContext.h
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLContext.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h b/jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h
index e7872d7..0dc9b11 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLFuncs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c b/jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c
index 79220bb..3724c13 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLRenderQueue.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.c b/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.c
index 4b16bff..321f9c5 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.c
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.h b/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.h
index a859cf4..0fc8b3b 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.h
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c b/jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c
index 033d6fd..f9c8350 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLTextRenderer.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLVertexCache.c b/jdk/src/share/native/sun/java2d/opengl/OGLVertexCache.c
index 574e278..cd2d60c 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLVertexCache.c
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLVertexCache.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
diff --git a/jdk/src/share/native/sun/java2d/opengl/OGLVertexCache.h b/jdk/src/share/native/sun/java2d/opengl/OGLVertexCache.h
index 0392d85..ef41893 100644
--- a/jdk/src/share/native/sun/java2d/opengl/OGLVertexCache.h
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLVertexCache.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
diff --git a/jdk/src/share/native/sun/java2d/pipe/BufferedRenderPipe.c b/jdk/src/share/native/sun/java2d/pipe/BufferedRenderPipe.c
index 849fd2a..823475b 100644
--- a/jdk/src/share/native/sun/java2d/pipe/BufferedRenderPipe.c
+++ b/jdk/src/share/native/sun/java2d/pipe/BufferedRenderPipe.c
@@ -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
diff --git a/jdk/src/share/native/sun/java2d/pipe/Region.c b/jdk/src/share/native/sun/java2d/pipe/Region.c
index 4bafa10..cea2f8d 100644
--- a/jdk/src/share/native/sun/java2d/pipe/Region.c
+++ b/jdk/src/share/native/sun/java2d/pipe/Region.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/src/share/native/sun/java2d/pipe/ShapeSpanIterator.c b/jdk/src/share/native/sun/java2d/pipe/ShapeSpanIterator.c
index 2462307..333231c 100644
--- a/jdk/src/share/native/sun/java2d/pipe/ShapeSpanIterator.c
+++ b/jdk/src/share/native/sun/java2d/pipe/ShapeSpanIterator.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2007, 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
diff --git a/jdk/src/share/native/sun/java2d/pipe/SpanClipRenderer.c b/jdk/src/share/native/sun/java2d/pipe/SpanClipRenderer.c
index 2b5190f..0307331 100644
--- a/jdk/src/share/native/sun/java2d/pipe/SpanClipRenderer.c
+++ b/jdk/src/share/native/sun/java2d/pipe/SpanClipRenderer.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/share/native/sun/management/HotSpotDiagnostic.c b/jdk/src/share/native/sun/management/HotSpotDiagnostic.c
index cfa9e9a..fe6b2c6 100644
--- a/jdk/src/share/native/sun/management/HotSpotDiagnostic.c
+++ b/jdk/src/share/native/sun/management/HotSpotDiagnostic.c
@@ -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
diff --git a/jdk/src/share/native/sun/reflect/Reflection.c b/jdk/src/share/native/sun/reflect/Reflection.c
index 8da4101..35cc512 100644
--- a/jdk/src/share/native/sun/reflect/Reflection.c
+++ b/jdk/src/share/native/sun/reflect/Reflection.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
diff --git a/jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c b/jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
index e0da98a..15fd417 100644
--- a/jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
+++ b/jdk/src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
@@ -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
@@ -28,6 +28,7 @@
#include "NativeFunc.h"
#include "jlong.h"
#include <jni.h>
+#include "jni_util.h"
/* Throws a Java Exception by name */
@@ -65,6 +66,12 @@
}
libName = (*env)->GetStringUTFChars(env, jlibName, NULL);
+ if (libName == NULL) {
+ if (!(*env)->ExceptionCheck(env)) {
+ throwOutOfMemoryError(env, NULL);
+ }
+ return JNI_FALSE;
+ }
sprintf(debugBuf, "[GSSLibStub_init] libName=%s", libName);
debug(env, debugBuf);
@@ -110,6 +117,8 @@
}
}
(*env)->ReleaseByteArrayElements(env, jbytes, bytes, 0);
+ } else {
+ JNU_CHECK_EXCEPTION_RETURN(env, jlong_zero);
}
if (found != JNI_TRUE) {
checkStatus(env, NULL, GSS_S_BAD_MECH, 0, "[GSSLibStub_getMechPtr]");
@@ -147,7 +156,9 @@
cb->initiator_addrtype = GSS_C_AF_INET;
value = (*env)->CallObjectMethod(env, jinetAddr,
MID_InetAddress_getAddr);
- initGSSBuffer(env, value, &(cb->initiator_address));
+ if (!initGSSBuffer(env, value, &(cb->initiator_address))) {
+ return NULL;
+ }
} else {
cb->initiator_addrtype = GSS_C_AF_NULLADDR;
cb->initiator_address.length = 0;
@@ -161,7 +172,9 @@
cb->acceptor_addrtype = GSS_C_AF_INET;
value = (*env)->CallObjectMethod(env, jinetAddr,
MID_InetAddress_getAddr);
- initGSSBuffer(env, value, &(cb->acceptor_address));
+ if (!initGSSBuffer(env, value, &(cb->acceptor_address))) {
+ return NULL;
+ }
} else {
cb->acceptor_addrtype = GSS_C_AF_NULLADDR;
cb->acceptor_address.length = 0;
@@ -171,7 +184,9 @@
value = (*env)->CallObjectMethod(env, jcb,
MID_ChannelBinding_getAppData);
if (value != NULL) {
- initGSSBuffer(env, value, &(cb->application_data));
+ if (!initGSSBuffer(env, value, &(cb->application_data))) {
+ return NULL;
+ }
} else {
cb->application_data.length = 0;
cb->application_data.value = NULL;
@@ -230,6 +245,7 @@
isUnseq = ((suppInfo & GSS_S_UNSEQ_TOKEN) != 0);
hasGap = ((suppInfo & GSS_S_GAP_TOKEN) != 0);
minorMsg = getMinorMessage(env, jstub, minor);
+ CHECK_NULL(minorMsg);
(*env)->CallVoidMethod(env, jprop, MID_MessageProp_setSupplementaryStates,
isDuplicate, isOld, isUnseq, hasGap, minor,
minorMsg);
@@ -277,6 +293,7 @@
/* release intermediate buffers */
deleteGSSOIDSet(nameTypes);
+ CHECK_NULL_RETURN(result, NULL);
checkStatus(env, jobj, major, minor, "[GSSLibStub_inquireNamesForMech]");
return result;
} else return NULL;
@@ -326,7 +343,9 @@
debug(env, "[GSSLibStub_importName]");
- initGSSBuffer(env, jnameVal, &nameVal);
+ if (!initGSSBuffer(env, jnameVal, &nameVal)) {
+ return jlong_zero;
+ }
nameType = newGSSOID(env, jnameType);
if ((*env)->ExceptionCheck(env)) {
deleteGSSOID(nameType);
@@ -501,9 +520,14 @@
/* release intermediate buffers */
jname = getJavaString(env, &outNameBuf);
+ if (jname == NULL && !(*env)->ExceptionCheck(env)) {
+ throwOutOfMemoryError(env, NULL);
+ return NULL;
+ }
jtype = getJavaOID(env, outNameType);
jresult = (*env)->NewObjectArray(env, 2, CLS_Object, NULL);
+ CHECK_NULL_RETURN(jresult, NULL);
/* return immediately if an exception has occurred */
if ((*env)->ExceptionCheck(env)) {
@@ -738,7 +762,9 @@
debug(env, "[GSSLibStub_importContext]");
contextHdl = GSS_C_NO_CONTEXT;
- initGSSBuffer(env, jctxtToken, &ctxtToken);
+ if (!initGSSBuffer(env, jctxtToken, &ctxtToken)) {
+ return NULL;
+ }
/* gss_import_sec_context(...) => GSS_S_NO_CONTEXT, GSS_S_DEFECTIVE_TOKEN,
GSS_S_UNAVAILABLE, GSS_S_UNAUTHORIZED */
@@ -829,7 +855,9 @@
return NULL;
}
- initGSSBuffer(env, jinToken, &inToken);
+ if (!initGSSBuffer(env, jinToken, &inToken)) {
+ return NULL;
+ }
sprintf(debugBuf,
"[GSSLibStub_initContext] before: pCred=%ld, pContext=%ld",
@@ -927,7 +955,9 @@
contextHdl = (gss_ctx_id_t)jlong_to_ptr(
(*env)->GetLongField(env, jcontextSpi, FID_NativeGSSContext_pContext));
credHdl = (gss_cred_id_t) jlong_to_ptr(pCred);
- initGSSBuffer(env, jinToken, &inToken);
+ if (!initGSSBuffer(env, jinToken, &inToken)) {
+ return NULL;
+ }
cb = getGSSCB(env, jcb);
if ((*env)->ExceptionCheck(env)) {
free(cb);
@@ -1102,6 +1132,7 @@
result[5] = (jlong) getJavaTime(time);
jresult = (*env)->NewLongArray(env, 6);
+ CHECK_NULL_RETURN(jresult, NULL);
(*env)->SetLongArrayRegion(env, jresult, 0, 6, result);
/* release intermediate buffers */
@@ -1335,7 +1366,9 @@
}
contextHdl = (gss_ctx_id_t) jlong_to_ptr(pContext);
qop = (gss_qop_t) jqop;
- initGSSBuffer(env, jmsg, &msg);
+ if (!initGSSBuffer(env, jmsg, &msg)) {
+ return NULL;
+ }
/* gss_get_mic(...) => GSS_S_CONTEXT_EXPIRED, GSS_S_NO_CONTEXT(!),
GSS_S_BAD_QOP */
@@ -1379,8 +1412,12 @@
"[GSSLibStub_verifyMic]");
return;
}
- initGSSBuffer(env, jmsg, &msg);
- initGSSBuffer(env, jmsgToken, &msgToken);
+
+ if (!initGSSBuffer(env, jmsg, &msg) ||
+ !initGSSBuffer(env, jmsgToken, &msgToken)) {
+ return;
+ }
+
qop = (gss_qop_t) (*env)->CallIntMethod(env, jprop, MID_MessageProp_getQOP);
/* gss_verify_mic(...) => GSS_S_DEFECTIVE_TOKEN, GSS_S_BAD_MIC,
GSS_S_CONTEXT_EXPIRED, GSS_S_DUPLICATE_TOKEN(!), GSS_S_OLD_TOKEN(!),
@@ -1433,7 +1470,9 @@
(*env)->CallBooleanMethod(env, jprop, MID_MessageProp_getPrivacy);
qop = (gss_qop_t)
(*env)->CallIntMethod(env, jprop, MID_MessageProp_getQOP);
- initGSSBuffer(env, jmsg, &msg);
+ if (!initGSSBuffer(env, jmsg, &msg)) {
+ return NULL;
+ }
/* gss_wrap(...) => GSS_S_CONTEXT_EXPIRED, GSS_S_NO_CONTEXT(!),
GSS_S_BAD_QOP */
major = (*ftab->wrap)(&minor, contextHdl, confFlag, qop, &msg, &confState,
@@ -1479,7 +1518,9 @@
checkStatus(env, jobj, GSS_S_CONTEXT_EXPIRED, 0, "[GSSLibStub_unwrap]");
return NULL;
}
- initGSSBuffer(env, jmsgToken, &msgToken);
+ if (!initGSSBuffer(env, jmsgToken, &msgToken)) {
+ return NULL;
+ }
confState = 0;
qop = GSS_C_QOP_DEFAULT;
/* gss_unwrap(...) => GSS_S_DEFECTIVE_TOKEN, GSS_S_BAD_MIC,
diff --git a/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.c b/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.c
index e5edfbc..e3a8be9 100644
--- a/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.c
+++ b/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.c
@@ -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
@@ -27,6 +27,7 @@
#include "NativeFunc.h"
#include "jlong.h"
#include <jni.h>
+#include "jni_util.h"
extern void throwOutOfMemoryError(JNIEnv *env, const char *message);
@@ -495,6 +496,9 @@
&messageContext, &statusString);
/* release intermediate buffers */
msg = getJavaString(env, &statusString);
+ if (msg == NULL && !(*env)->ExceptionCheck(env)) {
+ throwOutOfMemoryError(env, NULL);
+ }
(*ftab->releaseBuffer)(&minor, &statusString);
return msg;
}
@@ -529,6 +533,7 @@
jmsg = NULL;
if (minor != 0) {
jmsg = getMinorMessage(env, jstub, minor);
+ CHECK_NULL(jmsg);
}
gssEx = (*env)->NewObject(env, CLS_GSSException,
MID_GSSException_ctor3,
@@ -545,28 +550,41 @@
}
jmajor = 13; /* use GSSException.FAILURE for now */
jmsg = (*env)->NewStringUTF(env, msg);
+ CHECK_NULL(jmsg);
gssEx = (*env)->NewObject(env, CLS_GSSException,
MID_GSSException_ctor3,
jmajor, jminor, jmsg);
+ CHECK_NULL(gssEx);
(*env)->Throw(env, gssEx);
}
}
+
/*
* Utility routine for initializing gss_buffer_t structure
* with the byte[] in the specified jbyteArray object.
* NOTE: need to call resetGSSBuffer(...) to free up
* the resources.
+ * Return JNI_TRUE if GetByteArrayElements() returns ok, JNI_FALSE otherwise
+ * If JNI_FALSE returned, then an exception has been thrown.
*/
-void initGSSBuffer(JNIEnv *env, jbyteArray jbytes,
+int initGSSBuffer(JNIEnv *env, jbyteArray jbytes,
gss_buffer_t cbytes) {
if (jbytes != NULL) {
cbytes->length = (*env)->GetArrayLength(env, jbytes);
cbytes->value = (*env)->GetByteArrayElements(env, jbytes, NULL);
+ if (cbytes->value == NULL) {
+ if (!(*env)->ExceptionCheck(env)) {
+ throwOutOfMemoryError(env, NULL);
+ }
+ return JNI_FALSE;
+ }
} else {
cbytes->length = 0;
cbytes->value = NULL;
}
+ return JNI_TRUE;
}
+
/*
* Utility routine for unpinning/releasing the byte[]
* associated with the specified jbyteArray object.
@@ -593,7 +611,8 @@
if ((cbytes != NULL) && (cbytes != GSS_C_NO_BUFFER) &&
(cbytes->length != 0)) {
result = (*env)->NewByteArray(env, cbytes->length);
- (*env)->SetByteArrayRegion(env, result, 0, cbytes->length,
+ if (result != NULL)
+ (*env)->SetByteArrayRegion(env, result, 0, cbytes->length,
cbytes->value);
(*ftab->releaseBuffer)(&minor, cbytes);
return result;
@@ -616,6 +635,7 @@
if ((*env)->ExceptionCheck(env)) {
gssEx = (*env)->ExceptionOccurred(env);
(*env)->Throw(env, gssEx);
+ return GSS_C_NO_OID;
}
cOid = malloc(sizeof(struct gss_OID_desc_struct));
if (cOid == NULL) {
@@ -665,13 +685,12 @@
oidHdr[0] = 6;
oidHdr[1] = cLen;
jbytes = (*env)->NewByteArray(env, cLen+2);
+ CHECK_NULL_RETURN(jbytes, NULL);
(*env)->SetByteArrayRegion(env, jbytes, 0, 2, (jbyte *) oidHdr);
(*env)->SetByteArrayRegion(env, jbytes, 2, cLen, (jbyte *) cOid->elements);
result = (*env)->NewObject(env, CLS_Oid, MID_Oid_ctor1, jbytes);
- if ((*env)->ExceptionCheck(env)) {
- (*env)->Throw(env, (*env)->ExceptionOccurred(env));
- }
+ JNU_CHECK_EXCEPTION_RETURN(env, NULL);
(*env)->DeleteLocalRef(env, jbytes);
return result;
}
@@ -722,6 +741,9 @@
if (cOidSet != NULL && cOidSet != GSS_C_NO_OID_SET) {
numOfOids = cOidSet->count;
jOidSet = (*env)->NewObjectArray(env, numOfOids, CLS_Oid, NULL);
+ if (jOidSet == NULL) {
+ return NULL;
+ }
if (jOidSet != NULL) {
for (i = 0; i < numOfOids; i++) {
jOid = getJavaOID(env, &(cOidSet->elements[i]));
@@ -736,6 +758,7 @@
void debug(JNIEnv *env, char *msg) {
jstring jmsg = (*env)->NewStringUTF(env, msg);
+ CHECK_NULL(jmsg);
(*env)->CallStaticVoidMethod(env, CLS_SunNativeProvider,
MID_SunNativeProvider_debug, jmsg);
(*env)->DeleteLocalRef(env, jmsg);
diff --git a/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.h b/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.h
index c6194b6..58334a3 100644
--- a/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.h
+++ b/jdk/src/share/native/sun/security/jgss/wrapper/NativeUtil.h
@@ -37,7 +37,7 @@
extern OM_uint32 getGSSTime(jint);
extern void checkStatus(JNIEnv *, jobject, OM_uint32, OM_uint32, char*);
extern jint checkTime(OM_uint32);
- extern void initGSSBuffer(JNIEnv *, jbyteArray, gss_buffer_t);
+ extern jint initGSSBuffer(JNIEnv *, jbyteArray, gss_buffer_t);
extern void resetGSSBuffer(JNIEnv *, jbyteArray, gss_buffer_t);
extern gss_OID newGSSOID(JNIEnv *, jobject);
diff --git a/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h b/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h
index 38440fb..f0aa4c5 100644
--- a/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h
+++ b/jdk/src/share/native/sun/security/jgss/wrapper/gssapi.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/share/native/sun/security/krb5/nativeccache.c b/jdk/src/share/native/sun/security/krb5/nativeccache.c
index ccc7952..beb5bf0 100644
--- a/jdk/src/share/native/sun/security/krb5/nativeccache.c
+++ b/jdk/src/share/native/sun/security/krb5/nativeccache.c
@@ -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
@@ -141,7 +141,7 @@
#endif /* DEBUG */
ticketConstructor = (*env)->GetMethodID(env, ticketClass, "<init>", "(Lsun/security/util/DerValue;)V");
- if (derValueConstructor == 0) {
+ if (ticketConstructor == 0) {
printf("Couldn't find Ticket constructor\n");
return JNI_ERR;
}
@@ -272,6 +272,7 @@
}
return 0;
}
+
/*
* Class: sun_security_krb5_Credentials
* Method: acquireDefaultNativeCreds
@@ -309,7 +310,7 @@
netypes = (*env)->GetArrayLength(env, jetypes);
etypes = (jint *) (*env)->GetIntArrayElements(env, jetypes, NULL);
- if (!err) {
+ if (etypes != NULL && !err) {
while ((err = krb5_cc_next_cred (kcontext, ccache, &cursor, &creds)) == 0) {
char *serverName = NULL;
@@ -319,8 +320,16 @@
}
if (!err) {
- if (strncmp (serverName, "krbtgt", sizeof("krbtgt")-1) == 0 &&
- isIn(creds.keyblock.enctype, netypes, etypes)) {
+ char* slash = strchr(serverName, '/');
+ char* at = strchr(serverName, '@');
+ // Make sure the server's name is krbtgt/REALM@REALM, the etype
+ // is supported, and the ticket has not expired
+ if (slash && at &&
+ strncmp (serverName, "krbtgt", slash-serverName) == 0 &&
+ // the ablove line shows at must be after slash
+ strncmp (slash+1, at+1, at-slash-1) == 0 &&
+ isIn (creds.keyblock.enctype, netypes, etypes) &&
+ creds.times.endtime > time(0)) {
jobject ticket, clientPrincipal, targetPrincipal, encryptionKey;
jobject ticketFlags, startTime, endTime;
jobject authTime, renewTillTime, hostAddresses;
@@ -399,8 +408,12 @@
if (endTime) (*env)->DeleteLocalRef(env, endTime);
if (renewTillTime) (*env)->DeleteLocalRef(env, renewTillTime);
if (hostAddresses) (*env)->DeleteLocalRef(env, hostAddresses);
- }
+ // Stop if there is an exception or we already found the initial TGT
+ if ((*env)->ExceptionCheck(env) || krbCreds) {
+ break;
+ }
+ }
}
if (serverName != NULL) { krb5_free_unparsed_name (kcontext, serverName); }
@@ -410,7 +423,6 @@
if (err == KRB5_CC_END) { err = 0; }
printiferr (err, "while retrieving a ticket");
-
}
if (!err) {
@@ -445,25 +457,25 @@
jbyteArray ary;
ary = (*env)->NewByteArray(env, encodedTicket->length);
- if ((*env)->ExceptionOccurred(env)) {
+ if ((*env)->ExceptionCheck(env)) {
return (jobject) NULL;
}
(*env)->SetByteArrayRegion(env, ary, (jsize) 0, encodedTicket->length, (jbyte *)encodedTicket->data);
- if ((*env)->ExceptionOccurred(env)) {
+ if ((*env)->ExceptionCheck(env)) {
(*env)->DeleteLocalRef(env, ary);
return (jobject) NULL;
}
derValue = (*env)->NewObject(env, derValueClass, derValueConstructor, ary);
- if ((*env)->ExceptionOccurred(env)) {
+ if ((*env)->ExceptionCheck(env)) {
(*env)->DeleteLocalRef(env, ary);
return (jobject) NULL;
}
(*env)->DeleteLocalRef(env, ary);
ticket = (*env)->NewObject(env, ticketClass, ticketConstructor, derValue);
- if ((*env)->ExceptionOccurred(env)) {
+ if ((*env)->ExceptionCheck(env)) {
(*env)->DeleteLocalRef(env, derValue);
return (jobject) NULL;
}
@@ -480,6 +492,10 @@
if (!err) {
// Make a PrincipalName from the full string and the type. Let the PrincipalName class parse it out.
jstring principalStringObj = (*env)->NewStringUTF(env, principalString);
+ if (principalStringObj == NULL) {
+ if (principalString != NULL) { krb5_free_unparsed_name (kcontext, principalString); }
+ return (jobject) NULL;
+ }
principal = (*env)->NewObject(env, principalNameClass, principalNameConstructor, principalStringObj, principalName->type);
if (principalString != NULL) { krb5_free_unparsed_name (kcontext, principalString); }
(*env)->DeleteLocalRef(env, principalStringObj);
@@ -494,8 +510,13 @@
jobject encryptionKey = NULL;
ary = (*env)->NewByteArray(env,cryptoKey->length);
+
+ if (ary == NULL) {
+ return (jobject) NULL;
+ }
+
(*env)->SetByteArrayRegion(env, ary, (jsize) 0, cryptoKey->length, (jbyte *)cryptoKey->contents);
- if (!(*env)->ExceptionOccurred(env)) {
+ if (!(*env)->ExceptionCheck(env)) {
encryptionKey = (*env)->NewObject(env, encryptionKeyClass, encryptionKeyConstructor, cryptoKey->enctype, ary);
}
@@ -514,9 +535,14 @@
unsigned long nlflags = htonl(flags);
ary = (*env)->NewByteArray(env, sizeof(flags));
+
+ if (ary == NULL) {
+ return (jobject) NULL;
+ }
+
(*env)->SetByteArrayRegion(env, ary, (jsize) 0, sizeof(flags), (jbyte *)&nlflags);
- if (!(*env)->ExceptionOccurred(env)) {
+ if (!(*env)->ExceptionCheck(env)) {
ticketFlags = (*env)->NewObject(env, ticketFlagsClass, ticketFlagsConstructor, sizeof(flags)*8, ary);
}
@@ -550,6 +576,10 @@
jobject address_list = (*env)->NewObjectArray(env, addressCount, hostAddressClass, NULL);
+ if (address_list == NULL) {
+ return (jobject) NULL;
+ }
+
// Create a new HostAddress object for each address block.
// First, reset the iterator.
p = addresses;
@@ -567,9 +597,16 @@
(*env)->DeleteLocalRef(env, ary);
+ if (address == NULL) {
+ return (jobject) NULL;
+ }
// Add the HostAddress to the arrray.
(*env)->SetObjectArrayElement(env, address_list, index, address);
+ if ((*env)->ExceptionCheck(env)) {
+ return (jobject) NULL;
+ }
+
index++;
p++;
}
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c
index 7ec69fd..8984258 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_convert.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c
index 41a0b28..b56608a 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_crypt.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c
index 0119c4e..68e4ff5 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_digest.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_general.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_general.c
index b607b1f..604ae31 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_general.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_general.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c
index 5c39b10..fd93a30 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_mutex.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c
index 2c3a48f..11405a5 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sessmgmt.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c
index ed8424b..8fbcde0 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_sign.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c
index 79d5250..172161a 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
*/
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h b/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h
index 01aeb6f..3188774 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h
@@ -55,6 +55,9 @@
* @author Martin Schlaeffer <schlaeff@sbox.tugraz.at>
*/
+#ifndef _PKCS11WRAPPER_H
+#define _PKCS11WRAPPER_H 1
+
/* disable asserts in product mode */
#ifndef DEBUG
#ifndef NDEBUG
@@ -461,3 +464,5 @@
#define free(c) (p11free((c), THIS_FILE, __LINE__))
#endif
+
+#endif /* _PKCS11WRAPPER_H */
diff --git a/jdk/src/share/native/sun/tracing/dtrace/JVM.c b/jdk/src/share/native/sun/tracing/dtrace/JVM.c
index d17f8a8..85cf155 100644
--- a/jdk/src/share/native/sun/tracing/dtrace/JVM.c
+++ b/jdk/src/share/native/sun/tracing/dtrace/JVM.c
@@ -287,9 +287,9 @@
if (name != NULL) {
int i;
- int len = (*env)->GetStringUTFLength(env, name);
+ jsize len = (*env)->GetStringUTFLength(env, name);
int unicode_len = (*env)->GetStringLength(env, name);
- if (len >= sizeof(buf)) {
+ if (len >= (jsize)sizeof(buf)) {
utfName = malloc(len + 1);
if (utfName == NULL) {
goto free_body;
diff --git a/jdk/src/share/npt/npt.h b/jdk/src/share/npt/npt.h
index 4f2a562..a8d7e7e 100644
--- a/jdk/src/share/npt/npt.h
+++ b/jdk/src/share/npt/npt.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/npt/utf.c b/jdk/src/share/npt/utf.c
index 55ddd21..e469559 100644
--- a/jdk/src/share/npt/utf.c
+++ b/jdk/src/share/npt/utf.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/share/sample/jmx/jmx-scandir/index.html b/jdk/src/share/sample/jmx/jmx-scandir/index.html
index 3892b95..4fd2ae6 100644
--- a/jdk/src/share/sample/jmx/jmx-scandir/index.html
+++ b/jdk/src/share/sample/jmx/jmx-scandir/index.html
@@ -3,7 +3,7 @@
<html>
<head>
<!--
- Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/sample/scripting/scriptpad/src/scripts/memory.sh b/jdk/src/share/sample/scripting/scriptpad/src/scripts/memory.sh
index 5477623..8da155b 100644
--- a/jdk/src/share/sample/scripting/scriptpad/src/scripts/memory.sh
+++ b/jdk/src/share/sample/scripting/scriptpad/src/scripts/memory.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
diff --git a/jdk/src/share/transport/socket/socketTransport.c b/jdk/src/share/transport/socket/socketTransport.c
index dfb3426..c76fd10 100644
--- a/jdk/src/share/transport/socket/socketTransport.c
+++ b/jdk/src/share/transport/socket/socketTransport.c
@@ -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
diff --git a/jdk/src/share/transport/socket/sysSocket.h b/jdk/src/share/transport/socket/sysSocket.h
index f80cc67..78c0574 100644
--- a/jdk/src/share/transport/socket/sysSocket.h
+++ b/jdk/src/share/transport/socket/sysSocket.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/solaris/back/linker_md.c b/jdk/src/solaris/back/linker_md.c
index 07be055..47b6d74 100644
--- a/jdk/src/solaris/back/linker_md.c
+++ b/jdk/src/solaris/back/linker_md.c
@@ -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
diff --git a/jdk/src/solaris/classes/java/lang/UNIXProcess.java.bsd b/jdk/src/solaris/classes/java/lang/UNIXProcess.java.bsd
index 7f0c3b1..8f2069e 100644
--- a/jdk/src/solaris/classes/java/lang/UNIXProcess.java.bsd
+++ b/jdk/src/solaris/classes/java/lang/UNIXProcess.java.bsd
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux b/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux
index be267d3..3357495 100644
--- a/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux
+++ b/jdk/src/solaris/classes/java/lang/UNIXProcess.java.linux
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris b/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris
index de43cf9..7160b24 100644
--- a/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris
+++ b/jdk/src/solaris/classes/java/lang/UNIXProcess.java.solaris
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/solaris/classes/java/net/DefaultInterface.java b/jdk/src/solaris/classes/java/net/DefaultInterface.java
index 8f79c81..0c31cb6 100644
--- a/jdk/src/solaris/classes/java/net/DefaultInterface.java
+++ b/jdk/src/solaris/classes/java/net/DefaultInterface.java
@@ -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
diff --git a/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java b/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java
index 166fcd9..6ca10d1 100644
--- a/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java
+++ b/jdk/src/solaris/classes/java/util/prefs/FileSystemPreferences.java
@@ -48,6 +48,15 @@
* @since 1.4
*/
class FileSystemPreferences extends AbstractPreferences {
+
+ static {
+ PrivilegedAction<Void> load = () -> {
+ System.loadLibrary("prefs");
+ return null;
+ };
+ AccessController.doPrivileged(load);
+ }
+
/**
* Sync interval in seconds.
*/
@@ -868,7 +877,7 @@
/**
* Returns the node name corresponding to the specified directory name.
- * (Inverts the transformation of dirName(String).
+ * (Inverts the transformation of dirName(String).
*/
private static String nodeName(String dirName) {
if (dirName.charAt(0) != '_')
diff --git a/jdk/src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java b/jdk/src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java
index 71cb7f3..a53242f 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/ListHelper.java b/jdk/src/solaris/classes/sun/awt/X11/ListHelper.java
index 2881501..0a83eaa 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/ListHelper.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/ListHelper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java b/jdk/src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java
index 8cbae2e..099b558 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/UnsafeXDisposerRecord.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java b/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java
index ebdc631..48fcae5 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XCanvasPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XCanvasPeer.java
index df868e5..c7725bf 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XCanvasPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XCanvasPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java
index 485dce9..75f2bef 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XCheckboxPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XCheckboxPeer.java
index 7108d8b..0f4b39f 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XCheckboxPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XCheckboxPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XChoicePeerListener.java b/jdk/src/solaris/classes/sun/awt/X11/XChoicePeerListener.java
index 775b1aa..f27e62d 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XChoicePeerListener.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XChoicePeerListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XClipboard.java b/jdk/src/solaris/classes/sun/awt/X11/XClipboard.java
index 6293bc5..e0f47f5 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XClipboard.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XClipboard.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XDataTransferer.java b/jdk/src/solaris/classes/sun/awt/X11/XDataTransferer.java
index 8e3a0b17..20ff1d5 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XDataTransferer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XDataTransferer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XDesktopPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XDesktopPeer.java
index 94ba752..547d979 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XDesktopPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XDesktopPeer.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XDropTargetContextPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XDropTargetContextPeer.java
index b53e6e9..4b5818a 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XDropTargetContextPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XDropTargetContextPeer.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java b/jdk/src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java
index 8d0b09c..2ba4cf2 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XDropTargetProtocol.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java
index f087b1a..b1dd272 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XEmbedChildProxyPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java b/jdk/src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java
index e0ec7e8..afbaaaa 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XEmbedClientHelper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java b/jdk/src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java
index be1ebfb..e9b365b 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XEmbeddedFramePeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java b/jdk/src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java
index 2d313c1..e23fb93 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XKeysym.java b/jdk/src/solaris/classes/sun/awt/X11/XKeysym.java
index 7d63625..b0b0d07 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XKeysym.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XKeysym.java
@@ -1,7 +1,7 @@
// This is a generated file: do not edit! Edit keysym2ucs.h if necessary.
/*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XMSelection.java b/jdk/src/solaris/classes/sun/awt/X11/XMSelection.java
index fbe396b..a74dad6 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XMSelection.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XMSelection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java
index fb07e4d..7aa9c3c 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XMenuPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XMenuPeer.java
index d88c0c9..067efa1 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XMenuPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XMenuPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XPanelPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XPanelPeer.java
index ede8b02..21cbcd4 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XPanelPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XPanelPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XProtocol.java b/jdk/src/solaris/classes/sun/awt/X11/XProtocol.java
index bf3de6e..e4cf2f3 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XProtocol.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XProtocol.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XRepaintArea.java b/jdk/src/solaris/classes/sun/awt/X11/XRepaintArea.java
index c4c4281..0b54aa8 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XRepaintArea.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XRepaintArea.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java
index a6acd8e..340c80b 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java b/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java
index f4956ed..c205974 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XScrollbar.java b/jdk/src/solaris/classes/sun/awt/X11/XScrollbar.java
index 197f101..49381c0 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XScrollbar.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XScrollbar.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java
index 2180f29..0475b31 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2006, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java
index eb1774c..51d86e5 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XSystemTrayPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XWINProtocol.java b/jdk/src/solaris/classes/sun/awt/X11/XWINProtocol.java
index f7e4ba1..8932d03 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XWINProtocol.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XWINProtocol.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java b/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java
index 02a7c4b..fb30079 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2009, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11/keysym2ucs.h b/jdk/src/solaris/classes/sun/awt/X11/keysym2ucs.h
index f816887..09de3be 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/keysym2ucs.h
+++ b/jdk/src/solaris/classes/sun/awt/X11/keysym2ucs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -39,7 +39,7 @@
*/
tojava /*
-tojava * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+tojava * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
tojava * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
tojava *
tojava * This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java b/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java
index b4c59f6..9055bf0 100644
--- a/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java
+++ b/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java b/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java
index cedf90a..a1f71b9 100644
--- a/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java
+++ b/jdk/src/solaris/classes/sun/awt/X11GraphicsDevice.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/solaris/classes/sun/awt/X11InputMethod.java b/jdk/src/solaris/classes/sun/awt/X11InputMethod.java
index 61e9869..29135e1 100644
--- a/jdk/src/solaris/classes/sun/awt/X11InputMethod.java
+++ b/jdk/src/solaris/classes/sun/awt/X11InputMethod.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/awt/motif/X11JIS0201.java b/jdk/src/solaris/classes/sun/awt/motif/X11JIS0201.java
index 29700b9..dbac41c 100644
--- a/jdk/src/solaris/classes/sun/awt/motif/X11JIS0201.java
+++ b/jdk/src/solaris/classes/sun/awt/motif/X11JIS0201.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/solaris/classes/sun/awt/motif/X11JIS0208.java b/jdk/src/solaris/classes/sun/awt/motif/X11JIS0208.java
index fa9b316..04ad2ed 100644
--- a/jdk/src/solaris/classes/sun/awt/motif/X11JIS0208.java
+++ b/jdk/src/solaris/classes/sun/awt/motif/X11JIS0208.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/solaris/classes/sun/awt/motif/X11JIS0212.java b/jdk/src/solaris/classes/sun/awt/motif/X11JIS0212.java
index f64ca86..019ea19 100644
--- a/jdk/src/solaris/classes/sun/awt/motif/X11JIS0212.java
+++ b/jdk/src/solaris/classes/sun/awt/motif/X11JIS0212.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/solaris/classes/sun/font/DelegateStrike.java b/jdk/src/solaris/classes/sun/font/DelegateStrike.java
index 1e9ba8c..4f2de5e 100644
--- a/jdk/src/solaris/classes/sun/font/DelegateStrike.java
+++ b/jdk/src/solaris/classes/sun/font/DelegateStrike.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/classes/sun/font/FontConfigManager.java b/jdk/src/solaris/classes/sun/font/FontConfigManager.java
index cac3d32..725ae4e 100644
--- a/jdk/src/solaris/classes/sun/font/FontConfigManager.java
+++ b/jdk/src/solaris/classes/sun/font/FontConfigManager.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/font/NativeStrike.java b/jdk/src/solaris/classes/sun/font/NativeStrike.java
index f325ddd..45bcf72 100644
--- a/jdk/src/solaris/classes/sun/font/NativeStrike.java
+++ b/jdk/src/solaris/classes/sun/font/NativeStrike.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/classes/sun/font/XMap.java b/jdk/src/solaris/classes/sun/font/XMap.java
index 5248f48..65642e8 100644
--- a/jdk/src/solaris/classes/sun/font/XMap.java
+++ b/jdk/src/solaris/classes/sun/font/XMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, 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
diff --git a/jdk/src/solaris/classes/sun/font/XRTextRenderer.java b/jdk/src/solaris/classes/sun/font/XRTextRenderer.java
index 243fa85..e4ee3cf 100644
--- a/jdk/src/solaris/classes/sun/font/XRTextRenderer.java
+++ b/jdk/src/solaris/classes/sun/font/XRTextRenderer.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/jules/JulesAATileGenerator.java b/jdk/src/solaris/classes/sun/java2d/jules/JulesAATileGenerator.java
index 80fb70a..47c91b4 100644
--- a/jdk/src/solaris/classes/sun/java2d/jules/JulesAATileGenerator.java
+++ b/jdk/src/solaris/classes/sun/java2d/jules/JulesAATileGenerator.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/jules/TileTrapContainer.java b/jdk/src/solaris/classes/sun/java2d/jules/TileTrapContainer.java
index 80dfbd4..fe9229d 100644
--- a/jdk/src/solaris/classes/sun/java2d/jules/TileTrapContainer.java
+++ b/jdk/src/solaris/classes/sun/java2d/jules/TileTrapContainer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
diff --git a/jdk/src/solaris/classes/sun/java2d/x11/X11Renderer.java b/jdk/src/solaris/classes/sun/java2d/x11/X11Renderer.java
index f335781..4222272 100644
--- a/jdk/src/solaris/classes/sun/java2d/x11/X11Renderer.java
+++ b/jdk/src/solaris/classes/sun/java2d/x11/X11Renderer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/GrowableRectArray.java b/jdk/src/solaris/classes/sun/java2d/xr/GrowableRectArray.java
index 7defecf..031fe59 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/GrowableRectArray.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/GrowableRectArray.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/MaskTile.java b/jdk/src/solaris/classes/sun/java2d/xr/MaskTile.java
index c3315fa..35deca4 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/MaskTile.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/MaskTile.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/MaskTileManager.java b/jdk/src/solaris/classes/sun/java2d/xr/MaskTileManager.java
index 728e868..947919f 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/MaskTileManager.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/MaskTileManager.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRBackend.java b/jdk/src/solaris/classes/sun/java2d/xr/XRBackend.java
index 479bcc7..71fc8f9 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRBackend.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRBackend.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRBackendNative.java b/jdk/src/solaris/classes/sun/java2d/xr/XRBackendNative.java
index f750eac..e7cac19 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRBackendNative.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRBackendNative.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRColor.java b/jdk/src/solaris/classes/sun/java2d/xr/XRColor.java
index 9732555..923bbb1 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRColor.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRColor.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java b/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java
index f9c0626..1b4ff65 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRCompositeManager.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRDrawImage.java b/jdk/src/solaris/classes/sun/java2d/xr/XRDrawImage.java
index c5ecef4..ea8edbb 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRDrawImage.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRDrawImage.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java b/jdk/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java
index 7fd6046..247faa8 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRMaskBlit.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRMaskImage.java b/jdk/src/solaris/classes/sun/java2d/xr/XRMaskImage.java
index cc06277..bf1c14b 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRMaskImage.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRMaskImage.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java b/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java
index bad9e83..5eb84ed 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRRenderer.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java b/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java
index c695315..296bf4b 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRSurfaceData.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/java2d/xr/XRUtils.java b/jdk/src/solaris/classes/sun/java2d/xr/XRUtils.java
index 0b0cecc..9c571e3 100644
--- a/jdk/src/solaris/classes/sun/java2d/xr/XRUtils.java
+++ b/jdk/src/solaris/classes/sun/java2d/xr/XRUtils.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/management/OperatingSystemImpl.java b/jdk/src/solaris/classes/sun/management/OperatingSystemImpl.java
index 5e2f8dc..b99c800 100644
--- a/jdk/src/solaris/classes/sun/management/OperatingSystemImpl.java
+++ b/jdk/src/solaris/classes/sun/management/OperatingSystemImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/solaris/classes/sun/net/PortConfig.java b/jdk/src/solaris/classes/sun/net/PortConfig.java
index 0f4ca74..1825b0b 100644
--- a/jdk/src/solaris/classes/sun/net/PortConfig.java
+++ b/jdk/src/solaris/classes/sun/net/PortConfig.java
@@ -55,6 +55,14 @@
} else if (os.contains("OS X")) {
defaultLower = 49152;
defaultUpper = 65535;
+ } else if (os.startsWith("AIX")) {
+ // The ephemeral port is OS version dependent on AIX:
+ // http://publib.boulder.ibm.com/infocenter/aix/v7r1/topic/com.ibm.aix.rsct315.admin/bl503_ephport.htm
+ // However, on AIX 5.3 / 6.1 / 7.1 we always see the
+ // settings below by using:
+ // /usr/sbin/no -a | fgrep ephemeral
+ defaultLower = 32768;
+ defaultUpper = 65535;
} else {
throw new InternalError(
"sun.net.PortConfig: unknown OS");
diff --git a/jdk/src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java b/jdk/src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java
index 6938331..3554d31 100644
--- a/jdk/src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java
+++ b/jdk/src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java b/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java
index ae86964..edd99ff 100644
--- a/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java
+++ b/jdk/src/solaris/classes/sun/net/www/protocol/jar/JarFileFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2006, 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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/DatagramDispatcher.java b/jdk/src/solaris/classes/sun/nio/ch/DatagramDispatcher.java
index 079529e..561dfba 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/DatagramDispatcher.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/DatagramDispatcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2009, 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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java b/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
index 6eeee2a..17c57ad 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/DevPollArrayWrapper.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java b/jdk/src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java
index b0d6a33..81ae3f6 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/EPoll.java b/jdk/src/solaris/classes/sun/nio/ch/EPoll.java
index f0a8d7e..bb2b9e5 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/EPoll.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/EPoll.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java b/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java
index f64feb2..e6a2b58 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/EPollArrayWrapper.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java b/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java
index 4238984..651457e 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java b/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java
index 49f67a8..d5f24e8 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/EPollSelectorImpl.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java b/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java
index d9383eb..5355f7f 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/EventPortWrapper.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java b/jdk/src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java
index 145824b..2c7504c 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/FileDispatcherImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/InheritedChannel.java b/jdk/src/solaris/classes/sun/nio/ch/InheritedChannel.java
index ac9b8c5..e7e4850 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/InheritedChannel.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/InheritedChannel.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/KQueue.java b/jdk/src/solaris/classes/sun/nio/ch/KQueue.java
index f8796c8..b98dacd 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/KQueue.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/KQueue.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/KQueuePort.java b/jdk/src/solaris/classes/sun/nio/ch/KQueuePort.java
index 5a10664..e9177e1 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/KQueuePort.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/KQueuePort.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/NativeThread.java b/jdk/src/solaris/classes/sun/nio/ch/NativeThread.java
index 6e1885e..18ccc2e 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/NativeThread.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/NativeThread.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/PollArrayWrapper.java b/jdk/src/solaris/classes/sun/nio/ch/PollArrayWrapper.java
index 50fd67c..80eb14d 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/PollArrayWrapper.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/PollArrayWrapper.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/SinkChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/SinkChannelImpl.java
index bdc6c68..8e43768 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/SinkChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/SinkChannelImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java b/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java
index 1ff2037..f5427d6 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/SourceChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/SourceChannelImpl.java
index 398b169..b1b4f9e 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/SourceChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/SourceChannelImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java
index 294dc01..871f194 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
index d7f11dc..428f05c 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java
index 84a9944..246d9de 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java
index 0a00bd4..db08f34 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java
index 8cfab70..2eb89b9 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpNet.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
index c32fb9e..ee9d7f8 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java b/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java
index 907f884..f455afe 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java b/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java
index 0a3f32e..11a40a0 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java b/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java
index 6073613..360a8d3 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java b/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java
index 54d8347..48f68dc 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java b/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java
index fec8d5e..d3960b2 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/LinuxUserDefinedFileAttributeView.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java b/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java
index 74c804d..6d72cd1 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java b/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
index d3a34ca..d5edf3f 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/SolarisUserDefinedFileAttributeView.java
@@ -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
@@ -149,7 +149,7 @@
int afd = openat(fd, nameAsBytes(file,name), (O_RDONLY|O_XATTR), 0);
// wrap with channel
- FileChannel fc = UnixChannelFactory.newFileChannel(afd, true, false);
+ FileChannel fc = UnixChannelFactory.newFileChannel(afd, file.toString(), true, false);
// read to EOF (nothing we can do if I/O error occurs)
try {
@@ -190,7 +190,7 @@
UnixFileModeAttribute.ALL_PERMISSIONS);
// wrap with channel
- FileChannel fc = UnixChannelFactory.newFileChannel(afd, false, true);
+ FileChannel fc = UnixChannelFactory.newFileChannel(afd, file.toString(), false, true);
// write value (nothing we can do if I/O error occurs)
try {
diff --git a/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java b/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java
index a56b012..e68ceab 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java b/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java
index ec44ee1..c6f074e 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java
@@ -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
@@ -100,10 +100,10 @@
/**
* Constructs a file channel from an existing (open) file descriptor
*/
- static FileChannel newFileChannel(int fd, boolean reading, boolean writing) {
+ static FileChannel newFileChannel(int fd, String path, boolean reading, boolean writing) {
FileDescriptor fdObj = new FileDescriptor();
fdAccess.set(fdObj, fd);
- return FileChannelImpl.open(fdObj, reading, writing, null);
+ return FileChannelImpl.open(fdObj, path, reading, writing, null);
}
/**
@@ -134,7 +134,7 @@
throw new IllegalArgumentException("APPEND + TRUNCATE_EXISTING not allowed");
FileDescriptor fdObj = open(dfd, path, pathForPermissionCheck, flags, mode);
- return FileChannelImpl.open(fdObj, flags.read, flags.write, flags.append, null);
+ return FileChannelImpl.open(fdObj, path.toString(), flags.read, flags.write, flags.append, null);
}
/**
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java b/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java
index 9c6e204..399259c 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixException.java b/jdk/src/solaris/classes/sun/nio/fs/UnixException.java
index 80174c7..9481a75 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixException.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixException.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java b/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java
index c650758..4d719d3 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java b/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java
index 47b61ac..419da5f 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java b/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java
index 38465fb..98fc9ab 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java b/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java
index c7111e9..c902ace 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java b/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java
index d14569e..182a57b 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixMountEntry.java b/jdk/src/solaris/classes/sun/nio/fs/UnixMountEntry.java
index af23322..8cc4a72 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixMountEntry.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixMountEntry.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java b/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java
index 043a7c0..7a676d1 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java b/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java
index f4a0642..fe430cc 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixUriUtils.java b/jdk/src/solaris/classes/sun/nio/fs/UnixUriUtils.java
index b0c5df5..4d6f302 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixUriUtils.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixUriUtils.java
@@ -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
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java b/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java
index 187bb23..6039339 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java b/jdk/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java
index 89981bf..5914704 100644
--- a/jdk/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java
+++ b/jdk/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014 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,100 +25,10 @@
package sun.util.locale.provider;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.text.spi.DateFormatProvider;
-import java.util.Locale;
-
/**
* LocaleProviderAdapter implementation for the Unix locale data
*
* @author Naoto Sato
*/
public class HostLocaleProviderAdapterImpl {
- static Locale[] supported = {Locale.getDefault(Locale.Category.FORMAT)};
-
- public static DateFormatProvider getDateFormatProvider() {
- return new DateFormatProvider() {
- String posixPattern;
-
- @Override
- public Locale[] getAvailableLocales() {
- // not implemented yet
- return new Locale[0];
- }
- @Override
- public DateFormat getDateInstance(int style, Locale locale) {
- posixPattern = getPattern(style, -1, locale.toLanguageTag());
- return new SimpleDateFormat(convertPosixToJava(posixPattern), locale);
- }
- @Override
- public DateFormat getTimeInstance(int style, Locale locale) {
- posixPattern = getPattern(-1, style, locale.toLanguageTag());
- return new SimpleDateFormat(convertPosixToJava(posixPattern), locale);
- }
- @Override
- public DateFormat getDateTimeInstance(int dateStyle,
- int timeStyle, Locale locale) {
- posixPattern = getPattern(dateStyle, timeStyle, locale.toLanguageTag());
- return new SimpleDateFormat(convertPosixToJava(posixPattern), locale);
- }
- };
- }
-
- private static String convertPosixToJava(String posixPattern) {
- StringBuilder sb = new StringBuilder();
- boolean conversion = false;
-
- for (int index = 0; index < posixPattern.length(); index++) {
- char c = posixPattern.charAt(index);
- if (conversion) {
- switch (c) {
- case 'a':
- sb.append("EEE");
- break;
- case 'b':
- sb.append("MMM");
- break;
- case 'e':
- sb.append("dd");
- break;
- case 'H':
- sb.append("kk");
- break;
- case 'M':
- sb.append("mm");
- break;
- case 'S':
- sb.append("ss");
- break;
- case 'Y':
- sb.append("yyyy");
- break;
- case 'm':
- sb.append("MM");
- break;
- case 'd':
- sb.append("dd");
- break;
- case 'r':
- sb.append("hh:mm:ss aa");
- break;
- case 'Z':
- sb.append("zzz");
- break;
- }
- conversion = false;
- } else {
- if (c == '%') {
- conversion = true;
- } else {
- sb.append(c);
- }
- }
- }
- return sb.toString();
- }
-
- private static native String getPattern(int dateStyle, int timeStyle, String langtag);
}
diff --git a/jdk/src/solaris/demo/jni/Poller/Poller.c b/jdk/src/solaris/demo/jni/Poller/Poller.c
index 84dc46d..6a51212 100644
--- a/jdk/src/solaris/demo/jni/Poller/Poller.c
+++ b/jdk/src/solaris/demo/jni/Poller/Poller.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/solaris/javavm/export/jni_md.h b/jdk/src/solaris/javavm/export/jni_md.h
index 0f3d1ed..80eedf3 100644
--- a/jdk/src/solaris/javavm/export/jni_md.h
+++ b/jdk/src/solaris/javavm/export/jni_md.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.c
index 5329a6a..62d8b2b 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.h b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.h
index eb489b6..c975ddc1 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.h
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_CommonUtils.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiIn.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiIn.c
index b1a2986..1ea2879 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiIn.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiIn.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiOut.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiOut.c
index 482d189..3d4a9c6 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiOut.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiOut.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.c
index 71c4814..c12bed9 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.h b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.h
index 03c718f..27661be 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.h
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_MidiUtils.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCM.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCM.c
index 54206cd..9046841 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCM.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCM.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.c
index ef5f98d..9abd53a 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.h b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.h
index 999ae7c..bbfd9fb 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.h
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_PCMUtils.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_Ports.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_Ports.c
index f89c143..0ecfac6 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_Ports.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_BsdOS_ALSA_Ports.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c
index 0c5784b..fdd5b94 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c
index 7a67bdf..1542ad0 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c
index 9f422d5..cb42892 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, 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
diff --git a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_Utils.h b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_Utils.h
index 227eb11..0754ed8 100644
--- a/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_Utils.h
+++ b/jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_Utils.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, 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
diff --git a/jdk/src/solaris/native/com/sun/security/auth/module/Solaris.c b/jdk/src/solaris/native/com/sun/security/auth/module/Solaris.c
index dd989f7..1d251a6 100644
--- a/jdk/src/solaris/native/com/sun/security/auth/module/Solaris.c
+++ b/jdk/src/solaris/native/com/sun/security/auth/module/Solaris.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/native/com/sun/security/auth/module/Unix.c b/jdk/src/solaris/native/com/sun/security/auth/module/Unix.c
index 188a389..e4db557 100644
--- a/jdk/src/solaris/native/com/sun/security/auth/module/Unix.c
+++ b/jdk/src/solaris/native/com/sun/security/auth/module/Unix.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/native/common/jni_util_md.c b/jdk/src/solaris/native/common/jni_util_md.c
index 42ab2de..90b8967 100644
--- a/jdk/src/solaris/native/common/jni_util_md.c
+++ b/jdk/src/solaris/native/common/jni_util_md.c
@@ -29,14 +29,6 @@
#include "jni_util.h"
#include "dlfcn.h"
-jstring nativeNewStringPlatform(JNIEnv *env, const char *str) {
- return NULL;
-}
-
-char* nativeGetStringPlatformChars(JNIEnv *env, jstring jstr, jboolean *isCopy) {
- return NULL;
-}
-
void* getProcessHandle() {
static void *procHandle = NULL;
if (procHandle != NULL) {
diff --git a/jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c b/jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c
index 54aa714..46ccc5d 100644
--- a/jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c
+++ b/jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c
@@ -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
diff --git a/jdk/src/solaris/native/java/lang/java_props_macosx.c b/jdk/src/solaris/native/java/lang/java_props_macosx.c
index cd427c4..7482d6c 100644
--- a/jdk/src/solaris/native/java/lang/java_props_macosx.c
+++ b/jdk/src/solaris/native/java/lang/java_props_macosx.c
@@ -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
diff --git a/jdk/src/solaris/native/java/lang/java_props_macosx.h b/jdk/src/solaris/native/java/lang/java_props_macosx.h
index df6fc45..e5af6ff 100644
--- a/jdk/src/solaris/native/java/lang/java_props_macosx.h
+++ b/jdk/src/solaris/native/java/lang/java_props_macosx.h
@@ -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
diff --git a/jdk/src/solaris/native/java/net/Inet4AddressImpl.c b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
index 9d79d3e..e07b2f5 100644
--- a/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
+++ b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
@@ -70,7 +70,7 @@
char hostname[NI_MAXHOST+1];
hostname[0] = '\0';
- if (JVM_GetHostName(hostname, NI_MAXHOST)) {
+ if (gethostname(hostname, NI_MAXHOST)) {
/* Something went wrong, maybe networking is not setup? */
strcpy(hostname, "localhost");
} else {
@@ -164,7 +164,7 @@
if (error) {
/* report error */
- ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
+ NET_ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
JNU_ReleaseStringPlatformChars(env, host, hostname);
return NULL;
} else {
@@ -332,7 +332,7 @@
char hostname[NI_MAXHOST+1];
hostname[0] = '\0';
- if (JVM_GetHostName(hostname, sizeof(hostname))) {
+ if (gethostname(hostname, NI_MAXHOST)) {
/* Something went wrong, maybe networking is not setup? */
strcpy(hostname, "localhost");
} else {
@@ -416,7 +416,7 @@
if (error) {
/* report error */
- ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
+ NET_ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
JNU_ReleaseStringPlatformChars(env, host, hostname);
return NULL;
} else {
@@ -729,7 +729,7 @@
* Let's try to create a RAW socket to send ICMP packets
* This usually requires "root" privileges, so it's likely to fail.
*/
- fd = JVM_Socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
+ fd = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
if (fd != -1) {
/*
* It didn't fail, so we can use ICMP_ECHO requests.
@@ -740,8 +740,8 @@
/*
* Can't create a raw socket, so let's try a TCP socket
*/
- fd = JVM_Socket(AF_INET, SOCK_STREAM, 0);
- if (fd == JVM_IO_ERR) {
+ fd = socket(AF_INET, SOCK_STREAM, 0);
+ if (fd == -1) {
/* note: if you run out of fds, you may not be able to load
* the exception class, and get a NoClassDefFoundError
* instead.
@@ -769,9 +769,8 @@
*/
SET_NONBLOCKING(fd);
- /* no need to use NET_Connect as non-blocking */
him.sin_port = htons(7); /* Echo */
- connect_rv = JVM_Connect(fd, (struct sockaddr *)&him, len);
+ connect_rv = NET_Connect(fd, (struct sockaddr *)&him, len);
/**
* connection established or refused immediately, either way it means
@@ -781,7 +780,7 @@
close(fd);
return JNI_TRUE;
} else {
- int optlen;
+ socklen_t optlen = (socklen_t)sizeof(connect_rv);
switch (errno) {
case ENETUNREACH: /* Network Unreachable */
@@ -811,9 +810,8 @@
timeout = NET_Wait(env, fd, NET_WAIT_CONNECT, timeout);
if (timeout >= 0) {
/* has connection been established? */
- optlen = sizeof(connect_rv);
- if (JVM_GetSockOpt(fd, SOL_SOCKET, SO_ERROR, (void*)&connect_rv,
- &optlen) <0) {
+ if (getsockopt(fd, SOL_SOCKET, SO_ERROR, (void*)&connect_rv,
+ &optlen) <0) {
connect_rv = errno;
}
if (connect_rv == 0 || connect_rv == ECONNREFUSED) {
diff --git a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
index 8de5a9b..7e348b6 100644
--- a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
+++ b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
@@ -66,27 +66,27 @@
*/
JNIEXPORT jstring JNICALL
Java_java_net_Inet6AddressImpl_getLocalHostName(JNIEnv *env, jobject this) {
+ int ret;
char hostname[NI_MAXHOST+1];
hostname[0] = '\0';
- if (JVM_GetHostName(hostname, sizeof(hostname))) {
+ ret = gethostname(hostname, NI_MAXHOST);
+ if (ret == -1) {
/* Something went wrong, maybe networking is not setup? */
strcpy(hostname, "localhost");
} else {
// ensure null-terminated
hostname[NI_MAXHOST] = '\0';
-#if defined(__linux__) || defined(_ALLBSD_SOURCE)
- /* On Linux/FreeBSD gethostname() says "host.domain.sun.com". On
- * Solaris gethostname() says "host", so extra work is needed.
- */
-#else
+ }
+
+#if defined(__solaris__) && defined(AF_INET6)
+ if (ret == 0) {
/* Solaris doesn't want to give us a fully qualified domain name.
* We do a reverse lookup to try and get one. This works
* if DNS occurs before NIS in /etc/resolv.conf, but fails
* if NIS comes first (it still gets only a partial name).
* We use thread-safe system calls.
*/
-#ifdef AF_INET6
struct addrinfo hints, *res;
int error;
@@ -111,9 +111,9 @@
freeaddrinfo(res);
}
-#endif /* AF_INET6 */
-#endif /* __linux__ || _ALLBSD_SOURCE */
}
+#endif
+
return (*env)->NewStringUTF(env, hostname);
}
@@ -140,7 +140,7 @@
* the name (if the name actually matches something in DNS etc.
*/
myhostname[0] = '\0';
- if (JVM_GetHostName(myhostname, NI_MAXHOST)) {
+ if (gethostname(myhostname, NI_MAXHOST) == -1) {
/* Something went wrong, maybe networking is not setup? */
return NULL;
}
@@ -305,7 +305,7 @@
if (error) {
/* report error */
- ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
+ NET_ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
JNU_ReleaseStringPlatformChars(env, host, hostname);
return NULL;
} else {
@@ -402,7 +402,7 @@
}
while (iterator != NULL) {
- int ret1;
+ jboolean ret1;
if (iterator->ai_family == AF_INET) {
jobject iaObj = (*env)->NewObject(env, ia4_class, ia4_ctrID);
if (IS_NULL(iaObj)) {
@@ -422,7 +422,7 @@
goto cleanupAndReturn;
}
ret1 = setInet6Address_ipaddress(env, iaObj, (char *)&(((struct sockaddr_in6*)iterator->ai_addr)->sin6_addr));
- if (!ret1) {
+ if (ret1 == JNI_FALSE) {
ret = NULL;
goto cleanupAndReturn;
}
@@ -711,15 +711,15 @@
* or the echo service has been disabled.
*/
- fd = JVM_Socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6);
+ fd = socket(AF_INET6, SOCK_RAW, IPPROTO_ICMPV6);
if (fd != -1) { /* Good to go, let's do a ping */
return ping6(env, fd, &him6, timeout, netif, ttl);
}
/* No good, let's fall back on TCP */
- fd = JVM_Socket(AF_INET6, SOCK_STREAM, 0);
- if (fd == JVM_IO_ERR) {
+ fd = socket(AF_INET6, SOCK_STREAM, 0);
+ if (fd == -1) {
/* note: if you run out of fds, you may not be able to load
* the exception class, and get a NoClassDefFoundError
* instead.
@@ -743,9 +743,8 @@
}
SET_NONBLOCKING(fd);
- /* no need to use NET_Connect as non-blocking */
him6.sin6_port = htons((short) 7); /* Echo port */
- connect_rv = JVM_Connect(fd, (struct sockaddr *)&him6, len);
+ connect_rv = NET_Connect(fd, (struct sockaddr *)&him6, len);
/**
* connection established or refused immediately, either way it means
@@ -755,7 +754,7 @@
close(fd);
return JNI_TRUE;
} else {
- int optlen;
+ socklen_t optlen = (socklen_t)sizeof(connect_rv);
switch (errno) {
case ENETUNREACH: /* Network Unreachable */
@@ -786,9 +785,8 @@
if (timeout >= 0) {
/* has connection been established */
- optlen = sizeof(connect_rv);
- if (JVM_GetSockOpt(fd, SOL_SOCKET, SO_ERROR, (void*)&connect_rv,
- &optlen) <0) {
+ if (getsockopt(fd, SOL_SOCKET, SO_ERROR, (void*)&connect_rv,
+ &optlen) <0) {
connect_rv = errno;
}
if (connect_rv == 0 || ECONNREFUSED) {
diff --git a/jdk/src/solaris/native/java/net/NetworkInterface.c b/jdk/src/solaris/native/java/net/NetworkInterface.c
index 380dff1..8ff3bb1 100644
--- a/jdk/src/solaris/native/java/net/NetworkInterface.c
+++ b/jdk/src/solaris/native/java/net/NetworkInterface.c
@@ -677,7 +677,7 @@
int scope=0;
iaObj = (*env)->NewObject(env, ia6_class, ia6_ctrID);
if (iaObj) {
- int ret = setInet6Address_ipaddress(env, iaObj, (char *)&(((struct sockaddr_in6*)addrP->addr)->sin6_addr));
+ jboolean ret = setInet6Address_ipaddress(env, iaObj, (char *)&(((struct sockaddr_in6*)addrP->addr)->sin6_addr));
if (ret == JNI_FALSE) {
return NULL;
}
@@ -1014,7 +1014,7 @@
static int openSocket(JNIEnv *env, int proto){
int sock;
- if ((sock = JVM_Socket(proto, SOCK_DGRAM, 0)) < 0) {
+ if ((sock = socket(proto, SOCK_DGRAM, 0)) < 0) {
/*
* If EPROTONOSUPPORT is returned it means we don't have
* support for this proto so don't throw an exception.
@@ -1040,9 +1040,9 @@
int sock;
struct ifreq if2;
- if ((sock = JVM_Socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+ if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
if (errno == EPROTONOSUPPORT){
- if ( (sock = JVM_Socket(AF_INET6, SOCK_DGRAM, 0)) < 0 ){
+ if ( (sock = socket(AF_INET6, SOCK_DGRAM, 0)) < 0 ){
NET_ThrowByNameWithLastError(env , JNU_JAVANETPKG "SocketException", "IPV6 Socket creation failed");
return -1;
}
@@ -1468,9 +1468,9 @@
int sock, alreadyV6 = 0;
struct lifreq if2;
- if ((sock = JVM_Socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+ if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
if (errno == EPROTONOSUPPORT){
- if ( (sock = JVM_Socket(AF_INET6, SOCK_DGRAM, 0)) < 0 ){
+ if ( (sock = socket(AF_INET6, SOCK_DGRAM, 0)) < 0 ){
NET_ThrowByNameWithLastError(env , JNU_JAVANETPKG "SocketException", "IPV6 Socket creation failed");
return -1;
}
@@ -1498,7 +1498,7 @@
strcpy(if2.lifr_name, ifname);
if (ioctl(sock, SIOCGLIFNETMASK, (char *)&if2) < 0) {
close(sock);
- if ( (sock = JVM_Socket(AF_INET6, SOCK_DGRAM, 0)) < 0 ){
+ if ( (sock = socket(AF_INET6, SOCK_DGRAM, 0)) < 0 ){
NET_ThrowByNameWithLastError(env , JNU_JAVANETPKG "SocketException", "IPV6 Socket creation failed");
return -1;
}
@@ -1854,9 +1854,9 @@
int sock;
struct ifreq if2;
- if ((sock = JVM_Socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+ if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
if (errno == EPROTONOSUPPORT){
- if ( (sock = JVM_Socket(AF_INET6, SOCK_DGRAM, 0)) < 0 ){
+ if ( (sock = socket(AF_INET6, SOCK_DGRAM, 0)) < 0 ){
NET_ThrowByNameWithLastError(env , JNU_JAVANETPKG "SocketException", "IPV6 Socket creation failed");
return -1;
}
diff --git a/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c b/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
index ac4a838..587ce71 100644
--- a/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
+++ b/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
@@ -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
@@ -186,6 +186,7 @@
int fd;
int len = 0;
SOCKADDR him;
+ socklen_t slen = sizeof(him);
if (IS_NULL(fdObj)) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
@@ -223,7 +224,7 @@
/* Now that we're a connected socket, let's extract the port number
* that the system chose for us and store it in the Socket object.
*/
- if (JVM_GetSockName(fd, (struct sockaddr *)&him, &len) == -1) {
+ if (getsockname(fd, (struct sockaddr *)&him, &slen) == -1) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error getting socket name");
return;
@@ -271,7 +272,7 @@
setDefaultScopeID(env, (struct sockaddr *)&rmtaddr);
- if (JVM_Connect(fd, (struct sockaddr *)&rmtaddr, len) == -1) {
+ if (NET_Connect(fd, (struct sockaddr *)&rmtaddr, len) == -1) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "ConnectException",
"Connect failed");
return;
@@ -293,7 +294,7 @@
#if defined(__linux__) || defined(_ALLBSD_SOURCE)
SOCKADDR addr;
- int len;
+ socklen_t len;
#endif
if (IS_NULL(fdObj)) {
@@ -315,11 +316,11 @@
him4->sin_family = AF_UNSPEC;
len = sizeof(struct sockaddr_in);
}
- JVM_Connect(fd, (struct sockaddr *)&addr, len);
+ NET_Connect(fd, (struct sockaddr *)&addr, len);
#ifdef __linux__
int localPort = 0;
- if (JVM_GetSockName(fd, (struct sockaddr *)&addr, &len) == -1)
+ if (getsockname(fd, (struct sockaddr *)&addr, &len) == -1)
return;
localPort = NET_GetPortFromSockaddr((struct sockaddr *)&addr);
@@ -339,7 +340,7 @@
#endif
#else
- JVM_Connect(fd, 0, 0);
+ NET_Connect(fd, 0, 0);
#endif
}
@@ -456,20 +457,11 @@
(struct sockaddr *)rmtaddrP, len);
if (ret < 0) {
- switch (ret) {
- case JVM_IO_ERR :
- if (errno == ECONNREFUSED) {
- JNU_ThrowByName(env, JNU_JAVANETPKG "PortUnreachableException",
+ if (errno == ECONNREFUSED) {
+ JNU_ThrowByName(env, JNU_JAVANETPKG "PortUnreachableException",
"ICMP Port Unreachable");
- } else {
- NET_ThrowByNameWithLastError(env, "java/io/IOException", "sendto failed");
- }
- break;
-
- case JVM_IO_INTR:
- JNU_ThrowByName(env, "java/io/InterruptedIOException",
- "operation interrupted");
- break;
+ } else {
+ NET_ThrowByNameWithLastError(env, "java/io/IOException", "sendto failed");
}
}
@@ -493,7 +485,7 @@
jint fd;
ssize_t n;
SOCKADDR remote_addr;
- int len;
+ socklen_t slen = SOCKADDR_LEN;
char buf[1];
jint family;
jobject iaObj;
@@ -514,25 +506,21 @@
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Peek timed out");
return ret;
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
if (errno == EBADF) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
+ } else if (errno == ENOMEM) {
+ JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
} else {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Peek failed");
}
return ret;
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
- return ret; /* WARNING: SHOULD WE REALLY RETURN -2??? */
}
}
- len = SOCKADDR_LEN;
- n = NET_RecvFrom(fd, buf, 1, MSG_PEEK,
- (struct sockaddr *)&remote_addr, &len);
+ n = NET_RecvFrom(fd, buf, 1, MSG_PEEK, (struct sockaddr *)&remote_addr, &slen);
- if (n == JVM_IO_ERR) {
+ if (n == -1) {
#ifdef __solaris__
if (errno == ECONNREFUSED) {
@@ -552,9 +540,6 @@
}
}
return 0;
- } else if (n == JVM_IO_INTR) {
- JNU_ThrowByName(env, "java/io/InterruptedIOException", 0);
- return 0;
}
iaObj = NET_SockaddrToInetAddress(env, (struct sockaddr *)&remote_addr, &port);
@@ -587,7 +572,7 @@
int n;
SOCKADDR remote_addr;
- int len;
+ socklen_t slen = SOCKADDR_LEN;
int port;
if (IS_NULL(fdObj)) {
@@ -616,20 +601,19 @@
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Receive timed out");
return -1;
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
+ if (errno == ENOMEM) {
+ JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
#ifdef __linux__
- if (errno == EBADF) {
+ } else if (errno == EBADF) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
} else {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Receive failed");
- }
#else
- JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
+ } else {
+ JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
#endif
- return -1;
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
+ }
return -1;
}
}
@@ -665,14 +649,13 @@
fullPacket = &(BUF[0]);
}
- len = SOCKADDR_LEN;
n = NET_RecvFrom(fd, fullPacket, packetBufferLen, MSG_PEEK,
- (struct sockaddr *)&remote_addr, &len);
+ (struct sockaddr *)&remote_addr, &slen);
/* truncate the data if the packet's length is too small */
if (n > packetBufferLen) {
n = packetBufferLen;
}
- if (n == JVM_IO_ERR) {
+ if (n == -1) {
#ifdef __solaris__
if (errno == ECONNREFUSED) {
@@ -693,11 +676,6 @@
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Receive failed");
}
}
- } else if (n == JVM_IO_INTR) {
- (*env)->SetIntField(env, packet, dp_offsetID, 0);
- (*env)->SetIntField(env, packet, dp_lengthID, 0);
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
} else {
/*
* success - fill in received address...
@@ -764,7 +742,7 @@
int n;
SOCKADDR remote_addr;
- int len;
+ socklen_t slen = SOCKADDR_LEN;
jboolean retry;
#ifdef __linux__
jboolean connected = JNI_FALSE;
@@ -834,19 +812,19 @@
if (ret == 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Receive timed out");
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
+ if (errno == ENOMEM) {
+ JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
#ifdef __linux__
- if (errno == EBADF) {
+ } else if (errno == EBADF) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
- } else {
- NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Receive failed");
- }
+ } else {
+ NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Receive failed");
#else
- JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
+ } else {
+ JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
#endif
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
+ }
}
if (mallocedPacket) {
@@ -857,14 +835,13 @@
}
}
- len = SOCKADDR_LEN;
n = NET_RecvFrom(fd, fullPacket, packetBufferLen, 0,
- (struct sockaddr *)&remote_addr, &len);
+ (struct sockaddr *)&remote_addr, &slen);
/* truncate the data if the packet's length is too small */
if (n > packetBufferLen) {
n = packetBufferLen;
}
- if (n == JVM_IO_ERR) {
+ if (n == -1) {
(*env)->SetIntField(env, packet, dp_offsetID, 0);
(*env)->SetIntField(env, packet, dp_lengthID, 0);
if (errno == ECONNREFUSED) {
@@ -877,11 +854,6 @@
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Receive failed");
}
}
- } else if (n == JVM_IO_INTR) {
- (*env)->SetIntField(env, packet, dp_offsetID, 0);
- (*env)->SetIntField(env, packet, dp_lengthID, 0);
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
} else {
int port;
jobject packetAddress;
@@ -950,7 +922,7 @@
return;
}
- if ((fd = JVM_Socket(domain, SOCK_DGRAM, 0)) == JVM_IO_ERR) {
+ if ((fd = socket(domain, SOCK_DGRAM, 0)) == -1) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error creating socket");
return;
@@ -971,14 +943,14 @@
#ifdef __APPLE__
arg = 65507;
- if (JVM_SetSockOpt(fd, SOL_SOCKET, SO_SNDBUF,
- (char *)&arg, sizeof(arg)) < 0) {
+ if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF,
+ (char *)&arg, sizeof(arg)) < 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
strerror(errno));
return;
}
- if (JVM_SetSockOpt(fd, SOL_SOCKET, SO_RCVBUF,
- (char *)&arg, sizeof(arg)) < 0) {
+ if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF,
+ (char *)&arg, sizeof(arg)) < 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
strerror(errno));
return;
@@ -1084,8 +1056,8 @@
}
}
- if (JVM_SetSockOpt(fd, IPPROTO_IP, IP_MULTICAST_IF,
- (const char*)&in, sizeof(in)) < 0) {
+ if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF,
+ (const char*)&in, sizeof(in)) < 0) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error setting socket option");
}
@@ -1108,8 +1080,8 @@
}
index = (*env)->GetIntField(env, value, ni_indexID);
- if (JVM_SetSockOpt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
- (const char*)&index, sizeof(index)) < 0) {
+ if (setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
+ (const char*)&index, sizeof(index)) < 0) {
if (errno == EINVAL && index > 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"IPV6_MULTICAST_IF failed (interface has IPv4 "
@@ -1133,8 +1105,8 @@
in.s_addr = htonl( getInetAddress_addr(env, value) );
- if (JVM_SetSockOpt(fd, IPPROTO_IP, IP_MULTICAST_IF,
- (const char*)&in, sizeof(in)) < 0) {
+ if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF,
+ (const char*)&in, sizeof(in)) < 0) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error setting socket option");
}
@@ -1482,10 +1454,10 @@
struct in_addr in;
struct in_addr *inP = ∈
- int len = sizeof(struct in_addr);
+ socklen_t len = sizeof(struct in_addr);
- if (JVM_GetSockOpt(fd, IPPROTO_IP, IP_MULTICAST_IF,
- (char *)inP, &len) < 0) {
+ if (getsockopt(fd, IPPROTO_IP, IP_MULTICAST_IF,
+ (char *)inP, &len) < 0) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error getting socket option");
return NULL;
@@ -1568,14 +1540,14 @@
static jmethodID ia_anyLocalAddressID;
int index;
- int len = sizeof(index);
+ socklen_t len = sizeof(index);
jobjectArray addrArray;
jobject addr;
jobject ni;
- if (JVM_GetSockOpt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
- (char*)&index, &len) < 0) {
+ if (getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
+ (char*)&index, &len) < 0) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error getting socket option");
return NULL;
@@ -1789,8 +1761,8 @@
*/
static void setTTL(JNIEnv *env, int fd, jint ttl) {
char ittl = (char)ttl;
- if (JVM_SetSockOpt(fd, IPPROTO_IP, IP_MULTICAST_TTL, (char*)&ittl,
- sizeof(ittl)) < 0) {
+ if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL, (char*)&ittl,
+ sizeof(ittl)) < 0) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error setting socket option");
}
@@ -1802,8 +1774,8 @@
#ifdef AF_INET6
static void setHopLimit(JNIEnv *env, int fd, jint ttl) {
int ittl = (int)ttl;
- if (JVM_SetSockOpt(fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS,
- (char*)&ittl, sizeof(ittl)) < 0) {
+ if (setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS,
+ (char*)&ittl, sizeof(ittl)) < 0) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error setting socket option");
}
@@ -1883,22 +1855,22 @@
#ifdef AF_INET6
if (ipv6_available()) {
int ttl = 0;
- int len = sizeof(ttl);
+ socklen_t len = sizeof(ttl);
- if (JVM_GetSockOpt(fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS,
- (char*)&ttl, &len) < 0) {
- NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
- "Error getting socket option");
- return -1;
- }
+ if (getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS,
+ (char*)&ttl, &len) < 0) {
+ NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
+ "Error getting socket option");
+ return -1;
+ }
return (jint)ttl;
} else
#endif /* AF_INET6 */
{
u_char ttl = 0;
- int len = sizeof(ttl);
- if (JVM_GetSockOpt(fd, IPPROTO_IP, IP_MULTICAST_TTL,
- (char*)&ttl, &len) < 0) {
+ socklen_t len = sizeof(ttl);
+ if (getsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL,
+ (char*)&ttl, &len) < 0) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error getting socket option");
return -1;
@@ -2050,10 +2022,10 @@
if (ipv6_available()) {
int index;
- int len = sizeof(index);
+ socklen_t len = sizeof(index);
- if (JVM_GetSockOpt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
- (char*)&index, &len) < 0) {
+ if (getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
+ (char*)&index, &len) < 0) {
NET_ThrowCurrent(env, "getsockopt IPV6_MULTICAST_IF failed");
return;
}
@@ -2089,8 +2061,8 @@
/*
* Join the multicast group.
*/
- if (JVM_SetSockOpt(fd, IPPROTO_IP, (join ? IP_ADD_MEMBERSHIP:IP_DROP_MEMBERSHIP),
- (char *) &mname, mname_len) < 0) {
+ if (setsockopt(fd, IPPROTO_IP, (join ? IP_ADD_MEMBERSHIP:IP_DROP_MEMBERSHIP),
+ (char *) &mname, mname_len) < 0) {
/*
* If IP_ADD_MEMBERSHIP returns ENOPROTOOPT on Linux and we've got
@@ -2159,18 +2131,18 @@
caddr[14] = ((address >> 8) & 0xff);
caddr[15] = (address & 0xff);
} else {
- getInet6Address_ipaddress(env, iaObj, caddr);
+ getInet6Address_ipaddress(env, iaObj, (char*)caddr);
}
memcpy((void *)&(mname6.ipv6mr_multiaddr), caddr, sizeof(struct in6_addr));
if (IS_NULL(niObj)) {
int index;
- int len = sizeof(index);
+ socklen_t len = sizeof(index);
- if (JVM_GetSockOpt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
- (char*)&index, &len) < 0) {
+ if (getsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_IF,
+ (char*)&index, &len) < 0) {
NET_ThrowCurrent(env, "getsockopt IPV6_MULTICAST_IF failed");
- return;
+ return;
}
#ifdef __linux__
@@ -2211,8 +2183,8 @@
#endif
/* Join the multicast group */
- if (JVM_SetSockOpt(fd, IPPROTO_IPV6, (join ? ADD_MEMBERSHIP : DRP_MEMBERSHIP),
- (char *) &mname6, sizeof (mname6)) < 0) {
+ if (setsockopt(fd, IPPROTO_IPV6, (join ? ADD_MEMBERSHIP : DRP_MEMBERSHIP),
+ (char *) &mname6, sizeof (mname6)) < 0) {
if (join) {
NET_ThrowCurrent(env, "setsockopt " S_ADD_MEMBERSHIP " failed");
diff --git a/jdk/src/solaris/native/java/net/PlainSocketImpl.c b/jdk/src/solaris/native/java/net/PlainSocketImpl.c
index ef64213..4cdeba0 100644
--- a/jdk/src/solaris/native/java/net/PlainSocketImpl.c
+++ b/jdk/src/solaris/native/java/net/PlainSocketImpl.c
@@ -27,7 +27,7 @@
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
-#if defined(__linux__) && !defined(USE_SELECT)
+#if defined(__linux__)
#include <sys/poll.h>
#endif
#include <netinet/tcp.h> /* Defines TCP_NODELAY, needed for 2.6 */
@@ -111,8 +111,8 @@
* Finally shutdown sv[0] (any reads to this fd will get
* EOF; any writes will get an error).
*/
- JVM_SocketShutdown(sv[0], 2);
- JVM_SocketClose(sv[1]);
+ shutdown(sv[0], 2);
+ close(sv[1]);
return sv[0];
}
@@ -205,7 +205,7 @@
return;
}
- if ((fd = JVM_Socket(domain, type, 0)) == JVM_IO_ERR) {
+ if ((fd = socket(domain, type, 0)) == -1) {
/* note: if you run out of fds, you may not be able to load
* the exception class, and get a NoClassDefFoundError
* instead.
@@ -235,8 +235,8 @@
if (ssObj != NULL) {
int arg = 1;
SET_NONBLOCKING(fd);
- if (JVM_SetSockOpt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&arg,
- sizeof(arg)) < 0) {
+ if (NET_SetSockOpt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&arg,
+ sizeof(arg)) < 0) {
NET_ThrowNew(env, errno, "cannot set SO_REUSEADDR");
close(fd);
return;
@@ -303,34 +303,19 @@
if (timeout <= 0) {
connect_rv = NET_Connect(fd, (struct sockaddr *)&him, len);
#ifdef __solaris__
- if (connect_rv == JVM_IO_ERR && errno == EINPROGRESS ) {
+ if (connect_rv == -1 && errno == EINPROGRESS ) {
/* This can happen if a blocking connect is interrupted by a signal.
* See 6343810.
*/
while (1) {
-#ifndef USE_SELECT
- {
- struct pollfd pfd;
- pfd.fd = fd;
- pfd.events = POLLOUT;
+ struct pollfd pfd;
+ pfd.fd = fd;
+ pfd.events = POLLOUT;
- connect_rv = NET_Poll(&pfd, 1, -1);
- }
-#else
- {
- fd_set wr, ex;
+ connect_rv = NET_Poll(&pfd, 1, -1);
- FD_ZERO(&wr);
- FD_SET(fd, &wr);
- FD_ZERO(&ex);
- FD_SET(fd, &ex);
-
- connect_rv = NET_Select(fd+1, 0, &wr, &ex, 0);
- }
-#endif
-
- if (connect_rv == JVM_IO_ERR) {
+ if (connect_rv == -1) {
if (errno == EINTR) {
continue;
} else {
@@ -338,18 +323,18 @@
}
}
if (connect_rv > 0) {
- int optlen;
+ socklen_t optlen;
/* has connection been established */
optlen = sizeof(connect_rv);
- if (JVM_GetSockOpt(fd, SOL_SOCKET, SO_ERROR,
- (void*)&connect_rv, &optlen) <0) {
+ if (getsockopt(fd, SOL_SOCKET, SO_ERROR,
+ (void*)&connect_rv, &optlen) <0) {
connect_rv = errno;
}
if (connect_rv != 0) {
/* restore errno */
errno = connect_rv;
- connect_rv = JVM_IO_ERR;
+ connect_rv = -1;
}
break;
}
@@ -369,7 +354,7 @@
/* connection not established immediately */
if (connect_rv != 0) {
- int optlen;
+ socklen_t optlen;
jlong prevTime = JVM_CurrentTimeMillis(env, 0);
if (errno != EINPROGRESS) {
@@ -381,38 +366,18 @@
/*
* Wait for the connection to be established or a
- * timeout occurs. poll/select needs to handle EINTR in
+ * timeout occurs. poll needs to handle EINTR in
* case lwp sig handler redirects any process signals to
* this thread.
*/
while (1) {
jlong newTime;
-#ifndef USE_SELECT
- {
- struct pollfd pfd;
- pfd.fd = fd;
- pfd.events = POLLOUT;
+ struct pollfd pfd;
+ pfd.fd = fd;
+ pfd.events = POLLOUT;
- errno = 0;
- connect_rv = NET_Poll(&pfd, 1, timeout);
- }
-#else
- {
- fd_set wr, ex;
- struct timeval t;
-
- t.tv_sec = timeout / 1000;
- t.tv_usec = (timeout % 1000) * 1000;
-
- FD_ZERO(&wr);
- FD_SET(fd, &wr);
- FD_ZERO(&ex);
- FD_SET(fd, &ex);
-
- errno = 0;
- connect_rv = NET_Select(fd+1, 0, &wr, &ex, &t);
- }
-#endif
+ errno = 0;
+ connect_rv = NET_Poll(&pfd, 1, timeout);
if (connect_rv >= 0) {
break;
@@ -446,14 +411,14 @@
* shutdown input & output.
*/
SET_BLOCKING(fd);
- JVM_SocketShutdown(fd, 2);
+ shutdown(fd, 2);
return;
}
/* has connection been established */
optlen = sizeof(connect_rv);
- if (JVM_GetSockOpt(fd, SOL_SOCKET, SO_ERROR, (void*)&connect_rv,
- &optlen) <0) {
+ if (getsockopt(fd, SOL_SOCKET, SO_ERROR, (void*)&connect_rv,
+ &optlen) <0) {
connect_rv = errno;
}
}
@@ -464,7 +429,7 @@
/* restore errno */
if (connect_rv != 0) {
errno = connect_rv;
- connect_rv = JVM_IO_ERR;
+ connect_rv = -1;
}
}
@@ -482,21 +447,20 @@
* instead of EADDRNOTAVAIL. We handle this here so that
* a more descriptive exception text is used.
*/
- if (connect_rv == JVM_IO_ERR && errno == EINVAL) {
+ if (connect_rv == -1 && errno == EINVAL) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Invalid argument or cannot assign requested address");
return;
}
#endif
- if (connect_rv == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
#if defined(EPROTO)
- } else if (errno == EPROTO) {
+ if (errno == EPROTO) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "ProtocolException",
"Protocol error");
+ return;
+ }
#endif
- } else if (errno == ECONNREFUSED) {
+ if (errno == ECONNREFUSED) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "ConnectException",
"Connection refused");
} else if (errno == ETIMEDOUT) {
@@ -532,8 +496,8 @@
/* Now that we're a connected socket, let's extract the port number
* that the system chose for us and store it in the Socket object.
*/
- len = SOCKADDR_LEN;
- if (JVM_GetSockName(fd, (struct sockaddr *)&him, &len) == -1) {
+ socklen_t slen = SOCKADDR_LEN;
+ if (getsockname(fd, (struct sockaddr *)&him, &slen) == -1) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error getting socket name");
} else {
@@ -594,10 +558,11 @@
/* initialize the local port */
if (localport == 0) {
+ socklen_t slen = sizeof(him);
/* Now that we're a connected socket, let's extract the port number
* that the system chose for us and store it in the Socket object.
*/
- if (JVM_GetSockName(fd, (struct sockaddr *)&him, &len) == -1) {
+ if (getsockname(fd, (struct sockaddr *)&him, &slen) == -1) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Error getting socket name");
return;
@@ -638,7 +603,7 @@
if (count == 0x7fffffff)
count -= 1;
- if (JVM_Listen(fd, count) == JVM_IO_ERR) {
+ if (listen(fd, count) == -1) {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"Listen failed");
}
@@ -671,9 +636,7 @@
jint newfd;
SOCKADDR him;
- int len;
-
- len = SOCKADDR_LEN;
+ socklen_t slen = SOCKADDR_LEN;
if (IS_NULL(fdObj)) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
@@ -711,25 +674,22 @@
} else {
ret = NET_Timeout(fd, timeout);
}
-
if (ret == 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Accept timed out");
return;
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
if (errno == EBADF) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
+ } else if (errno == ENOMEM) {
+ JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
} else {
NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException", "Accept failed");
}
return;
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
- return;
}
- newfd = NET_Accept(fd, (struct sockaddr *)&him, (jint*)&len);
+ newfd = NET_Accept(fd, (struct sockaddr *)&him, &slen);
/* connection accepted */
if (newfd >= 0) {
@@ -816,8 +776,8 @@
} else {
fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
}
- /* JVM_SocketAvailable returns 0 for failure, 1 for success */
- if (!JVM_SocketAvailable(fd, &ret)){
+ /* NET_SocketAvailable returns 0 for failure, 1 for success */
+ if (NET_SocketAvailable(fd, &ret) == 0){
if (errno == ECONNRESET) {
JNU_ThrowByName(env, "sun/net/ConnectionResetException", "");
} else {
@@ -881,7 +841,7 @@
} else {
fd = (*env)->GetIntField(env, fdObj, IO_fd_fdID);
}
- JVM_SocketShutdown(fd, howto);
+ shutdown(fd, howto);
}
@@ -1101,13 +1061,8 @@
}
}
- n = JVM_Send(fd, (char *)&d, 1, MSG_OOB);
- if (n == JVM_IO_ERR) {
+ n = NET_Send(fd, (char *)&d, 1, MSG_OOB);
+ if (n == -1) {
NET_ThrowByNameWithLastError(env, "java/io/IOException", "Write failed");
- return;
- }
- if (n == JVM_IO_INTR) {
- JNU_ThrowByName(env, "java/io/InterruptedIOException", 0);
- return;
}
}
diff --git a/jdk/src/solaris/native/java/net/SocketInputStream.c b/jdk/src/solaris/native/java/net/SocketInputStream.c
index ccee03c..9857d18 100644
--- a/jdk/src/solaris/native/java/net/SocketInputStream.c
+++ b/jdk/src/solaris/native/java/net/SocketInputStream.c
@@ -105,16 +105,15 @@
if (nread == 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Read timed out");
- } else if (nread == JVM_IO_ERR) {
+ } else if (nread == -1) {
if (errno == EBADF) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "Socket closed");
- } else {
- NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
+ } else if (errno == ENOMEM) {
+ JNU_ThrowOutOfMemoryError(env, "NET_Timeout native heap allocation failed");
+ } else {
+ NET_ThrowByNameWithLastError(env, JNU_JAVANETPKG "SocketException",
"select/poll failed");
- }
- } else if (nread == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "Operation interrupted");
+ }
}
if (bufP != BUF) {
free(bufP);
diff --git a/jdk/src/solaris/native/java/net/SocketOutputStream.c b/jdk/src/solaris/native/java/net/SocketOutputStream.c
index d6e01ff..52f06e9 100644
--- a/jdk/src/solaris/native/java/net/SocketOutputStream.c
+++ b/jdk/src/solaris/native/java/net/SocketOutputStream.c
@@ -110,16 +110,12 @@
loff += n;
continue;
}
- if (n == JVM_IO_INTR) {
- JNU_ThrowByName(env, "java/io/InterruptedIOException", 0);
+ if (errno == ECONNRESET) {
+ JNU_ThrowByName(env, "sun/net/ConnectionResetException",
+ "Connection reset");
} else {
- if (errno == ECONNRESET) {
- JNU_ThrowByName(env, "sun/net/ConnectionResetException",
- "Connection reset");
- } else {
- NET_ThrowByNameWithLastError(env, "java/net/SocketException",
- "Write failed");
- }
+ NET_ThrowByNameWithLastError(env, "java/net/SocketException",
+ "Write failed");
}
if (bufP != BUF) {
free(bufP);
diff --git a/jdk/src/solaris/native/java/net/bsd_close.c b/jdk/src/solaris/native/java/net/bsd_close.c
index f314357..21478ce 100644
--- a/jdk/src/solaris/native/java/net/bsd_close.c
+++ b/jdk/src/solaris/native/java/net/bsd_close.c
@@ -25,6 +25,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <sys/param.h>
#include <signal.h>
#include <pthread.h>
#include <sys/types.h>
@@ -35,7 +36,6 @@
#include <sys/uio.h>
#include <unistd.h>
#include <errno.h>
-
#include <sys/poll.h>
/*
@@ -297,9 +297,8 @@
}
int NET_RecvFrom(int s, void *buf, int len, unsigned int flags,
- struct sockaddr *from, int *fromlen) {
- /* casting int *fromlen -> socklen_t* Both are ints */
- BLOCKING_IO_RETURN_INT( s, recvfrom(s, buf, len, flags, from, (socklen_t *)fromlen) );
+ struct sockaddr *from, socklen_t *fromlen) {
+ BLOCKING_IO_RETURN_INT( s, recvfrom(s, buf, len, flags, from, fromlen) );
}
int NET_Send(int s, void *msg, int len, unsigned int flags) {
@@ -315,29 +314,17 @@
BLOCKING_IO_RETURN_INT( s, sendto(s, msg, len, flags, to, tolen) );
}
-int NET_Accept(int s, struct sockaddr *addr, int *addrlen) {
- socklen_t len = *addrlen;
- int error = accept(s, addr, &len);
- if (error != -1)
- *addrlen = (int)len;
- BLOCKING_IO_RETURN_INT( s, error );
+int NET_Accept(int s, struct sockaddr *addr, socklen_t *addrlen) {
+ BLOCKING_IO_RETURN_INT( s, accept(s, addr, addrlen) );
}
int NET_Connect(int s, struct sockaddr *addr, int addrlen) {
BLOCKING_IO_RETURN_INT( s, connect(s, addr, addrlen) );
}
-#ifndef USE_SELECT
int NET_Poll(struct pollfd *ufds, unsigned int nfds, int timeout) {
BLOCKING_IO_RETURN_INT( ufds[0].fd, poll(ufds, nfds, timeout) );
}
-#else
-int NET_Select(int s, fd_set *readfds, fd_set *writefds,
- fd_set *exceptfds, struct timeval *timeout) {
- BLOCKING_IO_RETURN_INT( s-1,
- select(s, readfds, writefds, exceptfds, timeout) );
-}
-#endif
/*
* Wrapper for select(s, timeout). We are using select() on Mac OS due to Bug 7131399.
@@ -347,6 +334,10 @@
int NET_Timeout(int s, long timeout) {
long prevtime = 0, newtime;
struct timeval t, *tp = &t;
+ fd_set fds;
+ fd_set* fdsp = NULL;
+ int allocated = 0;
+ threadEntry_t self;
fdEntry_t *fdEntry = getFdEntry(s);
/*
@@ -376,20 +367,29 @@
t.tv_usec = 0;
}
+ if (s < FD_SETSIZE) {
+ fdsp = &fds;
+ FD_ZERO(fdsp);
+ } else {
+ int length = (howmany(s+1, NFDBITS)) * sizeof(int);
+ fdsp = (fd_set *) calloc(1, length);
+ if (fdsp == NULL) {
+ return -1; // errno will be set to ENOMEM
+ }
+ allocated = 1;
+ }
+ FD_SET(s, fdsp);
+
for(;;) {
- fd_set rfds;
int rv;
- threadEntry_t self;
/*
* call select on the fd. If interrupted by our wakeup signal
* errno will be set to EBADF.
*/
- FD_ZERO(&rfds);
- FD_SET(s, &rfds);
startOp(fdEntry, &self);
- rv = select(s+1, &rfds, 0, 0, tp);
+ rv = select(s+1, fdsp, 0, 0, tp);
endOp(fdEntry, &self);
/*
@@ -403,6 +403,8 @@
newtime = now.tv_sec * 1000 + now.tv_usec / 1000;
timeout -= newtime - prevtime;
if (timeout <= 0) {
+ if (allocated != 0)
+ free(fdsp);
return 0;
}
prevtime = newtime;
@@ -410,6 +412,8 @@
t.tv_usec = (timeout % 1000) * 1000;
}
} else {
+ if (allocated != 0)
+ free(fdsp);
return rv;
}
diff --git a/jdk/src/solaris/native/java/net/linux_close.c b/jdk/src/solaris/native/java/net/linux_close.c
index 51f9cb2..f2e186f 100644
--- a/jdk/src/solaris/native/java/net/linux_close.c
+++ b/jdk/src/solaris/native/java/net/linux_close.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
@@ -34,7 +34,6 @@
#include <sys/uio.h>
#include <unistd.h>
#include <errno.h>
-
#include <sys/poll.h>
/*
@@ -279,10 +278,8 @@
}
int NET_RecvFrom(int s, void *buf, int len, unsigned int flags,
- struct sockaddr *from, int *fromlen) {
- socklen_t socklen = *fromlen;
- BLOCKING_IO_RETURN_INT( s, recvfrom(s, buf, len, flags, from, &socklen) );
- *fromlen = socklen;
+ struct sockaddr *from, socklen_t *fromlen) {
+ BLOCKING_IO_RETURN_INT( s, recvfrom(s, buf, len, flags, from, fromlen) );
}
int NET_Send(int s, void *msg, int len, unsigned int flags) {
@@ -298,27 +295,17 @@
BLOCKING_IO_RETURN_INT( s, sendto(s, msg, len, flags, to, tolen) );
}
-int NET_Accept(int s, struct sockaddr *addr, int *addrlen) {
- socklen_t socklen = *addrlen;
- BLOCKING_IO_RETURN_INT( s, accept(s, addr, &socklen) );
- *addrlen = socklen;
+int NET_Accept(int s, struct sockaddr *addr, socklen_t *addrlen) {
+ BLOCKING_IO_RETURN_INT( s, accept(s, addr, addrlen) );
}
int NET_Connect(int s, struct sockaddr *addr, int addrlen) {
BLOCKING_IO_RETURN_INT( s, connect(s, addr, addrlen) );
}
-#ifndef USE_SELECT
int NET_Poll(struct pollfd *ufds, unsigned int nfds, int timeout) {
BLOCKING_IO_RETURN_INT( ufds[0].fd, poll(ufds, nfds, timeout) );
}
-#else
-int NET_Select(int s, fd_set *readfds, fd_set *writefds,
- fd_set *exceptfds, struct timeval *timeout) {
- BLOCKING_IO_RETURN_INT( s-1,
- select(s, readfds, writefds, exceptfds, timeout) );
-}
-#endif
/*
* Wrapper for poll(s, timeout).
diff --git a/jdk/src/solaris/native/java/net/net_util_md.c b/jdk/src/solaris/native/java/net/net_util_md.c
index 209af3f..e463d46 100644
--- a/jdk/src/solaris/native/java/net/net_util_md.c
+++ b/jdk/src/solaris/native/java/net/net_util_md.c
@@ -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
@@ -40,18 +40,21 @@
#include <limits.h>
#include <sys/param.h>
#include <sys/sysctl.h>
+#include <sys/ioctl.h>
#ifndef MAXINT
#define MAXINT INT_MAX
#endif
#endif
#ifdef __solaris__
+#include <sys/filio.h>
#include <sys/sockio.h>
#include <stropts.h>
#include <inet/nd.h>
#endif
#ifdef __linux__
+#include <sys/ioctl.h>
#include <arpa/inet.h>
#include <net/route.h>
#include <sys/utsname.h>
@@ -62,19 +65,16 @@
#endif
+#ifdef _AIX
+#include <sys/ioctl.h>
+#endif
+
#include "jni_util.h"
#include "jvm.h"
#include "net_util.h"
#include "java_net_SocketOptions.h"
-/* needed from libsocket on Solaris 8 */
-
-getaddrinfo_f getaddrinfo_ptr = NULL;
-freeaddrinfo_f freeaddrinfo_ptr = NULL;
-gai_strerror_f gai_strerror_ptr = NULL;
-getnameinfo_f getnameinfo_ptr = NULL;
-
/*
* EXCLBIND socket options only on Solaris
*/
@@ -110,6 +110,7 @@
}
int getDefaultScopeID(JNIEnv *env) {
+ int defaultIndex = 0;
static jclass ni_class = NULL;
static jfieldID ni_defaultIndexID;
if (ni_class == NULL) {
@@ -121,12 +122,25 @@
"defaultIndex", "I");
ni_class = c;
}
- int defaultIndex = 0;
defaultIndex = (*env)->GetStaticIntField(env, ni_class,
ni_defaultIndexID);
return defaultIndex;
}
+#define RESTARTABLE(_cmd, _result) do { \
+ do { \
+ _result = _cmd; \
+ } while((_result == -1) && (errno == EINTR)); \
+} while(0)
+
+int NET_SocketAvailable(int s, jint *pbytes) {
+ int result;
+ RESTARTABLE(ioctl(s, FIONREAD, pbytes), result);
+ // note: ioctl can return 0 when successful, NET_SocketAvailable
+ // is expected to return 0 on failure and 1 on success.
+ return (result == -1) ? 0 : 1;
+}
+
#ifdef __solaris__
static int init_tcp_max_buf, init_udp_max_buf;
static int tcp_max_buf;
@@ -322,7 +336,7 @@
SOCKADDR sa;
socklen_t sa_len = sizeof(sa);
- fd = JVM_Socket(AF_INET6, SOCK_STREAM, 0) ;
+ fd = socket(AF_INET6, SOCK_STREAM, 0) ;
if (fd < 0) {
/*
* TODO: We really cant tell since it may be an unrelated error
@@ -425,15 +439,14 @@
}
#endif /* DONT_ENABLE_IPV6 */
-void ThrowUnknownHostExceptionWithGaiError(JNIEnv *env,
- const char* hostname,
- int gai_error)
+void NET_ThrowUnknownHostExceptionWithGaiError(JNIEnv *env,
+ const char* hostname,
+ int gai_error)
{
int size;
char *buf;
const char *format = "%s: %s";
- const char *error_string =
- (gai_strerror_ptr == NULL) ? NULL : (*gai_strerror_ptr)(gai_error);
+ const char *error_string = gai_strerror(gai_error);
if (error_string == NULL)
error_string = "unknown error";
@@ -1207,6 +1220,7 @@
int *len)
{
int rv;
+ socklen_t socklen = *len;
#ifdef AF_INET6
if ((level == IPPROTO_IP) && (opt == IP_TOS)) {
@@ -1223,15 +1237,8 @@
}
#endif
-#ifdef __solaris__
- rv = getsockopt(fd, level, opt, result, len);
-#else
- {
- socklen_t socklen = *len;
- rv = getsockopt(fd, level, opt, result, &socklen);
- *len = socklen;
- }
-#endif
+ rv = getsockopt(fd, level, opt, result, &socklen);
+ *len = socklen;
if (rv < 0) {
return rv;
@@ -1342,7 +1349,8 @@
#ifdef __solaris__
if (level == SOL_SOCKET) {
if (opt == SO_SNDBUF || opt == SO_RCVBUF) {
- int sotype=0, arglen;
+ int sotype=0;
+ socklen_t arglen;
int *bufsize, maxbuf;
int ret;
@@ -1546,7 +1554,8 @@
* corresponding IPv4 port is in use.
*/
if (ipv6_available()) {
- int arg, len;
+ int arg;
+ socklen_t len;
len = sizeof(arg);
if (useExclBind || getsockopt(fd, SOL_SOCKET, SO_REUSEADDR,
@@ -1597,7 +1606,7 @@
}
/**
- * Wrapper for select/poll with timeout on a single file descriptor.
+ * Wrapper for poll with timeout on a single file descriptor.
*
* flags (defined in net_util_md.h can be any combination of
* NET_WAIT_READ, NET_WAIT_WRITE & NET_WAIT_CONNECT.
@@ -1616,47 +1625,18 @@
while (1) {
jlong newTime;
-#ifndef USE_SELECT
- {
- struct pollfd pfd;
- pfd.fd = fd;
- pfd.events = 0;
- if (flags & NET_WAIT_READ)
- pfd.events |= POLLIN;
- if (flags & NET_WAIT_WRITE)
- pfd.events |= POLLOUT;
- if (flags & NET_WAIT_CONNECT)
- pfd.events |= POLLOUT;
+ struct pollfd pfd;
+ pfd.fd = fd;
+ pfd.events = 0;
+ if (flags & NET_WAIT_READ)
+ pfd.events |= POLLIN;
+ if (flags & NET_WAIT_WRITE)
+ pfd.events |= POLLOUT;
+ if (flags & NET_WAIT_CONNECT)
+ pfd.events |= POLLOUT;
- errno = 0;
- read_rv = NET_Poll(&pfd, 1, timeout);
- }
-#else
- {
- fd_set rd, wr, ex;
- struct timeval t;
-
- t.tv_sec = timeout / 1000;
- t.tv_usec = (timeout % 1000) * 1000;
-
- FD_ZERO(&rd);
- FD_ZERO(&wr);
- FD_ZERO(&ex);
- if (flags & NET_WAIT_READ) {
- FD_SET(fd, &rd);
- }
- if (flags & NET_WAIT_WRITE) {
- FD_SET(fd, &wr);
- }
- if (flags & NET_WAIT_CONNECT) {
- FD_SET(fd, &wr);
- FD_SET(fd, &ex);
- }
-
- errno = 0;
- read_rv = NET_Select(fd+1, &rd, &wr, &ex, &t);
- }
-#endif
+ errno = 0;
+ read_rv = NET_Poll(&pfd, 1, timeout);
newTime = JVM_CurrentTimeMillis(env, 0);
timeout -= (newTime - prevTime);
diff --git a/jdk/src/solaris/native/java/net/net_util_md.h b/jdk/src/solaris/native/java/net/net_util_md.h
index c602753..e7150da 100644
--- a/jdk/src/solaris/native/java/net/net_util_md.h
+++ b/jdk/src/solaris/native/java/net/net_util_md.h
@@ -32,94 +32,35 @@
#include <netinet/in.h>
#include <unistd.h>
-#ifndef USE_SELECT
#include <sys/poll.h>
-#endif
+int NET_Timeout(int s, long timeout);
+int NET_Read(int s, void* buf, size_t len);
+int NET_RecvFrom(int s, void *buf, int len, unsigned int flags,
+ struct sockaddr *from, socklen_t *fromlen);
+int NET_ReadV(int s, const struct iovec * vector, int count);
+int NET_Send(int s, void *msg, int len, unsigned int flags);
+int NET_SendTo(int s, const void *msg, int len, unsigned int
+ flags, const struct sockaddr *to, int tolen);
+int NET_Writev(int s, const struct iovec * vector, int count);
+int NET_Connect(int s, struct sockaddr *addr, int addrlen);
+int NET_Accept(int s, struct sockaddr *addr, socklen_t *addrlen);
+int NET_SocketClose(int s);
+int NET_Dup2(int oldfd, int newfd);
+int NET_Poll(struct pollfd *ufds, unsigned int nfds, int timeout);
+int NET_SocketAvailable(int s, jint *pbytes);
-/*
- AIX needs a workaround for I/O cancellation, see:
- http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.basetechref/doc/basetrf1/close.htm
- ...
- The close subroutine is blocked until all subroutines which use the file
- descriptor return to usr space. For example, when a thread is calling close
- and another thread is calling select with the same file descriptor, the
- close subroutine does not return until the select call returns.
- ...
-*/
-#if defined(__linux__) || defined(MACOSX) || defined (_AIX)
-extern int NET_Timeout(int s, long timeout);
-extern int NET_Read(int s, void* buf, size_t len);
-extern int NET_RecvFrom(int s, void *buf, int len, unsigned int flags,
- struct sockaddr *from, int *fromlen);
-extern int NET_ReadV(int s, const struct iovec * vector, int count);
-extern int NET_Send(int s, void *msg, int len, unsigned int flags);
-extern int NET_SendTo(int s, const void *msg, int len, unsigned int
- flags, const struct sockaddr *to, int tolen);
-extern int NET_Writev(int s, const struct iovec * vector, int count);
-extern int NET_Connect(int s, struct sockaddr *addr, int addrlen);
-extern int NET_Accept(int s, struct sockaddr *addr, int *addrlen);
-extern int NET_SocketClose(int s);
-extern int NET_Dup2(int oldfd, int newfd);
+void NET_ThrowUnknownHostExceptionWithGaiError(JNIEnv *env,
+ const char* hostname,
+ int gai_error);
+void NET_ThrowByNameWithLastError(JNIEnv *env, const char *name,
+ const char *defaultDetail);
-#ifdef USE_SELECT
-extern int NET_Select(int s, fd_set *readfds, fd_set *writefds,
- fd_set *exceptfds, struct timeval *timeout);
-#else
-extern int NET_Poll(struct pollfd *ufds, unsigned int nfds, int timeout);
-#endif
+#define NET_WAIT_READ 0x01
+#define NET_WAIT_WRITE 0x02
+#define NET_WAIT_CONNECT 0x04
-#else
-
-#define NET_Timeout JVM_Timeout
-#define NET_Read JVM_Read
-#define NET_RecvFrom JVM_RecvFrom
-#define NET_ReadV readv
-#define NET_Send JVM_Send
-#define NET_SendTo JVM_SendTo
-#define NET_WriteV writev
-#define NET_Connect JVM_Connect
-#define NET_Accept JVM_Accept
-#define NET_SocketClose JVM_SocketClose
-#define NET_Dup2 dup2
-#define NET_Select select
-#define NET_Poll poll
-
-#endif
-
-#if defined(__linux__) && defined(AF_INET6)
-int getDefaultIPv6Interface(struct in6_addr *target_addr);
-#endif
-
-#ifdef __solaris__
-extern int net_getParam(char *driver, char *param);
-#endif
-
-/* needed from libsocket on Solaris 8 */
-
-typedef int (*getaddrinfo_f)(const char *nodename, const char *servname,
- const struct addrinfo *hints, struct addrinfo **res);
-
-typedef void (*freeaddrinfo_f)(struct addrinfo *);
-
-typedef const char * (*gai_strerror_f)(int ecode);
-
-typedef int (*getnameinfo_f)(const struct sockaddr *, size_t,
- char *, size_t, char *, size_t, int);
-
-extern getaddrinfo_f getaddrinfo_ptr;
-extern freeaddrinfo_f freeaddrinfo_ptr;
-extern getnameinfo_f getnameinfo_ptr;
-
-void ThrowUnknownHostExceptionWithGaiError(JNIEnv *env,
- const char* hostname,
- int gai_error);
-
-#define NET_WAIT_READ 0x01
-#define NET_WAIT_WRITE 0x02
-#define NET_WAIT_CONNECT 0x04
-
-extern jint NET_Wait(JNIEnv *env, jint fd, jint flags, jint timeout);
+jint NET_Wait(JNIEnv *env, jint fd, jint flags, jint timeout);
/************************************************************************
* Macros and constants
@@ -156,12 +97,16 @@
/************************************************************************
* Utilities
*/
+
#ifdef __linux__
-extern int kernelIsV24();
+int kernelIsV24();
+#ifdef AF_INET6
+int getDefaultIPv6Interface(struct in6_addr *target_addr);
+#endif
#endif
-void NET_ThrowByNameWithLastError(JNIEnv *env, const char *name,
- const char *defaultDetail);
-
+#ifdef __solaris__
+int net_getParam(char *driver, char *param);
+#endif
#endif /* NET_UTILS_MD_H */
diff --git a/jdk/src/solaris/native/java/net/solaris_close.c b/jdk/src/solaris/native/java/net/solaris_close.c
new file mode 100644
index 0000000..0cf7b5c
--- /dev/null
+++ b/jdk/src/solaris/native/java/net/solaris_close.c
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2014, 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.
+ */
+
+#include <errno.h>
+#include <sys/socket.h>
+#include <stropts.h>
+#include <unistd.h>
+
+/* Support for restartable system calls on Solaris. */
+
+#define RESTARTABLE_RETURN_INT(_cmd) do { \
+ int _result; \
+ if (1) { \
+ do { \
+ _result = _cmd; \
+ } while((_result == -1) && (errno == EINTR)); \
+ return _result; \
+ } \
+} while(0)
+
+int NET_Read(int s, void* buf, size_t len) {
+ RESTARTABLE_RETURN_INT(recv(s, buf, len, 0));
+}
+
+int NET_RecvFrom(int s, void *buf, int len, unsigned int flags,
+ struct sockaddr *from, socklen_t *fromlen) {
+ RESTARTABLE_RETURN_INT(recvfrom(s, buf, len, flags, from, fromlen));
+}
+
+int NET_ReadV(int s, const struct iovec * vector, int count) {
+ RESTARTABLE_RETURN_INT(readv(s, vector, count));
+}
+
+int NET_WriteV(int s, const struct iovec * vector, int count) {
+ RESTARTABLE_RETURN_INT(writev(s, vector, count));
+}
+
+int NET_Send(int s, void *msg, int len, unsigned int flags) {
+ RESTARTABLE_RETURN_INT(send(s, msg, len, flags));
+}
+
+int NET_SendTo(int s, const void *msg, int len, unsigned int flags,
+ const struct sockaddr *to, int tolen) {
+ RESTARTABLE_RETURN_INT(sendto(s, msg, len, flags, to, tolen));
+}
+
+int NET_Connect(int s, struct sockaddr *addr, int addrlen) {
+ RESTARTABLE_RETURN_INT(connect(s, addr, addrlen));
+}
+
+int NET_Accept(int s, struct sockaddr *addr, socklen_t *addrlen) {
+ RESTARTABLE_RETURN_INT(accept(s, addr, addrlen));
+}
+
+int NET_SocketClose(int fd) {
+ return close(fd);
+}
+
+int NET_Dup2(int fd, int fd2) {
+ return dup2(fd, fd2);
+}
+
+int NET_Poll(struct pollfd *ufds, unsigned int nfds, int timeout) {
+ RESTARTABLE_RETURN_INT(poll(ufds, nfds, timeout));
+}
+
+int NET_Timeout(int s, long timeout) {
+ int result;
+ struct timeval t;
+ long prevtime, newtime;
+ struct pollfd pfd;
+ pfd.fd = s;
+ pfd.events = POLLIN;
+
+ if (timeout > 0) {
+ gettimeofday(&t, NULL);
+ prevtime = (t.tv_sec * 1000) + t.tv_usec / 1000;
+ }
+
+ for(;;) {
+ result = poll(&pfd, 1, timeout);
+ if (result < 0 && errno == EINTR) {
+ if (timeout > 0) {
+ gettimeofday(&t, NULL);
+ newtime = (t.tv_sec * 1000) + t.tv_usec /1000;
+ timeout -= newtime - prevtime;
+ if (timeout <= 0)
+ return 0;
+ prevtime = newtime;
+ }
+ } else {
+ return result;
+ }
+ }
+}
diff --git a/jdk/src/solaris/native/java/util/FileSystemPreferences.c b/jdk/src/solaris/native/java/util/prefs/FileSystemPreferences.c
similarity index 100%
rename from jdk/src/solaris/native/java/util/FileSystemPreferences.c
rename to jdk/src/solaris/native/java/util/prefs/FileSystemPreferences.c
diff --git a/jdk/src/solaris/native/sun/awt/CUPSfuncs.c b/jdk/src/solaris/native/sun/awt/CUPSfuncs.c
index a0d51f1..1ac5e59 100644
--- a/jdk/src/solaris/native/sun/awt/CUPSfuncs.c
+++ b/jdk/src/solaris/native/sun/awt/CUPSfuncs.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/sun/awt/VDrawingArea.c b/jdk/src/solaris/native/sun/awt/VDrawingArea.c
index c9ce812..712d084 100644
--- a/jdk/src/solaris/native/sun/awt/VDrawingArea.c
+++ b/jdk/src/solaris/native/sun/awt/VDrawingArea.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/solaris/native/sun/awt/X11Color.c b/jdk/src/solaris/native/sun/awt/X11Color.c
index 788c5f2..f88f264 100644
--- a/jdk/src/solaris/native/sun/awt/X11Color.c
+++ b/jdk/src/solaris/native/sun/awt/X11Color.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt.h b/jdk/src/solaris/native/sun/awt/awt.h
index c591300..5db74b2 100644
--- a/jdk/src/solaris/native/sun/awt/awt.h
+++ b/jdk/src/solaris/native/sun/awt/awt.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2011, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_AWTEvent.c b/jdk/src/solaris/native/sun/awt/awt_AWTEvent.c
index 72c0b56..a82181c9 100644
--- a/jdk/src/solaris/native/sun/awt/awt_AWTEvent.c
+++ b/jdk/src/solaris/native/sun/awt/awt_AWTEvent.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_Component.h b/jdk/src/solaris/native/sun/awt/awt_Component.h
index 7a43ab8..089691a 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Component.h
+++ b/jdk/src/solaris/native/sun/awt/awt_Component.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_Font.c b/jdk/src/solaris/native/sun/awt/awt_Font.c
index d8372fe..8a5a380 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Font.c
+++ b/jdk/src/solaris/native/sun/awt/awt_Font.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_Font.h b/jdk/src/solaris/native/sun/awt/awt_Font.h
index ca00288..84c0fee 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Font.h
+++ b/jdk/src/solaris/native/sun/awt/awt_Font.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c b/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c
index f7ac70d..4f69b9b 100644
--- a/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c
+++ b/jdk/src/solaris/native/sun/awt/awt_LoadLibrary.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_Mlib.c b/jdk/src/solaris/native/sun/awt/awt_Mlib.c
index 0b7c291..57bcaae 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Mlib.c
+++ b/jdk/src/solaris/native/sun/awt/awt_Mlib.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_Mlib.h b/jdk/src/solaris/native/sun/awt/awt_Mlib.h
index cbaf38d..9162542 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Mlib.h
+++ b/jdk/src/solaris/native/sun/awt/awt_Mlib.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_Robot.c b/jdk/src/solaris/native/sun/awt/awt_Robot.c
index 8387f5e..0897818 100644
--- a/jdk/src/solaris/native/sun/awt/awt_Robot.c
+++ b/jdk/src/solaris/native/sun/awt/awt_Robot.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_UNIXToolkit.c b/jdk/src/solaris/native/sun/awt/awt_UNIXToolkit.c
index 1fe8cbc..0d96042 100644
--- a/jdk/src/solaris/native/sun/awt/awt_UNIXToolkit.c
+++ b/jdk/src/solaris/native/sun/awt/awt_UNIXToolkit.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/solaris/native/sun/awt/awt_p.h b/jdk/src/solaris/native/sun/awt/awt_p.h
index 97d96b3..d2d1d74 100644
--- a/jdk/src/solaris/native/sun/awt/awt_p.h
+++ b/jdk/src/solaris/native/sun/awt/awt_p.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2011, 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
diff --git a/jdk/src/solaris/native/sun/awt/canvas.h b/jdk/src/solaris/native/sun/awt/canvas.h
index eafc118..f35decb 100644
--- a/jdk/src/solaris/native/sun/awt/canvas.h
+++ b/jdk/src/solaris/native/sun/awt/canvas.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 2011, 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
diff --git a/jdk/src/solaris/native/sun/awt/initIDs.c b/jdk/src/solaris/native/sun/awt/initIDs.c
index 3c9a388..769e6dd 100644
--- a/jdk/src/solaris/native/sun/awt/initIDs.c
+++ b/jdk/src/solaris/native/sun/awt/initIDs.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
diff --git a/jdk/src/solaris/native/sun/awt/jawt.c b/jdk/src/solaris/native/sun/awt/jawt.c
index 99cdb2a..64284bc 100644
--- a/jdk/src/solaris/native/sun/awt/jawt.c
+++ b/jdk/src/solaris/native/sun/awt/jawt.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/solaris/native/sun/awt/multiVis.c b/jdk/src/solaris/native/sun/awt/multiVis.c
index 6d39f55..92a9401 100644
--- a/jdk/src/solaris/native/sun/awt/multiVis.c
+++ b/jdk/src/solaris/native/sun/awt/multiVis.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, 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
diff --git a/jdk/src/solaris/native/sun/awt/multi_font.c b/jdk/src/solaris/native/sun/awt/multi_font.c
index e131564..7f3e23f 100644
--- a/jdk/src/solaris/native/sun/awt/multi_font.c
+++ b/jdk/src/solaris/native/sun/awt/multi_font.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/solaris/native/sun/awt/multi_font.h b/jdk/src/solaris/native/sun/awt/multi_font.h
index 460eab0..377306a 100644
--- a/jdk/src/solaris/native/sun/awt/multi_font.h
+++ b/jdk/src/solaris/native/sun/awt/multi_font.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/solaris/native/sun/awt/robot_common.c b/jdk/src/solaris/native/sun/awt/robot_common.c
index c002ebc..da61f29 100644
--- a/jdk/src/solaris/native/sun/awt/robot_common.c
+++ b/jdk/src/solaris/native/sun/awt/robot_common.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_config.h b/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_config.h
index e312c2b..9d8255b 100644
--- a/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_config.h
+++ b/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_config.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
diff --git a/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c b/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c
index 930f7eb..1122258 100644
--- a/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c
+++ b/jdk/src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c
@@ -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
diff --git a/jdk/src/solaris/native/sun/awt/swing_GTKEngine.c b/jdk/src/solaris/native/sun/awt/swing_GTKEngine.c
index b0eeb0f..7d9db4a 100644
--- a/jdk/src/solaris/native/sun/awt/swing_GTKEngine.c
+++ b/jdk/src/solaris/native/sun/awt/swing_GTKEngine.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/src/solaris/native/sun/font/X11FontScaler.c b/jdk/src/solaris/native/sun/font/X11FontScaler.c
index 5808da4..dc83f4c 100644
--- a/jdk/src/solaris/native/sun/font/X11FontScaler.c
+++ b/jdk/src/solaris/native/sun/font/X11FontScaler.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/sun/font/X11TextRenderer.c b/jdk/src/solaris/native/sun/font/X11TextRenderer.c
index 381c0b8..3aa9530 100644
--- a/jdk/src/solaris/native/sun/font/X11TextRenderer.c
+++ b/jdk/src/solaris/native/sun/font/X11TextRenderer.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/native/sun/java2d/j2d_md.h b/jdk/src/solaris/native/sun/java2d/j2d_md.h
index 3f5578f..cd098f3 100644
--- a/jdk/src/solaris/native/sun/java2d/j2d_md.h
+++ b/jdk/src/solaris/native/sun/java2d/j2d_md.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c b/jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c
index d9e27f9..5092d97 100644
--- a/jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c
+++ b/jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c b/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c
index 0c59e10..d6422da 100644
--- a/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c
+++ b/jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h b/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h
index 9cbec5c..ad8d954 100644
--- a/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h
+++ b/jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h b/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h
index 252749b..5f478f6 100644
--- a/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h
+++ b/jdk/src/solaris/native/sun/java2d/opengl/OGLFuncs_md.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/solaris/native/sun/java2d/x11/X11Renderer.c b/jdk/src/solaris/native/sun/java2d/x11/X11Renderer.c
index bbe32a0..871c129 100644
--- a/jdk/src/solaris/native/sun/java2d/x11/X11Renderer.c
+++ b/jdk/src/solaris/native/sun/java2d/x11/X11Renderer.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c b/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
index a9c762f..60b4d5b 100644
--- a/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
+++ b/jdk/src/solaris/native/sun/java2d/x11/XRSurfaceData.c
@@ -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
diff --git a/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c b/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c
index 1d6c89e..9029bd0 100644
--- a/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c
+++ b/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c
@@ -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
@@ -35,6 +35,7 @@
#include <stdlib.h>
#include <dlfcn.h>
#include <pthread.h>
+#include <inttypes.h>
#include "sun_management_OperatingSystemImpl.h"
struct ticks {
@@ -57,7 +58,7 @@
ticks *cpus;
} counters;
-#define DEC_64 "%lld"
+#define DEC_64 "%"SCNd64
static void next_line(FILE *f) {
while (fgetc(f) != '\n');
diff --git a/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c b/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c
index 24c8669..842fa2a 100644
--- a/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c
+++ b/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c
@@ -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
diff --git a/jdk/src/solaris/native/sun/management/OperatingSystemImpl.c b/jdk/src/solaris/native/sun/management/OperatingSystemImpl.c
index 898a0f9..00c4d55 100644
--- a/jdk/src/solaris/native/sun/management/OperatingSystemImpl.c
+++ b/jdk/src/solaris/native/sun/management/OperatingSystemImpl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -196,7 +196,7 @@
char* addr;
int fd;
- fd = JVM_Open("/proc/self/psinfo", O_RDONLY, 0);
+ fd = open64("/proc/self/psinfo", O_RDONLY, 0);
if (fd < 0) {
throw_internal_error(env, "Unable to open /proc/self/psinfo");
return -1;
@@ -204,17 +204,20 @@
addr = (char *)&psinfo;
for (remaining = sizeof(psinfo_t); remaining > 0;) {
- result = JVM_Read(fd, addr, remaining);
+ result = read(fd, addr, remaining);
if (result < 0) {
- JVM_Close(fd);
- throw_internal_error(env, "Unable to read /proc/self/psinfo");
- return -1;
+ if (errno != EINTR) {
+ close(fd);
+ throw_internal_error(env, "Unable to read /proc/self/psinfo");
+ return -1;
+ }
+ } else {
+ remaining -= result;
+ addr += result;
}
- remaining -= result;
- addr += result;
}
- JVM_Close(fd);
+ close(fd);
return (jlong) psinfo.pr_size * 1024;
#elif defined(__linux__)
FILE *fp;
diff --git a/jdk/src/solaris/native/sun/management/SolarisOperatingSystem.c b/jdk/src/solaris/native/sun/management/SolarisOperatingSystem.c
index f89da99..d13a1b3 100644
--- a/jdk/src/solaris/native/sun/management/SolarisOperatingSystem.c
+++ b/jdk/src/solaris/native/sun/management/SolarisOperatingSystem.c
@@ -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
diff --git a/jdk/src/solaris/native/java/util/logging.c b/jdk/src/solaris/native/sun/misc/VM_md.c
similarity index 90%
rename from jdk/src/solaris/native/java/util/logging.c
rename to jdk/src/solaris/native/sun/misc/VM_md.c
index af50903..7fe3362 100644
--- a/jdk/src/solaris/native/java/util/logging.c
+++ b/jdk/src/solaris/native/sun/misc/VM_md.c
@@ -23,16 +23,12 @@
* questions.
*/
-/*
- * Solaris/Linux specific code to support logging.
- */
-
#include <unistd.h>
#include "jni_util.h"
JNIEXPORT jboolean JNICALL
-Java_java_util_logging_FileHandler_isSetUID(JNIEnv *env, jclass thisclass) {
+Java_sun_misc_VM_isSetUID(JNIEnv *env, jclass thisclass) {
/* Return true if we are in a set UID or set GID process. */
if (getuid() != geteuid() || getgid() != getegid()) {
diff --git a/jdk/src/solaris/native/sun/nio/ch/Net.c b/jdk/src/solaris/native/sun/nio/ch/Net.c
index 4bb2139..92f6f19 100644
--- a/jdk/src/solaris/native/sun/nio/ch/Net.c
+++ b/jdk/src/solaris/native/sun/nio/ch/Net.c
@@ -78,6 +78,18 @@
#define MCAST_UNBLOCK_SOURCE 65
#define MCAST_JOIN_SOURCE_GROUP 66
#define MCAST_LEAVE_SOURCE_GROUP 67
+
+ /* This means we're on AIX 5.3 and 'group_source_req' and 'ip_mreq_source' aren't defined as well */
+ struct group_source_req {
+ uint32_t gsr_interface;
+ struct sockaddr_storage gsr_group;
+ struct sockaddr_storage gsr_source;
+ };
+ struct ip_mreq_source {
+ struct in_addr imr_multiaddr; /* IP multicast address of group */
+ struct in_addr imr_sourceaddr; /* IP address of source */
+ struct in_addr imr_interface; /* local IP address of interface */
+ };
#endif
#endif /* _AIX */
diff --git a/jdk/src/solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c b/jdk/src/solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c
index f3602b8..5c75293 100644
--- a/jdk/src/solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c
+++ b/jdk/src/solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c
@@ -39,12 +39,15 @@
jint form)
{
jcharArray result = NULL;
- char chars_buf[(PATH_MAX + 1) * 2]; // utf16 + zero padding
+ char *chars;
CFMutableStringRef csref = CFStringCreateMutable(NULL, 0);
if (csref == NULL) {
JNU_ThrowOutOfMemoryError(env, "native heap");
- } else {
- char *chars = (char*)(*env)->GetPrimitiveArrayCritical(env, path, 0);
+ return NULL;
+ }
+ chars = (char*)(*env)->GetPrimitiveArrayCritical(env, path, 0);
+ if (chars != NULL) {
+ char chars_buf[(PATH_MAX + 1) * 2]; // utf16 + zero padding
jsize len = (*env)->GetArrayLength(env, path);
CFStringAppendCharacters(csref, (const UniChar*)chars, len);
(*env)->ReleasePrimitiveArrayCritical(env, path, chars, 0);
@@ -53,24 +56,26 @@
if (len < PATH_MAX) {
if (CFStringGetCString(csref, chars_buf, sizeof(chars_buf), kCFStringEncodingUTF16)) {
result = (*env)->NewCharArray(env, len);
- (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)&chars_buf);
+ if (result != NULL) {
+ (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)&chars_buf);
+ }
}
} else {
int ulen = (len + 1) * 2;
chars = malloc(ulen);
if (chars == NULL) {
- CFRelease(csref);
JNU_ThrowOutOfMemoryError(env, "native heap");
- return result;
} else {
if (CFStringGetCString(csref, chars, ulen, kCFStringEncodingUTF16)) {
result = (*env)->NewCharArray(env, len);
- (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)chars);
+ if (result != NULL) {
+ (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)chars);
+ }
}
free(chars);
}
}
- CFRelease(csref);
}
+ CFRelease(csref);
return result;
}
diff --git a/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c b/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
index 8901376..d3ee327 100644
--- a/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
+++ b/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c
@@ -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
diff --git a/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c b/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c
index 8b3a62b..e07bea7 100644
--- a/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c
+++ b/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c
@@ -32,6 +32,7 @@
#include <jni_util.h>
#include "j2secmod.h"
+#include "wrapper/pkcs11wrapper.h"
void *findFunction(JNIEnv *env, jlong jHandle, const char *functionName) {
void *hModule = (void*)jlong_to_ptr(jHandle);
diff --git a/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h b/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h
index 9a11218..49379f1 100644
--- a/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h
+++ b/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h
@@ -56,6 +56,9 @@
/* defines for UNIX platforms *************************************************/
+#ifndef _P11_MD_H
+#define _P11_MD_H 1
+
#define CK_PTR *
#define CK_DEFINE_FUNCTION(returnType, name) returnType name
#define CK_DECLARE_FUNCTION(returnType, name) returnType name
@@ -83,3 +86,5 @@
};
typedef struct ModuleData ModuleData;
+
+#endif /* _P11_MD_H */
diff --git a/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c b/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c
index 6f1021c..dfe9c42 100644
--- a/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c
+++ b/jdk/src/solaris/native/sun/security/smartcardio/pcsc_md.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2014, 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
@@ -89,6 +89,10 @@
JNIEXPORT void JNICALL Java_sun_security_smartcardio_PlatformPCSC_initialize
(JNIEnv *env, jclass thisClass, jstring jLibName) {
const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);
+ if (libName == NULL) {
+ throwNullPointerException(env, "PCSC library name is null");
+ return;
+ }
hModule = dlopen(libName, RTLD_LAZY);
(*env)->ReleaseStringUTFChars(env, jLibName, libName);
@@ -97,13 +101,40 @@
return;
}
scardEstablishContext = (FPTR_SCardEstablishContext)findFunction(env, hModule, "SCardEstablishContext");
+ if ((*env)->ExceptionCheck(env)) {
+ return;
+ }
scardConnect = (FPTR_SCardConnect) findFunction(env, hModule, "SCardConnect");
+ if ((*env)->ExceptionCheck(env)) {
+ return;
+ }
scardDisconnect = (FPTR_SCardDisconnect) findFunction(env, hModule, "SCardDisconnect");
+ if ((*env)->ExceptionCheck(env)) {
+ return;
+ }
scardStatus = (FPTR_SCardStatus) findFunction(env, hModule, "SCardStatus");
+ if ((*env)->ExceptionCheck(env)) {
+ return;
+ }
scardGetStatusChange = (FPTR_SCardGetStatusChange) findFunction(env, hModule, "SCardGetStatusChange");
+ if ((*env)->ExceptionCheck(env)) {
+ return;
+ }
scardTransmit = (FPTR_SCardTransmit) findFunction(env, hModule, "SCardTransmit");
+ if ((*env)->ExceptionCheck(env)) {
+ return;
+ }
scardListReaders = (FPTR_SCardListReaders) findFunction(env, hModule, "SCardListReaders");
+ if ((*env)->ExceptionCheck(env)) {
+ return;
+ }
scardBeginTransaction = (FPTR_SCardBeginTransaction)findFunction(env, hModule, "SCardBeginTransaction");
+ if ((*env)->ExceptionCheck(env)) {
+ return;
+ }
scardEndTransaction = (FPTR_SCardEndTransaction) findFunction(env, hModule, "SCardEndTransaction");
+ if ((*env)->ExceptionCheck(env)) {
+ return;
+ }
scardControl = (FPTR_SCardControl) findFunction(env, hModule, "SCardControl");
}
diff --git a/jdk/src/solaris/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c b/jdk/src/solaris/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c
deleted file mode 100644
index 10f151f..0000000
--- a/jdk/src/solaris/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c
+++ /dev/null
@@ -1,77 +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.
- */
-
-#include "sun_util_locale_provider_HostLocaleProviderAdapterImpl.h"
-#include <gdefs.h>
-#include <string.h>
-#include <langinfo.h>
-#include <locale.h>
-
-#define BUFLEN 64
-
-/*
- * Class: sun_util_locale_provider_HostLocaleProviderAdapterImpl
- * Method: getPattern
- * Signature: (IILjava/lang/String;)Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getPattern
- (JNIEnv *env, jclass cls, jint dateStyle, jint timeStyle, jstring jlangtag) {
-
- // TEMPORARY!
- char locale[BUFLEN];
- char * pch;
- char * old;
- char * ret;
- const char *langtag = (*env)->GetStringUTFChars(env, jlangtag, JNI_FALSE);
-
- strcpy(locale, langtag);
- pch = strchr(locale, '-');
- if (pch != NULL) {
- *pch = '_';
- }
- pch = strchr(locale, '-');
- if (pch != NULL) {
- *pch = '\0';
- }
- strcat(locale, ".UTF-8");
- old = setlocale(LC_TIME, "");
- setlocale(LC_TIME, locale);
-
- if (dateStyle != (-1) && timeStyle != (-1)) {
- ret = nl_langinfo(D_T_FMT);
- } else if (dateStyle != (-1)) {
- ret = nl_langinfo(D_FMT);
- } else if (timeStyle != (-1)) {
- ret = nl_langinfo(T_FMT);
- } else {
- ret = "yyyy/MM/dd";
- }
-
- setlocale(LC_TIME, old);
-
- (*env)->ReleaseStringUTFChars(env, jlangtag, langtag);
-
- return (*env)->NewStringUTF(env, ret);
-}
diff --git a/jdk/src/solaris/native/sun/xawt/XToolkit.c b/jdk/src/solaris/native/sun/xawt/XToolkit.c
index 9abacad..fc42f42 100644
--- a/jdk/src/solaris/native/sun/xawt/XToolkit.c
+++ b/jdk/src/solaris/native/sun/xawt/XToolkit.c
@@ -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
diff --git a/jdk/src/solaris/native/sun/xawt/XWindow.c b/jdk/src/solaris/native/sun/xawt/XWindow.c
index bda2245..8cdebc7 100644
--- a/jdk/src/solaris/native/sun/xawt/XWindow.c
+++ b/jdk/src/solaris/native/sun/xawt/XWindow.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/solaris/transport/socket/socket_md.c b/jdk/src/solaris/transport/socket/socket_md.c
index 715b7ac..33e062e 100644
--- a/jdk/src/solaris/transport/socket/socket_md.c
+++ b/jdk/src/solaris/transport/socket/socket_md.c
@@ -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
diff --git a/jdk/src/windows/back/linker_md.c b/jdk/src/windows/back/linker_md.c
index 52bf494..05aaf4d 100644
--- a/jdk/src/windows/back/linker_md.c
+++ b/jdk/src/windows/back/linker_md.c
@@ -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
diff --git a/jdk/src/windows/classes/com/sun/tools/jdi/SharedMemoryAttachingConnector.java b/jdk/src/windows/classes/com/sun/tools/jdi/SharedMemoryAttachingConnector.java
index af87320..b671eba 100644
--- a/jdk/src/windows/classes/com/sun/tools/jdi/SharedMemoryAttachingConnector.java
+++ b/jdk/src/windows/classes/com/sun/tools/jdi/SharedMemoryAttachingConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, 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
diff --git a/jdk/src/windows/classes/com/sun/tools/jdi/SharedMemoryListeningConnector.java b/jdk/src/windows/classes/com/sun/tools/jdi/SharedMemoryListeningConnector.java
index 3fdc332..0347c93 100644
--- a/jdk/src/windows/classes/com/sun/tools/jdi/SharedMemoryListeningConnector.java
+++ b/jdk/src/windows/classes/com/sun/tools/jdi/SharedMemoryListeningConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, 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
diff --git a/jdk/src/windows/classes/java/lang/ProcessImpl.java b/jdk/src/windows/classes/java/lang/ProcessImpl.java
index 4a38579..b288dbd 100644
--- a/jdk/src/windows/classes/java/lang/ProcessImpl.java
+++ b/jdk/src/windows/classes/java/lang/ProcessImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java b/jdk/src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java
index 2d319fa..62bf21e 100644
--- a/jdk/src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java
+++ b/jdk/src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/windows/classes/java/net/DefaultInterface.java b/jdk/src/windows/classes/java/net/DefaultInterface.java
index 8f79c81..0c31cb6 100644
--- a/jdk/src/windows/classes/java/net/DefaultInterface.java
+++ b/jdk/src/windows/classes/java/net/DefaultInterface.java
@@ -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
diff --git a/jdk/src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java b/jdk/src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java
index f94afd1..4861b23 100644
--- a/jdk/src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java
+++ b/jdk/src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
@@ -45,6 +45,10 @@
{
static JavaIOFileDescriptorAccess fdAccess = SharedSecrets.getJavaIOFileDescriptorAccess();
+ static {
+ initIDs();
+ }
+
// true if this socket is exclusively bound
private final boolean exclusiveBind;
diff --git a/jdk/src/windows/classes/java/net/DualStackPlainSocketImpl.java b/jdk/src/windows/classes/java/net/DualStackPlainSocketImpl.java
index aef92a2..c25c808 100644
--- a/jdk/src/windows/classes/java/net/DualStackPlainSocketImpl.java
+++ b/jdk/src/windows/classes/java/net/DualStackPlainSocketImpl.java
@@ -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
diff --git a/jdk/src/windows/classes/java/net/PlainSocketImpl.java b/jdk/src/windows/classes/java/net/PlainSocketImpl.java
index 55ebc8e..938d995 100644
--- a/jdk/src/windows/classes/java/net/PlainSocketImpl.java
+++ b/jdk/src/windows/classes/java/net/PlainSocketImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java b/jdk/src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java
index b167290..fc17f82 100644
--- a/jdk/src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java
+++ b/jdk/src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java b/jdk/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java
index 1f2b68d..a8be400 100644
--- a/jdk/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java
+++ b/jdk/src/windows/classes/java/net/TwoStacksPlainSocketImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/windows/classes/java/util/prefs/WindowsPreferences.java b/jdk/src/windows/classes/java/util/prefs/WindowsPreferences.java
index 53678e5..6844234 100644
--- a/jdk/src/windows/classes/java/util/prefs/WindowsPreferences.java
+++ b/jdk/src/windows/classes/java/util/prefs/WindowsPreferences.java
@@ -29,6 +29,9 @@
import java.util.TreeMap;
import java.util.StringTokenizer;
import java.io.ByteArrayOutputStream;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
import sun.util.logging.PlatformLogger;
/**
@@ -45,6 +48,14 @@
class WindowsPreferences extends AbstractPreferences{
+ static {
+ PrivilegedAction<Void> load = () -> {
+ System.loadLibrary("prefs");
+ return null;
+ };
+ AccessController.doPrivileged(load);
+ }
+
/**
* Logger for error messages
*/
diff --git a/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java b/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java
index d3bd07f..a1c57b6 100644
--- a/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java
+++ b/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
diff --git a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java
index c6cde3c..765a9b4 100644
--- a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java
+++ b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java
index 7e23874..b14676c 100644
--- a/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java
+++ b/jdk/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java b/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
index 8a6106a..5410549 100644
--- a/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
+++ b/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2011, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java b/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java
index 4b346ca..8dc6792 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WBufferStrategy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java b/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java
index 254b01f..627372b 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WClipboard.java b/jdk/src/windows/classes/sun/awt/windows/WClipboard.java
index 602d228..63914c1 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WClipboard.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WClipboard.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java b/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java
index e499feb..a5685ad 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java b/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java
index c48d85e..6ed8737 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WDesktopProperties.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java
index 716a77f..673e39f 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WDialogPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java
index ce02e04..269c06b 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFrame.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java
index ec551e3..736a796 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WEmbeddedFramePeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java b/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java
index 588b3ca..9a64d07 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WFramePeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java b/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java
index dbecc23..4e76b1d 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WInputMethod.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java b/jdk/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java
index fdd15d2..34ba53f 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WKeyboardFocusManagerPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java b/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java
index f7fe078..9f681e7 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java b/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java
index c0e37a9..91bb5e8 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java b/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java
index 08e73c5..041b66b 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WPageDialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java b/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java
index 707bc3f..6c90904 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WPageDialogPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java b/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java
index afc0ff6..2bb9ba8 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java b/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java
index af1a5dc..6f07a45 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WPrintDialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java b/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java
index d56b7d3..6a1dfaa 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WPrinterJob.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WRobotPeer.java b/jdk/src/windows/classes/sun/awt/windows/WRobotPeer.java
index e817da6..04ffa9f 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WRobotPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WRobotPeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java b/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java
index 3e7dd82..38a4338 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/classes/sun/awt/windows/WToolkit.java b/jdk/src/windows/classes/sun/awt/windows/WToolkit.java
index 98bd1a8..a0187b2 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WToolkit.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WToolkit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/classes/sun/java2d/ScreenUpdateManager.java b/jdk/src/windows/classes/sun/java2d/ScreenUpdateManager.java
index d15e28c..6a3f35b 100644
--- a/jdk/src/windows/classes/sun/java2d/ScreenUpdateManager.java
+++ b/jdk/src/windows/classes/sun/java2d/ScreenUpdateManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
diff --git a/jdk/src/windows/classes/sun/java2d/d3d/D3DRenderer.java b/jdk/src/windows/classes/sun/java2d/d3d/D3DRenderer.java
index 0bdae34..bf46ec9 100644
--- a/jdk/src/windows/classes/sun/java2d/d3d/D3DRenderer.java
+++ b/jdk/src/windows/classes/sun/java2d/d3d/D3DRenderer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/windows/classes/sun/management/OperatingSystemImpl.java b/jdk/src/windows/classes/sun/management/OperatingSystemImpl.java
index f24ef7d..52fb709 100644
--- a/jdk/src/windows/classes/sun/management/OperatingSystemImpl.java
+++ b/jdk/src/windows/classes/sun/management/OperatingSystemImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java b/jdk/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java
index a3ac941..e63331d 100644
--- a/jdk/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java
+++ b/jdk/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.java
@@ -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
diff --git a/jdk/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java b/jdk/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java
index 8a8dc30..6d6340a 100644
--- a/jdk/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java
+++ b/jdk/src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java b/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java
index 3bc98eb..4de9396 100644
--- a/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java
+++ b/jdk/src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/windows/classes/sun/nio/ch/DatagramDispatcher.java b/jdk/src/windows/classes/sun/nio/ch/DatagramDispatcher.java
index fc658b7..2464350 100644
--- a/jdk/src/windows/classes/sun/nio/ch/DatagramDispatcher.java
+++ b/jdk/src/windows/classes/sun/nio/ch/DatagramDispatcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2002, 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
diff --git a/jdk/src/windows/classes/sun/nio/ch/FileDispatcherImpl.java b/jdk/src/windows/classes/sun/nio/ch/FileDispatcherImpl.java
index d7126d5..ccab64d 100644
--- a/jdk/src/windows/classes/sun/nio/ch/FileDispatcherImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/FileDispatcherImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/windows/classes/sun/nio/ch/FileKey.java b/jdk/src/windows/classes/sun/nio/ch/FileKey.java
index 830cc72..95f78d4 100644
--- a/jdk/src/windows/classes/sun/nio/ch/FileKey.java
+++ b/jdk/src/windows/classes/sun/nio/ch/FileKey.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/src/windows/classes/sun/nio/ch/Iocp.java b/jdk/src/windows/classes/sun/nio/ch/Iocp.java
index 466a08e..699df05 100644
--- a/jdk/src/windows/classes/sun/nio/ch/Iocp.java
+++ b/jdk/src/windows/classes/sun/nio/ch/Iocp.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/windows/classes/sun/nio/ch/PipeImpl.java b/jdk/src/windows/classes/sun/nio/ch/PipeImpl.java
index 4a73c61..b86580d 100644
--- a/jdk/src/windows/classes/sun/nio/ch/PipeImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/PipeImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/src/windows/classes/sun/nio/ch/PollArrayWrapper.java b/jdk/src/windows/classes/sun/nio/ch/PollArrayWrapper.java
index 08591f8..ee0518f 100644
--- a/jdk/src/windows/classes/sun/nio/ch/PollArrayWrapper.java
+++ b/jdk/src/windows/classes/sun/nio/ch/PollArrayWrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2002, 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
diff --git a/jdk/src/windows/classes/sun/nio/ch/SocketDispatcher.java b/jdk/src/windows/classes/sun/nio/ch/SocketDispatcher.java
index 82cfcd5..21eb08b 100644
--- a/jdk/src/windows/classes/sun/nio/ch/SocketDispatcher.java
+++ b/jdk/src/windows/classes/sun/nio/ch/SocketDispatcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
index d747e0f..69bdd93 100644
--- a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
@@ -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
diff --git a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java
index 9a25da9..991944e 100644
--- a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
index 8e193a8..1880548 100644
--- a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
@@ -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
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java b/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java
index d9b1489..46d063c 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java
@@ -25,19 +25,22 @@
package sun.nio.fs;
-import java.nio.file.*;
-import java.nio.channels.*;
import java.io.FileDescriptor;
import java.io.IOException;
-import java.util.*;
+import java.nio.channels.AsynchronousFileChannel;
+import java.nio.channels.FileChannel;
+import java.nio.file.LinkOption;
+import java.nio.file.OpenOption;
+import java.nio.file.StandardOpenOption;
+import java.util.Set;
import com.sun.nio.file.ExtendedOpenOption;
+import sun.misc.JavaIOFileDescriptorAccess;
+import sun.misc.SharedSecrets;
import sun.nio.ch.FileChannelImpl;
import sun.nio.ch.ThreadPool;
import sun.nio.ch.WindowsAsynchronousFileChannelImpl;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaIOFileDescriptorAccess;
import static sun.nio.fs.WindowsNativeDispatcher.*;
import static sun.nio.fs.WindowsConstants.*;
@@ -157,7 +160,7 @@
throw new IllegalArgumentException("APPEND + TRUNCATE_EXISTING not allowed");
FileDescriptor fdObj = open(pathForWindows, pathToCheck, flags, pSecurityDescriptor);
- return FileChannelImpl.open(fdObj, flags.read, flags.write, flags.append, null);
+ return FileChannelImpl.open(fdObj, pathForWindows, flags.read, flags.write, flags.append, null);
}
/**
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsConstants.java b/jdk/src/windows/classes/sun/nio/fs/WindowsConstants.java
index 6bc875a..f691ad5 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsConstants.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java b/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java
index 0d975a3..598c1f1 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java
@@ -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
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java b/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java
index 2e6484b..bd5f890 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java
@@ -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
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java b/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java
index ddc5b4b..97dc347 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java b/jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java
index ea55711..a380c3d 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java b/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java
index 91b1697..4ccaf5d 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java
@@ -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
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsSecurity.java b/jdk/src/windows/classes/sun/nio/fs/WindowsSecurity.java
index ef9982e..1ceb570 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsSecurity.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsSecurity.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java b/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java
index 32beca9..4ad1024 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java
@@ -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
diff --git a/jdk/src/windows/classes/sun/print/Win32MediaTray.java b/jdk/src/windows/classes/sun/print/Win32MediaTray.java
index 2f2cafc..176508c 100644
--- a/jdk/src/windows/classes/sun/print/Win32MediaTray.java
+++ b/jdk/src/windows/classes/sun/print/Win32MediaTray.java
@@ -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
diff --git a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java
index 566b0be..ca5a473 100644
--- a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java
+++ b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java
index bf09016..947c205 100644
--- a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java
+++ b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java
@@ -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
diff --git a/jdk/src/windows/demo/jvmti/hprof/hprof_md.c b/jdk/src/windows/demo/jvmti/hprof/hprof_md.c
index 67cf2f6..d2d6882 100644
--- a/jdk/src/windows/demo/jvmti/hprof/hprof_md.c
+++ b/jdk/src/windows/demo/jvmti/hprof/hprof_md.c
@@ -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.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiIn.cpp b/jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiIn.cpp
index 1435f6d..e9d4e20 100644
--- a/jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiIn.cpp
+++ b/jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiIn.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiOut.c b/jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiOut.c
index f3e573e..226e610 100644
--- a/jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiOut.c
+++ b/jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_MidiOut.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/windows/native/com/sun/security/auth/module/nt.c b/jdk/src/windows/native/com/sun/security/auth/module/nt.c
index 72c0ef8..03a5c7a 100644
--- a/jdk/src/windows/native/com/sun/security/auth/module/nt.c
+++ b/jdk/src/windows/native/com/sun/security/auth/module/nt.c
@@ -43,6 +43,12 @@
BOOL getTextualSid(PSID pSid, LPTSTR TextualSid, LPDWORD lpdwBufferLen);
void DisplayErrorText(DWORD dwLastError);
+static void throwIllegalArgumentException(JNIEnv *env, const char *msg) {
+ jclass clazz = (*env)->FindClass(env, "java/lang/IllegalArgumentException");
+ if (clazz != NULL)
+ (*env)->ThrowNew(env, clazz, msg);
+}
+
JNIEXPORT jlong JNICALL
Java_com_sun_security_auth_module_NTSystem_getImpersonationToken0
(JNIEnv *env, jobject obj) {
@@ -62,7 +68,6 @@
long i, j = 0;
HANDLE tokenHandle = INVALID_HANDLE_VALUE;
- BOOL systemError = FALSE;
LPTSTR userName = NULL; // user name
LPTSTR userSid = NULL; // user sid
@@ -116,70 +121,59 @@
fid = (*env)->GetFieldID(env, cls, "userName", "Ljava/lang/String;");
if (fid == 0) {
- jclass newExcCls =
- (*env)->FindClass(env, "java/lang/IllegalArgumentException");
- if (newExcCls == 0) {
- // Unable to find exception class
- systemError = TRUE;
- goto out;
- }
- (*env)->ThrowNew(env, newExcCls, "invalid field: userName");
+ (*env)->ExceptionClear(env);
+ throwIllegalArgumentException(env, "invalid field: userName");
+ goto cleanup;
}
jstr = (*env)->NewStringUTF(env, userName);
+ if (jstr == NULL)
+ goto cleanup;
(*env)->SetObjectField(env, obj, fid, jstr);
fid = (*env)->GetFieldID(env, cls, "userSID", "Ljava/lang/String;");
if (fid == 0) {
- jclass newExcCls =
- (*env)->FindClass(env, "java/lang/IllegalArgumentException");
- if (newExcCls == 0) {
- systemError = TRUE;
- goto out;
- }
- (*env)->ThrowNew(env, newExcCls, "invalid field: userSID");
+ (*env)->ExceptionClear(env);
+ throwIllegalArgumentException(env, "invalid field: userSID");
+ goto cleanup;
}
jstr = (*env)->NewStringUTF(env, userSid);
+ if (jstr == NULL)
+ goto cleanup;
(*env)->SetObjectField(env, obj, fid, jstr);
fid = (*env)->GetFieldID(env, cls, "domain", "Ljava/lang/String;");
if (fid == 0) {
- jclass newExcCls =
- (*env)->FindClass(env, "java/lang/IllegalArgumentException");
- if (newExcCls == 0) {
- systemError = TRUE;
- goto out;
- }
- (*env)->ThrowNew(env, newExcCls, "invalid field: domain");
+ (*env)->ExceptionClear(env);
+ throwIllegalArgumentException(env, "invalid field: domain");
+ goto cleanup;
}
jstr = (*env)->NewStringUTF(env, domainName);
+ if (jstr == NULL)
+ goto cleanup;
(*env)->SetObjectField(env, obj, fid, jstr);
if (domainSid != NULL) {
fid = (*env)->GetFieldID(env, cls, "domainSID", "Ljava/lang/String;");
if (fid == 0) {
- jclass newExcCls =
- (*env)->FindClass(env, "java/lang/IllegalArgumentException");
- if (newExcCls == 0) {
- systemError = TRUE;
- goto out;
- }
- (*env)->ThrowNew(env, newExcCls, "invalid field: domainSID");
+ (*env)->ExceptionClear(env);
+ throwIllegalArgumentException(env, "invalid field: domainSID");
+ goto cleanup;
}
jstr = (*env)->NewStringUTF(env, domainSid);
+ if (jstr == NULL)
+ goto cleanup;
(*env)->SetObjectField(env, obj, fid, jstr);
}
fid = (*env)->GetFieldID(env, cls, "primaryGroupID", "Ljava/lang/String;");
if (fid == 0) {
- jclass newExcCls =
- (*env)->FindClass(env, "java/lang/IllegalArgumentException");
- if (newExcCls == 0) {
- systemError = TRUE;
- goto out;
- }
- (*env)->ThrowNew(env, newExcCls, "invalid field: PrimaryGroupID");
+ (*env)->ExceptionClear(env);
+ throwIllegalArgumentException(env, "invalid field: PrimaryGroupID");
+ goto cleanup;
}
jstr = (*env)->NewStringUTF(env, primaryGroup);
+ if (jstr == NULL)
+ goto cleanup;
(*env)->SetObjectField(env, obj, fid, jstr);
// primary group may or may not be part of supplementary groups
@@ -204,19 +198,14 @@
fid = (*env)->GetFieldID(env, cls, "groupIDs", "[Ljava/lang/String;");
if (fid == 0) {
- jclass newExcCls =
- (*env)->FindClass(env, "java/lang/IllegalArgumentException");
- if (newExcCls == 0) {
- systemError = TRUE;
- goto out;
- }
- (*env)->ThrowNew(env, newExcCls, "invalid field: groupIDs");
+ (*env)->ExceptionClear(env);
+ throwIllegalArgumentException(env, "groupIDs");
+ goto cleanup;
}
stringClass = (*env)->FindClass(env, "java/lang/String");
- if (stringClass == 0) {
- goto out;
- }
+ if (stringClass == NULL)
+ goto cleanup;
if (pIndex == -1) {
// primary group not in groups array
@@ -226,6 +215,8 @@
// allocate one less array entry and do not add into new array
jgroups = (*env)->NewObjectArray(env, numGroups-1, stringClass, 0);
}
+ if (jgroups == NULL)
+ goto cleanup;
for (i = 0, j = 0; i < (long)numGroups; i++) {
if (pIndex == i) {
@@ -233,12 +224,14 @@
continue;
}
jstr = (*env)->NewStringUTF(env, groups[i]);
+ if (jstr == NULL)
+ goto cleanup;
(*env)->SetObjectArrayElement(env, jgroups, j++, jstr);
}
(*env)->SetObjectField(env, obj, fid, jgroups);
}
-out:
+cleanup:
if (userName != NULL) {
HeapFree(GetProcessHeap(), 0, userName);
}
@@ -264,11 +257,6 @@
}
CloseHandle(tokenHandle);
- if (systemError && debug) {
- printf(" [getCurrent] System Error: ");
- printf("unable to find IllegalArgumentException class\n");
- }
-
return;
}
@@ -336,7 +324,7 @@
DisplayErrorText(GetLastError());
}
error = TRUE;
- goto out;
+ goto cleanup;
}
if (debug) {
@@ -369,7 +357,7 @@
DisplayErrorText(GetLastError());
}
error = TRUE;
- goto out;
+ goto cleanup;
}
if (debug) {
@@ -411,7 +399,7 @@
DisplayErrorText(GetLastError());
}
// ok not to have a domain SID (no error)
- goto out;
+ goto cleanup;
}
bufSize = 0;
@@ -422,7 +410,7 @@
printf(" [getUser] domainSid: %s\n", *domainSid);
}
-out:
+cleanup:
if (tokenUserInfo != NULL) {
HeapFree(GetProcessHeap(), 0, tokenUserInfo);
}
@@ -466,7 +454,7 @@
DisplayErrorText(GetLastError());
}
error = TRUE;
- goto out;
+ goto cleanup;
}
if (debug) {
@@ -481,7 +469,7 @@
printf(" [getPrimaryGroup] primaryGroup: %s\n", *primaryGroup);
}
-out:
+cleanup:
if (tokenGroupInfo != NULL) {
HeapFree(GetProcessHeap(), 0, tokenGroupInfo);
}
@@ -519,7 +507,7 @@
DisplayErrorText(GetLastError());
}
error = TRUE;
- goto out;
+ goto cleanup;
}
if (debug) {
@@ -528,7 +516,7 @@
if (tokenGroupInfo->GroupCount == 0) {
// no groups
- goto out;
+ goto cleanup;
}
// return group info
@@ -545,7 +533,7 @@
}
}
-out:
+cleanup:
if (tokenGroupInfo != NULL) {
HeapFree(GetProcessHeap(), 0, tokenGroupInfo);
}
diff --git a/jdk/src/windows/native/common/jdk_util_md.c b/jdk/src/windows/native/common/jdk_util_md.c
index 65d20f5..0eae215 100644
--- a/jdk/src/windows/native/common/jdk_util_md.c
+++ b/jdk/src/windows/native/common/jdk_util_md.c
@@ -42,7 +42,6 @@
JNIEXPORT HMODULE JDK_LoadSystemLibrary(const char* name) {
HMODULE handle = NULL;
char path[MAX_PATH];
- int ret;
if (GetSystemDirectory(path, sizeof(path)) != 0) {
strcat(path, "\\");
diff --git a/jdk/src/windows/native/common/jni_util_md.c b/jdk/src/windows/native/common/jni_util_md.c
index cdaaa2b..80f1b35 100644
--- a/jdk/src/windows/native/common/jni_util_md.c
+++ b/jdk/src/windows/native/common/jni_util_md.c
@@ -42,102 +42,6 @@
*lastSlash = 0;
}
-BOOL useNativeConverter(JNIEnv *env) {
- static BOOL initialized;
- static BOOL useNative;
- if (!initialized) {
- HMODULE jvm = GetModuleHandle("jvm");
- useNative = FALSE;
- if (jvm != NULL) {
- TCHAR *jvmPath = NULL;
- int bufferSize = MAX_PATH;
- while (jvmPath == NULL) {
- DWORD result;
- jvmPath = malloc(bufferSize);
- if (jvmPath == NULL)
- return FALSE;
- result = GetModuleFileName(jvm, jvmPath, bufferSize);
- if (result == 0)
- return FALSE;
- if (result == bufferSize) { // didn't fit
- bufferSize += MAX_PATH; // increase buffer size, try again
- free(jvmPath);
- jvmPath = NULL;
- }
- }
-
- getParent(jvmPath, jvmPath);
- useNative = (!strcmp("kernel", jvmPath + strlen(jvmPath) -
- strlen("kernel"))); // true if jvm.dll lives in "kernel"
- if (useNative)
- setlocale(LC_ALL, "");
- free(jvmPath);
- }
- initialized = TRUE;
- }
- return useNative;
-}
-
-jstring nativeNewStringPlatform(JNIEnv *env, const char *str) {
- static jmethodID String_char_constructor;
- if (useNativeConverter(env)) {
- // use native Unicode conversion so Kernel isn't required during
- // System.initProperties
- jcharArray chars = 0;
- wchar_t *utf16;
- int len;
- jstring result = NULL;
-
- if (getFastEncoding() == NO_ENCODING_YET)
- initializeEncoding(env);
-
- len = mbstowcs(NULL, str, strlen(str));
- if (len == -1)
- return NULL;
- utf16 = calloc(len + 1, 2);
- if (mbstowcs(utf16, str, len) == -1)
- return NULL;
- chars = (*env)->NewCharArray(env, len);
- if (chars == NULL)
- return NULL;
- (*env)->SetCharArrayRegion(env, chars, 0, len, utf16);
- if (String_char_constructor == NULL)
- String_char_constructor = (*env)->GetMethodID(env,
- JNU_ClassString(env), "<init>", "([C)V");
- result = (*env)->NewObject(env, JNU_ClassString(env),
- String_char_constructor, chars);
- free(utf16);
- return result;
- }
- else
- return NULL;
-}
-
-
-char* nativeGetStringPlatformChars(JNIEnv *env, jstring jstr, jboolean *isCopy) {
- if (useNativeConverter(env)) {
- // use native Unicode conversion so Kernel isn't required during
- // System.initProperties
- char *result = NULL;
- size_t len;
- const jchar* utf16 = (*env)->GetStringChars(env, jstr, NULL);
- len = wcstombs(NULL, utf16, (*env)->GetStringLength(env, jstr) * 4) + 1;
- if (len == -1)
- return NULL;
- result = (char*) malloc(len);
- if (result != NULL) {
- if (wcstombs(result, utf16, len) == -1)
- return NULL;
- (*env)->ReleaseStringChars(env, jstr, utf16);
- if (isCopy)
- *isCopy = JNI_TRUE;
- }
- return result;
- }
- else
- return NULL;
-}
-
void* getProcessHandle() {
return (void*)GetModuleHandle(NULL);
}
diff --git a/jdk/src/windows/native/java/io/Console_md.c b/jdk/src/windows/native/java/io/Console_md.c
index 5d5cec5..173b2ff 100644
--- a/jdk/src/windows/native/java/io/Console_md.c
+++ b/jdk/src/windows/native/java/io/Console_md.c
@@ -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
diff --git a/jdk/src/windows/native/java/io/WinNTFileSystem_md.c b/jdk/src/windows/native/java/io/WinNTFileSystem_md.c
index ec7d9d7..cfaeccd 100644
--- a/jdk/src/windows/native/java/io/WinNTFileSystem_md.c
+++ b/jdk/src/windows/native/java/io/WinNTFileSystem_md.c
@@ -360,7 +360,6 @@
jobject file)
{
jint rv = 0;
- jint pathlen;
WCHAR *pathbuf = fileToNTPath(env, file, ids.path);
if (pathbuf == NULL)
diff --git a/jdk/src/windows/native/java/lang/ProcessImpl_md.c b/jdk/src/windows/native/java/lang/ProcessImpl_md.c
index da7d00b..6721cc1 100644
--- a/jdk/src/windows/native/java/lang/ProcessImpl_md.c
+++ b/jdk/src/windows/native/java/lang/ProcessImpl_md.c
@@ -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
@@ -79,7 +79,7 @@
/*Good suggestion about 2-bytes-per-symbol in localized error reports*/
char utf8_javaMessage[MESSAGE_LENGTH*2];
const int errnum = (int)GetLastError();
- int n = os_error_message(errnum, utf16_OSErrorMsg, ARRAY_SIZE(utf16_OSErrorMsg));
+ size_t n = os_error_message(errnum, utf16_OSErrorMsg, ARRAY_SIZE(utf16_OSErrorMsg));
n = (n > 0)
? swprintf(utf16_javaMessage, MESSAGE_LENGTH, L"%s error=%d, %s", functionName, errnum, utf16_OSErrorMsg)
: swprintf(utf16_javaMessage, MESSAGE_LENGTH, L"%s failed, error=%d", functionName, errnum);
diff --git a/jdk/src/windows/native/java/lang/java_props_md.c b/jdk/src/windows/native/java/lang/java_props_md.c
index 4dee31a..2e80a71 100644
--- a/jdk/src/windows/native/java/lang/java_props_md.c
+++ b/jdk/src/windows/native/java/lang/java_props_md.c
@@ -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
@@ -28,6 +28,9 @@
#define _WIN32_WINNT 0x0601
#endif
+#include "jni.h"
+#include "jni_util.h"
+
#include <windows.h>
#include <shlobj.h>
#include <objidl.h>
@@ -51,7 +54,7 @@
#endif
typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
-static void SetupI18nProps(LCID lcid, char** language, char** script, char** country,
+static boolean SetupI18nProps(LCID lcid, char** language, char** script, char** country,
char** variant, char** encoding);
#define PROPSIZE 9 // eight-letter + null terminator
@@ -60,8 +63,11 @@
static char *
getEncodingInternal(LCID lcid)
{
- char * ret = malloc(16);
int codepage;
+ char * ret = malloc(16);
+ if (ret == NULL) {
+ return NULL;
+ }
if (GetLocaleInfo(lcid,
LOCALE_IDEFAULTANSICODEPAGE,
@@ -132,7 +138,11 @@
static char* getConsoleEncoding()
{
char* buf = malloc(16);
- int cp = GetConsoleCP();
+ int cp;
+ if (buf == NULL) {
+ return NULL;
+ }
+ cp = GetConsoleCP();
if (cp >= 874 && cp <= 950)
sprintf(buf, "ms%d", cp);
else
@@ -152,25 +162,33 @@
getJavaIDFromLangID(LANGID langID)
{
char * elems[5]; // lang, script, ctry, variant, encoding
- char * ret = malloc(SNAMESIZE);
+ char * ret;
int index;
- SetupI18nProps(MAKELCID(langID, SORT_DEFAULT),
- &(elems[0]), &(elems[1]), &(elems[2]), &(elems[3]), &(elems[4]));
-
- // there always is the "language" tag
- strcpy(ret, elems[0]);
-
- // append other elements, if any
- for (index = 1; index < 4; index++) {
- if ((elems[index])[0] != '\0') {
- strcat(ret, "-");
- strcat(ret, elems[index]);
- }
+ ret = malloc(SNAMESIZE);
+ if (ret == NULL) {
+ return NULL;
}
- for (index = 0; index < 5; index++) {
- free(elems[index]);
+ if (SetupI18nProps(MAKELCID(langID, SORT_DEFAULT),
+ &(elems[0]), &(elems[1]), &(elems[2]), &(elems[3]), &(elems[4]))) {
+
+ // there always is the "language" tag
+ strcpy(ret, elems[0]);
+
+ // append other elements, if any
+ for (index = 1; index < 4; index++) {
+ if ((elems[index])[0] != '\0') {
+ strcat(ret, "-");
+ strcat(ret, elems[index]);
+ }
+ }
+
+ for (index = 0; index < 5; index++) {
+ free(elems[index]);
+ }
+ } else {
+ ret = NULL;
}
return ret;
@@ -259,12 +277,15 @@
return NULL;
}
-static void
+static boolean
SetupI18nProps(LCID lcid, char** language, char** script, char** country,
char** variant, char** encoding) {
/* script */
char tmp[SNAMESIZE];
*script = malloc(PROPSIZE);
+ if (*script == NULL) {
+ return FALSE;
+ }
if (GetLocaleInfo(lcid,
LOCALE_SNAME, tmp, SNAMESIZE) == 0 ||
sscanf(tmp, "%*[a-z\\-]%1[A-Z]%[a-z]", *script, &((*script)[1])) == 0 ||
@@ -274,6 +295,9 @@
/* country */
*country = malloc(PROPSIZE);
+ if (*country == NULL) {
+ return FALSE;
+ }
if (GetLocaleInfo(lcid,
LOCALE_SISO3166CTRYNAME, *country, PROPSIZE) == 0 &&
GetLocaleInfo(lcid,
@@ -283,6 +307,9 @@
/* language */
*language = malloc(PROPSIZE);
+ if (*language == NULL) {
+ return FALSE;
+ }
if (GetLocaleInfo(lcid,
LOCALE_SISO639LANGNAME, *language, PROPSIZE) == 0 &&
GetLocaleInfo(lcid,
@@ -294,6 +321,9 @@
/* variant */
*variant = malloc(PROPSIZE);
+ if (*variant == NULL) {
+ return FALSE;
+ }
(*variant)[0] = '\0';
/* handling for Norwegian */
@@ -308,6 +338,10 @@
/* encoding */
*encoding = getEncodingInternal(lcid);
+ if (*encoding == NULL) {
+ return FALSE;
+ }
+ return TRUE;
}
java_props_t *
diff --git a/jdk/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c b/jdk/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c
index d0f09d5..12be2b5 100644
--- a/jdk/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c
+++ b/jdk/src/windows/native/java/net/DualStackPlainDatagramSocketImpl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
@@ -55,7 +55,7 @@
break;
}
if (recvfrom(fd, buf, 1, MSG_PEEK,
- (struct sockaddr *)&rmtaddr, &addrlen) != JVM_IO_ERR) {
+ (struct sockaddr *)&rmtaddr, &addrlen) != SOCKET_ERROR) {
break;
}
if (WSAGetLastError() != WSAECONNRESET) {
@@ -72,6 +72,17 @@
/*
* Class: java_net_DualStackPlainDatagramSocketImpl
+ * Method: initIDs
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_java_net_DualStackPlainDatagramSocketImpl_initIDs
+ (JNIEnv *env, jclass clazz)
+{
+ initInetAddressIDs(env);
+}
+
+/*
+ * Class: java_net_DualStackPlainDatagramSocketImpl
* Method: socketCreate
* Signature: (Z)I
*/
@@ -201,7 +212,7 @@
int len = sizeof(sa);
if (getsockname(fd, (struct sockaddr *)&sa, &len) == SOCKET_ERROR) {
- NET_ThrowNew(env, WSAGetLastError(), "JVM_GetSockName");
+ NET_ThrowNew(env, WSAGetLastError(), "getsockname");
return -1;
}
return (int) ntohs((u_short)GET_PORT(&sa));
@@ -284,12 +295,9 @@
if (rv == 0) {
JNU_ThrowByName(env,JNU_JAVANETPKG "SocketTimeoutException",
"Receive timed out");
- } else if (rv == JVM_IO_ERR) {
+ } else if (rv == -1) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Socket closed");
- } else if (rv == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
}
if (packetBufferLen > MAX_BUFFER_LEN) {
free(fullPacket);
@@ -409,7 +417,7 @@
int rv;
if (connected) {
- sap = 0; /* arg to JVM_Sendto () null in this case */
+ sap = 0; /* arg to sendto () null in this case */
sa_len = 0;
} else {
if (NET_InetAddressToSockaddr(env, iaObj, port, (struct sockaddr *)&sa,
@@ -438,11 +446,8 @@
(jbyte *)fullPacket);
rv = sendto(fd, fullPacket, length, 0, (struct sockaddr *)sap, sa_len);
if (rv == SOCKET_ERROR) {
- if (rv == JVM_IO_ERR) {
+ if (rv == -1) {
NET_ThrowNew(env, WSAGetLastError(), "Datagram send failed");
- } else if (rv == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
}
}
diff --git a/jdk/src/windows/native/java/net/DualStackPlainSocketImpl.c b/jdk/src/windows/native/java/net/DualStackPlainSocketImpl.c
index 186e0b1..f6c0922 100644
--- a/jdk/src/windows/native/java/net/DualStackPlainSocketImpl.c
+++ b/jdk/src/windows/native/java/net/DualStackPlainSocketImpl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
@@ -98,7 +98,7 @@
rv = NET_WinBind(fd, (struct sockaddr *)&sa, sa_len, exclBind);
if (rv == SOCKET_ERROR)
- NET_ThrowNew(env, WSAGetLastError(), "JVM_Bind");
+ NET_ThrowNew(env, WSAGetLastError(), "NET_Bind");
}
/*
@@ -451,10 +451,8 @@
unsigned char d = (unsigned char) data & 0xff;
n = send(fd, (char *)&data, 1, MSG_OOB);
- if (n == JVM_IO_ERR) {
+ if (n == SOCKET_ERROR) {
NET_ThrowNew(env, WSAGetLastError(), "send");
- } else if (n == JVM_IO_INTR) {
- JNU_ThrowByName(env, "java/io/InterruptedIOException", 0);
}
}
diff --git a/jdk/src/windows/native/java/net/Inet4AddressImpl.c b/jdk/src/windows/native/java/net/Inet4AddressImpl.c
index f21f2de..e953939 100644
--- a/jdk/src/windows/native/java/net/Inet4AddressImpl.c
+++ b/jdk/src/windows/native/java/net/Inet4AddressImpl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -477,7 +477,7 @@
* Can't create a raw socket, so let's try a TCP socket
*/
fd = NET_Socket(AF_INET, SOCK_STREAM, 0);
- if (fd == JVM_IO_ERR) {
+ if (fd == SOCKET_ERROR) {
/* note: if you run out of fds, you may not be able to load
* the exception class, and get a NoClassDefFoundError
* instead.
diff --git a/jdk/src/windows/native/java/net/Inet6AddressImpl.c b/jdk/src/windows/native/java/net/Inet6AddressImpl.c
index cac70b3..417f897 100644
--- a/jdk/src/windows/native/java/net/Inet6AddressImpl.c
+++ b/jdk/src/windows/native/java/net/Inet6AddressImpl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -221,14 +221,14 @@
(*env)->SetObjectArrayElement(env, ret, inetIndex, iaObj);
inetIndex ++;
} else if (iterator->ai_family == AF_INET6) {
- jint scope = 0, ret1;
+ jint scope = 0;
+ jboolean ret1;
jobject iaObj = (*env)->NewObject(env, ia6_class, ia6_ctrID);
if (IS_NULL(iaObj)) {
ret = NULL;
goto cleanupAndReturn;
}
ret1 = setInet6Address_ipaddress(env, iaObj, (jbyte *)&(((struct sockaddr_in6*)iterator->ai_addr)->sin6_addr));
-
if (ret1 == JNI_FALSE) {
ret = NULL;
goto cleanupAndReturn;
@@ -563,7 +563,7 @@
/* No good, let's fall back on TCP */
fd = NET_Socket(AF_INET6, SOCK_STREAM, 0);
- if (fd == JVM_IO_ERR) {
+ if (fd == SOCKET_ERROR) {
/* note: if you run out of fds, you may not be able to load
* the exception class, and get a NoClassDefFoundError
* instead.
diff --git a/jdk/src/windows/native/java/net/NetworkInterface.c b/jdk/src/windows/native/java/net/NetworkInterface.c
index 44e9a61..84ba46d 100644
--- a/jdk/src/windows/native/java/net/NetworkInterface.c
+++ b/jdk/src/windows/native/java/net/NetworkInterface.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -614,7 +614,7 @@
int scope;
iaObj = (*env)->NewObject(env, ia6_class, ia6_ctrID);
if (iaObj) {
- int ret = setInet6Address_ipaddress(env, iaObj, (jbyte *)&(addrs->addr.him6.sin6_addr.s6_addr));
+ jboolean ret = setInet6Address_ipaddress(env, iaObj, (jbyte *)&(addrs->addr.him6.sin6_addr.s6_addr));
if (ret == JNI_FALSE) {
return NULL;
}
diff --git a/jdk/src/windows/native/java/net/NetworkInterface.h b/jdk/src/windows/native/java/net/NetworkInterface.h
index 929ac50..3bf4ed0 100644
--- a/jdk/src/windows/native/java/net/NetworkInterface.h
+++ b/jdk/src/windows/native/java/net/NetworkInterface.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2012, 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
diff --git a/jdk/src/windows/native/java/net/NetworkInterface_winXP.c b/jdk/src/windows/native/java/net/NetworkInterface_winXP.c
index 4d29e7f..e5580c6 100644
--- a/jdk/src/windows/native/java/net/NetworkInterface_winXP.c
+++ b/jdk/src/windows/native/java/net/NetworkInterface_winXP.c
@@ -549,7 +549,7 @@
int scope;
iaObj = (*env)->NewObject(env, ia6_class, ia6_ctrID);
if (iaObj) {
- int ret = setInet6Address_ipaddress(env, iaObj, (jbyte *)&(addrs->addr.him6.sin6_addr.s6_addr));
+ jboolean ret = setInet6Address_ipaddress(env, iaObj, (jbyte *)&(addrs->addr.him6.sin6_addr.s6_addr));
if (ret == JNI_FALSE) {
return NULL;
}
diff --git a/jdk/src/windows/native/java/net/SocketInputStream.c b/jdk/src/windows/native/java/net/SocketInputStream.c
index 223424a..fe0adfb 100644
--- a/jdk/src/windows/native/java/net/SocketInputStream.c
+++ b/jdk/src/windows/native/java/net/SocketInputStream.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, 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
@@ -105,11 +105,8 @@
if (ret == 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Read timed out");
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", "socket closed");
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "Operation interrupted");
}
if (bufP != BUF) {
free(bufP);
diff --git a/jdk/src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c b/jdk/src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c
index 3f0a211..9edc799 100644
--- a/jdk/src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c
+++ b/jdk/src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c
@@ -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
@@ -353,7 +353,7 @@
break;
}
if (recvfrom(fd, buf, 1, MSG_PEEK,
- (struct sockaddr *)&rmtaddr, &addrlen) != JVM_IO_ERR) {
+ (struct sockaddr *)&rmtaddr, &addrlen) != SOCKET_ERROR) {
break;
}
if (WSAGetLastError() != WSAECONNRESET) {
@@ -508,7 +508,7 @@
fd = fd1;
}
if (getsockname(fd, (struct sockaddr *)&lcladdr, &lcladdrlen) == -1) {
- NET_ThrowCurrent(env, "JVM_GetSockName");
+ NET_ThrowCurrent(env, "getsockname");
return;
}
port = ntohs((u_short) GET_PORT (&lcladdr));
@@ -700,7 +700,7 @@
}
if (connected) {
- addrp = 0; /* arg to JVM_Sendto () null in this case */
+ addrp = 0; /* arg to sendto () null in this case */
addrlen = 0;
} else {
if (NET_InetAddressToSockaddr(env, iaObj, packetPort, (struct sockaddr *)&rmtaddr, &addrlen, JNI_FALSE) != 0) {
@@ -757,15 +757,9 @@
(*env)->GetByteArrayRegion(env, packetBuffer, packetBufferOffset, packetBufferLen,
(jbyte *)fullPacket);
- switch (sendto(fd, fullPacket, packetBufferLen, 0,
- (struct sockaddr *)addrp, addrlen)) {
- case JVM_IO_ERR:
- NET_ThrowCurrent(env, "Datagram send failed");
- break;
-
- case JVM_IO_INTR:
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
+ if (sendto(fd, fullPacket, packetBufferLen, 0,
+ (struct sockaddr *)addrp, addrlen) == SOCKET_ERROR) {
+ NET_ThrowCurrent(env, "Datagram send failed");
}
if (packetBufferLen > MAX_BUFFER_LEN) {
@@ -851,13 +845,9 @@
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Peek timed out");
return ret;
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
NET_ThrowCurrent(env, "timeout in datagram socket peek");
return ret;
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
- return ret;
}
}
@@ -865,7 +855,7 @@
n = recvfrom(fd, buf, 1, MSG_PEEK,
(struct sockaddr *)&remote_addr, &remote_addrsize);
- if (n == JVM_IO_ERR) {
+ if (n == SOCKET_ERROR) {
if (WSAGetLastError() == WSAECONNRESET) {
jboolean connected;
@@ -905,14 +895,10 @@
}
} while (retry);
- if (n == JVM_IO_ERR && WSAGetLastError() != WSAEMSGSIZE) {
+ if (n == SOCKET_ERROR && WSAGetLastError() != WSAEMSGSIZE) {
NET_ThrowCurrent(env, "Datagram peek failed");
return 0;
}
- if (n == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException", 0);
- return 0;
- }
setInetAddress_addr(env, addressObj, ntohl(remote_addr.sin_addr.s_addr));
setInetAddress_family(env, addressObj, IPv4);
@@ -1035,11 +1021,8 @@
if (ret == 0) {
JNU_ThrowByName(env,JNU_JAVANETPKG "SocketTimeoutException",
"Peek timed out");
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
NET_ThrowCurrent(env, "timeout in datagram socket peek");
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
}
if (packetBufferLen > MAX_BUFFER_LEN) {
free(fullPacket);
@@ -1059,12 +1042,9 @@
if (ret == 0) {
JNU_ThrowByName(env,JNU_JAVANETPKG "SocketTimeoutException",
"Receive timed out");
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Socket closed");
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
}
if (packetBufferLen > MAX_BUFFER_LEN) {
free(fullPacket);
@@ -1077,7 +1057,7 @@
n = recvfrom(fduse, fullPacket, packetBufferLen, MSG_PEEK,
(struct sockaddr *)&remote_addr, &remote_addrsize);
port = (int) ntohs ((u_short) GET_PORT((SOCKETADDRESS *)&remote_addr));
- if (n == JVM_IO_ERR) {
+ if (n == SOCKET_ERROR) {
if (WSAGetLastError() == WSAECONNRESET) {
jboolean connected;
@@ -1244,12 +1224,9 @@
if (ret == 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Receive timed out");
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Socket closed");
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
}
return;
}
@@ -1324,12 +1301,9 @@
if (ret == 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Receive timed out");
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Socket closed");
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
}
if (packetBufferLen > MAX_BUFFER_LEN) {
free(fullPacket);
@@ -1348,7 +1322,7 @@
n = recvfrom(fduse, fullPacket, packetBufferLen, 0,
(struct sockaddr *)&remote_addr, &remote_addrsize);
- if (n == JVM_IO_ERR) {
+ if (n == SOCKET_ERROR) {
if (WSAGetLastError() == WSAECONNRESET) {
/*
* An icmp port unreachable has been received - consume any other
@@ -1392,12 +1366,9 @@
if (ret == 0) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketTimeoutException",
"Receive timed out");
- } else if (ret == JVM_IO_ERR) {
+ } else if (ret == -1) {
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
"Socket closed");
- } else if (ret == JVM_IO_INTR) {
- JNU_ThrowByName(env, JNU_JAVAIOPKG "InterruptedIOException",
- "operation interrupted");
}
if (packetBufferLen > MAX_BUFFER_LEN) {
free(fullPacket);
@@ -1500,7 +1471,7 @@
} else {
fd = (int) socket (AF_INET, SOCK_DGRAM, 0);
}
- if (fd == JVM_IO_ERR) {
+ if (fd == SOCKET_ERROR) {
NET_ThrowCurrent(env, "Socket creation failed");
return;
}
@@ -1518,7 +1489,7 @@
WSAIoctl(fd,SIO_UDP_CONNRESET,&t,sizeof(t),&x1,sizeof(x1),&x2,0,0);
t = TRUE;
fd1 = socket (AF_INET6, SOCK_DGRAM, 0);
- if (fd1 == JVM_IO_ERR) {
+ if (fd1 == SOCKET_ERROR) {
NET_ThrowCurrent(env, "Socket creation failed");
return;
}
@@ -1646,6 +1617,7 @@
}
static int isAdapterIpv6Enabled(JNIEnv *env, int index) {
+ extern int getAllInterfacesAndAddresses (JNIEnv *env, netif **netifPP);
netif *ifList, *curr;
int ipv6Enabled = 0;
if (getAllInterfacesAndAddresses (env, &ifList) < 0) {
diff --git a/jdk/src/windows/native/java/net/TwoStacksPlainSocketImpl.c b/jdk/src/windows/native/java/net/TwoStacksPlainSocketImpl.c
index f535073..eb5ee1c 100644
--- a/jdk/src/windows/native/java/net/TwoStacksPlainSocketImpl.c
+++ b/jdk/src/windows/native/java/net/TwoStacksPlainSocketImpl.c
@@ -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
@@ -37,7 +37,6 @@
#include "java_io_FileDescriptor.h"
#include "java_lang_Integer.h"
-#include "jvm.h"
#include "net_util.h"
#include "jni_util.h"
@@ -473,7 +472,7 @@
}
if (rv == -1) {
- NET_ThrowCurrent(env, "JVM_Bind");
+ NET_ThrowCurrent(env, "NET_Bind");
return;
}
@@ -575,7 +574,6 @@
{
/* fields on this */
jint port;
- jint scope;
jint timeout = (*env)->GetIntField(env, this, psi_timeoutID);
jobject fdObj = (*env)->GetObjectField(env, this, psi_fdID);
jobject fd1Obj = (*env)->GetObjectField(env, this, psi_fd1ID);
@@ -750,7 +748,7 @@
NET_SocketClose(fd);
return;
}
- setInet6Address_ipaddress(env, socketAddressObj, (const char *)&him.him6.sin6_addr);
+ setInet6Address_ipaddress(env, socketAddressObj, (char *)&him.him6.sin6_addr);
setInetAddress_family(env, socketAddressObj, IPv6);
setInet6Address_scopeid(env, socketAddressObj, him.him6.sin6_scope_id);
@@ -1163,12 +1161,8 @@
}
n = send(fd, (char *)&data, 1, MSG_OOB);
- if (n == JVM_IO_ERR) {
+ if (n == -1) {
NET_ThrowCurrent(env, "send");
return;
}
- if (n == JVM_IO_INTR) {
- JNU_ThrowByName(env, "java/io/InterruptedIOException", 0);
- return;
- }
}
diff --git a/jdk/src/windows/native/java/net/icmp.h b/jdk/src/windows/native/java/net/icmp.h
index 159a52f..5036255 100644
--- a/jdk/src/windows/native/java/net/icmp.h
+++ b/jdk/src/windows/native/java/net/icmp.h
@@ -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
diff --git a/jdk/src/windows/native/java/net/net_util_md.c b/jdk/src/windows/native/java/net/net_util_md.c
index 1cacb57..f9a61bf 100644
--- a/jdk/src/windows/native/java/net/net_util_md.c
+++ b/jdk/src/windows/native/java/net/net_util_md.c
@@ -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
diff --git a/jdk/src/windows/native/java/net/net_util_md.h b/jdk/src/windows/native/java/net/net_util_md.h
index 6964d9d..db69716 100644
--- a/jdk/src/windows/native/java/net/net_util_md.h
+++ b/jdk/src/windows/native/java/net/net_util_md.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2011, 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
diff --git a/jdk/src/windows/native/java/util/WindowsPreferences.c b/jdk/src/windows/native/java/util/prefs/WindowsPreferences.c
similarity index 100%
rename from jdk/src/windows/native/java/util/WindowsPreferences.c
rename to jdk/src/windows/native/java/util/prefs/WindowsPreferences.c
diff --git a/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c b/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c
index 7ed415d..ddbc006 100644
--- a/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c
+++ b/jdk/src/windows/native/sun/awt/splashscreen/splashscreen_sys.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/windows/native/sun/font/fontpath.c b/jdk/src/windows/native/sun/font/fontpath.c
index 892e207..21bda1f 100644
--- a/jdk/src/windows/native/sun/font/fontpath.c
+++ b/jdk/src/windows/native/sun/font/fontpath.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, 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
diff --git a/jdk/src/windows/native/sun/font/lcdglyph.c b/jdk/src/windows/native/sun/font/lcdglyph.c
index b24a305..05f4aae 100644
--- a/jdk/src/windows/native/sun/font/lcdglyph.c
+++ b/jdk/src/windows/native/sun/font/lcdglyph.c
@@ -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
diff --git a/jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h b/jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h
index 5f4cee4..e16d194 100644
--- a/jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h
+++ b/jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h
@@ -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
diff --git a/jdk/src/windows/native/sun/java2d/d3d/D3DPipeline.h b/jdk/src/windows/native/sun/java2d/d3d/D3DPipeline.h
index 7eda48f..2001985 100644
--- a/jdk/src/windows/native/sun/java2d/d3d/D3DPipeline.h
+++ b/jdk/src/windows/native/sun/java2d/d3d/D3DPipeline.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
diff --git a/jdk/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp b/jdk/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp
index 750653c..ac98701 100644
--- a/jdk/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp
+++ b/jdk/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
diff --git a/jdk/src/windows/native/sun/java2d/d3d/D3DTextRenderer.cpp b/jdk/src/windows/native/sun/java2d/d3d/D3DTextRenderer.cpp
index 335d464..7bd843b 100644
--- a/jdk/src/windows/native/sun/java2d/d3d/D3DTextRenderer.cpp
+++ b/jdk/src/windows/native/sun/java2d/d3d/D3DTextRenderer.cpp
@@ -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
diff --git a/jdk/src/windows/native/sun/java2d/opengl/OGLFuncs_md.h b/jdk/src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
index cfeb81b..df1fa55 100644
--- a/jdk/src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+++ b/jdk/src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2011, 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
diff --git a/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c b/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c
index ffcb95b..d316a63 100644
--- a/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c
+++ b/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp b/jdk/src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp
index d6115e36..90e0c8a 100644
--- a/jdk/src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp
+++ b/jdk/src/windows/native/sun/java2d/windows/GDIBlitLoops.cpp
@@ -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
diff --git a/jdk/src/windows/native/sun/java2d/windows/GDIRenderer.cpp b/jdk/src/windows/native/sun/java2d/windows/GDIRenderer.cpp
index 5752ca4..f8a1683 100644
--- a/jdk/src/windows/native/sun/java2d/windows/GDIRenderer.cpp
+++ b/jdk/src/windows/native/sun/java2d/windows/GDIRenderer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, 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
diff --git a/jdk/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp b/jdk/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp
index 2d5532b..6eba25a 100644
--- a/jdk/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp
+++ b/jdk/src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, 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
diff --git a/jdk/src/windows/native/sun/management/OperatingSystemImpl.c b/jdk/src/windows/native/sun/management/OperatingSystemImpl.c
index 260f9f6..412212f 100644
--- a/jdk/src/windows/native/sun/management/OperatingSystemImpl.c
+++ b/jdk/src/windows/native/sun/management/OperatingSystemImpl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/src/windows/native/java/util/logging.c b/jdk/src/windows/native/sun/misc/VM_md.c
similarity index 90%
rename from jdk/src/windows/native/java/util/logging.c
rename to jdk/src/windows/native/sun/misc/VM_md.c
index 41b7cf6..165ad27 100644
--- a/jdk/src/windows/native/java/util/logging.c
+++ b/jdk/src/windows/native/sun/misc/VM_md.c
@@ -23,15 +23,11 @@
* questions.
*/
-/*
- * Win32 specific code to support logging.
- */
-
#include "jni_util.h"
JNIEXPORT jboolean JNICALL
-Java_java_util_logging_FileHandler_isSetUID(JNIEnv *env, jclass thisclass) {
+Java_sun_misc_VM_isSetUID(JNIEnv *env, jclass thisclass) {
/* There is no set UID on Windows. */
return JNI_FALSE;
diff --git a/jdk/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c b/jdk/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c
index 8e465e7..bd4a971 100644
--- a/jdk/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c
+++ b/jdk/src/windows/native/sun/net/dns/ResolverConfigurationImpl.c
@@ -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
diff --git a/jdk/src/windows/native/sun/net/spi/DefaultProxySelector.c b/jdk/src/windows/native/sun/net/spi/DefaultProxySelector.c
index 3dffe94..e6727a7 100644
--- a/jdk/src/windows/native/sun/net/spi/DefaultProxySelector.c
+++ b/jdk/src/windows/native/sun/net/spi/DefaultProxySelector.c
@@ -45,9 +45,6 @@
static jfieldID ptype_httpID;
static jfieldID ptype_socksID;
-#define CHECK_NULL(X) { if ((X) == NULL) fprintf (stderr,"JNI errror at line %d\n", __LINE__); }
-
-
/*
* Class: sun_net_spi_DefaultProxySelector
* Method: init
@@ -62,17 +59,30 @@
/**
* Get all the method & field IDs for later use.
*/
- CHECK_NULL(cls = (*env)->FindClass(env,"java/net/Proxy"));
+ cls = (*env)->FindClass(env,"java/net/Proxy");
+ CHECK_NULL_RETURN(cls, JNI_FALSE);
proxy_class = (*env)->NewGlobalRef(env, cls);
- CHECK_NULL(cls = (*env)->FindClass(env,"java/net/Proxy$Type"));
+ CHECK_NULL_RETURN(proxy_class, JNI_FALSE);
+ cls = (*env)->FindClass(env,"java/net/Proxy$Type");
+ CHECK_NULL_RETURN(cls, JNI_FALSE);
ptype_class = (*env)->NewGlobalRef(env, cls);
- CHECK_NULL(cls = (*env)->FindClass(env, "java/net/InetSocketAddress"));
+ CHECK_NULL_RETURN(ptype_class, JNI_FALSE);
+ cls = (*env)->FindClass(env, "java/net/InetSocketAddress");
+ CHECK_NULL_RETURN(cls, JNI_FALSE);
isaddr_class = (*env)->NewGlobalRef(env, cls);
- proxy_ctrID = (*env)->GetMethodID(env, proxy_class, "<init>", "(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V");
+ CHECK_NULL_RETURN(isaddr_class, JNI_FALSE);
+ proxy_ctrID = (*env)->GetMethodID(env, proxy_class, "<init>",
+ "(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V");
+ CHECK_NULL_RETURN(proxy_ctrID, JNI_FALSE);
pr_no_proxyID = (*env)->GetStaticFieldID(env, proxy_class, "NO_PROXY", "Ljava/net/Proxy;");
+ CHECK_NULL_RETURN(pr_no_proxyID, JNI_FALSE);
ptype_httpID = (*env)->GetStaticFieldID(env, ptype_class, "HTTP", "Ljava/net/Proxy$Type;");
+ CHECK_NULL_RETURN(ptype_httpID, JNI_FALSE);
ptype_socksID = (*env)->GetStaticFieldID(env, ptype_class, "SOCKS", "Ljava/net/Proxy$Type;");
- isaddr_createUnresolvedID = (*env)->GetStaticMethodID(env, isaddr_class, "createUnresolved", "(Ljava/lang/String;I)Ljava/net/InetSocketAddress;");
+ CHECK_NULL_RETURN(ptype_socksID, JNI_FALSE);
+ isaddr_createUnresolvedID = (*env)->GetStaticMethodID(env, isaddr_class, "createUnresolved",
+ "(Ljava/lang/String;I)Ljava/net/InetSocketAddress;");
+ CHECK_NULL_RETURN(isaddr_createUnresolvedID, JNI_FALSE);
/**
* Let's see if we can find the proper Registry entry.
@@ -169,6 +179,11 @@
*/
s = strtok(override, "; ");
urlhost = (*env)->GetStringUTFChars(env, host, &isCopy);
+ if (urlhost == NULL) {
+ if (!(*env)->ExceptionCheck(env))
+ JNU_ThrowOutOfMemoryError(env, NULL);
+ return NULL;
+ }
while (s != NULL) {
if (strncmp(s, urlhost, strlen(s)) == 0) {
/**
@@ -186,8 +201,11 @@
}
cproto = (*env)->GetStringUTFChars(env, proto, &isCopy);
- if (cproto == NULL)
- goto noproxy;
+ if (cproto == NULL) {
+ if (!(*env)->ExceptionCheck(env))
+ JNU_ThrowOutOfMemoryError(env, NULL);
+ return NULL;
+ }
/*
* Set default port value & proxy type from protocol.
@@ -245,7 +263,9 @@
if (pport == 0)
pport = defport;
jhost = (*env)->NewStringUTF(env, phost);
+ CHECK_NULL_RETURN(jhost, NULL);
isa = (*env)->CallStaticObjectMethod(env, isaddr_class, isaddr_createUnresolvedID, jhost, pport);
+ CHECK_NULL_RETURN(isa, NULL);
proxy = (*env)->NewObject(env, proxy_class, proxy_ctrID, type_proxy, isa);
return proxy;
}
diff --git a/jdk/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c b/jdk/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c
index 783f122..4d4f6f1 100644
--- a/jdk/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c
+++ b/jdk/src/windows/native/sun/net/www/protocol/http/ntlm/NTLMAuthSequence.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/src/windows/native/sun/nio/ch/Net.c b/jdk/src/windows/native/sun/nio/ch/Net.c
index acaa50d..9720d80 100644
--- a/jdk/src/windows/native/sun/nio/ch/Net.c
+++ b/jdk/src/windows/native/sun/nio/ch/Net.c
@@ -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
diff --git a/jdk/src/windows/native/sun/nio/ch/SocketChannelImpl.c b/jdk/src/windows/native/sun/nio/ch/SocketChannelImpl.c
index 5f9fc50..4ba86a9 100644
--- a/jdk/src/windows/native/sun/nio/ch/SocketChannelImpl.c
+++ b/jdk/src/windows/native/sun/nio/ch/SocketChannelImpl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/windows/native/sun/nio/ch/SocketDispatcher.c b/jdk/src/windows/native/sun/nio/ch/SocketDispatcher.c
index db45416..e8a7186 100644
--- a/jdk/src/windows/native/sun/nio/ch/SocketDispatcher.c
+++ b/jdk/src/windows/native/sun/nio/ch/SocketDispatcher.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c b/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c
index 3b981f3..ca037bf 100644
--- a/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c
+++ b/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c
@@ -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
diff --git a/jdk/src/windows/native/sun/security/krb5/NativeCreds.c b/jdk/src/windows/native/sun/security/krb5/NativeCreds.c
index 9f0db51..ab0ee03 100644
--- a/jdk/src/windows/native/sun/security/krb5/NativeCreds.c
+++ b/jdk/src/windows/native/sun/security/krb5/NativeCreds.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -463,6 +463,10 @@
netypes = (*env)->GetArrayLength(env, jetypes);
etypes = (jint *) (*env)->GetIntArrayElements(env, jetypes, NULL);
+ if (etypes == NULL) {
+ break;
+ }
+
// check TGT validity
if (native_debug) {
printf("LSA: TICKET SessionKey KeyType is %d\n", msticket->SessionKey.KeyType);
@@ -952,8 +956,7 @@
if (native_debug) {
printf("LSA: Can't allocate String array for Principal\n");
}
- LocalFree(realm);
- return principal;
+ goto cleanup;
}
for (i=0; i<nameCount; i++) {
@@ -963,18 +966,32 @@
// OK, got a Char array, so construct a String
tempString = (*env)->NewString(env, (const jchar*)scanner->Buffer,
scanner->Length/sizeof(WCHAR));
+
+ if (tempString == NULL) {
+ goto cleanup;
+ }
+
// Set the String into the StringArray
(*env)->SetObjectArrayElement(env, stringArray, i, tempString);
+ if ((*env)->ExceptionCheck(env)) {
+ goto cleanup;
+ }
+
// Do I have to worry about storage reclamation here?
}
// now set the realm in the principal
realmLen = (ULONG)wcslen((PWCHAR)realm);
realmStr = (*env)->NewString(env, (PWCHAR)realm, (USHORT)realmLen);
+ if (realmStr == NULL) {
+ goto cleanup;
+ }
+
principal = (*env)->NewObject(env, principalNameClass,
principalNameConstructor, stringArray, realmStr);
+cleanup:
// free local resources
LocalFree(realm);
diff --git a/jdk/src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c b/jdk/src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c
index 148282c..9348777 100644
--- a/jdk/src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c
+++ b/jdk/src/windows/native/sun/util/locale/provider/HostLocaleProviderAdapter_md.c
@@ -24,6 +24,7 @@
*/
#include "sun_util_locale_provider_HostLocaleProviderAdapterImpl.h"
+#include "jni_util.h"
#include <windows.h>
#include <gdefs.h>
#include <stdlib.h>
@@ -197,8 +198,13 @@
}
localeString = (char *)getJavaIDFromLangID(langid);
- ret = (*env)->NewStringUTF(env, localeString);
- free(localeString);
+ if (localeString != NULL) {
+ ret = (*env)->NewStringUTF(env, localeString);
+ free(localeString);
+ } else {
+ JNU_ThrowOutOfMemoryError(env, "memory allocation error");
+ ret = NULL;
+ }
return ret;
}
@@ -211,6 +217,7 @@
(JNIEnv *env, jclass cls, jint dateStyle, jint timeStyle, jstring jlangtag) {
WCHAR pattern[BUFLEN];
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ CHECK_NULL_RETURN(langtag, NULL);
pattern[0] = L'\0';
@@ -238,8 +245,11 @@
*/
JNIEXPORT jint JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getCalendarID
(JNIEnv *env, jclass cls, jstring jlangtag) {
- const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- jint ret = getCalendarID(langtag);
+ const jchar *langtag;
+ jint ret;
+ langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ CHECK_NULL_RETURN(langtag, 0);
+ ret = getCalendarID(langtag);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
return ret;
}
@@ -252,10 +262,13 @@
JNIEXPORT jobjectArray JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getAmPmStrings
(JNIEnv *env, jclass cls, jstring jlangtag, jobjectArray ampms) {
WCHAR buf[BUFLEN];
- const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ const jchar *langtag;
// AM
- int got = getLocaleInfoWrapper(langtag, LOCALE_S1159, buf, BUFLEN);
+ int got;
+ langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ CHECK_NULL_RETURN(langtag, NULL);
+ got = getLocaleInfoWrapper(langtag, LOCALE_S1159, buf, BUFLEN);
if (got) {
(*env)->SetObjectArrayElement(env, ampms, 0, (*env)->NewString(env, buf, wcslen(buf)));
}
@@ -280,6 +293,7 @@
(JNIEnv *env, jclass cls, jstring jlangtag, jobjectArray eras) {
WCHAR ad[BUFLEN];
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ CHECK_NULL_RETURN(langtag, eras);
getCalendarInfoWrapper(langtag, getCalendarID(langtag), NULL,
CAL_SERASTRING, ad, BUFLEN, NULL);
@@ -347,10 +361,14 @@
*/
JNIEXPORT jstring JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getNumberPattern
(JNIEnv *env, jclass cls, jint numberStyle, jstring jlangtag) {
- const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ const jchar *langtag;
jstring ret;
+ WCHAR * pattern;
- WCHAR * pattern = getNumberPattern(langtag, numberStyle);
+ langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ CHECK_NULL_RETURN(langtag, NULL);
+ pattern = getNumberPattern(langtag, numberStyle);
+ CHECK_NULL_RETURN(pattern, NULL);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
ret = (*env)->NewString(env, pattern, wcslen(pattern));
@@ -367,8 +385,10 @@
JNIEXPORT jboolean JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_isNativeDigit
(JNIEnv *env, jclass cls, jstring jlangtag) {
DWORD num;
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag,
+ CHECK_NULL_RETURN(langtag, JNI_FALSE);
+ got = getLocaleInfoWrapper(langtag,
LOCALE_IDIGITSUBSTITUTION | LOCALE_RETURN_NUMBER,
(LPWSTR)&num, sizeof(num));
(*env)->ReleaseStringChars(env, jlangtag, langtag);
@@ -384,8 +404,10 @@
JNIEXPORT jstring JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getCurrencySymbol
(JNIEnv *env, jclass cls, jstring jlangtag, jstring currencySymbol) {
WCHAR buf[BUFLEN];
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SCURRENCY, buf, BUFLEN);
+ CHECK_NULL_RETURN(langtag, currencySymbol);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SCURRENCY, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -403,8 +425,10 @@
JNIEXPORT jchar JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getDecimalSeparator
(JNIEnv *env, jclass cls, jstring jlangtag, jchar decimalSeparator) {
WCHAR buf[BUFLEN];
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SDECIMAL, buf, BUFLEN);
+ CHECK_NULL_RETURN(langtag, decimalSeparator);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SDECIMAL, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -422,8 +446,10 @@
JNIEXPORT jchar JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getGroupingSeparator
(JNIEnv *env, jclass cls, jstring jlangtag, jchar groupingSeparator) {
WCHAR buf[BUFLEN];
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_STHOUSAND, buf, BUFLEN);
+ CHECK_NULL_RETURN(langtag, groupingSeparator);
+ got = getLocaleInfoWrapper(langtag, LOCALE_STHOUSAND, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -441,8 +467,10 @@
JNIEXPORT jstring JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getInfinity
(JNIEnv *env, jclass cls, jstring jlangtag, jstring infinity) {
WCHAR buf[BUFLEN];
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SPOSINFINITY, buf, BUFLEN);
+ CHECK_NULL_RETURN(langtag, infinity);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SPOSINFINITY, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -460,8 +488,10 @@
JNIEXPORT jstring JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getInternationalCurrencySymbol
(JNIEnv *env, jclass cls, jstring jlangtag, jstring internationalCurrencySymbol) {
WCHAR buf[BUFLEN];
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SINTLSYMBOL, buf, BUFLEN);
+ CHECK_NULL_RETURN(langtag, internationalCurrencySymbol);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SINTLSYMBOL, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -479,8 +509,10 @@
JNIEXPORT jchar JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getMinusSign
(JNIEnv *env, jclass cls, jstring jlangtag, jchar minusSign) {
WCHAR buf[BUFLEN];
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SNEGATIVESIGN, buf, BUFLEN);
+ CHECK_NULL_RETURN(langtag, minusSign);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SNEGATIVESIGN, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -498,8 +530,10 @@
JNIEXPORT jchar JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getMonetaryDecimalSeparator
(JNIEnv *env, jclass cls, jstring jlangtag, jchar monetaryDecimalSeparator) {
WCHAR buf[BUFLEN];
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SMONDECIMALSEP, buf, BUFLEN);
+ CHECK_NULL_RETURN(langtag, monetaryDecimalSeparator);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SMONDECIMALSEP, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -517,8 +551,10 @@
JNIEXPORT jstring JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getNaN
(JNIEnv *env, jclass cls, jstring jlangtag, jstring nan) {
WCHAR buf[BUFLEN];
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SNAN, buf, BUFLEN);
+ CHECK_NULL_RETURN(langtag, nan);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SNAN, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -536,8 +572,10 @@
JNIEXPORT jchar JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getPercent
(JNIEnv *env, jclass cls, jstring jlangtag, jchar percent) {
WCHAR buf[BUFLEN];
+ int got;
const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SPERCENT, buf, BUFLEN);
+ CHECK_NULL_RETURN(langtag, percent);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SPERCENT, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -555,8 +593,12 @@
JNIEXPORT jchar JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getPerMill
(JNIEnv *env, jclass cls, jstring jlangtag, jchar perMill) {
WCHAR buf[BUFLEN];
- const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SPERMILLE, buf, BUFLEN);
+ const jchar *langtag;
+ int got;
+ langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ CHECK_NULL_RETURN(langtag, perMill);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SPERMILLE, buf, BUFLEN);
+
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -574,8 +616,12 @@
JNIEXPORT jchar JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getZeroDigit
(JNIEnv *env, jclass cls, jstring jlangtag, jchar zeroDigit) {
WCHAR buf[BUFLEN];
- const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int got = getLocaleInfoWrapper(langtag, LOCALE_SNATIVEDIGITS, buf, BUFLEN);
+ const jchar *langtag;
+ int got;
+ langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ CHECK_NULL_RETURN(langtag, zeroDigit);
+ got = getLocaleInfoWrapper(langtag, LOCALE_SNATIVEDIGITS, buf, BUFLEN);
+
(*env)->ReleaseStringChars(env, jlangtag, langtag);
if (got) {
@@ -593,9 +639,11 @@
JNIEXPORT jint JNICALL Java_sun_util_locale_provider_HostLocaleProviderAdapterImpl_getCalendarDataValue
(JNIEnv *env, jclass cls, jstring jlangtag, jint type) {
DWORD num;
- const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ const jchar *langtag;
int got = 0;
+ langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ CHECK_NULL_RETURN(langtag, -1);
switch (type) {
case sun_util_locale_provider_HostLocaleProviderAdapterImpl_CD_FIRSTDAYOFWEEK:
got = getLocaleInfoWrapper(langtag,
@@ -648,6 +696,7 @@
}
pjChar = (*env)->GetStringChars(env, jStr, JNI_FALSE);
+ CHECK_NULL_RETURN(pjChar, NULL);
got = getLocaleInfoWrapper(pjChar, lcType, buf, BUFLEN);
(*env)->ReleaseStringChars(env, jStr, pjChar);
@@ -705,8 +754,11 @@
void replaceCalendarArrayElems(JNIEnv *env, jstring jlangtag, jobjectArray jarray, CALTYPE* pCalTypes, int offset, int length) {
WCHAR name[BUFLEN];
- const jchar *langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
- int calid = getCalendarID(langtag);
+ const jchar *langtag;
+ int calid;
+ langtag = (*env)->GetStringChars(env, jlangtag, JNI_FALSE);
+ CHECK_NULL(langtag);
+ calid = getCalendarID(langtag);
if (calid != -1) {
int i;
diff --git a/jdk/src/windows/native/sun/windows/CmdIDList.cpp b/jdk/src/windows/native/sun/windows/CmdIDList.cpp
index b829af1..a71ede3 100644
--- a/jdk/src/windows/native/sun/windows/CmdIDList.cpp
+++ b/jdk/src/windows/native/sun/windows/CmdIDList.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/Devices.cpp b/jdk/src/windows/native/sun/windows/Devices.cpp
index 85ac51d..9738bd0 100644
--- a/jdk/src/windows/native/sun/windows/Devices.cpp
+++ b/jdk/src/windows/native/sun/windows/Devices.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, 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
diff --git a/jdk/src/windows/native/sun/windows/Devices.h b/jdk/src/windows/native/sun/windows/Devices.h
index 14e9e7b..108ae7c 100644
--- a/jdk/src/windows/native/sun/windows/Devices.h
+++ b/jdk/src/windows/native/sun/windows/Devices.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/DllUtil.cpp b/jdk/src/windows/native/sun/windows/DllUtil.cpp
index 7c6d00a..4fee072 100644
--- a/jdk/src/windows/native/sun/windows/DllUtil.cpp
+++ b/jdk/src/windows/native/sun/windows/DllUtil.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/DllUtil.h b/jdk/src/windows/native/sun/windows/DllUtil.h
index 17ebae0..9b909ee 100644
--- a/jdk/src/windows/native/sun/windows/DllUtil.h
+++ b/jdk/src/windows/native/sun/windows/DllUtil.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/ObjectList.cpp b/jdk/src/windows/native/sun/windows/ObjectList.cpp
index 601c42c..b0fdd7f 100644
--- a/jdk/src/windows/native/sun/windows/ObjectList.cpp
+++ b/jdk/src/windows/native/sun/windows/ObjectList.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/ObjectList.h b/jdk/src/windows/native/sun/windows/ObjectList.h
index 1e80732..6dc5e73 100644
--- a/jdk/src/windows/native/sun/windows/ObjectList.h
+++ b/jdk/src/windows/native/sun/windows/ObjectList.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/ShellFolder2.cpp b/jdk/src/windows/native/sun/windows/ShellFolder2.cpp
index 02e7a06..63bebf0 100644
--- a/jdk/src/windows/native/sun/windows/ShellFolder2.cpp
+++ b/jdk/src/windows/native/sun/windows/ShellFolder2.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2009, 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
diff --git a/jdk/src/windows/native/sun/windows/ThemeReader.cpp b/jdk/src/windows/native/sun/windows/ThemeReader.cpp
index de04041..b7ef3f9 100644
--- a/jdk/src/windows/native/sun/windows/ThemeReader.cpp
+++ b/jdk/src/windows/native/sun/windows/ThemeReader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/src/windows/native/sun/windows/WPrinterJob.cpp b/jdk/src/windows/native/sun/windows/WPrinterJob.cpp
index 4bb4998..004eb85 100644
--- a/jdk/src/windows/native/sun/windows/WPrinterJob.cpp
+++ b/jdk/src/windows/native/sun/windows/WPrinterJob.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/windows/native/sun/windows/alloc.h b/jdk/src/windows/native/sun/windows/alloc.h
index 7b497e9..953c4de 100644
--- a/jdk/src/windows/native/sun/windows/alloc.h
+++ b/jdk/src/windows/native/sun/windows/alloc.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2002, 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
diff --git a/jdk/src/windows/native/sun/windows/awt.h b/jdk/src/windows/native/sun/windows/awt.h
index 42684be..060953c 100644
--- a/jdk/src/windows/native/sun/windows/awt.h
+++ b/jdk/src/windows/native/sun/windows/awt.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp b/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp
index 682a15d..8061b0d 100644
--- a/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp
@@ -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
diff --git a/jdk/src/windows/native/sun/windows/awt_Button.cpp b/jdk/src/windows/native/sun/windows/awt_Button.cpp
index 672d354..95f868e 100644
--- a/jdk/src/windows/native/sun/windows/awt_Button.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Button.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Checkbox.cpp b/jdk/src/windows/native/sun/windows/awt_Checkbox.cpp
index 362c857..69c2453 100644
--- a/jdk/src/windows/native/sun/windows/awt_Checkbox.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Checkbox.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Choice.cpp b/jdk/src/windows/native/sun/windows/awt_Choice.cpp
index aae3103..d4879e4 100644
--- a/jdk/src/windows/native/sun/windows/awt_Choice.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Choice.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Choice.h b/jdk/src/windows/native/sun/windows/awt_Choice.h
index 36be8d9..b3aa3ea 100644
--- a/jdk/src/windows/native/sun/windows/awt_Choice.h
+++ b/jdk/src/windows/native/sun/windows/awt_Choice.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Clipboard.cpp b/jdk/src/windows/native/sun/windows/awt_Clipboard.cpp
index 6cea4a7..12f47a2 100644
--- a/jdk/src/windows/native/sun/windows/awt_Clipboard.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Clipboard.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Component.cpp b/jdk/src/windows/native/sun/windows/awt_Component.cpp
index d90fd1f..345e9f0 100644
--- a/jdk/src/windows/native/sun/windows/awt_Component.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Component.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Component.h b/jdk/src/windows/native/sun/windows/awt_Component.h
index 815843f..f3f3409 100644
--- a/jdk/src/windows/native/sun/windows/awt_Component.h
+++ b/jdk/src/windows/native/sun/windows/awt_Component.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_DataTransferer.cpp b/jdk/src/windows/native/sun/windows/awt_DataTransferer.cpp
index 91bcad2..77a87b2 100644
--- a/jdk/src/windows/native/sun/windows/awt_DataTransferer.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_DataTransferer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Debug.cpp b/jdk/src/windows/native/sun/windows/awt_Debug.cpp
index 8d4911d..4c92b2c 100644
--- a/jdk/src/windows/native/sun/windows/awt_Debug.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Debug.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Debug.h b/jdk/src/windows/native/sun/windows/awt_Debug.h
index 468b991..fb67ea6 100644
--- a/jdk/src/windows/native/sun/windows/awt_Debug.h
+++ b/jdk/src/windows/native/sun/windows/awt_Debug.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp b/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp
index 4c6e1f9..7d68f25 100644
--- a/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_DesktopProperties.cpp
@@ -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
diff --git a/jdk/src/windows/native/sun/windows/awt_Dialog.h b/jdk/src/windows/native/sun/windows/awt_Dialog.h
index c0599a2..ad70f9c 100644
--- a/jdk/src/windows/native/sun/windows/awt_Dialog.h
+++ b/jdk/src/windows/native/sun/windows/awt_Dialog.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_DnDDT.cpp b/jdk/src/windows/native/sun/windows/awt_DnDDT.cpp
index 230baf8..7944c05 100644
--- a/jdk/src/windows/native/sun/windows/awt_DnDDT.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_DnDDT.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2009, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Font.h b/jdk/src/windows/native/sun/windows/awt_Font.h
index e22b866..83df5e7 100644
--- a/jdk/src/windows/native/sun/windows/awt_Font.h
+++ b/jdk/src/windows/native/sun/windows/awt_Font.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Frame.h b/jdk/src/windows/native/sun/windows/awt_Frame.h
index e151c17..eac23e9 100644
--- a/jdk/src/windows/native/sun/windows/awt_Frame.h
+++ b/jdk/src/windows/native/sun/windows/awt_Frame.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_InputMethod.cpp b/jdk/src/windows/native/sun/windows/awt_InputMethod.cpp
index 9d81ea6..3818e33 100644
--- a/jdk/src/windows/native/sun/windows/awt_InputMethod.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_InputMethod.cpp
@@ -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
diff --git a/jdk/src/windows/native/sun/windows/awt_InputTextInfor.cpp b/jdk/src/windows/native/sun/windows/awt_InputTextInfor.cpp
index 168adec..bbe8a84 100644
--- a/jdk/src/windows/native/sun/windows/awt_InputTextInfor.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_InputTextInfor.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_List.h b/jdk/src/windows/native/sun/windows/awt_List.h
index 585eed9..73effc3 100644
--- a/jdk/src/windows/native/sun/windows/awt_List.h
+++ b/jdk/src/windows/native/sun/windows/awt_List.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Menu.cpp b/jdk/src/windows/native/sun/windows/awt_Menu.cpp
index 94e5617..ff428f2 100644
--- a/jdk/src/windows/native/sun/windows/awt_Menu.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Menu.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Menu.h b/jdk/src/windows/native/sun/windows/awt_Menu.h
index 705ea51..f007092 100644
--- a/jdk/src/windows/native/sun/windows/awt_Menu.h
+++ b/jdk/src/windows/native/sun/windows/awt_Menu.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp b/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp
index 327c0f3..82f5370 100644
--- a/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_MenuBar.h b/jdk/src/windows/native/sun/windows/awt_MenuBar.h
index bde178b..b4291f1 100644
--- a/jdk/src/windows/native/sun/windows/awt_MenuBar.h
+++ b/jdk/src/windows/native/sun/windows/awt_MenuBar.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp b/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp
index ab4387c..23d0f47 100644
--- a/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_MenuItem.h b/jdk/src/windows/native/sun/windows/awt_MenuItem.h
index 5bfa02c..e06a146 100644
--- a/jdk/src/windows/native/sun/windows/awt_MenuItem.h
+++ b/jdk/src/windows/native/sun/windows/awt_MenuItem.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Mlib.cpp b/jdk/src/windows/native/sun/windows/awt_Mlib.cpp
index 308b282..15d39a5 100644
--- a/jdk/src/windows/native/sun/windows/awt_Mlib.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Mlib.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Mlib.h b/jdk/src/windows/native/sun/windows/awt_Mlib.h
index 9ebee32..9b145df 100644
--- a/jdk/src/windows/native/sun/windows/awt_Mlib.h
+++ b/jdk/src/windows/native/sun/windows/awt_Mlib.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Object.cpp b/jdk/src/windows/native/sun/windows/awt_Object.cpp
index f448f37..b355280 100644
--- a/jdk/src/windows/native/sun/windows/awt_Object.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Object.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Object.h b/jdk/src/windows/native/sun/windows/awt_Object.h
index 918e95d..0c1fbfc 100644
--- a/jdk/src/windows/native/sun/windows/awt_Object.h
+++ b/jdk/src/windows/native/sun/windows/awt_Object.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_PopupMenu.cpp b/jdk/src/windows/native/sun/windows/awt_PopupMenu.cpp
index 05fc30d..cc03c0b 100644
--- a/jdk/src/windows/native/sun/windows/awt_PopupMenu.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_PopupMenu.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_PopupMenu.h b/jdk/src/windows/native/sun/windows/awt_PopupMenu.h
index 112645e..f149b75 100644
--- a/jdk/src/windows/native/sun/windows/awt_PopupMenu.h
+++ b/jdk/src/windows/native/sun/windows/awt_PopupMenu.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_PrintControl.h b/jdk/src/windows/native/sun/windows/awt_PrintControl.h
index e8b7415..5f66377 100644
--- a/jdk/src/windows/native/sun/windows/awt_PrintControl.h
+++ b/jdk/src/windows/native/sun/windows/awt_PrintControl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp b/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp
index 29b185a..6db838f 100644
--- a/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Robot.cpp b/jdk/src/windows/native/sun/windows/awt_Robot.cpp
index 72289b3..b44996f 100644
--- a/jdk/src/windows/native/sun/windows/awt_Robot.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Robot.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Robot.h b/jdk/src/windows/native/sun/windows/awt_Robot.h
index 0f4fa66..2b1def7 100644
--- a/jdk/src/windows/native/sun/windows/awt_Robot.h
+++ b/jdk/src/windows/native/sun/windows/awt_Robot.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp b/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp
index 5e4d04b..bc3eb3e 100644
--- a/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_TextArea.cpp b/jdk/src/windows/native/sun/windows/awt_TextArea.cpp
index e37679e..938da4c 100644
--- a/jdk/src/windows/native/sun/windows/awt_TextArea.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_TextArea.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_TextArea.h b/jdk/src/windows/native/sun/windows/awt_TextArea.h
index 4748730..931a319 100644
--- a/jdk/src/windows/native/sun/windows/awt_TextArea.h
+++ b/jdk/src/windows/native/sun/windows/awt_TextArea.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_TextComponent.cpp b/jdk/src/windows/native/sun/windows/awt_TextComponent.cpp
index a3a9c75..c5750fa 100644
--- a/jdk/src/windows/native/sun/windows/awt_TextComponent.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_TextComponent.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_TextComponent.h b/jdk/src/windows/native/sun/windows/awt_TextComponent.h
index e293e09..356ed64 100644
--- a/jdk/src/windows/native/sun/windows/awt_TextComponent.h
+++ b/jdk/src/windows/native/sun/windows/awt_TextComponent.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_TextField.cpp b/jdk/src/windows/native/sun/windows/awt_TextField.cpp
index e5afa40..c6d3f21 100644
--- a/jdk/src/windows/native/sun/windows/awt_TextField.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_TextField.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_TextField.h b/jdk/src/windows/native/sun/windows/awt_TextField.h
index 010c5a2..ced7a48 100644
--- a/jdk/src/windows/native/sun/windows/awt_TextField.h
+++ b/jdk/src/windows/native/sun/windows/awt_TextField.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Toolkit.h b/jdk/src/windows/native/sun/windows/awt_Toolkit.h
index e640d80..5ee5e49 100644
--- a/jdk/src/windows/native/sun/windows/awt_Toolkit.h
+++ b/jdk/src/windows/native/sun/windows/awt_Toolkit.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp b/jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp
index ae268de..bdcf947 100644
--- a/jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Win32GraphicsDevice.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_Window.h b/jdk/src/windows/native/sun/windows/awt_Window.h
index 0ee2332..1a92a67 100644
--- a/jdk/src/windows/native/sun/windows/awt_Window.h
+++ b/jdk/src/windows/native/sun/windows/awt_Window.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/src/windows/native/sun/windows/awt_ole.cpp b/jdk/src/windows/native/sun/windows/awt_ole.cpp
index 68912e5..fe8ea7105 100644
--- a/jdk/src/windows/native/sun/windows/awt_ole.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_ole.cpp
@@ -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
diff --git a/jdk/src/windows/native/sun/windows/awtmsg.h b/jdk/src/windows/native/sun/windows/awtmsg.h
index 05733c7..d0131af 100644
--- a/jdk/src/windows/native/sun/windows/awtmsg.h
+++ b/jdk/src/windows/native/sun/windows/awtmsg.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/native/sun/windows/stdhdrs.h b/jdk/src/windows/native/sun/windows/stdhdrs.h
index 21aaaeb..593b3d8 100644
--- a/jdk/src/windows/native/sun/windows/stdhdrs.h
+++ b/jdk/src/windows/native/sun/windows/stdhdrs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, 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
diff --git a/jdk/src/windows/transport/socket/socket_md.c b/jdk/src/windows/transport/socket/socket_md.c
index 8ac98c9..f70ef68 100644
--- a/jdk/src/windows/transport/socket/socket_md.c
+++ b/jdk/src/windows/transport/socket/socket_md.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, 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
diff --git a/jdk/test/ProblemList.txt b/jdk/test/ProblemList.txt
index 8126fbf..8c5f946 100644
--- a/jdk/test/ProblemList.txt
+++ b/jdk/test/ProblemList.txt
@@ -127,9 +127,6 @@
# jdk_management
-# 8028150
-sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh windows-all
-
############################################################################
# jdk_jmx
diff --git a/jdk/test/TEST.groups b/jdk/test/TEST.groups
index b624ca9..8e45f19 100644
--- a/jdk/test/TEST.groups
+++ b/jdk/test/TEST.groups
@@ -101,7 +101,7 @@
jdk_net = \
java/net \
- com/sun/net \
+ com/sun/net/httpserver \
com/oracle/net \
sun/net
@@ -126,6 +126,9 @@
com/sun/security \
com/sun/org/apache/xml/internal/security \
sun/security \
+ javax/net \
+ sun/net/www/protocol/https \
+ com/sun/net/ssl \
lib/security
jdk_security = \
@@ -489,7 +492,7 @@
sun/security/provider/PolicyFile/Alias.java \
sun/security/provider/PolicyFile/Comparator.java \
sun/security/provider/PolicyFile/SelfWildcard.java \
- sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineDeadlock.java \
+ sun/security/ssl/SSLEngineImpl/SSLEngineDeadlock.java \
sun/security/util/Oid/OidFormat.java \
sun/security/util/Resources/Format.java \
sun/security/util/Resources/NewNamesFormat.java
@@ -587,8 +590,8 @@
java/util/zip/ZipFile/DeleteTempJar.java \
javax/crypto/Cipher/CipherStreamClose.java \
sun/misc/URLClassPath/ClassnameCharTest.java \
- sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java \
- sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java
+ sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java \
+ sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java
# Compact 1 adds full VM tests
#
diff --git a/jdk/test/com/oracle/net/sanity.sh b/jdk/test/com/oracle/net/sanity.sh
index e2c89cc..b4c26ac 100644
--- a/jdk/test/com/oracle/net/sanity.sh
+++ b/jdk/test/com/oracle/net/sanity.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 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
diff --git a/jdk/test/com/sun/corba/5036554/TestCorbaBug.sh b/jdk/test/com/sun/corba/5036554/TestCorbaBug.sh
index 7e057e7..4f0ff23 100644
--- a/jdk/test/com/sun/corba/5036554/TestCorbaBug.sh
+++ b/jdk/test/com/sun/corba/5036554/TestCorbaBug.sh
@@ -83,7 +83,7 @@
${TESTJAVA}${FS}bin${FS}javac -d . bug${FS}*.java
-${TESTJAVA}${FS}bin${FS}java -cp . bug/JavaBug > test.out 2>&1
+${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -cp . bug/JavaBug > test.out 2>&1
grep "NullPointerException" test.out
diff --git a/jdk/test/com/sun/jdi/ArrayLengthDumpTest.sh b/jdk/test/com/sun/jdi/ArrayLengthDumpTest.sh
index 9de6aed..a1f6b7c 100644
--- a/jdk/test/com/sun/jdi/ArrayLengthDumpTest.sh
+++ b/jdk/test/com/sun/jdi/ArrayLengthDumpTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -86,7 +86,7 @@
cmd dump this.t[1].length
cmd dump ArrayLengthDumpTarg.i.length
cmd dump this.length
- cmd cont
+ cmd allowExit cont
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/CatchAllTest.sh b/jdk/test/com/sun/jdi/CatchAllTest.sh
index aea6325..19b70d9 100644
--- a/jdk/test/com/sun/jdi/CatchAllTest.sh
+++ b/jdk/test/com/sun/jdi/CatchAllTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -64,7 +64,7 @@
cmd ignore caught java.lang.IndexOutOfBoundsException
cmd catch uncaught java.lang.IndexOutOfBoundsException
cmd ignore uncaught java.lang.IndexOutOfBoundsException
- cmd cont
+ cmd allowExit cont
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/CatchCaughtTest.sh b/jdk/test/com/sun/jdi/CatchCaughtTest.sh
index 11fdcb6..e166528 100644
--- a/jdk/test/com/sun/jdi/CatchCaughtTest.sh
+++ b/jdk/test/com/sun/jdi/CatchCaughtTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -55,7 +55,7 @@
setBkpts @1
runToBkpt @1
cmd catch caught
- cmd cont
+ cmd allowExit cont
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/CatchPatternTest.sh b/jdk/test/com/sun/jdi/CatchPatternTest.sh
index c2e18fb..a490760 100644
--- a/jdk/test/com/sun/jdi/CatchPatternTest.sh
+++ b/jdk/test/com/sun/jdi/CatchPatternTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -35,44 +35,44 @@
cat <<EOF > $classname.java.1
public class $classname {
public void bark(int i) {
- System.out.println(" bark: " + i);
- switch (i) {
- case 0:
- throw new IllegalArgumentException("IllegalArgumentException");
- case 1:
- throw new ArithmeticException("ArithmeticException");
- case 2:
- throw new IllegalMonitorStateException("IllegalMonitorStateException");
- case 3:
- throw new IndexOutOfBoundsException("IndexOutOfBoundsException");
- default:
- throw new Error("should not happen");
- }
+ System.out.println(" bark: " + i);
+ switch (i) {
+ case 0:
+ throw new IllegalArgumentException("IllegalArgumentException");
+ case 1:
+ throw new ArithmeticException("ArithmeticException");
+ case 2:
+ throw new IllegalMonitorStateException("IllegalMonitorStateException");
+ case 3:
+ throw new IndexOutOfBoundsException("IndexOutOfBoundsException");
+ default:
+ throw new Error("should not happen");
+ }
}
public void loop(int max) {
- for (int i = 0; i <= max; i++) {
- try {
- bark(i);
- } catch(RuntimeException re) {
- System.out.println(" loop: " + re.getMessage() +
- " caught and ignored.");
- }
- }
+ for (int i = 0; i <= max; i++) {
+ try {
+ bark(i);
+ } catch(RuntimeException re) {
+ System.out.println(" loop: " + re.getMessage() +
+ " caught and ignored.");
+ }
+ }
}
public void partOne() {
loop(2);
- System.out.println("partOne completed");
+ System.out.println("partOne completed");
}
public void partTwo() {
loop(3);
- System.out.println("partTwo completed");
+ System.out.println("partTwo completed");
}
public static void main(String[] args) {
- System.out.println("Howdy!");
+ System.out.println("Howdy!");
$classname my = new $classname();
- my.partOne();
- my.partTwo();
- System.out.println("Goodbye from $classname!");
+ my.partOne();
+ my.partTwo();
+ System.out.println("Goodbye from $classname!");
}
}
EOF
@@ -91,8 +91,7 @@
cmd cont
cmd cont
cmd ignore all java.lang.I*
- cmd cont
- cmd quit
+ cmd allowExit cont
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/CommandCommentDelimiter.sh b/jdk/test/com/sun/jdi/CommandCommentDelimiter.sh
index f2cfc92..34f0942 100644
--- a/jdk/test/com/sun/jdi/CommandCommentDelimiter.sh
+++ b/jdk/test/com/sun/jdi/CommandCommentDelimiter.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2014 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
@@ -58,7 +58,7 @@
cmd 3 \#blah
cmd \# connectors
cmd step
- cmd cont
+ cmd allowExit cont
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/DeferredStepTest.sh b/jdk/test/com/sun/jdi/DeferredStepTest.sh
index d7d1f4c..528404f 100644
--- a/jdk/test/com/sun/jdi/DeferredStepTest.sh
+++ b/jdk/test/com/sun/jdi/DeferredStepTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -129,7 +129,6 @@
cmd next; $sleepcmd
cmd next; $sleepcmd
cmd next; $sleepcmd
- cmd quit
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/DeoptimizeWalk.sh b/jdk/test/com/sun/jdi/DeoptimizeWalk.sh
index ffc005e..c8df10f 100644
--- a/jdk/test/com/sun/jdi/DeoptimizeWalk.sh
+++ b/jdk/test/com/sun/jdi/DeoptimizeWalk.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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,7 +66,7 @@
a4(22); // it passes if this line is commented out
System.out.println("jj");
}
-
+
public void a4(int pp) {
int v4 = 90;
System.out.println("a4: @1 breakpoint here");
@@ -84,8 +84,6 @@
#cmd next
cmd step
cmd where
- cmd quit
- jdbFailIfNotPresent "shtest\.main" 3
}
@@ -108,5 +106,6 @@
mysetup
runit
+jdbFailIfNotPresent "shtest\.main" 3
debuggeeFailIfPresent "Internal exception:"
pass
diff --git a/jdk/test/com/sun/jdi/EvalArgs.sh b/jdk/test/com/sun/jdi/EvalArgs.sh
index 53c1851..aa3e75f 100644
--- a/jdk/test/com/sun/jdi/EvalArgs.sh
+++ b/jdk/test/com/sun/jdi/EvalArgs.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -291,8 +291,6 @@
cmd eval "$classname.ffjj2($classname.myoranges)"
jdbFailIfNotPresent "InvalidTypeException" 3
-
- cmd quit
}
diff --git a/jdk/test/com/sun/jdi/ExceptionEvents.java b/jdk/test/com/sun/jdi/ExceptionEvents.java
index 42a532e..5564ae4 100644
--- a/jdk/test/com/sun/jdi/ExceptionEvents.java
+++ b/jdk/test/com/sun/jdi/ExceptionEvents.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2002, 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
diff --git a/jdk/test/com/sun/jdi/ExclusiveBind.java b/jdk/test/com/sun/jdi/ExclusiveBind.java
index 3389ee2..d53efd8 100644
--- a/jdk/test/com/sun/jdi/ExclusiveBind.java
+++ b/jdk/test/com/sun/jdi/ExclusiveBind.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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,57 +25,28 @@
* @bug 4531526
* @summary Test that more than one debuggee cannot bind to same port
* at the same time.
+ * @library /lib/testlibrary
*
+ * @build jdk.testlibrary.ProcessTools jdk.testlibrary.JDKToolLauncher jdk.testlibrary.Utils
* @build VMConnection ExclusiveBind HelloWorld
* @run main ExclusiveBind
*/
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.File;
import java.net.ServerSocket;
import com.sun.jdi.Bootstrap;
import com.sun.jdi.VirtualMachine;
import com.sun.jdi.connect.Connector;
import com.sun.jdi.connect.AttachingConnector;
+
+import java.util.ArrayList;
import java.util.Map;
import java.util.List;
import java.util.Iterator;
+import java.util.concurrent.TimeUnit;
+
+import jdk.testlibrary.ProcessTools;
+import jdk.testlibrary.Utils;
public class ExclusiveBind {
-
- /*
- * Helper class to direct process output to the parent
- * System.out
- */
- static class IOHandler implements Runnable {
- InputStream in;
-
- IOHandler(InputStream in) {
- this.in = in;
- }
-
- static void handle(InputStream in) {
- IOHandler handler = new IOHandler(in);
- Thread thr = new Thread(handler);
- thr.setDaemon(true);
- thr.start();
- }
-
- public void run() {
- try {
- byte b[] = new byte[100];
- for (;;) {
- int n = in.read(b);
- if (n < 0) return;
- for (int i=0; i<n; i++) {
- System.out.print((char)b[i]);
- }
- }
- } catch (IOException ioe) { }
- }
-
- }
-
/*
* Find a connector by name
*/
@@ -95,25 +66,23 @@
* Launch (in server mode) a debuggee with the given address and
* suspend mode.
*/
- private static Process launch(String address, boolean suspend, String class_name) throws IOException {
- String exe = System.getProperty("java.home") + File.separator + "bin" +
- File.separator + "java";
- String cmd = exe + " " + VMConnection.getDebuggeeVMOptions() +
- " -agentlib:jdwp=transport=dt_socket,server=y,suspend=";
- if (suspend) {
- cmd += "y";
- } else {
- cmd += "n";
+ private static ProcessBuilder prepareLauncher(String address, boolean suspend, String class_name) throws Exception {
+ List<String> args = new ArrayList<>();
+ for(String dbgOption : VMConnection.getDebuggeeVMOptions().split(" ")) {
+ args.add(dbgOption);
}
- cmd += ",address=" + address + " " + class_name;
+ String lib = "-agentlib:jdwp=transport=dt_socket,server=y,suspend=";
+ if (suspend) {
+ lib += "y";
+ } else {
+ lib += "n";
+ }
+ lib += ",address=" + address;
- System.out.println("Starting: " + cmd);
+ args.add(lib);
+ args.add(class_name);
- Process p = Runtime.getRuntime().exec(cmd);
- IOHandler.handle(p.getInputStream());
- IOHandler.handle(p.getErrorStream());
-
- return p;
+ return ProcessTools.createJavaProcessBuilder(args.toArray(new String[args.size()]));
}
/*
@@ -132,16 +101,21 @@
String address = String.valueOf(port);
// launch the first debuggee
- Process process1 = launch(address, true, "HelloWorld");
-
- // give first debuggee time to suspend
- Thread.currentThread().sleep(5000);
+ ProcessBuilder process1 = prepareLauncher(address, true, "HelloWorld");
+ // start the debuggee and wait for the "ready" message
+ Process p = ProcessTools.startProcess(
+ "process1",
+ process1,
+ line -> line.equals("Listening for transport dt_socket at address: " + address),
+ Math.round(5000 * Utils.TIMEOUT_FACTOR),
+ TimeUnit.MILLISECONDS
+ );
// launch a second debuggee with the same address
- Process process2 = launch(address, false, "HelloWorld");
+ ProcessBuilder process2 = prepareLauncher(address, false, "HelloWorld");
// get exit status from second debuggee
- int exitCode = process2.waitFor();
+ int exitCode = ProcessTools.startProcess("process2", process2).waitFor();
// clean-up - attach to first debuggee and resume it
AttachingConnector conn = (AttachingConnector)findConnector("com.sun.jdi.SocketAttach");
diff --git a/jdk/test/com/sun/jdi/FilterNoMatch.java b/jdk/test/com/sun/jdi/FilterNoMatch.java
index 3a8ecd2..c1cbff9 100644
--- a/jdk/test/com/sun/jdi/FilterNoMatch.java
+++ b/jdk/test/com/sun/jdi/FilterNoMatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2007, 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
diff --git a/jdk/test/com/sun/jdi/GetLocalVariables3Test.sh b/jdk/test/com/sun/jdi/GetLocalVariables3Test.sh
index 6fce8b7..2910897 100644
--- a/jdk/test/com/sun/jdi/GetLocalVariables3Test.sh
+++ b/jdk/test/com/sun/jdi/GetLocalVariables3Test.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -55,7 +55,7 @@
setBkpts @1
runToBkpt @1
cmd locals
- cmd cont
+ cmd allowExit cont
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/GetLocalVariables4Test.sh b/jdk/test/com/sun/jdi/GetLocalVariables4Test.sh
index 45ae52f..bba2d90 100644
--- a/jdk/test/com/sun/jdi/GetLocalVariables4Test.sh
+++ b/jdk/test/com/sun/jdi/GetLocalVariables4Test.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -39,12 +39,12 @@
public class GetLocalVariables4Targ {
public static void main(String[] args) {
System.out.println("Howdy!");
- int i = 0;
- try {
- i = 16 / i;
- } catch(Exception e) {
- System.out.println("e should be visible"); // @1 breakpoint
- }
+ int i = 0;
+ try {
+ i = 16 / i;
+ } catch(Exception e) {
+ System.out.println("e should be visible"); // @1 breakpoint
+ }
System.out.println("Goodbye from GetLocalVariables4Targ!");
}
}
@@ -57,7 +57,7 @@
setBkpts @1
runToBkpt @1
cmd locals
- cmd cont
+ cmd allowExit cont
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/JDIScaffold.java b/jdk/test/com/sun/jdi/JDIScaffold.java
index 0c60c07..64c499d 100644
--- a/jdk/test/com/sun/jdi/JDIScaffold.java
+++ b/jdk/test/com/sun/jdi/JDIScaffold.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2001, 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
diff --git a/jdk/test/com/sun/jdi/JdbExprTest.sh b/jdk/test/com/sun/jdi/JdbExprTest.sh
index 9645714..ecfd943 100644
--- a/jdk/test/com/sun/jdi/JdbExprTest.sh
+++ b/jdk/test/com/sun/jdi/JdbExprTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014 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
@@ -130,8 +130,6 @@
cmd print ~1
jdbFailIfNotPresent "~1 = -2" 3
-
- cmd quit
}
diff --git a/jdk/test/com/sun/jdi/JdbLockTest.sh b/jdk/test/com/sun/jdi/JdbLockTest.sh
index b6573a8..6558b98 100644
--- a/jdk/test/com/sun/jdi/JdbLockTest.sh
+++ b/jdk/test/com/sun/jdi/JdbLockTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2014 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
@@ -83,7 +83,6 @@
# This should say that main owns the lock
# and the sleeper thread is waiting for it.
cmd lock $classname.jj
- cmd quit
}
diff --git a/jdk/test/com/sun/jdi/JdbMethodExitTest.sh b/jdk/test/com/sun/jdi/JdbMethodExitTest.sh
index ab00816..86a485a 100644
--- a/jdk/test/com/sun/jdi/JdbMethodExitTest.sh
+++ b/jdk/test/com/sun/jdi/JdbMethodExitTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 2014, 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
@@ -232,7 +232,7 @@
cmd cont
jdbFailIfNotPresent "instance of JdbMethodExitTest"
jdbFailIfNotPresent "return value = 8"
-
+
# Get out of bkpt back to the call to traceMethods
cmd step up
@@ -253,7 +253,7 @@
jdbFailIfNotPresent 'Method exited: .* JdbMethodExitTest.traceMethods1'
cmd untrace
cmd step up
-
+
cmd trace method exits $threadid
cmd cont
@@ -282,7 +282,6 @@
cmd trace go method exit $threadid
cmd cont
jdbFailIfNotPresent 'Method exited: .*JdbMethodExitTest.traceExit1'
- cmd quit
}
diff --git a/jdk/test/com/sun/jdi/JdbMissStep.sh b/jdk/test/com/sun/jdi/JdbMissStep.sh
index a9c5fb5..62c0f3e 100644
--- a/jdk/test/com/sun/jdi/JdbMissStep.sh
+++ b/jdk/test/com/sun/jdi/JdbMissStep.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -74,7 +74,6 @@
cmd stop at $classname'$jj2:20'
runToBkpt
cmd step
- cmd quit
}
diff --git a/jdk/test/com/sun/jdi/JdbReadTwiceTest.sh b/jdk/test/com/sun/jdi/JdbReadTwiceTest.sh
index 6f3cb19..b7ca50d 100644
--- a/jdk/test/com/sun/jdi/JdbReadTwiceTest.sh
+++ b/jdk/test/com/sun/jdi/JdbReadTwiceTest.sh
@@ -219,7 +219,7 @@
echo "Unable to make file unreadable, so test will fail. chmod: $HOME/jdb.ini"
if grep -q "uid=0" $HOME/jdb.ini ; then
echo "The test is running as root. Fix infrastructure!"
- fi
+ fi
fi
doit
failIfNot 1 "open: $HOME/jdb.ini"
diff --git a/jdk/test/com/sun/jdi/MethodEntryExitEvents.java b/jdk/test/com/sun/jdi/MethodEntryExitEvents.java
index 7f9f117..ee155c2 100644
--- a/jdk/test/com/sun/jdi/MethodEntryExitEvents.java
+++ b/jdk/test/com/sun/jdi/MethodEntryExitEvents.java
@@ -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
diff --git a/jdk/test/com/sun/jdi/MethodExitReturnValuesTest.java b/jdk/test/com/sun/jdi/MethodExitReturnValuesTest.java
index 5658643..8c07e69 100644
--- a/jdk/test/com/sun/jdi/MethodExitReturnValuesTest.java
+++ b/jdk/test/com/sun/jdi/MethodExitReturnValuesTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/com/sun/jdi/MixedSuspendTest.sh b/jdk/test/com/sun/jdi/MixedSuspendTest.sh
index 385b7de..43d0057 100644
--- a/jdk/test/com/sun/jdi/MixedSuspendTest.sh
+++ b/jdk/test/com/sun/jdi/MixedSuspendTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2014 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
@@ -99,8 +99,7 @@
{
setBkpts @1
runToBkpt @1
- cmd cont
- cmd quit
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/NativeInstanceFilter.java b/jdk/test/com/sun/jdi/NativeInstanceFilter.java
index 7902971..297709c 100644
--- a/jdk/test/com/sun/jdi/NativeInstanceFilter.java
+++ b/jdk/test/com/sun/jdi/NativeInstanceFilter.java
@@ -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
diff --git a/jdk/test/com/sun/jdi/NoLaunchOptionTest.java b/jdk/test/com/sun/jdi/NoLaunchOptionTest.java
index f5b1865..d8a91b3 100644
--- a/jdk/test/com/sun/jdi/NoLaunchOptionTest.java
+++ b/jdk/test/com/sun/jdi/NoLaunchOptionTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2006, 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
diff --git a/jdk/test/com/sun/jdi/NotAField.sh b/jdk/test/com/sun/jdi/NotAField.sh
index 20d9916..acc627c 100644
--- a/jdk/test/com/sun/jdi/NotAField.sh
+++ b/jdk/test/com/sun/jdi/NotAField.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -54,7 +54,7 @@
cmd print "java.lang.Class.reflectionFactory.hashCode()"
#This should result in a ParseException: ("No such field in ..."):
cmd print "java.lang.Class.reflectionFactory.hashCode"
- cmd cont
+ cmd allowExit cont
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/NullLocalVariable.sh b/jdk/test/com/sun/jdi/NullLocalVariable.sh
index 63bca95..ce38929 100644
--- a/jdk/test/com/sun/jdi/NullLocalVariable.sh
+++ b/jdk/test/com/sun/jdi/NullLocalVariable.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -54,12 +54,12 @@
dojdbCmds()
{
#set -x
- cmd stop at badscope:4 ; $sleepcmd
- runToBkpt ; $sleepcmd
- cmd next ; $sleepcmd
- cmd next ; $sleepcmd
- cmd locals ; $sleepcmd
- cmd cont
+ cmd stop at badscope:4 ; $sleepcmd
+ runToBkpt ; $sleepcmd
+ cmd next ; $sleepcmd
+ cmd next ; $sleepcmd
+ cmd locals ; $sleepcmd
+ cmd allowExit cont
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/PrivateTransportTest.sh b/jdk/test/com/sun/jdi/PrivateTransportTest.sh
index ee8051f..7f4b002 100644
--- a/jdk/test/com/sun/jdi/PrivateTransportTest.sh
+++ b/jdk/test/com/sun/jdi/PrivateTransportTest.sh
@@ -67,9 +67,9 @@
# is given on the command line, tell the user that and use a default.
# THIS IS THE JDK BEING TESTED.
if [ -n "$1" ] ; then
- TESTJAVA=$1
+ TESTJAVA=$1
else
- TESTJAVA=$JAVA_HOME
+ TESTJAVA=$JAVA_HOME
fi
TESTSRC=.
TESTCLASSES=.
diff --git a/jdk/test/com/sun/jdi/Redefine-g.sh b/jdk/test/com/sun/jdi/Redefine-g.sh
index 7b518ed..5641709 100644
--- a/jdk/test/com/sun/jdi/Redefine-g.sh
+++ b/jdk/test/com/sun/jdi/Redefine-g.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -88,8 +88,7 @@
cmd where
cmd locals
- cmd cont
- cmd quit
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/RedefineAnnotation.sh b/jdk/test/com/sun/jdi/RedefineAnnotation.sh
index 77a6984..066e3d3 100644
--- a/jdk/test/com/sun/jdi/RedefineAnnotation.sh
+++ b/jdk/test/com/sun/jdi/RedefineAnnotation.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2014, 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
@@ -217,7 +217,7 @@
setBkpts @1
runToBkpt @1
redefineClass @1
- cmd cont
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/RedefineChangeClassOrder.sh b/jdk/test/com/sun/jdi/RedefineChangeClassOrder.sh
index 8d4b628..b14a422 100644
--- a/jdk/test/com/sun/jdi/RedefineChangeClassOrder.sh
+++ b/jdk/test/com/sun/jdi/RedefineChangeClassOrder.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2014 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
@@ -123,7 +123,7 @@
setBkpts @1
runToBkpt @1
redefineClass @1
- cmd cont
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/RedefineClasses.sh b/jdk/test/com/sun/jdi/RedefineClasses.sh
index e1d013a..f323712 100644
--- a/jdk/test/com/sun/jdi/RedefineClasses.sh
+++ b/jdk/test/com/sun/jdi/RedefineClasses.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -134,7 +134,6 @@
cmd redefine $classname $tmpFileDir/$classname.class
cmd redefine $classname $tmpFileDir/$classname.class
cmd redefine $classname $tmpFileDir/$classname.class
- cmd quit
}
diff --git a/jdk/test/com/sun/jdi/RedefineException.sh b/jdk/test/com/sun/jdi/RedefineException.sh
index f66d2c5..e1bc0a3 100644
--- a/jdk/test/com/sun/jdi/RedefineException.sh
+++ b/jdk/test/com/sun/jdi/RedefineException.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014 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
@@ -92,8 +92,7 @@
runToBkpt
redefineClass @1
cmd pop
- cmd cont
- cmd quit
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/RedefineFinal.sh b/jdk/test/com/sun/jdi/RedefineFinal.sh
index 80ec525..c35a29d 100644
--- a/jdk/test/com/sun/jdi/RedefineFinal.sh
+++ b/jdk/test/com/sun/jdi/RedefineFinal.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -42,15 +42,15 @@
public final class $1 {
public int m1(int i) {
- // @1 uncomment System.out.println("I'm here");
- return m2(i, 1000);
+ // @1 uncomment System.out.println("I'm here");
+ return m2(i, 1000);
}
public int m2(int i, int j) {
- if (i < 0 || j < 0) { // @1 breakpoint
+ if (i < 0 || j < 0) { // @1 breakpoint
throw new IllegalArgumentException();
- }
- return i+j;
+ }
+ return i+j;
}
$1() {
@@ -59,7 +59,7 @@
}
public static void main(String args[]) {
- new $1();
+ new $1();
}
}
EOF
@@ -74,8 +74,7 @@
setBkpts @1
contToBkpt
cmd where
- cmd cont
- cmd quit
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/RedefineImplementor.sh b/jdk/test/com/sun/jdi/RedefineImplementor.sh
index 4deb347..dd7f83e 100644
--- a/jdk/test/com/sun/jdi/RedefineImplementor.sh
+++ b/jdk/test/com/sun/jdi/RedefineImplementor.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2014 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
@@ -69,7 +69,7 @@
setBkpts @1
runToBkpt @1
redefineClass @1
- cmd cont
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/RedefineIntConstantToLong.sh b/jdk/test/com/sun/jdi/RedefineIntConstantToLong.sh
index ab921c0..112c6c3 100644
--- a/jdk/test/com/sun/jdi/RedefineIntConstantToLong.sh
+++ b/jdk/test/com/sun/jdi/RedefineIntConstantToLong.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 2014 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
@@ -44,18 +44,18 @@
public long m1(int i) {
long r=0;
r = m2(i * 2); // @1 commentout
- // @1 uncomment r =m2(i * 2L);
+ // @1 uncomment r =m2(i * 2L);
return r;
}
public long m2(int j) {
- System.out.println(System.getProperty("line.separator") +
+ System.out.println(System.getProperty("line.separator") +
"**** public long m2(int j) with value: " + j);
return j;
}
public long m2(long j) {
- System.out.println(System.getProperty("line.separator") +
+ System.out.println(System.getProperty("line.separator") +
"**** public long m2(long j) with value: " + j);
return j;
}
@@ -66,7 +66,7 @@
r1 = m1(1000);
r2 = 0; // @1 breakpoint
r2 = m1(1000);
- if (r1 != r2) { // @1 breakpoint
+ if (r1 != r2) { // @1 breakpoint
throw new Exception("FAILURE: Expected value: " + r1 + " Actual value: " + r2);
} else {
System.out.println("SUCCESS: Expected value: " + r1 + " Actual value: " + r2);
@@ -74,7 +74,7 @@
}
public static void main(String args[]) throws Exception {
- new $1().doit();
+ new $1().doit();
}
}
EOF
@@ -89,8 +89,7 @@
setBkpts @1
contToBkpt
cmd where
- cmd cont
- cmd quit
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/RedefineMulti.sh b/jdk/test/com/sun/jdi/RedefineMulti.sh
index a51c3b1..e2736cb 100644
--- a/jdk/test/com/sun/jdi/RedefineMulti.sh
+++ b/jdk/test/com/sun/jdi/RedefineMulti.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -126,8 +126,7 @@
setBkpts @1
contToBkpt
redefineClass @2
- cmd cont
- cmd quit
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/RedefinePop.sh b/jdk/test/com/sun/jdi/RedefinePop.sh
index 4059a1a..c92e83d 100644
--- a/jdk/test/com/sun/jdi/RedefinePop.sh
+++ b/jdk/test/com/sun/jdi/RedefinePop.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -74,8 +74,7 @@
runToBkpt @1
redefineClass @1
cmd pop
- cmd cont
- cmd quit
+ cmd allowExit cont
}
diff --git a/jdk/test/com/sun/jdi/RedefineTTYLineNumber.sh b/jdk/test/com/sun/jdi/RedefineTTYLineNumber.sh
index addf45c..8bc7a84 100644
--- a/jdk/test/com/sun/jdi/RedefineTTYLineNumber.sh
+++ b/jdk/test/com/sun/jdi/RedefineTTYLineNumber.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -74,8 +74,6 @@
cmd stop in shtest.A
contToBkpt
#jdbFailIfNotPresent "System\.out\.println" 3
- cmd quit
-
}
diff --git a/jdk/test/com/sun/jdi/RepStep.java b/jdk/test/com/sun/jdi/RepStep.java
index 80ce449..b409b89 100644
--- a/jdk/test/com/sun/jdi/RepStep.java
+++ b/jdk/test/com/sun/jdi/RepStep.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/com/sun/jdi/ShellScaffold.sh b/jdk/test/com/sun/jdi/ShellScaffold.sh
index 7bc063d..eb3b65b 100644
--- a/jdk/test/com/sun/jdi/ShellScaffold.sh
+++ b/jdk/test/com/sun/jdi/ShellScaffold.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -190,11 +190,15 @@
echo "$1: kill -9 $toBeKilled" >& 2
kill -9 $toBeKilled
fi
-}
+}
+# Returns 0 if $1 is the pid of a running process
findPid()
{
- # Return 0 if $1 is the pid of a running process.
+ if [ -z "$1" ] ; then
+ return 1
+ fi
+
if [ -z "$isWin98" ] ; then
if [ "$osname" = SunOS ] ; then
# Solaris and OpenSolaris use pgrep and not ps in psCmd
@@ -208,7 +212,7 @@
# cygwin ps puts an I in column 1 for some reason.
findPidCmd="$psCmd -e"
fi
- $findPidCmd | $grep '^I* *'"$1 " > $devnull 2>&1
+ $findPidCmd | $grep '^I* *'"$1 " > $devnull 2>&1
return $?
fi
@@ -245,56 +249,55 @@
echo "--Error: TESTJAVA must be defined as the pathname of a jdk to test."
exit 1
fi
-
+
ulimitCmd=
osname=`uname -s`
isWin98=
isCygwin=
case "$osname" in
- Windows* | CYGWIN*)
- devnull=NUL
- if [ "$osname" = Windows_98 -o "$osname" = Windows_ME ]; then
- isWin98=1
- debuggeeKeyword='we_cant_kill_debuggees_on_win98'
- jdbKeyword='jdb\.exe'
- fi
+ Windows* | CYGWIN*)
+ devnull=NUL
+ if [ "$osname" = Windows_98 -o "$osname" = Windows_ME ]; then
+ isWin98=1
+ debuggeeKeyword='we_cant_kill_debuggees_on_win98'
+ jdbKeyword='jdb\.exe'
+ fi
+ case "$osname" in
+ CYGWIN*)
+ isCygwin=1
+ devnull=/dev/null
+ ;;
+ esac
- case "$osname" in
- CYGWIN*)
- isCygwin=1
- devnull=/dev/null
- ;;
- esac
-
- if [ -r $jdk/bin/dt_shmem.dll -o -r $jdk/jre/bin/dt_shmem.dll ] ; then
- transport=dt_shmem
- address=kkkk.$$
- else
- transport=dt_socket
- address=
- fi
- baseArgs="$baseArgs -XX:-ShowMessageBoxOnError"
- # jtreg puts \\s in TESTCLASSES and some uses, eg. echo
- # treat them as control chars on mks (eg \t is tab)
- # Oops; windows mks really seems to want this cat line
- # to start in column 1
- if [ -w "$SystemRoot" ] ; then
- tmpFile=$SystemRoot/tmp.$$
- elif [ -w "$SYSTEMROOT" ] ; then
- tmpFile=$SYSTEMROOT/tmp.$$
- else
- tmpFile=tmp.$$
- fi
+ if [ -r $jdk/bin/dt_shmem.dll -o -r $jdk/jre/bin/dt_shmem.dll ] ; then
+ transport=dt_shmem
+ address=kkkk.$$
+ else
+ transport=dt_socket
+ address=
+ fi
+ baseArgs="$baseArgs -XX:-ShowMessageBoxOnError"
+ # jtreg puts \\s in TESTCLASSES and some uses, eg. echo
+ # treat them as control chars on mks (eg \t is tab)
+ # Oops; windows mks really seems to want this cat line
+ # to start in column 1
+ if [ -w "$SystemRoot" ] ; then
+ tmpFile=$SystemRoot/tmp.$$
+ elif [ -w "$SYSTEMROOT" ] ; then
+ tmpFile=$SYSTEMROOT/tmp.$$
+ else
+ tmpFile=tmp.$$
+ fi
cat <<EOF >$tmpFile
$TESTCLASSES
EOF
- TESTCLASSES=`cat $tmpFile | sed -e 's@\\\\@/@g'`
- rm -f $tmpFile
- # on mks
- grep=egrep
- psCmd=ps
- jstack=jstack.exe
- ;;
+ TESTCLASSES=`cat $tmpFile | sed -e 's@\\\\@/@g'`
+ rm -f $tmpFile
+ # on mks
+ grep=egrep
+ psCmd=ps
+ jstack=jstack.exe
+ ;;
SunOS | Linux | Darwin | AIX)
transport=dt_socket
address=
@@ -378,7 +381,7 @@
# linux same as above
# win mks: No dice; processes still running
trap "cleanup" 0 1 2 3 4 6 9 10 15
-
+
jdbOptions="$jdbOptions -J-D${jdbKeyword}"
}
@@ -397,7 +400,7 @@
cp $classname.java.1 $classname.java
echo "--Compiling first version of `pwd`/$classname.java with options: $compileOptions"
# Result is in $pkgSlash$classname.class
-
+
if [ -z "$javacCmd" ] ; then
javacCmd=$jdk/bin/javac
fi
@@ -523,29 +526,52 @@
# If it ever becomes necessary to send a jdb command before
# a main[10] form of prompt appears, then this
# code will have to be modified.
-cmd()
+#
+# Specify $1 = allowExit to show that the command given
+# allows JDB to exit
+cmd()
{
- if [ $1 = quit -o -r "$failFile" ] ; then
- # if jdb got a cont cmd that caused the debuggee
- # to run to completion, jdb can be gone before
- # we get here.
- echo "--Sending cmd: quit" >& 2
- echo quit
- # See 6562090. Maybe there is a way that the exit
- # can cause jdb to not get the quit.
- sleep 5
+ allowExit=
+ case "$1" in
+ allowExit)
+ allowExit="allowExit"
+ shift
+ ;;
+ exitJdb)
+ # Quit JDB only with this cmd() invocation
+ echo "--Sending cmd: quit" >& 2
+ echo quit
+ echo "--Quit cmd was sent" >& 2
+ # See 6562090. Maybe there is a way that the exit
+ # can cause jdb to not get the quit.
+ sleep 5
- # The exit code value here doesn't matter since this function
- # is called as part of a pipeline and it is not the last command
- # in the pipeline.
- exit 1
+ # The exit code value here doesn't matter since this function
+ # is called as part of a pipeline and it is not the last command
+ # in the pipeline.
+ exit 1
+ ;;
+ esac
+ command=$*
+
+ if [ -z "$command" ] ; then
+ dofail "Command can't be a null string. Test failure"
fi
-
+ if [ "$command" = "quit" -o "$command" = "exit" ] ; then
+ # We don't want the test to manually quit jdb,
+ # we will do it in the end automatically
+ dofail "It's not allowed to send quit or exit commands from the test"
+ fi
+ if [ -r "$failFile" ] ; then
+ # failFile exists, it's better to finish execution
+ dofinish "quit"
+ fi
+
# $jdbOutFile always exists here and is non empty
# because after starting jdb, we waited
# for the prompt.
fileSize=`wc -c $jdbOutFile | awk '{ print $1 }'`
- echo "--Sending cmd: " $* >&2
+ echo "--Sending cmd: " $command >&2
# jjh: We have a few intermittent failures here.
# It is as if every so often, jdb doesn't
@@ -570,7 +596,7 @@
# And, we know jdb is started because the main[1] output is in the .jtr
# file. And, we wouldn't have gotten here if mydojdbcmds hadn't
# seen the ].
- echo $*
+ echo $command
# Now we have to wait for the next jdb prompt. We wait for a pattern
# to appear in the last line of jdb output. Normally, the prompt is
@@ -644,7 +670,7 @@
# wait for 4 new chars to appear in the jdb output
count=0
desiredFileSize=`expr $fileSize + 4`
- msg1=`echo At start: cmd/size/waiting : $* / $fileSize / \`date\``
+ msg1=`echo At start: cmd/size/waiting : $command / $fileSize / \`date\``
while [ 1 = 1 ] ; do
newFileSize=`wc -c $jdbOutFile | awk '{ print $1 } '`
#echo jj: desired = $desiredFileSize, new = $newFileSize >& 2
@@ -657,7 +683,7 @@
count=`expr $count + 1`
if [ $count = 30 -o $count = 60 ] ; then
# record some debug info.
- echo "--DEBUG: jdb $$ didn't responded to command in $count secs: $*" >& 2
+ echo "--DEBUG: jdb $$ didn't responded to command in $count secs: $command" >& 2
echo "--DEBUG:" $msg1 >& 2
echo "--DEBUG: "done size/waiting : / $newFileSize / `date` >& 2
echo "-- $jdbOutFile follows-------------------------------" >& 2
@@ -666,13 +692,12 @@
dojstack
#$psCmd | sed -e '/com.sun.javatest/d' -e '/nsk/d' >& 2
if [ $count = 60 ] ; then
- dofail "jdb never responded to command: $*"
+ dofail "jdb never responded to command: $command"
fi
fi
done
# Note that this assumes just these chars in thread names.
- waitForJdbMsg '[a-zA-Z0-9_-][a-zA-Z0-9_-]*\[[1-9][0-9]*\] [ >]*$' \
- 1 allowExit
+ waitForJdbMsg '[a-zA-Z0-9_-][a-zA-Z0-9_-]*\[[1-9][0-9]*\] [ >]*$' 1 $allowExit
}
setBkpts()
@@ -681,12 +706,13 @@
# $1 is the bkpt name, eg, @1
allLines=`$grep -n "$1 *breakpoint" $tmpFileDir/$classname.java.1 | sed -e 's@^\([0-9]*\).*@\1@g'`
for ii in $allLines ; do
- cmd stop at $pkgDot$classname:$ii
+ cmd "stop at $pkgDot$classname:$ii"
done
}
runToBkpt()
{
+ # Don't pass allowExit here as we don't want JDB to unexpectedly exit
cmd run
# Don't need to do this - the above waits for the next prompt which comes out
# AFTER the Breakpoint hit message.
@@ -696,6 +722,7 @@
contToBkpt()
{
+ # Don't pass allowExit here as we don't want JDB to unexpectedly exit
cmd cont
# Don't need to do this - the above waits for the next prompt which comes out
# AFTER the Breakpoint hit message.
@@ -723,22 +750,24 @@
# Found desired string
break
fi
- fi
- tail -2 $jdbOutFile | $grep -s "The application exited" > $devnull 2>&1
- if [ $? = 0 ] ; then
+ fi
+ tail -2 $jdbOutFile | $grep -s "The application exited" > $devnull 2>&1
+ if [ $? = 0 ] ; then
# Found 'The application exited'
+ echo "--JDB finished: The application exited" >&2
if [ ! -z "$allowExit" ] ; then
- break
+ # Exit is allowed
+ dofinish
fi
# Otherwise, it is an error if we don't find $1
- if [ -r $jdbOutFile ] ; then
- tail -$nlines $jdbOutFile | $grep -s "$1" > $devnull 2>&1
+ if [ -r $jdbOutFile ] ; then
+ tail -$nlines $jdbOutFile | $grep -s "$1" > $devnull 2>&1
if [ $? = 0 ] ; then
- break
- fi
- fi
- dofail "Waited for jdb msg $1, but it never appeared"
- fi
+ break
+ fi
+ fi
+ dofail "JDB unexpectedly finished: Waited for jdb msg $1, but it never appeared"
+ fi
sleep ${sleep_seconds}
findPid $topPid
@@ -761,6 +790,19 @@
}
+# Finishes JDB execution
+# Specify command to finish if it's needed
+dofinish()
+{
+ if [ ! -z "$*" ] ; then
+ echo "--Finish execution with sending \"$*\" command to JDB" >&2
+ cmd "exitJdb" "$*"
+ else
+ echo "--Finish without sending \"quit\" command to JDB" >&2
+ fi
+ exit 0
+}
+
# $1 is the string to print. If $2 exists,
# it is the name of a file to print, ie, the name
# of the file that contains the $1 string.
@@ -774,10 +816,11 @@
# Kill the debuggee ; it could be hung so
# we want to get rid of it as soon as possible.
killOrphans "killing debuggee" $debuggeeKeyword
+ # Kill debugger, it could be hung
+ killOrphans "killing debugger" $jdbKeyword
echo " " >>$failFile
echo "--Fail: $*" >> $failFile
- echo quit
fi
if [ ! -z "$2" ] ; then
echo "---- contents of $2 follows -------" >> $failFile
@@ -788,7 +831,7 @@
}
-redefineClass()
+redefineClass()
{
if [ -z "$1" ] ; then
vers=2
@@ -796,8 +839,8 @@
vers=`echo $1 | sed -e 's/@//'`
vers=`expr $vers + 1`
fi
-
- cmd redefine $pkgDot$classname $tmpFileDir/vers$vers/$classname.class
+
+ cmd "redefine $pkgDot$classname $tmpFileDir/vers$vers/$classname.class"
cp $tmpFileDir/$classname.java.$vers \
$tmpFileDir/$classname.java
@@ -807,8 +850,10 @@
{
# Wait for jdb to start before we start sending cmds
waitForJdbMsg ']' 1
+ # Send commands from the test
dojdbCmds
- cmd quit
+ # Finish jdb with quit command
+ dofinish "quit"
}
startJdb()
@@ -853,7 +898,7 @@
if [ -r $TESTCLASSES/../@debuggeeVMOptions ] ; then
args=`cat $TESTCLASSES/../@debuggeeVMOptions`
fi
-
+
if [ ! -z "$args" ] ; then
echo "--Starting debuggee with args from @debuggeeVMOptions: $args"
else
@@ -932,16 +977,13 @@
break
fi
if [ ! -z "$isWin98" ] ; then
- $psCmd | $grep -i 'JDB\.EXE' >$devnull 2>&1
- if [ $? != 0 ] ; then
- break;
- fi
+ $psCmd | $grep -i 'JDB\.EXE' >$devnull 2>&1
+ if [ $? != 0 ] ; then
+ break
+ fi
fi
- $grep -s 'Input stream closed' $jdbOutFile > $devnull 2>&1
- if [ $? = 0 ] ; then
- #something went wrong
- dofail "jdb input stream closed prematurely"
- fi
+ # Something went wrong
+ jdbFailIfPresent "Input stream closed"
# If a failure has occured, quit
if [ -r "$failFile" ] ; then
@@ -951,6 +993,46 @@
sleep ${sleep_seconds}
done
+ # jdb exited because its input stream closed prematurely
+ jdbFailIfPresent "Input stream closed"
+
+ # It is necessary here to avoid the situation when JDB exited but
+ # mydojdbCmds() didn't finish because it waits for JDB message
+ # in waitForJdbMsg(), at the same time main process will finish
+ # the execution with no errors.
+ # To avoid that, wait for spawned processes to finish
+ case "$osname" in
+ SunOS)
+ # `wait` function doesn't work in Solaris shell as in bash,
+ # so create replacement that finds mydojdbCmds() shell process
+ # and waits for its finish
+ cmdsPid=
+ # get list of processes except main process with $topPid
+ processes=`$psCmd | $grep -v "$grep" | $grep -v $topPid | awk '{print $1}'`
+ for pid in $processes; do
+ # for each process grep its full args string for test name $0
+ # $0 contains full test name with path
+ pargs -l $pid 2>$devnull | $grep "$0" >$devnull 2>&1
+ if [ $? = 0 ] ; then
+ cmdsPid=$pid
+ break
+ fi
+ done
+ echo "--waitForFinish: Waiting for mydojdbCmds() to finish" >&2
+ while [ 1 = 1 ] ; do
+ findPid $cmdsPid
+ if [ $? != 0 ] ; then
+ break
+ fi
+ sleep ${sleep_seconds}
+ done
+ ;;
+ *)
+ echo "--waitForFinish: Waiting for all processes to finish" >&2
+ wait
+ ;;
+ esac
+
if [ -r "$failFile" ] ; then
ls -l "$failFile" >&2
echo "<waitForFinish:_begin_failFile_contents>" >&2
@@ -1130,13 +1212,8 @@
runit()
{
setup
- runitAfterSetup
-}
-
-runitAfterSetup()
-{
docompile
- startJdb
+ startJdb
startDebuggee
waitForFinish
diff --git a/jdk/test/com/sun/jdi/StringConvertTest.sh b/jdk/test/com/sun/jdi/StringConvertTest.sh
index c86ab3d..053396c 100644
--- a/jdk/test/com/sun/jdi/StringConvertTest.sh
+++ b/jdk/test/com/sun/jdi/StringConvertTest.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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 @@
# questions.
#
-# @test @(#)StringConvertTest.sh 1.6 03/04/09
+# @test
# @bug 4511950 4843082
# @summary 1. jdb's expression evaluation doesn't perform string conversion properly
# 2. TTY: run on expression evaluation
@@ -164,7 +164,7 @@
cmd print "$classname.growit(\"xyz\")"
cmd eval "$classname.sbGrower.append(\"xyz\")"
cmd print 1
-
+
cmd eval "sbTim.toString()"
cmd print 1
@@ -183,7 +183,6 @@
cmd print "this.ivar"
cmd print gusLoc
cmd print 1
- cmd quit
}
mysetup()
diff --git a/jdk/test/com/sun/jdi/SuspendNoFlagTest.sh b/jdk/test/com/sun/jdi/SuspendNoFlagTest.sh
index 7608cb5..dd4a24e 100644
--- a/jdk/test/com/sun/jdi/SuspendNoFlagTest.sh
+++ b/jdk/test/com/sun/jdi/SuspendNoFlagTest.sh
@@ -68,9 +68,9 @@
# is given on the command line, tell the user that and use a default.
# THIS IS THE JDK BEING TESTED.
if [ -n "$1" ] ; then
- TESTJAVA=$1
+ TESTJAVA=$1
else
- TESTJAVA=$JAVA_HOME
+ TESTJAVA=$JAVA_HOME
fi
TESTSRC=.
TESTCLASSES=.
diff --git a/jdk/test/com/sun/jdi/SuspendThreadTest.java b/jdk/test/com/sun/jdi/SuspendThreadTest.java
index 3c84ac1..a2f647b 100644
--- a/jdk/test/com/sun/jdi/SuspendThreadTest.java
+++ b/jdk/test/com/sun/jdi/SuspendThreadTest.java
@@ -36,7 +36,6 @@
import com.sun.jdi.event.*;
import com.sun.jdi.request.*;
-import java.util.*;
/********** target program **********/
@@ -78,7 +77,11 @@
// 1000 makes the test take over 2 mins on win32
static int maxBkpts = 200;
- int bkptCount;
+ volatile int bkptCount;
+ // to guard against spurious wakeups from bkptSignal.wait()
+ boolean signalSent;
+ // signal that a breakpoint has happened
+ Object bkptSignal = new Object() {};
BreakpointRequest bkptRequest;
Field debuggeeCountField;
@@ -99,8 +102,12 @@
// The main thread watchs the bkptCount to
// see if bkpts stop coming in. The
// test _should_ fail well before maxBkpts bkpts.
- if (bkptCount++ < maxBkpts) {
- bkptRequest.enable();
+ synchronized (bkptSignal) {
+ if (bkptCount++ < maxBkpts) {
+ bkptRequest.enable();
+ }
+ signalSent = true;
+ bkptSignal.notifyAll();
}
}
@@ -130,29 +137,32 @@
debuggeeCountField = targetClass.fieldByName("count");
try {
-
addListener (this);
} catch (Exception ex){
ex.printStackTrace();
failure("failure: Could not add listener");
- throw new Exception("SuspendThreadTest: failed");
+ throw new Exception("SuspendThreadTest: failed", ex);
}
int prevBkptCount;
vm().resume();
- while (bkptCount < maxBkpts) {
- prevBkptCount = bkptCount;
- // If we don't get a bkpt within 5 secs,
- // the test fails
- try {
- Thread.sleep(5000);
- } catch (InterruptedException ee) {
+ synchronized (bkptSignal) {
+ while (bkptCount < maxBkpts) {
+ prevBkptCount = bkptCount;
+ // If we don't get a bkpt within 5 secs,
+ // the test fails
+ signalSent = false;
+ do {
+ try {
+ bkptSignal.wait(5000);
+ } catch (InterruptedException ee) {
+ }
+ } while (signalSent == false);
+ if (prevBkptCount == bkptCount) {
+ failure("failure: test hung");
+ break;
+ }
}
- if (prevBkptCount == bkptCount) {
- failure("failure: test hung");
- break;
- }
- prevBkptCount = bkptCount;
}
println("done with loop");
bkptRequest.disable();
diff --git a/jdk/test/com/sun/jdi/TestScaffold.java b/jdk/test/com/sun/jdi/TestScaffold.java
index 5dc5640..0797335 100644
--- a/jdk/test/com/sun/jdi/TestScaffold.java
+++ b/jdk/test/com/sun/jdi/TestScaffold.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2007, 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
diff --git a/jdk/test/com/sun/jdi/WatchFramePop.sh b/jdk/test/com/sun/jdi/WatchFramePop.sh
index 5aa7905..870f32f 100644
--- a/jdk/test/com/sun/jdi/WatchFramePop.sh
+++ b/jdk/test/com/sun/jdi/WatchFramePop.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2014, 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
@@ -83,7 +83,7 @@
contToBkpt # stops at the bkpt at
cmd next # The bug is that this next runs to completion
# In which case, so does jdb
- cmd quit # so we never get here.
+ # so we never get here.
}
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/TestNotification.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/TestNotification.java
index f9f2832..ae42246 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/TestNotification.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/TestNotification.java
@@ -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
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/TestNotification.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/TestNotification.java
index 6a9efd4..c1c8f78 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/TestNotification.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/TestNotification.java
@@ -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
diff --git a/jdk/test/com/sun/jndi/cosnaming/CNNameParser.java b/jdk/test/com/sun/jndi/cosnaming/CNNameParser.java
index fac3f77..f4d8bac 100644
--- a/jdk/test/com/sun/jndi/cosnaming/CNNameParser.java
+++ b/jdk/test/com/sun/jndi/cosnaming/CNNameParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/com/sun/jndi/cosnaming/IiopUrlIPv6.java b/jdk/test/com/sun/jndi/cosnaming/IiopUrlIPv6.java
index 30cb392..478bd5a 100644
--- a/jdk/test/com/sun/jndi/cosnaming/IiopUrlIPv6.java
+++ b/jdk/test/com/sun/jndi/cosnaming/IiopUrlIPv6.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/com/sun/jndi/dns/Parser.java b/jdk/test/com/sun/jndi/dns/Parser.java
new file mode 100644
index 0000000..3e5bf5a
--- /dev/null
+++ b/jdk/test/com/sun/jndi/dns/Parser.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2014, Red Hat, Inc.
+ * 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 8035105
+ * @summary DNS resource record parsing
+ */
+
+import com.sun.jndi.dns.ResourceRecord;
+import javax.naming.CommunicationException;
+import javax.naming.InvalidNameException;;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import java.io.IOException;
+
+import static java.nio.charset.StandardCharsets.ISO_8859_1;
+
+public class Parser {
+ static Constructor<ResourceRecord> rrConstructor;
+ static {
+ try {
+ rrConstructor = ResourceRecord.class.getDeclaredConstructor(
+ byte[].class, int.class, int.class, boolean.class,
+ boolean.class);
+ rrConstructor.setAccessible(true);
+ } catch (Exception e) {
+ throw new AssertionError(e);
+ }
+ }
+
+ static ResourceRecord parse(String data, int offset, boolean qSection)
+ throws Throwable {
+ byte[] bytes = data.getBytes(ISO_8859_1);
+ try {
+ return rrConstructor.newInstance(
+ bytes, bytes.length, offset, qSection, !qSection);
+ } catch (InvocationTargetException e) {
+ throw e.getCause();
+ }
+ }
+
+ public static void main(String[] args) throws Throwable {
+ ResourceRecord rr;
+
+ rr = parse("\003www\007example\003com\000\000\002\000\001",
+ 0, true);
+ if (!rr.getName().toString().equals("www.example.com."))
+ throw new AssertionError(rr.getName().toString());
+ if (rr.getRrclass() != 1)
+ throw new AssertionError("RCLASS: " + rr.getRrclass());
+ if (rr.getType() != 2)
+ throw new AssertionError("RTYPE: " + rr.getType());
+
+ String longLabel = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" +
+ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
+
+ rr = parse("\077" + longLabel + "\077" + longLabel +
+ "\077" + longLabel + "\061" + longLabel.substring(0, 49) +
+ "\007example\003com\000\000\002\000\001",
+ 0, true);
+ if (!rr.getName().toString().equals(longLabel +
+ '.' + longLabel + '.' + longLabel +
+ '.' + longLabel.substring(0, 49) + ".example.com."))
+ throw new AssertionError(rr.getName().toString());
+ if (rr.getRrclass() != 1)
+ throw new AssertionError("RCLASS: " + rr.getRrclass());
+ if (rr.getType() != 2)
+ throw new AssertionError("RTYPE: " + rr.getType());
+
+ rr = parse("1-2-3-4-5-6-" +
+ "\003www\007example\003com\000\000\002\000\001" +
+ "\300\014\000\002\000\001\000\001\121\200" +
+ "\000\005\002ns\300\020",
+ 33, false);
+ if (!rr.getName().toString().equals("www.example.com."))
+ throw new AssertionError(rr.getName().toString());
+ if (rr.getRrclass() != 1)
+ throw new AssertionError("RCLASS: " + rr.getRrclass());
+ if (rr.getType() != 2)
+ throw new AssertionError("RTYPE: " + rr.getType());
+ if (!rr.getRdata().toString().equals("ns.example.com."))
+ throw new AssertionError("RDATA: " + rr.getRdata());
+
+ try {
+ parse("1-2-3-4-5-6-" +
+ "\003www\007example\003com\000\000\002\000\001" +
+ "\300\014\000\002\000\001\300\051\300\047" +
+ "\000\005\002ns\300\051",
+ 33, false);
+ throw new AssertionError();
+ } catch (CommunicationException e) {
+ if (!e.getMessage().equals("DNS error: malformed packet")
+ || e.getCause().getClass() != IOException.class
+ || !e.getCause().getMessage().equals(
+ "Too many compression references"))
+ throw e;
+ }
+
+ try {
+ String longLabel62 = "\076" + longLabel.substring(1);
+ parse(longLabel62 + longLabel62 + longLabel62 + longLabel62 +
+ "\002XX\000\000\002\000\001", 0, true);
+ throw new AssertionError();
+ } catch (CommunicationException e) {
+ if (!e.getMessage().equals("DNS error: malformed packet")
+ || e.getCause().getClass() != InvalidNameException.class
+ || !e.getCause().getMessage().equals("Name too long"))
+ throw e;
+ }
+ try {
+ parse("\100Y" + longLabel + "\000\000\002\000\001", 0, true);
+ throw new AssertionError();
+ } catch (CommunicationException e) {
+ if (!e.getMessage().equals("DNS error: malformed packet")
+ || e.getCause().getClass() != IOException.class
+ || !e.getCause().getMessage().equals("Invalid label type: 64"))
+ throw e;
+ }
+ }
+}
diff --git a/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java b/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java
index e6cd26e..04e2cae 100644
--- a/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java
+++ b/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/SetVMOption.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh b/jdk/test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh
index 401a400..c4cca4d 100644
--- a/jdk/test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh
+++ b/jdk/test/com/sun/management/UnixOperatingSystemMXBean/GetMaxFileDescriptorCount.sh
@@ -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
diff --git a/jdk/test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh b/jdk/test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh
index 28ea936..5791266 100644
--- a/jdk/test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh
+++ b/jdk/test/com/sun/management/UnixOperatingSystemMXBean/GetOpenFileDescriptorCount.sh
@@ -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
diff --git a/jdk/test/com/sun/net/httpserver/Test9a.java b/jdk/test/com/sun/net/httpserver/Test9a.java
index 66e7948..d746070 100644
--- a/jdk/test/com/sun/net/httpserver/Test9a.java
+++ b/jdk/test/com/sun/net/httpserver/Test9a.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/test/com/sun/net/httpserver/bugs/6725892/Test.java b/jdk/test/com/sun/net/httpserver/bugs/6725892/Test.java
index 622f1b1..e09a33f 100644
--- a/jdk/test/com/sun/net/httpserver/bugs/6725892/Test.java
+++ b/jdk/test/com/sun/net/httpserver/bugs/6725892/Test.java
@@ -68,7 +68,7 @@
try {
InetSocketAddress addr = new InetSocketAddress (0);
- s1 = HttpServer.create (addr, 0);
+ s1 = HttpServer.create (addr, 100);
HttpHandler h = new Handler ();
HttpContext c1 = s1.createContext ("/", h);
s1.setExecutor(exec);
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComKeyManagerFactoryImpl.java b/jdk/test/com/sun/net/ssl/SSLSecurity/ComKeyManagerFactoryImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComKeyManagerFactoryImpl.java
rename to jdk/test/com/sun/net/ssl/SSLSecurity/ComKeyManagerFactoryImpl.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComSSLContextImpl.java b/jdk/test/com/sun/net/ssl/SSLSecurity/ComSSLContextImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComSSLContextImpl.java
rename to jdk/test/com/sun/net/ssl/SSLSecurity/ComSSLContextImpl.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComTrustManagerFactoryImpl.java b/jdk/test/com/sun/net/ssl/SSLSecurity/ComTrustManagerFactoryImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ComTrustManagerFactoryImpl.java
rename to jdk/test/com/sun/net/ssl/SSLSecurity/ComTrustManagerFactoryImpl.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxKeyManagerFactoryImpl.java b/jdk/test/com/sun/net/ssl/SSLSecurity/JavaxKeyManagerFactoryImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxKeyManagerFactoryImpl.java
rename to jdk/test/com/sun/net/ssl/SSLSecurity/JavaxKeyManagerFactoryImpl.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxSSLContextImpl.java b/jdk/test/com/sun/net/ssl/SSLSecurity/JavaxSSLContextImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxSSLContextImpl.java
rename to jdk/test/com/sun/net/ssl/SSLSecurity/JavaxSSLContextImpl.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxTrustManagerFactoryImpl.java b/jdk/test/com/sun/net/ssl/SSLSecurity/JavaxTrustManagerFactoryImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/JavaxTrustManagerFactoryImpl.java
rename to jdk/test/com/sun/net/ssl/SSLSecurity/JavaxTrustManagerFactoryImpl.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ProviderTest.java b/jdk/test/com/sun/net/ssl/SSLSecurity/ProviderTest.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/ProviderTest.java
rename to jdk/test/com/sun/net/ssl/SSLSecurity/ProviderTest.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/TruncateArray.java b/jdk/test/com/sun/net/ssl/SSLSecurity/TruncateArray.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/SSLSecurity/TruncateArray.java
rename to jdk/test/com/sun/net/ssl/SSLSecurity/TruncateArray.java
diff --git a/jdk/test/com/sun/org/apache/xml/internal/security/TruncateHMAC.java b/jdk/test/com/sun/org/apache/xml/internal/security/TruncateHMAC.java
index f6cd3bc..dd477dd 100644
--- a/jdk/test/com/sun/org/apache/xml/internal/security/TruncateHMAC.java
+++ b/jdk/test/com/sun/org/apache/xml/internal/security/TruncateHMAC.java
@@ -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
diff --git a/jdk/test/com/sun/tools/attach/Application.java b/jdk/test/com/sun/tools/attach/Application.java
index d29b138..ecc7193 100644
--- a/jdk/test/com/sun/tools/attach/Application.java
+++ b/jdk/test/com/sun/tools/attach/Application.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/com/sun/tools/attach/RedefineAgent.java b/jdk/test/com/sun/tools/attach/RedefineAgent.java
index 1650b35..af01df4 100644
--- a/jdk/test/com/sun/tools/attach/RedefineAgent.java
+++ b/jdk/test/com/sun/tools/attach/RedefineAgent.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/test/com/sun/tools/extcheck/TestExtcheckArgs.sh b/jdk/test/com/sun/tools/extcheck/TestExtcheckArgs.sh
index 5adbcfc..a1c1943 100644
--- a/jdk/test/com/sun/tools/extcheck/TestExtcheckArgs.sh
+++ b/jdk/test/com/sun/tools/extcheck/TestExtcheckArgs.sh
@@ -1,7 +1,7 @@
#! /bin/sh
#
-# Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2008, 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
diff --git a/jdk/test/demo/jvmti/hprof/CpuOldTest.java b/jdk/test/demo/jvmti/hprof/CpuOldTest.java
index 8207044..0017b21 100644
--- a/jdk/test/demo/jvmti/hprof/CpuOldTest.java
+++ b/jdk/test/demo/jvmti/hprof/CpuOldTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -37,7 +37,7 @@
DemoRun hprof;
/* Run JVMTI hprof agent with cpu=old */
- hprof = new DemoRun("hprof", "cpu=old");
+ hprof = new DemoRun("hprof", "cpu=old,file=cpuold.txt");
hprof.runit(args[0]);
/* Make sure patterns in output look ok */
diff --git a/jdk/test/demo/jvmti/hprof/CpuSamplesTest.java b/jdk/test/demo/jvmti/hprof/CpuSamplesTest.java
index ad46618..986af43 100644
--- a/jdk/test/demo/jvmti/hprof/CpuSamplesTest.java
+++ b/jdk/test/demo/jvmti/hprof/CpuSamplesTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -37,7 +37,7 @@
DemoRun hprof;
/* Run JVMTI hprof agent with cpu=samples */
- hprof = new DemoRun("hprof", "cpu=samples");
+ hprof = new DemoRun("hprof", "cpu=samples,file=cpusamples.txt");
hprof.runit(args[0]);
/* Make sure patterns in output look ok */
diff --git a/jdk/test/demo/jvmti/hprof/CpuTimesDefineClassTest.java b/jdk/test/demo/jvmti/hprof/CpuTimesDefineClassTest.java
index 97c50eb..3cf96bb 100644
--- a/jdk/test/demo/jvmti/hprof/CpuTimesDefineClassTest.java
+++ b/jdk/test/demo/jvmti/hprof/CpuTimesDefineClassTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -39,7 +39,7 @@
DemoRun hprof;
/* Run JVMTI hprof agent with cpu=times */
- hprof = new DemoRun("hprof", "cpu=times");
+ hprof = new DemoRun("hprof", "cpu=times,file=cputimedefineclass.txt");
hprof.runit(args[0]);
/* Make sure patterns in output look ok */
diff --git a/jdk/test/demo/jvmti/hprof/CpuTimesTest.java b/jdk/test/demo/jvmti/hprof/CpuTimesTest.java
index 7692d2a..4d67900 100644
--- a/jdk/test/demo/jvmti/hprof/CpuTimesTest.java
+++ b/jdk/test/demo/jvmti/hprof/CpuTimesTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -37,7 +37,7 @@
DemoRun hprof;
/* Run JVMTI hprof agent with cpu=times */
- hprof = new DemoRun("hprof", "cpu=times");
+ hprof = new DemoRun("hprof", "cpu=times,file=cputimes.txt");
hprof.runit(args[0]);
/* Make sure patterns in output look ok */
diff --git a/jdk/test/demo/jvmti/hprof/HeapAllTest.java b/jdk/test/demo/jvmti/hprof/HeapAllTest.java
index 0801559..d543f73 100644
--- a/jdk/test/demo/jvmti/hprof/HeapAllTest.java
+++ b/jdk/test/demo/jvmti/hprof/HeapAllTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -37,7 +37,7 @@
DemoRun hprof;
/* Run JVMTI hprof agent with heap=all */
- hprof = new DemoRun("hprof", "heap=all");
+ hprof = new DemoRun("hprof", "heap=all,file=heapall.txt");
hprof.runit(args[0]);
/* Make sure patterns in output look ok */
diff --git a/jdk/test/demo/jvmti/hprof/HeapBinaryFormatTest.java b/jdk/test/demo/jvmti/hprof/HeapBinaryFormatTest.java
index 94567cd..0bc0135 100644
--- a/jdk/test/demo/jvmti/hprof/HeapBinaryFormatTest.java
+++ b/jdk/test/demo/jvmti/hprof/HeapBinaryFormatTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2014, 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
@@ -37,7 +37,7 @@
DemoRun hprof;
/* Run JVMTI hprof agent to get binary format dump */
- hprof = new DemoRun("hprof", "heap=dump,format=b,logflags=4");
+ hprof = new DemoRun("hprof", "heap=dump,format=b,logflags=4,file=heapbinaryformat.txt");
hprof.runit(args[0]);
/* Make sure patterns in output look ok */
diff --git a/jdk/test/demo/jvmti/hprof/HeapDumpTest.java b/jdk/test/demo/jvmti/hprof/HeapDumpTest.java
index 32cc01c..1129e93 100644
--- a/jdk/test/demo/jvmti/hprof/HeapDumpTest.java
+++ b/jdk/test/demo/jvmti/hprof/HeapDumpTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -37,7 +37,7 @@
DemoRun hprof;
/* Run JVMTI hprof agent with heap=dump */
- hprof = new DemoRun("hprof", "heap=dump");
+ hprof = new DemoRun("hprof", "heap=dump,file=heapdump.txt");
hprof.runit(args[0]);
/* Make sure patterns in output look ok */
diff --git a/jdk/test/demo/jvmti/hprof/HeapSitesTest.java b/jdk/test/demo/jvmti/hprof/HeapSitesTest.java
index 3bdbe6c..855bfad 100644
--- a/jdk/test/demo/jvmti/hprof/HeapSitesTest.java
+++ b/jdk/test/demo/jvmti/hprof/HeapSitesTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -37,7 +37,7 @@
DemoRun hprof;
/* Run JVMTI hprof agent with heap=sites */
- hprof = new DemoRun("hprof", "heap=sites");
+ hprof = new DemoRun("hprof", "heap=sites,file=heapsites.txt");
hprof.runit(args[0]);
/* Make sure patterns in output look ok */
diff --git a/jdk/test/demo/jvmti/hprof/MonitorTest.java b/jdk/test/demo/jvmti/hprof/MonitorTest.java
index 2512efd..2e8261f 100644
--- a/jdk/test/demo/jvmti/hprof/MonitorTest.java
+++ b/jdk/test/demo/jvmti/hprof/MonitorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -42,7 +42,7 @@
DemoRun hprof;
/* Run JVMTI hprof agent with monitor=y */
- hprof = new DemoRun("hprof", "monitor=y");
+ hprof = new DemoRun("hprof", "monitor=y,file=monitor.txt");
hprof.runit(args[0]);
/* Make sure patterns in output look ok */
diff --git a/jdk/test/demo/jvmti/hprof/OptionsTest.java b/jdk/test/demo/jvmti/hprof/OptionsTest.java
index 397357c..ebd0922 100644
--- a/jdk/test/demo/jvmti/hprof/OptionsTest.java
+++ b/jdk/test/demo/jvmti/hprof/OptionsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2014, 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
@@ -39,10 +39,10 @@
DemoRun hprof;
List<String> options = new LinkedList<String>();
- options.add("cpu=samples,depth=0");
- options.add("cpu=times,depth=0");
- options.add("cpu=old,depth=0");
- options.add("depth=0");
+ options.add("cpu=samples,depth=0,file=options0.txt");
+ options.add("cpu=times,depth=0,file=options1.txt");
+ options.add("cpu=old,depth=0,file=options2.txt");
+ options.add("depth=0,file=options3.txt");
for(String option: options) {
/* Run JVMTI hprof agent with various options */
diff --git a/jdk/test/demo/jvmti/hprof/StackMapTableTest.java b/jdk/test/demo/jvmti/hprof/StackMapTableTest.java
index 758fdae..cf8cef6 100644
--- a/jdk/test/demo/jvmti/hprof/StackMapTableTest.java
+++ b/jdk/test/demo/jvmti/hprof/StackMapTableTest.java
@@ -40,10 +40,10 @@
DemoRun hprof;
List<String> options = new LinkedList<String>();
- options.add("cpu=samples");
- options.add("cpu=times");
- options.add("heap=sites");
- options.add("");
+ options.add("cpu=samples,file=stackmaptable0.txt");
+ options.add("cpu=times,file=stackmaptable1.txt");
+ options.add("heap=sites,file=stackmaptable2.txt");
+ options.add("file=stackmaptable3.txt");
for(String option: options) {
/* Run JVMTI hprof agent with various options */
diff --git a/jdk/test/demo/jvmti/mtrace/TraceJFrame.java b/jdk/test/demo/jvmti/mtrace/TraceJFrame.java
index 8781e0a..b29680c 100644
--- a/jdk/test/demo/jvmti/mtrace/TraceJFrame.java
+++ b/jdk/test/demo/jvmti/mtrace/TraceJFrame.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/demo/zipfs/ZipFSTester.java b/jdk/test/demo/zipfs/ZipFSTester.java
index 6153a660..e1afd0e 100644
--- a/jdk/test/demo/zipfs/ZipFSTester.java
+++ b/jdk/test/demo/zipfs/ZipFSTester.java
@@ -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
diff --git a/jdk/test/demo/zipfs/basic.sh b/jdk/test/demo/zipfs/basic.sh
index 9dc8521..842f0e6 100644
--- a/jdk/test/demo/zipfs/basic.sh
+++ b/jdk/test/demo/zipfs/basic.sh
@@ -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
diff --git a/jdk/test/java/awt/AlphaComposite/TestAlphaCompositeForNaN.java b/jdk/test/java/awt/AlphaComposite/TestAlphaCompositeForNaN.java
index 77f0ba3..7f8576a 100644
--- a/jdk/test/java/awt/AlphaComposite/TestAlphaCompositeForNaN.java
+++ b/jdk/test/java/awt/AlphaComposite/TestAlphaCompositeForNaN.java
@@ -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
diff --git a/jdk/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html b/jdk/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html
index 7c56676..9b8277d 100644
--- a/jdk/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html
+++ b/jdk/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html
@@ -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
diff --git a/jdk/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java b/jdk/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java
index a63e6c1..97d4ff6 100644
--- a/jdk/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java
+++ b/jdk/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java
@@ -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
diff --git a/jdk/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.html b/jdk/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.html
index bb03faf..37015ec 100644
--- a/jdk/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.html
+++ b/jdk/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/Component/F10TopToplevel/F10TopToplevel.html b/jdk/test/java/awt/Component/F10TopToplevel/F10TopToplevel.html
index 84f5e96..73e49d2 100644
--- a/jdk/test/java/awt/Component/F10TopToplevel/F10TopToplevel.html
+++ b/jdk/test/java/awt/Component/F10TopToplevel/F10TopToplevel.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html b/jdk/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html
index 2a40796..20ac23c 100644
--- a/jdk/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html
+++ b/jdk/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/Container/ValidateRoot/InvalidateMustRespectValidateRoots.java b/jdk/test/java/awt/Container/ValidateRoot/InvalidateMustRespectValidateRoots.java
index 0986ebd..6c03c99 100644
--- a/jdk/test/java/awt/Container/ValidateRoot/InvalidateMustRespectValidateRoots.java
+++ b/jdk/test/java/awt/Container/ValidateRoot/InvalidateMustRespectValidateRoots.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html b/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html
index 70f1b59..3e8611d 100644
--- a/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html
+++ b/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1998, 2009, 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
diff --git a/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java b/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java
index c368537..e41f33c 100644
--- a/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java
+++ b/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java
@@ -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
diff --git a/jdk/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.html b/jdk/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.html
index a13ecf7..68b1973 100644
--- a/jdk/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.html
+++ b/jdk/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html b/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html
index c75f816..a9c256e 100644
--- a/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html
+++ b/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html
@@ -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
diff --git a/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java b/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java
index 5d54d9a..e3240fd 100644
--- a/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java
+++ b/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java
@@ -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
diff --git a/jdk/test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html b/jdk/test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html
index 6182d5b..430a11b 100644
--- a/jdk/test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html
+++ b/jdk/test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/awt/FileDialog/MultipleMode/MultipleMode.html b/jdk/test/java/awt/FileDialog/MultipleMode/MultipleMode.html
index af65011..1611801 100644
--- a/jdk/test/java/awt/FileDialog/MultipleMode/MultipleMode.html
+++ b/jdk/test/java/awt/FileDialog/MultipleMode/MultipleMode.html
@@ -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
diff --git a/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html
index 4e514d4..0a0d48e 100644
--- a/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html
+++ b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html
@@ -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
diff --git a/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java
index 7311214..7348f66 100644
--- a/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java
+++ b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java
@@ -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
diff --git a/jdk/test/java/awt/Focus/6981400/Test1.java b/jdk/test/java/awt/Focus/6981400/Test1.java
index ff92c32..a78c947 100644
--- a/jdk/test/java/awt/Focus/6981400/Test1.java
+++ b/jdk/test/java/awt/Focus/6981400/Test1.java
@@ -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
diff --git a/jdk/test/java/awt/Focus/6981400/Test2.java b/jdk/test/java/awt/Focus/6981400/Test2.java
index db16b60..6afcf6f 100644
--- a/jdk/test/java/awt/Focus/6981400/Test2.java
+++ b/jdk/test/java/awt/Focus/6981400/Test2.java
@@ -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
diff --git a/jdk/test/java/awt/Focus/6981400/Test3.java b/jdk/test/java/awt/Focus/6981400/Test3.java
index daf9c9c..6030071 100644
--- a/jdk/test/java/awt/Focus/6981400/Test3.java
+++ b/jdk/test/java/awt/Focus/6981400/Test3.java
@@ -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
diff --git a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html
index 09199a7..996e375 100644
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html
@@ -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
diff --git a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html
index 24d72f9..626849c 100644
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html
@@ -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
diff --git a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java
index 0cfb626..853210c 100644
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java
@@ -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
diff --git a/jdk/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html b/jdk/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html
index 12c419f..a574175 100644
--- a/jdk/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html
+++ b/jdk/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java b/jdk/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java
index 3cb18d6..1135c5a 100644
--- a/jdk/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java
+++ b/jdk/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1995, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1995, 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
diff --git a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java
index ff921a7..7808dd1 100644
--- a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java
+++ b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java
@@ -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
diff --git a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java
index 98e6cb3..ccc73aa 100644
--- a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java
+++ b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java
@@ -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
diff --git a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java
index f3a3b4f..fd44a6c 100644
--- a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java
+++ b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java
@@ -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
diff --git a/jdk/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html b/jdk/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html
index 9b152c9..dfa2999 100644
--- a/jdk/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html
+++ b/jdk/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html b/jdk/test/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html
index 51b9dae..7fe8fec 100644
--- a/jdk/test/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html
+++ b/jdk/test/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2002, 2007, 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
diff --git a/jdk/test/java/awt/Focus/TypeAhead/TestFocusFreeze.java b/jdk/test/java/awt/Focus/TypeAhead/TestFocusFreeze.java
index 2edcf9d..5127d00 100644
--- a/jdk/test/java/awt/Focus/TypeAhead/TestFocusFreeze.java
+++ b/jdk/test/java/awt/Focus/TypeAhead/TestFocusFreeze.java
@@ -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
diff --git a/jdk/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html b/jdk/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html
index dc9aab7..4d7d2d4 100644
--- a/jdk/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html
+++ b/jdk/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/awt/FontClass/CreateFont/DeleteFont.sh b/jdk/test/java/awt/FontClass/CreateFont/DeleteFont.sh
index 0325594..08b75c8 100644
--- a/jdk/test/java/awt/FontClass/CreateFont/DeleteFont.sh
+++ b/jdk/test/java/awt/FontClass/CreateFont/DeleteFont.sh
@@ -47,7 +47,7 @@
cd ${TESTCLASSES}
numfiles0=`ls ${TESTCLASSES} | wc -l`
-${TESTJAVA}/bin/java -Djava.io.tmpdir=${TESTCLASSES} DeleteFont
+${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.io.tmpdir=${TESTCLASSES} DeleteFont
if [ $? -ne 0 ]
then
diff --git a/jdk/test/java/awt/FontMetrics/StyledSpaceAdvance.java b/jdk/test/java/awt/FontMetrics/StyledSpaceAdvance.java
index cc5b0a3..cb68075 100644
--- a/jdk/test/java/awt/FontMetrics/StyledSpaceAdvance.java
+++ b/jdk/test/java/awt/FontMetrics/StyledSpaceAdvance.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java b/jdk/test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java
index 2f8169e..6559e5e 100644
--- a/jdk/test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java
+++ b/jdk/test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java
@@ -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
diff --git a/jdk/test/java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html b/jdk/test/java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html
index 4aab277..1966095 100644
--- a/jdk/test/java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html
+++ b/jdk/test/java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2003, 2007, 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
diff --git a/jdk/test/java/awt/Frame/ShownOnPack/ShownOnPack.html b/jdk/test/java/awt/Frame/ShownOnPack/ShownOnPack.html
index f406898..6dd732f 100644
--- a/jdk/test/java/awt/Frame/ShownOnPack/ShownOnPack.html
+++ b/jdk/test/java/awt/Frame/ShownOnPack/ShownOnPack.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java b/jdk/test/java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java
index 0d5ada5..1210b0d 100644
--- a/jdk/test/java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java
+++ b/jdk/test/java/awt/FullScreen/TranslucentWindow/TranslucentWindow.java
@@ -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
diff --git a/jdk/test/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java b/jdk/test/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java
index 2d042ea..218b86e 100644
--- a/jdk/test/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java
+++ b/jdk/test/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2009, 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
diff --git a/jdk/test/java/awt/Graphics/LineClipTest.java b/jdk/test/java/awt/Graphics/LineClipTest.java
index 43410f9..da7bff7 100644
--- a/jdk/test/java/awt/Graphics/LineClipTest.java
+++ b/jdk/test/java/awt/Graphics/LineClipTest.java
@@ -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
diff --git a/jdk/test/java/awt/Graphics2D/DrawString/XRenderElt254TextTest.java b/jdk/test/java/awt/Graphics2D/DrawString/XRenderElt254TextTest.java
index 33e834f..be825f2 100644
--- a/jdk/test/java/awt/Graphics2D/DrawString/XRenderElt254TextTest.java
+++ b/jdk/test/java/awt/Graphics2D/DrawString/XRenderElt254TextTest.java
@@ -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
diff --git a/jdk/test/java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java b/jdk/test/java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java
index 569af1f..3911719 100644
--- a/jdk/test/java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java
+++ b/jdk/test/java/awt/Graphics2D/MTGraphicsAccessTest/MTGraphicsAccessTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
diff --git a/jdk/test/java/awt/GraphicsDevice/CloneConfigsTest.java b/jdk/test/java/awt/GraphicsDevice/CloneConfigsTest.java
index 29c3aa9..9854a9e 100644
--- a/jdk/test/java/awt/GraphicsDevice/CloneConfigsTest.java
+++ b/jdk/test/java/awt/GraphicsDevice/CloneConfigsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/java/awt/JAWT/JAWT.sh b/jdk/test/java/awt/JAWT/JAWT.sh
index 48182d4..4210799 100644
--- a/jdk/test/java/awt/JAWT/JAWT.sh
+++ b/jdk/test/java/awt/JAWT/JAWT.sh
@@ -165,7 +165,7 @@
${JAVAC} -d . ${TESTSRC}${FS}MyCanvas.java
${JAVAH} -jni -classpath . -d . MyCanvas
${MAKE} -f ${MAKEFILE}
-${JAVA} -classpath . MyCanvas
+${JAVA} ${TESTVMOPTS} -classpath . MyCanvas
exit $?
diff --git a/jdk/test/java/awt/JAWT/Makefile.cygwin b/jdk/test/java/awt/JAWT/Makefile.cygwin
index 1ca2284..258f433 100644
--- a/jdk/test/java/awt/JAWT/Makefile.cygwin
+++ b/jdk/test/java/awt/JAWT/Makefile.cygwin
@@ -1,4 +1,4 @@
-# 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
diff --git a/jdk/test/java/awt/JAWT/Makefile.unix b/jdk/test/java/awt/JAWT/Makefile.unix
index 00cf78e..f6a408f 100644
--- a/jdk/test/java/awt/JAWT/Makefile.unix
+++ b/jdk/test/java/awt/JAWT/Makefile.unix
@@ -1,4 +1,4 @@
-# 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
diff --git a/jdk/test/java/awt/JAWT/Makefile.win b/jdk/test/java/awt/JAWT/Makefile.win
index 909f4f5..2c627d9 100644
--- a/jdk/test/java/awt/JAWT/Makefile.win
+++ b/jdk/test/java/awt/JAWT/Makefile.win
@@ -1,4 +1,4 @@
-# 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
diff --git a/jdk/test/java/awt/JAWT/MyCanvas.java b/jdk/test/java/awt/JAWT/MyCanvas.java
index 424e3f1..dbfc279 100644
--- a/jdk/test/java/awt/JAWT/MyCanvas.java
+++ b/jdk/test/java/awt/JAWT/MyCanvas.java
@@ -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
diff --git a/jdk/test/java/awt/JAWT/myfile.c b/jdk/test/java/awt/JAWT/myfile.c
index 890a4b5..4d41f25 100644
--- a/jdk/test/java/awt/JAWT/myfile.c
+++ b/jdk/test/java/awt/JAWT/myfile.c
@@ -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
diff --git a/jdk/test/java/awt/JAWT/myfile.cpp b/jdk/test/java/awt/JAWT/myfile.cpp
index eb8b0a7..6157e29 100644
--- a/jdk/test/java/awt/JAWT/myfile.cpp
+++ b/jdk/test/java/awt/JAWT/myfile.cpp
@@ -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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java
index eef8f3c..4de107e 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java
+++ b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java
@@ -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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java
index adbafb1..93f481f 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java
+++ b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java
@@ -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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html
index f6adef4..f231e33 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html
index b17669b..52961b8 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html
index 55cdf37..7445a6c 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java
index d95441b..0641eab 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html
index 6cf7ba3..7d3e98a 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2003, 2007, 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
diff --git a/jdk/test/java/awt/List/SetFontTest/SetFontTest.html b/jdk/test/java/awt/List/SetFontTest/SetFontTest.html
index b7ff684..db33b8c 100644
--- a/jdk/test/java/awt/List/SetFontTest/SetFontTest.html
+++ b/jdk/test/java/awt/List/SetFontTest/SetFontTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2005, 2007, 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
diff --git a/jdk/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java b/jdk/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java
index 18c435d..5ae64a2 100644
--- a/jdk/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java
+++ b/jdk/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java
@@ -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
diff --git a/jdk/test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java b/jdk/test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java
index 669a21a..c8b4736 100644
--- a/jdk/test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java
+++ b/jdk/test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java
@@ -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
diff --git a/jdk/test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java b/jdk/test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java
index 9505c12..8ac68d0 100644
--- a/jdk/test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java
+++ b/jdk/test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java
@@ -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
diff --git a/jdk/test/java/awt/Mouse/EnterExitEvents/DragWindowOutOfFrameTest.java b/jdk/test/java/awt/Mouse/EnterExitEvents/DragWindowOutOfFrameTest.java
index 5763771..9885e8e 100644
--- a/jdk/test/java/awt/Mouse/EnterExitEvents/DragWindowOutOfFrameTest.java
+++ b/jdk/test/java/awt/Mouse/EnterExitEvents/DragWindowOutOfFrameTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/java/awt/Mouse/EnterExitEvents/DragWindowTest.java b/jdk/test/java/awt/Mouse/EnterExitEvents/DragWindowTest.java
index ccba2bc..9ea9b77 100644
--- a/jdk/test/java/awt/Mouse/EnterExitEvents/DragWindowTest.java
+++ b/jdk/test/java/awt/Mouse/EnterExitEvents/DragWindowTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html b/jdk/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html
index d98c3b8..91eec92 100644
--- a/jdk/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html
+++ b/jdk/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html
@@ -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
diff --git a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java
index d85d8d34..65ce4a0 100644
--- a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java
+++ b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java
@@ -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
diff --git a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java
index c659d82..5460d63 100644
--- a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java
+++ b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java
@@ -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
diff --git a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java
index b5d59d0..1ad7ec4 100644
--- a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java
+++ b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2010, 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
diff --git a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java
index 55d58f8..e85e455 100644
--- a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java
+++ b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java
@@ -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
diff --git a/jdk/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html b/jdk/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html
index eb9f89e..62cbd1c 100644
--- a/jdk/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html
+++ b/jdk/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html
@@ -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
diff --git a/jdk/test/java/awt/Multiscreen/TranslucencyThrowsExceptionWhenFullScreen/TranslucencyThrowsExceptionWhenFullScreen.java b/jdk/test/java/awt/Multiscreen/TranslucencyThrowsExceptionWhenFullScreen/TranslucencyThrowsExceptionWhenFullScreen.java
index 3892972..137f48d 100644
--- a/jdk/test/java/awt/Multiscreen/TranslucencyThrowsExceptionWhenFullScreen/TranslucencyThrowsExceptionWhenFullScreen.java
+++ b/jdk/test/java/awt/Multiscreen/TranslucencyThrowsExceptionWhenFullScreen/TranslucencyThrowsExceptionWhenFullScreen.java
@@ -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
diff --git a/jdk/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html b/jdk/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html
index 519173b..b97ab6b 100644
--- a/jdk/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html
+++ b/jdk/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2005, 2007, 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
diff --git a/jdk/test/java/awt/PrintJob/Text/stringwidth.sh b/jdk/test/java/awt/PrintJob/Text/stringwidth.sh
index 3d5ba3e..7aa65e2 100644
--- a/jdk/test/java/awt/PrintJob/Text/stringwidth.sh
+++ b/jdk/test/java/awt/PrintJob/Text/stringwidth.sh
@@ -1,6 +1,6 @@
#!/bin/ksh -p
#
-# Copyright (c) 2007, 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
@@ -58,7 +58,7 @@
JAVA_HOME=$TESTJAVA
fi
- $JAVA_HOME/bin/java -cp "${CP}" StringWidth
+ $JAVA_HOME/bin/java ${TESTVMOPTS} -cp "${CP}" StringWidth
checkstatus
exit 0
diff --git a/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java b/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java
index d2e3c01..156b764 100644
--- a/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java
+++ b/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java
@@ -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
diff --git a/jdk/test/java/awt/Robot/ManualInstructions/ManualInstructions.java b/jdk/test/java/awt/Robot/ManualInstructions/ManualInstructions.java
index 0603376..df842ab 100644
--- a/jdk/test/java/awt/Robot/ManualInstructions/ManualInstructions.java
+++ b/jdk/test/java/awt/Robot/ManualInstructions/ManualInstructions.java
@@ -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
diff --git a/jdk/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java b/jdk/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java
index 299c6ca..5bc8c1f 100644
--- a/jdk/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java
+++ b/jdk/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java
@@ -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
diff --git a/jdk/test/java/awt/ScrollPane/ScrollPanePreferredSize/ScrollPanePreferredSize.java b/jdk/test/java/awt/ScrollPane/ScrollPanePreferredSize/ScrollPanePreferredSize.java
index f5c83a6..0c799f1 100644
--- a/jdk/test/java/awt/ScrollPane/ScrollPanePreferredSize/ScrollPanePreferredSize.java
+++ b/jdk/test/java/awt/ScrollPane/ScrollPanePreferredSize/ScrollPanePreferredSize.java
@@ -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
diff --git a/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java
index 8646274..c785370 100644
--- a/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java
+++ b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java
@@ -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
diff --git a/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java
index db29726..898b865 100644
--- a/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java
+++ b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java
@@ -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
diff --git a/jdk/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html b/jdk/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html
index d28b038..9fc7f55 100644
--- a/jdk/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html
+++ b/jdk/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/TextArea/TextAreaTwicePack/TextAreaTwicePack.java b/jdk/test/java/awt/TextArea/TextAreaTwicePack/TextAreaTwicePack.java
index 94777a6..eba92a5 100644
--- a/jdk/test/java/awt/TextArea/TextAreaTwicePack/TextAreaTwicePack.java
+++ b/jdk/test/java/awt/TextArea/TextAreaTwicePack/TextAreaTwicePack.java
@@ -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
diff --git a/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html b/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html
index c043ba9..f3492dc 100644
--- a/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html
+++ b/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html b/jdk/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html
index b42bb3f..0c99a55 100644
--- a/jdk/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html
+++ b/jdk/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh b/jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh
index f772c25..0b83b09 100644
--- a/jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh
+++ b/jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh
@@ -175,7 +175,7 @@
# pass, you should be able to cut and paste it into here and it will
# run with the test harness.
-${TESTJAVA}/bin/java ShowExitTest
+${TESTJAVA}/bin/java ${TESTVMOPTS} ShowExitTest
############### END YOUR TEST CODE !!!!! ############
#Be sure the last command executed above this line returns 0 for success,
diff --git a/jdk/test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh b/jdk/test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh
index e580728..7624957 100644
--- a/jdk/test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh
+++ b/jdk/test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh
@@ -28,10 +28,10 @@
OS=`uname -s`
case "$OS" in
SunOS )
- ${TESTJAVA}/bin/java BadDisplayTest
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} BadDisplayTest
;;
Linux )
- ${TESTJAVA}/bin/java BadDisplayTest
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} BadDisplayTest
;;
* )
echo "Unsupported System: ${OS}"
diff --git a/jdk/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java b/jdk/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java
index a635b8c..4b955ce 100644
--- a/jdk/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java
+++ b/jdk/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java b/jdk/test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java
index 599dc80..fdc68ba 100644
--- a/jdk/test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java
+++ b/jdk/test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java b/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java
index 60c28bd..289733a 100644
--- a/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java
+++ b/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java b/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java
index 7d9b02c..0479e89 100644
--- a/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java
+++ b/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh b/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh
index 977f1b4..36acfe8 100644
--- a/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh
+++ b/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh
@@ -146,13 +146,13 @@
case "$OS" in
Windows* | CYGWIN* )
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
TestWrapped sun.awt.windows.WToolkit
status=$?
if [ ! $status -eq "0" ]; then
fail "Test FAILED: toolkit wrapped into HeadlessToolkit is not an instance of sun.awt.windows.WToolkit";
fi
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
-Dawt.toolkit=sun.awt.windows.WToolkit \
TestWrapped sun.awt.windows.WToolkit
status=$?
@@ -162,14 +162,15 @@
;;
SunOS | Linux )
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
-Dawt.toolkit=sun.awt.X11.XToolkit \
TestWrapped sun.awt.X11.XToolkit
status=$?
if [ ! $status -eq "0" ]; then
fail "Test FAILED: toolkit wrapped into HeadlessToolkit is not an instance of sun.awt.xawt.XToolkit";
fi
- AWT_TOOLKIT=XToolkit ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ AWT_TOOLKIT=XToolkit ${TESTJAVA}/bin/java ${TESTVMOPTS} \
+ -Djava.awt.headless=true \
TestWrapped sun.awt.X11.XToolkit
status=$?
if [ ! $status -eq "0" ]; then
@@ -178,13 +179,13 @@
;;
Darwin)
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
TestWrapped sun.lwawt.macosx.LWCToolkit
status=$?
if [ ! $status -eq "0" ]; then
fail "Test FAILED: toolkit wrapped into HeadlessToolkit is not an instance of sun.lwawt.macosx.LWCToolkit";
fi
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
-Dawt.toolkit=sun.lwawt.macosx.LWCToolkit \
TestWrapped sun.lwawt.macosx.LWCToolkit
status=$?
diff --git a/jdk/test/java/awt/Toolkit/SecurityTest/SecurityTest2.java b/jdk/test/java/awt/Toolkit/SecurityTest/SecurityTest2.java
index c380850..3424d02 100644
--- a/jdk/test/java/awt/Toolkit/SecurityTest/SecurityTest2.java
+++ b/jdk/test/java/awt/Toolkit/SecurityTest/SecurityTest2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java
index 5f857e0..794cfa4 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java
index f23ddbe..8e23c7c 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java
index 1875779..ba546f7 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java
index 9766e46..1d624aa 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java
index 396057f..027f268 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java
index 32ee89b..a944d6a 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java
@@ -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
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java
index 89c09b6..7f6221c 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2010, 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
diff --git a/jdk/test/java/awt/Window/Grab/GrabTest.java b/jdk/test/java/awt/Window/Grab/GrabTest.java
index 75d70b9..8cc0538 100644
--- a/jdk/test/java/awt/Window/Grab/GrabTest.java
+++ b/jdk/test/java/awt/Window/Grab/GrabTest.java
@@ -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
diff --git a/jdk/test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java b/jdk/test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java
index e335b54..2a64995 100644
--- a/jdk/test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java
+++ b/jdk/test/java/awt/Window/TranslucentJAppletTest/TranslucentJAppletTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java b/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java
index 51fef8f..fe4584a 100644
--- a/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java
+++ b/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java b/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java
index 8b4c6cb..17352b4 100644
--- a/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java
+++ b/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh b/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh
index d888039..290029e 100644
--- a/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh
+++ b/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh
@@ -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
diff --git a/jdk/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html b/jdk/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html
index 5ff9380..73ccf1b 100644
--- a/jdk/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html
+++ b/jdk/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html
@@ -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
diff --git a/jdk/test/java/awt/dnd/Button2DragTest/Button2DragTest.html b/jdk/test/java/awt/dnd/Button2DragTest/Button2DragTest.html
index 3d23785..91dcf4f 100644
--- a/jdk/test/java/awt/dnd/Button2DragTest/Button2DragTest.html
+++ b/jdk/test/java/awt/dnd/Button2DragTest/Button2DragTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2006, 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
diff --git a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html
index 59ff9d3..72a65bb 100644
--- a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html
+++ b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html
@@ -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
diff --git a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java
index 975ef01..5ef5f1d 100644
--- a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java
+++ b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDTarget.java b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDTarget.java
index 64536b2..450ad9b 100644
--- a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDTarget.java
+++ b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDTarget.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html b/jdk/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html
index 140771b..af2e1e1 100644
--- a/jdk/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html
+++ b/jdk/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java
index ec4c14c..a67004d 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java
index de65571..35aece5 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html
index b996e69..e261df0 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java
index 3bdd80e..c44b541 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java
index bd469df..4f13906 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java
index 006767d..d9918b4 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java
index e077c8f..a91c725 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java
index de65571..35aece5 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html
index 01f3847..553069a 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java
index 77d5203..ff3a4af 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java
index bd469df..4f13906 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java
index 006767d..d9918b4 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java
index 346cdf5..c154896 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java
index de65571..35aece5 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html
index 9a14f6e..b313801 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java
index 1d54894..d55a4f7 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java
index bd469df..4f13906 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/MyCursor.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/MyCursor.java
index 006767d..d9918b4 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/MyCursor.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/MyCursor.java
@@ -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
diff --git a/jdk/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html b/jdk/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html
index fd48bb7..838c497 100644
--- a/jdk/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html
+++ b/jdk/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html
@@ -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
diff --git a/jdk/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java b/jdk/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java
index 066d90b..5bf6c38 100644
--- a/jdk/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java
+++ b/jdk/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java
@@ -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
diff --git a/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html b/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html
index 4070213..e6f7dcb 100644
--- a/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html
+++ b/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html
@@ -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
diff --git a/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java b/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java
index df09536..8d98346 100644
--- a/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java
+++ b/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java
@@ -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
diff --git a/jdk/test/java/awt/event/KeyEvent/DeadKey/DeadKeySystemAssertionDialog.java b/jdk/test/java/awt/event/KeyEvent/DeadKey/DeadKeySystemAssertionDialog.java
index b7523d2..cd89be4 100644
--- a/jdk/test/java/awt/event/KeyEvent/DeadKey/DeadKeySystemAssertionDialog.java
+++ b/jdk/test/java/awt/event/KeyEvent/DeadKey/DeadKeySystemAssertionDialog.java
@@ -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
diff --git a/jdk/test/java/awt/event/KeyEvent/ExtendedKeyCode/ExtendedKeyCodeTest.java b/jdk/test/java/awt/event/KeyEvent/ExtendedKeyCode/ExtendedKeyCodeTest.java
index 6b21ea0..8a7fb16 100644
--- a/jdk/test/java/awt/event/KeyEvent/ExtendedKeyCode/ExtendedKeyCodeTest.java
+++ b/jdk/test/java/awt/event/KeyEvent/ExtendedKeyCode/ExtendedKeyCodeTest.java
@@ -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
diff --git a/jdk/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html b/jdk/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html
index bca100c..d71c6f1 100644
--- a/jdk/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html
+++ b/jdk/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html b/jdk/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html
index 8e51bb9..e75f1f0 100644
--- a/jdk/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html
+++ b/jdk/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html
@@ -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
diff --git a/jdk/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java b/jdk/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java
index cb8b602..a205879 100644
--- a/jdk/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java
+++ b/jdk/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java
@@ -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
diff --git a/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java b/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java
index 7c1f070..231ec4b 100644
--- a/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java
+++ b/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java
@@ -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
diff --git a/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java b/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java
index c01783d..0ccd100 100644
--- a/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java
+++ b/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java
@@ -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
diff --git a/jdk/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java b/jdk/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java
index d6e57ac..ba4f493 100644
--- a/jdk/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java
+++ b/jdk/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java
@@ -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
diff --git a/jdk/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html b/jdk/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html
index ea99bca..0396d63 100644
--- a/jdk/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2004, 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
diff --git a/jdk/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html b/jdk/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html
index 4d71c26..59a9238 100644
--- a/jdk/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2004, 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
diff --git a/jdk/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html b/jdk/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html
index e53e539..a7146d7 100644
--- a/jdk/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html b/jdk/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html
index aebea23..45d94bf 100644
--- a/jdk/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2004, 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
diff --git a/jdk/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html b/jdk/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html
index f3f221b..6f9d1af 100644
--- a/jdk/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2000, 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
diff --git a/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html b/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html
index 60f955e..6b64a8d 100644
--- a/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html
+++ b/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html b/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html
index 884914b..3005df5 100644
--- a/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html
+++ b/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java b/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java
index 3b2a56c..2855767 100644
--- a/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java
+++ b/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java
@@ -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
diff --git a/jdk/test/java/awt/im/4490692/bug4490692.html b/jdk/test/java/awt/im/4490692/bug4490692.html
index dcfab0f..86d4064 100644
--- a/jdk/test/java/awt/im/4490692/bug4490692.html
+++ b/jdk/test/java/awt/im/4490692/bug4490692.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/im/4959409/bug4959409.html b/jdk/test/java/awt/im/4959409/bug4959409.html
index ab602cc..1532711 100644
--- a/jdk/test/java/awt/im/4959409/bug4959409.html
+++ b/jdk/test/java/awt/im/4959409/bug4959409.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/im/JTextFieldTest.html b/jdk/test/java/awt/im/JTextFieldTest.html
index 037e623..db1048d 100644
--- a/jdk/test/java/awt/im/JTextFieldTest.html
+++ b/jdk/test/java/awt/im/JTextFieldTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/image/BufferedImage/TinyScale.java b/jdk/test/java/awt/image/BufferedImage/TinyScale.java
index e4c913e..d4d662b 100644
--- a/jdk/test/java/awt/image/BufferedImage/TinyScale.java
+++ b/jdk/test/java/awt/image/BufferedImage/TinyScale.java
@@ -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
diff --git a/jdk/test/java/awt/image/GetSamplesTest.java b/jdk/test/java/awt/image/GetSamplesTest.java
index 2352f9e..07e9298 100644
--- a/jdk/test/java/awt/image/GetSamplesTest.java
+++ b/jdk/test/java/awt/image/GetSamplesTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
diff --git a/jdk/test/java/awt/image/IncorrectSampleMaskTest.java b/jdk/test/java/awt/image/IncorrectSampleMaskTest.java
index 5f91f75..1a71c41 100644
--- a/jdk/test/java/awt/image/IncorrectSampleMaskTest.java
+++ b/jdk/test/java/awt/image/IncorrectSampleMaskTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/java/awt/image/mlib/MlibOpsTest.java b/jdk/test/java/awt/image/mlib/MlibOpsTest.java
index 8f8bf7b..06b9583 100644
--- a/jdk/test/java/awt/image/mlib/MlibOpsTest.java
+++ b/jdk/test/java/awt/image/mlib/MlibOpsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/awt/print/PageFormat/PageFormatFromAttributes.java b/jdk/test/java/awt/print/PageFormat/PageFormatFromAttributes.java
index 8b29138..082ab3f 100644
--- a/jdk/test/java/awt/print/PageFormat/PageFormatFromAttributes.java
+++ b/jdk/test/java/awt/print/PageFormat/PageFormatFromAttributes.java
@@ -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
diff --git a/jdk/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java b/jdk/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java
index 595cfc9..907e655 100644
--- a/jdk/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java
+++ b/jdk/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java b/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java
index c86c2de..8d08da6 100644
--- a/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java
+++ b/jdk/test/java/awt/print/PrinterJob/Collate2DPrintingTest.java
@@ -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
diff --git a/jdk/test/java/awt/print/PrinterJob/PrintGlyphVectorTest.java b/jdk/test/java/awt/print/PrinterJob/PrintGlyphVectorTest.java
index 12a7dca..def3f61 100644
--- a/jdk/test/java/awt/print/PrinterJob/PrintGlyphVectorTest.java
+++ b/jdk/test/java/awt/print/PrinterJob/PrintGlyphVectorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2003, 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
diff --git a/jdk/test/java/awt/regtesthelpers/Util.java b/jdk/test/java/awt/regtesthelpers/Util.java
index 90b2822..2a606bc 100644
--- a/jdk/test/java/awt/regtesthelpers/Util.java
+++ b/jdk/test/java/awt/regtesthelpers/Util.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/beans/Beans/6669869/TestDesignTime.java b/jdk/test/java/beans/Beans/6669869/TestDesignTime.java
index 731ab4a..ec7b4b5 100644
--- a/jdk/test/java/beans/Beans/6669869/TestDesignTime.java
+++ b/jdk/test/java/beans/Beans/6669869/TestDesignTime.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/java/beans/Beans/6669869/TestGuiAvailable.java b/jdk/test/java/beans/Beans/6669869/TestGuiAvailable.java
index 67d88ae..32158e4 100644
--- a/jdk/test/java/beans/Beans/6669869/TestGuiAvailable.java
+++ b/jdk/test/java/beans/Beans/6669869/TestGuiAvailable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/java/beans/EventHandler/Test6277266.java b/jdk/test/java/beans/EventHandler/Test6277266.java
index 72383f4..c336fd0 100644
--- a/jdk/test/java/beans/EventHandler/Test6277266.java
+++ b/jdk/test/java/beans/EventHandler/Test6277266.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java b/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java
index f38debc..883e6d0 100644
--- a/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java
+++ b/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
diff --git a/jdk/test/java/beans/Introspector/6380849/beans/FirstBean.java b/jdk/test/java/beans/Introspector/6380849/beans/FirstBean.java
index 38c2522..232a9dd 100644
--- a/jdk/test/java/beans/Introspector/6380849/beans/FirstBean.java
+++ b/jdk/test/java/beans/Introspector/6380849/beans/FirstBean.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/6380849/beans/FirstBeanBeanInfo.java b/jdk/test/java/beans/Introspector/6380849/beans/FirstBeanBeanInfo.java
index d6560bd..45e7b23 100644
--- a/jdk/test/java/beans/Introspector/6380849/beans/FirstBeanBeanInfo.java
+++ b/jdk/test/java/beans/Introspector/6380849/beans/FirstBeanBeanInfo.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/6380849/beans/SecondBean.java b/jdk/test/java/beans/Introspector/6380849/beans/SecondBean.java
index ae1a9b5..8af25f7 100644
--- a/jdk/test/java/beans/Introspector/6380849/beans/SecondBean.java
+++ b/jdk/test/java/beans/Introspector/6380849/beans/SecondBean.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/6380849/beans/ThirdBean.java b/jdk/test/java/beans/Introspector/6380849/beans/ThirdBean.java
index 18f1489..1b3d35f 100644
--- a/jdk/test/java/beans/Introspector/6380849/beans/ThirdBean.java
+++ b/jdk/test/java/beans/Introspector/6380849/beans/ThirdBean.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/6380849/infos/SecondBeanBeanInfo.java b/jdk/test/java/beans/Introspector/6380849/infos/SecondBeanBeanInfo.java
index 44a7883..dd11c48 100644
--- a/jdk/test/java/beans/Introspector/6380849/infos/SecondBeanBeanInfo.java
+++ b/jdk/test/java/beans/Introspector/6380849/infos/SecondBeanBeanInfo.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/6380849/infos/ThirdBeanBeanInfo.java b/jdk/test/java/beans/Introspector/6380849/infos/ThirdBeanBeanInfo.java
index fb78706..862f812 100644
--- a/jdk/test/java/beans/Introspector/6380849/infos/ThirdBeanBeanInfo.java
+++ b/jdk/test/java/beans/Introspector/6380849/infos/ThirdBeanBeanInfo.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/6976577/test/Accessor.java b/jdk/test/java/beans/Introspector/6976577/test/Accessor.java
index 9fced1e..4248d50 100644
--- a/jdk/test/java/beans/Introspector/6976577/test/Accessor.java
+++ b/jdk/test/java/beans/Introspector/6976577/test/Accessor.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/7122138/pack/Sub.java b/jdk/test/java/beans/Introspector/7122138/pack/Sub.java
index b3f0ba6..128b30b 100644
--- a/jdk/test/java/beans/Introspector/7122138/pack/Sub.java
+++ b/jdk/test/java/beans/Introspector/7122138/pack/Sub.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/7122138/pack/Super.java b/jdk/test/java/beans/Introspector/7122138/pack/Super.java
index 8e6235b..8c83c42 100644
--- a/jdk/test/java/beans/Introspector/7122138/pack/Super.java
+++ b/jdk/test/java/beans/Introspector/7122138/pack/Super.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/Test4683761.java b/jdk/test/java/beans/Introspector/Test4683761.java
index dbf6f85..2edd145 100644
--- a/jdk/test/java/beans/Introspector/Test4683761.java
+++ b/jdk/test/java/beans/Introspector/Test4683761.java
@@ -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
diff --git a/jdk/test/java/beans/Introspector/Test6660539.java b/jdk/test/java/beans/Introspector/Test6660539.java
index 349f1b3..5cf3608 100644
--- a/jdk/test/java/beans/Introspector/Test6660539.java
+++ b/jdk/test/java/beans/Introspector/Test6660539.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/java/beans/Performance/Test7122740.java b/jdk/test/java/beans/Performance/Test7122740.java
index eb0cf3f..ea3eea1 100644
--- a/jdk/test/java/beans/Performance/Test7122740.java
+++ b/jdk/test/java/beans/Performance/Test7122740.java
@@ -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
diff --git a/jdk/test/java/beans/Performance/Test7184799.java b/jdk/test/java/beans/Performance/Test7184799.java
index 255638e..4152289 100644
--- a/jdk/test/java/beans/Performance/Test7184799.java
+++ b/jdk/test/java/beans/Performance/Test7184799.java
@@ -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
diff --git a/jdk/test/java/beans/XMLEncoder/6380849/Bean.java b/jdk/test/java/beans/XMLEncoder/6380849/Bean.java
index 13431cc..cb9ea09 100644
--- a/jdk/test/java/beans/XMLEncoder/6380849/Bean.java
+++ b/jdk/test/java/beans/XMLEncoder/6380849/Bean.java
@@ -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
diff --git a/jdk/test/java/beans/XMLEncoder/6380849/BeanPersistenceDelegate.java b/jdk/test/java/beans/XMLEncoder/6380849/BeanPersistenceDelegate.java
index 749ec10..06a901e 100644
--- a/jdk/test/java/beans/XMLEncoder/6380849/BeanPersistenceDelegate.java
+++ b/jdk/test/java/beans/XMLEncoder/6380849/BeanPersistenceDelegate.java
@@ -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
diff --git a/jdk/test/java/beans/XMLEncoder/AbstractTest.java b/jdk/test/java/beans/XMLEncoder/AbstractTest.java
index 3207fee..9b38754 100644
--- a/jdk/test/java/beans/XMLEncoder/AbstractTest.java
+++ b/jdk/test/java/beans/XMLEncoder/AbstractTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/beans/XMLEncoder/BeanValidator.java b/jdk/test/java/beans/XMLEncoder/BeanValidator.java
index 78e13bc..d9444df 100644
--- a/jdk/test/java/beans/XMLEncoder/BeanValidator.java
+++ b/jdk/test/java/beans/XMLEncoder/BeanValidator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/beans/XMLEncoder/Test4631471.java b/jdk/test/java/beans/XMLEncoder/Test4631471.java
index ccaae82..1369b45 100644
--- a/jdk/test/java/beans/XMLEncoder/Test4631471.java
+++ b/jdk/test/java/beans/XMLEncoder/Test4631471.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/test/java/beans/XMLEncoder/Test4679556.java b/jdk/test/java/beans/XMLEncoder/Test4679556.java
index 3ede526..ec8472d 100644
--- a/jdk/test/java/beans/XMLEncoder/Test4679556.java
+++ b/jdk/test/java/beans/XMLEncoder/Test4679556.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/java/beans/XMLEncoder/java_awt_BorderLayout.java b/jdk/test/java/beans/XMLEncoder/java_awt_BorderLayout.java
index 44876d9..a7e515a 100644
--- a/jdk/test/java/beans/XMLEncoder/java_awt_BorderLayout.java
+++ b/jdk/test/java/beans/XMLEncoder/java_awt_BorderLayout.java
@@ -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
diff --git a/jdk/test/java/beans/XMLEncoder/javax_swing_DefaultCellEditor.java b/jdk/test/java/beans/XMLEncoder/javax_swing_DefaultCellEditor.java
index 476d64d..ce66182 100644
--- a/jdk/test/java/beans/XMLEncoder/javax_swing_DefaultCellEditor.java
+++ b/jdk/test/java/beans/XMLEncoder/javax_swing_DefaultCellEditor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2007, 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
diff --git a/jdk/test/java/io/File/GetXSpace.sh b/jdk/test/java/io/File/GetXSpace.sh
index a7e3a1c..e6ff4fa 100644
--- a/jdk/test/java/io/File/GetXSpace.sh
+++ b/jdk/test/java/io/File/GetXSpace.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2006, 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
diff --git a/jdk/test/java/io/FileInputStream/OpsAfterClose.java b/jdk/test/java/io/FileInputStream/OpsAfterClose.java
index 943d584..bfc1eb9 100644
--- a/jdk/test/java/io/FileInputStream/OpsAfterClose.java
+++ b/jdk/test/java/io/FileInputStream/OpsAfterClose.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/io/FileOutputStream/OpsAfterClose.java b/jdk/test/java/io/FileOutputStream/OpsAfterClose.java
index 88128c9..63933ff 100644
--- a/jdk/test/java/io/FileOutputStream/OpsAfterClose.java
+++ b/jdk/test/java/io/FileOutputStream/OpsAfterClose.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/io/RandomAccessFile/OpsAfterClose.java b/jdk/test/java/io/RandomAccessFile/OpsAfterClose.java
index bfc8bee..06ff421 100644
--- a/jdk/test/java/io/RandomAccessFile/OpsAfterClose.java
+++ b/jdk/test/java/io/RandomAccessFile/OpsAfterClose.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/io/Serializable/class/run.sh b/jdk/test/java/io/Serializable/class/run.sh
index 9d82501..697b87a 100644
--- a/jdk/test/java/io/Serializable/class/run.sh
+++ b/jdk/test/java/io/Serializable/class/run.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1998, 2001, 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
diff --git a/jdk/test/java/io/Serializable/evolution/AddedExternField/run.sh b/jdk/test/java/io/Serializable/evolution/AddedExternField/run.sh
index 6bb2003..981f936 100644
--- a/jdk/test/java/io/Serializable/evolution/AddedExternField/run.sh
+++ b/jdk/test/java/io/Serializable/evolution/AddedExternField/run.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 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
diff --git a/jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh b/jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh
index f37159d..eb9f210 100644
--- a/jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh
+++ b/jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh
@@ -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
diff --git a/jdk/test/java/io/Serializable/maskSyntheticModifier/run.sh b/jdk/test/java/io/Serializable/maskSyntheticModifier/run.sh
index fdf903f..eb06b40 100644
--- a/jdk/test/java/io/Serializable/maskSyntheticModifier/run.sh
+++ b/jdk/test/java/io/Serializable/maskSyntheticModifier/run.sh
@@ -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
diff --git a/jdk/test/java/io/Serializable/packageAccess/run.sh b/jdk/test/java/io/Serializable/packageAccess/run.sh
index 7c94667..29e9267 100644
--- a/jdk/test/java/io/Serializable/packageAccess/run.sh
+++ b/jdk/test/java/io/Serializable/packageAccess/run.sh
@@ -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
diff --git a/jdk/test/java/io/Serializable/resolveClass/consTest/run.sh b/jdk/test/java/io/Serializable/resolveClass/consTest/run.sh
index 22e1fb7..5dfa01e 100644
--- a/jdk/test/java/io/Serializable/resolveClass/consTest/run.sh
+++ b/jdk/test/java/io/Serializable/resolveClass/consTest/run.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 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
diff --git a/jdk/test/java/io/Serializable/resolveClass/deserializeButton/Foo.java b/jdk/test/java/io/Serializable/resolveClass/deserializeButton/Foo.java
index d9e7b08..edfb2ee 100644
--- a/jdk/test/java/io/Serializable/resolveClass/deserializeButton/Foo.java
+++ b/jdk/test/java/io/Serializable/resolveClass/deserializeButton/Foo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/io/Serializable/resolveClass/deserializeButton/Test.java b/jdk/test/java/io/Serializable/resolveClass/deserializeButton/Test.java
index 2de938d..7f973b2 100644
--- a/jdk/test/java/io/Serializable/resolveClass/deserializeButton/Test.java
+++ b/jdk/test/java/io/Serializable/resolveClass/deserializeButton/Test.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/io/Serializable/resolveClass/deserializeButton/run.sh b/jdk/test/java/io/Serializable/resolveClass/deserializeButton/run.sh
index d9cdc3e..40b3da0 100644
--- a/jdk/test/java/io/Serializable/resolveClass/deserializeButton/run.sh
+++ b/jdk/test/java/io/Serializable/resolveClass/deserializeButton/run.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 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
diff --git a/jdk/test/java/io/Serializable/resolveProxyClass/NonPublicInterface.java b/jdk/test/java/io/Serializable/resolveProxyClass/NonPublicInterface.java
index 72d6a56..802c643 100644
--- a/jdk/test/java/io/Serializable/resolveProxyClass/NonPublicInterface.java
+++ b/jdk/test/java/io/Serializable/resolveProxyClass/NonPublicInterface.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/io/Serializable/subclass/run.sh b/jdk/test/java/io/Serializable/subclass/run.sh
index d7f1d89..8990d50 100644
--- a/jdk/test/java/io/Serializable/subclass/run.sh
+++ b/jdk/test/java/io/Serializable/subclass/run.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1998, 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
diff --git a/jdk/test/java/io/Serializable/superclassDataLoss/run.sh b/jdk/test/java/io/Serializable/superclassDataLoss/run.sh
index 52b6c87..7550cd2 100644
--- a/jdk/test/java/io/Serializable/superclassDataLoss/run.sh
+++ b/jdk/test/java/io/Serializable/superclassDataLoss/run.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/test/java/io/Serializable/unnamedPackageSwitch/run.sh b/jdk/test/java/io/Serializable/unnamedPackageSwitch/run.sh
index 7dccfb9..e801163 100644
--- a/jdk/test/java/io/Serializable/unnamedPackageSwitch/run.sh
+++ b/jdk/test/java/io/Serializable/unnamedPackageSwitch/run.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/test/java/lang/CharSequence/DefaultTest.java b/jdk/test/java/lang/CharSequence/DefaultTest.java
index 856b980..0595f74 100644
--- a/jdk/test/java/lang/CharSequence/DefaultTest.java
+++ b/jdk/test/java/lang/CharSequence/DefaultTest.java
@@ -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
diff --git a/jdk/test/java/lang/Class/forName/NonJavaNames.sh b/jdk/test/java/lang/Class/forName/NonJavaNames.sh
index 1465a3b..77a3ae2 100644
--- a/jdk/test/java/lang/Class/forName/NonJavaNames.sh
+++ b/jdk/test/java/lang/Class/forName/NonJavaNames.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 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
diff --git a/jdk/test/java/lang/Class/getEnclosingClass/build.sh b/jdk/test/java/lang/Class/getEnclosingClass/build.sh
index b02c951..72c3491 100644
--- a/jdk/test/java/lang/Class/getEnclosingClass/build.sh
+++ b/jdk/test/java/lang/Class/getEnclosingClass/build.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/test/java/lang/ClassLoader/Assert.sh b/jdk/test/java/lang/ClassLoader/Assert.sh
index 812e6f4..24dadd1 100644
--- a/jdk/test/java/lang/ClassLoader/Assert.sh
+++ b/jdk/test/java/lang/ClassLoader/Assert.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2002, 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
@@ -23,6 +23,21 @@
#
+OS=`uname -s`
+case "$OS" in
+ SunOS | Linux | Darwin )
+ FS="/"
+ CHMOD="${FS}bin${FS}chmod"
+ ;;
+ Windows* | CYGWIN* )
+ CHMOD="chmod"
+ ;;
+ * )
+ echo "Unrecognized system!"
+ exit 1;
+ ;;
+esac
+
if [ "${TESTSRC}" = "" ]
then
echo "TESTSRC not set. Test cannot execute. Failed."
@@ -50,6 +65,7 @@
cp ${TESTSRC}/Assert.java .
cp -R ${TESTSRC}/package1 .
cp -R ${TESTSRC}/package2 .
+${CHMOD} -R u+w *
${COMPILEJAVA}/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} Assert.java
diff --git a/jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh b/jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh
index c86a4c0..a70e601 100644
--- a/jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh
+++ b/jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh
@@ -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
diff --git a/jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh b/jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh
index 49abefe..678b98e 100644
--- a/jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh
+++ b/jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh
@@ -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
diff --git a/jdk/test/java/lang/ClassLoader/getdotresource.sh b/jdk/test/java/lang/ClassLoader/getdotresource.sh
index a6a0723..59648ce 100644
--- a/jdk/test/java/lang/ClassLoader/getdotresource.sh
+++ b/jdk/test/java/lang/ClassLoader/getdotresource.sh
@@ -1,7 +1,7 @@
#! /bin/sh
#
-# Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 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
diff --git a/jdk/test/java/lang/Double/ParseDouble.java b/jdk/test/java/lang/Double/ParseDouble.java
index 6cefad6..381ddf1 100644
--- a/jdk/test/java/lang/Double/ParseDouble.java
+++ b/jdk/test/java/lang/Double/ParseDouble.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/test/java/lang/Float/ParseFloat.java b/jdk/test/java/lang/Float/ParseFloat.java
index f78cef7..c40a9ea 100644
--- a/jdk/test/java/lang/Float/ParseFloat.java
+++ b/jdk/test/java/lang/Float/ParseFloat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, 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
diff --git a/jdk/test/java/lang/IntegralPrimitiveToString.java b/jdk/test/java/lang/IntegralPrimitiveToString.java
index 0135cd2..3d2741b 100644
--- a/jdk/test/java/lang/IntegralPrimitiveToString.java
+++ b/jdk/test/java/lang/IntegralPrimitiveToString.java
@@ -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
diff --git a/jdk/test/java/lang/Math/CubeRootTests.java b/jdk/test/java/lang/Math/CubeRootTests.java
index abb221f..a9361ff 100644
--- a/jdk/test/java/lang/Math/CubeRootTests.java
+++ b/jdk/test/java/lang/Math/CubeRootTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/java/lang/Math/ExactArithTests.java b/jdk/test/java/lang/Math/ExactArithTests.java
index 670c8e3..709ea61 100644
--- a/jdk/test/java/lang/Math/ExactArithTests.java
+++ b/jdk/test/java/lang/Math/ExactArithTests.java
@@ -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
diff --git a/jdk/test/java/lang/Math/Expm1Tests.java b/jdk/test/java/lang/Math/Expm1Tests.java
index e575710..5cfaf9c 100644
--- a/jdk/test/java/lang/Math/Expm1Tests.java
+++ b/jdk/test/java/lang/Math/Expm1Tests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/java/lang/Math/HyperbolicTests.java b/jdk/test/java/lang/Math/HyperbolicTests.java
index fb9abba..8ff15ac 100644
--- a/jdk/test/java/lang/Math/HyperbolicTests.java
+++ b/jdk/test/java/lang/Math/HyperbolicTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/java/lang/Math/Log10Tests.java b/jdk/test/java/lang/Math/Log10Tests.java
index c7ff242..e5484d1 100644
--- a/jdk/test/java/lang/Math/Log10Tests.java
+++ b/jdk/test/java/lang/Math/Log10Tests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/java/lang/Math/Tests.java b/jdk/test/java/lang/Math/Tests.java
index c06c4ed..6148467 100644
--- a/jdk/test/java/lang/Math/Tests.java
+++ b/jdk/test/java/lang/Math/Tests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/java/lang/PrimitiveSumMinMaxTest.java b/jdk/test/java/lang/PrimitiveSumMinMaxTest.java
index 56ab674..042030c 100644
--- a/jdk/test/java/lang/PrimitiveSumMinMaxTest.java
+++ b/jdk/test/java/lang/PrimitiveSumMinMaxTest.java
@@ -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
diff --git a/jdk/test/java/lang/String/Split.java b/jdk/test/java/lang/String/Split.java
index d86f560..a70213a 100644
--- a/jdk/test/java/lang/String/Split.java
+++ b/jdk/test/java/lang/String/Split.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/java/lang/String/ToLowerCase.java b/jdk/test/java/lang/String/ToLowerCase.java
index b1edb92..c7c4399 100644
--- a/jdk/test/java/lang/String/ToLowerCase.java
+++ b/jdk/test/java/lang/String/ToLowerCase.java
@@ -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
@@ -23,7 +23,7 @@
/*
@test
- @bug 4217441 4533872 4900935 8020037
+ @bug 4217441 4533872 4900935 8020037 8032012
@summary toLowerCase should lower-case Greek Sigma correctly depending
on the context (final/non-final). Also it should handle
Locale specific (lt, tr, and az) lowercasings and supplementary
@@ -104,6 +104,22 @@
// invalid code point tests:
test("\uD800\uD800\uD801A\uDC00\uDC00\uDC00B", Locale.US, "\uD800\uD800\uD801a\uDC00\uDC00\uDC00b");
+ // test bmp + supp1
+ StringBuilder src = new StringBuilder(0x20000);
+ StringBuilder exp = new StringBuilder(0x20000);
+ for (int cp = 0; cp < 0x20000; cp++) {
+ if (cp >= Character.MIN_HIGH_SURROGATE && cp <= Character.MAX_HIGH_SURROGATE) {
+ continue;
+ }
+ int lowerCase = Character.toLowerCase(cp);
+ if (lowerCase == -1) { //Character.ERROR
+ continue;
+ }
+ src.appendCodePoint(cp);
+ exp.appendCodePoint(lowerCase);
+ }
+ test(src.toString(), Locale.US, exp.toString());
+
}
static void test(String in, Locale locale, String expected) {
diff --git a/jdk/test/java/lang/StringBuffer/BufferForwarding.java b/jdk/test/java/lang/StringBuffer/BufferForwarding.java
index 3aa5b60..220db41 100644
--- a/jdk/test/java/lang/StringBuffer/BufferForwarding.java
+++ b/jdk/test/java/lang/StringBuffer/BufferForwarding.java
@@ -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
diff --git a/jdk/test/java/lang/StringBuffer/TestSynchronization.java b/jdk/test/java/lang/StringBuffer/TestSynchronization.java
index c4c023b..bab99aa 100644
--- a/jdk/test/java/lang/StringBuffer/TestSynchronization.java
+++ b/jdk/test/java/lang/StringBuffer/TestSynchronization.java
@@ -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
diff --git a/jdk/test/java/lang/StringBuilder/BuilderForwarding.java b/jdk/test/java/lang/StringBuilder/BuilderForwarding.java
index dbd5502..9712074 100644
--- a/jdk/test/java/lang/StringBuilder/BuilderForwarding.java
+++ b/jdk/test/java/lang/StringBuilder/BuilderForwarding.java
@@ -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
diff --git a/jdk/test/java/lang/StringBuilder/Supplementary.java b/jdk/test/java/lang/StringBuilder/Supplementary.java
index f5af9a0..a13b0f4 100644
--- a/jdk/test/java/lang/StringBuilder/Supplementary.java
+++ b/jdk/test/java/lang/StringBuilder/Supplementary.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/test/java/lang/System/MacEncoding/ExpectedEncoding.java b/jdk/test/java/lang/System/MacEncoding/ExpectedEncoding.java
index f9eb516..29e05b0 100644
--- a/jdk/test/java/lang/System/MacEncoding/ExpectedEncoding.java
+++ b/jdk/test/java/lang/System/MacEncoding/ExpectedEncoding.java
@@ -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
diff --git a/jdk/test/java/lang/Thread/GenerifyStackTraces.java b/jdk/test/java/lang/Thread/GenerifyStackTraces.java
index 8fd63f7..d0a695d 100644
--- a/jdk/test/java/lang/Thread/GenerifyStackTraces.java
+++ b/jdk/test/java/lang/Thread/GenerifyStackTraces.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/java/lang/Thread/ThreadStateTest.java b/jdk/test/java/lang/Thread/ThreadStateTest.java
index e2661f3..553ed78 100644
--- a/jdk/test/java/lang/Thread/ThreadStateTest.java
+++ b/jdk/test/java/lang/Thread/ThreadStateTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/java/lang/Throwable/LegacyChainedExceptionSerialization.java b/jdk/test/java/lang/Throwable/LegacyChainedExceptionSerialization.java
index fbd3e5d..867b431 100644
--- a/jdk/test/java/lang/Throwable/LegacyChainedExceptionSerialization.java
+++ b/jdk/test/java/lang/Throwable/LegacyChainedExceptionSerialization.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/java/lang/instrument/BootClassPath/BootClassPathTest.sh b/jdk/test/java/lang/instrument/BootClassPath/BootClassPathTest.sh
index d0e8df3..79c4794 100644
--- a/jdk/test/java/lang/instrument/BootClassPath/BootClassPathTest.sh
+++ b/jdk/test/java/lang/instrument/BootClassPath/BootClassPathTest.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/test/java/lang/instrument/ManifestTest.sh b/jdk/test/java/lang/instrument/ManifestTest.sh
index c976396..bb0497b 100644
--- a/jdk/test/java/lang/instrument/ManifestTest.sh
+++ b/jdk/test/java/lang/instrument/ManifestTest.sh
@@ -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
diff --git a/jdk/test/java/lang/instrument/ParallelTransformerLoader.sh b/jdk/test/java/lang/instrument/ParallelTransformerLoader.sh
index 6d8c6d5..0801f07 100644
--- a/jdk/test/java/lang/instrument/ParallelTransformerLoader.sh
+++ b/jdk/test/java/lang/instrument/ParallelTransformerLoader.sh
@@ -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
@@ -23,7 +23,6 @@
# @test
# @bug 5088398
-# @ignore until bug 6835233 dealt with
# @summary Test parallel class loading by parallel transformers.
# @author Daniel D. Daugherty as modified from the code of Daryl Puryear @ Wily
#
diff --git a/jdk/test/java/lang/instrument/RedefineClassWithNativeMethod.sh b/jdk/test/java/lang/instrument/RedefineClassWithNativeMethod.sh
index ba6f438..a24b03e 100644
--- a/jdk/test/java/lang/instrument/RedefineClassWithNativeMethod.sh
+++ b/jdk/test/java/lang/instrument/RedefineClassWithNativeMethod.sh
@@ -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
diff --git a/jdk/test/java/lang/instrument/RedefineMethodAddInvoke.sh b/jdk/test/java/lang/instrument/RedefineMethodAddInvoke.sh
index ed95bbf..cec270b 100644
--- a/jdk/test/java/lang/instrument/RedefineMethodAddInvoke.sh
+++ b/jdk/test/java/lang/instrument/RedefineMethodAddInvoke.sh
@@ -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
diff --git a/jdk/test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh b/jdk/test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh
index 8ce8238..998faee 100644
--- a/jdk/test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh
+++ b/jdk/test/java/lang/instrument/appendToClassLoaderSearch/CircularityErrorTest.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2008, 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
diff --git a/jdk/test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh b/jdk/test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh
index 52744c0..01f805d 100644
--- a/jdk/test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh
+++ b/jdk/test/java/lang/instrument/appendToClassLoaderSearch/ClassUnloadTest.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2008, 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
diff --git a/jdk/test/java/lang/invoke/AccessControlTest.java b/jdk/test/java/lang/invoke/AccessControlTest.java
index 6cb3af3..891710f 100644
--- a/jdk/test/java/lang/invoke/AccessControlTest.java
+++ b/jdk/test/java/lang/invoke/AccessControlTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/BigArityTest.java b/jdk/test/java/lang/invoke/BigArityTest.java
index 8a2947b..2a767b0 100644
--- a/jdk/test/java/lang/invoke/BigArityTest.java
+++ b/jdk/test/java/lang/invoke/BigArityTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/ClassValueTest.java b/jdk/test/java/lang/invoke/ClassValueTest.java
index b287685..42a76074 100644
--- a/jdk/test/java/lang/invoke/ClassValueTest.java
+++ b/jdk/test/java/lang/invoke/ClassValueTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/InvokeDynamicPrintArgs.java b/jdk/test/java/lang/invoke/InvokeDynamicPrintArgs.java
index a3f3cd2..7740d5f 100644
--- a/jdk/test/java/lang/invoke/InvokeDynamicPrintArgs.java
+++ b/jdk/test/java/lang/invoke/InvokeDynamicPrintArgs.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/InvokeGenericTest.java b/jdk/test/java/lang/invoke/InvokeGenericTest.java
index 161a0c8..ef201ca 100644
--- a/jdk/test/java/lang/invoke/InvokeGenericTest.java
+++ b/jdk/test/java/lang/invoke/InvokeGenericTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/JavaDocExamplesTest.java b/jdk/test/java/lang/invoke/JavaDocExamplesTest.java
index 2f8bfdc..594e4ec 100644
--- a/jdk/test/java/lang/invoke/JavaDocExamplesTest.java
+++ b/jdk/test/java/lang/invoke/JavaDocExamplesTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/MethodHandles/TestCatchException.java b/jdk/test/java/lang/invoke/MethodHandles/TestCatchException.java
index 106eafc..8f1abfc 100644
--- a/jdk/test/java/lang/invoke/MethodHandles/TestCatchException.java
+++ b/jdk/test/java/lang/invoke/MethodHandles/TestCatchException.java
@@ -72,10 +72,45 @@
assertEquals(x, 17);
}
+
+ public static Object m1(Object o1, Object o2, Object o3, Object o4, Object o5,
+ Object o6, Object o7, Object o8, Object... tail) {
+ return tail;
+ }
+
+ public static Object m2(Exception e, Object o1, Object o2, Object o3, Object o4,
+ Object o5, Object o6, Object o7, Object o8, Object... tail) {
+ return tail;
+ }
+
+ @Test
+ public void testVarargsCollector() throws Throwable {
+ MethodType t1 = MethodType.methodType(Object.class, Object.class, Object.class, Object.class, Object.class,
+ Object.class, Object.class, Object.class, Object.class, Object[].class);
+
+ MethodType t2 = t1.insertParameterTypes(0, Exception.class);
+
+ MethodHandle target = LOOKUP.findStatic(TestCatchException.class, "m1", t1)
+ .asVarargsCollector(Object[].class);
+
+ MethodHandle catcher = LOOKUP.findStatic(TestCatchException.class, "m2", t2);
+
+ MethodHandle gwc = MethodHandles.catchException(target, Exception.class, catcher);
+
+ Object o = new Object();
+ Object[] obj1 = new Object[] { "str" };
+
+ Object r1 = target.invokeExact(o, o, o, o, o, o, o, o, obj1);
+ Object r2 = gwc.invokeExact(o, o, o, o, o, o, o, o, obj1);
+ assertEquals(r1, obj1);
+ assertEquals(r2, obj1);
+ }
+
public static void main(String[] args) throws Throwable {
TestCatchException test = new TestCatchException();
test.testNoThrowPath();
test.testThrowPath();
+ test.testVarargsCollector();
System.out.println("TEST PASSED");
}
}
diff --git a/jdk/test/java/lang/invoke/MethodHandlesTest.java b/jdk/test/java/lang/invoke/MethodHandlesTest.java
index 57a5e92..a16adc2 100644
--- a/jdk/test/java/lang/invoke/MethodHandlesTest.java
+++ b/jdk/test/java/lang/invoke/MethodHandlesTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/MethodTypeTest.java b/jdk/test/java/lang/invoke/MethodTypeTest.java
index 4fbbd86..c2ae4e0 100644
--- a/jdk/test/java/lang/invoke/MethodTypeTest.java
+++ b/jdk/test/java/lang/invoke/MethodTypeTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/PermuteArgsTest.java b/jdk/test/java/lang/invoke/PermuteArgsTest.java
index 213b984..edb9ba3 100644
--- a/jdk/test/java/lang/invoke/PermuteArgsTest.java
+++ b/jdk/test/java/lang/invoke/PermuteArgsTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/PrivateInvokeTest.java b/jdk/test/java/lang/invoke/PrivateInvokeTest.java
index 678712f..1475564 100644
--- a/jdk/test/java/lang/invoke/PrivateInvokeTest.java
+++ b/jdk/test/java/lang/invoke/PrivateInvokeTest.java
@@ -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
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/jdk/test/java/lang/invoke/ProtectedMemberDifferentPackage/Test.java
similarity index 76%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to jdk/test/java/lang/invoke/ProtectedMemberDifferentPackage/Test.java
index f64d498..edfe52a 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/jdk/test/java/lang/invoke/ProtectedMemberDifferentPackage/Test.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -19,11 +19,15 @@
* 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 p;
-
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
-}
+/**
+ * @test
+ * @bug 8032585 8033278
+ * @summary JSR292: IllegalAccessError when attempting to invoke protected method from different package
+ *
+ * @compile p1/T2.java p2/T3.java
+ * @run main/othervm p2.T3
+ */
+public class Test {}
diff --git a/jdk/test/java/lang/invoke/ProtectedMemberDifferentPackage/p1/T2.java b/jdk/test/java/lang/invoke/ProtectedMemberDifferentPackage/p1/T2.java
new file mode 100644
index 0000000..154109c
--- /dev/null
+++ b/jdk/test/java/lang/invoke/ProtectedMemberDifferentPackage/p1/T2.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2014, 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 p1;
+
+import p2.T3;
+
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodHandles.Lookup;
+import java.lang.invoke.MethodType;
+import java.util.concurrent.Callable;
+
+class T1 {
+ protected void m1() {}
+ protected static void m2() {}
+}
+
+public class T2 extends T1 {
+ public static void main(String[] args) throws Throwable {
+ Lookup LOOKUP = T3.lookup();
+ Class<IllegalAccessException> IAE = IllegalAccessException.class;
+
+ assertFailure(IAE, () -> LOOKUP.findVirtual(T1.class, "m1", MethodType.methodType(void.class)));
+ assertFailure(IAE, () -> LOOKUP.findStatic(T1.class, "m2", MethodType.methodType(void.class)));
+
+ assertSuccess(() -> LOOKUP.findVirtual(T2.class, "m1", MethodType.methodType(void.class)));
+ assertSuccess(() -> LOOKUP.findVirtual(T3.class, "m1", MethodType.methodType(void.class)));
+
+ assertSuccess(() -> LOOKUP.findStatic(T2.class, "m2", MethodType.methodType(void.class)));
+ assertSuccess(() -> LOOKUP.findStatic(T3.class, "m2", MethodType.methodType(void.class)));
+
+ assertFailure(IAE, () -> LOOKUP.unreflect(T1.class.getDeclaredMethod("m1")));
+ assertFailure(IAE, () -> LOOKUP.unreflect(T1.class.getDeclaredMethod("m2")));
+
+ System.out.println("TEST PASSED");
+ }
+
+ public static void assertFailure(Class<? extends Throwable> expectedError, Callable r) {
+ try {
+ r.call();
+ } catch(Throwable e) {
+ if (expectedError.isAssignableFrom(e.getClass())) {
+ return; // expected error
+ } else {
+ throw new Error("Unexpected error type: "+e.getClass()+"; expected type: "+expectedError, e);
+ }
+ }
+ throw new Error("No error");
+ }
+
+ public static void assertSuccess(Callable r) {
+ try {
+ r.call();
+ } catch(Throwable e) {
+ throw new Error("Unexpected error", e);
+ }
+ }
+}
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/jdk/test/java/lang/invoke/ProtectedMemberDifferentPackage/p2/T3.java
similarity index 79%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to jdk/test/java/lang/invoke/ProtectedMemberDifferentPackage/p2/T3.java
index f64d498..9f4d7ce 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/jdk/test/java/lang/invoke/ProtectedMemberDifferentPackage/p2/T3.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -19,11 +19,14 @@
* 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 p2;
-package p;
+import p1.T2;
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+import java.lang.invoke.MethodHandles;
+
+public class T3 extends T2 {
+ public static MethodHandles.Lookup lookup() { return MethodHandles.lookup(); }
}
diff --git a/jdk/test/java/lang/invoke/RicochetTest.java b/jdk/test/java/lang/invoke/RicochetTest.java
index e7f77f2..943f17e 100644
--- a/jdk/test/java/lang/invoke/RicochetTest.java
+++ b/jdk/test/java/lang/invoke/RicochetTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/ThrowExceptionsTest.java b/jdk/test/java/lang/invoke/ThrowExceptionsTest.java
index 5f54c68..e12bb70 100644
--- a/jdk/test/java/lang/invoke/ThrowExceptionsTest.java
+++ b/jdk/test/java/lang/invoke/ThrowExceptionsTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/lambda/LUtils.java b/jdk/test/java/lang/invoke/lambda/LUtils.java
index a7b013e..a09d9b8 100644
--- a/jdk/test/java/lang/invoke/lambda/LUtils.java
+++ b/jdk/test/java/lang/invoke/lambda/LUtils.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java b/jdk/test/java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java
index e9e5cbc..bd58112 100644
--- a/jdk/test/java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java
+++ b/jdk/test/java/lang/invoke/lambda/LambdaAccessControlDoPrivilegedTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/lambda/LambdaAccessControlTest.java b/jdk/test/java/lang/invoke/lambda/LambdaAccessControlTest.java
index 6ca9fb0..1032ee2 100644
--- a/jdk/test/java/lang/invoke/lambda/LambdaAccessControlTest.java
+++ b/jdk/test/java/lang/invoke/lambda/LambdaAccessControlTest.java
@@ -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
diff --git a/jdk/test/java/lang/invoke/lambda/LambdaReceiver.java b/jdk/test/java/lang/invoke/lambda/LambdaReceiver.java
new file mode 100644
index 0000000..8e24379
--- /dev/null
+++ b/jdk/test/java/lang/invoke/lambda/LambdaReceiver.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2014, 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 8035776
+ * @summary Consistent Lambda construction
+ */
+
+import java.lang.invoke.CallSite;
+import java.lang.invoke.LambdaMetafactory;
+import java.lang.invoke.LambdaConversionException;
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import java.util.ArrayList;
+import java.util.List;
+
+import LambdaReceiver_anotherpkg.LambdaReceiver_A;
+
+public class LambdaReceiver extends LambdaReceiver_A {
+
+ interface IA {
+ int m(LambdaReceiver_A x);
+ }
+
+ static MethodHandles.Lookup l;
+ static MethodHandle h;
+ private static MethodType mt(Class<?> k) { return MethodType.methodType(k); }
+ private static MethodType mt(Class<?> k, Class<?> k2) { return MethodType.methodType(k, k2); }
+ private static void mf(List<String> errs, MethodType mts, MethodType mtf, boolean shouldWork) {
+ }
+
+ public static void main(String[] args) throws Throwable {
+ l = MethodHandles.lookup();
+ h = l.findVirtual(LambdaReceiver_A.class, "f", mt(int.class));
+ MethodType X = mt(int.class, LambdaReceiver.class);
+ MethodType A = mt(int.class, LambdaReceiver_A.class);
+ MethodType mti = mt(IA.class);
+ CallSite cs = LambdaMetafactory.metafactory(l, "m", mti,A,h,X);
+ IA p = (IA)cs.dynamicInvoker().invoke();
+ LambdaReceiver_A lra = new LambdaReceiver_A();
+ try {
+ p.m(lra);
+ } catch (ClassCastException cce) {
+ return;
+ }
+ throw new AssertionError("CCE expected");
+ }
+}
diff --git a/jdk/test/java/lang/invoke/lambda/LambdaReceiverBridge.java b/jdk/test/java/lang/invoke/lambda/LambdaReceiverBridge.java
new file mode 100644
index 0000000..b1f3b85
--- /dev/null
+++ b/jdk/test/java/lang/invoke/lambda/LambdaReceiverBridge.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2014, 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 8035776
+ * @summary Consistent Lambda construction
+ */
+
+import java.lang.invoke.CallSite;
+import java.lang.invoke.LambdaMetafactory;
+import java.lang.invoke.LambdaConversionException;
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import java.util.ArrayList;
+import java.util.List;
+
+import LambdaReceiver_anotherpkg.LambdaReceiver_A;
+
+public class LambdaReceiverBridge extends LambdaReceiver_A {
+
+ interface IA {
+ int m(LambdaReceiver_A x);
+ }
+
+ static MethodHandles.Lookup l;
+ static MethodHandle h;
+ private static MethodType mt(Class<?> k) { return MethodType.methodType(k); }
+ private static MethodType mt(Class<?> k, Class<?> k2) { return MethodType.methodType(k, k2); }
+ private static void mf(List<String> errs, MethodType mts, MethodType mtf, boolean shouldWork) {
+ }
+
+ public static void main(String[] args) throws Throwable {
+ l = MethodHandles.lookup();
+ h = l.findVirtual(LambdaReceiver_A.class, "f", mt(int.class));
+ MethodType X = mt(int.class, LambdaReceiverBridge.class);
+ MethodType A = mt(int.class, LambdaReceiver_A.class);
+ MethodType mti = mt(IA.class);
+ CallSite cs = LambdaMetafactory.altMetafactory(l, "m", mti,X,h,X,
+ LambdaMetafactory.FLAG_BRIDGES, 1, A);
+ IA p = (IA)cs.dynamicInvoker().invoke();
+ LambdaReceiver_A lra = new LambdaReceiver_A();
+ try {
+ p.m(lra);
+ } catch (ClassCastException cce) {
+ return;
+ }
+ throw new AssertionError("CCE expected");
+ }
+}
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/jdk/test/java/lang/invoke/lambda/LambdaReceiver_anotherpkg/LambdaReceiver_A.java
similarity index 83%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to jdk/test/java/lang/invoke/lambda/LambdaReceiver_anotherpkg/LambdaReceiver_A.java
index f64d498..e4d1c98 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/jdk/test/java/lang/invoke/lambda/LambdaReceiver_anotherpkg/LambdaReceiver_A.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -21,9 +21,8 @@
* questions.
*/
-package p;
+package LambdaReceiver_anotherpkg;
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+public class LambdaReceiver_A {
+ protected final int f() { return 2; }
}
diff --git a/jdk/test/java/lang/invoke/lambda/LambdaReturn.java b/jdk/test/java/lang/invoke/lambda/LambdaReturn.java
new file mode 100644
index 0000000..27a02f0
--- /dev/null
+++ b/jdk/test/java/lang/invoke/lambda/LambdaReturn.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2014, 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 8035776
+ * @summary Consistent Lambda construction
+ */
+
+import java.lang.invoke.LambdaMetafactory;
+import java.lang.invoke.LambdaConversionException;
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import java.util.ArrayList;
+import java.util.List;
+
+public class LambdaReturn {
+
+ interface I {
+ void m();
+ }
+
+ static void hereV() {}
+ static String hereS() { return "hi"; }
+ static MethodHandles.Lookup l;
+ private static MethodType mt(Class<?> k) { return MethodType.methodType(k); }
+ private static MethodType mt(Class<?> k, Class<?> k2) { return MethodType.methodType(k, k2); }
+ private static void amf(List<String> errs, MethodHandle h, MethodType mts, MethodType mtf, MethodType mtb, boolean shouldWork) {
+ MethodType mti = mt(I.class);
+ try {
+ LambdaMetafactory.altMetafactory(l, "m", mti, mts,h,mtf,
+ LambdaMetafactory.FLAG_BRIDGES, 1, mtb);
+ } catch(LambdaConversionException e) {
+ if (shouldWork) errs.add("Error: Should work h=" + h + " s=" + mts + " -- f=" + mtf + " / b=" + mtb + " got: " + e);
+ return;
+ }
+ if (!shouldWork) errs.add("Error: Should fail h=" + h + " s=" + mts + " -- f=" + mtf + " / b=" + mtb);
+ }
+
+ public static void main(String[] args) throws Throwable {
+ l = MethodHandles.lookup();
+ MethodHandle hV = l.findStatic(LambdaReturn.class, "hereV", mt(void.class));
+ MethodHandle hS = l.findStatic(LambdaReturn.class, "hereS", mt(String.class));
+ List<String> errs = new ArrayList<>();
+ MethodType V = mt(void.class);
+ MethodType S = mt(String.class);
+ MethodType O = mt(Object.class);
+ MethodType I = mt(int.class);
+ amf(errs, hS, S, S, O, true);
+ amf(errs, hS, S, S, V, false);
+ amf(errs, hS, S, S, I, false);
+ amf(errs, hS, O, S, S, true);
+ amf(errs, hS, V, S, S, false);
+ amf(errs, hS, I, S, S, false);
+ amf(errs, hS, O, O, S, false);
+ amf(errs, hS, S, O, O, false);
+ amf(errs, hV, V, V, O, false);
+ amf(errs, hV, V, V, I, false);
+ amf(errs, hV, V, V, S, false);
+ amf(errs, hV, O, V, V, false);
+ amf(errs, hV, I, V, V, false);
+ amf(errs, hV, S, V, V, false);
+
+ if (errs.size() > 0) {
+ for (String err : errs) {
+ System.err.println(err);
+ }
+ throw new AssertionError("Errors: " + errs.size());
+ }
+ }
+}
diff --git a/jdk/test/java/lang/invoke/lambda/MetafactoryArityTest.java b/jdk/test/java/lang/invoke/lambda/MetafactoryArityTest.java
new file mode 100644
index 0000000..568abba
--- /dev/null
+++ b/jdk/test/java/lang/invoke/lambda/MetafactoryArityTest.java
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2014, 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 8035776
+ * @summary metafactory should fail if arities are mismatched
+ */
+import java.lang.invoke.*;
+import java.util.Arrays;
+import static java.lang.invoke.MethodType.methodType;
+
+public class MetafactoryArityTest {
+
+ public interface I {}
+ public static class C { public static String m(int arg) { return ""; } }
+
+ static final MethodHandles.Lookup lookup = MethodHandles.lookup();
+ static final Class<?>[] capInt = { int.class };
+ static final MethodHandle C_m;
+ static {
+ try { C_m = lookup.findStatic(C.class, "m", methodType(String.class, int.class)); }
+ catch (NoSuchMethodException | IllegalAccessException e) { throw new RuntimeException(e); }
+ }
+
+ public static void main(String... args) {
+ MethodType unary = methodType(String.class, int.class);
+ MethodType nullary = methodType(String.class);
+ MethodType binary = methodType(String.class, int.class, int.class);
+ MethodType unaryCS = methodType(CharSequence.class, int.class);
+ MethodType nullaryCS = methodType(CharSequence.class);
+ MethodType binaryCS = methodType(CharSequence.class, int.class, int.class);
+ MethodType unaryObj = methodType(Object.class, int.class);
+ MethodType nullaryObj = methodType(Object.class);
+ MethodType binaryObj = methodType(Object.class, int.class, int.class);
+
+ test(true, C_m, unary, unary);
+ test(false, C_m, unary, nullary);
+ test(false, C_m, nullary, unary);
+ test(false, C_m, unary, binary);
+ test(false, C_m, binary, unary);
+
+ testBridge(true, C_m, unary, unary, unaryCS);
+ testBridge(false, C_m, unary, unary, nullaryCS);
+ testBridge(false, C_m, unary, unary, binaryCS);
+
+ testBridge(true, C_m, unary, unary, unaryCS, unaryObj);
+ testBridge(false, C_m, unary, unary, unaryCS, nullaryObj);
+ testBridge(false, C_m, unary, unary, unaryCS, binaryObj);
+
+ testCapture(true, C_m, capInt, nullary, nullary);
+ testCapture(false, C_m, capInt, binary, binary);
+ testCapture(false, C_m, capInt, nullary, unary);
+ testCapture(false, C_m, capInt, nullary, binary);
+ testCapture(false, C_m, capInt, unary, nullary);
+ testCapture(false, C_m, capInt, unary, binary);
+
+ testCaptureBridge(true, C_m, capInt, nullary, nullary, nullaryCS);
+ testCaptureBridge(false, C_m, capInt, unary, unary, unaryCS);
+ testCaptureBridge(false, C_m, capInt, nullary, nullary, unaryCS);
+ testCaptureBridge(false, C_m, capInt, nullary, nullary, binaryCS);
+
+ testCaptureBridge(true, C_m, capInt, nullary, nullary, nullaryCS, nullaryObj);
+ testCaptureBridge(false, C_m, capInt, unary, unary, unaryCS, unaryObj);
+ testCaptureBridge(false, C_m, capInt, nullary, nullary, nullaryCS, unaryObj);
+ testCaptureBridge(false, C_m, capInt, nullary, nullary, nullaryCS, binaryObj);
+ }
+
+ static void test(boolean correct, MethodHandle mh, MethodType instMT, MethodType samMT) {
+ tryMetafactory(correct, mh, new Class<?>[]{}, instMT, samMT);
+ tryAltMetafactory(correct, mh, new Class<?>[]{}, instMT, samMT);
+ }
+
+ static void testBridge(boolean correct, MethodHandle mh, MethodType instMT, MethodType samMT, MethodType... bridgeMTs) {
+ tryAltMetafactory(correct, mh, new Class<?>[]{}, instMT, samMT, bridgeMTs);
+ }
+
+ static void testCapture(boolean correct, MethodHandle mh, Class<?>[] captured, MethodType instMT, MethodType samMT) {
+ tryMetafactory(correct, mh, captured, instMT, samMT);
+ tryAltMetafactory(correct, mh, captured, instMT, samMT);
+ }
+
+ static void testCaptureBridge(boolean correct, MethodHandle mh, Class<?>[] captured,
+ MethodType instMT, MethodType samMT, MethodType... bridgeMTs) {
+ tryAltMetafactory(correct, mh, captured, instMT, samMT, bridgeMTs);
+ }
+
+ static void tryMetafactory(boolean correct, MethodHandle mh, Class<?>[] captured,
+ MethodType instMT, MethodType samMT) {
+ try {
+ LambdaMetafactory.metafactory(lookup, "run", methodType(I.class, captured),
+ samMT, mh, instMT);
+ if (!correct) {
+ throw new AssertionError("Uncaught linkage error:" +
+ " impl=" + mh +
+ ", captured=" + Arrays.toString(captured) +
+ ", inst=" + instMT +
+ ", sam=" + samMT);
+ }
+ }
+ catch (LambdaConversionException e) {
+ if (correct) {
+ throw new AssertionError("Unexpected linkage error:" +
+ " e=" + e +
+ ", impl=" + mh +
+ ", captured=" + Arrays.toString(captured) +
+ ", inst=" + instMT +
+ ", sam=" + samMT);
+ }
+ }
+ }
+
+ static void tryAltMetafactory(boolean correct, MethodHandle mh, Class<?>[] captured,
+ MethodType instMT, MethodType samMT, MethodType... bridgeMTs) {
+ boolean bridge = bridgeMTs.length > 0;
+ Object[] args = new Object[bridge ? 5+bridgeMTs.length : 4];
+ args[0] = samMT;
+ args[1] = mh;
+ args[2] = instMT;
+ args[3] = bridge ? LambdaMetafactory.FLAG_BRIDGES : 0;
+ if (bridge) {
+ args[4] = bridgeMTs.length;
+ for (int i = 0; i < bridgeMTs.length; i++) args[5+i] = bridgeMTs[i];
+ }
+ try {
+ LambdaMetafactory.altMetafactory(lookup, "run", methodType(I.class, captured), args);
+ if (!correct) {
+ throw new AssertionError("Uncaught linkage error:" +
+ " impl=" + mh +
+ ", captured=" + Arrays.toString(captured) +
+ ", inst=" + instMT +
+ ", sam=" + samMT +
+ ", bridges=" + Arrays.toString(bridgeMTs));
+ }
+ }
+ catch (LambdaConversionException e) {
+ if (correct) {
+ throw new AssertionError("Unexpected linkage error:" +
+ " e=" + e +
+ ", impl=" + mh +
+ ", captured=" + Arrays.toString(captured) +
+ ", inst=" + instMT +
+ ", sam=" + samMT +
+ ", bridges=" + Arrays.toString(bridgeMTs));
+ }
+ }
+ }
+
+}
diff --git a/jdk/test/java/lang/invoke/lambda/MetafactoryParameterCastTest.java b/jdk/test/java/lang/invoke/lambda/MetafactoryParameterCastTest.java
new file mode 100644
index 0000000..70a65e5
--- /dev/null
+++ b/jdk/test/java/lang/invoke/lambda/MetafactoryParameterCastTest.java
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2014, 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 8035776
+ * @summary Ensure that invocation parameters are always cast to the instantiatedMethodType
+ */
+import java.lang.invoke.*;
+import java.util.Arrays;
+import static java.lang.invoke.MethodType.methodType;
+
+public class MetafactoryParameterCastTest {
+
+ static final MethodHandles.Lookup lookup = MethodHandles.lookup();
+
+ public static class A {
+ }
+
+ public static class B extends A {
+ void instance0() {}
+ void instance1(B arg) {}
+ static void static1(B arg) {}
+ static void static2(B arg1, B arg2) {}
+ }
+
+ public static class C extends B {}
+ public static class NotC extends B {}
+
+ public interface ASink { void take(A arg); }
+ public interface BSink { void take(B arg); }
+
+ public static void main(String... args) throws Throwable {
+ new MetafactoryParameterCastTest().test();
+ }
+
+ void test() throws Throwable {
+ MethodType takeA = methodType(void.class, A.class);
+ MethodType takeB = methodType(void.class, B.class);
+ MethodType takeC = methodType(void.class, C.class);
+
+ Class<?>[] noCapture = {};
+ Class<?>[] captureB = { B.class };
+
+ MethodHandle[] oneBParam = { lookup.findVirtual(B.class, "instance0", methodType(void.class)),
+ lookup.findStatic(B.class, "static1", methodType(void.class, B.class)) };
+ MethodHandle[] twoBParams = { lookup.findVirtual(B.class, "instance1", methodType(void.class, B.class)),
+ lookup.findStatic(B.class, "static2", methodType(void.class, B.class, B.class)) };
+
+ for (MethodHandle mh : oneBParam) {
+ // sam
+ tryASink(invokeMetafactory(mh, ASink.class, "take", noCapture, takeC, takeA));
+ tryBSink(invokeMetafactory(mh, BSink.class, "take", noCapture, takeC, takeB));
+ tryASink(invokeAltMetafactory(mh, ASink.class, "take", noCapture, takeC, takeA));
+ tryBSink(invokeAltMetafactory(mh, BSink.class, "take", noCapture, takeC, takeB));
+
+ // bridge
+ tryASink(invokeAltMetafactory(mh, ASink.class, "take", noCapture, takeC, takeC, takeA));
+ tryBSink(invokeAltMetafactory(mh, BSink.class, "take", noCapture, takeC, takeC, takeB));
+ }
+
+ for (MethodHandle mh : twoBParams) {
+ // sam
+ tryCapASink(invokeMetafactory(mh, ASink.class, "take", captureB, takeC, takeA));
+ tryCapBSink(invokeMetafactory(mh, BSink.class, "take", captureB, takeC, takeB));
+ tryCapASink(invokeAltMetafactory(mh, ASink.class, "take", captureB, takeC, takeA));
+ tryCapBSink(invokeAltMetafactory(mh, BSink.class, "take", captureB, takeC, takeB));
+
+ // bridge
+ tryCapASink(invokeAltMetafactory(mh, ASink.class, "take", captureB, takeC, takeC, takeA));
+ tryCapBSink(invokeAltMetafactory(mh, BSink.class, "take", captureB, takeC, takeC, takeB));
+ }
+ }
+
+ void tryASink(CallSite cs) throws Throwable {
+ ASink sink = (ASink) cs.dynamicInvoker().invoke();
+ tryASink(sink);
+ }
+
+ void tryCapASink(CallSite cs) throws Throwable {
+ ASink sink = (ASink) cs.dynamicInvoker().invoke(new B());
+ tryASink(sink);
+ }
+
+ void tryBSink(CallSite cs) throws Throwable {
+ BSink sink = (BSink) cs.dynamicInvoker().invoke();
+ tryBSink(sink);
+ }
+
+ void tryCapBSink(CallSite cs) throws Throwable {
+ BSink sink = (BSink) cs.dynamicInvoker().invoke(new B());
+ tryBSink(sink);
+ }
+
+ void tryASink(ASink sink) {
+ try { sink.take(new C()); }
+ catch (ClassCastException e) {
+ throw new AssertionError("Unexpected cast failure: " + e + " " + lastMFParams());
+ }
+
+ try {
+ sink.take(new B());
+ throw new AssertionError("Missing cast from A to C: " + lastMFParams());
+ }
+ catch (ClassCastException e) { /* expected */ }
+
+ try {
+ sink.take(new NotC());
+ throw new AssertionError("Missing cast from A to C: " + lastMFParams());
+ }
+ catch (ClassCastException e) { /* expected */ }
+ }
+
+ void tryBSink(BSink sink) {
+ try { sink.take(new C()); }
+ catch (ClassCastException e) {
+ throw new AssertionError("Unexpected cast failure: " + e + " " + lastMFParams());
+ }
+
+ try {
+ sink.take(new B());
+ throw new AssertionError("Missing cast from B to C: " + lastMFParams());
+ }
+ catch (ClassCastException e) { /* expected */ }
+
+ try {
+ sink.take(new NotC());
+ throw new AssertionError("Missing cast from B to C: " + lastMFParams());
+ }
+ catch (ClassCastException e) { /* expected */ }
+ }
+
+ MethodHandle lastMH;
+ Class<?>[] lastCaptured;
+ MethodType lastInstMT;
+ MethodType lastSamMT;
+ MethodType[] lastBridgeMTs;
+
+ String lastMFParams() {
+ return "mh=" + lastMH +
+ ", captured=" + Arrays.toString(lastCaptured) +
+ ", instMT=" + lastInstMT +
+ ", samMT=" + lastSamMT +
+ ", bridgeMTs=" + Arrays.toString(lastBridgeMTs);
+ }
+
+ CallSite invokeMetafactory(MethodHandle mh, Class<?> sam, String methodName,
+ Class<?>[] captured, MethodType instMT, MethodType samMT) {
+ lastMH = mh;
+ lastCaptured = captured;
+ lastInstMT = instMT;
+ lastSamMT = samMT;
+ lastBridgeMTs = new MethodType[]{};
+ try {
+ return LambdaMetafactory.metafactory(lookup, methodName, methodType(sam, captured),
+ samMT, mh, instMT);
+ }
+ catch (LambdaConversionException e) {
+ // unexpected linkage error
+ throw new RuntimeException(e);
+ }
+ }
+
+ CallSite invokeAltMetafactory(MethodHandle mh, Class<?> sam, String methodName,
+ Class<?>[] captured, MethodType instMT,
+ MethodType samMT, MethodType... bridgeMTs) {
+ lastMH = mh;
+ lastCaptured = captured;
+ lastInstMT = instMT;
+ lastSamMT = samMT;
+ lastBridgeMTs = bridgeMTs;
+ try {
+ boolean bridge = bridgeMTs.length > 0;
+ Object[] args = new Object[bridge ? 5+bridgeMTs.length : 4];
+ args[0] = samMT;
+ args[1] = mh;
+ args[2] = instMT;
+ args[3] = bridge ? LambdaMetafactory.FLAG_BRIDGES : 0;
+ if (bridge) {
+ args[4] = bridgeMTs.length;
+ for (int i = 0; i < bridgeMTs.length; i++) args[5+i] = bridgeMTs[i];
+ }
+ return LambdaMetafactory.altMetafactory(lookup, methodName, methodType(sam, captured), args);
+ }
+ catch (LambdaConversionException e) {
+ // unexpected linkage error
+ throw new RuntimeException(e);
+ }
+ }
+
+}
diff --git a/jdk/test/java/lang/invoke/lambda/MetafactorySamReturnTest.java b/jdk/test/java/lang/invoke/lambda/MetafactorySamReturnTest.java
new file mode 100644
index 0000000..4caf262
--- /dev/null
+++ b/jdk/test/java/lang/invoke/lambda/MetafactorySamReturnTest.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2014, 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 8035776
+ * @summary metafactory should fail if impl return does not match sam/bridge returns
+ */
+import java.lang.invoke.*;
+import java.util.Arrays;
+import static java.lang.invoke.MethodType.methodType;
+
+public class MetafactorySamReturnTest {
+
+ static final MethodHandles.Lookup lookup = MethodHandles.lookup();
+
+ public interface I {}
+
+ public static class C {
+ public static void m_void(String arg) {}
+ public static boolean m_boolean(String arg) { return true; }
+ public static char m_char(String arg) { return 'x'; }
+ public static byte m_byte(String arg) { return 12; }
+ public static short m_short(String arg) { return 12; }
+ public static int m_int(String arg) { return 12; }
+ public static long m_long(String arg) { return 12; }
+ public static float m_float(String arg) { return 12; }
+ public static double m_double(String arg) { return 12; }
+ public static String m_String(String arg) { return ""; }
+ public static Integer m_Integer(String arg) { return 23; }
+ public static Object m_Object(String arg) { return new Object(); }
+
+ public static MethodHandle getMH(Class<?> c) {
+ try {
+ return lookup.findStatic(C.class, "m_" + c.getSimpleName(), methodType(c, String.class));
+ }
+ catch (NoSuchMethodException | IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ public static void main(String... args) {
+ Class<?>[] t = { void.class, boolean.class, char.class,
+ byte.class, short.class, int.class, long.class, float.class, double.class,
+ String.class, Integer.class, Object.class };
+
+ for (int i = 0; i < t.length; i++) {
+ MethodHandle mh = C.getMH(t[i]);
+ for (int j = 0; j < t.length; j++) {
+ // TEMPORARY EXCEPTIONS
+ if (t[j] == void.class) continue;
+ if (t[i].isPrimitive() && t[j] == Object.class) continue;
+ if (t[i] == char.class && (t[j] == int.class || t[j] == long.class || t[j] == float.class || t[j] == double.class)) continue;
+ if (t[i] == byte.class && (t[j] == short.class || t[j] == int.class || t[j] == long.class || t[j] == float.class || t[j] == double.class)) continue;
+ if (t[i] == short.class && (t[j] == int.class || t[j] == long.class || t[j] == float.class || t[j] == double.class)) continue;
+ if (t[i] == int.class && (t[j] == long.class || t[j] == float.class || t[j] == double.class)) continue;
+ if (t[i] == long.class && (t[j] == float.class || t[j] == double.class)) continue;
+ if (t[i] == float.class && t[j] == double.class) continue;
+ if (t[i] == int.class && t[j] == Integer.class) continue;
+ if (t[i] == Integer.class && (t[j] == int.class || t[j] == long.class || t[j] == float.class || t[j] == double.class)) continue;
+ // END TEMPORARY EXCEPTIONS
+ boolean correct = (t[i].isPrimitive() || t[j].isPrimitive())
+ ? t[i] == t[j]
+ : t[j].isAssignableFrom(t[i]);
+ MethodType mti = methodType(t[i], String.class);
+ MethodType mtiCS = methodType(t[i], CharSequence.class);
+ MethodType mtj = methodType(t[j], String.class);
+ MethodType mtjObj = methodType(t[j], Object.class);
+ test(correct, mh, mti, mtj);
+ testBridge(correct, mh, mti, mti, mtjObj);
+ testBridge(correct, mh, mti, mti, mtiCS, mtjObj);
+ }
+ }
+ }
+
+ static void test(boolean correct, MethodHandle mh, MethodType instMT, MethodType samMT) {
+ tryMetafactory(correct, mh, new Class<?>[]{}, instMT, samMT);
+ tryAltMetafactory(correct, mh, new Class<?>[]{}, instMT, samMT);
+ }
+
+ static void testBridge(boolean correct, MethodHandle mh, MethodType instMT, MethodType samMT, MethodType... bridgeMTs) {
+ tryAltMetafactory(correct, mh, new Class<?>[]{}, instMT, samMT, bridgeMTs);
+ }
+
+ static void tryMetafactory(boolean correct, MethodHandle mh, Class<?>[] captured,
+ MethodType instMT, MethodType samMT) {
+ try {
+ LambdaMetafactory.metafactory(lookup, "run", methodType(I.class, captured),
+ samMT, mh, instMT);
+ if (!correct) {
+ throw new AssertionError("Uncaught linkage error:" +
+ " impl=" + mh +
+ ", captured=" + Arrays.toString(captured) +
+ ", inst=" + instMT +
+ ", sam=" + samMT);
+ }
+ }
+ catch (LambdaConversionException e) {
+ if (correct) {
+ throw new AssertionError("Unexpected linkage error:" +
+ " e=" + e +
+ ", impl=" + mh +
+ ", captured=" + Arrays.toString(captured) +
+ ", inst=" + instMT +
+ ", sam=" + samMT);
+ }
+ }
+ }
+
+ static void tryAltMetafactory(boolean correct, MethodHandle mh, Class<?>[] captured,
+ MethodType instMT, MethodType samMT, MethodType... bridgeMTs) {
+ boolean bridge = bridgeMTs.length > 0;
+ Object[] args = new Object[bridge ? 5+bridgeMTs.length : 4];
+ args[0] = samMT;
+ args[1] = mh;
+ args[2] = instMT;
+ args[3] = bridge ? LambdaMetafactory.FLAG_BRIDGES : 0;
+ if (bridge) {
+ args[4] = bridgeMTs.length;
+ for (int i = 0; i < bridgeMTs.length; i++) args[5+i] = bridgeMTs[i];
+ }
+ try {
+ LambdaMetafactory.altMetafactory(lookup, "run", methodType(I.class, captured), args);
+ if (!correct) {
+ throw new AssertionError("Uncaught linkage error:" +
+ " impl=" + mh +
+ ", captured=" + Arrays.toString(captured) +
+ ", inst=" + instMT +
+ ", sam=" + samMT +
+ ", bridges=" + Arrays.toString(bridgeMTs));
+ }
+ }
+ catch (LambdaConversionException e) {
+ if (correct) {
+ throw new AssertionError("Unexpected linkage error:" +
+ " e=" + e +
+ ", impl=" + mh +
+ ", captured=" + Arrays.toString(captured) +
+ ", inst=" + instMT +
+ ", sam=" + samMT +
+ ", bridges=" + Arrays.toString(bridgeMTs));
+ }
+ }
+ }
+
+}
diff --git a/jdk/test/java/lang/invoke/remote/RemoteExample.java b/jdk/test/java/lang/invoke/remote/RemoteExample.java
index dcd5498..5237f9d 100644
--- a/jdk/test/java/lang/invoke/remote/RemoteExample.java
+++ b/jdk/test/java/lang/invoke/remote/RemoteExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010, 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
diff --git a/jdk/test/java/lang/management/ClassLoadingMXBean/LoadCounts.java b/jdk/test/java/lang/management/ClassLoadingMXBean/LoadCounts.java
index f281bed..238655a 100644
--- a/jdk/test/java/lang/management/ClassLoadingMXBean/LoadCounts.java
+++ b/jdk/test/java/lang/management/ClassLoadingMXBean/LoadCounts.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/test/java/lang/management/CompilationMXBean/Basic.java b/jdk/test/java/lang/management/CompilationMXBean/Basic.java
index 4b24bb5..14686e1 100644
--- a/jdk/test/java/lang/management/CompilationMXBean/Basic.java
+++ b/jdk/test/java/lang/management/CompilationMXBean/Basic.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.java b/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.java
index d0f9e9a..638b053 100644
--- a/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.java
+++ b/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
@@ -67,7 +67,7 @@
static int count = 100000;
- Class loadNext() throws ClassNotFoundException {
+ Class loadNext() {
// public class TestNNNNNN extends java.lang.Object{
// public TestNNNNNN();
@@ -135,63 +135,49 @@
}
/*
- * Run method for thread that continuously loads classes.
- *
- * Note: Once the usage threshold has been exceeded the low memory
- * detector thread will attempt to deliver its notification - this can
- * potentially create a race condition with this thread contining to
- * fill up metaspace. To avoid the low memory detector getting an
- * OutOfMemory we throttle this thread once the threshold has been
- * exceeded.
+ * Load classes until MemoryPoolMXBean.getUsageThresholdCount() > 0.
+ * Then wait for the memory threshold notification to be received.
*/
public void run() {
- List pools = ManagementFactory.getMemoryPoolMXBeans();
+ List<MemoryPoolMXBean> pools = ManagementFactory.getMemoryPoolMXBeans();
boolean thresholdExceeded = false;
- for (;;) {
- try {
- // the classes are small so we load 10 at a time
- for (int i=0; i<10; i++) {
- loadNext();
- }
- } catch (ClassNotFoundException x) {
- return;
- }
- if (listenerInvoked) {
- return;
+ // Load classes until MemoryPoolMXBean.getUsageThresholdCount() > 0
+ while (!thresholdExceeded) {
+ // the classes are small so we load 10 at a time
+ for (int i=0; i<10; i++) {
+ loadNext();
}
- // if threshold has been exceeded we put in a delay to allow
- // the low memory detector do its job.
- if (thresholdExceeded) {
- try {
- Thread.currentThread().sleep(100);
- } catch (InterruptedException x) { }
- } else {
- // check if the threshold has been exceeded
- ListIterator i = pools.listIterator();
- while (i.hasNext()) {
- MemoryPoolMXBean p = (MemoryPoolMXBean) i.next();
- if (p.getType() == MemoryType.NON_HEAP &&
- p.isUsageThresholdSupported())
- {
- thresholdExceeded = p.isUsageThresholdExceeded();
- }
+ // check if the threshold has been exceeded
+ for (MemoryPoolMXBean p : pools) {
+ if (p.getType() == MemoryType.NON_HEAP &&
+ p.isUsageThresholdSupported() &&
+ p.getUsageThresholdCount() > 0)
+ {
+ thresholdExceeded = true;
+ break;
}
}
}
+
+ System.out.println("thresholdExceeded. Waiting for notification");
+ while (!listenerInvoked) {
+ try {
+ Thread.currentThread().sleep(10);
+ } catch (InterruptedException x) {}
+ }
}
}
public static void main(String args[]) {
- ListIterator iter = ManagementFactory.getMemoryPoolMXBeans().listIterator();
+ List<MemoryPoolMXBean> pools = ManagementFactory.getMemoryPoolMXBeans();
// Set threshold of 80% of all NON_HEAP memory pools
// In the Hotspot implementation this means we should get a notification
// if the CodeCache or metaspace fills up.
- while (iter.hasNext()) {
- MemoryPoolMXBean p = (MemoryPoolMXBean) iter.next();
+ for (MemoryPoolMXBean p : pools) {
if (p.getType() == MemoryType.NON_HEAP && p.isUsageThresholdSupported()) {
// set threshold
diff --git a/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.sh b/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.sh
index 3d97270..d05a759 100644
--- a/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.sh
+++ b/jdk/test/java/lang/management/MemoryMXBean/LowMemoryTest2.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/test/java/lang/management/MemoryMXBean/MemoryTest.java b/jdk/test/java/lang/management/MemoryMXBean/MemoryTest.java
index f613337..7d7f174 100644
--- a/jdk/test/java/lang/management/MemoryMXBean/MemoryTest.java
+++ b/jdk/test/java/lang/management/MemoryMXBean/MemoryTest.java
@@ -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
diff --git a/jdk/test/java/lang/management/MemoryMXBean/Pending.java b/jdk/test/java/lang/management/MemoryMXBean/Pending.java
index cc0235f..678bc7e 100644
--- a/jdk/test/java/lang/management/MemoryMXBean/Pending.java
+++ b/jdk/test/java/lang/management/MemoryMXBean/Pending.java
@@ -76,6 +76,9 @@
System.out.println("Test passed.");
}
+ // Keep objs public so the optimizer will not remove them too early.
+ public static Object[] objs = null;
+
private static void test() throws Exception {
// Clean the memory and remove all objects that are pending
// finalization
@@ -105,7 +108,7 @@
System.out.println(" Afer creating objects with no ref: " + snapshot);
printFinalizerInstanceCount();
- Object[] objs = new Object[REF_COUNT];
+ objs = new Object[REF_COUNT];
for (int i = 0; i < REF_COUNT; i++) {
objs[i] = new MyObject();
}
diff --git a/jdk/test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java b/jdk/test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java
index 1cc530e..312db6b 100644
--- a/jdk/test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java
+++ b/jdk/test/java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java b/jdk/test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java
index b88710c..7713055 100644
--- a/jdk/test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java
+++ b/jdk/test/java/lang/management/PlatformLoggingMXBean/LoggingMXBeanTest.java
@@ -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
diff --git a/jdk/test/java/lang/management/RuntimeMXBean/UpTime.java b/jdk/test/java/lang/management/RuntimeMXBean/UpTime.java
index 5bfe094..c6b2a2b 100644
--- a/jdk/test/java/lang/management/RuntimeMXBean/UpTime.java
+++ b/jdk/test/java/lang/management/RuntimeMXBean/UpTime.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/test/java/lang/management/ThreadMXBean/LockedMonitors.java b/jdk/test/java/lang/management/ThreadMXBean/LockedMonitors.java
index a693d71..51b7349 100644
--- a/jdk/test/java/lang/management/ThreadMXBean/LockedMonitors.java
+++ b/jdk/test/java/lang/management/ThreadMXBean/LockedMonitors.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/java/lang/management/ThreadMXBean/LockedSynchronizers.java b/jdk/test/java/lang/management/ThreadMXBean/LockedSynchronizers.java
index 0fc3532..418bb75 100644
--- a/jdk/test/java/lang/management/ThreadMXBean/LockedSynchronizers.java
+++ b/jdk/test/java/lang/management/ThreadMXBean/LockedSynchronizers.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/java/lang/management/ThreadMXBean/MyOwnSynchronizer.java b/jdk/test/java/lang/management/ThreadMXBean/MyOwnSynchronizer.java
index c102583..793e78d 100644
--- a/jdk/test/java/lang/management/ThreadMXBean/MyOwnSynchronizer.java
+++ b/jdk/test/java/lang/management/ThreadMXBean/MyOwnSynchronizer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/java/lang/management/ThreadMXBean/SharedSynchronizer.java b/jdk/test/java/lang/management/ThreadMXBean/SharedSynchronizer.java
index 6fc9e9e..843f013 100644
--- a/jdk/test/java/lang/management/ThreadMXBean/SharedSynchronizer.java
+++ b/jdk/test/java/lang/management/ThreadMXBean/SharedSynchronizer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java b/jdk/test/java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java
index dc4fe3d..10e374f 100644
--- a/jdk/test/java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java
+++ b/jdk/test/java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/test/java/lang/ref/EarlyTimeout.java b/jdk/test/java/lang/ref/EarlyTimeout.java
new file mode 100644
index 0000000..d33b46b
--- /dev/null
+++ b/jdk/test/java/lang/ref/EarlyTimeout.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2014, 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 6853696
+ * @summary ReferenceQueue#remove(timeout) should not return null before
+ * timeout is elapsed
+ */
+
+import java.lang.InterruptedException;
+import java.lang.System;
+import java.lang.ref.Reference;
+import java.lang.ref.ReferenceQueue;
+import java.lang.ref.WeakReference;
+import java.util.concurrent.CountDownLatch;
+
+/**
+ * In order to demonstrate the issue we make several threads (two appears to be sufficient)
+ * to block in ReferenceQueue#remove(timeout) at the same time.
+ * Then, we force a reference to be enqueued by setting its referent to null and calling System.gs().
+ * One of the threads gets the reference returned from the remove().
+ * The other threads get null:
+ * 1) with bug: this may happen before the specified timeout is elapsed,
+ * 2) without bug: this can only happen after the timeout is fully elapsed.
+ */
+
+public class EarlyTimeout extends Thread {
+
+ static final int THREADS_COUNT = 2;
+ static final int TIMEOUT = 1000;
+
+ static Object referent = new Object();
+ static final ReferenceQueue<Object> queue = new ReferenceQueue<Object>();
+ static final WeakReference<Object> weakReference = new WeakReference<Object>(referent, queue);
+ static final CountDownLatch startedSignal = new CountDownLatch(THREADS_COUNT);
+
+ long actual;
+ Reference<?> reference;
+
+ public static void main(String[] args) throws Exception {
+ EarlyTimeout[] threads = new EarlyTimeout[THREADS_COUNT];
+ for (int i = 0; i < THREADS_COUNT; ++i) {
+ threads[i] = new EarlyTimeout();
+ threads[i].start();
+ }
+ startedSignal.await();
+ referent = null;
+ System.gc();
+ for (EarlyTimeout thread : threads) {
+ thread.join();
+ }
+ if (weakReference.get() != null) {
+ throw new RuntimeException("weakReference was not cleared");
+ }
+ int nonNullRefCount = 0;
+ for (EarlyTimeout thread : threads) {
+ if (thread.reference == null && thread.actual < TIMEOUT) {
+ throw new RuntimeException("elapsed time " + thread.actual
+ + " is less than timeout " + TIMEOUT);
+ }
+ if (thread.reference != null && thread.reference == weakReference) {
+ nonNullRefCount++;
+ }
+ }
+ if (nonNullRefCount != 1) {
+ throw new RuntimeException("more than one references were removed from queue");
+ }
+ }
+
+ public void run() {
+ try {
+ startedSignal.countDown();
+ long start = System.currentTimeMillis();
+ reference = queue.remove(TIMEOUT);
+ actual = System.currentTimeMillis() - start;
+ } catch (InterruptedException ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+}
diff --git a/jdk/test/java/lang/ref/ReferenceEnqueuePending.java b/jdk/test/java/lang/ref/ReferenceEnqueuePending.java
index 58ceab6..1007e84 100644
--- a/jdk/test/java/lang/ref/ReferenceEnqueuePending.java
+++ b/jdk/test/java/lang/ref/ReferenceEnqueuePending.java
@@ -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
diff --git a/jdk/test/java/lang/reflect/Array/ExceedMaxDim.java b/jdk/test/java/lang/reflect/Array/ExceedMaxDim.java
index 67434b9..079c959 100644
--- a/jdk/test/java/lang/reflect/Array/ExceedMaxDim.java
+++ b/jdk/test/java/lang/reflect/Array/ExceedMaxDim.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 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
diff --git a/jdk/test/java/lang/reflect/Generics/Probe.java b/jdk/test/java/lang/reflect/Generics/Probe.java
index ebd9846..cbe94ae 100644
--- a/jdk/test/java/lang/reflect/Generics/Probe.java
+++ b/jdk/test/java/lang/reflect/Generics/Probe.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/java/lang/reflect/Method/IsDefaultTest.java b/jdk/test/java/lang/reflect/Method/IsDefaultTest.java
index 97967ee..c48ebaf 100644
--- a/jdk/test/java/lang/reflect/Method/IsDefaultTest.java
+++ b/jdk/test/java/lang/reflect/Method/IsDefaultTest.java
@@ -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
diff --git a/jdk/test/java/lang/reflect/Proxy/Basic1.java b/jdk/test/java/lang/reflect/Proxy/Basic1.java
index 726cc96..41233f9 100644
--- a/jdk/test/java/lang/reflect/Proxy/Basic1.java
+++ b/jdk/test/java/lang/reflect/Proxy/Basic1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 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
diff --git a/jdk/test/java/lang/reflect/Proxy/ClassRestrictions.java b/jdk/test/java/lang/reflect/Proxy/ClassRestrictions.java
index 61dbea7..b05ccae 100644
--- a/jdk/test/java/lang/reflect/Proxy/ClassRestrictions.java
+++ b/jdk/test/java/lang/reflect/Proxy/ClassRestrictions.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/math/BigDecimal/CompareToTests.java b/jdk/test/java/math/BigDecimal/CompareToTests.java
index f9e3d25..baefcc5 100644
--- a/jdk/test/java/math/BigDecimal/CompareToTests.java
+++ b/jdk/test/java/math/BigDecimal/CompareToTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/test/java/math/BigDecimal/FloatDoubleValueTests.java b/jdk/test/java/math/BigDecimal/FloatDoubleValueTests.java
index c615b76..9a72418 100644
--- a/jdk/test/java/math/BigDecimal/FloatDoubleValueTests.java
+++ b/jdk/test/java/math/BigDecimal/FloatDoubleValueTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/java/math/BigDecimal/IntegralDivisionTests.java b/jdk/test/java/math/BigDecimal/IntegralDivisionTests.java
index ab6b624..9fab5bb 100644
--- a/jdk/test/java/math/BigDecimal/IntegralDivisionTests.java
+++ b/jdk/test/java/math/BigDecimal/IntegralDivisionTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2005, 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
diff --git a/jdk/test/java/math/BigDecimal/StrippingZerosTest.java b/jdk/test/java/math/BigDecimal/StrippingZerosTest.java
index 0c28c9c..5bc7eb9 100644
--- a/jdk/test/java/math/BigDecimal/StrippingZerosTest.java
+++ b/jdk/test/java/math/BigDecimal/StrippingZerosTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/test/java/math/BigInteger/CompareToTests.java b/jdk/test/java/math/BigInteger/CompareToTests.java
index fc4386a..4e549fa 100644
--- a/jdk/test/java/math/BigInteger/CompareToTests.java
+++ b/jdk/test/java/math/BigInteger/CompareToTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/test/java/math/BigInteger/DivisionOverflow.java b/jdk/test/java/math/BigInteger/DivisionOverflow.java
index b6d0d4b..075ecab 100644
--- a/jdk/test/java/math/BigInteger/DivisionOverflow.java
+++ b/jdk/test/java/math/BigInteger/DivisionOverflow.java
@@ -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
diff --git a/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java b/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java
index 5ddc07e..4f11c66 100644
--- a/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java
+++ b/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java
@@ -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
diff --git a/jdk/test/java/net/Authenticator/B4769350.java b/jdk/test/java/net/Authenticator/B4769350.java
index e6cdaa1..8e302d9 100644
--- a/jdk/test/java/net/Authenticator/B4769350.java
+++ b/jdk/test/java/net/Authenticator/B4769350.java
@@ -66,14 +66,15 @@
this.allowerror = allowerror;
}
+ @Override
public void run () {
try {
URI u = new URI ("http", authority, path, null, null);
URL url = u.toURL();
URLConnection urlc = url.openConnection();
- InputStream is = urlc.getInputStream();
- read (is);
- is.close();
+ try (InputStream is = urlc.getInputStream()) {
+ read (is);
+ }
} catch (URISyntaxException e) {
System.out.println (e);
error = true;
@@ -91,8 +92,6 @@
class Server implements AutoCloseable {
HttpServer server;
Executor executor;
- CyclicBarrier t1Cond1;
- CyclicBarrier t1Cond2;
public String getAddress() {
return server.getAddress().getHostName();
@@ -126,8 +125,7 @@
new AuthenticationHandlerT3bc());
server.createContext("/test/realm4/t3c",
new AuthenticationHandlerT3bc());
- t1Cond1 = new CyclicBarrier(2);
- t1Cond2 = new CyclicBarrier(2);
+ t1Cond1 = new CyclicBarrier(3);
server.start();
}
@@ -135,6 +133,7 @@
return server.getAddress().getPort();
}
+ @Override
public void close() {
if (executor != null)
((ExecutorService)executor).shutdownNow();
@@ -163,7 +162,6 @@
break;
case 1:
t1Cond1.await();
- t1cond2latch.await();
AuthenticationHandler.okReply(exchange);
break;
default:
@@ -192,8 +190,6 @@
break;
case 1:
t1Cond1.await();
- t1cond1latch.countDown();
- t1cond2latch.await();
AuthenticationHandler.okReply(exchange);
break;
default:
@@ -216,13 +212,6 @@
case 0:
AuthenticationHandler.errorReply(exchange,
"Basic realm=\"realm1\"");
- try {
- t1Cond2.await();
- } catch (InterruptedException |
- BrokenBarrierException e)
- {
- throw new RuntimeException(e);
- }
break;
case 1:
AuthenticationHandler.okReply(exchange);
@@ -244,14 +233,6 @@
case 0:
AuthenticationHandler.errorReply(exchange,
"Basic realm=\"realm2\"");
- try {
- t1Cond2.await();
- } catch (InterruptedException |
- BrokenBarrierException e)
- {
- throw new RuntimeException(e);
- }
- t1cond2latch.countDown();
break;
case 1:
AuthenticationHandler.okReply(exchange);
@@ -377,9 +358,9 @@
exchange.getResponseHeaders().add("Connection", "close");
String response = "Hello .";
exchange.sendResponseHeaders(200, response.getBytes().length);
- OutputStream os = exchange.getResponseBody();
- os.write(response.getBytes());
- os.close();
+ try (OutputStream os = exchange.getResponseBody()) {
+ os.write(response.getBytes());
+ }
exchange.close();
}
}
@@ -391,10 +372,9 @@
static Client c1,c2,c3,c4,c5,c6,c7,c8,c9;
- static CountDownLatch t1cond1latch;
- static CountDownLatch t1cond2latch;
static CountDownLatch t2condlatch;
static CountDownLatch t3cond1;
+ static CyclicBarrier t1Cond1;
static void doServerTests (String authority, Server server) throws Exception
{
@@ -404,10 +384,8 @@
c2 = new Client (authority, "/test/realm2/t1b", false);
c3 = new Client (authority, "/test/realm1/t1c", false);
c4 = new Client (authority, "/test/realm2/t1d", false);
- t1cond1latch = new CountDownLatch(1);
- t1cond2latch = new CountDownLatch(1);
c1.start(); c2.start();
- t1cond1latch.await();
+ t1Cond1.await();
c3.start(); c4.start();
c1.join(); c2.join(); c3.join(); c4.join();
diff --git a/jdk/test/java/net/Authenticator/B4933582.sh b/jdk/test/java/net/Authenticator/B4933582.sh
index 1e1268e..c696f41 100644
--- a/jdk/test/java/net/Authenticator/B4933582.sh
+++ b/jdk/test/java/net/Authenticator/B4933582.sh
@@ -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
diff --git a/jdk/test/java/net/BindException/Test.java b/jdk/test/java/net/BindException/Test.java
index 11d37e4..03a7e83 100644
--- a/jdk/test/java/net/BindException/Test.java
+++ b/jdk/test/java/net/BindException/Test.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, 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
diff --git a/jdk/test/java/net/CookieHandler/CookieManagerTest.java b/jdk/test/java/net/CookieHandler/CookieManagerTest.java
index b52af04..ac4dc50 100644
--- a/jdk/test/java/net/CookieHandler/CookieManagerTest.java
+++ b/jdk/test/java/net/CookieHandler/CookieManagerTest.java
@@ -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
diff --git a/jdk/test/java/net/CookieHandler/TestHttpCookie.java b/jdk/test/java/net/CookieHandler/TestHttpCookie.java
index 2a6526f..ca3a94a 100644
--- a/jdk/test/java/net/CookieHandler/TestHttpCookie.java
+++ b/jdk/test/java/net/CookieHandler/TestHttpCookie.java
@@ -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
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/jdk/test/java/net/DatagramSocket/B8035653.java
similarity index 66%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to jdk/test/java/net/DatagramSocket/B8035653.java
index f64d498..6955646 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/jdk/test/java/net/DatagramSocket/B8035653.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -21,9 +21,22 @@
* questions.
*/
-package p;
+/*
+ * @test
+ * @bug 8035653
+ * @run main/othervm -Xcheck:jni B8035653
+ * @summary InetAddress.getLocalHost crash
+ */
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+import java.net.*;
+import java.util.*;
+
+public class B8035653 {
+ public static void main(String[] args) throws Exception {
+ try (DatagramSocket ds = new DatagramSocket();){
+ ds.getLocalAddress();
+ } catch (SocketException e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/jdk/test/java/net/Inet6Address/serialize/Serialize.java b/jdk/test/java/net/Inet6Address/serialize/Serialize.java
index f7c6fe7..d04f896 100644
--- a/jdk/test/java/net/Inet6Address/serialize/Serialize.java
+++ b/jdk/test/java/net/Inet6Address/serialize/Serialize.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/test/java/net/InterfaceAddress/NetworkPrefixLength.java b/jdk/test/java/net/InterfaceAddress/NetworkPrefixLength.java
index 448973e..bfe6aa2 100644
--- a/jdk/test/java/net/InterfaceAddress/NetworkPrefixLength.java
+++ b/jdk/test/java/net/InterfaceAddress/NetworkPrefixLength.java
@@ -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
diff --git a/jdk/test/java/net/MulticastSocket/TestInterfaces.java b/jdk/test/java/net/MulticastSocket/TestInterfaces.java
index 283cf18..1d87d8d 100644
--- a/jdk/test/java/net/MulticastSocket/TestInterfaces.java
+++ b/jdk/test/java/net/MulticastSocket/TestInterfaces.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
@@ -87,8 +87,9 @@
continue;
}
- // JDK-8022963, Skip (Windows) Teredo Tunneling seudo-Interface
- if (isWindows && ni.getDisplayName().contains("Teredo"))
+ // JDK-8022963, Skip (Windows) Teredo Tunneling Pseudo-Interface
+ String dName = ni.getDisplayName();
+ if (isWindows && dName != null && dName.contains("Teredo"))
continue;
NetworkInterface curr = soc.getNetworkInterface();
diff --git a/jdk/test/java/net/NetworkInterface/Equals.java b/jdk/test/java/net/NetworkInterface/Equals.java
index cbf0518..8cc81f8 100644
--- a/jdk/test/java/net/NetworkInterface/Equals.java
+++ b/jdk/test/java/net/NetworkInterface/Equals.java
@@ -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
@@ -62,8 +62,9 @@
while (nifs2.hasMoreElements()) {
NetworkInterface ni = nifs2.nextElement();
- // JDK-8022963, Skip (Windows)Teredo Tunneling seudo-Interface
- if (isWindows && ni.getDisplayName().contains("Teredo"))
+ // JDK-8022963, Skip (Windows)Teredo Tunneling Pseudo-Interface
+ String dName = ni.getDisplayName();
+ if (isWindows && dName != null && dName.contains("Teredo"))
continue;
NetworkInterface niOrig = nicMap.get(ni.getName());
diff --git a/jdk/test/java/net/NetworkInterface/IndexTest.java b/jdk/test/java/net/NetworkInterface/IndexTest.java
index ed9e225..a1c65aa 100644
--- a/jdk/test/java/net/NetworkInterface/IndexTest.java
+++ b/jdk/test/java/net/NetworkInterface/IndexTest.java
@@ -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
@@ -40,8 +40,9 @@
NetworkInterface nif;
while (netifs.hasMoreElements()) {
nif = netifs.nextElement();
- // JDK-8022212, Skip (Windows) Teredo Tunneling seudo-Interface
- if (nif.getDisplayName().contains("Teredo") && isWindows)
+ // JDK-8022212, Skip (Windows) Teredo Tunneling Pseudo-Interface
+ String dName = nif.getDisplayName();
+ if (isWindows && dName != null && dName.contains("Teredo"))
continue;
int index = nif.getIndex();
if (index >= 0) {
diff --git a/jdk/test/java/net/NetworkInterface/Test.java b/jdk/test/java/net/NetworkInterface/Test.java
index 74033c1..66ecbed 100644
--- a/jdk/test/java/net/NetworkInterface/Test.java
+++ b/jdk/test/java/net/NetworkInterface/Test.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2002, 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
diff --git a/jdk/test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.sh b/jdk/test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.sh
index df85f49..cd67e57 100644
--- a/jdk/test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.sh
+++ b/jdk/test/java/net/ServerSocket/AcceptCauseFileDescriptorLeak.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 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
diff --git a/jdk/test/java/net/ServerSocket/AnotherSelectFdsLimit.java b/jdk/test/java/net/ServerSocket/AnotherSelectFdsLimit.java
new file mode 100644
index 0000000..391c5fb
--- /dev/null
+++ b/jdk/test/java/net/ServerSocket/AnotherSelectFdsLimit.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2014, 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 8035897
+ * @summary FD_SETSIZE should be set on macosx
+ * @run main/othervm AnotherSelectFdsLimit 1023
+ * @run main/othervm AnotherSelectFdsLimit 1024
+ * @run main/othervm AnotherSelectFdsLimit 1025
+ * @run main/othervm AnotherSelectFdsLimit 1600
+ */
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.SocketTimeoutException;
+import java.util.ArrayList;
+import java.util.List;
+
+public class AnotherSelectFdsLimit {
+ static final int DEFAULT_FDS_TO_USE = 1600;
+
+ public static void main(String [] args) throws Exception {
+ if (!System.getProperty("os.name").contains("OS X")) {
+ System.out.println("Test only run on MAC. Exiting.");
+ return;
+ }
+
+ int fdsToUse = DEFAULT_FDS_TO_USE;
+ if (args.length == 1)
+ fdsToUse = Integer.parseInt(args[0]);
+
+ System.out.println("Using " + fdsToUse + " fds.");
+
+ List<Thread> threads = new ArrayList<>();
+ for (int i=0; i<fdsToUse; i++)
+ threads.add(new WorkerThread());
+
+ for (Thread t : threads)
+ t.start();
+
+ for (Thread t : threads)
+ t.join();
+ }
+
+ static class WorkerThread extends Thread {
+ public void run() {
+ try (ServerSocket ss = new ServerSocket(0)) {
+ ss.setSoTimeout(2000);
+ ss.accept();
+ } catch (SocketTimeoutException x) {
+ // expected
+ } catch (IOException x) {
+ throw new java.io.UncheckedIOException(x);
+ }
+ }
+ }
+}
diff --git a/jdk/test/java/net/Socket/LingerTest.java b/jdk/test/java/net/Socket/LingerTest.java
index aa7b7d0..60eb0f9 100644
--- a/jdk/test/java/net/Socket/LingerTest.java
+++ b/jdk/test/java/net/Socket/LingerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/test/java/net/Socks/SocksProxyVersion.java b/jdk/test/java/net/Socks/SocksProxyVersion.java
index 27bd187..3abc1d2 100644
--- a/jdk/test/java/net/Socks/SocksProxyVersion.java
+++ b/jdk/test/java/net/Socks/SocksProxyVersion.java
@@ -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
diff --git a/jdk/test/java/net/URI/Test.java b/jdk/test/java/net/URI/Test.java
index dfc01c9..05d4cdb 100644
--- a/jdk/test/java/net/URI/Test.java
+++ b/jdk/test/java/net/URI/Test.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/java/net/URL/HandlerLoop.java b/jdk/test/java/net/URL/HandlerLoop.java
index df02891..4428c30 100644
--- a/jdk/test/java/net/URL/HandlerLoop.java
+++ b/jdk/test/java/net/URL/HandlerLoop.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 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
diff --git a/jdk/test/java/net/URL/Test.java b/jdk/test/java/net/URL/Test.java
index 1e44ffe..cff57e4 100644
--- a/jdk/test/java/net/URL/Test.java
+++ b/jdk/test/java/net/URL/Test.java
@@ -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
diff --git a/jdk/test/java/net/URL/URIToURLTest.java b/jdk/test/java/net/URL/URIToURLTest.java
index 79273b2..81fc0ee 100644
--- a/jdk/test/java/net/URL/URIToURLTest.java
+++ b/jdk/test/java/net/URL/URIToURLTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
diff --git a/jdk/test/java/net/URLClassLoader/closetest/CloseTest.java b/jdk/test/java/net/URLClassLoader/closetest/CloseTest.java
index a141627..4fcb7a5 100644
--- a/jdk/test/java/net/URLClassLoader/closetest/CloseTest.java
+++ b/jdk/test/java/net/URLClassLoader/closetest/CloseTest.java
@@ -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
diff --git a/jdk/test/java/net/URLClassLoader/closetest/Common.java b/jdk/test/java/net/URLClassLoader/closetest/Common.java
index fc06fb3..0326a3d 100644
--- a/jdk/test/java/net/URLClassLoader/closetest/Common.java
+++ b/jdk/test/java/net/URLClassLoader/closetest/Common.java
@@ -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
diff --git a/jdk/test/java/net/URLClassLoader/closetest/GetResourceAsStream.java b/jdk/test/java/net/URLClassLoader/closetest/GetResourceAsStream.java
index 54e5170..a11d58a 100644
--- a/jdk/test/java/net/URLClassLoader/closetest/GetResourceAsStream.java
+++ b/jdk/test/java/net/URLClassLoader/closetest/GetResourceAsStream.java
@@ -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
diff --git a/jdk/test/java/net/URLClassLoader/getresourceasstream/test.sh b/jdk/test/java/net/URLClassLoader/getresourceasstream/test.sh
index 976b8e8..54e0f5f 100644
--- a/jdk/test/java/net/URLClassLoader/getresourceasstream/test.sh
+++ b/jdk/test/java/net/URLClassLoader/getresourceasstream/test.sh
@@ -1,7 +1,7 @@
#!/bin/sh
#
-# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/test/java/net/URLConnection/RequestPropertyValues.java b/jdk/test/java/net/URLConnection/RequestPropertyValues.java
index 6874063..0c01603 100644
--- a/jdk/test/java/net/URLConnection/RequestPropertyValues.java
+++ b/jdk/test/java/net/URLConnection/RequestPropertyValues.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2006, 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
diff --git a/jdk/test/java/net/URLPermission/nstest/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor b/jdk/test/java/net/URLPermission/nstest/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor
index b7527c0..99faecb 100644
--- a/jdk/test/java/net/URLPermission/nstest/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor
+++ b/jdk/test/java/net/URLPermission/nstest/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor
@@ -1,4 +1,4 @@
-# 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
diff --git a/jdk/test/java/net/URLPermission/nstest/SimpleNameService.java b/jdk/test/java/net/URLPermission/nstest/SimpleNameService.java
index 9d58455..f373116 100644
--- a/jdk/test/java/net/URLPermission/nstest/SimpleNameService.java
+++ b/jdk/test/java/net/URLPermission/nstest/SimpleNameService.java
@@ -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
diff --git a/jdk/test/java/net/URLPermission/nstest/SimpleNameServiceDescriptor.java b/jdk/test/java/net/URLPermission/nstest/SimpleNameServiceDescriptor.java
index 373d10b..4cf6bf3 100644
--- a/jdk/test/java/net/URLPermission/nstest/SimpleNameServiceDescriptor.java
+++ b/jdk/test/java/net/URLPermission/nstest/SimpleNameServiceDescriptor.java
@@ -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
diff --git a/jdk/test/java/net/URLPermission/nstest/lookup.sh b/jdk/test/java/net/URLPermission/nstest/lookup.sh
index 89cfd10..9aa3ccb 100644
--- a/jdk/test/java/net/URLPermission/nstest/lookup.sh
+++ b/jdk/test/java/net/URLPermission/nstest/lookup.sh
@@ -56,4 +56,7 @@
};
POLICY
-${TESTJAVA}/bin/java -Djava.security.policy=file:./policy -Dsun.net.spi.nameservice.provider.1=simple,sun -cp ${TESTCLASSES}${PS}${TESTSRC} LookupTest -runtest ${port}
+${TESTJAVA}/bin/java ${TESTVMOPTS} \
+ -Djava.security.policy=file:./policy \
+ -Dsun.net.spi.nameservice.provider.1=simple,sun \
+ -cp ${TESTCLASSES}${PS}${TESTSRC} LookupTest -runtest ${port}
diff --git a/jdk/test/java/net/ipv6tests/B6521014.java b/jdk/test/java/net/ipv6tests/B6521014.java
index 6bfe0b1..4dbc928 100644
--- a/jdk/test/java/net/ipv6tests/B6521014.java
+++ b/jdk/test/java/net/ipv6tests/B6521014.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/java/net/ipv6tests/BadIPv6Addresses.java b/jdk/test/java/net/ipv6tests/BadIPv6Addresses.java
index 15ad86b..400c20f 100644
--- a/jdk/test/java/net/ipv6tests/BadIPv6Addresses.java
+++ b/jdk/test/java/net/ipv6tests/BadIPv6Addresses.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/nio/Buffer/DirectBufferAllocTest.java b/jdk/test/java/nio/Buffer/DirectBufferAllocTest.java
new file mode 100644
index 0000000..3a4d815
--- /dev/null
+++ b/jdk/test/java/nio/Buffer/DirectBufferAllocTest.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 2014, 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 6857566
+ * @summary DirectByteBuffer garbage creation can outpace reclamation
+ *
+ * @run main/othervm -XX:MaxDirectMemorySize=128m DirectBufferAllocTest
+ */
+
+import java.nio.ByteBuffer;
+import java.util.List;
+import java.util.concurrent.*;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
+
+public class DirectBufferAllocTest {
+ // defaults
+ static final int RUN_TIME_SECONDS = 5;
+ static final int MIN_THREADS = 4;
+ static final int MAX_THREADS = 64;
+ static final int CAPACITY = 1024 * 1024; // bytes
+
+ /**
+ * This test spawns multiple threads that constantly allocate direct
+ * {@link ByteBuffer}s in a loop, trying to provoke {@link OutOfMemoryError}.<p>
+ * When run without command-line arguments, it runs as a regression test
+ * for at most 5 seconds.<p>
+ * Command line arguments:
+ * <pre>
+ * -r run-time-seconds <i>(duration of successful test - default 5 s)</i>
+ * -t threads <i>(default is 2 * # of CPUs, at least 4 but no more than 64)</i>
+ * -c capacity <i>(of direct buffers in bytes - default is 1MB)</i>
+ * -p print-alloc-time-batch-size <i>(every "batch size" iterations,
+ * average time per allocation is printed)</i>
+ * </pre>
+ * Use something like the following to run a 10 minute stress test and
+ * print allocation times as it goes:
+ * <pre>
+ * java -XX:MaxDirectMemorySize=128m DirectBufferAllocTest -r 600 -t 32 -p 5000
+ * </pre>
+ */
+ public static void main(String[] args) throws Exception {
+ int runTimeSeconds = RUN_TIME_SECONDS;
+ int threads = Math.max(
+ Math.min(
+ Runtime.getRuntime().availableProcessors() * 2,
+ MAX_THREADS
+ ),
+ MIN_THREADS
+ );
+ int capacity = CAPACITY;
+ int printBatchSize = 0;
+
+ // override with command line arguments
+ for (int i = 0; i < args.length; i++) {
+ switch (args[i]) {
+ case "-r":
+ runTimeSeconds = Integer.parseInt(args[++i]);
+ break;
+ case "-t":
+ threads = Integer.parseInt(args[++i]);
+ break;
+ case "-c":
+ capacity = Integer.parseInt(args[++i]);
+ break;
+ case "-p":
+ printBatchSize = Integer.parseInt(args[++i]);
+ break;
+ default:
+ System.err.println(
+ "Usage: java" +
+ " [-XX:MaxDirectMemorySize=XXXm]" +
+ " DirectBufferAllocTest" +
+ " [-r run-time-seconds]" +
+ " [-t threads]" +
+ " [-c capacity-of-direct-buffers]" +
+ " [-p print-alloc-time-batch-size]"
+ );
+ System.exit(-1);
+ }
+ }
+
+ System.out.printf(
+ "Allocating direct ByteBuffers with capacity %d bytes, using %d threads for %d seconds...\n",
+ capacity, threads, runTimeSeconds
+ );
+
+ ExecutorService executor = Executors.newFixedThreadPool(threads);
+
+ int pbs = printBatchSize;
+ int cap = capacity;
+
+ List<Future<Void>> futures =
+ IntStream.range(0, threads)
+ .mapToObj(
+ i -> (Callable<Void>) () -> {
+ long t0 = System.nanoTime();
+ loop:
+ while (true) {
+ for (int n = 0; pbs == 0 || n < pbs; n++) {
+ if (Thread.interrupted()) {
+ break loop;
+ }
+ ByteBuffer.allocateDirect(cap);
+ }
+ long t1 = System.nanoTime();
+ if (pbs > 0) {
+ System.out.printf(
+ "Thread %2d: %5.2f ms/allocation\n",
+ i, ((double) (t1 - t0) / (1_000_000d * pbs))
+ );
+ }
+ t0 = t1;
+ }
+ return null;
+ }
+ )
+ .map(executor::submit)
+ .collect(Collectors.toList());
+
+ for (int i = 0; i < runTimeSeconds; i++) {
+ if (futures.stream().anyMatch(Future::isDone)) {
+ break;
+ }
+ Thread.sleep(1000L);
+ }
+
+ Exception exception = null;
+ for (Future<Void> future : futures) {
+ if (future.isDone()) {
+ try {
+ future.get();
+ } catch (ExecutionException e) {
+ if (exception == null) {
+ exception = new RuntimeException("Errors encountered!");
+ }
+ exception.addSuppressed(e.getCause());
+ }
+ } else {
+ future.cancel(true);
+ }
+ }
+
+ executor.shutdown();
+
+ if (exception != null) {
+ throw exception;
+ } else {
+ System.out.printf("No errors after %d seconds.\n", runTimeSeconds);
+ }
+ }
+}
diff --git a/jdk/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java b/jdk/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java
index 001a65b..384e886 100644
--- a/jdk/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java
+++ b/jdk/test/java/nio/channels/AsynchronousChannelGroup/Unbounded.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 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
diff --git a/jdk/test/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh b/jdk/test/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh
index 8136634..f1631ce 100644
--- a/jdk/test/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh
+++ b/jdk/test/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2008, 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
diff --git a/jdk/test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java b/jdk/test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java
index dbeb491..7937b56 100644
--- a/jdk/test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java
+++ b/jdk/test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java
@@ -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
diff --git a/jdk/test/java/nio/channels/DatagramChannel/Connect.java b/jdk/test/java/nio/channels/DatagramChannel/Connect.java
index 558f032..be486e7 100644
--- a/jdk/test/java/nio/channels/DatagramChannel/Connect.java
+++ b/jdk/test/java/nio/channels/DatagramChannel/Connect.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, 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
diff --git a/jdk/test/java/nio/channels/DatagramChannel/ConnectedSend.java b/jdk/test/java/nio/channels/DatagramChannel/ConnectedSend.java
index 1f56e51..d021850 100644
--- a/jdk/test/java/nio/channels/DatagramChannel/ConnectedSend.java
+++ b/jdk/test/java/nio/channels/DatagramChannel/ConnectedSend.java
@@ -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
diff --git a/jdk/test/java/nio/channels/DatagramChannel/SendToUnresolved.java b/jdk/test/java/nio/channels/DatagramChannel/SendToUnresolved.java
index 7b9ec6a..e3fade5 100644
--- a/jdk/test/java/nio/channels/DatagramChannel/SendToUnresolved.java
+++ b/jdk/test/java/nio/channels/DatagramChannel/SendToUnresolved.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/test/java/nio/channels/Pipe/PipeInterrupt.java b/jdk/test/java/nio/channels/Pipe/PipeInterrupt.java
index b00c005..53606b6 100644
--- a/jdk/test/java/nio/channels/Pipe/PipeInterrupt.java
+++ b/jdk/test/java/nio/channels/Pipe/PipeInterrupt.java
@@ -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
diff --git a/jdk/test/java/nio/channels/Selector/LotsOfChannels.java b/jdk/test/java/nio/channels/Selector/LotsOfChannels.java
index 2db6366..dbc1387 100644
--- a/jdk/test/java/nio/channels/Selector/LotsOfChannels.java
+++ b/jdk/test/java/nio/channels/Selector/LotsOfChannels.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/test/java/nio/channels/Selector/SelectorLimit.java b/jdk/test/java/nio/channels/Selector/SelectorLimit.java
index 69963db..cc34a30 100644
--- a/jdk/test/java/nio/channels/Selector/SelectorLimit.java
+++ b/jdk/test/java/nio/channels/Selector/SelectorLimit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java b/jdk/test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java
index a39549f..f0a44a5 100644
--- a/jdk/test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java
+++ b/jdk/test/java/nio/channels/ServerSocketChannel/AdaptServerSocket.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
diff --git a/jdk/test/java/nio/channels/SocketChannel/ShortWrite.java b/jdk/test/java/nio/channels/SocketChannel/ShortWrite.java
index 198bfc3..0988006 100644
--- a/jdk/test/java/nio/channels/SocketChannel/ShortWrite.java
+++ b/jdk/test/java/nio/channels/SocketChannel/ShortWrite.java
@@ -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
diff --git a/jdk/test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh b/jdk/test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh
index bf82465..b10fcb3 100644
--- a/jdk/test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh
+++ b/jdk/test/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2008, 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
diff --git a/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.java b/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.java
index d8c88ff..366fb74 100644
--- a/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.java
+++ b/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.java
@@ -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
@@ -22,8 +22,6 @@
*/
/*
- *
- *
* A Launcher to launch a java process with its standard input, output,
* and error streams connected to a socket.
*/
@@ -40,24 +38,23 @@
private static native void launch0(String cmdarray[], int fd) throws IOException;
private static void launch(String className, String options[], String args[], int fd) throws IOException {
- String[] javacmd = Util.javaCommand();
- int options_len = (options == null) ? 0 : options.length;
- int args_len = (args == null) ? 0 : args.length;
-
// java [-options] class [args...]
- int len = javacmd.length + options_len + 1 + args_len;
-
+ int optsLen = (options == null) ? 0 : options.length;
+ int argsLen = (args == null) ? 0 : args.length;
+ int len = 1 + optsLen + 1 + argsLen;
String cmdarray[] = new String[len];
int pos = 0;
- for (int i=0; i<javacmd.length; i++) {
- cmdarray[pos++] = javacmd[i];
- }
- for (int i=0; i<options_len; i++) {
- cmdarray[pos++] = options[i];
+ cmdarray[pos++] = Util.javaCommand();
+ if (options != null) {
+ for (String opt: options) {
+ cmdarray[pos++] = opt;
+ }
}
cmdarray[pos++] = className;
- for (int i=0; i<args_len; i++) {
- cmdarray[pos++] = args[i];
+ if (args != null) {
+ for (String arg: args) {
+ cmdarray[pos++] = arg;
+ }
}
launch0(cmdarray, fd);
}
diff --git a/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Util.java b/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Util.java
index 41dfd85..1ad05a9 100644
--- a/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Util.java
+++ b/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Util.java
@@ -22,8 +22,6 @@
*/
/*
- *
- *
* A collection of utility methods used by the SelectorProvider.inheritedChannel
* unit tests.
*/
@@ -91,26 +89,9 @@
/*
* Return the "java" command and any initial arguments to start the runtime
* in the current configuration.
- *
- * Typically it will return something like :-
- * cmd[0] = "/usr/local/java/solaris-sparc/bin/java"
- * or
- * cmd[0] = "/usr/local/java/solaris-sparc/bin/sparcv9/java"
- * cmd[1] = "-d64"
*/
- public static String[] javaCommand() {
- String exe = System.getProperty("java.home") + File.separator + "bin" +
- File.separator;
- String arch = System.getProperty("os.arch");
- if (arch.equals("sparcv9")) {
- String cmd[] = new String[2];
- cmd[0] = exe + "sparcv9/java";
- cmd[1] = "-d64";
- return cmd;
- } else {
- String cmd[] = new String[1];
- cmd[0] = exe += "java";
- return cmd;
- }
+ public static String javaCommand() {
+ return System.getProperty("java.home") + File.separator + "bin" +
+ File.separator + "java";
}
}
diff --git a/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh b/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh
index dca835c..37d56a8 100644
--- a/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh
+++ b/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh
@@ -109,7 +109,7 @@
go() {
echo ''
- sh -xc "$JAVA $DFLAG $1 $2 $3 $4 $5 $6 $7 $8" 2>&1
+ sh -xc "$JAVA ${TESTVMOPTS} $DFLAG $1 $2 $3 $4 $5 $6 $7 $8" 2>&1
if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
}
diff --git a/jdk/test/java/nio/file/Files/CheckPermissions.java b/jdk/test/java/nio/file/Files/CheckPermissions.java
index 200aae7..8877daa 100644
--- a/jdk/test/java/nio/file/Files/CheckPermissions.java
+++ b/jdk/test/java/nio/file/Files/CheckPermissions.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/java/nio/file/Files/InterruptCopy.java b/jdk/test/java/nio/file/Files/InterruptCopy.java
index 467a5ea..c83479c 100644
--- a/jdk/test/java/nio/file/Files/InterruptCopy.java
+++ b/jdk/test/java/nio/file/Files/InterruptCopy.java
@@ -25,7 +25,6 @@
* @bug 4313887 6993267
* @summary Unit test for Sun-specific ExtendedCopyOption.INTERRUPTIBLE option
* @library ..
- * @run main/othervm -XX:-UseVMInterruptibleIO InterruptCopy
*/
import java.nio.file.*;
diff --git a/jdk/test/java/nio/file/Files/delete_on_close.sh b/jdk/test/java/nio/file/Files/delete_on_close.sh
index f6a5868..f07f7144 100644
--- a/jdk/test/java/nio/file/Files/delete_on_close.sh
+++ b/jdk/test/java/nio/file/Files/delete_on_close.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2008, 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
diff --git a/jdk/test/java/nio/file/Files/walkFileTree/CreateFileTree.java b/jdk/test/java/nio/file/Files/walkFileTree/CreateFileTree.java
index 689c6ee..98bc286 100644
--- a/jdk/test/java/nio/file/Files/walkFileTree/CreateFileTree.java
+++ b/jdk/test/java/nio/file/Files/walkFileTree/CreateFileTree.java
@@ -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
diff --git a/jdk/test/java/nio/file/Files/walkFileTree/MaxDepth.java b/jdk/test/java/nio/file/Files/walkFileTree/MaxDepth.java
index 355895a..a162885 100644
--- a/jdk/test/java/nio/file/Files/walkFileTree/MaxDepth.java
+++ b/jdk/test/java/nio/file/Files/walkFileTree/MaxDepth.java
@@ -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
diff --git a/jdk/test/java/nio/file/Files/walkFileTree/SkipSiblings.java b/jdk/test/java/nio/file/Files/walkFileTree/SkipSiblings.java
index 95f4f4a..bcdc4e1 100644
--- a/jdk/test/java/nio/file/Files/walkFileTree/SkipSiblings.java
+++ b/jdk/test/java/nio/file/Files/walkFileTree/SkipSiblings.java
@@ -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
diff --git a/jdk/test/java/nio/file/Files/walkFileTree/TerminateWalk.java b/jdk/test/java/nio/file/Files/walkFileTree/TerminateWalk.java
index e940807..a4b3cf7 100644
--- a/jdk/test/java/nio/file/Files/walkFileTree/TerminateWalk.java
+++ b/jdk/test/java/nio/file/Files/walkFileTree/TerminateWalk.java
@@ -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
diff --git a/jdk/test/java/nio/file/Files/walkFileTree/find.sh b/jdk/test/java/nio/file/Files/walkFileTree/find.sh
index 2549ad3..1bf7621 100644
--- a/jdk/test/java/nio/file/Files/walkFileTree/find.sh
+++ b/jdk/test/java/nio/file/Files/walkFileTree/find.sh
@@ -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
diff --git a/jdk/test/java/nio/file/WatchService/SensitivityModifier.java b/jdk/test/java/nio/file/WatchService/SensitivityModifier.java
index 185c4ca..4b7629d 100644
--- a/jdk/test/java/nio/file/WatchService/SensitivityModifier.java
+++ b/jdk/test/java/nio/file/WatchService/SensitivityModifier.java
@@ -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
diff --git a/jdk/test/java/nio/file/attribute/BasicFileAttributeView/Basic.java b/jdk/test/java/nio/file/attribute/BasicFileAttributeView/Basic.java
index 4459d07..1605910 100644
--- a/jdk/test/java/nio/file/attribute/BasicFileAttributeView/Basic.java
+++ b/jdk/test/java/nio/file/attribute/BasicFileAttributeView/Basic.java
@@ -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
diff --git a/jdk/test/java/nio/file/attribute/FileTime/Basic.java b/jdk/test/java/nio/file/attribute/FileTime/Basic.java
index 52eba9d..8731ce7 100644
--- a/jdk/test/java/nio/file/attribute/FileTime/Basic.java
+++ b/jdk/test/java/nio/file/attribute/FileTime/Basic.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/java/rmi/MarshalledObject/compare/Compare.java b/jdk/test/java/rmi/MarshalledObject/compare/Compare.java
index 94eff59..2003573 100644
--- a/jdk/test/java/rmi/MarshalledObject/compare/Compare.java
+++ b/jdk/test/java/rmi/MarshalledObject/compare/Compare.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/MarshalledObject/compare/HashCode.java b/jdk/test/java/rmi/MarshalledObject/compare/HashCode.java
index 86fc5dd..be7de49 100644
--- a/jdk/test/java/rmi/MarshalledObject/compare/HashCode.java
+++ b/jdk/test/java/rmi/MarshalledObject/compare/HashCode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/MarshalledObject/compare/NullReference.java b/jdk/test/java/rmi/MarshalledObject/compare/NullReference.java
index 5210e94..eff9361 100644
--- a/jdk/test/java/rmi/MarshalledObject/compare/NullReference.java
+++ b/jdk/test/java/rmi/MarshalledObject/compare/NullReference.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -24,7 +24,9 @@
/*
* @test
* @bug 4105900
- * @summary MarshalledObject with null throws NullPointerException
+ * @summary MarshalledObject with null throws NullPointerException.
+ * This test does not affect VM global state, so othervm
+ * is not required.
* @author Ken Arnold
*
* @run main NullReference
diff --git a/jdk/test/java/rmi/Naming/DefaultRegistryPort.java b/jdk/test/java/rmi/Naming/DefaultRegistryPort.java
index be1cba7..26e6ca3 100644
--- a/jdk/test/java/rmi/Naming/DefaultRegistryPort.java
+++ b/jdk/test/java/rmi/Naming/DefaultRegistryPort.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/Naming/LookupIPv6.java b/jdk/test/java/rmi/Naming/LookupIPv6.java
index 453ac16..7dc948b8 100644
--- a/jdk/test/java/rmi/Naming/LookupIPv6.java
+++ b/jdk/test/java/rmi/Naming/LookupIPv6.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java b/jdk/test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java
index fce32f9..dcd5990 100644
--- a/jdk/test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java
+++ b/jdk/test/java/rmi/activation/Activatable/checkActivateRef/CheckActivateRef.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/checkActivateRef/security.policy b/jdk/test/java/rmi/activation/Activatable/checkActivateRef/security.policy
index f33bc85..dfe43b5 100644
--- a/jdk/test/java/rmi/activation/Activatable/checkActivateRef/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/checkActivateRef/security.policy
@@ -30,8 +30,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java b/jdk/test/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java
index b6e4abd..d2a0bab 100644
--- a/jdk/test/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java
+++ b/jdk/test/java/rmi/activation/Activatable/checkAnnotations/CheckAnnotations.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/checkAnnotations/security.policy b/jdk/test/java/rmi/activation/Activatable/checkAnnotations/security.policy
index e13da7f..a66e234 100644
--- a/jdk/test/java/rmi/activation/Activatable/checkAnnotations/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/checkAnnotations/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java b/jdk/test/java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java
index 3d06941..556e289 100644
--- a/jdk/test/java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java
+++ b/jdk/test/java/rmi/activation/Activatable/checkImplClassLoader/CheckImplClassLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/checkImplClassLoader/security.policy b/jdk/test/java/rmi/activation/Activatable/checkImplClassLoader/security.policy
index b66dd8c..e1f626a 100644
--- a/jdk/test/java/rmi/activation/Activatable/checkImplClassLoader/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/checkImplClassLoader/security.policy
@@ -33,8 +33,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java b/jdk/test/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java
index b46142f..c294a97 100644
--- a/jdk/test/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java
+++ b/jdk/test/java/rmi/activation/Activatable/checkRegisterInLog/CheckRegisterInLog.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/checkRegisterInLog/security.policy b/jdk/test/java/rmi/activation/Activatable/checkRegisterInLog/security.policy
index f78e106..5dc768f 100644
--- a/jdk/test/java/rmi/activation/Activatable/checkRegisterInLog/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/checkRegisterInLog/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java b/jdk/test/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java
index 41a2886..2900e80 100644
--- a/jdk/test/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java
+++ b/jdk/test/java/rmi/activation/Activatable/createPrivateActivable/CreatePrivateActivatable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/createPrivateActivable/security.policy b/jdk/test/java/rmi/activation/Activatable/createPrivateActivable/security.policy
index f78e106..5dc768f 100644
--- a/jdk/test/java/rmi/activation/Activatable/createPrivateActivable/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/createPrivateActivable/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java b/jdk/test/java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java
index 42d309b..64f1168 100644
--- a/jdk/test/java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java
+++ b/jdk/test/java/rmi/activation/Activatable/downloadParameterClass/DownloadParameterClass.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/downloadParameterClass/security.policy b/jdk/test/java/rmi/activation/Activatable/downloadParameterClass/security.policy
index 657881b..6040d29 100644
--- a/jdk/test/java/rmi/activation/Activatable/downloadParameterClass/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/downloadParameterClass/security.policy
@@ -32,8 +32,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java b/jdk/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java
index 7ee451d..2948212 100644
--- a/jdk/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java
+++ b/jdk/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/ElucidateNoSuchMethod.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/security.policy b/jdk/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/security.policy
index 3d1c769..021293f 100644
--- a/jdk/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/elucidateNoSuchMethod/security.policy
@@ -31,8 +31,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh b/jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh
index 86dfff4..3b6143f 100644
--- a/jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh
+++ b/jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2002, 2012, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/extLoadedImpl/security.policy b/jdk/test/java/rmi/activation/Activatable/extLoadedImpl/security.policy
index 7eb3072..17eee96 100644
--- a/jdk/test/java/rmi/activation/Activatable/extLoadedImpl/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/extLoadedImpl/security.policy
@@ -18,8 +18,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java b/jdk/test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java
index 9af0bf3..abbaadf 100644
--- a/jdk/test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java
+++ b/jdk/test/java/rmi/activation/Activatable/forceLogSnapshot/ForceLogSnapshot.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/forceLogSnapshot/security.policy b/jdk/test/java/rmi/activation/Activatable/forceLogSnapshot/security.policy
index f78e106..5dc768f 100644
--- a/jdk/test/java/rmi/activation/Activatable/forceLogSnapshot/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/forceLogSnapshot/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java b/jdk/test/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java
index 4861e28..ad0b14e 100644
--- a/jdk/test/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java
+++ b/jdk/test/java/rmi/activation/Activatable/inactiveGroup/InactiveGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/inactiveGroup/security.policy b/jdk/test/java/rmi/activation/Activatable/inactiveGroup/security.policy
index f78e106..5dc768f 100644
--- a/jdk/test/java/rmi/activation/Activatable/inactiveGroup/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/inactiveGroup/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/nestedActivate/NestedActivate.java b/jdk/test/java/rmi/activation/Activatable/nestedActivate/NestedActivate.java
index 2cd5a63..48e3e2d 100644
--- a/jdk/test/java/rmi/activation/Activatable/nestedActivate/NestedActivate.java
+++ b/jdk/test/java/rmi/activation/Activatable/nestedActivate/NestedActivate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/nestedActivate/security.policy b/jdk/test/java/rmi/activation/Activatable/nestedActivate/security.policy
index 7972e5c..0360715 100644
--- a/jdk/test/java/rmi/activation/Activatable/nestedActivate/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/nestedActivate/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java b/jdk/test/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java
index 625661b..47ddd17 100644
--- a/jdk/test/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java
+++ b/jdk/test/java/rmi/activation/Activatable/nonExistentActivatable/NonExistentActivatable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/nonExistentActivatable/security.policy b/jdk/test/java/rmi/activation/Activatable/nonExistentActivatable/security.policy
index 99fedda..7507759 100644
--- a/jdk/test/java/rmi/activation/Activatable/nonExistentActivatable/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/nonExistentActivatable/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java b/jdk/test/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java
index b403c28..5700f3d 100644
--- a/jdk/test/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java
+++ b/jdk/test/java/rmi/activation/Activatable/restartCrashedService/RestartCrashedService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/restartCrashedService/security.policy b/jdk/test/java/rmi/activation/Activatable/restartCrashedService/security.policy
index 881781b..7d39957 100644
--- a/jdk/test/java/rmi/activation/Activatable/restartCrashedService/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/restartCrashedService/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java b/jdk/test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java
index c53053e..747eee6 100644
--- a/jdk/test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java
+++ b/jdk/test/java/rmi/activation/Activatable/restartLatecomer/RestartLatecomer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/restartLatecomer/security.policy b/jdk/test/java/rmi/activation/Activatable/restartLatecomer/security.policy
index 0e70b29..c8d41ab 100644
--- a/jdk/test/java/rmi/activation/Activatable/restartLatecomer/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/restartLatecomer/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/restartService/RestartService.java b/jdk/test/java/rmi/activation/Activatable/restartService/RestartService.java
index 973916f..e1f2eb5 100644
--- a/jdk/test/java/rmi/activation/Activatable/restartService/RestartService.java
+++ b/jdk/test/java/rmi/activation/Activatable/restartService/RestartService.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/restartService/security.policy b/jdk/test/java/rmi/activation/Activatable/restartService/security.policy
index 0e70b29..c8d41ab 100644
--- a/jdk/test/java/rmi/activation/Activatable/restartService/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/restartService/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java b/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java
index b6ede1d..f5c0482 100644
--- a/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java
+++ b/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -22,7 +22,7 @@
*/
/* @test
- * @bug 4183169
+ * @bug 4183169 8032050
* @summary Minor problem with the way ReliableLog handles IOExceptions.
*
* @author Laird Dornin; code borrowed from Ann Wollrath
@@ -36,6 +36,7 @@
import java.rmi.activation.*;
import java.rmi.*;
import java.util.Properties;
+import java.util.concurrent.TimeoutException;
/**
* The test creates an rmid with a special security manager. After
@@ -51,7 +52,7 @@
* (after that time, the test will fail).
*/
public class ShutdownGracefully
- extends Activatable implements Runnable, RegisteringActivatable
+ extends Activatable implements RegisteringActivatable
{
private static RegisteringActivatable registering = null;
@@ -61,6 +62,8 @@
RMID rmid = null;
+ // Save exception if there is a exception or expected behavior
+ Exception exception = null;
System.err.println("\nRegression test for bug/rfe 4183169\n");
try {
@@ -132,101 +135,37 @@
desc = new ActivationDesc(secondGroupID,
"ShutdownGracefully", null, null);
+ /*
+ * registration request is expected to be failed. succeeded case
+ * should be recorded. And raise error after clean up rmid.
+ */
try {
registering = (RegisteringActivatable)
Activatable.register(desc);
-
- System.err.println("second activate and deactivate " +
- "object via method call");
+ System.err.println("The registration request succeeded unexpectedly");
+ exception = new RuntimeException("The registration request succeeded unexpectedly");
} catch (ActivationException e) {
System.err.println("received exception from registration " +
"call that should have failed...");
- }
-
- /*
- * no longer needed because the security manager
- * throws an exception during snapshot
- */
- /*
- try {
- registering.shutdown();
-
- System.err.println("received exception from remote " +
- "call that should have failed...");
- } catch (RemoteException e) {
- }
- */
-
- } catch (Exception e) {
- TestLibrary.bomb("\nfailure: unexpected exception ", e);
- } finally {
- try {
- Thread.sleep(4000);
- } catch (InterruptedException e) {
- }
-
- registering = null;
-
- // Need to make sure that rmid goes away by itself
- JavaVM rmidProcess = rmid;
- if (rmidProcess != null) {
+ // Need wait rmid process terminates.
try {
- Runnable waitThread =
- new ShutdownDetectThread(rmidProcess);
-
- synchronized (waitThread) {
- (new Thread(waitThread)).start();
- waitThread.wait(SHUTDOWN_TIMEOUT);
- System.err.println("rmid has shutdown");
-
- if (!rmidDone) {
- // ensure that this rmid does not infect
- // other tests.
- rmidProcess.destroy();
- TestLibrary.bomb("rmid did not shutdown " +
- "gracefully in time");
- }
- }
- } catch (Exception e) {
- TestLibrary.bomb("exception waiting for rmid " +
- "to shut down");
+ int exitCode = rmid.waitFor(SHUTDOWN_TIMEOUT);
+ System.err.println("RMID has exited gracefully with exitcode:" + exitCode);
+ rmid = null;
+ } catch (TimeoutException te) {
+ System.err.println("RMID process has not exited in given time");
+ exception = te;
}
}
- // else rmid should be down
+ } catch (Exception e) {
+ System.err.println("Exception thrown:" + e);
+ exception = e;
+ } finally {
+ if (rmid != null)
+ rmid.destroy();
}
-
- System.err.println
- ("\nsuccess: ShutdownGracefully test passed ");
- }
-
- private static boolean rmidDone = false;
-
- /**
- * class that waits for rmid to exit
- */
- private static class ShutdownDetectThread implements Runnable {
- private JavaVM rmidProcess = null;
-
- ShutdownDetectThread(JavaVM rmidProcess) {
- this.rmidProcess = rmidProcess;
- }
- public void run() {
- System.err.println("waiting for rmid to shutdown");
-
- try {
- rmidProcess.waitFor();
- } catch (InterruptedException e) {
- // should not happen
- }
-
- synchronized (this) {
- // notify parent thread when rmid has exited
- this.notify();
- rmidDone = true;
- }
-
- RMID.removeLog();
- }
+ if (exception != null)
+ TestLibrary.bomb("\nexception thrown in test: ", exception);
}
/**
@@ -240,23 +179,12 @@
}
/**
- * Spawns a thread to deactivate the object.
+ * Deactivates the object. We need to unexport forcibly because this call
+ * in-progress on this object, which is the same object that we are trying
+ * to deactivate.
*/
public void shutdown() throws Exception {
- (new Thread(this, "ShutdownGracefully")).start();
- }
-
- /**
- * Thread to deactivate object. First attempts to make object
- * inactive (via the inactive method). If that fails (the
- * object may still have pending/executing calls), then
- * unexport the object forcibly.
- */
- public void run() {
- try {
- Thread.sleep(50 * 1000);
- } catch (InterruptedException e) {
- }
+ Activatable.unexportObject(this, true);
ActivationLibrary.deactivate(this, getID());
}
}
diff --git a/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/security.policy b/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/security.policy
index 693ce51..608548b 100644
--- a/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.java b/jdk/test/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.java
index 412901e..455efd7 100644
--- a/jdk/test/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.java
+++ b/jdk/test/java/rmi/activation/Activatable/unregisterInactive/UnregisterInactive.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/Activatable/unregisterInactive/security.policy b/jdk/test/java/rmi/activation/Activatable/unregisterInactive/security.policy
index 749e142..dc18784 100644
--- a/jdk/test/java/rmi/activation/Activatable/unregisterInactive/security.policy
+++ b/jdk/test/java/rmi/activation/Activatable/unregisterInactive/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java b/jdk/test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java
index a7d7643..08db49c 100644
--- a/jdk/test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java
+++ b/jdk/test/java/rmi/activation/ActivateFailedException/activateFails/ActivateFails.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/ActivateFailedException/activateFails/security.policy b/jdk/test/java/rmi/activation/ActivateFailedException/activateFails/security.policy
index e13da7f..a66e234 100644
--- a/jdk/test/java/rmi/activation/ActivateFailedException/activateFails/security.policy
+++ b/jdk/test/java/rmi/activation/ActivateFailedException/activateFails/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java b/jdk/test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java
index 880f1e8..f9aed42 100644
--- a/jdk/test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java
+++ b/jdk/test/java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java b/jdk/test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java
index fac64b5..38c668b 100644
--- a/jdk/test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java
+++ b/jdk/test/java/rmi/activation/ActivationGroupDesc/checkDefaultGroupName/CheckDefaultGroupName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java b/jdk/test/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java
index 391a862..f6c0817 100644
--- a/jdk/test/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java
+++ b/jdk/test/java/rmi/activation/ActivationSystem/activeGroup/IdempotentActiveGroup.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/java/rmi/activation/ActivationSystem/activeGroup/security.policy b/jdk/test/java/rmi/activation/ActivationSystem/activeGroup/security.policy
index fe01125..50a0955 100644
--- a/jdk/test/java/rmi/activation/ActivationSystem/activeGroup/security.policy
+++ b/jdk/test/java/rmi/activation/ActivationSystem/activeGroup/security.policy
@@ -16,8 +16,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java b/jdk/test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java
index 19034e5..ba376d1 100644
--- a/jdk/test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java
+++ b/jdk/test/java/rmi/activation/ActivationSystem/modifyDescriptor/ModifyDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy b/jdk/test/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy
index e13da7f..a66e234 100644
--- a/jdk/test/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy
+++ b/jdk/test/java/rmi/activation/ActivationSystem/modifyDescriptor/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/security.policy b/jdk/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/security.policy
index b6f6ef2..bb87a80 100644
--- a/jdk/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/security.policy
+++ b/jdk/test/java/rmi/activation/ActivationSystem/stubClassesPermitted/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy b/jdk/test/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy
index d1828e5..a372f5c 100644
--- a/jdk/test/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy
+++ b/jdk/test/java/rmi/activation/ActivationSystem/unregisterGroup/security.policy
@@ -22,8 +22,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/CommandEnvironment/NullOptions.java b/jdk/test/java/rmi/activation/CommandEnvironment/NullOptions.java
index a1ec946..b15ce40 100644
--- a/jdk/test/java/rmi/activation/CommandEnvironment/NullOptions.java
+++ b/jdk/test/java/rmi/activation/CommandEnvironment/NullOptions.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/java/rmi/activation/CommandEnvironment/security.policy b/jdk/test/java/rmi/activation/CommandEnvironment/security.policy
index fd455a6..b94b19d 100644
--- a/jdk/test/java/rmi/activation/CommandEnvironment/security.policy
+++ b/jdk/test/java/rmi/activation/CommandEnvironment/security.policy
@@ -23,8 +23,7 @@
permission java.util.PropertyPermission "java.compiler", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.rmi.activation.port", "write";
diff --git a/jdk/test/java/rmi/activation/checkusage/CheckUsage.java b/jdk/test/java/rmi/activation/checkusage/CheckUsage.java
deleted file mode 100644
index c114928..0000000
--- a/jdk/test/java/rmi/activation/checkusage/CheckUsage.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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
- * 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 4259564
- * @summary RMID's usage message is incomplete and inconsistent with other tools
- *
- * @library ../../testlibrary
- * @build TestLibrary JavaVM
- * @run main/othervm CheckUsage
- */
-
-import java.io.ByteArrayOutputStream;
-
-/**
- * Make sure that rmid prints out a correct usage statement when run with an
- * incorrect command line.
- */
-public class CheckUsage {
- public static void main(String[] args) {
- try {
- ByteArrayOutputStream berr = new ByteArrayOutputStream();
-
- // create rmid with incorrect command line args
- JavaVM rmidVM = new JavaVM("sun.rmi.server.Activation", "", "foo",
- System.out, berr);
- System.err.println("starting rmid");
-
- // run the subprocess and wait for it to exit
- int rmidVMExitStatus = rmidVM.execute();
- System.err.println("rmid exited with status: " +
- rmidVMExitStatus);
-
- String usage = new String(berr.toByteArray());
-
- System.err.println("rmid usage: " + usage);
-
- if (usage.indexOf("-J<runtime flag>") < 0) {
- TestLibrary.bomb("rmid has incorrect usage message");
- } else {
- System.err.println("test passed");
- }
- } catch (Exception e) {
- TestLibrary.bomb(e);
- }
- }
-}
diff --git a/jdk/test/java/rmi/activation/log/LogTest.java b/jdk/test/java/rmi/activation/log/LogTest.java
index 53efeb4..7d64a3d 100644
--- a/jdk/test/java/rmi/activation/log/LogTest.java
+++ b/jdk/test/java/rmi/activation/log/LogTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/java/rmi/dgc/VMID/CheckVMID.java b/jdk/test/java/rmi/dgc/VMID/CheckVMID.java
index 0b69ff4..05859f5 100644
--- a/jdk/test/java/rmi/dgc/VMID/CheckVMID.java
+++ b/jdk/test/java/rmi/dgc/VMID/CheckVMID.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/dgc/VMID/security.policy b/jdk/test/java/rmi/dgc/VMID/security.policy
index fe536e3..34dac37 100644
--- a/jdk/test/java/rmi/dgc/VMID/security.policy
+++ b/jdk/test/java/rmi/dgc/VMID/security.policy
@@ -9,8 +9,7 @@
grant {
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
};
diff --git a/jdk/test/java/rmi/dgc/dgcAckFailure/DGCAckFailure.java b/jdk/test/java/rmi/dgc/dgcAckFailure/DGCAckFailure.java
index 6a47245..82eeab0 100644
--- a/jdk/test/java/rmi/dgc/dgcAckFailure/DGCAckFailure.java
+++ b/jdk/test/java/rmi/dgc/dgcAckFailure/DGCAckFailure.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java b/jdk/test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java
index 4043268..d669110 100644
--- a/jdk/test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java
+++ b/jdk/test/java/rmi/dgc/dgcImplInsulation/DGCImplInsulation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java b/jdk/test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java
index b2f0af6..992c834 100644
--- a/jdk/test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java
+++ b/jdk/test/java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/invalidName/InvalidName.java b/jdk/test/java/rmi/invalidName/InvalidName.java
index 74da1a5..93218ec 100644
--- a/jdk/test/java/rmi/invalidName/InvalidName.java
+++ b/jdk/test/java/rmi/invalidName/InvalidName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/registry/checkusage/CheckUsage.java b/jdk/test/java/rmi/registry/checkusage/CheckUsage.java
deleted file mode 100644
index 88d9a90..0000000
--- a/jdk/test/java/rmi/registry/checkusage/CheckUsage.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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
- * 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 4151966
- * @summary rmiregistry error message obsure; internationalize rmiregistry
- * @author Laird Dornin
- *
- * @library ../../testlibrary
- * @build TestLibrary JavaVM
- * @run main/othervm CheckUsage
- */
-
-import java.io.ByteArrayOutputStream;
-
-/**
- * Make sure that the rmiregistry prints out a correct usage statement
- * when run with an incorrect command line.
- */
-public class CheckUsage {
- public static void main(String[] args) {
-
- try {
- ByteArrayOutputStream berr = new ByteArrayOutputStream();
-
- // run a VM to start the registry
- JavaVM registryVM = new JavaVM("sun.rmi.registry.RegistryImpl",
- "", "foo",
- System.out, berr);
- System.err.println("starting registry");
- System.err.println(" registry exited with status: " +
- registryVM.execute());
-
- String usage = new String(berr.toByteArray());
-
- System.err.println("rmiregistry usage: " + usage);
-
- if (usage.indexOf("-J") < 0) {
- TestLibrary.bomb("rmiregistry has incorrect usage statement");
- } else {
- System.err.println("test passed");
- }
- } catch (Exception e) {
- TestLibrary.bomb(e);
- }
- }
-}
diff --git a/jdk/test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java b/jdk/test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java
index b4be737..3447366 100644
--- a/jdk/test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java
+++ b/jdk/test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java
@@ -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
diff --git a/jdk/test/java/rmi/registry/classPathCodebase/security.policy b/jdk/test/java/rmi/registry/classPathCodebase/security.policy
index de4cd9b..1bd7df6 100644
--- a/jdk/test/java/rmi/registry/classPathCodebase/security.policy
+++ b/jdk/test/java/rmi/registry/classPathCodebase/security.policy
@@ -15,8 +15,7 @@
permission java.io.FilePermission ".${/}-", "read,write,delete";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/registry/readTest/readTest.sh b/jdk/test/java/rmi/registry/readTest/readTest.sh
index 812d0a4..443253f 100644
--- a/jdk/test/java/rmi/registry/readTest/readTest.sh
+++ b/jdk/test/java/rmi/registry/readTest/readTest.sh
@@ -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
@@ -37,11 +37,13 @@
SunOS | Linux | Darwin | AIX )
PS=":"
FS="/"
+ CHMOD="${FS}bin${FS}chmod"
FILEURL="file:"
;;
Windows* )
PS=";"
FS="\\"
+ CHMOD="chmod"
FILEURL="file:/"
if [ "$VER" -eq "5" ]; then
ARGS="-Djdk.net.ephemeralPortRange.low=1024 -Djdk.net.ephemeralPortRange.high=65000"
@@ -51,6 +53,7 @@
CYGWIN* )
PS=";"
FS="/"
+ CHMOD="chmod"
FILEURL="file:/"
if [ "$VER" -eq "5" ]; then
ARGS="-Djdk.net.ephemeralPortRange.low=1024 -Djdk.net.ephemeralPortRange.high=65000"
@@ -65,6 +68,7 @@
TEST_CLASSPATH=.$PS${TESTCLASSPATH:-$TESTCLASSES}
cp -r ${TESTSRC}${FS}* .
+${CHMOD} -R u+w *
${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} testPkg${FS}*java
${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -cp $TEST_CLASSPATH readTest.java
diff --git a/jdk/test/java/rmi/server/ObjID/randomIDs/RandomIDs.java b/jdk/test/java/rmi/server/ObjID/randomIDs/RandomIDs.java
index ebe7192..528d58f 100644
--- a/jdk/test/java/rmi/server/ObjID/randomIDs/RandomIDs.java
+++ b/jdk/test/java/rmi/server/ObjID/randomIDs/RandomIDs.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/DelegateBeforePermissionCheck.java b/jdk/test/java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/DelegateBeforePermissionCheck.java
index 6187f0c..4e724d2 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/DelegateBeforePermissionCheck.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/delegateBeforePermissionCheck/DelegateBeforePermissionCheck.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/DelegateToContextLoader.java b/jdk/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/DelegateToContextLoader.java
index 7ae4c5e..9ffde81 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/DelegateToContextLoader.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/DelegateToContextLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/security.policy b/jdk/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/security.policy
index e185461..1091602 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/security.policy
+++ b/jdk/test/java/rmi/server/RMIClassLoader/delegateToContextLoader/security.policy
@@ -19,8 +19,7 @@
permission java.io.FilePermission ".${/}codebase${/}-", "read,write,delete";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
};
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java b/jdk/test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java
index c0a9469..6067f08 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/downloadArrayClass/security.policy b/jdk/test/java/rmi/server/RMIClassLoader/downloadArrayClass/security.policy
index ac4ce02..da38143 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/downloadArrayClass/security.policy
+++ b/jdk/test/java/rmi/server/RMIClassLoader/downloadArrayClass/security.policy
@@ -17,8 +17,7 @@
".${/}-", "read,write,delete";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/getClassAnnotation/NullClass.java b/jdk/test/java/rmi/server/RMIClassLoader/getClassAnnotation/NullClass.java
index 5167fc4..557a846 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/getClassAnnotation/NullClass.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/getClassAnnotation/NullClass.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/getClassLoader/GetClassLoader.java b/jdk/test/java/rmi/server/RMIClassLoader/getClassLoader/GetClassLoader.java
index 10a9cc9..bed7354 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/getClassLoader/GetClassLoader.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/getClassLoader/GetClassLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/getClassLoader/security.policy b/jdk/test/java/rmi/server/RMIClassLoader/getClassLoader/security.policy
index 8422023..07a5123 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/getClassLoader/security.policy
+++ b/jdk/test/java/rmi/server/RMIClassLoader/getClassLoader/security.policy
@@ -14,8 +14,7 @@
".${/}-", "read,write,delete";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java b/jdk/test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java
index b5bfcac..cf85853 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/loadProxyClasses/security.policy b/jdk/test/java/rmi/server/RMIClassLoader/loadProxyClasses/security.policy
index 0677356..64b54c0 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/loadProxyClasses/security.policy
+++ b/jdk/test/java/rmi/server/RMIClassLoader/loadProxyClasses/security.policy
@@ -20,8 +20,7 @@
permission java.lang.reflect.ReflectPermission "newProxyInPackage.java.util.zip";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
};
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/noSecurityManager/NoSecurityManager.java b/jdk/test/java/rmi/server/RMIClassLoader/noSecurityManager/NoSecurityManager.java
index 93a33b9..919db47 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/noSecurityManager/NoSecurityManager.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/noSecurityManager/NoSecurityManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/spi/ContextInsulation.java b/jdk/test/java/rmi/server/RMIClassLoader/spi/ContextInsulation.java
index de3d79b..9f114d5 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/spi/ContextInsulation.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/spi/ContextInsulation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/spi/DefaultProperty.java b/jdk/test/java/rmi/server/RMIClassLoader/spi/DefaultProperty.java
index f91ef3d..15ce7cc 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/spi/DefaultProperty.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/spi/DefaultProperty.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/spi/Installed.java b/jdk/test/java/rmi/server/RMIClassLoader/spi/Installed.java
index d32a8af..7e236d6 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/spi/Installed.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/spi/Installed.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/spi/InvalidProperty.java b/jdk/test/java/rmi/server/RMIClassLoader/spi/InvalidProperty.java
index d41cef1..dbc5a10 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/spi/InvalidProperty.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/spi/InvalidProperty.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/spi/Property.java b/jdk/test/java/rmi/server/RMIClassLoader/spi/Property.java
index 6113a6e..1d9f694 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/spi/Property.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/spi/Property.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/spi/security.policy b/jdk/test/java/rmi/server/RMIClassLoader/spi/security.policy
index dd185b8..e0f4208 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/spi/security.policy
+++ b/jdk/test/java/rmi/server/RMIClassLoader/spi/security.policy
@@ -17,8 +17,7 @@
".${/}-", "read,write,delete";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly.java b/jdk/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly.java
index dc80837..77f6cba 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/UseCodebaseOnly.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/security.policy b/jdk/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/security.policy
index 4e32e07..56ee500 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/security.policy
+++ b/jdk/test/java/rmi/server/RMIClassLoader/useCodebaseOnly/security.policy
@@ -21,8 +21,7 @@
".${/}-", "read,write,delete";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/useGetURLs/UseGetURLs.java b/jdk/test/java/rmi/server/RMIClassLoader/useGetURLs/UseGetURLs.java
index d80907e..c39b330 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/useGetURLs/UseGetURLs.java
+++ b/jdk/test/java/rmi/server/RMIClassLoader/useGetURLs/UseGetURLs.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/server/RMIClassLoader/useGetURLs/security.policy b/jdk/test/java/rmi/server/RMIClassLoader/useGetURLs/security.policy
index ec7d33b..632e365 100644
--- a/jdk/test/java/rmi/server/RMIClassLoader/useGetURLs/security.policy
+++ b/jdk/test/java/rmi/server/RMIClassLoader/useGetURLs/security.policy
@@ -16,8 +16,7 @@
permission java.io.FilePermission ".${/}-", "read,write,delete";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
};
diff --git a/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy b/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy
index ffc9b1e..32bad22 100644
--- a/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy
+++ b/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/activatable/security.policy
@@ -25,8 +25,7 @@
permission java.util.PropertyPermission "java.security.manager", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/security.policy b/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/security.policy
index 7567ae1..cf98118 100644
--- a/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/security.policy
+++ b/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/registry/security.policy
@@ -17,8 +17,7 @@
permission java.io.FilePermission "${java.home}${/}bin${/}java", "execute";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/security.policy b/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/security.policy
index d1b5073..efc7293 100644
--- a/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/security.policy
+++ b/jdk/test/java/rmi/server/RMISocketFactory/useSocketFactory/unicast/security.policy
@@ -17,8 +17,7 @@
permission java.io.FilePermission "${java.home}${/}bin${/}java", "execute";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/server/RemoteObject/verifyRemoteEquals/VerifyRemoteEquals.java b/jdk/test/java/rmi/server/RemoteObject/verifyRemoteEquals/VerifyRemoteEquals.java
index b89e362..5862113 100644
--- a/jdk/test/java/rmi/server/RemoteObject/verifyRemoteEquals/VerifyRemoteEquals.java
+++ b/jdk/test/java/rmi/server/RemoteObject/verifyRemoteEquals/VerifyRemoteEquals.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java b/jdk/test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java
index 523c3a0..c090aef 100644
--- a/jdk/test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java
+++ b/jdk/test/java/rmi/server/UnicastRemoteObject/changeHostName/ChangeHostName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java b/jdk/test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java
index eeb96a1..4e65d80 100644
--- a/jdk/test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java
+++ b/jdk/test/java/rmi/server/UnicastRemoteObject/exportObject/GcDuringExport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java b/jdk/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java
index a165dd8..9c0337b 100644
--- a/jdk/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java
+++ b/jdk/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java b/jdk/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java
index b72efa4..40ebf60 100644
--- a/jdk/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java
+++ b/jdk/test/java/rmi/server/UnicastRemoteObject/marshalAfterUnexport/MarshalAfterUnexport2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/test/java/rmi/server/Unmarshal/PrimitiveClasses.java b/jdk/test/java/rmi/server/Unmarshal/PrimitiveClasses.java
index b9dfb0c..7045ca3 100644
--- a/jdk/test/java/rmi/server/Unmarshal/PrimitiveClasses.java
+++ b/jdk/test/java/rmi/server/Unmarshal/PrimitiveClasses.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -24,7 +24,8 @@
/* @test
* @bug 4442373
* @summary Verify that RMI can successfully unmarshal Class objects for
- * primitive types.
+ * primitive types. This test does not affect VM global state,
+ * so othervm is not required.
* @run main PrimitiveClasses
*/
diff --git a/jdk/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshal.java b/jdk/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshal.java
index 97b7e78..c6929f4 100644
--- a/jdk/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshal.java
+++ b/jdk/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java b/jdk/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java
index 95dee53..a268aab 100644
--- a/jdk/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java
+++ b/jdk/test/java/rmi/server/Unmarshal/checkUnmarshalOnStopThread/CheckUnmarshalOnStopThread.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java b/jdk/test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java
index 0ae059b..75ac98d 100644
--- a/jdk/test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java
+++ b/jdk/test/java/rmi/server/Unreferenced/marshalledObjectGet/MarshalledObjectGet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/java/rmi/server/clientStackTrace/ClientStackTrace.java b/jdk/test/java/rmi/server/clientStackTrace/ClientStackTrace.java
index d685557..9ef39f1 100644
--- a/jdk/test/java/rmi/server/clientStackTrace/ClientStackTrace.java
+++ b/jdk/test/java/rmi/server/clientStackTrace/ClientStackTrace.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
diff --git a/jdk/test/java/rmi/server/getRemoteClass/GetRemoteClass.java b/jdk/test/java/rmi/server/getRemoteClass/GetRemoteClass.java
index b6f21b4..8757bd1 100644
--- a/jdk/test/java/rmi/server/getRemoteClass/GetRemoteClass.java
+++ b/jdk/test/java/rmi/server/getRemoteClass/GetRemoteClass.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/server/serverStackTrace/ServerStackTrace.java b/jdk/test/java/rmi/server/serverStackTrace/ServerStackTrace.java
index 43504af..3be197f 100644
--- a/jdk/test/java/rmi/server/serverStackTrace/ServerStackTrace.java
+++ b/jdk/test/java/rmi/server/serverStackTrace/ServerStackTrace.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/server/serverStackTrace/SuppressStackTraces.java b/jdk/test/java/rmi/server/serverStackTrace/SuppressStackTraces.java
index 9606d12..0d100d9 100644
--- a/jdk/test/java/rmi/server/serverStackTrace/SuppressStackTraces.java
+++ b/jdk/test/java/rmi/server/serverStackTrace/SuppressStackTraces.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/rmi/server/useCustomRef/security.policy b/jdk/test/java/rmi/server/useCustomRef/security.policy
index 7be818a..4697584 100644
--- a/jdk/test/java/rmi/server/useCustomRef/security.policy
+++ b/jdk/test/java/rmi/server/useCustomRef/security.policy
@@ -17,8 +17,7 @@
permission java.util.PropertyPermission "package.restrict.access.sun.rmi", "read";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/testlibrary/ActivationLibrary.java b/jdk/test/java/rmi/testlibrary/ActivationLibrary.java
index fa6af60..b33a303 100644
--- a/jdk/test/java/rmi/testlibrary/ActivationLibrary.java
+++ b/jdk/test/java/rmi/testlibrary/ActivationLibrary.java
@@ -104,72 +104,6 @@
}
}
- /**
- * Simple method call to see if rmid is running.
- *
- * This method intentionally avoids performing a lookup on the
- * activation system.
- */
- public static boolean rmidRunning(int port) {
- int allowedNotReady = 50;
- int connectionRefusedExceptions = 0;
-
- /* We wait as much as a total of 7.5 secs trying to see Rmid running.
- * We do this by pausing steps of 100 milliseconds (so up to 75 steps),
- * right after trying to lookup and find RMID running in the other vm.
- */
- final long rmidWaitingStepTime = 100;
- for (int i = 0; i <= 74; i++) {
-
- try {
- LocateRegistry.getRegistry(port).lookup(SYSTEM_NAME);
- mesg("Activation System available after " +
- (i * rmidWaitingStepTime) + " milliseconds");
- return true;
-
- } catch (java.rmi.ConnectException e) {
- mesg("Remote connection refused after " +
- (i * rmidWaitingStepTime) + " milliseconds");
-
- // ignore connect exceptions until we decide rmid is not up
- if ((connectionRefusedExceptions ++) >= allowedNotReady) {
- return false;
- }
-
- } catch (java.rmi.NoSuchObjectException nsoe) {
- /* Activation System still unavailable.
- * Ignore this since we are just waiting for its availibility.
- * Just signal unavailibility.
- */
- mesg("Activation System still unavailable after more than " +
- (i * rmidWaitingStepTime) + " milliseconds");
-
- } catch (NotBoundException e) {
- return false;
-
- } catch (Exception e) {
- /* print out other types of exceptions as an FYI.
- * test should not fail as rmid is likely to be in an
- * undetermined state at this point.
- */
- mesg("caught an exception trying to" +
- " start rmid, last exception was: " +
- e.getMessage());
- e.printStackTrace();
- }
-
- // Waiting for another 100 milliseconds.
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- mesg("Thread interrupted while checking if Activation System is running. Exiting check");
- return false;
- }
- }
- return false;
- }
-
/** cleanup after rmid */
public static void rmidCleanup(RMID rmid) {
if (rmid != null) {
@@ -217,7 +151,7 @@
}
public void run() {
- if (ActivationLibrary.rmidRunning(port)) {
+ if (RMID.lookupSystem(port) != null) {
rmid.destroy();
synchronized (this) {
// flag that the test was able to shutdown rmid
diff --git a/jdk/test/java/rmi/testlibrary/JavaVM.java b/jdk/test/java/rmi/testlibrary/JavaVM.java
index 3468056..b7137a8 100644
--- a/jdk/test/java/rmi/testlibrary/JavaVM.java
+++ b/jdk/test/java/rmi/testlibrary/JavaVM.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -26,6 +26,7 @@
import java.io.OutputStream;
import java.util.Arrays;
import java.util.StringTokenizer;
+import java.util.concurrent.TimeoutException;
/**
* RMI regression test utility class that uses Runtime.exec to spawn a
@@ -123,7 +124,11 @@
addOptions(new String[] { option });
}
- addOptions(new String[] { getCodeCoverageOptions() });
+ addOptions(new String[] {
+ getCodeCoverageOptions(),
+ TestParams.testJavaOpts,
+ TestParams.testVmOpts
+ });
StringTokenizer optionsTokenizer = new StringTokenizer(options);
StringTokenizer argsTokenizer = new StringTokenizer(args);
@@ -173,6 +178,40 @@
}
/**
+ * Causes the current thread to wait the vm process to exit, if necessary,
+ * wait until the vm process has terminated, or the specified waiting time
+ * elapses. Release allocated input/output after vm process has terminated.
+ * @param timeout the maximum milliseconds to wait.
+ * @return exit value for vm process.
+ * @throws InterruptedException if the current thread is interrupted
+ * while waiting.
+ * @throws TimeoutException if subprocess does not end after timeout
+ * milliseconds passed
+ */
+ public int waitFor(long timeout)
+ throws InterruptedException, TimeoutException {
+ if (vm == null)
+ throw new IllegalStateException("can't wait for JavaVM that isn't running");
+ long startTime = System.currentTimeMillis();
+ long rem = timeout;
+
+ do {
+ try {
+ int status = vm.exitValue();
+ outPipe.join();
+ errPipe.join();
+ return status;
+ } catch (IllegalThreadStateException ex) {
+ if (rem > 0) {
+ Thread.sleep(Math.min(rem, 100));
+ }
+ }
+ rem = timeout - (System.currentTimeMillis() - startTime);
+ } while (rem > 0);
+ throw new TimeoutException();
+ }
+
+ /**
* Starts the subprocess, waits for it to exit, and returns its exit status.
*/
public int execute() throws IOException, InterruptedException {
diff --git a/jdk/test/java/rmi/testlibrary/RMID.java b/jdk/test/java/rmi/testlibrary/RMID.java
index 7688a1b..bdd8c82 100644
--- a/jdk/test/java/rmi/testlibrary/RMID.java
+++ b/jdk/test/java/rmi/testlibrary/RMID.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -28,6 +28,7 @@
import java.io.*;
import java.rmi.*;
import java.rmi.activation.*;
+import java.rmi.registry.*;
/**
* Utility class that creates an instance of rmid with a policy
@@ -38,6 +39,9 @@
*/
public class RMID extends JavaVM {
+ private static final String SYSTEM_NAME = ActivationSystem.class.getName();
+ // "java.rmi.activation.ActivationSystem"
+
public static String MANAGER_OPTION="-Djava.security.manager=";
/** Test port for rmid */
@@ -113,6 +117,18 @@
args += " -C-Dtest.classes=" + TestParams.testClasses;
}
+ if (!TestParams.testJavaOpts.equals("")) {
+ for (String a : TestParams.testJavaOpts.split(" +")) {
+ args += " -C" + a;
+ }
+ }
+
+ if (!TestParams.testVmOpts.equals("")) {
+ for (String a : TestParams.testVmOpts.split(" +")) {
+ args += " -C" + a;
+ }
+ }
+
args += " -C-Djava.rmi.server.useCodebaseOnly=false ";
args += " " + getCodeCoverageArgs();
@@ -207,6 +223,22 @@
start(60000);
}
+ /**
+ * Looks up the activation system in the registry on the given port,
+ * returning its stub, or null if it's not present. This method differs from
+ * ActivationGroup.getSystem() because this method looks on a specific port
+ * instead of using the java.rmi.activation.port property like
+ * ActivationGroup.getSystem() does. This method also returns null instead
+ * of throwing exceptions.
+ */
+ public static ActivationSystem lookupSystem(int port) {
+ try {
+ return (ActivationSystem)LocateRegistry.getRegistry(port).lookup(SYSTEM_NAME);
+ } catch (RemoteException | NotBoundException ex) {
+ return null;
+ }
+ }
+
public void start(long waitTime) throws IOException {
// if rmid is already running, then the test will fail with
@@ -238,8 +270,8 @@
waitTime -= rmidStartSleepTime;
// Checking if rmid is present
- if (ActivationLibrary.rmidRunning(port)) {
- /**
+ if (lookupSystem(port) != null) {
+ /*
* We need to set the java.rmi.activation.port value as the
* activation system will use the property to determine the
* port #. The activation system will use this value if set.
@@ -249,11 +281,11 @@
System.setProperty("java.rmi.activation.port", Integer.toString(port));
mesg("finished starting rmid.");
return;
+ } else {
+ if (waitTime > 0) {
+ mesg("rmid not started, will retry for " + waitTime + "ms");
+ }
}
- else {
- mesg("rmid still not started");
- }
-
} while (waitTime > 0);
TestLibrary.bomb("start rmid failed... giving up", null);
}
@@ -274,24 +306,13 @@
public static void shutdown(int port) {
try {
- ActivationSystem system = null;
-
- try {
- mesg("getting a reference to the activation system");
- system = (ActivationSystem) Naming.lookup("//:" +
- port +
- "/java.rmi.activation.ActivationSystem");
- mesg("obtained a reference to the activation system");
- } catch (RemoteException re) {
- mesg("could not contact registry while trying to shutdown activation system");
- } catch (java.net.MalformedURLException mue) {
- }
+ ActivationSystem system = lookupSystem(port);
if (system == null) {
TestLibrary.bomb("reference to the activation system was null");
}
- system.shutdown();
+ system.shutdown();
} catch (RemoteException re) {
mesg("shutting down the activation daemon failed");
} catch (Exception e) {
diff --git a/jdk/test/java/rmi/testlibrary/TestLibrary.java b/jdk/test/java/rmi/testlibrary/TestLibrary.java
index 8c28b89..7165c67 100644
--- a/jdk/test/java/rmi/testlibrary/TestLibrary.java
+++ b/jdk/test/java/rmi/testlibrary/TestLibrary.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -154,15 +154,19 @@
return false;
}
- public static String getProperty(String property, String defaultVal) {
- final String prop = property;
- final String def = defaultVal;
- return java.security.AccessController.doPrivileged(
- new java.security.PrivilegedAction<String>() {
- public String run() {
- return System.getProperty(prop, def);
- }
- });
+ public static String getProperty(final String property,
+ final String defaultVal) {
+ try {
+ return java.security.AccessController.doPrivileged(
+ new java.security.PrivilegedAction<String>() {
+ public String run() {
+ return System.getProperty(property, defaultVal);
+ }
+ });
+ } catch (Exception ex) {
+ bomb("Exception getting property " + property, ex);
+ throw new AssertionError("this should be unreachable");
+ }
}
/**
diff --git a/jdk/test/java/rmi/testlibrary/TestParams.java b/jdk/test/java/rmi/testlibrary/TestParams.java
index 44b0044..1d98e17 100644
--- a/jdk/test/java/rmi/testlibrary/TestParams.java
+++ b/jdk/test/java/rmi/testlibrary/TestParams.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -32,55 +32,49 @@
public class TestParams {
/** variables that hold value property values */
- public static String testSrc = null;
- public static String testClasses = null;
+ public static final String testSrc;
+ public static final String testClasses;
- /** name of default security policy */
- public static String defaultPolicy = null;
+ /** name of default security policy for test JVM */
+ public static final String defaultPolicy;
/** name of default security policy for RMID */
- public static String defaultRmidPolicy = null;
+ public static final String defaultRmidPolicy;
/** name of default security policy for activation groups */
- public static String defaultGroupPolicy = null;
+ public static final String defaultGroupPolicy;
/** name of default security manager */
- public static String defaultSecurityManager =
- "java.rmi.RMISecurityManager";
+ public static final String defaultSecurityManager;
+ /** VM options string */
+ public static final String testVmOpts;
+
+ /** Java options string */
+ public static final String testJavaOpts;
/* Initalize commonly used strings */
static {
- try {
- testSrc = TestLibrary.
- getProperty("test.src", ".");
- testClasses = TestLibrary.
- getProperty("test.classes", ".");
+ testSrc = TestLibrary.getProperty("test.src", ".");
+ testClasses = TestLibrary.getProperty("test.classes", ".");
- // if policy file already set use it
- defaultPolicy = TestLibrary.
- getProperty("java.security.policy",
- defaultPolicy);
- if (defaultPolicy == null) {
- defaultPolicy = testSrc + File.separatorChar +
- "security.policy";
- }
-
- // if manager prop set use it
- defaultSecurityManager = TestLibrary.
- getProperty("java.security.manager",
- defaultSecurityManager);
-
- defaultRmidPolicy =
- testSrc + File.separatorChar + "rmid.security.policy";
-
- defaultGroupPolicy = testSrc +
- File.separatorChar + "group.security.policy";
-
- } catch (SecurityException se) {
- TestLibrary.bomb("Security exception received" +
- " during test initialization:",
- se);
+ String dp = TestLibrary.getProperty("java.security.policy", null);
+ if (dp == null) {
+ dp = testSrc + File.separatorChar + "security.policy";
}
+ defaultPolicy = dp;
+
+ defaultRmidPolicy =
+ testSrc + File.separatorChar + "rmid.security.policy";
+
+ defaultGroupPolicy =
+ testSrc + File.separatorChar + "group.security.policy";
+
+ defaultSecurityManager = TestLibrary.getProperty(
+ "java.security.manager", "java.lang.SecurityManager");
+
+ testVmOpts = TestLibrary.getProperty("test.vm.opts", "");
+
+ testJavaOpts = TestLibrary.getProperty("test.java.opts", "");
}
}
diff --git a/jdk/test/java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java b/jdk/test/java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java
index b4d86c4..2043e1c 100644
--- a/jdk/test/java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java
+++ b/jdk/test/java/rmi/transport/acceptLoop/CloseServerSocketOnTermination.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/java/rmi/transport/checkLeaseInfoLeak/security.policy b/jdk/test/java/rmi/transport/checkLeaseInfoLeak/security.policy
index cc5811f..b0d9440 100644
--- a/jdk/test/java/rmi/transport/checkLeaseInfoLeak/security.policy
+++ b/jdk/test/java/rmi/transport/checkLeaseInfoLeak/security.policy
@@ -14,8 +14,7 @@
permission java.io.FilePermission "${java.home}${/}bin${/}java", "execute";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java b/jdk/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
index 2e990df..756924a 100644
--- a/jdk/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
+++ b/jdk/test/java/rmi/transport/closeServerSocket/CloseServerSocket.java
@@ -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
diff --git a/jdk/test/java/rmi/transport/dgcDeadLock/security.policy b/jdk/test/java/rmi/transport/dgcDeadLock/security.policy
index f7dfdf7..3a8acd6 100644
--- a/jdk/test/java/rmi/transport/dgcDeadLock/security.policy
+++ b/jdk/test/java/rmi/transport/dgcDeadLock/security.policy
@@ -19,8 +19,7 @@
permission java.io.FilePermission "${java.home}${/}bin${/}java", "execute";
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/java/rmi/transport/readTimeout/ReadTimeoutTest.java b/jdk/test/java/rmi/transport/readTimeout/ReadTimeoutTest.java
index 8363a96..702b879 100644
--- a/jdk/test/java/rmi/transport/readTimeout/ReadTimeoutTest.java
+++ b/jdk/test/java/rmi/transport/readTimeout/ReadTimeoutTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java b/jdk/test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java
index ac48077..05be7b6 100644
--- a/jdk/test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java
+++ b/jdk/test/java/rmi/transport/runtimeThreadInheritanceLeak/RuntimeThreadInheritanceLeak.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/java/security/Principal/Implies.java b/jdk/test/java/security/Principal/Implies.java
index d3cfd24..c679c27 100644
--- a/jdk/test/java/security/Principal/Implies.java
+++ b/jdk/test/java/security/Principal/Implies.java
@@ -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
diff --git a/jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh b/jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh
index 3794cd4..0dc65cf 100644
--- a/jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh
+++ b/jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/test/java/security/Security/signedfirst/Dyn.sh b/jdk/test/java/security/Security/signedfirst/Dyn.sh
index 019a2f4..d6aa6a0 100644
--- a/jdk/test/java/security/Security/signedfirst/Dyn.sh
+++ b/jdk/test/java/security/Security/signedfirst/Dyn.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2002, 2012, 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
diff --git a/jdk/test/java/security/Security/signedfirst/Static.sh b/jdk/test/java/security/Security/signedfirst/Static.sh
index b22ca05..19c81de 100644
--- a/jdk/test/java/security/Security/signedfirst/Static.sh
+++ b/jdk/test/java/security/Security/signedfirst/Static.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2002, 2012, 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
diff --git a/jdk/test/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java b/jdk/test/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java
new file mode 100644
index 0000000..e8ab65d
--- /dev/null
+++ b/jdk/test/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 2014, 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 8025708
+ * @summary make sure a PKIX CertPathBuilder can build a path when an
+ * intermediate CA certificate contains an AKI extension with a key
+ * identifier and no serial number and the end-entity certificate contains
+ * an AKI extension with both a key identifier and a serial number.
+ */
+
+import java.io.ByteArrayInputStream;
+import java.security.cert.*;
+import java.util.ArrayList;
+import java.util.Base64;
+import java.util.Collections;
+
+public class AKISerialNumber {
+
+ private static final String ROOT_CERT =
+ "MIICfTCCAeagAwIBAgIBATANBgkqhkiG9w0BAQUFADB3MQ0wCwYDVQQDEwRSb290\n" +
+ "MRYwFAYDVQQLEw1UZXN0IE9yZyBVbml0MREwDwYDVQQKEwhUZXN0IE9yZzEWMBQG\n" +
+ "A1UEBxMNVGVzdCBMb2NhbGl0eTEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czELMAkG\n" +
+ "A1UEBhMCVVMwHhcNMTQwMjAxMDUwMDAwWhcNMjQwMjAxMDUwMDAwWjB3MQ0wCwYD\n" +
+ "VQQDEwRSb290MRYwFAYDVQQLEw1UZXN0IE9yZyBVbml0MREwDwYDVQQKEwhUZXN0\n" +
+ "IE9yZzEWMBQGA1UEBxMNVGVzdCBMb2NhbGl0eTEWMBQGA1UECBMNTWFzc2FjaHVz\n" +
+ "ZXR0czELMAkGA1UEBhMCVVMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJvL\n" +
+ "cZu6Rzf9IrduEDjJxEFv5uBvUNMlIAph7NhfmFH9puPW3Ksci4a5yTCzxI9VeVf3\n" +
+ "oYZ/UrZdF+mNZmS23RUh71X5tjMO+xew196M1xNpCRLbjcZ6i4tNdZYkdRIe8ejN\n" +
+ "sbBoD7OAvPbQqTygeG4jYjK6ODofSrba3BndNoFxAgMBAAGjGTAXMBUGA1UdEwEB\n" +
+ "/wQLMAkBAf8CBH////8wDQYJKoZIhvcNAQEFBQADgYEATvCqn69pNHv0zLiZAXk7\n" +
+ "3AKwAoza0wa+1S2rVuZGfBWbV7CxmBHbgcDDbU7/I8pQVkCwOHNkVFnBgNpMuAvU\n" +
+ "aDyrHSNS/av5d1yk5WAuGX2B9mSwZdhnAvtz2fsV1q9NptdF54EkIiKtQQmTGnr9\n" +
+ "TID8CFEk/qje+AB272B1UJw=\n";
+
+ /**
+ * This certificate contains an AuthorityKeyIdentifier with only the
+ * keyIdentifier field filled in.
+ */
+ private static final String INT_CERT_WITH_KEYID_AKI =
+ "MIICqTCCAhKgAwIBAgIBAjANBgkqhkiG9w0BAQUFADB3MQ0wCwYDVQQDEwRSb290\n" +
+ "MRYwFAYDVQQLEw1UZXN0IE9yZyBVbml0MREwDwYDVQQKEwhUZXN0IE9yZzEWMBQG\n" +
+ "A1UEBxMNVGVzdCBMb2NhbGl0eTEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czELMAkG\n" +
+ "A1UEBhMCVVMwHhcNMTQwMjAxMDUwMDAwWhcNMjQwMjAxMDUwMDAwWjCBhDEaMBgG\n" +
+ "A1UEAxMRSW50ZXJtZWRpYXRlIENBIDIxFjAUBgNVBAsTDVRlc3QgT3JnIFVuaXQx\n" +
+ "ETAPBgNVBAoTCFRlc3QgT3JnMRYwFAYDVQQHEw1UZXN0IExvY2FsaXR5MRYwFAYD\n" +
+ "VQQIEw1NYXNzYWNodXNldHRzMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0BAQEF\n" +
+ "AAOBjQAwgYkCgYEAwKTZekCqb9F9T54s2IXjkQbmLIjQamMpkUlZNrpjjNq9CpTT\n" +
+ "POkfxv2UPwzTz3Ij4XFL/kJFBLm8NUOsS5xPJ62pGoZBPw9R0iMTsTce+Fpukqnr\n" +
+ "I+8jTRaAvr0tR3pqrE6uHKg7dWYN2SsWesDia/LHhwEN38yyWtSuTTLo4hcCAwEA\n" +
+ "AaM3MDUwHwYDVR0jBBgwFoAU6gZP1pO8v7+i8gsFf1gWTf/j3PkwEgYDVR0TAQH/\n" +
+ "BAgwBgEB/wIBADANBgkqhkiG9w0BAQUFAAOBgQAQxeQruav4AqQM4gmEfrHr5hOq\n" +
+ "mB2CNJ1ZqVfpDZ8GHijncKTpjNoXzzQtV23Ge+39JHOVBNWtk+aghB3iu6xGq7Qn\n" +
+ "HlBhg9meqHFqd3igDDD/jhABL2/bEo/M9rv6saYWDFZ8nCIEE6iTLTpRRko4W2Xb\n" +
+ "DyzMzMsO1kPNrJaxRg==\n";
+
+ /**
+ * This certificate contains an AuthorityKeyIdentifier with all 3 fields
+ * (keyIdentifier, authorityCertIssuer, and authorityCertSerialNumber)
+ * filled in.
+ */
+ private static final String EE_CERT_WITH_FULL_AKI =
+ "MIIDLjCCApegAwIBAgIBAzANBgkqhkiG9w0BAQUFADCBhDEaMBgGA1UEAxMRSW50\n" +
+ "ZXJtZWRpYXRlIENBIDIxFjAUBgNVBAsTDVRlc3QgT3JnIFVuaXQxETAPBgNVBAoT\n" +
+ "CFRlc3QgT3JnMRYwFAYDVQQHEw1UZXN0IExvY2FsaXR5MRYwFAYDVQQIEw1NYXNz\n" +
+ "YWNodXNldHRzMQswCQYDVQQGEwJVUzAeFw0xNDAyMDEwNTAwMDBaFw0yNDAyMDEw\n" +
+ "NTAwMDBaMH0xEzARBgNVBAMTCkVuZCBFbnRpdHkxFjAUBgNVBAsTDVRlc3QgT3Jn\n" +
+ "IFVuaXQxETAPBgNVBAoTCFRlc3QgT3JnMRYwFAYDVQQHEw1UZXN0IExvY2FsaXR5\n" +
+ "MRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG\n" +
+ "9w0BAQEFAAOBjQAwgYkCgYEAqady46PdwlKHVP1iaP11CxVyL6cDlPjpwhHCcIUv\n" +
+ "nKHbzdamqmHebDcWVBNN/I0TLNCl3ga7n8KyygSN379fG7haU8SNjpy4IDAXM0/x\n" +
+ "mwTWNTbKfJEkSoiqx1WUy2JTzRUMhgYPguQNECPxBXAdQrthZ7wQosv6Ro2ySP9O\n" +
+ "YqsCAwEAAaOBtTCBsjCBoQYDVR0jBIGZMIGWgBQdeoKxTvlTgW2KgprD69vgHV4X\n" +
+ "kKF7pHkwdzENMAsGA1UEAxMEUm9vdDEWMBQGA1UECxMNVGVzdCBPcmcgVW5pdDER\n" +
+ "MA8GA1UEChMIVGVzdCBPcmcxFjAUBgNVBAcTDVRlc3QgTG9jYWxpdHkxFjAUBgNV\n" +
+ "BAgTDU1hc3NhY2h1c2V0dHMxCzAJBgNVBAYTAlVTggECMAwGA1UdEwEB/wQCMAAw\n" +
+ "DQYJKoZIhvcNAQEFBQADgYEAuG4mM1nLF7STQWwmceELZEl49ntapH/RVoekknmd\n" +
+ "aNzcL4XQf6BTl8KFUXuThHaukQnGIzFbSZV0hrpSQ5fTN2cSZgD4Fji+HuNURmmd\n" +
+ "+Kayl0piHyO1FSbrty0TFhlVNvzKXjmMp6Jdn42KyGOSCoROQcvUWN6xkV3Hvrei\n" +
+ "0ZE=\n";
+
+ private static Base64.Decoder b64Decoder = Base64.getMimeDecoder();
+ private static CertificateFactory cf;
+
+ public static void main(String[] args) throws Exception {
+
+ cf = CertificateFactory.getInstance("X.509");
+
+ X509Certificate rootCert = getCertFromMimeEncoding(ROOT_CERT);
+ TrustAnchor anchor = new TrustAnchor(rootCert, null);
+
+ X509Certificate eeCert = getCertFromMimeEncoding(EE_CERT_WITH_FULL_AKI);
+ X509Certificate intCert = getCertFromMimeEncoding(INT_CERT_WITH_KEYID_AKI);
+
+ X509CertSelector sel = new X509CertSelector();
+ sel.setCertificate(eeCert);
+ PKIXBuilderParameters params = new PKIXBuilderParameters
+ (Collections.singleton(anchor), sel);
+ params.setRevocationEnabled(false);
+
+ ArrayList<X509Certificate> certs = new ArrayList<>();
+ certs.add(intCert);
+ certs.add(eeCert);
+ CollectionCertStoreParameters ccsp =
+ new CollectionCertStoreParameters(certs);
+ CertStore cs = CertStore.getInstance("Collection", ccsp);
+ params.addCertStore(cs);
+
+ CertPathBuilder cpb = CertPathBuilder.getInstance("PKIX");
+ CertPathBuilderResult res = cpb.build(params);
+ }
+
+ private static X509Certificate getCertFromMimeEncoding(String encoded)
+ throws CertificateException
+ {
+ byte[] bytes = b64Decoder.decode(encoded);
+ ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
+ return (X509Certificate)cf.generateCertificate(stream);
+ }
+}
diff --git a/jdk/test/java/security/cert/CertPathBuilder/selfIssued/generate.sh b/jdk/test/java/security/cert/CertPathBuilder/selfIssued/generate.sh
index 66016e2..97f0b61 100644
--- a/jdk/test/java/security/cert/CertPathBuilder/selfIssued/generate.sh
+++ b/jdk/test/java/security/cert/CertPathBuilder/selfIssued/generate.sh
@@ -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
diff --git a/jdk/test/java/security/cert/CertPathBuilder/targetConstraints/BuildEEBasicConstraints.java b/jdk/test/java/security/cert/CertPathBuilder/targetConstraints/BuildEEBasicConstraints.java
index c590f68..6be5562 100644
--- a/jdk/test/java/security/cert/CertPathBuilder/targetConstraints/BuildEEBasicConstraints.java
+++ b/jdk/test/java/security/cert/CertPathBuilder/targetConstraints/BuildEEBasicConstraints.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh b/jdk/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh
index 66016e2..97f0b61 100644
--- a/jdk/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh
+++ b/jdk/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh
@@ -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
diff --git a/jdk/test/java/security/cert/CertPathValidator/nameConstraints/generate.sh b/jdk/test/java/security/cert/CertPathValidator/nameConstraints/generate.sh
index 6704f75..d812965 100644
--- a/jdk/test/java/security/cert/CertPathValidator/nameConstraints/generate.sh
+++ b/jdk/test/java/security/cert/CertPathValidator/nameConstraints/generate.sh
@@ -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
diff --git a/jdk/test/java/security/cert/CertStore/NoLDAP.java b/jdk/test/java/security/cert/CertStore/NoLDAP.java
index cede90c..868411e 100644
--- a/jdk/test/java/security/cert/CertStore/NoLDAP.java
+++ b/jdk/test/java/security/cert/CertStore/NoLDAP.java
@@ -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
diff --git a/jdk/test/java/security/cert/CertificateFactory/slowstream.sh b/jdk/test/java/security/cert/CertificateFactory/slowstream.sh
index 4052697..7f26b1b 100644
--- a/jdk/test/java/security/cert/CertificateFactory/slowstream.sh
+++ b/jdk/test/java/security/cert/CertificateFactory/slowstream.sh
@@ -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
diff --git a/jdk/test/java/security/cert/CertificateRevokedException/Basic.java b/jdk/test/java/security/cert/CertificateRevokedException/Basic.java
index cdb4c87..3485aec 100644
--- a/jdk/test/java/security/cert/CertificateRevokedException/Basic.java
+++ b/jdk/test/java/security/cert/CertificateRevokedException/Basic.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/security/cert/pkix/policyChanges/TestPolicy.java b/jdk/test/java/security/cert/pkix/policyChanges/TestPolicy.java
index 567f551..a92eee2 100644
--- a/jdk/test/java/security/cert/pkix/policyChanges/TestPolicy.java
+++ b/jdk/test/java/security/cert/pkix/policyChanges/TestPolicy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/test/java/text/Bidi/BidiConformance.java b/jdk/test/java/text/Bidi/BidiConformance.java
index e6b5e5c..5485a05 100644
--- a/jdk/test/java/text/Bidi/BidiConformance.java
+++ b/jdk/test/java/text/Bidi/BidiConformance.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/java/text/Format/DecimalFormat/TieRoundingTest.java b/jdk/test/java/text/Format/DecimalFormat/TieRoundingTest.java
index fb460db..16f4817 100644
--- a/jdk/test/java/text/Format/DecimalFormat/TieRoundingTest.java
+++ b/jdk/test/java/text/Format/DecimalFormat/TieRoundingTest.java
@@ -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
diff --git a/jdk/test/java/time/test/java/time/format/TestZoneTextPrinterParser.java b/jdk/test/java/time/test/java/time/format/TestZoneTextPrinterParser.java
index e16cf7a..4021a14 100644
--- a/jdk/test/java/time/test/java/time/format/TestZoneTextPrinterParser.java
+++ b/jdk/test/java/time/test/java/time/format/TestZoneTextPrinterParser.java
@@ -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
diff --git a/jdk/test/java/time/test/java/util/TestFormatter.java b/jdk/test/java/time/test/java/util/TestFormatter.java
index ac183ba..67a73ce 100644
--- a/jdk/test/java/time/test/java/util/TestFormatter.java
+++ b/jdk/test/java/time/test/java/util/TestFormatter.java
@@ -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
diff --git a/jdk/test/java/util/Arrays/ParallelSorting.java b/jdk/test/java/util/Arrays/ParallelSorting.java
index dd9dcb3..0edf1d6 100644
--- a/jdk/test/java/util/Arrays/ParallelSorting.java
+++ b/jdk/test/java/util/Arrays/ParallelSorting.java
@@ -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
diff --git a/jdk/test/java/util/Base64/TestBase64.java b/jdk/test/java/util/Base64/TestBase64.java
index afa41b3..bbde587 100644
--- a/jdk/test/java/util/Base64/TestBase64.java
+++ b/jdk/test/java/util/Base64/TestBase64.java
@@ -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
diff --git a/jdk/test/java/util/Base64/TestBase64Golden.java b/jdk/test/java/util/Base64/TestBase64Golden.java
index bcee18c..0543ae8 100644
--- a/jdk/test/java/util/Base64/TestBase64Golden.java
+++ b/jdk/test/java/util/Base64/TestBase64Golden.java
@@ -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
diff --git a/jdk/test/java/util/Calendar/GenericTimeZoneNamesTest.sh b/jdk/test/java/util/Calendar/GenericTimeZoneNamesTest.sh
index 30d409c..bc80b3f 100644
--- a/jdk/test/java/util/Calendar/GenericTimeZoneNamesTest.sh
+++ b/jdk/test/java/util/Calendar/GenericTimeZoneNamesTest.sh
@@ -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
diff --git a/jdk/test/java/util/Calendar/NarrowNamesTest.sh b/jdk/test/java/util/Calendar/NarrowNamesTest.sh
index 15d1d70..3a0d3e1 100644
--- a/jdk/test/java/util/Calendar/NarrowNamesTest.sh
+++ b/jdk/test/java/util/Calendar/NarrowNamesTest.sh
@@ -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
diff --git a/jdk/test/java/util/Collection/CollectionDefaults.java b/jdk/test/java/util/Collection/CollectionDefaults.java
index 594b67a..bbfd330 100644
--- a/jdk/test/java/util/Collection/CollectionDefaults.java
+++ b/jdk/test/java/util/Collection/CollectionDefaults.java
@@ -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
diff --git a/jdk/test/java/util/Collection/MOAT.java b/jdk/test/java/util/Collection/MOAT.java
index ea53e5e..8891495 100644
--- a/jdk/test/java/util/Collection/MOAT.java
+++ b/jdk/test/java/util/Collection/MOAT.java
@@ -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
diff --git a/jdk/test/java/util/Collection/testlibrary/CollectionAsserts.java b/jdk/test/java/util/Collection/testlibrary/CollectionAsserts.java
index 575dc79..07ce056 100644
--- a/jdk/test/java/util/Collection/testlibrary/CollectionAsserts.java
+++ b/jdk/test/java/util/Collection/testlibrary/CollectionAsserts.java
@@ -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
diff --git a/jdk/test/java/util/Collection/testlibrary/CollectionSupplier.java b/jdk/test/java/util/Collection/testlibrary/CollectionSupplier.java
index 37b3e53..4a8b735 100644
--- a/jdk/test/java/util/Collection/testlibrary/CollectionSupplier.java
+++ b/jdk/test/java/util/Collection/testlibrary/CollectionSupplier.java
@@ -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
diff --git a/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractCollection.java b/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractCollection.java
index a22d3d7..e973029 100644
--- a/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractCollection.java
+++ b/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractCollection.java
@@ -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
diff --git a/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractList.java b/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractList.java
index fb2af52..740d892 100644
--- a/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractList.java
+++ b/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractList.java
@@ -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
diff --git a/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractSet.java b/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractSet.java
index 23661a3..1370db7 100644
--- a/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractSet.java
+++ b/jdk/test/java/util/Collection/testlibrary/ExtendsAbstractSet.java
@@ -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
diff --git a/jdk/test/java/util/Collections/CheckedIdentityMap.java b/jdk/test/java/util/Collections/CheckedIdentityMap.java
index 4c2e9d2..747a7c7 100644
--- a/jdk/test/java/util/Collections/CheckedIdentityMap.java
+++ b/jdk/test/java/util/Collections/CheckedIdentityMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/util/Collections/CheckedMapBash.java b/jdk/test/java/util/Collections/CheckedMapBash.java
index 880d35b..9a6aab1 100644
--- a/jdk/test/java/util/Collections/CheckedMapBash.java
+++ b/jdk/test/java/util/Collections/CheckedMapBash.java
@@ -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
diff --git a/jdk/test/java/util/Collections/CheckedSetBash.java b/jdk/test/java/util/Collections/CheckedSetBash.java
index 0d87cb1..462792c 100644
--- a/jdk/test/java/util/Collections/CheckedSetBash.java
+++ b/jdk/test/java/util/Collections/CheckedSetBash.java
@@ -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
diff --git a/jdk/test/java/util/Collections/EmptyCollectionSerialization.java b/jdk/test/java/util/Collections/EmptyCollectionSerialization.java
index 1369663..5b37a12 100644
--- a/jdk/test/java/util/Collections/EmptyCollectionSerialization.java
+++ b/jdk/test/java/util/Collections/EmptyCollectionSerialization.java
@@ -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
diff --git a/jdk/test/java/util/Collections/EmptyIterator.java b/jdk/test/java/util/Collections/EmptyIterator.java
index d10526f..2f22136 100644
--- a/jdk/test/java/util/Collections/EmptyIterator.java
+++ b/jdk/test/java/util/Collections/EmptyIterator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 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
diff --git a/jdk/test/java/util/Collections/ReverseOrder.java b/jdk/test/java/util/Collections/ReverseOrder.java
index 9831b57..23b8db8 100644
--- a/jdk/test/java/util/Collections/ReverseOrder.java
+++ b/jdk/test/java/util/Collections/ReverseOrder.java
@@ -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
diff --git a/jdk/test/java/util/Comparator/TypeTest.java b/jdk/test/java/util/Comparator/TypeTest.java
index 69ae983..b060004 100644
--- a/jdk/test/java/util/Comparator/TypeTest.java
+++ b/jdk/test/java/util/Comparator/TypeTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, 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,6 +24,7 @@
/**
* @test
* @summary Comparator API narrowing type test
+ * @bug 8009736 8033590
* @run testng TypeTest
*/
@@ -33,6 +34,8 @@
import java.util.Comparator;
import org.testng.annotations.Test;
+import static org.testng.Assert.assertTrue;
+
@Test(groups = "unit")
public class TypeTest {
static class Person {
@@ -66,6 +69,24 @@
}
}
+ static class Department {
+ Manager mgr;
+ String hr_code;
+
+ Department(Manager mgr, String hr) {
+ this.mgr = mgr;
+ this.hr_code = hr;
+ }
+
+ Manager getManager() {
+ return mgr;
+ }
+
+ String getHR() {
+ return hr_code;
+ }
+ }
+
static <T> void assertOrder(T o1, T o2, Comparator<? super T> cmp) {
if (cmp.compare(o1, o2) > 0) {
System.out.println("Fail!!");
@@ -75,6 +96,8 @@
}
}
+ // Type tests just to make sure the code can compile and build
+ // Not necessarily need a meaningful result
public void testOrder() {
Manager m1 = new Manager("Manager", 2, 2000);
Manager m2 = new Manager("Manager", 4, 1300);
@@ -93,4 +116,23 @@
Map<String, Integer> map = new TreeMap<>();
map.entrySet().stream().sorted(Map.Entry.comparingByKey(String.CASE_INSENSITIVE_ORDER));
}
+
+ public void testJDK8033590() {
+ Manager a = new Manager("John Doe", 1234, 16);
+ Manager b = new Manager("Jane Roe", 2468, 16);
+ Department da = new Department(a, "X");
+ Department db = new Department(b, "X");
+
+ Comparator<Department> cmp = Comparator.comparing(Department::getHR)
+ .thenComparing(Department::getManager, Employee.C);
+ assertTrue(cmp.compare(da, db) < 0);
+
+ cmp = Comparator.comparing(Department::getHR)
+ .thenComparing(Department::getManager, Manager.C);
+ assertTrue(cmp.compare(da, db) == 0);
+
+ cmp = Comparator.comparing(Department::getHR)
+ .thenComparing(Department::getManager, Person.C);
+ assertTrue(cmp.compare(da, db) > 0);
+ }
}
diff --git a/jdk/test/java/util/Formatter/Basic-X.java.template b/jdk/test/java/util/Formatter/Basic-X.java.template
index 813cf2d..2393cfa 100644
--- a/jdk/test/java/util/Formatter/Basic-X.java.template
+++ b/jdk/test/java/util/Formatter/Basic-X.java.template
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/test/java/util/Formatter/Basic.java b/jdk/test/java/util/Formatter/Basic.java
index 88b2110..9624def 100644
--- a/jdk/test/java/util/Formatter/Basic.java
+++ b/jdk/test/java/util/Formatter/Basic.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, 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
diff --git a/jdk/test/java/util/Formatter/Basic.sh b/jdk/test/java/util/Formatter/Basic.sh
index 0296d94..25bd5ba 100644
--- a/jdk/test/java/util/Formatter/Basic.sh
+++ b/jdk/test/java/util/Formatter/Basic.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/test/java/util/Formatter/BasicBigDecimal.java b/jdk/test/java/util/Formatter/BasicBigDecimal.java
index 9549441..a622e5a 100644
--- a/jdk/test/java/util/Formatter/BasicBigDecimal.java
+++ b/jdk/test/java/util/Formatter/BasicBigDecimal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/test/java/util/Formatter/BasicDouble.java b/jdk/test/java/util/Formatter/BasicDouble.java
index fa7bd1e..8c6b8e9 100644
--- a/jdk/test/java/util/Formatter/BasicDouble.java
+++ b/jdk/test/java/util/Formatter/BasicDouble.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/test/java/util/Formatter/BasicDoubleObject.java b/jdk/test/java/util/Formatter/BasicDoubleObject.java
index 674bf2b..8ecfc45 100644
--- a/jdk/test/java/util/Formatter/BasicDoubleObject.java
+++ b/jdk/test/java/util/Formatter/BasicDoubleObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/test/java/util/Formatter/BasicFloat.java b/jdk/test/java/util/Formatter/BasicFloat.java
index 7ed68c3..94eb867 100644
--- a/jdk/test/java/util/Formatter/BasicFloat.java
+++ b/jdk/test/java/util/Formatter/BasicFloat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/test/java/util/Formatter/BasicFloatObject.java b/jdk/test/java/util/Formatter/BasicFloatObject.java
index db77cef..5dd9c44 100644
--- a/jdk/test/java/util/Formatter/BasicFloatObject.java
+++ b/jdk/test/java/util/Formatter/BasicFloatObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, 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
diff --git a/jdk/test/java/util/Iterator/IteratorDefaults.java b/jdk/test/java/util/Iterator/IteratorDefaults.java
index 28b849a..7f6a232 100644
--- a/jdk/test/java/util/Iterator/IteratorDefaults.java
+++ b/jdk/test/java/util/Iterator/IteratorDefaults.java
@@ -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
diff --git a/jdk/test/java/util/LinkedHashMap/Basic.java b/jdk/test/java/util/LinkedHashMap/Basic.java
index 83ca434..7234d6c 100644
--- a/jdk/test/java/util/LinkedHashMap/Basic.java
+++ b/jdk/test/java/util/LinkedHashMap/Basic.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/java/util/List/ListDefaults.java b/jdk/test/java/util/List/ListDefaults.java
index 76734b4..8e36d5f 100644
--- a/jdk/test/java/util/List/ListDefaults.java
+++ b/jdk/test/java/util/List/ListDefaults.java
@@ -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
diff --git a/jdk/test/java/util/Locale/InternationalBAT.java b/jdk/test/java/util/Locale/InternationalBAT.java
index 9533272..bcaf624 100644
--- a/jdk/test/java/util/Locale/InternationalBAT.java
+++ b/jdk/test/java/util/Locale/InternationalBAT.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/util/Locale/LocaleEnhanceTest.java b/jdk/test/java/util/Locale/LocaleEnhanceTest.java
index 01b6c5e..afb88f8 100644
--- a/jdk/test/java/util/Locale/LocaleEnhanceTest.java
+++ b/jdk/test/java/util/Locale/LocaleEnhanceTest.java
@@ -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
diff --git a/jdk/test/java/util/Locale/LocaleProviders.java b/jdk/test/java/util/Locale/LocaleProviders.java
index 59fd4f1..fe7b708 100644
--- a/jdk/test/java/util/Locale/LocaleProviders.java
+++ b/jdk/test/java/util/Locale/LocaleProviders.java
@@ -68,6 +68,10 @@
bug8013903Test();
break;
+ case "bug8027289Test":
+ bug8027289Test(args[1]);
+ break;
+
default:
throw new RuntimeException("Test method '"+methodName+"' not found.");
}
@@ -232,4 +236,14 @@
}
}
}
+
+ static void bug8027289Test(String expectedCodePoint) {
+ char[] expectedSymbol = Character.toChars(Integer.valueOf(expectedCodePoint, 16));
+ NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.CHINA);
+ char formatted = nf.format(7000).charAt(0);
+ System.out.println("returned: " + formatted + ", expected: " + expectedSymbol[0]);
+ if (formatted != expectedSymbol[0]) {
+ throw new RuntimeException("Unexpected Chinese currency symbol. returned: " + formatted + ", expected: " + expectedSymbol[0]);
+ }
+ }
}
diff --git a/jdk/test/java/util/Locale/LocaleProviders.sh b/jdk/test/java/util/Locale/LocaleProviders.sh
index 58cd9c8..df3a75f 100644
--- a/jdk/test/java/util/Locale/LocaleProviders.sh
+++ b/jdk/test/java/util/Locale/LocaleProviders.sh
@@ -314,4 +314,22 @@
PARAM3=
runTest
+# testing 8027289 fix, if the platform format default is zh_CN
+# this assumes Windows' currency symbol for zh_CN is \u00A5, the yen
+# (yuan) sign.
+if [ "${DEFFMTLANG}" = "zh" ] && [ "${DEFFMTCTRY}" = "CN" ]; then
+ METHODNAME=bug8027289Test
+ PREFLIST=JRE,HOST
+ PARAM1=FFE5
+ PARAM2=
+ PARAM3=
+ runTest
+ METHODNAME=bug8027289Test
+ PREFLIST=HOST
+ PARAM1=00A5
+ PARAM2=
+ PARAM3=
+ runTest
+fi
+
exit $result
diff --git a/jdk/test/java/util/Locale/LocaleTestFmwk.java b/jdk/test/java/util/Locale/LocaleTestFmwk.java
index 29cce4f..68532d4 100644
--- a/jdk/test/java/util/Locale/LocaleTestFmwk.java
+++ b/jdk/test/java/util/Locale/LocaleTestFmwk.java
@@ -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
diff --git a/jdk/test/java/util/Locale/tools/EquivMapsGenerator.java b/jdk/test/java/util/Locale/tools/EquivMapsGenerator.java
index bb8294a..15e5fa9 100644
--- a/jdk/test/java/util/Locale/tools/EquivMapsGenerator.java
+++ b/jdk/test/java/util/Locale/tools/EquivMapsGenerator.java
@@ -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
diff --git a/jdk/test/java/util/Map/BasicSerialization.java b/jdk/test/java/util/Map/BasicSerialization.java
index cb229d1..d9e8728 100644
--- a/jdk/test/java/util/Map/BasicSerialization.java
+++ b/jdk/test/java/util/Map/BasicSerialization.java
@@ -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
diff --git a/jdk/test/java/util/Map/Collisions.java b/jdk/test/java/util/Map/Collisions.java
index 05e9e1f..1ec98fe 100644
--- a/jdk/test/java/util/Map/Collisions.java
+++ b/jdk/test/java/util/Map/Collisions.java
@@ -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
diff --git a/jdk/test/java/util/Map/EntryComparators.java b/jdk/test/java/util/Map/EntryComparators.java
index 631107e..abb663c 100644
--- a/jdk/test/java/util/Map/EntryComparators.java
+++ b/jdk/test/java/util/Map/EntryComparators.java
@@ -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
diff --git a/jdk/test/java/util/Map/LockStep.java b/jdk/test/java/util/Map/LockStep.java
index 2903c5a..35cf98b 100644
--- a/jdk/test/java/util/Map/LockStep.java
+++ b/jdk/test/java/util/Map/LockStep.java
@@ -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
diff --git a/jdk/test/java/util/NavigableMap/LockStep.java b/jdk/test/java/util/NavigableMap/LockStep.java
index 0b43d0a..adb8b19 100644
--- a/jdk/test/java/util/NavigableMap/LockStep.java
+++ b/jdk/test/java/util/NavigableMap/LockStep.java
@@ -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
diff --git a/jdk/test/java/util/PluggableLocale/BreakIteratorProviderTest.java b/jdk/test/java/util/PluggableLocale/BreakIteratorProviderTest.java
index 31ef767..754e3f7 100644
--- a/jdk/test/java/util/PluggableLocale/BreakIteratorProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/BreakIteratorProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/PluggableLocale/CollatorProviderTest.java b/jdk/test/java/util/PluggableLocale/CollatorProviderTest.java
index c82f6e4..10611d3 100644
--- a/jdk/test/java/util/PluggableLocale/CollatorProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/CollatorProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.java b/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
index b4cfaae..724b92b 100644
--- a/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/PluggableLocale/DateFormatProviderTest.java b/jdk/test/java/util/PluggableLocale/DateFormatProviderTest.java
index 31ced58..22e3411 100644
--- a/jdk/test/java/util/PluggableLocale/DateFormatProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/DateFormatProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java b/jdk/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java
index f7a89b0..553f00a 100644
--- a/jdk/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/DateFormatSymbolsProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java b/jdk/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java
index 6753590..af5a25e 100644
--- a/jdk/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/DecimalFormatSymbolsProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/PluggableLocale/LocaleNameProviderTest.java b/jdk/test/java/util/PluggableLocale/LocaleNameProviderTest.java
index c7ec9dcd..837a72d 100644
--- a/jdk/test/java/util/PluggableLocale/LocaleNameProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/LocaleNameProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/PluggableLocale/NumberFormatProviderTest.java b/jdk/test/java/util/PluggableLocale/NumberFormatProviderTest.java
index ecb45ad..68f4905 100644
--- a/jdk/test/java/util/PluggableLocale/NumberFormatProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/NumberFormatProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java b/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
index 29be59a..edd991b 100644
--- a/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/PriorityQueue/RemoveContains.java b/jdk/test/java/util/PriorityQueue/RemoveContains.java
index 66ae47e..4b5d5a9 100644
--- a/jdk/test/java/util/PriorityQueue/RemoveContains.java
+++ b/jdk/test/java/util/PriorityQueue/RemoveContains.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/java/util/ResourceBundle/Bug6299235Test.sh b/jdk/test/java/util/ResourceBundle/Bug6299235Test.sh
index d0eb2a2..7d1d256 100644
--- a/jdk/test/java/util/ResourceBundle/Bug6299235Test.sh
+++ b/jdk/test/java/util/ResourceBundle/Bug6299235Test.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/java/util/ResourceBundle/Control/MissingResourceCauseTest.sh b/jdk/test/java/util/ResourceBundle/Control/MissingResourceCauseTest.sh
index d23ada5..43dd984 100644
--- a/jdk/test/java/util/ResourceBundle/Control/MissingResourceCauseTest.sh
+++ b/jdk/test/java/util/ResourceBundle/Control/MissingResourceCauseTest.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 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
diff --git a/jdk/test/java/util/ResourceBundle/ResourceBundleTest.java b/jdk/test/java/util/ResourceBundle/ResourceBundleTest.java
index 215d92a..4a939fb 100644
--- a/jdk/test/java/util/ResourceBundle/ResourceBundleTest.java
+++ b/jdk/test/java/util/ResourceBundle/ResourceBundleTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/util/ServiceLoader/basic.sh b/jdk/test/java/util/ServiceLoader/basic.sh
index 2c1cd6f..697b2b0 100644
--- a/jdk/test/java/util/ServiceLoader/basic.sh
+++ b/jdk/test/java/util/ServiceLoader/basic.sh
@@ -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
diff --git a/jdk/test/java/util/TimeZone/Bug6912560.java b/jdk/test/java/util/TimeZone/Bug6912560.java
index b7c8921..d289e61 100644
--- a/jdk/test/java/util/TimeZone/Bug6912560.java
+++ b/jdk/test/java/util/TimeZone/Bug6912560.java
@@ -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
diff --git a/jdk/test/java/util/TimeZone/CLDRDisplayNamesTest.java b/jdk/test/java/util/TimeZone/CLDRDisplayNamesTest.java
index de1cd1d..283a667 100644
--- a/jdk/test/java/util/TimeZone/CLDRDisplayNamesTest.java
+++ b/jdk/test/java/util/TimeZone/CLDRDisplayNamesTest.java
@@ -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
diff --git a/jdk/test/java/util/TimeZone/ListTimeZones.java b/jdk/test/java/util/TimeZone/ListTimeZones.java
index 74652cd..7dd3094 100644
--- a/jdk/test/java/util/TimeZone/ListTimeZones.java
+++ b/jdk/test/java/util/TimeZone/ListTimeZones.java
@@ -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
diff --git a/jdk/test/java/util/TimeZone/OldIDMappingTest.java b/jdk/test/java/util/TimeZone/OldIDMappingTest.java
index 13fb606..9d27f43 100644
--- a/jdk/test/java/util/TimeZone/OldIDMappingTest.java
+++ b/jdk/test/java/util/TimeZone/OldIDMappingTest.java
@@ -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
diff --git a/jdk/test/java/util/TimeZone/OldIDMappingTest.sh b/jdk/test/java/util/TimeZone/OldIDMappingTest.sh
index f695822..96b5510 100644
--- a/jdk/test/java/util/TimeZone/OldIDMappingTest.sh
+++ b/jdk/test/java/util/TimeZone/OldIDMappingTest.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2003, 2008, 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
diff --git a/jdk/test/java/util/TimeZone/TzIDOldMapping.java b/jdk/test/java/util/TimeZone/TzIDOldMapping.java
index 4b78131..7bfcf04 100644
--- a/jdk/test/java/util/TimeZone/TzIDOldMapping.java
+++ b/jdk/test/java/util/TimeZone/TzIDOldMapping.java
@@ -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
diff --git a/jdk/test/java/util/TreeMap/Clone.java b/jdk/test/java/util/TreeMap/Clone.java
index aed33de..304d78a 100644
--- a/jdk/test/java/util/TreeMap/Clone.java
+++ b/jdk/test/java/util/TreeMap/Clone.java
@@ -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
diff --git a/jdk/test/java/util/concurrent/BlockingQueue/Interrupt.java b/jdk/test/java/util/concurrent/BlockingQueue/Interrupt.java
index d8d55d9..cdfd9e8 100644
--- a/jdk/test/java/util/concurrent/BlockingQueue/Interrupt.java
+++ b/jdk/test/java/util/concurrent/BlockingQueue/Interrupt.java
@@ -25,7 +25,6 @@
* @test
* @bug 6384064
* @summary Check proper handling of interrupts
- * @run main/othervm -XX:-UseVMInterruptibleIO Interrupt
* @author Martin Buchholz
*/
diff --git a/jdk/test/java/util/concurrent/Executors/PrivilegedCallables.java b/jdk/test/java/util/concurrent/Executors/PrivilegedCallables.java
index a77511e..3c4ff89 100644
--- a/jdk/test/java/util/concurrent/Executors/PrivilegedCallables.java
+++ b/jdk/test/java/util/concurrent/Executors/PrivilegedCallables.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/util/concurrent/FutureTask/Throw.java b/jdk/test/java/util/concurrent/FutureTask/Throw.java
index 7bc4427..a6c1f98 100644
--- a/jdk/test/java/util/concurrent/FutureTask/Throw.java
+++ b/jdk/test/java/util/concurrent/FutureTask/Throw.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java b/jdk/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java
index 47c2854..8a45bfc 100644
--- a/jdk/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java
+++ b/jdk/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
@@ -25,7 +25,6 @@
* @test
* @bug 6450200 6450205 6450207 6450211
* @summary Test proper handling of tasks that terminate abruptly
- * @run main/othervm -XX:-UseVMInterruptibleIO ThrowingTasks
* @author Martin Buchholz
*/
diff --git a/jdk/test/java/util/concurrent/atomic/AtomicReferenceTest.java b/jdk/test/java/util/concurrent/atomic/AtomicReferenceTest.java
index 4a455d9..d1a4fdd 100644
--- a/jdk/test/java/util/concurrent/atomic/AtomicReferenceTest.java
+++ b/jdk/test/java/util/concurrent/atomic/AtomicReferenceTest.java
@@ -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
diff --git a/jdk/test/java/util/concurrent/locks/Lock/FlakyMutex.java b/jdk/test/java/util/concurrent/locks/Lock/FlakyMutex.java
index 390f01d..59c9985 100644
--- a/jdk/test/java/util/concurrent/locks/Lock/FlakyMutex.java
+++ b/jdk/test/java/util/concurrent/locks/Lock/FlakyMutex.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/test/java/util/function/BinaryOperator/BasicTest.java b/jdk/test/java/util/function/BinaryOperator/BasicTest.java
index 0c37a9c..3d3beb2 100644
--- a/jdk/test/java/util/function/BinaryOperator/BasicTest.java
+++ b/jdk/test/java/util/function/BinaryOperator/BasicTest.java
@@ -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
diff --git a/jdk/test/java/util/jar/TestExtra.java b/jdk/test/java/util/jar/TestExtra.java
index 876149b..e72e3e3 100644
--- a/jdk/test/java/util/jar/TestExtra.java
+++ b/jdk/test/java/util/jar/TestExtra.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/test/java/util/logging/CheckLockLocationTest.java b/jdk/test/java/util/logging/CheckLockLocationTest.java
index 5f3a3a8..e482d3e 100644
--- a/jdk/test/java/util/logging/CheckLockLocationTest.java
+++ b/jdk/test/java/util/logging/CheckLockLocationTest.java
@@ -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
diff --git a/jdk/test/java/util/logging/LoggerSupplierAPIsTest.java b/jdk/test/java/util/logging/LoggerSupplierAPIsTest.java
index 4333ba1..1a32764 100644
--- a/jdk/test/java/util/logging/LoggerSupplierAPIsTest.java
+++ b/jdk/test/java/util/logging/LoggerSupplierAPIsTest.java
@@ -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
diff --git a/jdk/test/java/util/logging/ParentLoggersTest.java b/jdk/test/java/util/logging/ParentLoggersTest.java
index eba2694..66e8789 100644
--- a/jdk/test/java/util/logging/ParentLoggersTest.java
+++ b/jdk/test/java/util/logging/ParentLoggersTest.java
@@ -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
diff --git a/jdk/test/java/util/logging/Reflect.java b/jdk/test/java/util/logging/Reflect.java
index 393868f..e743154 100644
--- a/jdk/test/java/util/logging/Reflect.java
+++ b/jdk/test/java/util/logging/Reflect.java
@@ -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
diff --git a/jdk/test/java/util/logging/TestGetLoggerNPE.java b/jdk/test/java/util/logging/TestGetLoggerNPE.java
new file mode 100644
index 0000000..55ed6e0
--- /dev/null
+++ b/jdk/test/java/util/logging/TestGetLoggerNPE.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2013, 2014, 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.
+ */
+import java.io.PrintStream;
+import java.security.Permission;
+import java.security.Policy;
+import java.security.ProtectionDomain;
+import java.util.logging.LogManager;
+import java.util.logging.Logger;
+import sun.misc.JavaAWTAccess;
+import sun.misc.SharedSecrets;
+
+/*
+ * @test
+ * @bug 8025512
+ *
+ * @summary NPE with logging while launching webstart
+ *
+ * @build TestGetLoggerNPE
+ * @run main/othervm TestGetLoggerNPE getLogger
+ * @run main/othervm TestGetLoggerNPE getLogManager
+ */
+public class TestGetLoggerNPE {
+ static volatile Throwable thrown = null;
+ public static void main(String[] args) throws Exception {
+ final String testCase = args.length == 0 ? "getLogger" : args[0];
+ final JavaAWTAccessStub access = new JavaAWTAccessStub();
+ SharedSecrets.setJavaAWTAccess(access);
+ final ThreadGroup tg = new ThreadGroup("TestGroup");
+ Thread t = new Thread(tg, "test") {
+ public void run() {
+ try {
+ access.setContext(Context.ONE);
+ final PrintStream out = System.out;
+ System.setOut(null);
+ try {
+ if ("getLogger".equals(testCase)) {
+ Logger.getLogger("sun.plugin");
+ } else {
+ LogManager.getLogManager();
+ }
+ } finally {
+ System.setOut(out);
+ }
+
+ System.out.println(Logger.global);
+ } catch (Throwable x) {
+ x.printStackTrace();
+ thrown = x;
+ }
+ }
+ };
+ Policy.setPolicy(new Policy() {
+ public boolean implies(ProtectionDomain domain,
+ Permission permission) {
+ return true; // all permissions
+ }
+ });
+ System.setSecurityManager(new SecurityManager());
+ t.start();
+ t.join();
+ if (thrown == null) {
+ System.out.println("PASSED: " + testCase);
+ } else {
+ System.err.println("FAILED: " + testCase);
+ throw new Error("Test failed: " + testCase + " - " + thrown, thrown);
+ }
+
+ }
+
+ static enum Context { ONE, TWO };
+
+ static final class JavaAWTAccessStub implements JavaAWTAccess {
+ private static final InheritableThreadLocal<Context> context = new InheritableThreadLocal<>();
+
+
+ public void setContext(Context context) {
+ JavaAWTAccessStub.context.set(context);
+ }
+
+ @Override
+ public Object getAppletContext() {
+ return context.get();
+ }
+
+ }
+
+}
diff --git a/jdk/test/java/util/prefs/AddNodeChangeListener.java b/jdk/test/java/util/prefs/AddNodeChangeListener.java
index 56e6c4c..9753277 100644
--- a/jdk/test/java/util/prefs/AddNodeChangeListener.java
+++ b/jdk/test/java/util/prefs/AddNodeChangeListener.java
@@ -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
diff --git a/jdk/test/java/util/prefs/CheckUserPrefFirst.java b/jdk/test/java/util/prefs/CheckUserPrefFirst.java
index 48f9c3e..768ea81 100644
--- a/jdk/test/java/util/prefs/CheckUserPrefFirst.java
+++ b/jdk/test/java/util/prefs/CheckUserPrefFirst.java
@@ -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
diff --git a/jdk/test/java/util/prefs/CheckUserPrefLater.java b/jdk/test/java/util/prefs/CheckUserPrefLater.java
index 03272c7..88a0637 100644
--- a/jdk/test/java/util/prefs/CheckUserPrefLater.java
+++ b/jdk/test/java/util/prefs/CheckUserPrefLater.java
@@ -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
diff --git a/jdk/test/java/util/prefs/CommentsInXml.java b/jdk/test/java/util/prefs/CommentsInXml.java
index 47011af..2908f99 100644
--- a/jdk/test/java/util/prefs/CommentsInXml.java
+++ b/jdk/test/java/util/prefs/CommentsInXml.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/java/util/prefs/ConflictInFlush.java b/jdk/test/java/util/prefs/ConflictInFlush.java
index 1f13ca7..e65e505 100644
--- a/jdk/test/java/util/prefs/ConflictInFlush.java
+++ b/jdk/test/java/util/prefs/ConflictInFlush.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/java/util/prefs/ExportNode.java b/jdk/test/java/util/prefs/ExportNode.java
index 601b189..3ba815e 100644
--- a/jdk/test/java/util/prefs/ExportNode.java
+++ b/jdk/test/java/util/prefs/ExportNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/java/util/prefs/ExportSubtree.java b/jdk/test/java/util/prefs/ExportSubtree.java
index f1e632c..c26e578 100644
--- a/jdk/test/java/util/prefs/ExportSubtree.java
+++ b/jdk/test/java/util/prefs/ExportSubtree.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/java/util/prefs/RemoveReadOnlyNode.java b/jdk/test/java/util/prefs/RemoveReadOnlyNode.java
index ca7684f..7851527 100644
--- a/jdk/test/java/util/prefs/RemoveReadOnlyNode.java
+++ b/jdk/test/java/util/prefs/RemoveReadOnlyNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/java/util/prefs/RemoveUnregedListener.java b/jdk/test/java/util/prefs/RemoveUnregedListener.java
index 126a7d7..6773009 100644
--- a/jdk/test/java/util/prefs/RemoveUnregedListener.java
+++ b/jdk/test/java/util/prefs/RemoveUnregedListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/java/util/regex/POSIX_Unicode.java b/jdk/test/java/util/regex/POSIX_Unicode.java
index 817e445..ea5ee39 100644
--- a/jdk/test/java/util/regex/POSIX_Unicode.java
+++ b/jdk/test/java/util/regex/POSIX_Unicode.java
@@ -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
diff --git a/jdk/test/java/util/regex/RegExTest.java b/jdk/test/java/util/regex/RegExTest.java
index da20461..cd6abd9 100644
--- a/jdk/test/java/util/regex/RegExTest.java
+++ b/jdk/test/java/util/regex/RegExTest.java
@@ -32,7 +32,7 @@
* 6358731 6178785 6284152 6231989 6497148 6486934 6233084 6504326 6635133
* 6350801 6676425 6878475 6919132 6931676 6948903 6990617 7014645 7039066
* 7067045 7014640 7189363 8007395 8013252 8013254 8012646 8023647 6559590
- * 8027645
+ * 8027645 8035076
*/
import java.util.regex.*;
diff --git a/jdk/test/java/util/spi/ResourceBundleControlProvider/providersrc/UserControlProvider.java b/jdk/test/java/util/spi/ResourceBundleControlProvider/providersrc/UserControlProvider.java
index 5145bf6..fdaae6d 100644
--- a/jdk/test/java/util/spi/ResourceBundleControlProvider/providersrc/UserControlProvider.java
+++ b/jdk/test/java/util/spi/ResourceBundleControlProvider/providersrc/UserControlProvider.java
@@ -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
diff --git a/jdk/test/java/util/stream/bootlib/java/util/stream/LambdaTestHelpers.java b/jdk/test/java/util/stream/bootlib/java/util/stream/LambdaTestHelpers.java
index cec872a..76a4d72 100644
--- a/jdk/test/java/util/stream/bootlib/java/util/stream/LambdaTestHelpers.java
+++ b/jdk/test/java/util/stream/bootlib/java/util/stream/LambdaTestHelpers.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/test/java/util/stream/bootlib/java/util/stream/TestData.java b/jdk/test/java/util/stream/bootlib/java/util/stream/TestData.java
index f4f0392..c763e84 100644
--- a/jdk/test/java/util/stream/bootlib/java/util/stream/TestData.java
+++ b/jdk/test/java/util/stream/bootlib/java/util/stream/TestData.java
@@ -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
diff --git a/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/DeserializeMethodTest.java b/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/DeserializeMethodTest.java
index 67dc982..1fbf769 100644
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/DeserializeMethodTest.java
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/DeserializeMethodTest.java
@@ -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
diff --git a/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/MHProxiesTest.java b/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/MHProxiesTest.java
index 9d9829d..e9a4426 100644
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/MHProxiesTest.java
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/MHProxiesTest.java
@@ -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
diff --git a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/FillableStringTest.java b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/FillableStringTest.java
index 1e65e50..d4cad59 100644
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/FillableStringTest.java
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/FillableStringTest.java
@@ -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
diff --git a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/MapTest.java b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/MapTest.java
index b0e33ed..74efed5 100644
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/MapTest.java
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/MapTest.java
@@ -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
diff --git a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/NullArgsTestCase.java b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/NullArgsTestCase.java
index eaad768..5cae1ba 100644
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/NullArgsTestCase.java
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/NullArgsTestCase.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, 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
diff --git a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SummaryStatisticsTest.java b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SummaryStatisticsTest.java
index 3f699de..3850b83 100644
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SummaryStatisticsTest.java
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SummaryStatisticsTest.java
@@ -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
diff --git a/jdk/test/java/util/zip/3GBZipFiles.sh b/jdk/test/java/util/zip/3GBZipFiles.sh
index 65db4e2..7661b84 100644
--- a/jdk/test/java/util/zip/3GBZipFiles.sh
+++ b/jdk/test/java/util/zip/3GBZipFiles.sh
@@ -1,4 +1,4 @@
-# Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 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
diff --git a/jdk/test/java/util/zip/LargeZip.java b/jdk/test/java/util/zip/LargeZip.java
index a84d3e4..00b27b5 100644
--- a/jdk/test/java/util/zip/LargeZip.java
+++ b/jdk/test/java/util/zip/LargeZip.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/java/util/zip/StoredCRC.java b/jdk/test/java/util/zip/StoredCRC.java
index 8df9774..0799df2 100644
--- a/jdk/test/java/util/zip/StoredCRC.java
+++ b/jdk/test/java/util/zip/StoredCRC.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 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
diff --git a/jdk/test/java/util/zip/TotalInOut.java b/jdk/test/java/util/zip/TotalInOut.java
index e0532e2..1ea12b3 100644
--- a/jdk/test/java/util/zip/TotalInOut.java
+++ b/jdk/test/java/util/zip/TotalInOut.java
@@ -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
diff --git a/jdk/test/java/util/zip/ZipFile/Assortment.java b/jdk/test/java/util/zip/ZipFile/Assortment.java
index 234eded..d5e9d1f 100644
--- a/jdk/test/java/util/zip/ZipFile/Assortment.java
+++ b/jdk/test/java/util/zip/ZipFile/Assortment.java
@@ -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
diff --git a/jdk/test/java/util/zip/ZipFile/ReadZip.java b/jdk/test/java/util/zip/ZipFile/ReadZip.java
index b0e7571..44f1d9e 100644
--- a/jdk/test/java/util/zip/ZipFile/ReadZip.java
+++ b/jdk/test/java/util/zip/ZipFile/ReadZip.java
@@ -63,6 +63,8 @@
Files.copy(Paths.get(System.getProperty("test.src", ""), "input.zip"),
newZip.toPath(), StandardCopyOption.REPLACE_EXISTING);
+ newZip.setWritable(true);
+
// pad some bytes
try (OutputStream os = Files.newOutputStream(newZip.toPath(),
StandardOpenOption.APPEND)) {
diff --git a/jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh b/jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh
index 51eaa6e..6beb911 100644
--- a/jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh
+++ b/jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006, 2012, 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
diff --git a/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh b/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh
index 800a898..c6d9128 100644
--- a/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh
+++ b/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh
@@ -211,7 +211,8 @@
# split application classes and test plugin classes
mv ./UserPluginMetadataFormatTest*.class ./test_classes
-$TESTJAVA/bin/java MetadataFormatTest test_classes UserPluginMetadataFormatTest
+$TESTJAVA/bin/java ${TESTVMOPTS} \
+ MetadataFormatTest test_classes UserPluginMetadataFormatTest
############### END YOUR TEST CODE !!!!! ############
status=$?
diff --git a/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh b/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh
index eb60ba9..9eb53fb 100644
--- a/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh
+++ b/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh
@@ -212,7 +212,8 @@
# split application classes and test plugin classes
mv ./UserPluginMetadataFormatTest*.class ./test_classes
-$TESTJAVA/bin/java MetadataFormatThreadTest test_classes UserPluginMetadataFormatTest
+$TESTJAVA/bin/java ${TESTVMOPTS} \
+ MetadataFormatThreadTest test_classes UserPluginMetadataFormatTest
############### END YOUR TEST CODE !!!!! ############
status=$?
diff --git a/jdk/test/javax/imageio/plugins/gif/GIFPassListenerTest.java b/jdk/test/javax/imageio/plugins/gif/GIFPassListenerTest.java
index fac84d8..4533a46 100644
--- a/jdk/test/javax/imageio/plugins/gif/GIFPassListenerTest.java
+++ b/jdk/test/javax/imageio/plugins/gif/GIFPassListenerTest.java
@@ -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
diff --git a/jdk/test/javax/imageio/plugins/gif/GifTransparencyTest.java b/jdk/test/javax/imageio/plugins/gif/GifTransparencyTest.java
index 3d8e91b..5ad9ab8 100644
--- a/jdk/test/javax/imageio/plugins/gif/GifTransparencyTest.java
+++ b/jdk/test/javax/imageio/plugins/gif/GifTransparencyTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh b/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh
index 1977ca8..6f88925 100644
--- a/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh
+++ b/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh
@@ -198,14 +198,15 @@
fi
# Verify that all classoladers are destroyed
-${TESTJAVA}/bin/java -cp Test.jar test.Main
+${TESTJAVA}/bin/java ${TESTVMOPTS} -cp Test.jar test.Main
if [ $? -ne 0 ] ; then
fail "Test FAILED: some classloaders weren't destroyed."
fi
# Verify that ImageIO shutdown hook works correcly
-${TESTJAVA}/bin/java -cp Test.jar -DforgetSomeStreams=true test.Main
+${TESTJAVA}/bin/java ${TESTVMOPTS} \
+ -cp Test.jar -DforgetSomeStreams=true test.Main
if [ $? -ne 0 ] ; then
fail "Test FAILED: some classloaders weren't destroyed of shutdown hook failed."
fi
diff --git a/jdk/test/javax/management/MBeanInfo/SerializationTest1.java b/jdk/test/javax/management/MBeanInfo/SerializationTest1.java
index 59ef18c..d087f97 100644
--- a/jdk/test/javax/management/MBeanInfo/SerializationTest1.java
+++ b/jdk/test/javax/management/MBeanInfo/SerializationTest1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/javax/management/modelmbean/LoggingExceptionTest.java b/jdk/test/javax/management/modelmbean/LoggingExceptionTest.java
index 453bef9..4fddd88 100644
--- a/jdk/test/javax/management/modelmbean/LoggingExceptionTest.java
+++ b/jdk/test/javax/management/modelmbean/LoggingExceptionTest.java
@@ -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
diff --git a/jdk/test/javax/management/monitor/CounterMonitorThresholdTest.java b/jdk/test/javax/management/monitor/CounterMonitorThresholdTest.java
index b56d314..c42c54d 100644
--- a/jdk/test/javax/management/monitor/CounterMonitorThresholdTest.java
+++ b/jdk/test/javax/management/monitor/CounterMonitorThresholdTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/javax/management/monitor/NullAttributeValueTest.java b/jdk/test/javax/management/monitor/NullAttributeValueTest.java
index 01ab275..3386bc5 100644
--- a/jdk/test/javax/management/monitor/NullAttributeValueTest.java
+++ b/jdk/test/javax/management/monitor/NullAttributeValueTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/javax/management/remote/mandatory/connection/AddressableTest.java b/jdk/test/javax/management/remote/mandatory/connection/AddressableTest.java
index 049fef0..8fc49e9 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/AddressableTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/AddressableTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/javax/management/remote/mandatory/connection/BrokenConnectionTest.java b/jdk/test/javax/management/remote/mandatory/connection/BrokenConnectionTest.java
index 42bed85..93dc737 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/BrokenConnectionTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/BrokenConnectionTest.java
@@ -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
diff --git a/jdk/test/javax/management/remote/mandatory/connection/CloseableTest.java b/jdk/test/javax/management/remote/mandatory/connection/CloseableTest.java
index 00451da..ebe8df6 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/CloseableTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/CloseableTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/javax/management/remote/mandatory/connection/ConnectionListenerNullTest.java b/jdk/test/javax/management/remote/mandatory/connection/ConnectionListenerNullTest.java
index 62027b4..a121fd8 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/ConnectionListenerNullTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/ConnectionListenerNullTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/javax/management/remote/mandatory/connection/ConnectionTest.java b/jdk/test/javax/management/remote/mandatory/connection/ConnectionTest.java
index d26be3b..abf0058 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/ConnectionTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/ConnectionTest.java
@@ -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
diff --git a/jdk/test/javax/management/remote/mandatory/connection/IIOPURLTest.java b/jdk/test/javax/management/remote/mandatory/connection/IIOPURLTest.java
index bca8396e..da9800d 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/IIOPURLTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/IIOPURLTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/javax/management/remote/mandatory/connection/IdleTimeoutTest.java b/jdk/test/javax/management/remote/mandatory/connection/IdleTimeoutTest.java
index 9bd9a74..b2193f2 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/IdleTimeoutTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/IdleTimeoutTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2006, 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
diff --git a/jdk/test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java b/jdk/test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java
index f5b6ec0..f42abc6 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java
@@ -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
diff --git a/jdk/test/javax/management/remote/mandatory/connection/RMIConnectionIdTest.java b/jdk/test/javax/management/remote/mandatory/connection/RMIConnectionIdTest.java
index c392f11..bd0a5e6 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/RMIConnectionIdTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/RMIConnectionIdTest.java
@@ -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
diff --git a/jdk/test/javax/management/remote/mandatory/connectorServer/SetMBeanServerForwarder.java b/jdk/test/javax/management/remote/mandatory/connectorServer/SetMBeanServerForwarder.java
index 5075f39..f3649b2 100644
--- a/jdk/test/javax/management/remote/mandatory/connectorServer/SetMBeanServerForwarder.java
+++ b/jdk/test/javax/management/remote/mandatory/connectorServer/SetMBeanServerForwarder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/javax/management/remote/mandatory/loading/MissingClassTest.java b/jdk/test/javax/management/remote/mandatory/loading/MissingClassTest.java
index 98eead8..341bbfc 100644
--- a/jdk/test/javax/management/remote/mandatory/loading/MissingClassTest.java
+++ b/jdk/test/javax/management/remote/mandatory/loading/MissingClassTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/test/javax/management/remote/mandatory/notif/DeadListenerTest.java b/jdk/test/javax/management/remote/mandatory/notif/DeadListenerTest.java
index db31304..83a44a3 100644
--- a/jdk/test/javax/management/remote/mandatory/notif/DeadListenerTest.java
+++ b/jdk/test/javax/management/remote/mandatory/notif/DeadListenerTest.java
@@ -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
diff --git a/jdk/test/javax/management/remote/mandatory/provider/ProviderTest.java b/jdk/test/javax/management/remote/mandatory/provider/ProviderTest.java
index 9c7c9f4..091d31a 100644
--- a/jdk/test/javax/management/remote/mandatory/provider/ProviderTest.java
+++ b/jdk/test/javax/management/remote/mandatory/provider/ProviderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/javax/management/remote/mandatory/serverError/JMXServerErrorTest.java b/jdk/test/javax/management/remote/mandatory/serverError/JMXServerErrorTest.java
index c993612..a1c06c9 100644
--- a/jdk/test/javax/management/remote/mandatory/serverError/JMXServerErrorTest.java
+++ b/jdk/test/javax/management/remote/mandatory/serverError/JMXServerErrorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
diff --git a/jdk/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation2Test.java b/jdk/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation2Test.java
index d91ae14..c54456b 100644
--- a/jdk/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation2Test.java
+++ b/jdk/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation2Test.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation3Test.java b/jdk/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation3Test.java
index de16998..689a139 100644
--- a/jdk/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation3Test.java
+++ b/jdk/test/javax/management/remote/mandatory/subjectDelegation/SubjectDelegation3Test.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 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
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/Fix5070632.java b/jdk/test/javax/net/ssl/Fix5070632.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/Fix5070632.java
rename to jdk/test/javax/net/ssl/Fix5070632.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/ComURLNulls.java b/jdk/test/javax/net/ssl/FixingJavadocs/ComURLNulls.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/ComURLNulls.java
rename to jdk/test/javax/net/ssl/FixingJavadocs/ComURLNulls.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/ImplicitHandshake.java b/jdk/test/javax/net/ssl/FixingJavadocs/ImplicitHandshake.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/ImplicitHandshake.java
rename to jdk/test/javax/net/ssl/FixingJavadocs/ImplicitHandshake.java
index 8badfd6..b1ef64e 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/ImplicitHandshake.java
+++ b/jdk/test/javax/net/ssl/FixingJavadocs/ImplicitHandshake.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/JavaxURLNulls.java b/jdk/test/javax/net/ssl/FixingJavadocs/JavaxURLNulls.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/JavaxURLNulls.java
rename to jdk/test/javax/net/ssl/FixingJavadocs/JavaxURLNulls.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/KMTMGetNothing.java b/jdk/test/javax/net/ssl/FixingJavadocs/KMTMGetNothing.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/KMTMGetNothing.java
rename to jdk/test/javax/net/ssl/FixingJavadocs/KMTMGetNothing.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/SSLSessionNulls.java b/jdk/test/javax/net/ssl/FixingJavadocs/SSLSessionNulls.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/SSLSessionNulls.java
rename to jdk/test/javax/net/ssl/FixingJavadocs/SSLSessionNulls.java
index fc9cfbf..e9338cc 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/SSLSessionNulls.java
+++ b/jdk/test/javax/net/ssl/FixingJavadocs/SSLSessionNulls.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/SSLSocketInherit.java b/jdk/test/javax/net/ssl/FixingJavadocs/SSLSocketInherit.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/SSLSocketInherit.java
rename to jdk/test/javax/net/ssl/FixingJavadocs/SSLSocketInherit.java
index 2e3f544..bf1e757 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/FixingJavadocs/SSLSocketInherit.java
+++ b/jdk/test/javax/net/ssl/FixingJavadocs/SSLSocketInherit.java
@@ -38,7 +38,7 @@
import javax.net.ssl.*;
public class SSLSocketInherit {
- String pathToStores = "../../../../etc";
+ String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/GetInstance.java b/jdk/test/javax/net/ssl/GetInstance.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/GetInstance.java
rename to jdk/test/javax/net/ssl/GetInstance.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/CriticalSubjectAltName.java b/jdk/test/javax/net/ssl/HttpsURLConnection/CriticalSubjectAltName.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/CriticalSubjectAltName.java
rename to jdk/test/javax/net/ssl/HttpsURLConnection/CriticalSubjectAltName.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/HttpsURLConnection/DelayDefaultContextLoading.java b/jdk/test/javax/net/ssl/HttpsURLConnection/DelayDefaultContextLoading.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/HttpsURLConnection/DelayDefaultContextLoading.java
rename to jdk/test/javax/net/ssl/HttpsURLConnection/DelayDefaultContextLoading.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/GetResponseCode.java b/jdk/test/javax/net/ssl/HttpsURLConnection/GetResponseCode.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/GetResponseCode.java
rename to jdk/test/javax/net/ssl/HttpsURLConnection/GetResponseCode.java
index 9335085..87ffef9 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/GetResponseCode.java
+++ b/jdk/test/javax/net/ssl/HttpsURLConnection/GetResponseCode.java
@@ -54,7 +54,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks b/jdk/test/javax/net/ssl/HttpsURLConnection/crisubn.jks
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks
rename to jdk/test/javax/net/ssl/HttpsURLConnection/crisubn.jks
Binary files differ
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks b/jdk/test/javax/net/ssl/HttpsURLConnection/trusted.jks
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks
rename to jdk/test/javax/net/ssl/HttpsURLConnection/trusted.jks
Binary files differ
diff --git a/jdk/test/sun/security/ssl/README b/jdk/test/javax/net/ssl/README
similarity index 100%
rename from jdk/test/sun/security/ssl/README
rename to jdk/test/javax/net/ssl/README
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/AcceptLargeFragments.java b/jdk/test/javax/net/ssl/SSLEngine/AcceptLargeFragments.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/AcceptLargeFragments.java
rename to jdk/test/javax/net/ssl/SSLEngine/AcceptLargeFragments.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ArgCheck.java b/jdk/test/javax/net/ssl/SSLEngine/ArgCheck.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ArgCheck.java
rename to jdk/test/javax/net/ssl/SSLEngine/ArgCheck.java
index be395db..3b94c6e 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ArgCheck.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/ArgCheck.java
@@ -40,7 +40,7 @@
private static boolean debug = false;
- private static String pathToStores = "../../../../../etc";
+ private static String pathToStores = "../etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/Arrays.java b/jdk/test/javax/net/ssl/SSLEngine/Arrays.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/Arrays.java
rename to jdk/test/javax/net/ssl/SSLEngine/Arrays.java
index cae1e55..ed75a45 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/Arrays.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/Arrays.java
@@ -42,7 +42,7 @@
private SSLEngine ssle1; // client
private SSLEngine ssle2; // server
- private static String pathToStores = "../../../../../etc";
+ private static String pathToStores = "../etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/Basics.java b/jdk/test/javax/net/ssl/SSLEngine/Basics.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/Basics.java
rename to jdk/test/javax/net/ssl/SSLEngine/Basics.java
index 9f73c8d..8c17e73 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/Basics.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/Basics.java
@@ -43,7 +43,7 @@
public class Basics {
- private static String pathToStores = "../../../../../etc";
+ private static String pathToStores = "../etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/CheckStatus.java b/jdk/test/javax/net/ssl/SSLEngine/CheckStatus.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/CheckStatus.java
rename to jdk/test/javax/net/ssl/SSLEngine/CheckStatus.java
index dfdefa9..c7133ef 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/CheckStatus.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/CheckStatus.java
@@ -48,7 +48,7 @@
private SSLEngine ssle1; // client
private SSLEngine ssle2; // server
- private static String pathToStores = "../../../../../etc";
+ private static String pathToStores = "../etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ConnectionTest.java b/jdk/test/javax/net/ssl/SSLEngine/ConnectionTest.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ConnectionTest.java
rename to jdk/test/javax/net/ssl/SSLEngine/ConnectionTest.java
index 546a786..cdc9bca 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ConnectionTest.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/ConnectionTest.java
@@ -47,7 +47,7 @@
private SSLEngine ssle1;
private SSLEngine ssle2;
- private static String pathToStores = "../../../../../etc";
+ private static String pathToStores = "../etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ExtendedKeyEngine.java b/jdk/test/javax/net/ssl/SSLEngine/ExtendedKeyEngine.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ExtendedKeyEngine.java
rename to jdk/test/javax/net/ssl/SSLEngine/ExtendedKeyEngine.java
index ca10939..2067467 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ExtendedKeyEngine.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/ExtendedKeyEngine.java
@@ -42,7 +42,7 @@
private SSLEngine ssle1; // client
private SSLEngine ssle2; // server
- private static String pathToStores = "../../../../../etc";
+ private static String pathToStores = "../etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ExtendedKeySocket.java b/jdk/test/javax/net/ssl/SSLEngine/ExtendedKeySocket.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ExtendedKeySocket.java
rename to jdk/test/javax/net/ssl/SSLEngine/ExtendedKeySocket.java
index 0f5b54b..ef4eef3 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/ExtendedKeySocket.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/ExtendedKeySocket.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static char [] passwd = "passphrase".toCharArray();
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargeBufs.java b/jdk/test/javax/net/ssl/SSLEngine/LargeBufs.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargeBufs.java
rename to jdk/test/javax/net/ssl/SSLEngine/LargeBufs.java
index 5960ea6..af7f7a1 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargeBufs.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/LargeBufs.java
@@ -50,7 +50,7 @@
static private SSLEngine ssle1; // client
static private SSLEngine ssle2; // server
- private static String pathToStores = "../../../../../etc";
+ private static String pathToStores = "../etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargePacket.java b/jdk/test/javax/net/ssl/SSLEngine/LargePacket.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargePacket.java
rename to jdk/test/javax/net/ssl/SSLEngine/LargePacket.java
index c95ebfd..33f2c4f 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/LargePacket.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/LargePacket.java
@@ -174,7 +174,7 @@
* Fork off the other side, then do your work.
*/
LargePacket() throws Exception {
- super("../../../../../etc");
+ super("../etc");
if (separateServerThread) {
startServer(true);
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/MyX509ExtendedKeyManager.java b/jdk/test/javax/net/ssl/SSLEngine/MyX509ExtendedKeyManager.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/MyX509ExtendedKeyManager.java
rename to jdk/test/javax/net/ssl/SSLEngine/MyX509ExtendedKeyManager.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/MyX509KeyManager.java b/jdk/test/javax/net/ssl/SSLEngine/MyX509KeyManager.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/MyX509KeyManager.java
rename to jdk/test/javax/net/ssl/SSLEngine/MyX509KeyManager.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/NoAuthClientAuth.java b/jdk/test/javax/net/ssl/SSLEngine/NoAuthClientAuth.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/NoAuthClientAuth.java
rename to jdk/test/javax/net/ssl/SSLEngine/NoAuthClientAuth.java
index f951e84..db8c091 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/NoAuthClientAuth.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/NoAuthClientAuth.java
@@ -117,7 +117,7 @@
/*
* The following is to set up the keystores.
*/
- private static String pathToStores = "../../../../../etc";
+ private static String pathToStores = "../etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/SSLEngineResultArgs.java b/jdk/test/javax/net/ssl/SSLEngine/SSLEngineResultArgs.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/SSLEngineResultArgs.java
rename to jdk/test/javax/net/ssl/SSLEngine/SSLEngineResultArgs.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/SSLEngineService.java b/jdk/test/javax/net/ssl/SSLEngine/SSLEngineService.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/SSLEngineService.java
rename to jdk/test/javax/net/ssl/SSLEngine/SSLEngineService.java
index bc4c6f7..d3ee146 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/SSLEngineService.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/SSLEngineService.java
@@ -49,7 +49,7 @@
private String trustFilename;
protected SSLEngineService() {
- init("../../../../../etc");
+ init("../etc");
}
protected SSLEngineService(String pathToStores) {
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/TestAllSuites.java b/jdk/test/javax/net/ssl/SSLEngine/TestAllSuites.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/TestAllSuites.java
rename to jdk/test/javax/net/ssl/SSLEngine/TestAllSuites.java
index 9781614..9c633b5 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/TestAllSuites.java
+++ b/jdk/test/javax/net/ssl/SSLEngine/TestAllSuites.java
@@ -51,7 +51,7 @@
private SSLEngine ssle1; // client
private SSLEngine ssle2; // server
- private static String pathToStores = "../../../../../etc";
+ private static String pathToStores = "../etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngineResult/Deserialize.java b/jdk/test/javax/net/ssl/SSLEngineResult/Deserialize.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngineResult/Deserialize.java
rename to jdk/test/javax/net/ssl/SSLEngineResult/Deserialize.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/SSLParameters/UseCipherSuitesOrder.java b/jdk/test/javax/net/ssl/SSLParameters/UseCipherSuitesOrder.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/SSLParameters/UseCipherSuitesOrder.java
rename to jdk/test/javax/net/ssl/SSLParameters/UseCipherSuitesOrder.java
index c25d74c..2c2bae5 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/SSLParameters/UseCipherSuitesOrder.java
+++ b/jdk/test/javax/net/ssl/SSLParameters/UseCipherSuitesOrder.java
@@ -57,7 +57,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/SSLServerSocket/DefaultSSLServSocketFac.java b/jdk/test/javax/net/ssl/SSLServerSocket/DefaultSSLServSocketFac.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/SSLServerSocket/DefaultSSLServSocketFac.java
rename to jdk/test/javax/net/ssl/SSLServerSocket/DefaultSSLServSocketFac.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/CheckMyTrustedKeystore.java b/jdk/test/javax/net/ssl/SSLSession/CheckMyTrustedKeystore.java
similarity index 97%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/CheckMyTrustedKeystore.java
rename to jdk/test/javax/net/ssl/SSLSession/CheckMyTrustedKeystore.java
index 7dee02e..422d88d 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/CheckMyTrustedKeystore.java
+++ b/jdk/test/javax/net/ssl/SSLSession/CheckMyTrustedKeystore.java
@@ -21,21 +21,23 @@
* questions.
*/
+// SunJSSE does not support dynamic system properties, no way to re-use
+// system properties in samevm/agentvm mode.
+
/*
* @test
* @bug 4329114
* @summary Need better way of reflecting the reason when a chain is
* rejected as untrusted.
+ * @ignore JSSE supports algorithm constraints with CR 6916074,
+ * need to update this test case in JDK 7 soon
* @run main/othervm CheckMyTrustedKeystore
*
- * SunJSSE does not support dynamic system properties, no way to re-use
- * system properties in samevm/agentvm mode.
- * @ignore JSSE supports algorithm constraints with CR 6916074,
- * need to update this test case in JDK 7 soon
- * This is a serious hack job!
* @author Brad Wetmore
*/
+// This is a serious hack job!
+
import java.io.*;
import java.net.*;
import java.security.*;
@@ -60,7 +62,7 @@
/*
* Where do we find the keystores?
*/
- final static String pathToStores = "../../../../etc";
+ final static String pathToStores = "../etc";
final static String keyStoreFile = "keystore";
final static String trustStoreFile = "truststore";
final static String unknownStoreFile = "unknown_keystore";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/HttpsURLConnectionLocalCertificateChain.java b/jdk/test/javax/net/ssl/SSLSession/HttpsURLConnectionLocalCertificateChain.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/HttpsURLConnectionLocalCertificateChain.java
rename to jdk/test/javax/net/ssl/SSLSession/HttpsURLConnectionLocalCertificateChain.java
index ec773b2..c6e9753 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/HttpsURLConnectionLocalCertificateChain.java
+++ b/jdk/test/javax/net/ssl/SSLSession/HttpsURLConnectionLocalCertificateChain.java
@@ -62,7 +62,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/JSSERenegotiate.java b/jdk/test/javax/net/ssl/SSLSession/JSSERenegotiate.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/JSSERenegotiate.java
rename to jdk/test/javax/net/ssl/SSLSession/JSSERenegotiate.java
index 748b5fe..40617bf 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/JSSERenegotiate.java
+++ b/jdk/test/javax/net/ssl/SSLSession/JSSERenegotiate.java
@@ -63,7 +63,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/KeyManagerTrustManager.java b/jdk/test/javax/net/ssl/SSLSession/KeyManagerTrustManager.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/KeyManagerTrustManager.java
rename to jdk/test/javax/net/ssl/SSLSession/KeyManagerTrustManager.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLCtxAccessToSessCtx.java b/jdk/test/javax/net/ssl/SSLSession/SSLCtxAccessToSessCtx.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLCtxAccessToSessCtx.java
rename to jdk/test/javax/net/ssl/SSLSession/SSLCtxAccessToSessCtx.java
index 41fddc4..14ed3ea 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SSLCtxAccessToSessCtx.java
+++ b/jdk/test/javax/net/ssl/SSLSession/SSLCtxAccessToSessCtx.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionCacheSizeTests.java b/jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionCacheSizeTests.java
rename to jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java
index d4e0085..4001f83 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionCacheSizeTests.java
+++ b/jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java
@@ -70,7 +70,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java b/jdk/test/javax/net/ssl/SSLSession/SessionTimeOutTests.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java
rename to jdk/test/javax/net/ssl/SSLSession/SessionTimeOutTests.java
index 9264cb0..98e5907 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/SessionTimeOutTests.java
+++ b/jdk/test/javax/net/ssl/SSLSession/SessionTimeOutTests.java
@@ -69,7 +69,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/testEnabledProtocols.java b/jdk/test/javax/net/ssl/SSLSession/TestEnabledProtocols.java
similarity index 96%
rename from jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/testEnabledProtocols.java
rename to jdk/test/javax/net/ssl/SSLSession/TestEnabledProtocols.java
index 5774049..c09794c 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/NewAPIs/testEnabledProtocols.java
+++ b/jdk/test/javax/net/ssl/SSLSession/TestEnabledProtocols.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -21,6 +21,9 @@
* questions.
*/
+// SunJSSE does not support dynamic system properties, no way to re-use
+// system properties in samevm/agentvm mode.
+
/*
* @test
* @bug 4416068 4478803 4479736
@@ -30,10 +33,7 @@
* session
* 4701722 protocol mismatch exceptions should be consistent between
* SSLv3 and TLSv1
- * @run main/othervm testEnabledProtocols
- *
- * SunJSSE does not support dynamic system properties, no way to re-use
- * system properties in samevm/agentvm mode.
+ * @run main/othervm TestEnabledProtocols
* @author Ram Marti
*/
@@ -44,7 +44,7 @@
import javax.net.ssl.*;
import java.security.cert.*;
-public class testEnabledProtocols {
+public class TestEnabledProtocols {
/*
* For each of the valid protocols combinations, start a server thread
@@ -99,7 +99,7 @@
/*
* Where do we find the keystores?
*/
- final static String pathToStores = "../../../../etc";
+ final static String pathToStores = "../etc";
static String passwd = "passphrase";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
@@ -135,10 +135,10 @@
if (debug)
System.setProperty("javax.net.debug", "all");
- new testEnabledProtocols();
+ new TestEnabledProtocols();
}
- testEnabledProtocols() throws Exception {
+ TestEnabledProtocols() throws Exception {
/*
* Start the tests.
*/
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/IllegalSNIName.java b/jdk/test/javax/net/ssl/ServerName/IllegalSNIName.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/IllegalSNIName.java
rename to jdk/test/javax/net/ssl/ServerName/IllegalSNIName.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorer.java b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorer.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorer.java
rename to jdk/test/javax/net/ssl/ServerName/SSLEngineExplorer.java
index 2cd4635..a783131 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorer.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorer.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../NewAPIs/SSLEngine ../../../../templates
+ * @library ../SSLEngine ../templates
* @build SSLEngineService SSLCapabilities SSLExplorer
* @run main/othervm SSLEngineExplorer SSLv2Hello,SSLv3
* @run main/othervm SSLEngineExplorer SSLv3
@@ -251,7 +251,7 @@
* Fork off the other side, then do your work.
*/
SSLEngineExplorer() throws Exception {
- super("../../../../etc");
+ super("../etc");
if (separateServerThread) {
startServer(true);
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java
rename to jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java
index c201bee..b9854dd 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../NewAPIs/SSLEngine ../../../../templates
+ * @library ../SSLEngine ../templates
* @build SSLEngineService SSLCapabilities SSLExplorer
* @run main/othervm SSLEngineExplorerMatchedSNI www.example.com
* www\.example\.com
@@ -309,7 +309,7 @@
* Fork off the other side, then do your work.
*/
SSLEngineExplorerMatchedSNI() throws Exception {
- super("../../../../etc");
+ super("../etc");
if (separateServerThread) {
startServer(true);
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerUnmatchedSNI.java b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerUnmatchedSNI.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerUnmatchedSNI.java
rename to jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerUnmatchedSNI.java
index 2a9647b..ff8678b 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerUnmatchedSNI.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerUnmatchedSNI.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../NewAPIs/SSLEngine ../../../../templates
+ * @library ../SSLEngine ../templates
* @build SSLEngineService SSLCapabilities SSLExplorer
* @run main/othervm SSLEngineExplorerUnmatchedSNI www.example.com
* www\.example\.org
@@ -322,7 +322,7 @@
* Fork off the other side, then do your work.
*/
SSLEngineExplorerUnmatchedSNI() throws Exception {
- super("../../../../etc");
+ super("../etc");
if (separateServerThread) {
startServer(true);
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerWithCli.java b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerWithCli.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerWithCli.java
rename to jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerWithCli.java
index bfa23cb..f988883 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerWithCli.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerWithCli.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../NewAPIs/SSLEngine ../../../../templates
+ * @library ../SSLEngine ../templates
* @build SSLEngineService SSLCapabilities SSLExplorer
* @run main/othervm SSLEngineExplorerWithCli
*/
@@ -281,7 +281,7 @@
* Fork off the other side, then do your work.
*/
SSLEngineExplorerWithCli() throws Exception {
- super("../../../../etc");
+ super("../etc");
if (separateServerThread) {
startServer(true);
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerWithSrv.java b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerWithSrv.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerWithSrv.java
rename to jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerWithSrv.java
index e8fd270..0517a77 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLEngineExplorerWithSrv.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLEngineExplorerWithSrv.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../NewAPIs/SSLEngine ../../../../templates
+ * @library ../SSLEngine ../templates
* @build SSLEngineService SSLCapabilities SSLExplorer
* @run main/othervm SSLEngineExplorerWithSrv
*/
@@ -267,7 +267,7 @@
* Fork off the other side, then do your work.
*/
SSLEngineExplorerWithSrv() throws Exception {
- super("../../../../etc");
+ super("../etc");
if (separateServerThread) {
startServer(true);
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketConsistentSNI.java b/jdk/test/javax/net/ssl/ServerName/SSLSocketConsistentSNI.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketConsistentSNI.java
rename to jdk/test/javax/net/ssl/ServerName/SSLSocketConsistentSNI.java
index d9ff691..38d999a 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketConsistentSNI.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLSocketConsistentSNI.java
@@ -58,7 +58,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorer.java b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorer.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorer.java
rename to jdk/test/javax/net/ssl/ServerName/SSLSocketExplorer.java
index 27e2b6a..a91697c 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorer.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorer.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../../../../templates
+ * @library ../templates
* @build SSLCapabilities SSLExplorer
* @run main/othervm SSLSocketExplorer SSLv2Hello,SSLv3
* @run main/othervm SSLSocketExplorer SSLv3
@@ -64,7 +64,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerFailure.java b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerFailure.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerFailure.java
rename to jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerFailure.java
index 44a3715..aaf8d29 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerFailure.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerFailure.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../../../../templates
+ * @library ../templates
* @build SSLCapabilities SSLExplorer
* @run main/othervm SSLSocketExplorerFailure SSLv2Hello,SSLv3
* @run main/othervm SSLSocketExplorerFailure SSLv3
@@ -64,7 +64,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerMatchedSNI.java b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerMatchedSNI.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerMatchedSNI.java
rename to jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerMatchedSNI.java
index c9ae26c..724a37e 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerMatchedSNI.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerMatchedSNI.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../../../../templates
+ * @library ../templates
* @build SSLCapabilities SSLExplorer
* @run main/othervm SSLSocketExplorerMatchedSNI www.example.com
* www\.example\.com
@@ -69,7 +69,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerUnmatchedSNI.java b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerUnmatchedSNI.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerUnmatchedSNI.java
rename to jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerUnmatchedSNI.java
index eab4800..732e0cf 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerUnmatchedSNI.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerUnmatchedSNI.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../../../../templates
+ * @library ../templates
* @build SSLCapabilities SSLExplorer
* @run main/othervm SSLSocketExplorerUnmatchedSNI www.example.com
* www\.example\.org
@@ -61,7 +61,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerWithCliSNI.java b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerWithCliSNI.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerWithCliSNI.java
rename to jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerWithCliSNI.java
index 6933c9a..8f2b781 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerWithCliSNI.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerWithCliSNI.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../../../../templates
+ * @library ../templates
* @build SSLCapabilities SSLExplorer
* @run main/othervm SSLSocketExplorerWithCliSNI
*/
@@ -60,7 +60,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerWithSrvSNI.java b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerWithSrvSNI.java
similarity index 98%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerWithSrvSNI.java
rename to jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerWithSrvSNI.java
index 64b1ae9..f026f32 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketExplorerWithSrvSNI.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLSocketExplorerWithSrvSNI.java
@@ -30,7 +30,7 @@
* @test
* @bug 7068321
* @summary Support TLS Server Name Indication (SNI) Extension in JSSE Server
- * @library ../../../../templates
+ * @library ../templates
* @build SSLCapabilities SSLExplorer
* @run main/othervm SSLSocketExplorerWithSrvSNI
*/
@@ -60,7 +60,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketInconsistentSNI.java b/jdk/test/javax/net/ssl/ServerName/SSLSocketInconsistentSNI.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketInconsistentSNI.java
rename to jdk/test/javax/net/ssl/ServerName/SSLSocketInconsistentSNI.java
index 6ba1dfd..7c54dd1 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketInconsistentSNI.java
+++ b/jdk/test/javax/net/ssl/ServerName/SSLSocketInconsistentSNI.java
@@ -58,7 +58,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketSNISensitive.java b/jdk/test/javax/net/ssl/ServerName/SSLSocketSNISensitive.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/ServerName/SSLSocketSNISensitive.java
rename to jdk/test/javax/net/ssl/ServerName/SSLSocketSNISensitive.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/EmptyCertificateAuthorities.java b/jdk/test/javax/net/ssl/TLSv11/EmptyCertificateAuthorities.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/EmptyCertificateAuthorities.java
rename to jdk/test/javax/net/ssl/TLSv11/EmptyCertificateAuthorities.java
index 3b11d2a..572ac2c 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/EmptyCertificateAuthorities.java
+++ b/jdk/test/javax/net/ssl/TLSv11/EmptyCertificateAuthorities.java
@@ -60,7 +60,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/ExportableBlockCipher.java b/jdk/test/javax/net/ssl/TLSv11/ExportableBlockCipher.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/ExportableBlockCipher.java
rename to jdk/test/javax/net/ssl/TLSv11/ExportableBlockCipher.java
index ad27a1e..cb232a0 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/ExportableBlockCipher.java
+++ b/jdk/test/javax/net/ssl/TLSv11/ExportableBlockCipher.java
@@ -57,7 +57,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/ExportableStreamCipher.java b/jdk/test/javax/net/ssl/TLSv11/ExportableStreamCipher.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/ExportableStreamCipher.java
rename to jdk/test/javax/net/ssl/TLSv11/ExportableStreamCipher.java
index 3d15a7c..572d989 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/ExportableStreamCipher.java
+++ b/jdk/test/javax/net/ssl/TLSv11/ExportableStreamCipher.java
@@ -57,7 +57,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/GenericBlockCipher.java b/jdk/test/javax/net/ssl/TLSv11/GenericBlockCipher.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/GenericBlockCipher.java
rename to jdk/test/javax/net/ssl/TLSv11/GenericBlockCipher.java
index 9a0a83e..5f851843 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/GenericBlockCipher.java
+++ b/jdk/test/javax/net/ssl/TLSv11/GenericBlockCipher.java
@@ -57,7 +57,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/GenericStreamCipher.java b/jdk/test/javax/net/ssl/TLSv11/GenericStreamCipher.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/GenericStreamCipher.java
rename to jdk/test/javax/net/ssl/TLSv11/GenericStreamCipher.java
index c96d8ec..4cf0241 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv11/GenericStreamCipher.java
+++ b/jdk/test/javax/net/ssl/TLSv11/GenericStreamCipher.java
@@ -57,7 +57,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../etc";
+ static String pathToStores = "../etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java b/jdk/test/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java
rename to jdk/test/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java b/jdk/test/javax/net/ssl/TLSv12/ShortRSAKey512.java
similarity index 99%
rename from jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java
rename to jdk/test/javax/net/ssl/TLSv12/ShortRSAKey512.java
index 8370f9d..c3bf122 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKey512.java
+++ b/jdk/test/javax/net/ssl/TLSv12/ShortRSAKey512.java
@@ -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
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKeyGCM.java b/jdk/test/javax/net/ssl/TLSv12/ShortRSAKeyGCM.java
similarity index 100%
rename from jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/ShortRSAKeyGCM.java
rename to jdk/test/javax/net/ssl/TLSv12/ShortRSAKeyGCM.java
diff --git a/jdk/test/sun/security/ssl/etc/keystore b/jdk/test/javax/net/ssl/etc/keystore
similarity index 100%
rename from jdk/test/sun/security/ssl/etc/keystore
rename to jdk/test/javax/net/ssl/etc/keystore
Binary files differ
diff --git a/jdk/test/sun/security/ssl/etc/truststore b/jdk/test/javax/net/ssl/etc/truststore
similarity index 100%
rename from jdk/test/sun/security/ssl/etc/truststore
rename to jdk/test/javax/net/ssl/etc/truststore
Binary files differ
diff --git a/jdk/test/sun/security/ssl/etc/unknown_keystore b/jdk/test/javax/net/ssl/etc/unknown_keystore
similarity index 100%
rename from jdk/test/sun/security/ssl/etc/unknown_keystore
rename to jdk/test/javax/net/ssl/etc/unknown_keystore
Binary files differ
diff --git a/jdk/test/sun/security/ssl/sanity/ciphersuites/CheckCipherSuites.java b/jdk/test/javax/net/ssl/sanity/ciphersuites/CheckCipherSuites.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/ciphersuites/CheckCipherSuites.java
rename to jdk/test/javax/net/ssl/sanity/ciphersuites/CheckCipherSuites.java
diff --git a/jdk/test/sun/security/ssl/sanity/ciphersuites/CipherSuitesInOrder.java b/jdk/test/javax/net/ssl/sanity/ciphersuites/CipherSuitesInOrder.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/ciphersuites/CipherSuitesInOrder.java
rename to jdk/test/javax/net/ssl/sanity/ciphersuites/CipherSuitesInOrder.java
diff --git a/jdk/test/sun/security/ssl/sanity/ciphersuites/NoKerberos.java b/jdk/test/javax/net/ssl/sanity/ciphersuites/NoKerberos.java
similarity index 97%
rename from jdk/test/sun/security/ssl/sanity/ciphersuites/NoKerberos.java
rename to jdk/test/javax/net/ssl/sanity/ciphersuites/NoKerberos.java
index 36c6a81..d2c807b 100644
--- a/jdk/test/sun/security/ssl/sanity/ciphersuites/NoKerberos.java
+++ b/jdk/test/javax/net/ssl/sanity/ciphersuites/NoKerberos.java
@@ -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
diff --git a/jdk/test/sun/security/ssl/sanity/interop/CipherTest.java b/jdk/test/javax/net/ssl/sanity/interop/CipherTest.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/interop/CipherTest.java
rename to jdk/test/javax/net/ssl/sanity/interop/CipherTest.java
diff --git a/jdk/test/sun/security/ssl/sanity/interop/ClientJSSEServerJSSE.java b/jdk/test/javax/net/ssl/sanity/interop/ClientJSSEServerJSSE.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/interop/ClientJSSEServerJSSE.java
rename to jdk/test/javax/net/ssl/sanity/interop/ClientJSSEServerJSSE.java
diff --git a/jdk/test/sun/security/ssl/sanity/interop/JSSEClient.java b/jdk/test/javax/net/ssl/sanity/interop/JSSEClient.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/interop/JSSEClient.java
rename to jdk/test/javax/net/ssl/sanity/interop/JSSEClient.java
diff --git a/jdk/test/sun/security/ssl/sanity/interop/JSSEServer.java b/jdk/test/javax/net/ssl/sanity/interop/JSSEServer.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/interop/JSSEServer.java
rename to jdk/test/javax/net/ssl/sanity/interop/JSSEServer.java
diff --git a/jdk/test/sun/security/ssl/sanity/pluggability/CheckSSLContextExport.java b/jdk/test/javax/net/ssl/sanity/pluggability/CheckSSLContextExport.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/pluggability/CheckSSLContextExport.java
rename to jdk/test/javax/net/ssl/sanity/pluggability/CheckSSLContextExport.java
diff --git a/jdk/test/sun/security/ssl/sanity/pluggability/CheckSockFacExport1.java b/jdk/test/javax/net/ssl/sanity/pluggability/CheckSockFacExport1.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/pluggability/CheckSockFacExport1.java
rename to jdk/test/javax/net/ssl/sanity/pluggability/CheckSockFacExport1.java
diff --git a/jdk/test/sun/security/ssl/sanity/pluggability/CheckSockFacExport2.java b/jdk/test/javax/net/ssl/sanity/pluggability/CheckSockFacExport2.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/pluggability/CheckSockFacExport2.java
rename to jdk/test/javax/net/ssl/sanity/pluggability/CheckSockFacExport2.java
diff --git a/jdk/test/sun/security/ssl/sanity/pluggability/CipherSuites.java b/jdk/test/javax/net/ssl/sanity/pluggability/CipherSuites.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/pluggability/CipherSuites.java
rename to jdk/test/javax/net/ssl/sanity/pluggability/CipherSuites.java
diff --git a/jdk/test/sun/security/ssl/sanity/pluggability/MySSLContextImpl.java b/jdk/test/javax/net/ssl/sanity/pluggability/MySSLContextImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/pluggability/MySSLContextImpl.java
rename to jdk/test/javax/net/ssl/sanity/pluggability/MySSLContextImpl.java
diff --git a/jdk/test/sun/security/ssl/sanity/pluggability/MySSLEngineImpl.java b/jdk/test/javax/net/ssl/sanity/pluggability/MySSLEngineImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/pluggability/MySSLEngineImpl.java
rename to jdk/test/javax/net/ssl/sanity/pluggability/MySSLEngineImpl.java
diff --git a/jdk/test/sun/security/ssl/sanity/pluggability/MySSLServerSocketFacImpl.java b/jdk/test/javax/net/ssl/sanity/pluggability/MySSLServerSocketFacImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/pluggability/MySSLServerSocketFacImpl.java
rename to jdk/test/javax/net/ssl/sanity/pluggability/MySSLServerSocketFacImpl.java
diff --git a/jdk/test/sun/security/ssl/sanity/pluggability/MySSLSocketFacImpl.java b/jdk/test/javax/net/ssl/sanity/pluggability/MySSLSocketFacImpl.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sanity/pluggability/MySSLSocketFacImpl.java
rename to jdk/test/javax/net/ssl/sanity/pluggability/MySSLSocketFacImpl.java
diff --git a/jdk/test/sun/security/ssl/templates/SSLCapabilities.java b/jdk/test/javax/net/ssl/templates/SSLCapabilities.java
similarity index 100%
rename from jdk/test/sun/security/ssl/templates/SSLCapabilities.java
rename to jdk/test/javax/net/ssl/templates/SSLCapabilities.java
diff --git a/jdk/test/sun/security/ssl/templates/SSLEngineTemplate.java b/jdk/test/javax/net/ssl/templates/SSLEngineTemplate.java
similarity index 100%
rename from jdk/test/sun/security/ssl/templates/SSLEngineTemplate.java
rename to jdk/test/javax/net/ssl/templates/SSLEngineTemplate.java
diff --git a/jdk/test/sun/security/ssl/templates/SSLExplorer.java b/jdk/test/javax/net/ssl/templates/SSLExplorer.java
similarity index 100%
rename from jdk/test/sun/security/ssl/templates/SSLExplorer.java
rename to jdk/test/javax/net/ssl/templates/SSLExplorer.java
diff --git a/jdk/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java b/jdk/test/javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java
similarity index 99%
rename from jdk/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java
rename to jdk/test/javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java
index d61a1e5..e82fd64 100644
--- a/jdk/test/sun/security/ssl/templates/SSLSocketSSLEngineTemplate.java
+++ b/jdk/test/javax/net/ssl/templates/SSLSocketSSLEngineTemplate.java
@@ -124,7 +124,7 @@
/*
* The following is to set up the keystores/trust material.
*/
- private static final String pathToStores = "../etc/";
+ private static final String pathToStores = "../etc";
private static final String keyStoreFile = "keystore";
private static final String trustStoreFile = "truststore";
private static final String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/templates/SSLSocketTemplate.java b/jdk/test/javax/net/ssl/templates/SSLSocketTemplate.java
similarity index 100%
rename from jdk/test/sun/security/ssl/templates/SSLSocketTemplate.java
rename to jdk/test/javax/net/ssl/templates/SSLSocketTemplate.java
diff --git a/jdk/test/javax/print/DialogMargins.java b/jdk/test/javax/print/DialogMargins.java
index 132148f..cb5b488 100644
--- a/jdk/test/javax/print/DialogMargins.java
+++ b/jdk/test/javax/print/DialogMargins.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/test/javax/print/PrintSE/PrintSE.sh b/jdk/test/javax/print/PrintSE/PrintSE.sh
index 9b55505..2acbd3f7 100644
--- a/jdk/test/javax/print/PrintSE/PrintSE.sh
+++ b/jdk/test/javax/print/PrintSE/PrintSE.sh
@@ -46,6 +46,9 @@
createJavaPolicyFile
-${TESTJAVA}/bin/java -Djava.security.manager -Djava.security.policy=${TESTCLASSES}/print.policy -cp ${TESTCLASSES} PrintSE
+${TESTJAVA}/bin/java ${TESTVMOPTS} \
+ -Djava.security.manager \
+ -Djava.security.policy=${TESTCLASSES}/print.policy \
+ -cp ${TESTCLASSES} PrintSE
exit $?
diff --git a/jdk/test/javax/print/StreamPrintingOrientation.java b/jdk/test/javax/print/StreamPrintingOrientation.java
index 1d16aee..d7736aa 100644
--- a/jdk/test/javax/print/StreamPrintingOrientation.java
+++ b/jdk/test/javax/print/StreamPrintingOrientation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/test/javax/print/applet/AppletPrintLookup.html b/jdk/test/javax/print/applet/AppletPrintLookup.html
index 72f9a29..bf10178 100644
--- a/jdk/test/javax/print/applet/AppletPrintLookup.html
+++ b/jdk/test/javax/print/applet/AppletPrintLookup.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 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
diff --git a/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java b/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java
index 214b9ad..f5ddc0d 100644
--- a/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java
+++ b/jdk/test/javax/print/attribute/autosense/PrintAutoSenseData.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2009, 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
diff --git a/jdk/test/javax/rmi/ssl/SocketFactoryTest.java b/jdk/test/javax/rmi/ssl/SocketFactoryTest.java
index 76bf51a..4f438dd 100644
--- a/jdk/test/javax/rmi/ssl/SocketFactoryTest.java
+++ b/jdk/test/javax/rmi/ssl/SocketFactoryTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -25,6 +25,8 @@
* @test
* @bug 4932837 6582235
* @summary Test SslRMI[Client|Server]SocketFactory equals() and hashCode().
+ * This test does not affect VM global state, so othervm is
+ * not required.
* @author Daniel Fuchs
*
* @run main SocketFactoryTest
diff --git a/jdk/test/javax/script/CauseExceptionTest.java b/jdk/test/javax/script/CauseExceptionTest.java
index 41fa5e4..3e707aa 100644
--- a/jdk/test/javax/script/CauseExceptionTest.java
+++ b/jdk/test/javax/script/CauseExceptionTest.java
@@ -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
diff --git a/jdk/test/javax/script/ExceptionTest.java b/jdk/test/javax/script/ExceptionTest.java
index 9ea2d4e..ccfcc73 100644
--- a/jdk/test/javax/script/ExceptionTest.java
+++ b/jdk/test/javax/script/ExceptionTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2008, 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
diff --git a/jdk/test/javax/script/GetInterfaceTest.java b/jdk/test/javax/script/GetInterfaceTest.java
index 654147e..d379d2d 100644
--- a/jdk/test/javax/script/GetInterfaceTest.java
+++ b/jdk/test/javax/script/GetInterfaceTest.java
@@ -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
diff --git a/jdk/test/javax/script/Helper.java b/jdk/test/javax/script/Helper.java
index fc132a4..6f12265 100644
--- a/jdk/test/javax/script/Helper.java
+++ b/jdk/test/javax/script/Helper.java
@@ -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
diff --git a/jdk/test/javax/script/ProviderTest.sh b/jdk/test/javax/script/ProviderTest.sh
index e14ea48..1db161d 100644
--- a/jdk/test/javax/script/ProviderTest.sh
+++ b/jdk/test/javax/script/ProviderTest.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, 2010, 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
diff --git a/jdk/test/javax/script/StringWriterPrintTest.java b/jdk/test/javax/script/StringWriterPrintTest.java
index 7a75b6f..5ad13ae 100644
--- a/jdk/test/javax/script/StringWriterPrintTest.java
+++ b/jdk/test/javax/script/StringWriterPrintTest.java
@@ -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
diff --git a/jdk/test/javax/script/Test5.java b/jdk/test/javax/script/Test5.java
index acdd3a4..2159647 100644
--- a/jdk/test/javax/script/Test5.java
+++ b/jdk/test/javax/script/Test5.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/test/javax/script/Test6.java b/jdk/test/javax/script/Test6.java
index 5582b0a..fadff34 100644
--- a/jdk/test/javax/script/Test6.java
+++ b/jdk/test/javax/script/Test6.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2008, 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
diff --git a/jdk/test/javax/script/UnescapedBracketRegExTest.java b/jdk/test/javax/script/UnescapedBracketRegExTest.java
index 472ae10..b5d9421 100644
--- a/jdk/test/javax/script/UnescapedBracketRegExTest.java
+++ b/jdk/test/javax/script/UnescapedBracketRegExTest.java
@@ -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
diff --git a/jdk/test/javax/script/VersionTest.java b/jdk/test/javax/script/VersionTest.java
index 87fa8bc..40f5c83 100644
--- a/jdk/test/javax/script/VersionTest.java
+++ b/jdk/test/javax/script/VersionTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, 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
diff --git a/jdk/test/javax/security/auth/kerberos/KerberosTixDateTest.java b/jdk/test/javax/security/auth/kerberos/KerberosTixDateTest.java
index 00ee727..c061d1b 100644
--- a/jdk/test/javax/security/auth/kerberos/KerberosTixDateTest.java
+++ b/jdk/test/javax/security/auth/kerberos/KerberosTixDateTest.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/File/SMPTESequence.java b/jdk/test/javax/sound/midi/File/SMPTESequence.java
index 90e92c2..9646596 100644
--- a/jdk/test/javax/sound/midi/File/SMPTESequence.java
+++ b/jdk/test/javax/sound/midi/File/SMPTESequence.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java
index 295936d..9106139 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java
index ce25231..9e6e919 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java
index 8a893c0..4f7fcf7 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java
index 961f614..ef19c82 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java
index bc16d20..96ca98a 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java
index 2e4e802..77af795 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java
index 48b2958..de5cdbb 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java
index 9107be3..b4c8aa7 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java
index 5d12fee..032946a 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java
index 7f7e4fd..caffe3a 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java
index 44c45f3..25bc0b3 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java
index 5490466..df854ee 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java
index c57994a..ed7a2d4 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java
index 35986db..5748caf 100644
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java
index 1e9dc8f..9ae7651 100644
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java
index 29c8a6a..0825e12 100644
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java
index 5e256ad..c3fb5c1 100644
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java b/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java
index 47ed64b..f83e54d 100644
--- a/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java
+++ b/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java
index be4460e..6afa60b 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java
index 59c98d8..edfa870 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java
index 4616a6c..c8d8515 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java
index bc9f105..bcc0751 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java
index f738e11..8c192be 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java
index b28fd18..03dd477 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java
index a97790a..a5fe1fe 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java
index 622e52b..779c873 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java
index e205faf..3c4b21f 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java
index a736c36..9ce6077 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java
index a0db7a5..3de3051 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java
index 22c8762..3777778 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java
index b8552db..6bd5fda 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java
index 4c6cbfa..e7bd8d8 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java
index ffcad72..4e908d4 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java
index 241dc2e..f664a9a 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java
index f995370..3164bbe 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java
index 810f738..cc0cbf3 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java
index 81d5943..0726f18 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java
index c84ac8f..88e4926 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java
index b7f21de..b152264 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java
index 291d056..89ec641 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java
index 8040209..c9024bf 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java
index 7b112f6..735704d 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java
index b7f8b7b..a034038 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java
index 9a341f6..2adf704 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java
index 61ab944..eb24b9e 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java
index 6bc66d2..9acf07f 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java
index 93954ca..0544a13 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java
index ca296af..fb7bc3b 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java
index 7cc9206..d000567 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java
index 1b20e5d..fb86e12 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java
index 6b7bf36..6775500 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java
index 496b409..e0ac697 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java
index e541233..bab1621 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java
index 3a0af9f..89feb84 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java
index 30172c2..7641884 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java
index 8105dd4..6938cb1 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java
index 81b9eff..49d711a 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java
index 33765d3..e161718 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java
index 152c46d..763273d 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java
index d297b60..373daf4 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java
index 5400be6..864ea2d 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java
index a9c8937..213f1bf 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java
index e06c279..7b3cffb 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java
index 0871a2a..3911642 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java
index 2923a54..6ec5a48 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java
index d3936b9..d189ef9 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java
index 901ba98..ab4995f 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java
index 85d95cb..dd88181 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java
index 7c5e7a3..6a7c7bf 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java
index ab3b052..290be0a 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java
index 012e8df..d324cb2 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java
index bb045a8..c559a51 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java
index 9c86572..112ef00 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java
index 234c23d..e7f085b 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java
index 6c2f3b6..6ab77c1 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java
index 3287a69..989212f 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java
index 88e9c70..c49ed08 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java
index 628e0a4..058c468 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java
index 9742d87..0220496 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java
index f8c33db..4623de4 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java
index 5f1095a..01c1d82 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java
index 878ad89..a9a18ff 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java
index ff058a1..830f6fe 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java
index 16a410e..573d906 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java
index e77e12c..89179c2 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java
index e162c3b..9558372 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java
index e1ff002..36a08a2 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java
index d3d1ca1..496eaeb 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java
index d711d98..207050c 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java
index bb7272f..5d6c7f6 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java
index 165dccf..da1acba 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java
index 5a4026f..e70b68c 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java
index 84da289..667473e 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java
index 3f82bde..fe15766 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java
index 4a24978..d1fe4e6 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java
index d304baf..1ff0064 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java
index dff191d..da5e820 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java
index 11e27c1..3292b48 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java
index 117e00d..8f4d4b5 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java
index d2738d0..a8a9826 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java
index f69b9e7..5505595 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java
index 542d2d2..8d564eb 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java
index 1b8600d..3532508 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java
index c03c8a6a..e3b8c0c 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java
index d428726..fd1f044 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java
index 8c7977d..8c64bf0 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java
index 16fcf7d..fee666d 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java
index 220ac74..4d9bd36 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java
index 253b32a..88f4f7d 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java
index aadd388..df72c31 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java
index ef89977..2e1afd7 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java
index 800190a..c8be15c 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java
index 12a64e6..108bb32 100644
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java
index ae56ddf..78624db 100644
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java
index d7852a1..daa314e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java
index e8bfb7a..8a49fce 100644
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java
index cbe5723..8fc359b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java
index 61194cd..a7e40a4 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java
index 0cc88da..dab492e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java
index 53a852e..fe2c5e7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java
index e06f1ca..c27b2d4 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java
index b2661eb..d8a2c54 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java
index 3ca5155..c0f7b03 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java
index 7f824b4..850350b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java
index 5dbe2aa..ef8406f 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java
index e4e0e79..697e7a2 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java
index 6e5dc09..2b37581 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java
index ebbf8d7..1662fcc 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java
index 9d02439..e0c7596 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java
index 46065f9..5d5ffd4 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java
index 4ccd828..acc7d0c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java
index 8609e0b..c73a294 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java
index f704eba..e80e508 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java
index 56058a7..7100b99 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java
index 1f7bdef..0431a58 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java
index cad358e..bba8dd7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java
index 7179f49..67cc0e7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java
index f703f2e..9dd0997 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java
index dac2e33..7e7d1dd 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java
index 254b09c..8b54352 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java
index fea3a48..edd2cb3 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java
index fc5cc5e..d5ca82a 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java
index 085ed07..49e55e2 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java
index 69d1abf..8fdfe82 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java
index 4dc0c3b..a9b9ef4 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java
index 217760e..b51a097 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java
index 1701232..67e4a18 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java
index 24aad6c..4909868 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java
index 312d1de..d68406b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java
index 8048363..e38f3af 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java
index c525777..6806f10 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java
index e9d7130..c67a4d5 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java
index b50da28..5fb7dd8 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java
index 20fadd9..0026bc3 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java
index c699a03..987b861 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java
index 4b74e6b..ca173b9 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java
index 48fc37e..a7b5656 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java
index 3cfb55c..adc256d 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java
index 78b7268..b9395ed 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java
index fad50bd..0041263 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java
index 963dbfe..4728845 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java
index 46f3e7c..92160c1 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java
index fff782f..13a3ce9 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java
index 80d0bd8..32d3af3 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java
index 25040a5..784ca28 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java
index b2d735f..8c2534a 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java
index 054e2c1..e240c01 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java
index d4951fb..9ae1c42 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java
index 42737ad..eb2b5b1 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java b/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java
index d38686e..46fdbfa 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java
index 4b60820..daff398 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java
index 341d7f3..c8b541e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java
index 91f2384..99bfc47 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java
index c32d06e..ba24aab 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java
index b97151e..c9eb7bc 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java
index 7292ddb..6672bf2 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java
index 61e2c01..be92a3d 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java
index 82f8d61..f8f2213 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java
index b3eb680..5a1f864 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java
index a36a0ea..e09f0bc 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java
index 3477dbc..2cb9daf 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java b/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java
index f445c18..3919211 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java
index ccd87a4..ad70348 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java b/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java
index fa38b02..6633e40 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java
index 15bb6aa..226037f 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java
index 53a0a65..78bfd7f 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java
index 64e4e4a..490ff46 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java
index fe618e3..ab7150f 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java
index 9d43ddf..d1ab8ed 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java
index 3b49de0..36b1b57 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java
index 451a020..8f5a4c4 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java
index 52bd68d5..027f29f 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java
index f89ca35..c71ecc5 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java
index 0cc746e..310396e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java
index 4114e01..a0651f0 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java
index 24a98da..af1bd97 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java
index af6b1b6..8afcd90 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java
index 6d905e5..b0393da 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java
index dc49c2d..669020c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java
index 2a7e4b7..357154d 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java
index 3db7533..6fc3309 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java
index 4fd3180..417d2bf 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/SoftTestUtils.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/SoftTestUtils.java
index 054e2c1..e240c01 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/SoftTestUtils.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/SoftTestUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java
index c5215dd..14d3692 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java
index 8922854..907b357 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java
index 69d1abf..8fdfe82 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java
index 7d02b5c..dab8360 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java
index ebe4569..1671c48 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java
index 7f5b9ff..3c19ef7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java
index 413d455..52e6226 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java
index 90fde5a..73a781c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java
index fa02ee3..947667d 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java
index 17af001..b569036 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java
index 9a06b33..fed95a0 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java
index 35b5e21..efc9cb2 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java
index 6d314f93..dbfc954 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java
index 2cfa899..7bc9d2b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java
index 7d271fd..106b01a 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java
index 66f7734..80c8341 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java
index f22af99..fe5b80d 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java
index 28c2892..0954422 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java
index c1c9fcc..224b600 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java
index 70e5b67..22a5aa5 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java
index 18fbf75..7857355 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java
index 9dddc7e..d37c291 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java
index 421c629..519f576 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java
index c14be6b..10401d3 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java
index a26f848..9a5812c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java
index 0240ef9..c7eba86 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java
index 3b7e968..e8f1142 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java
index 685e53f..f24b235 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java
index 6724a3c..9d1a7c0 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java
index b10bbc2..25bc740 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java
index c4f08b3..604e5ca 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java
index 23b9a69..eb1af02 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java
index eee0267..0c9d873 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java
index d7af4bf..8366315 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java
index 5efdaaf..a955799 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java
index 7f8df6c..fce6243 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java
index b2b89d8..825ea0a 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java
index cb76ccd..192d8b7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java
index 41bdd57..0ffeb03 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java
index 13759f2..7d1ae34 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java
index 5b5fa3b..2d045e5 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java
index 58e2310..7eef7a3 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java
index 41c194c..c0237ee 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java
index 7132a39..2a14a52 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java
index b53d3a4..a7986bb 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java
index ca90d36..ba17ed6 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java
index 731eac0..12dfe1d 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java
index cdbb9e2..49fbb95 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java
index 4b9f0c7..1d93e52 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java
index b13fff4..f0b7a2b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java
index 8fd023f..d826d7d 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java
index 0ae5bc7..d9a50e7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java
index df6a7fa..357ced1 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java
@@ -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
diff --git a/jdk/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java b/jdk/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java
index 2b7dc16..3a8b89c 100644
--- a/jdk/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java
+++ b/jdk/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java
@@ -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
diff --git a/jdk/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java b/jdk/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java
index 98fdce1..2b01fbd 100644
--- a/jdk/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java
+++ b/jdk/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java
@@ -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
diff --git a/jdk/test/javax/sound/sampled/Clip/ClipSetPos.java b/jdk/test/javax/sound/sampled/Clip/ClipSetPos.java
index c980324..70a0749 100644
--- a/jdk/test/javax/sound/sampled/Clip/ClipSetPos.java
+++ b/jdk/test/javax/sound/sampled/Clip/ClipSetPos.java
@@ -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
diff --git a/jdk/test/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java b/jdk/test/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java
index 484bf29..9cab918 100644
--- a/jdk/test/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java
+++ b/jdk/test/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java
@@ -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
diff --git a/jdk/test/javax/sound/sampled/DirectAudio/bug6400879.java b/jdk/test/javax/sound/sampled/DirectAudio/bug6400879.java
index 0330150..8ddae19 100644
--- a/jdk/test/javax/sound/sampled/DirectAudio/bug6400879.java
+++ b/jdk/test/javax/sound/sampled/DirectAudio/bug6400879.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/test/javax/sound/sampled/FileWriter/AlawEncoderSync.java b/jdk/test/javax/sound/sampled/FileWriter/AlawEncoderSync.java
index b207e0b..b492ff0 100644
--- a/jdk/test/javax/sound/sampled/FileWriter/AlawEncoderSync.java
+++ b/jdk/test/javax/sound/sampled/FileWriter/AlawEncoderSync.java
@@ -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
diff --git a/jdk/test/javax/sound/sampled/FileWriter/WriterCloseInput.java b/jdk/test/javax/sound/sampled/FileWriter/WriterCloseInput.java
index d54c8f5..b73734a 100644
--- a/jdk/test/javax/sound/sampled/FileWriter/WriterCloseInput.java
+++ b/jdk/test/javax/sound/sampled/FileWriter/WriterCloseInput.java
@@ -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
diff --git a/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.html b/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.html
index 1bfa618..aeed90a 100644
--- a/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.html
+++ b/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.html
@@ -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
diff --git a/jdk/test/javax/swing/JColorChooser/Test4222508.html b/jdk/test/javax/swing/JColorChooser/Test4222508.html
index edbc466..0fcf430 100644
--- a/jdk/test/javax/swing/JColorChooser/Test4222508.html
+++ b/jdk/test/javax/swing/JColorChooser/Test4222508.html
@@ -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
diff --git a/jdk/test/javax/swing/JColorChooser/Test4759306.html b/jdk/test/javax/swing/JColorChooser/Test4759306.html
index 670ff44..6e3bfed 100644
--- a/jdk/test/javax/swing/JColorChooser/Test4759306.html
+++ b/jdk/test/javax/swing/JColorChooser/Test4759306.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2002, 2008, 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
diff --git a/jdk/test/javax/swing/JColorChooser/Test4759934.html b/jdk/test/javax/swing/JColorChooser/Test4759934.html
index 0ffc3a1..64dec2d 100644
--- a/jdk/test/javax/swing/JColorChooser/Test4759934.html
+++ b/jdk/test/javax/swing/JColorChooser/Test4759934.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2003, 2008, 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
diff --git a/jdk/test/javax/swing/JColorChooser/Test4887836.html b/jdk/test/javax/swing/JColorChooser/Test4887836.html
index af623a5..68192af 100644
--- a/jdk/test/javax/swing/JColorChooser/Test4887836.html
+++ b/jdk/test/javax/swing/JColorChooser/Test4887836.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2003, 2008, 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
diff --git a/jdk/test/javax/swing/JColorChooser/Test6348456.html b/jdk/test/javax/swing/JColorChooser/Test6348456.html
index c3b5989..d4a49c0 100644
--- a/jdk/test/javax/swing/JColorChooser/Test6348456.html
+++ b/jdk/test/javax/swing/JColorChooser/Test6348456.html
@@ -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
diff --git a/jdk/test/javax/swing/JColorChooser/Test6977726.html b/jdk/test/javax/swing/JColorChooser/Test6977726.html
index cfe132a..8663322 100644
--- a/jdk/test/javax/swing/JColorChooser/Test6977726.html
+++ b/jdk/test/javax/swing/JColorChooser/Test6977726.html
@@ -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
diff --git a/jdk/test/javax/swing/JComboBox/7082443/bug7082443.java b/jdk/test/javax/swing/JComboBox/7082443/bug7082443.java
index 747e57a..1091745 100644
--- a/jdk/test/javax/swing/JComboBox/7082443/bug7082443.java
+++ b/jdk/test/javax/swing/JComboBox/7082443/bug7082443.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/javax/swing/JComponent/4337267/bug4337267.java b/jdk/test/javax/swing/JComponent/4337267/bug4337267.java
index 1a16be2..1c316f8 100644
--- a/jdk/test/javax/swing/JComponent/4337267/bug4337267.java
+++ b/jdk/test/javax/swing/JComponent/4337267/bug4337267.java
@@ -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
diff --git a/jdk/test/javax/swing/JComponent/6683775/bug6683775.java b/jdk/test/javax/swing/JComponent/6683775/bug6683775.java
index cb41f7b..9b1178d 100644
--- a/jdk/test/javax/swing/JComponent/6683775/bug6683775.java
+++ b/jdk/test/javax/swing/JComponent/6683775/bug6683775.java
@@ -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
diff --git a/jdk/test/javax/swing/JEditorPane/4492274/test.html b/jdk/test/javax/swing/JEditorPane/4492274/test.html
index 93d04b4..cf108c1 100644
--- a/jdk/test/javax/swing/JEditorPane/4492274/test.html
+++ b/jdk/test/javax/swing/JEditorPane/4492274/test.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2007, 2011, 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
diff --git a/jdk/test/javax/swing/JEditorPane/6917744/test.html b/jdk/test/javax/swing/JEditorPane/6917744/test.html
index 4554b5e..cd81a81 100644
--- a/jdk/test/javax/swing/JEditorPane/6917744/test.html
+++ b/jdk/test/javax/swing/JEditorPane/6917744/test.html
@@ -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
diff --git a/jdk/test/javax/swing/JEditorPane/bug4714674.java b/jdk/test/javax/swing/JEditorPane/bug4714674.java
index 5b59833..f42d8fa 100644
--- a/jdk/test/javax/swing/JEditorPane/bug4714674.java
+++ b/jdk/test/javax/swing/JEditorPane/bug4714674.java
@@ -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
diff --git a/jdk/test/javax/swing/JFileChooser/6570445/bug6570445.java b/jdk/test/javax/swing/JFileChooser/6570445/bug6570445.java
index 968c372..554c5a4 100644
--- a/jdk/test/javax/swing/JFileChooser/6570445/bug6570445.java
+++ b/jdk/test/javax/swing/JFileChooser/6570445/bug6570445.java
@@ -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
diff --git a/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.html b/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.html
index 4890787..cf5ea55 100644
--- a/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.html
+++ b/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.html
@@ -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
diff --git a/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.java b/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.java
index ecabb8f..80c0fc7 100644
--- a/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.java
+++ b/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.java
@@ -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
diff --git a/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.html b/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.html
index 4ba1a83..077034e 100644
--- a/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.html
+++ b/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.html b/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.html
index 4d822df..0db8864 100644
--- a/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.html
+++ b/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.html
@@ -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
diff --git a/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.java b/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.java
index ce9df57..4d107cc 100644
--- a/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.java
+++ b/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.java
@@ -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
diff --git a/jdk/test/javax/swing/JList/6462008/bug6462008.java b/jdk/test/javax/swing/JList/6462008/bug6462008.java
index 9e009cc..12adaed 100644
--- a/jdk/test/javax/swing/JList/6462008/bug6462008.java
+++ b/jdk/test/javax/swing/JList/6462008/bug6462008.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/javax/swing/JPopupMenu/4966112/bug4966112.java b/jdk/test/javax/swing/JPopupMenu/4966112/bug4966112.java
index f1d496d..0852b6d 100644
--- a/jdk/test/javax/swing/JPopupMenu/4966112/bug4966112.java
+++ b/jdk/test/javax/swing/JPopupMenu/4966112/bug4966112.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/javax/swing/JPopupMenu/6694823/bug6694823.java b/jdk/test/javax/swing/JPopupMenu/6694823/bug6694823.java
index e5a6edb..eb2b364 100644
--- a/jdk/test/javax/swing/JPopupMenu/6694823/bug6694823.java
+++ b/jdk/test/javax/swing/JPopupMenu/6694823/bug6694823.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/test/javax/swing/JSlider/4987336/bug4987336.html b/jdk/test/javax/swing/JSlider/4987336/bug4987336.html
index a454ae0..3050143 100644
--- a/jdk/test/javax/swing/JSlider/4987336/bug4987336.html
+++ b/jdk/test/javax/swing/JSlider/4987336/bug4987336.html
@@ -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
diff --git a/jdk/test/javax/swing/JSlider/6524424/bug6524424.html b/jdk/test/javax/swing/JSlider/6524424/bug6524424.html
index a9deef2..11a57b6 100644
--- a/jdk/test/javax/swing/JSlider/6524424/bug6524424.html
+++ b/jdk/test/javax/swing/JSlider/6524424/bug6524424.html
@@ -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
diff --git a/jdk/test/javax/swing/JSlider/6587742/bug6587742.html b/jdk/test/javax/swing/JSlider/6587742/bug6587742.html
index 694ac88..b326103 100644
--- a/jdk/test/javax/swing/JSlider/6587742/bug6587742.html
+++ b/jdk/test/javax/swing/JSlider/6587742/bug6587742.html
@@ -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
diff --git a/jdk/test/javax/swing/JSlider/6742358/bug6742358.html b/jdk/test/javax/swing/JSlider/6742358/bug6742358.html
index 3cace4a..0407b0d 100644
--- a/jdk/test/javax/swing/JSlider/6742358/bug6742358.html
+++ b/jdk/test/javax/swing/JSlider/6742358/bug6742358.html
@@ -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
diff --git a/jdk/test/javax/swing/JSplitPane/4885629/bug4885629.java b/jdk/test/javax/swing/JSplitPane/4885629/bug4885629.java
index e475aec..f3348d0 100644
--- a/jdk/test/javax/swing/JSplitPane/4885629/bug4885629.java
+++ b/jdk/test/javax/swing/JSplitPane/4885629/bug4885629.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/javax/swing/JTabbedPane/4310381/bug4310381.html b/jdk/test/javax/swing/JTabbedPane/4310381/bug4310381.html
index 325bbfd..a4bc2b5 100644
--- a/jdk/test/javax/swing/JTabbedPane/4310381/bug4310381.html
+++ b/jdk/test/javax/swing/JTabbedPane/4310381/bug4310381.html
@@ -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
diff --git a/jdk/test/javax/swing/JTable/6788484/bug6788484.java b/jdk/test/javax/swing/JTable/6788484/bug6788484.java
index cf7c65b..8add60f 100644
--- a/jdk/test/javax/swing/JTable/6788484/bug6788484.java
+++ b/jdk/test/javax/swing/JTable/6788484/bug6788484.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
diff --git a/jdk/test/javax/swing/JTable/8005019/bug8005019.java b/jdk/test/javax/swing/JTable/8005019/bug8005019.java
index e084945..4fd71cf 100644
--- a/jdk/test/javax/swing/JTable/8005019/bug8005019.java
+++ b/jdk/test/javax/swing/JTable/8005019/bug8005019.java
@@ -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
diff --git a/jdk/test/javax/swing/JTextArea/7049024/bug7049024.java b/jdk/test/javax/swing/JTextArea/7049024/bug7049024.java
index ce9797a..d6e2326 100644
--- a/jdk/test/javax/swing/JTextArea/7049024/bug7049024.java
+++ b/jdk/test/javax/swing/JTextArea/7049024/bug7049024.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/javax/swing/JTree/4314199/bug4314199.html b/jdk/test/javax/swing/JTree/4314199/bug4314199.html
index 94249fa..1ce22cb 100644
--- a/jdk/test/javax/swing/JTree/4314199/bug4314199.html
+++ b/jdk/test/javax/swing/JTree/4314199/bug4314199.html
@@ -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
diff --git a/jdk/test/javax/swing/JTree/4908142/bug4908142.java b/jdk/test/javax/swing/JTree/4908142/bug4908142.java
index 58cb1ea..df18d08 100644
--- a/jdk/test/javax/swing/JTree/4908142/bug4908142.java
+++ b/jdk/test/javax/swing/JTree/4908142/bug4908142.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/javax/swing/JTree/6263446/bug6263446.java b/jdk/test/javax/swing/JTree/6263446/bug6263446.java
index b50a633..b8e0dee 100644
--- a/jdk/test/javax/swing/JTree/6263446/bug6263446.java
+++ b/jdk/test/javax/swing/JTree/6263446/bug6263446.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/javax/swing/SpringLayout/4726194/bug4726194.java b/jdk/test/javax/swing/SpringLayout/4726194/bug4726194.java
index 2516910..5199be5 100644
--- a/jdk/test/javax/swing/SpringLayout/4726194/bug4726194.java
+++ b/jdk/test/javax/swing/SpringLayout/4726194/bug4726194.java
@@ -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
diff --git a/jdk/test/javax/swing/SwingUtilities/7170657/bug7170657.java b/jdk/test/javax/swing/SwingUtilities/7170657/bug7170657.java
index 8197b7f..99c04a5 100644
--- a/jdk/test/javax/swing/SwingUtilities/7170657/bug7170657.java
+++ b/jdk/test/javax/swing/SwingUtilities/7170657/bug7170657.java
@@ -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
diff --git a/jdk/test/javax/swing/border/Test4129681.html b/jdk/test/javax/swing/border/Test4129681.html
index 4eee263..c80b417 100644
--- a/jdk/test/javax/swing/border/Test4129681.html
+++ b/jdk/test/javax/swing/border/Test4129681.html
@@ -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
diff --git a/jdk/test/javax/swing/border/Test4243289.html b/jdk/test/javax/swing/border/Test4243289.html
index 6aac9af..5616bd8 100644
--- a/jdk/test/javax/swing/border/Test4243289.html
+++ b/jdk/test/javax/swing/border/Test4243289.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 1999, 2008, 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
diff --git a/jdk/test/javax/swing/border/Test4247606.html b/jdk/test/javax/swing/border/Test4247606.html
index 7091e2f..5a45533 100644
--- a/jdk/test/javax/swing/border/Test4247606.html
+++ b/jdk/test/javax/swing/border/Test4247606.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2001, 2008, 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
diff --git a/jdk/test/javax/swing/border/Test4252164.html b/jdk/test/javax/swing/border/Test4252164.html
index 1a9c1c5..442be90 100644
--- a/jdk/test/javax/swing/border/Test4252164.html
+++ b/jdk/test/javax/swing/border/Test4252164.html
@@ -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
diff --git a/jdk/test/javax/swing/border/Test4760089.html b/jdk/test/javax/swing/border/Test4760089.html
index 88441b9..63c1ff8 100644
--- a/jdk/test/javax/swing/border/Test4760089.html
+++ b/jdk/test/javax/swing/border/Test4760089.html
@@ -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
diff --git a/jdk/test/javax/swing/border/Test6910490.html b/jdk/test/javax/swing/border/Test6910490.html
index 019f975..5cc40ce 100644
--- a/jdk/test/javax/swing/border/Test6910490.html
+++ b/jdk/test/javax/swing/border/Test6910490.html
@@ -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
diff --git a/jdk/test/javax/swing/border/Test7022041.java b/jdk/test/javax/swing/border/Test7022041.java
index 747c111..9149b1b 100644
--- a/jdk/test/javax/swing/border/Test7022041.java
+++ b/jdk/test/javax/swing/border/Test7022041.java
@@ -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
diff --git a/jdk/test/javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java b/jdk/test/javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java
index fdd7e11..ba81023 100644
--- a/jdk/test/javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java
+++ b/jdk/test/javax/swing/plaf/windows/WindowsRootPaneUI/WrongAltProcessing/WrongAltProcessing.java
@@ -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
diff --git a/jdk/test/javax/swing/text/DefaultCaret/6938583/bug6938583.java b/jdk/test/javax/swing/text/DefaultCaret/6938583/bug6938583.java
index d7dc176..15cb80c 100644
--- a/jdk/test/javax/swing/text/DefaultCaret/6938583/bug6938583.java
+++ b/jdk/test/javax/swing/text/DefaultCaret/6938583/bug6938583.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/javax/swing/text/html/TableView/7030332/bug7030332.html b/jdk/test/javax/swing/text/html/TableView/7030332/bug7030332.html
index cceb31c..22dc03d 100644
--- a/jdk/test/javax/swing/text/html/TableView/7030332/bug7030332.html
+++ b/jdk/test/javax/swing/text/html/TableView/7030332/bug7030332.html
@@ -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
diff --git a/jdk/test/javax/swing/text/html/parser/Parser/7003777/bug7003777.java b/jdk/test/javax/swing/text/html/parser/Parser/7003777/bug7003777.java
index 93b6b56..d5877e6 100644
--- a/jdk/test/javax/swing/text/html/parser/Parser/7003777/bug7003777.java
+++ b/jdk/test/javax/swing/text/html/parser/Parser/7003777/bug7003777.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1097Test.java b/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1097Test.java
new file mode 100644
index 0000000..2daca44
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1097Test.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2014, 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 8033980
+ * @summary verify that offset in minutes in getTimeZone is converted correctly
+ * Note that JDK did not have this bug.
+ * @run main CalendarDuration1097Test
+ */
+
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ *
+ * @author Joe Wang huizhe.wang@oracle.com
+ */
+public class CalendarDuration1097Test {
+
+ /**
+ * main method.
+ *
+ * @param args Standard args.
+ */
+ public static void main(String[] args) {
+ try {
+ String dateTimeString = "0001-01-01T00:00:00.0000000-05:00";
+ DatatypeFactory dtf = DatatypeFactory.newInstance();
+ XMLGregorianCalendar cal = dtf.newXMLGregorianCalendar( dateTimeString );
+ System.out.println( "Expected: 0001-01-01T00:00:00.0000000-05:00");
+ System.out.println( "Actual:" + cal.toString() );
+ System.out.println( "toXMLFormat:" + cal.toXMLFormat() );
+ String test = cal.toString();
+ if (test.indexOf("E-7") > -1) {
+ throw new RuntimeException("Expected: 0001-01-01T00:00:00.0000000-05:00");
+ }
+ } catch (DatatypeConfigurationException ex) {
+ throw new RuntimeException(ex.getMessage());
+ }
+ }
+
+}
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1243Test.java b/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1243Test.java
new file mode 100644
index 0000000..147b13a
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1243Test.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2014, 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 8033980
+ * @summary verify that offset in minutes in getTimeZone is converted correctly
+ * @run main CalendarDuration1243Test
+ */
+
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ *
+ * @author Joe Wang huizhe.wang@oracle.com
+ */
+public class CalendarDuration1243Test {
+
+ /**
+ * main method.
+ *
+ * @param args Standard args.
+ */
+ public static void main(String[] args) {
+ try {
+ String dateTimeString = "2006-11-22T00:00:00.0+01:02";
+ DatatypeFactory dtf = DatatypeFactory.newInstance();
+ XMLGregorianCalendar cal = dtf.newXMLGregorianCalendar( dateTimeString );
+ System.out.println( "XMLGregCal:" + cal.toString() );
+ System.out.println( "GregCal:" + cal.toGregorianCalendar() );
+ String toGCal = cal.toGregorianCalendar().toString();
+ if (toGCal.indexOf("GMT+12:00") > -1) {
+ throw new RuntimeException("Expected GMT+01:02");
+ }
+ } catch (DatatypeConfigurationException ex) {
+ throw new RuntimeException(ex.getMessage());
+ }
+ }
+
+}
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1416Test.java b/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1416Test.java
new file mode 100644
index 0000000..1c65988
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1416Test.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2014, 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 8033980
+ * @summary test that invalid durations are caught
+ * @run main CalendarDuration1416Test
+ */
+
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+
+
+/**
+ *
+ * @author Joe Wang huizhe.wang@oracle.com
+ */
+public class CalendarDuration1416Test {
+
+ /**
+ * main method.
+ *
+ * @param args Standard args.
+ */
+ public static void main(String[] args) {
+ test1416("PT1D1H");
+ test1416("PT1D1H30M");
+ test1416("PT1D1H30S");
+ }
+
+ static void test1416(String d) {
+ try
+ {
+ DatatypeFactory dtf = DatatypeFactory.newInstance();
+ dtf.newDuration(d);
+ throw new Error("no bug for " + d);
+ } catch (DatatypeConfigurationException ex) {
+ fail(ex.getMessage());
+ }
+ catch (NullPointerException e) {
+ fail("NPE bug ! " + d);
+
+ }
+ catch(IllegalArgumentException e)
+ {
+ System.out.println("OK, BUG FIXED for " + d);
+ }
+
+ }
+
+ static void fail(String errMessage) {
+ throw new RuntimeException(errMessage);
+ }
+}
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/JDK6_Duration.ser b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK6_Duration.ser
new file mode 100644
index 0000000..9f101eb
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK6_Duration.ser
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/JDK6_XMLGregorianCalendar.ser b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK6_XMLGregorianCalendar.ser
new file mode 100644
index 0000000..6a63765
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK6_XMLGregorianCalendar.ser
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/JDK7_Duration.ser b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK7_Duration.ser
new file mode 100644
index 0000000..8ed643d
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK7_Duration.ser
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/JDK7_XMLGregorianCalendar.ser b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK7_XMLGregorianCalendar.ser
new file mode 100644
index 0000000..6a63765
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK7_XMLGregorianCalendar.ser
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/JDK8_Duration.ser b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK8_Duration.ser
new file mode 100644
index 0000000..8ed643d
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK8_Duration.ser
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/JDK8_XMLGregorianCalendar.ser b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK8_XMLGregorianCalendar.ser
new file mode 100644
index 0000000..6a63765
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK8_XMLGregorianCalendar.ser
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/JDK9_Duration.ser b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK9_Duration.ser
new file mode 100644
index 0000000..9f101eb
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK9_Duration.ser
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/JDK9_XMLGregorianCalendar.ser b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK9_XMLGregorianCalendar.ser
new file mode 100644
index 0000000..80375b6
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/JDK9_XMLGregorianCalendar.ser
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/datatype/8033980/SerializationTest.java b/jdk/test/javax/xml/jaxp/datatype/8033980/SerializationTest.java
new file mode 100644
index 0000000..c8fa0d4
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/SerializationTest.java
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 2014, 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 8033980
+ * @summary verify serialization compatibility for XMLGregorianCalendar and Duration
+ * @run main SerializationTest read
+ */
+
+import java.io.*;
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.Duration;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+/**
+ * use "read" to test compatibility
+ * SerializationTest read
+ *
+ * use "write" to create test files
+ * SerializationTest write javaVersion
+ * where javaVersion is 6, 7, 8, or 9
+ *
+ * @author huizhe.wang@oracle.com</a>
+ */
+public class SerializationTest {
+
+ final String FILENAME_CAL = "_XMLGregorianCalendar.ser";
+ final String FILENAME_DURATION = "_Duration.ser";
+ String filePath;
+
+ {
+ filePath = System.getProperty("test.src");
+ if (filePath == null) {
+ //current directory
+ filePath = System.getProperty("user.dir");
+ }
+ filePath += File.separator;
+ }
+ final String EXPECTED_CAL = "0001-01-01T00:00:00.0000000-05:00";
+ final String EXPECTED_DURATION = "P1Y1M1DT1H1M1S";
+ static String[] JDK = {"JDK6", "JDK7", "JDK8", "JDK9"};
+
+ public static void main(String[] args) {
+ SerializationTest test = new SerializationTest();
+
+ if (args[0].equalsIgnoreCase("read")) {
+ test.testReadCal();
+ test.testReadDuration();
+ test.report();
+ } else {
+ int ver = Integer.valueOf(args[1]).intValue();
+ test.createTestFile(JDK[ver - 6]);
+ }
+
+ }
+
+ public void testReadCal() {
+ try {
+ for (String javaVersion : JDK) {
+ XMLGregorianCalendar d1 = (XMLGregorianCalendar) fromFile(
+ javaVersion + FILENAME_CAL);
+ if (!d1.toString().equalsIgnoreCase(EXPECTED_CAL)) {
+ fail("Java version: " + javaVersion
+ + "\nExpected: " + EXPECTED_CAL
+ + "\nActual: " + d1.toString());
+ } else {
+ success("testReadCal: read " + javaVersion + " serialized file, passed.");
+ }
+ }
+ } catch (ClassNotFoundException ex) {
+ fail("testReadCal: " + ex.getMessage());
+ } catch (IOException ex) {
+ fail("testReadCal: " + ex.getMessage());
+ }
+ }
+
+ public void testReadDuration() {
+ try {
+ for (String javaVersion : JDK) {
+ Duration d1 = (Duration) fromFile(
+ javaVersion + FILENAME_DURATION);
+ if (!d1.toString().equalsIgnoreCase(EXPECTED_DURATION)) {
+ fail("Java version: " + javaVersion
+ + "\nExpected: " + EXPECTED_DURATION
+ + "\nActual: " + d1.toString());
+ } else {
+ success("testReadDuration: read " + javaVersion + " serialized file, passed.");
+ }
+ }
+ } catch (ClassNotFoundException ex) {
+ fail("testReadDuration: " + ex.getMessage());
+ } catch (IOException ex) {
+ fail("testReadDuration: " + ex.getMessage());
+ }
+ }
+
+ /**
+ * Create test files
+ *
+ * @param javaVersion JDK version
+ */
+ public void createTestFile(String javaVersion) {
+ try {
+ DatatypeFactory dtf = DatatypeFactory.newInstance();
+ XMLGregorianCalendar c = dtf.newXMLGregorianCalendar(EXPECTED_CAL);
+ Duration d = dtf.newDuration(EXPECTED_DURATION);
+ toFile((Serializable) c, filePath + javaVersion + FILENAME_CAL);
+ toFile((Serializable) d, filePath + javaVersion + FILENAME_DURATION);
+ } catch (Exception e) {
+ fail(e.getMessage());
+ }
+ }
+
+ /**
+ * Read the object from a file.
+ */
+ private static Object fromFile(String filePath) throws IOException,
+ ClassNotFoundException {
+ InputStream streamIn = SerializationTest.class.getResourceAsStream(
+ filePath);
+ ObjectInputStream objectinputstream = new ObjectInputStream(streamIn);
+ Object o = objectinputstream.readObject();
+ return o;
+ }
+
+ /**
+ * Write the object to a file.
+ */
+ private static void toFile(Serializable o, String filePath) throws IOException {
+ FileOutputStream fout = new FileOutputStream(filePath, true);
+ ObjectOutputStream oos = new ObjectOutputStream(fout);
+ oos.writeObject(o);
+ oos.close();
+ }
+
+ static String errMessage;
+ int passed = 0, failed = 0;
+
+ void fail(String errMsg) {
+ if (errMessage == null) {
+ errMessage = errMsg;
+ } else {
+ errMessage = errMessage + "\n" + errMsg;
+ }
+ failed++;
+ }
+
+ void success(String msg) {
+ passed++;
+ System.out.println(msg);
+ }
+
+ public void report() {
+
+ System.out.println("\nNumber of tests passed: " + passed);
+ System.out.println("Number of tests failed: " + failed + "\n");
+
+ if (errMessage != null) {
+ throw new RuntimeException(errMessage);
+ }
+ }
+}
diff --git a/jdk/test/javax/xml/jaxp/parsers/8027359/FragmentScannerBufferLimitTest.java b/jdk/test/javax/xml/jaxp/parsers/8027359/FragmentScannerBufferLimitTest.java
new file mode 100644
index 0000000..7f40821
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/parsers/8027359/FragmentScannerBufferLimitTest.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2014, SAP AG. 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 8034087 8027359
+ * @summary XML parser may overwrite element content if that content falls onto the border of an entity scanner buffer
+ * @run main FragmentScannerBufferLimitTest
+ */
+import java.io.*;
+
+import javax.xml.parsers.*;
+import javax.xml.transform.*;
+import org.w3c.dom.*;
+import org.xml.sax.*;
+
+/**
+ * Test for overwriting of XML element content by the XML parser when reading over buffer
+ * limits.
+ *
+ * We create a simple XML document of the form:
+ *
+ * <?xml version=\"1.1\"?>
+ * <ROOT>
+ * <FILLER>ffffffff...fffff</FILLER>
+ * <TEST>content</TEST><TEST2>content2</TEST2>
+ * <FILLER>ffffffff...fffffffff</FILLER>
+ * </ROOT>
+ *
+ * What's important here is, that the test content is at the border of an entity scanner
+ * buffer (XMLEntityScanner uses 8192 byte buffers). That's why there are filler elements
+ * of sufficient length that ensure there is a buffer break inside the test content
+ * and there is enough to read to require another buffer read after the content has been
+ * read.
+ *
+ * With the faulty implementation, the test content gets overwritten with characters
+ * read from the next buffer, i.e. 'f's.
+ *
+ * @author steffen.schreiber@sap.com
+ */
+public class FragmentScannerBufferLimitTest {
+
+ static int errCount = 0;
+
+ /**
+ * Check the test content.
+ */
+ public static void main(String[] args) throws ParserConfigurationException,
+ SAXException, IOException, TransformerConfigurationException,
+ TransformerException, TransformerFactoryConfigurationError {
+
+ String testString = "<TEST>content</TEST><TEST2>content2</TEST2>";
+
+ for (int i = 0; i < testString.length(); i++) {
+ test(createDocument(testString.toString(), i), ""+ i);
+ }
+
+ if (errCount == 0) {
+ System.out.println("OK");
+ }
+ else {
+ System.out.println("ERROR");
+ throw new RuntimeException("Parsing error: element content has been overwritten");
+ }
+ }
+
+ /**
+ * Create the test XML document.
+ * @param testString the test content string
+ * @param bufferLimitPosition the position in the string where the buffer should break
+ * @return the document
+ */
+ private static String createDocument(String testString, int bufferLimitPosition) throws UnsupportedEncodingException {
+ StringBuilder result = new StringBuilder();
+ result.append("<?xml version=\"1.1\"?>");
+ result.append("<ROOT>");
+
+ int fillerLength = 8192 - bufferLimitPosition;
+ createFiller(result, fillerLength);
+
+ result.append(testString);
+
+ createFiller(result, 9000);
+ result.append("</ROOT>");
+ return result.toString();
+ }
+
+ /**
+ * Create the filler element of the given length.
+ * @param buffer the output buffer
+ * @param length the required length of the element, including the element tags
+ */
+ private static void createFiller(StringBuilder buffer, int length) {
+ buffer.append("<FILLER>");
+ int fillLength = length - "<FILLER></FILLER>".length();
+ for (int i=0; i<fillLength; i++) {
+ buffer.append('f');
+ }
+ buffer.append("</FILLER>");
+ }
+
+
+ private static void test(String document, String testName) throws SAXException, IOException, ParserConfigurationException {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder builder = factory.newDocumentBuilder();
+
+ Document doc = builder.parse(new ByteArrayInputStream(document.getBytes("UTF-8")));
+
+ // check that there is the root node
+ NodeList roots = doc.getElementsByTagName("ROOT");
+ assert roots.getLength() == 1;
+ Node root = roots.item(0);
+
+ // check that root has children "FILLER" and "TEST"
+ NodeList children = root.getChildNodes();
+ assert children.getLength() == 4;
+ assert children.item(0).getNodeName().equals("FILLER");
+ assert children.item(1).getNodeName().equals("TEST");
+ assert children.item(2).getNodeName().equals("TEST2");
+ assert children.item(3).getNodeName().equals("FILLER");
+
+ // check that the test node has content "content"
+ checkContent(children.item(1).getTextContent(), "content", document);
+ checkContent(children.item(2).getTextContent(), "content2", document);
+ }
+
+ private static void checkContent(String found, String expected, String document) {
+ if (! (found.equals(expected))) {
+ errCount++;
+ int bufferStart = "<?xml version=\"1.1\"?><ROOT>".length() +1;
+ int bufferStart2 = bufferStart + 8192;
+ System.err.println("\nError:: expected \"" + expected
+ + "\", but found \"" + found + "\"!");
+ System.err.println("Buffer was (probably): [ ... "
+ + document.substring(bufferStart2 - 20, bufferStart2) + "] ["
+ + document.substring(bufferStart2, bufferStart2 + 30) + " ... ]");
+ }
+ }
+}
diff --git a/jdk/test/javax/xml/jaxp/parsers/8032909/XSLT.java b/jdk/test/javax/xml/jaxp/parsers/8032909/XSLT.java
new file mode 100644
index 0000000..d133920
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/parsers/8032909/XSLT.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2014, 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 8032909
+ * @summary Test for XSLT string-length function with complementary chars
+ * @compile XSLT.java
+ * @run main/othervm XSLT a_utf16.xml a_utf16.xsl 1270
+ * @run main/othervm XSLT a_utf8.xml a_utf8.xsl 130
+ * @run main/othervm XSLT a_windows1252.xml a_windows1252.xsl 200
+ */
+
+import java.io.ByteArrayOutputStream;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+
+public class XSLT {
+ public static void main(String[] args) throws Exception {
+
+ ByteArrayOutputStream resStream = new ByteArrayOutputStream();
+ TransformerFactory trf = TransformerFactory.newInstance();
+ Transformer tr = trf.newTransformer(new StreamSource(System.getProperty("test.src", ".")+"/"+args[1]));
+ String res, expectedRes;
+ tr.transform( new StreamSource(System.getProperty("test.src", ".")+"/"+args[0]), new StreamResult(resStream));
+ res = resStream.toString();
+ System.out.println("Transformation completed. Result:"+res);
+
+ if (!res.replaceAll("\\s","").equals(args[2]))
+ throw new RuntimeException("Incorrect transformation result. Expected:"+args[2]+" Observed:"+res);
+ }
+}
diff --git a/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf16.xml b/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf16.xml
new file mode 100644
index 0000000..fae65cc
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf16.xml
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf16.xsl b/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf16.xsl
new file mode 100644
index 0000000..4d88603
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf16.xsl
Binary files differ
diff --git a/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf8.xml b/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf8.xml
new file mode 100644
index 0000000..a3b327f
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf8.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<testxml>
+<Element>UTF-8_Element</Element>
+<Element2></Element2>
+</testxml>
diff --git a/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf8.xsl b/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf8.xsl
new file mode 100644
index 0000000..b7e222b
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/parsers/8032909/a_utf8.xsl
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:output method="text" />
+
+<xsl:template match="Element">
+<xsl:value-of select="string-length(.)"/>
+</xsl:template>
+<xsl:template match="Element2">
+<xsl:value-of select="string-length(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/jdk/test/javax/xml/jaxp/parsers/8032909/a_windows1252.xml b/jdk/test/javax/xml/jaxp/parsers/8032909/a_windows1252.xml
new file mode 100644
index 0000000..6d5726e
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/parsers/8032909/a_windows1252.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="windows-1252"?>
+<testxml>
+<Element>Windows-1252_Element</Element>
+<Element2></Element2>
+</testxml>
diff --git a/jdk/test/javax/xml/jaxp/parsers/8032909/a_windows1252.xsl b/jdk/test/javax/xml/jaxp/parsers/8032909/a_windows1252.xsl
new file mode 100644
index 0000000..ff50bf8
--- /dev/null
+++ b/jdk/test/javax/xml/jaxp/parsers/8032909/a_windows1252.xsl
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="windows-1252"?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:output method="text" />
+
+<xsl:template match="Element">
+<xsl:value-of select="string-length(.)"/>
+</xsl:template>
+<xsl:template match="Element2">
+<xsl:value-of select="string-length(.)"/>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/jdk/test/javax/xml/jaxp/transform/8004476/TestBase.java b/jdk/test/javax/xml/jaxp/transform/8004476/TestBase.java
index 4b6ea70..11333fa 100644
--- a/jdk/test/javax/xml/jaxp/transform/8004476/TestBase.java
+++ b/jdk/test/javax/xml/jaxp/transform/8004476/TestBase.java
@@ -1,7 +1,26 @@
/*
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
- * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ * 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.
*/
+
import java.security.Policy;
/**
diff --git a/jdk/test/jdk/lambda/ArrayCtorRefTest.java b/jdk/test/jdk/lambda/ArrayCtorRefTest.java
index 7189fc4..c0eedfd 100644
--- a/jdk/test/jdk/lambda/ArrayCtorRefTest.java
+++ b/jdk/test/jdk/lambda/ArrayCtorRefTest.java
@@ -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
diff --git a/jdk/test/jdk/lambda/FDTest.java b/jdk/test/jdk/lambda/FDTest.java
index adda12a..c207a61 100644
--- a/jdk/test/jdk/lambda/FDTest.java
+++ b/jdk/test/jdk/lambda/FDTest.java
@@ -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
diff --git a/jdk/test/jdk/lambda/LambdaTranslationCompoundSamTest.java b/jdk/test/jdk/lambda/LambdaTranslationCompoundSamTest.java
index a8006b4..a89ea94 100644
--- a/jdk/test/jdk/lambda/LambdaTranslationCompoundSamTest.java
+++ b/jdk/test/jdk/lambda/LambdaTranslationCompoundSamTest.java
@@ -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
diff --git a/jdk/test/jdk/lambda/LambdaTranslationInInterface.java b/jdk/test/jdk/lambda/LambdaTranslationInInterface.java
index 20505a4..65d3f07 100644
--- a/jdk/test/jdk/lambda/LambdaTranslationInInterface.java
+++ b/jdk/test/jdk/lambda/LambdaTranslationInInterface.java
@@ -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
diff --git a/jdk/test/jdk/lambda/LambdaTranslationTest1.java b/jdk/test/jdk/lambda/LambdaTranslationTest1.java
index acfc904..28ad3b6 100644
--- a/jdk/test/jdk/lambda/LambdaTranslationTest1.java
+++ b/jdk/test/jdk/lambda/LambdaTranslationTest1.java
@@ -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
diff --git a/jdk/test/jdk/lambda/LambdaTranslationTest2.java b/jdk/test/jdk/lambda/LambdaTranslationTest2.java
index 59263e5..4b1c8a1 100644
--- a/jdk/test/jdk/lambda/LambdaTranslationTest2.java
+++ b/jdk/test/jdk/lambda/LambdaTranslationTest2.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestInnerDefault.java b/jdk/test/jdk/lambda/MethodReferenceTestInnerDefault.java
index ea9a76d..1074bdb 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestInnerDefault.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestInnerDefault.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestInnerInstance.java b/jdk/test/jdk/lambda/MethodReferenceTestInnerInstance.java
index 2aa1526..0f1a138 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestInnerInstance.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestInnerInstance.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestInnerVarArgsThis.java b/jdk/test/jdk/lambda/MethodReferenceTestInnerVarArgsThis.java
index 06c58dc..beac6f5 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestInnerVarArgsThis.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestInnerVarArgsThis.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestInstance.java b/jdk/test/jdk/lambda/MethodReferenceTestInstance.java
index 2e06347..f8bb048 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestInstance.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestInstance.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestInstanceMethod.java b/jdk/test/jdk/lambda/MethodReferenceTestInstanceMethod.java
index 12faf39..bb6ace2 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestInstanceMethod.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestInstanceMethod.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestKinds.java b/jdk/test/jdk/lambda/MethodReferenceTestKinds.java
index 8f11bc2..dc45735 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestKinds.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestKinds.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestNew.java b/jdk/test/jdk/lambda/MethodReferenceTestNew.java
index b556296..baec244 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestNew.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestNew.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestNewInner.java b/jdk/test/jdk/lambda/MethodReferenceTestNewInner.java
index 084eec3..a4f17d0 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestNewInner.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestNewInner.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestSuper.java b/jdk/test/jdk/lambda/MethodReferenceTestSuper.java
index 1fee7e1..211afb1 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestSuper.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestSuper.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestSuperDefault.java b/jdk/test/jdk/lambda/MethodReferenceTestSuperDefault.java
index 103961e..f2e2c18 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestSuperDefault.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestSuperDefault.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestTypeConversion.java b/jdk/test/jdk/lambda/MethodReferenceTestTypeConversion.java
index e690a9f..e36b724 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestTypeConversion.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestTypeConversion.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestVarArgs.java b/jdk/test/jdk/lambda/MethodReferenceTestVarArgs.java
index 0e58edb..d2926f0 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestVarArgs.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestVarArgs.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestVarArgsExt.java b/jdk/test/jdk/lambda/MethodReferenceTestVarArgsExt.java
index 8101722..a3a967c 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestVarArgsExt.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestVarArgsExt.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestVarArgsSuper.java b/jdk/test/jdk/lambda/MethodReferenceTestVarArgsSuper.java
index 2c37099..82e417c 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestVarArgsSuper.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestVarArgsSuper.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestVarArgsSuperDefault.java b/jdk/test/jdk/lambda/MethodReferenceTestVarArgsSuperDefault.java
index 8f3bd87..8388b60 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestVarArgsSuperDefault.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestVarArgsSuperDefault.java
@@ -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
diff --git a/jdk/test/jdk/lambda/MethodReferenceTestVarArgsThis.java b/jdk/test/jdk/lambda/MethodReferenceTestVarArgsThis.java
index eb5dfca..2681a22 100644
--- a/jdk/test/jdk/lambda/MethodReferenceTestVarArgsThis.java
+++ b/jdk/test/jdk/lambda/MethodReferenceTestVarArgsThis.java
@@ -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
diff --git a/jdk/test/jdk/lambda/TestInnerCtorRef.java b/jdk/test/jdk/lambda/TestInnerCtorRef.java
index 7b9ac1d..900fe88 100644
--- a/jdk/test/jdk/lambda/TestInnerCtorRef.java
+++ b/jdk/test/jdk/lambda/TestInnerCtorRef.java
@@ -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
diff --git a/jdk/test/jdk/lambda/TestPrivateCtorRef.java b/jdk/test/jdk/lambda/TestPrivateCtorRef.java
index a358a04..3ee52aa 100644
--- a/jdk/test/jdk/lambda/TestPrivateCtorRef.java
+++ b/jdk/test/jdk/lambda/TestPrivateCtorRef.java
@@ -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
diff --git a/jdk/test/jdk/lambda/separate/AttributeInjector.java b/jdk/test/jdk/lambda/separate/AttributeInjector.java
index 52e3f76..5268952 100644
--- a/jdk/test/jdk/lambda/separate/AttributeInjector.java
+++ b/jdk/test/jdk/lambda/separate/AttributeInjector.java
@@ -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
diff --git a/jdk/test/jdk/lambda/separate/ClassFile.java b/jdk/test/jdk/lambda/separate/ClassFile.java
index 919df1a..d49e478 100644
--- a/jdk/test/jdk/lambda/separate/ClassFile.java
+++ b/jdk/test/jdk/lambda/separate/ClassFile.java
@@ -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
diff --git a/jdk/test/jdk/lambda/separate/ClassFilePreprocessor.java b/jdk/test/jdk/lambda/separate/ClassFilePreprocessor.java
index bb91746..6314bf3 100644
--- a/jdk/test/jdk/lambda/separate/ClassFilePreprocessor.java
+++ b/jdk/test/jdk/lambda/separate/ClassFilePreprocessor.java
@@ -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
diff --git a/jdk/test/jdk/lambda/separate/ClassToInterfaceConverter.java b/jdk/test/jdk/lambda/separate/ClassToInterfaceConverter.java
index 8da05ac..7efedc9 100644
--- a/jdk/test/jdk/lambda/separate/ClassToInterfaceConverter.java
+++ b/jdk/test/jdk/lambda/separate/ClassToInterfaceConverter.java
@@ -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
diff --git a/jdk/test/jdk/lambda/separate/Compiler.java b/jdk/test/jdk/lambda/separate/Compiler.java
index cbee576..48e25d4 100644
--- a/jdk/test/jdk/lambda/separate/Compiler.java
+++ b/jdk/test/jdk/lambda/separate/Compiler.java
@@ -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
diff --git a/jdk/test/jdk/lambda/separate/DirectedClassLoader.java b/jdk/test/jdk/lambda/separate/DirectedClassLoader.java
index 726edab..9e250a6 100644
--- a/jdk/test/jdk/lambda/separate/DirectedClassLoader.java
+++ b/jdk/test/jdk/lambda/separate/DirectedClassLoader.java
@@ -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
diff --git a/jdk/test/jdk/lambda/separate/SourceModel.java b/jdk/test/jdk/lambda/separate/SourceModel.java
index 1fe3e9e..faf3216 100644
--- a/jdk/test/jdk/lambda/separate/SourceModel.java
+++ b/jdk/test/jdk/lambda/separate/SourceModel.java
@@ -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
diff --git a/jdk/test/jdk/lambda/separate/TestHarness.java b/jdk/test/jdk/lambda/separate/TestHarness.java
index 9a4d067..e93f003 100644
--- a/jdk/test/jdk/lambda/separate/TestHarness.java
+++ b/jdk/test/jdk/lambda/separate/TestHarness.java
@@ -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
diff --git a/jdk/test/jdk/lambda/shapegen/ClassCase.java b/jdk/test/jdk/lambda/shapegen/ClassCase.java
index 7ad096a..85e942d 100644
--- a/jdk/test/jdk/lambda/shapegen/ClassCase.java
+++ b/jdk/test/jdk/lambda/shapegen/ClassCase.java
@@ -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
diff --git a/jdk/test/jdk/lambda/shapegen/Hierarchy.java b/jdk/test/jdk/lambda/shapegen/Hierarchy.java
index 2315a9e..64443d6 100644
--- a/jdk/test/jdk/lambda/shapegen/Hierarchy.java
+++ b/jdk/test/jdk/lambda/shapegen/Hierarchy.java
@@ -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
diff --git a/jdk/test/jdk/lambda/shapegen/HierarchyGenerator.java b/jdk/test/jdk/lambda/shapegen/HierarchyGenerator.java
index 4bf5af9..9511c41 100644
--- a/jdk/test/jdk/lambda/shapegen/HierarchyGenerator.java
+++ b/jdk/test/jdk/lambda/shapegen/HierarchyGenerator.java
@@ -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
diff --git a/jdk/test/jdk/lambda/shapegen/Rule.java b/jdk/test/jdk/lambda/shapegen/Rule.java
index 5995ecd..7ff02e0 100644
--- a/jdk/test/jdk/lambda/shapegen/Rule.java
+++ b/jdk/test/jdk/lambda/shapegen/Rule.java
@@ -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
diff --git a/jdk/test/jdk/lambda/shapegen/RuleGroup.java b/jdk/test/jdk/lambda/shapegen/RuleGroup.java
index b67ffcd..ef194ab 100644
--- a/jdk/test/jdk/lambda/shapegen/RuleGroup.java
+++ b/jdk/test/jdk/lambda/shapegen/RuleGroup.java
@@ -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
diff --git a/jdk/test/jdk/lambda/shapegen/TTNode.java b/jdk/test/jdk/lambda/shapegen/TTNode.java
index 141b052..48310df 100644
--- a/jdk/test/jdk/lambda/shapegen/TTNode.java
+++ b/jdk/test/jdk/lambda/shapegen/TTNode.java
@@ -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
diff --git a/jdk/test/jdk/lambda/shapegen/TTParser.java b/jdk/test/jdk/lambda/shapegen/TTParser.java
index 6f56ac7..ffabee5 100644
--- a/jdk/test/jdk/lambda/shapegen/TTParser.java
+++ b/jdk/test/jdk/lambda/shapegen/TTParser.java
@@ -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
diff --git a/jdk/test/jdk/lambda/shapegen/TTShape.java b/jdk/test/jdk/lambda/shapegen/TTShape.java
index 8064387..07b84e2 100644
--- a/jdk/test/jdk/lambda/shapegen/TTShape.java
+++ b/jdk/test/jdk/lambda/shapegen/TTShape.java
@@ -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
diff --git a/jdk/test/jdk/lambda/vm/DefaultMethodRegressionTests.java b/jdk/test/jdk/lambda/vm/DefaultMethodRegressionTests.java
index fc206d2..b8ad7c7 100644
--- a/jdk/test/jdk/lambda/vm/DefaultMethodRegressionTests.java
+++ b/jdk/test/jdk/lambda/vm/DefaultMethodRegressionTests.java
@@ -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
diff --git a/jdk/test/jdk/lambda/vm/InterfaceAccessFlagsTest.java b/jdk/test/jdk/lambda/vm/InterfaceAccessFlagsTest.java
index b33ea3e..ea2fd1f 100644
--- a/jdk/test/jdk/lambda/vm/InterfaceAccessFlagsTest.java
+++ b/jdk/test/jdk/lambda/vm/InterfaceAccessFlagsTest.java
@@ -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
diff --git a/jdk/test/jdk/lambda/vm/StrictfpDefault.java b/jdk/test/jdk/lambda/vm/StrictfpDefault.java
index 9b7e168..f922012 100644
--- a/jdk/test/jdk/lambda/vm/StrictfpDefault.java
+++ b/jdk/test/jdk/lambda/vm/StrictfpDefault.java
@@ -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
diff --git a/jdk/test/lib/security/java.policy/Ext_AllPolicy.sh b/jdk/test/lib/security/java.policy/Ext_AllPolicy.sh
index fff2a34..b3bd5d6 100644
--- a/jdk/test/lib/security/java.policy/Ext_AllPolicy.sh
+++ b/jdk/test/lib/security/java.policy/Ext_AllPolicy.sh
@@ -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
diff --git a/jdk/test/lib/testlibrary/AssertsTest.java b/jdk/test/lib/testlibrary/AssertsTest.java
index e59a252..a9efe21 100644
--- a/jdk/test/lib/testlibrary/AssertsTest.java
+++ b/jdk/test/lib/testlibrary/AssertsTest.java
@@ -25,7 +25,6 @@
/* @test
* @summary Tests the different assertions in the Assert class
- * @library /testlibrary
*/
public class AssertsTest {
private static class Foo implements Comparable<Foo> {
@@ -37,6 +36,9 @@
public int compareTo(Foo f) {
return new Integer(id).compareTo(new Integer(f.id));
}
+ public String toString() {
+ return "Foo(" + Integer.toString(id) + ")";
+ }
}
public static void main(String[] args) throws Exception {
@@ -50,6 +52,7 @@
testNotNull();
testTrue();
testFalse();
+ testFail();
}
private static void testLessThan() throws Exception {
@@ -72,7 +75,7 @@
private static void testEquals() throws Exception {
expectPass(Assertion.EQ, 1, 1);
- expectPass(Assertion.EQ, null, null);
+ expectPass(Assertion.EQ, (Comparable)null, (Comparable)null);
Foo f1 = new Foo(1);
expectPass(Assertion.EQ, f1, f1);
@@ -109,13 +112,13 @@
Foo f2 = new Foo(1);
expectPass(Assertion.NE, f1, f2);
- expectFail(Assertion.NE, null, null);
+ expectFail(Assertion.NE, (Comparable)null, (Comparable)null);
expectFail(Assertion.NE, f1, f1);
expectFail(Assertion.NE, 1, 1);
}
private static void testNull() throws Exception {
- expectPass(Assertion.NULL, null);
+ expectPass(Assertion.NULL, (Comparable)null);
expectFail(Assertion.NULL, 1);
}
@@ -123,7 +126,7 @@
private static void testNotNull() throws Exception {
expectPass(Assertion.NOTNULL, 1);
- expectFail(Assertion.NOTNULL, null);
+ expectFail(Assertion.NOTNULL, (Comparable)null);
}
private static void testTrue() throws Exception {
@@ -138,6 +141,36 @@
expectFail(Assertion.FALSE, true);
}
+ private static void testFail() throws Exception {
+ try {
+ fail();
+ } catch (RuntimeException re) {
+ assertEquals("fail", re.getMessage());
+ }
+
+ try {
+ fail("Failure");
+ } catch (RuntimeException re) {
+ assertEquals("Failure", re.getMessage());
+ }
+
+ Exception e = new Exception("the cause");
+ try {
+ fail("Fail w/ cause", e);
+ } catch (RuntimeException re) {
+ assertEquals("Fail w/ cause", re.getMessage());
+ assertEquals(e, re.getCause(), "Cause mismatch");
+ }
+
+ try {
+ fail(1, 2, "Different", "vs");
+ } catch (RuntimeException re) {
+ assertEquals("Different <1> vs <2>", re.getMessage());
+ }
+ }
+
+
+
private static <T extends Comparable<T>> void expectPass(Assertion assertion, T ... args)
throws Exception {
Assertion.run(assertion, args);
diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java b/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java
index d5e1361..573fde9 100644
--- a/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java
+++ b/jdk/test/lib/testlibrary/jdk/testlibrary/Asserts.java
@@ -23,16 +23,17 @@
package jdk.testlibrary;
+import java.util.Objects;
+
/**
* Asserts that can be used for verifying assumptions in tests.
*
- * An assertion will throw a {@link RuntimeException} if the assertion isn't
- * valid. All the asserts can be imported into a test by using a static
- * import:
+ * An assertion will throw a {@link RuntimeException} if the assertion isn't true.
+ * All the asserts can be imported into a test by using a static import:
*
* <pre>
* {@code
- * import static com.oracle.java.testlibrary.Asserts.*;
+ * import static jdk.testlibrary.Asserts.*;
* }
*
* Always provide a message describing the assumption if the line number of the
@@ -45,111 +46,147 @@
public class Asserts {
/**
- * Shorthand for {@link #assertLessThan(T, T)}.
+ * Shorthand for {@link #assertLessThan(Comparable, Comparable)}.
*
- * @see #assertLessThan(T, T)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertLessThan(Comparable, Comparable)
*/
public static <T extends Comparable<T>> void assertLT(T lhs, T rhs) {
assertLessThan(lhs, rhs);
}
/**
- * Shorthand for {@link #assertLessThan(T, T, String)}.
+ * Shorthand for {@link #assertLessThan(Comparable, Comparable, String)}.
*
- * @see #assertLessThan(T, T, String)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @see #assertLessThan(Comparable, Comparable, String)
*/
public static <T extends Comparable<T>> void assertLT(T lhs, T rhs, String msg) {
assertLessThan(lhs, rhs, msg);
}
/**
- * Calls {@link #assertLessThan(T, T, String)} with a default message.
+ * Calls {@link #assertLessThan(Comparable, Comparable, String)} with a default message.
*
- * @see #assertLessThan(T, T, String)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertLessThan(Comparable, Comparable, String)
*/
public static <T extends Comparable<T>> void assertLessThan(T lhs, T rhs) {
- String msg = "Expected that " + format(lhs) + " < " + format(rhs);
- assertLessThan(lhs, rhs, msg);
+ assertLessThan(lhs, rhs, null);
}
/**
* Asserts that {@code lhs} is less than {@code rhs}.
*
+ * @param <T> a type
* @param lhs The left hand side of the comparison.
* @param rhs The right hand side of the comparison.
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static <T extends Comparable<T>>void assertLessThan(T lhs, T rhs, String msg) {
- assertTrue(compare(lhs, rhs, msg) < 0, msg);
+ if (!(compare(lhs, rhs, msg) < 0)) {
+ msg = Objects.toString(msg, "assertLessThan")
+ + ": expected that " + Objects.toString(lhs)
+ + " < " + Objects.toString(rhs);
+ fail(msg);
+ }
}
/**
- * Shorthand for {@link #assertLessThanOrEqual(T, T)}.
+ * Shorthand for {@link #assertLessThanOrEqual(Comparable, Comparable)}.
*
- * @see #assertLessThanOrEqual(T, T)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertLessThanOrEqual(Comparable, Comparable)
*/
public static <T extends Comparable<T>> void assertLTE(T lhs, T rhs) {
assertLessThanOrEqual(lhs, rhs);
}
/**
- * Shorthand for {@link #assertLessThanOrEqual(T, T, String)}.
+ * Shorthand for {@link #assertLessThanOrEqual(Comparable, Comparable, String)}.
*
- * @see #assertLessThanOrEqual(T, T, String)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @see #assertLessThanOrEqual(Comparable, Comparable, String)
*/
public static <T extends Comparable<T>> void assertLTE(T lhs, T rhs, String msg) {
assertLessThanOrEqual(lhs, rhs, msg);
}
/**
- * Calls {@link #assertLessThanOrEqual(T, T, String)} with a default message.
+ * Calls {@link #assertLessThanOrEqual(Comparable, Comparable, String)} with a default message.
*
- * @see #assertLessThanOrEqual(T, T, String)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertLessThanOrEqual(Comparable, Comparable, String)
*/
public static <T extends Comparable<T>> void assertLessThanOrEqual(T lhs, T rhs) {
- String msg = "Expected that " + format(lhs) + " <= " + format(rhs);
- assertLessThanOrEqual(lhs, rhs, msg);
+ assertLessThanOrEqual(lhs, rhs, null);
}
/**
* Asserts that {@code lhs} is less than or equal to {@code rhs}.
*
+ * @param <T> a type
* @param lhs The left hand side of the comparison.
* @param rhs The right hand side of the comparison.
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static <T extends Comparable<T>> void assertLessThanOrEqual(T lhs, T rhs, String msg) {
- assertTrue(compare(lhs, rhs, msg) <= 0, msg);
+ if (!(compare(lhs, rhs, msg) <= 0)) {
+ msg = Objects.toString(msg, "assertLessThanOrEqual")
+ + ": expected that " + Objects.toString(lhs)
+ + " <= " + Objects.toString(rhs);
+ fail(msg);
+ }
}
/**
- * Shorthand for {@link #assertEquals(T, T)}.
+ * Shorthand for {@link #assertEquals(Object, Object)}.
*
- * @see #assertEquals(T, T)
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertEquals(Object, Object)
*/
public static void assertEQ(Object lhs, Object rhs) {
assertEquals(lhs, rhs);
}
/**
- * Shorthand for {@link #assertEquals(T, T, String)}.
+ * Shorthand for {@link #assertEquals(Object, Object, String)}.
*
- * @see #assertEquals(T, T, String)
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @see #assertEquals(Object, Object, String)
*/
public static void assertEQ(Object lhs, Object rhs, String msg) {
assertEquals(lhs, rhs, msg);
}
/**
- * Calls {@link #assertEquals(T, T, String)} with a default message.
+ * Calls {@link #assertEquals(java.lang.Object, java.lang.Object, java.lang.String)} with a default message.
*
- * @see #assertEquals(T, T, String)
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertEquals(Object, Object, String)
*/
public static void assertEquals(Object lhs, Object rhs) {
- String msg = "Expected " + format(lhs) + " to equal " + format(rhs);
- assertEquals(lhs, rhs, msg);
+ assertEquals(lhs, rhs, null);
}
/**
@@ -157,125 +194,160 @@
*
* @param lhs The left hand side of the comparison.
* @param rhs The right hand side of the comparison.
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static void assertEquals(Object lhs, Object rhs, String msg) {
- if (lhs == null) {
- if (rhs != null) {
- error(msg);
- }
- } else {
- assertTrue(lhs.equals(rhs), msg);
+ if ((lhs != rhs) && ((lhs == null) || !(lhs.equals(rhs)))) {
+ msg = Objects.toString(msg, "assertEquals")
+ + ": expected " + Objects.toString(lhs)
+ + " to equal " + Objects.toString(rhs);
+ fail(msg);
}
}
/**
- * Shorthand for {@link #assertGreaterThanOrEqual(T, T)}.
+ * Shorthand for {@link #assertGreaterThanOrEqual(Comparable, Comparable)}.
*
- * @see #assertGreaterThanOrEqual(T, T)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertGreaterThanOrEqual(Comparable, Comparable)
*/
public static <T extends Comparable<T>> void assertGTE(T lhs, T rhs) {
assertGreaterThanOrEqual(lhs, rhs);
}
/**
- * Shorthand for {@link #assertGreaterThanOrEqual(T, T, String)}.
+ * Shorthand for {@link #assertGreaterThanOrEqual(Comparable, Comparable, String)}.
*
- * @see #assertGreaterThanOrEqual(T, T, String)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @see #assertGreaterThanOrEqual(Comparable, Comparable, String)
*/
public static <T extends Comparable<T>> void assertGTE(T lhs, T rhs, String msg) {
assertGreaterThanOrEqual(lhs, rhs, msg);
}
/**
- * Calls {@link #assertGreaterThanOrEqual(T, T, String)} with a default message.
+ * Calls {@link #assertGreaterThanOrEqual(Comparable, Comparable, String)} with a default message.
*
- * @see #assertGreaterThanOrEqual(T, T, String)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertGreaterThanOrEqual(Comparable, Comparable, String)
*/
public static <T extends Comparable<T>> void assertGreaterThanOrEqual(T lhs, T rhs) {
- String msg = "Expected that " + format(lhs) + " >= " + format(rhs);
- assertGreaterThanOrEqual(lhs, rhs, msg);
+ assertGreaterThanOrEqual(lhs, rhs, null);
}
/**
* Asserts that {@code lhs} is greater than or equal to {@code rhs}.
*
+ * @param <T> a type
* @param lhs The left hand side of the comparison.
* @param rhs The right hand side of the comparison.
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static <T extends Comparable<T>> void assertGreaterThanOrEqual(T lhs, T rhs, String msg) {
- assertTrue(compare(lhs, rhs, msg) >= 0, msg);
+ if (!(compare(lhs, rhs, msg) >= 0)) {
+ msg = Objects.toString(msg, "assertGreaterThanOrEqual")
+ + ": expected " + Objects.toString(lhs)
+ + " >= " + Objects.toString(rhs);
+ fail(msg);
+ }
}
/**
- * Shorthand for {@link #assertGreaterThan(T, T)}.
+ * Shorthand for {@link #assertGreaterThan(Comparable, Comparable)}.
*
- * @see #assertGreaterThan(T, T)
+ * @param <T> a type
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertGreaterThan(Comparable, Comparable)
*/
public static <T extends Comparable<T>> void assertGT(T lhs, T rhs) {
assertGreaterThan(lhs, rhs);
}
/**
- * Shorthand for {@link #assertGreaterThan(T, T, String)}.
+ * Shorthand for {@link #assertGreaterThan(Comparable, Comparable, String)}.
*
- * @see #assertGreaterThan(T, T, String)
+ * @param <T> a type
+ * @param lhs the left hand value
+ * @param rhs the right hand value
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @see #assertGreaterThan(Comparable, Comparable, String)
*/
public static <T extends Comparable<T>> void assertGT(T lhs, T rhs, String msg) {
assertGreaterThan(lhs, rhs, msg);
}
/**
- * Calls {@link #assertGreaterThan(T, T, String)} with a default message.
+ * Calls {@link #assertGreaterThan(Comparable, Comparable, String)} with a default message.
*
- * @see #assertGreaterThan(T, T, String)
+ * @param <T> a type
+ * @param lhs the left hand value
+ * @param rhs the right hand value
+ * @see #assertGreaterThan(Comparable, Comparable, String)
*/
public static <T extends Comparable<T>> void assertGreaterThan(T lhs, T rhs) {
- String msg = "Expected that " + format(lhs) + " > " + format(rhs);
- assertGreaterThan(lhs, rhs, msg);
+ assertGreaterThan(lhs, rhs, null);
}
/**
* Asserts that {@code lhs} is greater than {@code rhs}.
*
+ * @param <T> a type
* @param lhs The left hand side of the comparison.
* @param rhs The right hand side of the comparison.
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static <T extends Comparable<T>> void assertGreaterThan(T lhs, T rhs, String msg) {
- assertTrue(compare(lhs, rhs, msg) > 0, msg);
+ if (!(compare(lhs, rhs, msg) > 0)) {
+ msg = Objects.toString(msg, "assertGreaterThan")
+ + ": expected " + Objects.toString(lhs)
+ + " > " + Objects.toString(rhs);
+ fail(msg);
+ }
}
/**
- * Shorthand for {@link #assertNotEquals(T, T)}.
+ * Shorthand for {@link #assertNotEquals(Object, Object)}.
*
- * @see #assertNotEquals(T, T)
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertNotEquals(Object, Object)
*/
public static void assertNE(Object lhs, Object rhs) {
assertNotEquals(lhs, rhs);
}
/**
- * Shorthand for {@link #assertNotEquals(T, T, String)}.
+ * Shorthand for {@link #assertNotEquals(Object, Object, String)}.
*
- * @see #assertNotEquals(T, T, String)
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @see #assertNotEquals(Object, Object, String)
*/
public static void assertNE(Object lhs, Object rhs, String msg) {
assertNotEquals(lhs, rhs, msg);
}
/**
- * Calls {@link #assertNotEquals(T, T, String)} with a default message.
+ * Calls {@link #assertNotEquals(Object, Object, String)} with a default message.
*
- * @see #assertNotEquals(T, T, String)
+ * @param lhs The left hand side of the comparison.
+ * @param rhs The right hand side of the comparison.
+ * @see #assertNotEquals(Object, Object, String)
*/
public static void assertNotEquals(Object lhs, Object rhs) {
- String msg = "Expected " + format(lhs) + " to not equal " + format(rhs);
- assertNotEquals(lhs, rhs, msg);
+ assertNotEquals(lhs, rhs, null);
}
/**
@@ -283,34 +355,34 @@
*
* @param lhs The left hand side of the comparison.
* @param rhs The right hand side of the comparison.
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static void assertNotEquals(Object lhs, Object rhs, String msg) {
- if (lhs == null) {
- if (rhs == null) {
- error(msg);
- }
- } else {
- assertFalse(lhs.equals(rhs), msg);
+ if ((lhs == rhs) || (lhs != null && lhs.equals(rhs))) {
+ msg = Objects.toString(msg, "assertNotEquals")
+ + ": expected " + Objects.toString(lhs)
+ + " to not equal " + Objects.toString(rhs);
+ fail(msg);
}
}
/**
* Calls {@link #assertNull(Object, String)} with a default message.
*
+ * @param o The reference assumed to be null.
* @see #assertNull(Object, String)
*/
public static void assertNull(Object o) {
- assertNull(o, "Expected " + format(o) + " to be null");
+ assertNull(o, null);
}
/**
* Asserts that {@code o} is null.
*
* @param o The reference assumed to be null.
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static void assertNull(Object o, String msg) {
assertEquals(o, null, msg);
@@ -319,18 +391,19 @@
/**
* Calls {@link #assertNotNull(Object, String)} with a default message.
*
+ * @param o The reference assumed <i>not</i> to be null,
* @see #assertNotNull(Object, String)
*/
public static void assertNotNull(Object o) {
- assertNotNull(o, "Expected non null reference");
+ assertNotNull(o, null);
}
/**
* Asserts that {@code o} is <i>not</i> null.
*
* @param o The reference assumed <i>not</i> to be null,
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static void assertNotNull(Object o, String msg) {
assertNotEquals(o, null, msg);
@@ -339,57 +412,123 @@
/**
* Calls {@link #assertFalse(boolean, String)} with a default message.
*
+ * @param value The value assumed to be false.
* @see #assertFalse(boolean, String)
*/
public static void assertFalse(boolean value) {
- assertFalse(value, "Expected value to be false");
+ assertFalse(value, null);
}
/**
* Asserts that {@code value} is {@code false}.
*
* @param value The value assumed to be false.
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static void assertFalse(boolean value, String msg) {
- assertTrue(!value, msg);
+ if (value) {
+ msg = Objects.toString(msg, "assertFalse")
+ + ": expected false, was true";
+ fail(msg);
+ }
}
/**
* Calls {@link #assertTrue(boolean, String)} with a default message.
*
+ * @param value The value assumed to be true.
* @see #assertTrue(boolean, String)
*/
public static void assertTrue(boolean value) {
- assertTrue(value, "Expected value to be true");
+ assertTrue(value, null);
}
/**
* Asserts that {@code value} is {@code true}.
*
* @param value The value assumed to be true.
- * @param msg A description of the assumption.
- * @throws RuntimeException if the assertion isn't valid.
+ * @param msg A description of the assumption; {@code null} for a default message.
+ * @throws RuntimeException if the assertion is not true.
*/
public static void assertTrue(boolean value, String msg) {
if (!value) {
- error(msg);
+ msg = Objects.toString(msg, "assertTrue")
+ + ": expected true, was false";
+ fail(msg);
}
}
private static <T extends Comparable<T>> int compare(T lhs, T rhs, String msg) {
- assertNotNull(lhs, msg);
- assertNotNull(rhs, msg);
+ if (lhs == null || rhs == null) {
+ fail(lhs, rhs, msg + ": values must be non-null:", ",");
+ }
return lhs.compareTo(rhs);
}
- private static String format(Object o) {
- return o == null? "null" : o.toString();
+ /**
+ * Returns a string formatted with a message and expected and actual values.
+ * @param lhs the actual value
+ * @param rhs the expected value
+ * @param message the actual value
+ * @param relation the asserted relationship between lhs and rhs
+ * @return a formatted string
+ */
+ public static String format(Object lhs, Object rhs, String message, String relation) {
+ StringBuilder sb = new StringBuilder(80);
+ if (message != null) {
+ sb.append(message);
+ sb.append(' ');
+ }
+ sb.append("<");
+ sb.append(Objects.toString(lhs));
+ sb.append("> ");
+ sb.append(Objects.toString(relation, ","));
+ sb.append(" <");
+ sb.append(Objects.toString(rhs));
+ sb.append(">");
+ return sb.toString();
}
- private static void error(String msg) {
- throw new RuntimeException(msg);
+ /**
+ * Fail reports a failure with message fail.
+ *
+ * @throws RuntimeException always
+ */
+ public static void fail() {
+ fail("fail");
+ }
+
+ /**
+ * Fail reports a failure with a message.
+ * @param message for the failure
+ * @throws RuntimeException always
+ */
+ public static void fail(String message) {
+ throw new RuntimeException(message);
+ }
+
+ /**
+ * Fail reports a failure with a formatted message.
+ *
+ * @param lhs the actual value
+ * @param rhs the expected value
+ * @param message to be format before the expected and actual values
+ * @param relation the asserted relationship between lhs and rhs
+ * @throws RuntimeException always
+ */
+ public static void fail(Object lhs, Object rhs, String message, String relation) {
+ throw new RuntimeException(format(lhs, rhs, message, relation));
+ }
+
+ /**
+ * Fail reports a failure with a message and a cause.
+ * @param message to be format before the expected and actual values
+ * @param cause the exception that caused this failure
+ * @throws RuntimeException always
+ */
+ public static void fail(String message, Throwable cause) {
+ throw new RuntimeException(message, cause);
}
}
diff --git a/jdk/test/sun/invoke/util/ValueConversionsTest.java b/jdk/test/sun/invoke/util/ValueConversionsTest.java
index 01fc6de..726e90d 100644
--- a/jdk/test/sun/invoke/util/ValueConversionsTest.java
+++ b/jdk/test/sun/invoke/util/ValueConversionsTest.java
@@ -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
diff --git a/jdk/test/sun/java2d/DirectX/TransformedPaintTest/TransformedPaintTest.java b/jdk/test/sun/java2d/DirectX/TransformedPaintTest/TransformedPaintTest.java
index f03f091..90b50f2 100644
--- a/jdk/test/sun/java2d/DirectX/TransformedPaintTest/TransformedPaintTest.java
+++ b/jdk/test/sun/java2d/DirectX/TransformedPaintTest/TransformedPaintTest.java
@@ -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
diff --git a/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.java b/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.java
index 23b8de1..efa9380 100644
--- a/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.java
+++ b/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
diff --git a/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh b/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh
index 9c1b4f8..103b702 100644
--- a/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh
+++ b/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh
@@ -41,7 +41,7 @@
J2D_PIXMAPS=shared
export NO_J2D_DGA J2D_PIXMAPS
-${TESTJAVA}/bin/java SharedMemoryPixmapsTest
+${TESTJAVA}/bin/java ${TESTVMOPTS} SharedMemoryPixmapsTest
if [ $? -ne 0 ]; then
echo "Test failed!"
diff --git a/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvCCMTest.java b/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvCCMTest.java
index 12418c0..12139f6 100644
--- a/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvCCMTest.java
+++ b/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvCCMTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvDCMTest.java b/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvDCMTest.java
index 9ad0568..25d19e2 100644
--- a/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvDCMTest.java
+++ b/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvDCMTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvTest.java b/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvTest.java
index b3f1c2e..f8042fc 100644
--- a/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvTest.java
+++ b/jdk/test/sun/java2d/cmm/ColorConvertOp/ColConvTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html b/jdk/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html
index e874bad..66c87ce 100644
--- a/jdk/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html
+++ b/jdk/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2000, 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
diff --git a/jdk/test/sun/java2d/cmm/ColorConvertOp/InvalidRenderIntentTest.java b/jdk/test/sun/java2d/cmm/ColorConvertOp/InvalidRenderIntentTest.java
index 9140e3c..47f2489 100644
--- a/jdk/test/sun/java2d/cmm/ColorConvertOp/InvalidRenderIntentTest.java
+++ b/jdk/test/sun/java2d/cmm/ColorConvertOp/InvalidRenderIntentTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/sun/java2d/cmm/ColorConvertOp/MTColConvTest.java b/jdk/test/sun/java2d/cmm/ColorConvertOp/MTColConvTest.java
index d764054..3c7f957 100644
--- a/jdk/test/sun/java2d/cmm/ColorConvertOp/MTColConvTest.java
+++ b/jdk/test/sun/java2d/cmm/ColorConvertOp/MTColConvTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
diff --git a/jdk/test/sun/java2d/cmm/ProfileOp/ReadWriteProfileTest.java b/jdk/test/sun/java2d/cmm/ProfileOp/ReadWriteProfileTest.java
index f3fa079..f440953 100644
--- a/jdk/test/sun/java2d/cmm/ProfileOp/ReadWriteProfileTest.java
+++ b/jdk/test/sun/java2d/cmm/ProfileOp/ReadWriteProfileTest.java
@@ -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
diff --git a/jdk/test/sun/java2d/cmm/ProfileOp/SetDataTest.java b/jdk/test/sun/java2d/cmm/ProfileOp/SetDataTest.java
index ece1a49..dc86de9 100644
--- a/jdk/test/sun/java2d/cmm/ProfileOp/SetDataTest.java
+++ b/jdk/test/sun/java2d/cmm/ProfileOp/SetDataTest.java
@@ -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
diff --git a/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java b/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java
index 5b58261..9c2f063 100644
--- a/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java
+++ b/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh b/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh
index 5c92c55..152ec93 100644
--- a/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh
+++ b/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/test/sun/jvmstat/testlibrary/JavaProcess.java b/jdk/test/sun/jvmstat/testlibrary/JavaProcess.java
index 4013cfa..664947b 100644
--- a/jdk/test/sun/jvmstat/testlibrary/JavaProcess.java
+++ b/jdk/test/sun/jvmstat/testlibrary/JavaProcess.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java b/jdk/test/sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java
index bd37193..b3de630 100644
--- a/jdk/test/sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java
+++ b/jdk/test/sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2008, 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
diff --git a/jdk/test/sun/management/jdp/ClientConnection.java b/jdk/test/sun/management/jdp/ClientConnection.java
index b5bbe67..9c74517 100644
--- a/jdk/test/sun/management/jdp/ClientConnection.java
+++ b/jdk/test/sun/management/jdp/ClientConnection.java
@@ -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
diff --git a/jdk/test/sun/management/jdp/JdpTestUtil.java b/jdk/test/sun/management/jdp/JdpTestUtil.java
index 353c118..0f10e14 100644
--- a/jdk/test/sun/management/jdp/JdpTestUtil.java
+++ b/jdk/test/sun/management/jdp/JdpTestUtil.java
@@ -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
diff --git a/jdk/test/sun/management/jdp/JdpTestUtilTest.java b/jdk/test/sun/management/jdp/JdpTestUtilTest.java
index adbd104..52cb1ee 100644
--- a/jdk/test/sun/management/jdp/JdpTestUtilTest.java
+++ b/jdk/test/sun/management/jdp/JdpTestUtilTest.java
@@ -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
diff --git a/jdk/test/sun/management/jdp/JdpUnitTest.java b/jdk/test/sun/management/jdp/JdpUnitTest.java
index ca54940..2a5971d 100644
--- a/jdk/test/sun/management/jdp/JdpUnitTest.java
+++ b/jdk/test/sun/management/jdp/JdpUnitTest.java
@@ -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
diff --git a/jdk/test/sun/management/jdp/PacketTest.java b/jdk/test/sun/management/jdp/PacketTest.java
index 1fdcaf7..a259d7e 100644
--- a/jdk/test/sun/management/jdp/PacketTest.java
+++ b/jdk/test/sun/management/jdp/PacketTest.java
@@ -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
diff --git a/jdk/test/sun/management/jmxremote/RunTest.sh b/jdk/test/sun/management/jmxremote/RunTest.sh
index ae94265..e9a924a 100644
--- a/jdk/test/sun/management/jmxremote/RunTest.sh
+++ b/jdk/test/sun/management/jmxremote/RunTest.sh
@@ -25,9 +25,9 @@
# No need to compile (now done by JTReg tags in calling file)
#
echo ${TESTJAVA}/bin/java ${TESTVMOPTS} -Dtest.src=${TESTCLASSES} \
- -classpath ${TESTCLASSES} $* || exit 20
+ -classpath ${TESTCLASSPATH} $* || exit 20
${TESTJAVA}/bin/java ${TESTVMOPTS} -Dtest.src=${TESTCLASSES} \
- -classpath ${TESTCLASSES} $* || exit 20
+ -classpath ${TESTCLASSPATH} $* || exit 20
exit 0
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/AbstractFilePermissionTest.java b/jdk/test/sun/management/jmxremote/bootstrap/AbstractFilePermissionTest.java
new file mode 100644
index 0000000..a2e0c89
--- /dev/null
+++ b/jdk/test/sun/management/jmxremote/bootstrap/AbstractFilePermissionTest.java
@@ -0,0 +1,202 @@
+/*
+ * 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.
+ */
+
+import jdk.testlibrary.OutputAnalyzer;
+import jdk.testlibrary.Platform;
+import jdk.testlibrary.ProcessTools;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.attribute.PosixFilePermission;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Change file permission for out-of-the-box management an do test used by
+ * PasswordFilePermissionTest and SSLConfigFilePermissionTest tests
+ *
+ * @author Taras Ledkov
+ */
+public abstract class AbstractFilePermissionTest {
+ private final String TEST_CLASS_PATH = System.getProperty("test.class.path");
+ protected final String TEST_CLASSES = System.getProperty("test.classes");
+ protected final FileSystem FS = FileSystems.getDefault();
+ private int MAX_GET_FREE_PORT_TRIES = 10;
+
+ protected final Path libDir = FS.getPath(TEST_CLASSES, "lib");
+ protected final Path mgmt = libDir.resolve("management.properties");
+ private final String mp = "-Dcom.sun.management.config.file=" + mgmt.toFile().getAbsolutePath();
+ private final String className = "Dummy";
+ private int failures = 0;
+
+ protected final Path file2PermissionTest;
+
+ protected AbstractFilePermissionTest(String fileName2PermissionTest) {
+ this.file2PermissionTest = libDir.resolve(fileName2PermissionTest);
+
+ try {
+ MAX_GET_FREE_PORT_TRIES = Integer.parseInt(System.getProperty("test.getfreeport.max.tries", "10"));
+ } catch (NumberFormatException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+
+ public static void createFile(Path path, String... content) throws IOException {
+ if (Files.exists(path) && Files.isRegularFile(path)) {
+ try {
+ Files.delete(path);
+ } catch (Exception ex) {
+ System.out.println("WARNING: " + path.toFile().getAbsolutePath() + " already exists - unable to remove old copy");
+ ex.printStackTrace();
+ }
+ }
+
+ try (BufferedWriter bw = Files.newBufferedWriter(path, Charset.defaultCharset())) {
+ for (String str : content) {
+ bw.write(str, 0, str.length());
+ bw.newLine();
+ }
+ }
+ }
+
+ public boolean skipTest() {
+ if ((TEST_CLASSES == null) || ("".equals(TEST_CLASSES))) {
+ System.out.println("Test is designed to be run from jtreg only");
+ return true;
+ }
+
+ if (!Platform.isLinux() && !Platform.isSolaris()) {
+ System.out.println("Test not designed to run on this operating system, skipping...");
+ return true;
+ }
+ return false;
+ }
+
+ protected abstract void testSetup() throws IOException;
+
+ public void runTest(String[] args) throws Exception {
+
+ if (skipTest()) {
+ return;
+ }
+
+ Files.deleteIfExists(mgmt);
+ Files.deleteIfExists(file2PermissionTest);
+ libDir.toFile().mkdir();
+
+ testSetup();
+
+ try {
+ test1();
+ test2();
+
+ if (failures == 0) {
+ System.out.println("All test(s) passed");
+ } else {
+ throw new Error(String.format("%d test(s) failed", failures));
+ }
+ } finally {
+ resetPasswordFilePermission();
+ }
+ }
+
+ /**
+ * Test 1 - SSL config file is secure - VM should start
+ */
+ private void test1() throws Exception {
+ final Set<PosixFilePermission> perms_0700 = new HashSet<>();
+ perms_0700.add(PosixFilePermission.OWNER_WRITE);
+ perms_0700.add(PosixFilePermission.OWNER_READ);
+ perms_0700.add(PosixFilePermission.OWNER_EXECUTE);
+ Files.setPosixFilePermissions(file2PermissionTest, perms_0700);
+
+ if (doTest() != 0) {
+ ++failures;
+ }
+ }
+
+ /**
+ * Test 1 - SSL config file is secure - VM should start
+ */
+ private void test2() throws Exception {
+ final Set<PosixFilePermission> perms = Files.getPosixFilePermissions(file2PermissionTest);
+ perms.add(PosixFilePermission.OTHERS_READ);
+ perms.add(PosixFilePermission.OTHERS_EXECUTE);
+ Files.setPosixFilePermissions(file2PermissionTest, perms);
+
+ if (doTest() == 0) {
+ ++failures;
+ }
+ }
+
+ private int doTest() throws Exception {
+
+ for (int i = 0; i < MAX_GET_FREE_PORT_TRIES; ++i) {
+ final String pp = "-Dcom.sun.management.jmxremote.port=" + jdk.testlibrary.Utils.getFreePort();
+
+ List<String> command = new ArrayList<>();
+ command.addAll(jdk.testlibrary.Utils.getVmOptions());
+ command.add(mp);
+ command.add(pp);
+ command.add("-cp");
+ command.add(TEST_CLASSES);
+ command.add(className);
+
+
+ ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder(
+ command.toArray(new String[command.size()]));
+
+ System.out.println("test cmdline: " + Arrays.toString(processBuilder.command().toArray()).replace(",", ""));
+ Process p = processBuilder.start();
+ OutputAnalyzer output = new OutputAnalyzer(p);
+
+ System.out.println("test output:");
+ System.out.println(output.getOutput());
+
+ if ((p.exitValue() == 0) ||
+ !output.getOutput().contains("Exception thrown by the agent : " +
+ "java.rmi.server.ExportException: Port already in use")) {
+ return p.exitValue();
+ }
+ }
+
+ return -1;
+ }
+
+ private void resetPasswordFilePermission() throws Exception {
+ final Set<PosixFilePermission> perms_0777 = new HashSet<>();
+ Arrays.asList(PosixFilePermission.values()).stream().forEach(p -> {
+ perms_0777.add(p);
+ });
+ Files.setPosixFilePermissions(file2PermissionTest, perms_0777);
+ }
+}
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/jdk/test/sun/management/jmxremote/bootstrap/Dummy.java
similarity index 69%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to jdk/test/sun/management/jmxremote/bootstrap/Dummy.java
index f64d498..94aadaf 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/Dummy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * 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
@@ -21,9 +21,18 @@
* questions.
*/
-package p;
+import java.lang.management.ManagementFactory;
+import java.lang.management.RuntimeMXBean;
+import java.util.List;
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+/**
+ * A dummy test "application" used by unit tests -
+ * SSLConfigFilePermissionTest.java
+ *
+ * @author Taras Ledkov
+ */
+class Dummy {
+ public static void main(String[] args) {
+ System.out.println("Inside main method...");
+ }
}
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java b/jdk/test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java
index 442f2b4..2439765 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/JvmstatCountersTest.java
@@ -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
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java b/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java
index efe2a31..d02d43e 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/LocalManagementTest.java
@@ -22,6 +22,7 @@
*/
import java.io.File;
+import java.io.IOException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.nio.file.FileSystem;
@@ -42,17 +43,25 @@
* TestManager will attempt a connection to the address obtained from
* both agent properties and jvmstat buffer.
* @build jdk.testlibrary.ProcessTools
+ * @build jdk.testlibrary.Utils
* @build TestManager TestApplication
- * @run main/othervm/timeout=300 LocalManagementTest
+ * @run main/othervm/timeout=300 -XX:+UsePerfData LocalManagementTest
*/
import jdk.testlibrary.ProcessTools;
+import jdk.testlibrary.Utils;
public class LocalManagementTest {
- private static final String TEST_CLASSPATH = System.getProperty("test.class.path");
- private static final String TEST_JDK = System.getProperty("test.jdk");
+ private static final String TEST_CLASSPATH = System.getProperty("test.class.path");
+ private static final String TEST_JDK = System.getProperty("test.jdk");
+ private static int MAX_GET_FREE_PORT_TRIES = 10;
public static void main(String[] args) throws Exception {
+ try {
+ MAX_GET_FREE_PORT_TRIES = Integer.parseInt(System.getProperty("test.getfreeport.max.tries", "10"));
+ } catch (NumberFormatException ex) {
+ }
+
int failures = 0;
for(Method m : LocalManagementTest.class.getDeclaredMethods()) {
if (Modifier.isStatic(m.getModifiers()) &&
@@ -104,29 +113,49 @@
private static boolean test4() throws Exception {
Path agentPath = findAgent();
if (agentPath != null) {
- ProcessBuilder builder = ProcessTools.createJavaProcessBuilder(
- "-javaagent:" + agentPath.toString() +
- "=com.sun.management.jmxremote.port=7775," +
- "com.sun.management.jmxremote.authenticate=false," +
- "com.sun.management.jmxremote.ssl=false",
- "-cp",
- TEST_CLASSPATH,
- "TestApplication",
- "-exit"
- );
- Process prc = null;
- try {
- prc = ProcessTools.startProcess(
- "TestApplication",
- builder
+ for (int i = 0; i < MAX_GET_FREE_PORT_TRIES; ++i) {
+ ProcessBuilder builder = ProcessTools.createJavaProcessBuilder(
+ "-javaagent:" + agentPath.toString() +
+ "=com.sun.management.jmxremote.port=" + Utils.getFreePort() + "," +
+ "com.sun.management.jmxremote.authenticate=false," +
+ "com.sun.management.jmxremote.ssl=false",
+ "-cp",
+ TEST_CLASSPATH,
+ "TestApplication",
+ "-exit"
);
- int exitCode = prc.waitFor();
- return exitCode == 0;
- } finally {
- if (prc != null) {
- prc.destroy();
+
+ Process prc = null;
+ final AtomicReference<Boolean> isBindExceptionThrown = new AtomicReference<>();
+ isBindExceptionThrown.set(new Boolean(false));
+ try {
+ prc = ProcessTools.startProcess(
+ "TestApplication",
+ builder,
+ (String line) -> {
+ if (line.contains("Exception thrown by the agent : " +
+ "java.rmi.server.ExportException: Port already in use")) {
+ isBindExceptionThrown.set(new Boolean(true));
+ }
+ });
+
prc.waitFor();
+
+ if (prc.exitValue() == 0) {
+ return true;
+ }
+
+ if (isBindExceptionThrown.get().booleanValue()) {
+ System.out.println("'Port already in use' error detected. Try again");
+ } else {
+ return false;
+ }
+ } finally {
+ if (prc != null) {
+ prc.destroy();
+ prc.waitFor();
+ }
}
}
}
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.java b/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.java
new file mode 100644
index 0000000..cce5bc2
--- /dev/null
+++ b/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+import java.io.IOException;
+
+/**
+ * @test
+ * @library /lib/testlibrary
+ * @bug 6557093
+ * @summary Check SSL config file permission for out-of-the-box management
+ * @build jdk.testlibrary.Utils
+ * @build jdk.testlibrary.ProcessTools
+ * @build jdk.testlibrary.OutputAnalyzer
+ * @build AbstractFilePermissionTest
+ * @build Dummy
+ * @run main/timeout=300 PasswordFilePermissionTest
+ *
+ * @author Taras Ledkov
+ */
+public class PasswordFilePermissionTest extends AbstractFilePermissionTest {
+
+ private PasswordFilePermissionTest() {
+ super("jmxremote.passwordconfig");
+ }
+
+ public void testSetup() throws IOException {
+ createFile(mgmt,
+ "# management.properties",
+ "com.sun.management.jmxremote.ssl=false",
+ "com.sun.management.jmxremote.password.file=" + file2PermissionTest.toFile().getAbsolutePath());
+
+ createFile(file2PermissionTest,
+ "# jmxremote.password\n");
+ }
+
+ public static void main(String[] args) throws Exception {
+ PasswordFilePermissionTest test = new PasswordFilePermissionTest();
+
+ test.runTest(args);
+ }
+
+}
+
+
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh b/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh
deleted file mode 100644
index fe1fec6..0000000
--- a/jdk/test/sun/management/jmxremote/bootstrap/PasswordFilePermissionTest.sh
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2004, 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 5008047
-# @summary Check password file permission for out-of-the-box management
-#
-# @run shell PasswordFilePermissionTest.sh
-
-createJavaFile()
-{
- cat << EOF > $1/$2.java
- class $2 {
- public static void main(String[] args) {
- System.out.println("Inside main method...");
- }
- }
-EOF
-}
-
-createConfigFile() {
- cat << EOF > $1
-# management.properties
-com.sun.management.jmxremote.ssl=false
-com.sun.management.jmxremote.password.file=$2
-EOF
-}
-
-createPasswordFile() {
- if [ -f "$1" ] ; then
- rm -f $1 || echo WARNING: $1 already exists - unable to remove old copy
- fi
- cat << EOF > $1
-# jmxremote.password
-EOF
-}
-
-
-# Check we are run from jtreg
-if [ -z "${TESTCLASSES}" ]; then
- echo "Test is designed to be run from jtreg only"
- exit 0
-fi
-
-
-# Test not suitable for Windows as chmod may not be able to
-# security the password file.
-
-os=`uname -s`
-if [ "$os" != "Linux" -a "$os" != "SunOS" ]; then
- echo "Test not designed to run on this operating system, skipping..."
- exit 0
-fi
-
-
-# Create configuration file and dummy password file
-
-LIBDIR=${TESTCLASSES}/lib
-CONFIG=${LIBDIR}/management.properties
-PASSWD=${LIBDIR}/jmxremote.password
-rm -f ${CONFIG}
-rm -f ${PASSWD}
-mkdir ${LIBDIR} 2>&1
-createJavaFile ${TESTCLASSES} Null
-createConfigFile ${CONFIG} ${PASSWD}
-createPasswordFile ${PASSWD}
-
-# Compile test
-
-${COMPILEJAVA}/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${TESTCLASSES} ${TESTCLASSES}/Null.java
-
-
-JAVA=${TESTJAVA}/bin/java
-CLASSPATH=${TESTCLASSES}
-export CLASSPATH
-
-failures=0
-
-mp=-Dcom.sun.management.config.file=${CONFIG}
-pp=-Dcom.sun.management.jmxremote.port=4888
-
-go() {
- echo ''
- sh -xc "$JAVA ${TESTVMOPTS} $1 $2 $3 $4 $5 $6 $7 $8" 2>&1
- if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
-}
-
-# Test 1 - password file is secure - VM should start
-chmod 700 ${PASSWD}
-sh -xc "$JAVA ${TESTVMOPTS} $mp $pp Null" 2>&1
-if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
-
-# Test 2 - password file is not secure - VM should fail to start
-chmod o+rx ${PASSWD}
-sh -xc "$JAVA ${TESTVMOPTS} $mp $pp Null" 2>&1
-if [ $? = 0 ]; then failures=`expr $failures + 1`; fi
-
-# Reset the file permissions on the generated password file
-chmod 777 ${PASSWD}
-
-#
-# Results
-#
-echo ''
-if [ $failures -gt 0 ];
- then echo "$failures test(s) failed";
- else echo "All test(s) passed"; fi
-exit $failures
-
-
-
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java b/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java
index adda49b..cc5f009 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.java
@@ -27,7 +27,6 @@
import java.io.FilenameFilter;
import java.io.IOException;
import java.net.BindException;
-import java.net.ServerSocket;
import java.rmi.server.ExportException;
import java.util.Properties;
@@ -43,8 +42,6 @@
import sun.management.AgentConfigurationError;
-import util.TestLogger;
-
/**
* <p>This class implements unit test for RMI Bootstrap.
* When called with no arguments main() looks in the directory indicated
@@ -71,18 +68,11 @@
**/
public class RmiBootstrapTest {
// the number of consecutive ports to test for availability
- private static final int PORT_TEST_LEN = 800;
+ private static int MAX_GET_FREE_PORT_TRIES = 10;
static TestLogger log =
new TestLogger("RmiBootstrapTest");
/**
- * When launching several registries, we increment the port number
- * to avoid falling into "port number already in use" problems.
- **/
- static int testPort = 0;
- static int basePort = 0;
-
- /**
* Default values for RMI configuration properties.
**/
public static interface DefaultValues {
@@ -627,92 +617,100 @@
* eventually cleans up by calling ConnectorBootstrap.terminate().
* @return null if the test succeeds, an error message otherwise.
**/
- private String testConfiguration(File file,int port) throws BindException {
+ private String testConfiguration(File file) throws IOException, InterruptedException {
- final String path;
- try {
- path=(file==null)?null:file.getCanonicalPath();
- } catch(IOException x) {
- final String err = "Failed to test configuration " + file +
- ": " + x;
- log.trace("testConfiguration",err);
- log.debug("testConfiguration",x);
- return err;
- }
- final String config = (path==null)?"Default config file":path;
-
- System.out.println("***");
- System.out.println("*** Testing configuration (port=" + port + "): "
- + path);
- System.out.println("***");
-
- System.setProperty("com.sun.management.jmxremote.port",
- Integer.toString(port));
- if (path != null)
- System.setProperty("com.sun.management.config.file", path);
- else
- System.getProperties().remove("com.sun.management.config.file");
-
- log.trace("testConfiguration","com.sun.management.jmxremote.port="+port);
- if (path != null && log.isDebugOn())
- log.trace("testConfiguration",
- "com.sun.management.config.file="+path);
-
- checkSslConfiguration();
-
- final JMXConnectorServer cs;
- try {
- cs = ConnectorBootstrap.initialize();
- } catch (AgentConfigurationError x) {
- if (x.getCause() instanceof ExportException) {
- if (x.getCause().getCause() instanceof BindException) {
- throw (BindException)x.getCause().getCause();
+ for (int i = 0; i < MAX_GET_FREE_PORT_TRIES; i++) {
+ try {
+ int port = jdk.testlibrary.Utils.getFreePort();
+ final String path;
+ try {
+ path=(file==null)?null:file.getCanonicalPath();
+ } catch(IOException x) {
+ final String err = "Failed to test configuration " + file +
+ ": " + x;
+ log.trace("testConfiguration",err);
+ log.debug("testConfiguration",x);
+ return err;
}
- }
- final String err = "Failed to initialize connector:" +
- "\n\tcom.sun.management.jmxremote.port=" + port +
- ((path!=null)?"\n\tcom.sun.management.config.file="+path:
- "\n\t"+config) +
- "\n\tError is: " + x;
- log.trace("testConfiguration",err);
- log.debug("testConfiguration",x);
- return err;
- } catch (Exception x) {
- log.debug("testConfiguration",x);
- return x.toString();
- }
+ final String config = (path==null)?"Default config file":path;
- try {
- JMXServiceURL url =
- new JMXServiceURL("rmi",null,0,"/jndi/rmi://localhost:"+
- port+"/jmxrmi");
+ System.out.println("***");
+ System.out.println("*** Testing configuration (port=" + port + "): "
+ + path);
+ System.out.println("***");
- try {
- testCommunication(url);
- } catch (Exception x) {
- final String err = "Failed to connect to agent {url="+url+
- "}: " + x;
- log.trace("testConfiguration",err);
- log.debug("testConfiguration",x);
- return err;
- }
- } catch (Exception x) {
- final String err = "Failed to test configuration "+config+
- ": "+x;
- log.trace("testConfiguration",err);
- log.debug("testConfiguration",x);
- return err;
- } finally {
- try {
- cs.stop();
- } catch (Exception x) {
- final String err = "Failed to terminate: "+x;
- log.trace("testConfiguration",err);
- log.debug("testConfiguration",x);
+ System.setProperty("com.sun.management.jmxremote.port",
+ Integer.toString(port));
+ if (path != null)
+ System.setProperty("com.sun.management.config.file", path);
+ else
+ System.getProperties().remove("com.sun.management.config.file");
+
+ log.trace("testConfiguration","com.sun.management.jmxremote.port="+port);
+ if (path != null && log.isDebugOn())
+ log.trace("testConfiguration",
+ "com.sun.management.config.file="+path);
+
+ checkSslConfiguration();
+
+ final JMXConnectorServer cs;
+ try {
+ cs = ConnectorBootstrap.initialize();
+ } catch (AgentConfigurationError x) {
+ if (x.getCause() instanceof ExportException) {
+ if (x.getCause().getCause() instanceof BindException) {
+ throw (BindException)x.getCause().getCause();
+ }
+ }
+ final String err = "Failed to initialize connector:" +
+ "\n\tcom.sun.management.jmxremote.port=" + port +
+ ((path!=null)?"\n\tcom.sun.management.config.file="+path:
+ "\n\t"+config) +
+ "\n\tError is: " + x;
+ log.trace("testConfiguration",err);
+ log.debug("testConfiguration",x);
+ return err;
+ } catch (Exception x) {
+ log.debug("testConfiguration",x);
+ return x.toString();
+ }
+
+ try {
+ JMXServiceURL url =
+ new JMXServiceURL("rmi",null,0,"/jndi/rmi://localhost:"+
+ port+"/jmxrmi");
+
+ try {
+ testCommunication(url);
+ } catch (Exception x) {
+ final String err = "Failed to connect to agent {url="+url+
+ "}: " + x;
+ log.trace("testConfiguration",err);
+ log.debug("testConfiguration",x);
+ return err;
+ }
+ } catch (Exception x) {
+ final String err = "Failed to test configuration "+config+
+ ": "+x;
+ log.trace("testConfiguration",err);
+ log.debug("testConfiguration",x);
+ return err;
+ } finally {
+ try {
+ cs.stop();
+ } catch (Exception x) {
+ final String err = "Failed to terminate: "+x;
+ log.trace("testConfiguration",err);
+ log.debug("testConfiguration",x);
+ }
+ }
+ System.out.println("Configuration " + config + " successfully tested");
+ return null;
+ } catch(BindException ex) {
}
}
- System.out.println("Configuration " + config + " successfully tested");
- return null;
+ System.err.println("Cannot find a free port after " + MAX_GET_FREE_PORT_TRIES + " tries");
+ return "Failed: cannot find a free port after " + MAX_GET_FREE_PORT_TRIES + " tries";
}
/**
@@ -720,23 +718,16 @@
* The test is assumed to have succeeded if the bootstrap fails.
* @return null if the test succeeds, an error message otherwise.
**/
- private String testConfigurationKo(File conf,int port) {
+ private String testConfigurationKo(File conf) throws InterruptedException, IOException {
String errStr = null;
- for (int i = 0; i < PORT_TEST_LEN; i++) {
- try {
- errStr = testConfiguration(conf,port+testPort++);
- break;
- } catch (BindException e) {
- // port conflict; try another port
- }
- }
+ errStr = testConfiguration(conf);
if (errStr == null) {
return "Configuration " +
conf + " should have failed!";
}
System.out.println("Configuration " +
conf + " failed as expected");
- log.debug("runko","Error was: " + errStr);
+ log.debug("runko", "Error was: " + errStr);
return null;
}
@@ -747,26 +738,16 @@
* *ko.properties: bootstrap or connection should fail.
* @return null if the test succeeds, an error message otherwise.
**/
- private String testConfigurationFile(String fileName) {
+ private String testConfigurationFile(String fileName) throws InterruptedException, IOException {
File file = new File(fileName);
- final String portStr = System.getProperty("rmi.port",null);
- final int port = portStr != null ?
- Integer.parseInt(portStr) : basePort;
if (fileName.endsWith("ok.properties")) {
String errStr = null;
- for (int i = 0; i < PORT_TEST_LEN; i++) {
- try {
- errStr = testConfiguration(file,port+testPort++);
- return errStr;
- } catch (BindException e) {
- // port conflict; try another port
- }
- }
- return "Can not locate available port";
+ errStr = testConfiguration(file);
+ return errStr;
}
if (fileName.endsWith("ko.properties")) {
- return testConfigurationKo(file,port+testPort++);
+ return testConfigurationKo(file);
}
return fileName +
": test file suffix must be one of [ko|ok].properties";
@@ -777,17 +758,14 @@
* (see findConfigurationFilesKo() and testConfigurationKo())
* @throws RuntimeException if the test fails.
**/
- public void runko() {
- final String portStr = System.getProperty("rmi.port",null);
- final int port = portStr != null ?
- Integer.parseInt(portStr) : basePort;
+ public void runko() throws InterruptedException, IOException {
final File[] conf = findConfigurationFilesKo();
if ((conf == null)||(conf.length == 0))
throw new RuntimeException("No configuration found");
String errStr;
for (int i=0;i<conf.length;i++) {
- errStr = testConfigurationKo(conf[i],port+testPort++);
+ errStr = testConfigurationKo(conf[i]);
if (errStr != null) {
throw new RuntimeException(errStr);
}
@@ -800,24 +778,14 @@
* (see findConfigurationFilesOk() and testConfiguration())
* @throws RuntimeException if the test fails.
**/
- public void runok() {
- final String portStr = System.getProperty("rmi.port",null);
- final int port = portStr != null ?
- Integer.parseInt(portStr) : basePort;
+ public void runok() throws InterruptedException, IOException {
final File[] conf = findConfigurationFilesOk();
if ((conf == null)||(conf.length == 0))
throw new RuntimeException("No configuration found");
String errStr = null;
for (int i=0;i<conf.length;i++) {
- for (int j = 0; j < PORT_TEST_LEN; i++) {
- try {
- errStr = testConfiguration(conf[i],port+testPort++);
- break;
- } catch (BindException e) {
- // port conflict; try another port
- }
- }
+ errStr = testConfiguration(conf[i]);
if (errStr != null) {
throw new RuntimeException(errStr);
}
@@ -840,7 +808,7 @@
* (see runko() and runok()).
* @throws RuntimeException if the test fails.
**/
- public void run() {
+ public void run() throws InterruptedException, IOException {
runok();
runko();
}
@@ -854,7 +822,7 @@
* indicated by the System property "test.src".
* @throws RuntimeException if the test fails.
**/
- public void run(String args[]) {
+ public void run(String args[]) throws InterruptedException, IOException {
if (args.length == 0) {
run() ; return;
}
@@ -871,7 +839,11 @@
* exit(1) if the test fails.
**/
public static void main(String args[]) throws Exception {
- setupBasePort();
+ try {
+ MAX_GET_FREE_PORT_TRIES = Integer.parseInt(System.getProperty("test.getfreeport.max.tries", "10"));
+ } catch (NumberFormatException ex) {
+ }
+
RmiBootstrapTest manager = new RmiBootstrapTest();
try {
manager.run(args);
@@ -886,9 +858,4 @@
System.out.println("**** Test RmiBootstrap Passed ****");
}
- private static void setupBasePort() throws IOException {
- try (ServerSocket s = new ServerSocket(0)) {
- basePort = s.getLocalPort() + 1;
- }
- }
}
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh b/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh
index 92295e2..50c4262 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh
+++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiBootstrapTest.sh
@@ -26,7 +26,12 @@
# @bug 6528083
# @summary Test RMI Bootstrap
#
-# @build TestLogger RmiBootstrapTest Utils
+# @library /lib/testlibrary
+# @library /lib/testlibrary
+# @build jdk.testlibrary.Utils
+# @build TestLogger
+# @build Utils
+# @build RmiBootstrapTest
# @run shell/timeout=300 RmiBootstrapTest.sh
# Define the Java class test name
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java b/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java
index 1cbed89..3648ca6 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * 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
@@ -21,69 +21,193 @@
* questions.
*/
-import java.rmi.registry.LocateRegistry;
-import java.rmi.registry.Registry;
-import javax.rmi.ssl.SslRMIClientSocketFactory;
+import jdk.testlibrary.OutputAnalyzer;
+import jdk.testlibrary.ProcessTools;
+import jdk.testlibrary.Utils;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.net.BindException;
+import java.nio.charset.Charset;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.*;
+import java.util.regex.Pattern;
+
+/**
+ * @test
+ * @library /lib/testlibrary
+ * @bug 6228231
+ * @summary Test that RMI registry uses SSL.
+ * @build jdk.testlibrary.Utils
+ * @build jdk.testlibrary.ProcessTools
+ * @build jdk.testlibrary.OutputAnalyzer
+ * @build RmiRegistrySslTestApp
+ * @run main/timeout=300 RmiRegistrySslTest
+ * @author Luis-Miguel Alventosa, Taras Ledkov
+ */
public class RmiRegistrySslTest {
+ private final String TEST_CLASS_PATH = System.getProperty("test.class.path");
+ private final String TEST_CLASSES = System.getProperty("test.classes");
+ private final String TEST_SRC = System.getProperty("test.src");
+ private final FileSystem FS = FileSystems.getDefault();
- static final String ok = "OK: Found jmxrmi entry in RMIRegistry!";
- static final String ko = "KO: Did not find jmxrmi entry in RMIRegistry!";
- static final String ko2 = "KO: Did not get expected exception!";
- static final String okException = "OK: Got expected exception!";
- static final String koException = "KO: Got unexpected exception!";
+ private final Path libDir = FS.getPath(TEST_CLASSES, "lib");
+ private final Path rmiRegistryTemplate = FS.getPath(TEST_SRC, "rmiregistry.properties");
+ private final Path rmiRegistrySslTemplate = FS.getPath(TEST_SRC, "rmiregistryssl.properties");
+ private final Path rmiRegistryFile = libDir.resolve("rmiregistry.properties");
+ private final Path rmiRegistrySslFile = libDir.resolve("rmiregistryssl.properties");
+ private final String className = "RmiRegistrySslTestApp";
+ private int failures = 0;
+ private int port = 4444;
+ private static int MAX_GET_FREE_PORT_TRIES = 10;
+ private Map<String, Object> model = new HashMap<>();
- public static void main(String args[]) throws Exception {
+ private RmiRegistrySslTest() {
+ try {
+ MAX_GET_FREE_PORT_TRIES = Integer.parseInt(System.getProperty("test.getfreeport.max.tries", "10"));
+ } catch (NumberFormatException ex) {
+ }
+ }
- System.out.println("RmiRegistry lookup...");
+ private void initPort() {
+ try {
+ port = Utils.getFreePort();
+ } catch (Exception e) {
+ }
+ model.put("${getFreePort}", new Integer(port));
+ }
- String testID = System.getProperty("testID");
+ private void initTestEnvironment() throws IOException {
+ initPort();
- if ("Test1".equals(testID)) {
+ Files.deleteIfExists(rmiRegistryFile);
+ Files.deleteIfExists(rmiRegistrySslFile);
+ libDir.toFile().mkdir();
+ createFileByTemplate(rmiRegistryTemplate, rmiRegistryFile, model);
+ createFileByTemplate(rmiRegistrySslTemplate, rmiRegistrySslFile, model);
+ }
+
+ public static void createFileByTemplate(Path template, Path out, Map<String, Object> model) throws IOException {
+ if (Files.exists(out) && Files.isRegularFile(out)) {
try {
- Registry registry = LocateRegistry.getRegistry(4444);
- String[] list = registry.list();
- if ("jmxrmi".equals(list[0])) {
- System.out.println(ok);
- } else {
- System.out.println(ko);
- throw new IllegalArgumentException(ko);
+ Files.delete(out);
+ } catch (Exception ex) {
+ System.out.println("WARNING: " + out.toFile().getAbsolutePath() + " already exists - unable to remove old copy");
+ ex.printStackTrace();
+ }
+ }
+
+ try (BufferedReader br = Files.newBufferedReader(template, Charset.defaultCharset());
+ BufferedWriter bw = Files.newBufferedWriter(out, Charset.defaultCharset())) {
+ String line;
+ while ((line = br.readLine()) != null) {
+ if (model != null) {
+ for (Map.Entry<String, Object> macro : model.entrySet()) {
+ line = line.replaceAll(Pattern.quote(macro.getKey()), macro.getValue().toString());
+ }
}
- } catch (Exception e) {
- System.out.println(koException);
- e.printStackTrace(System.out);
- throw e;
- }
- }
- if ("Test2".equals(testID)) {
- try {
- Registry registry = LocateRegistry.getRegistry(4444);
- String[] list = registry.list();
- throw new IllegalArgumentException(ko2);
- } catch (Exception e) {
- System.out.println(okException);
- e.printStackTrace(System.out);
- return;
+ bw.write(line, 0, line.length());
+ bw.newLine();
}
}
+ }
- if ("Test3".equals(testID)) {
- try {
- Registry registry = LocateRegistry.getRegistry(
- null, 4444, new SslRMIClientSocketFactory());
- String[] list = registry.list();
- if ("jmxrmi".equals(list[0])) {
- System.out.println(ok);
- } else {
- System.out.println(ko);
- throw new IllegalArgumentException(ko);
- }
- } catch (Exception e) {
- System.out.println(koException);
- e.printStackTrace(System.out);
- throw e;
+ public void runTest(String[] args) throws Exception {
+
+ test1();
+ test2();
+ test3();
+
+ if (failures == 0) {
+ System.out.println("All test(s) passed");
+ } else {
+ throw new Error(String.format("%d test(s) failed", failures));
+ }
+ }
+
+ private void test1() throws Exception {
+ System.out.println("-------------------------------------------------------------");
+ System.out.println(getClass().getName() + " : Non SSL RMIRegistry - Non SSL Lookup");
+ System.out.println("-------------------------------------------------------------");
+
+ int res = doTest("-DtestID=Test1",
+ "-Dcom.sun.management.config.file=" + rmiRegistryFile.toFile().getAbsolutePath());
+
+ if (res != 0) {
+ ++failures;
+ }
+ }
+
+ private void test2() throws Exception {
+ System.out.println("-------------------------------------------------------------");
+ System.out.println(getClass().getName() + " : SSL RMIRegistry - Non SSL Lookup");
+ System.out.println("-------------------------------------------------------------");
+
+ int res = doTest("-DtestID=Test2",
+ "-Dcom.sun.management.config.file=" + rmiRegistrySslFile.toFile().getAbsolutePath());
+
+ if (res != 0) {
+ ++failures;
+ }
+ }
+
+ private void test3() throws Exception {
+
+ System.out.println("-------------------------------------------------------------");
+ System.out.println(getClass().getName() + " : SSL RMIRegistry - SSL Lookup");
+ System.out.println("-------------------------------------------------------------");
+
+ int res = doTest("-DtestID=Test3",
+ "-Djavax.net.ssl.keyStore=" + FS.getPath(TEST_SRC, "ssl", "keystore").toFile().getAbsolutePath(),
+ "-Djavax.net.ssl.keyStorePassword=password",
+ "-Djavax.net.ssl.trustStore=" + FS.getPath(TEST_SRC, "ssl", "truststore").toFile().getAbsolutePath(),
+ "-Djavax.net.ssl.trustStorePassword=trustword",
+ "-Dcom.sun.management.config.file=" + rmiRegistrySslFile.toFile().getAbsolutePath());
+
+ if (res != 0) {
+ ++failures;
+ }
+ }
+
+ private int doTest(String... args) throws Exception {
+
+ for (int i = 0; i < MAX_GET_FREE_PORT_TRIES; ++i) {
+
+ initTestEnvironment();
+
+ List<String> command = new ArrayList<>();
+ command.addAll(Utils.getVmOptions());
+ command.add("-Dtest.src=" + TEST_SRC);
+ command.add("-Dtest.rmi.port=" + port);
+ command.addAll(Arrays.asList(args));
+ command.add("-cp");
+ command.add(TEST_CLASS_PATH);
+ command.add(className);
+
+ ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder(command.toArray(new String[command.size()]));
+
+ Process p = processBuilder.start();
+ OutputAnalyzer output = new OutputAnalyzer(p);
+
+ System.out.println("test output:");
+ System.out.println(output.getOutput());
+
+ if (!output.getOutput().contains("Exception thrown by the agent : " +
+ "java.rmi.server.ExportException: Port already in use")) {
+ return p.exitValue();
}
}
+ throw new Error("Cannot find free port");
+ }
+
+ public static void main(String[] args) throws Exception {
+ RmiRegistrySslTest test = new RmiRegistrySslTest();
+
+ test.runTest(args);
}
}
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.sh b/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.sh
deleted file mode 100644
index 2e5d752..0000000
--- a/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# Copyright (c) 2005, 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 6228231
-# @summary Test that RMI registry uses SSL.
-# @author Luis-Miguel Alventosa
-# @run clean RmiRegistrySslTest
-# @run build RmiRegistrySslTest
-# @run shell/timeout=300 RmiRegistrySslTest.sh
-
-echo -------------------------------------------------------------
-echo `basename $0 .sh` : Non SSL RMIRegistry - Non SSL Lookup
-echo -------------------------------------------------------------
-
-${TESTJAVA}/bin/java ${TESTVMOPTS} -classpath ${TESTCLASSES} \
- -Dtest.src=${TESTSRC} \
- -DtestID=Test1 \
- -Dcom.sun.management.config.file=${TESTSRC}/rmiregistry.properties \
- RmiRegistrySslTest || exit $?
-
-echo -------------------------------------------------------------
-echo `basename $0 .sh` : SSL RMIRegistry - Non SSL Lookup
-echo -------------------------------------------------------------
-
-${TESTJAVA}/bin/java ${TESTVMOPTS} -classpath ${TESTCLASSES} \
- -Dtest.src=${TESTSRC} \
- -DtestID=Test2 \
- -Dcom.sun.management.config.file=${TESTSRC}/rmiregistryssl.properties \
- RmiRegistrySslTest || exit $?
-
-echo -------------------------------------------------------------
-echo `basename $0 .sh` : SSL RMIRegistry - SSL Lookup
-echo -------------------------------------------------------------
-
-${TESTJAVA}/bin/java ${TESTVMOPTS} -classpath ${TESTCLASSES} \
- -Dtest.src=${TESTSRC} \
- -DtestID=Test3 \
- -Djavax.net.ssl.keyStore=${TESTSRC}/ssl/keystore \
- -Djavax.net.ssl.keyStorePassword=password \
- -Djavax.net.ssl.trustStore=${TESTSRC}/ssl/truststore \
- -Djavax.net.ssl.trustStorePassword=trustword \
- -Dcom.sun.management.config.file=${TESTSRC}/rmiregistryssl.properties \
- RmiRegistrySslTest || exit $?
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTestApp.java b/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTestApp.java
new file mode 100644
index 0000000..33e0086
--- /dev/null
+++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiRegistrySslTestApp.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2005, 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.
+ */
+
+import java.rmi.registry.LocateRegistry;
+import java.rmi.registry.Registry;
+import javax.rmi.ssl.SslRMIClientSocketFactory;
+import jdk.testlibrary.Utils;
+
+
+public class RmiRegistrySslTestApp {
+
+ static final String ok = "OK: Found jmxrmi entry in RMIRegistry!";
+ static final String ko = "KO: Did not find jmxrmi entry in RMIRegistry!";
+ static final String ko2 = "KO: Did not get expected exception!";
+ static final String okException = "OK: Got expected exception!";
+ static final String koException = "KO: Got unexpected exception!";
+
+ public static void main(String args[]) throws Exception {
+
+ System.out.println("RmiRegistry lookup...");
+
+ String testID = System.getProperty("testID");
+ int port = Integer.parseInt(System.getProperty("test.rmi.port"));
+
+ if ("Test1".equals(testID)) {
+ try {
+ Registry registry = LocateRegistry.getRegistry(port);
+ String[] list = registry.list();
+ if ("jmxrmi".equals(list[0])) {
+ System.out.println(ok);
+ } else {
+ System.out.println(ko);
+ throw new IllegalArgumentException(ko);
+ }
+ } catch (Exception e) {
+ System.out.println(koException);
+ e.printStackTrace(System.out);
+ throw e;
+ }
+ }
+
+ if ("Test2".equals(testID)) {
+ try {
+ Registry registry = LocateRegistry.getRegistry(port);
+ String[] list = registry.list();
+ throw new IllegalArgumentException(ko2);
+ } catch (Exception e) {
+ System.out.println(okException);
+ e.printStackTrace(System.out);
+ return;
+ }
+ }
+
+ if ("Test3".equals(testID)) {
+ try {
+ Registry registry = LocateRegistry.getRegistry(
+ null, port, new SslRMIClientSocketFactory());
+ String[] list = registry.list();
+ if ("jmxrmi".equals(list[0])) {
+ System.out.println(ok);
+ } else {
+ System.out.println(ko);
+ throw new IllegalArgumentException(ko);
+ }
+ } catch (Exception e) {
+ System.out.println(koException);
+ e.printStackTrace(System.out);
+ throw e;
+ }
+ }
+ }
+}
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh
index e20422e..7a786a3 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh
+++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh
@@ -26,7 +26,11 @@
# @bug 6528083
# @summary Test RMI Bootstrap with SSL
#
-# @build TestLogger RmiBootstrapTest Utils
+# @library /lib/testlibrary
+# @build jdk.testlibrary.Utils
+# @build TestLogger
+# @build Utils
+# @build RmiBootstrapTest
# @run shell/timeout=300 RmiSslBootstrapTest.sh
# Define the Java class test name
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java
index 663e46c..6296e7e 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/RmiSslNoKeyStoreTest.java
@@ -45,8 +45,6 @@
import sun.management.AgentConfigurationError;
-import util.TestLogger;
-
/**
* <p>This class implements unit test for RMI Bootstrap.
* When called with no arguments main() looks in the directory indicated
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java b/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java
new file mode 100644
index 0000000..149e9c4
--- /dev/null
+++ b/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.java
@@ -0,0 +1,69 @@
+/*
+ * 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.
+ */
+
+import java.io.IOException;
+
+/**
+ * @test
+ * @library /lib/testlibrary
+ * @bug 6557093
+ * @bug 6557093
+ * @build jdk.testlibrary.Utils
+ * @build jdk.testlibrary.ProcessTools
+ * @build jdk.testlibrary.OutputAnalyzer
+ * @build Dummy
+ * @build AbstractFilePermissionTest
+ * @summary Check SSL config file permission for out-of-the-box management
+ * @run main/timeout=300 SSLConfigFilePermissionTest
+ *
+ * @author Taras Ledkov
+ */
+public class SSLConfigFilePermissionTest extends AbstractFilePermissionTest {
+
+ private final String TEST_SRC = System.getProperty("test.src");
+
+ private SSLConfigFilePermissionTest() {
+ super("jmxremote.ssl.config");
+ }
+
+ public void testSetup() throws IOException {
+ createFile(mgmt,
+ "# management.properties",
+ "com.sun.management.jmxremote.authenticate=false",
+ "com.sun.management.jmxremote.ssl.config.file=" + file2PermissionTest.toFile().getAbsolutePath());
+
+ createFile(file2PermissionTest,
+ "# management.properties",
+ "javax.net.ssl.keyStore = " +
+ FS.getPath(TEST_SRC, "ssl", "keystore").toFile().getAbsolutePath(),
+ "javax.net.ssl.keyStorePassword = password");
+ }
+
+ public static void main(String[] args) throws Exception {
+ SSLConfigFilePermissionTest test = new SSLConfigFilePermissionTest();
+
+ test.runTest(args);
+ }
+}
+
+
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh b/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh
deleted file mode 100644
index 022aa2a..0000000
--- a/jdk/test/sun/management/jmxremote/bootstrap/SSLConfigFilePermissionTest.sh
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright (c) 2007, 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 6557093
-# @summary Check SSL config file permission for out-of-the-box management
-#
-# @run shell SSLConfigFilePermissionTest.sh
-
-createJavaFile()
-{
- cat << EOF > $1/$2.java
- class $2 {
- public static void main(String[] args) {
- System.out.println("Inside main method...");
- }
- }
-EOF
-}
-
-createManagementConfigFile() {
- cat << EOF > $1
-# management.properties
-com.sun.management.jmxremote.authenticate=false
-com.sun.management.jmxremote.ssl.config.file=$2
-EOF
-}
-
-createSSLConfigFile() {
- if [ -f "$1" ] ; then
- rm -f $1 || echo WARNING: $1 already exists - unable to remove old copy
- fi
- cat << EOF > $1
-javax.net.ssl.keyStore=$2
-javax.net.ssl.keyStorePassword=password
-EOF
-}
-
-# Check we are run from jtreg
-if [ -z "${TESTCLASSES}" ]; then
- echo "Test is designed to be run from jtreg only"
- exit 0
-fi
-
-# Test not suitable for Windows as chmod may not be able to
-# security the password file.
-
-os=`uname -s`
-if [ "$os" != "Linux" -a "$os" != "SunOS" ]; then
- echo "Test not designed to run on this operating system, skipping..."
- exit 0
-fi
-
-# Create management and SSL configuration files
-
-LIBDIR=${TESTCLASSES}/lib
-MGMT=${LIBDIR}/management.properties
-SSL=${LIBDIR}/jmxremote.ssl.config
-rm -f ${MGMT}
-rm -f ${SSL}
-mkdir ${LIBDIR} 2>&1
-createJavaFile ${TESTCLASSES} Dummy
-createManagementConfigFile ${MGMT} ${SSL}
-createSSLConfigFile ${SSL} ${TESTSRC}/ssl/keystore
-
-# Compile test
-
-${COMPILEJAVA}/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${TESTCLASSES} ${TESTCLASSES}/Dummy.java
-
-JAVA=${TESTJAVA}/bin/java
-CLASSPATH=${TESTCLASSES}
-export CLASSPATH
-
-failures=0
-
-mp=-Dcom.sun.management.config.file=${MGMT}
-pp=-Dcom.sun.management.jmxremote.port=4999
-
-go() {
- echo ''
- sh -xc "$JAVA ${TESTVMOPTS} $1 $2 $3 $4 $5 $6 $7 $8" 2>&1
- if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
-}
-
-# Test 1 - SSL config file is secure - VM should start
-chmod 700 ${SSL}
-sh -xc "$JAVA ${TESTVMOPTS} $mp $pp Dummy" 2>&1
-if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
-
-# Test 2 - SSL config file is not secure - VM should fail to start
-chmod o+rx ${SSL}
-sh -xc "$JAVA ${TESTVMOPTS} $mp $pp Dummy" 2>&1
-if [ $? = 0 ]; then failures=`expr $failures + 1`; fi
-
-# Reset the file permissions on the generated SSL config file
-chmod 777 ${SSL}
-
-#
-# Results
-#
-echo ''
-if [ $failures -gt 0 ];
- then echo "$failures test(s) failed";
- else echo "All test(s) passed"; fi
-exit $failures
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/TestLogger.java b/jdk/test/sun/management/jmxremote/bootstrap/TestLogger.java
index 3858f4f..adec3aa 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/TestLogger.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/TestLogger.java
@@ -20,7 +20,6 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package util;
import java.util.logging.Logger;
import java.util.logging.Level;
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/rmiregistry.properties b/jdk/test/sun/management/jmxremote/bootstrap/rmiregistry.properties
index 718ebd1..7b3f2f6 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/rmiregistry.properties
+++ b/jdk/test/sun/management/jmxremote/bootstrap/rmiregistry.properties
@@ -24,7 +24,7 @@
# ################ Management Agent Port #########################
#
# For setting the JMX RMI agent port use the following line
-com.sun.management.jmxremote.port=4444
+com.sun.management.jmxremote.port=${getFreePort}
#
# For setting the SNMP agent port use the following line
# com.sun.management.snmp.port=<port-number>
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/rmiregistryssl.properties b/jdk/test/sun/management/jmxremote/bootstrap/rmiregistryssl.properties
index eb336ee..3b3b81c 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/rmiregistryssl.properties
+++ b/jdk/test/sun/management/jmxremote/bootstrap/rmiregistryssl.properties
@@ -24,7 +24,7 @@
# ################ Management Agent Port #########################
#
# For setting the JMX RMI agent port use the following line
-com.sun.management.jmxremote.port=4444
+com.sun.management.jmxremote.port=${getFreePort}
#
# For setting the SNMP agent port use the following line
# com.sun.management.snmp.port=<port-number>
diff --git a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java
index 65f4a3a..8835cc3 100644
--- a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java
+++ b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java
@@ -25,6 +25,7 @@
import java.io.IOException;
import java.lang.reflect.Method;
import java.net.ConnectException;
+import java.net.ServerSocket;
import java.rmi.NoSuchObjectException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
@@ -67,6 +68,47 @@
private static final boolean verbose = false;
+ /**
+ * Dynamically allocates two distinct ports using {@linkplain java.net.ServerSocket}
+ * It keeps each of those ports blocked until it is first accessed by its getter
+ */
+ private static class PortAllocator {
+ private final int port1, port2;
+ private final ServerSocket ss1, ss2;
+ PortAllocator() {
+ try {
+ ss1 = new ServerSocket(0);
+ ss2 = new ServerSocket(0);
+ port1 = ss1.getLocalPort();
+ port2 = ss2.getLocalPort();
+ } catch (IOException e) {
+ throw new Error("Error while obtaining free ports", e);
+ }
+ }
+
+ public int getPort1() {
+ if (!ss1.isClosed()) {
+ try {
+ ss1.close();
+ } catch (IOException e) {
+ // just ignore
+ }
+ }
+ return port1;
+ }
+
+ public int getPort2() {
+ if (!ss2.isClosed()) {
+ try {
+ ss2.close();
+ } catch (IOException e) {
+ // just ignore
+ }
+ }
+ return port2;
+ }
+ }
+
private static void dbg_print(String msg){
if (verbose) {
System.out.println("DBG: " +msg);
@@ -255,26 +297,23 @@
private static List<Failure> failures = new ArrayList<>();
public static void main(String args[]) throws Exception {
- for (int i=0;i<3;i++) {
- System.out.println("=== PASS " + i + " ===");
- for (Method m : JMXStartStopTest.class.getDeclaredMethods()) {
- if (m.getName().startsWith("test_")) {
- try {
- m.invoke(null);
- System.out.println("=== PASSED\n");
- } catch (Throwable e) {
- failures.add(new Failure(e, m.getName() + " failed"));
- }
+ for (Method m : JMXStartStopTest.class.getDeclaredMethods()) {
+ if (m.getName().startsWith("test_")) {
+ try {
+ m.invoke(null);
+ System.out.println("=== PASSED\n");
+ } catch (Throwable e) {
+ failures.add(new Failure(e, m.getName() + " failed"));
}
}
+ }
- if (!failures.isEmpty()) {
- for(Failure f : failures) {
- System.err.println(f.getMsg());
- f.getCause().printStackTrace(System.err);
- }
- throw new Error();
+ if (!failures.isEmpty()) {
+ for(Failure f : failures) {
+ System.err.println(f.getMsg());
+ f.getCause().printStackTrace(System.err);
}
+ throw new Error();
}
}
@@ -371,6 +410,7 @@
));
pbArgs.addAll(Arrays.asList(args));
pbArgs.add("JMXStartStopDoSomething");
+
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
pbArgs.toArray(new String[pbArgs.size()])
);
@@ -435,29 +475,28 @@
private static final String CMD_STOP = "ManagementAgent.stop";
private static final String CMD_START= "ManagementAgent.start";
private static final String CMD_START_LOCAL = "ManagementAgent.start_local";
- private static final int port1 = 50234;
- private static final int port2 = 50235;
private static void test_01() throws Exception {
// Run an app with JMX enabled stop it and
// restart on other port
System.out.println("**** Test one ****");
+ PortAllocator pa = new PortAllocator();
Something s = doSomething(
"test_01",
- "-Dcom.sun.management.jmxremote.port=" + port1,
+ "-Dcom.sun.management.jmxremote.port=" + pa.getPort1(),
"-Dcom.sun.management.jmxremote.authenticate=false",
"-Dcom.sun.management.jmxremote.ssl=false");
try {
- testConnect(port1);
+ testConnect(pa.getPort1());
jcmd(CMD_STOP);
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
- jcmd(CMD_START, "jmxremote.port=" + port2);
- testConnect(port2);
+ jcmd(CMD_START, "jmxremote.port=" + pa.getPort2());
+ testConnect(pa.getPort2());
} finally {
s.stop();
}
@@ -470,14 +509,16 @@
System.out.println("**** Test two ****");
Something s = doSomething("test_02");
+ PortAllocator pa = new PortAllocator();
try {
jcmd(CMD_START,
- "jmxremote.port=" + port1,
+ "jmxremote.port=" + pa.getPort1(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false");
- testConnect(port1);
+ testConnect(pa.getPort1());
} finally {
+// debugPortUsage(pa);
s.stop();
}
}
@@ -489,23 +530,24 @@
System.out.println("**** Test three ****");
Something s = doSomething("test_03");
+ PortAllocator pa = new PortAllocator();
try {
jcmd(CMD_START,
- "jmxremote.port=" + port1,
+ "jmxremote.port=" + pa.getPort1(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false");
// Second agent shouldn't start
jcmd(CMD_START,
- "jmxremote.port=" + port2,
+ "jmxremote.port=" + pa.getPort2(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false");
// First agent should connect
- testConnect(port1);
+ testConnect(pa.getPort1());
// Second agent should not connect
- testNoConnect(port2);
+ testNoConnect(pa.getPort2());
} finally {
s.stop();
}
@@ -518,15 +560,15 @@
System.out.println("**** Test four ****");
Something s = doSomething("test_04");
-
+ PortAllocator pa = new PortAllocator();
try {
jcmd(CMD_START,
- "jmxremote.port=" + port1,
- "jmxremote.rmi.port=" + port2,
+ "jmxremote.port=" + pa.getPort1(),
+ "jmxremote.rmi.port=" + pa.getPort2(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false");
- testConnect(port1, port2);
+ testConnect(pa.getPort1(), pa.getPort2());
} finally {
s.stop();
}
@@ -539,10 +581,11 @@
System.out.println("**** Test five ****");
Something s = doSomething("test_05");
+ PortAllocator pa = new PortAllocator();
try {
jcmd(CMD_START_LOCAL);
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
testConnectLocal(s.getPid());
} finally {
s.stop();
@@ -561,14 +604,14 @@
System.out.println("**** Test six ****");
Something s = doSomething("test_06");
-
+ PortAllocator pa = new PortAllocator();
try {
jcmd(CMD_START,
- "jmxremote.port=" + port1,
+ "jmxremote.port=" + pa.getPort1(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false");
- testConnect(port1, port2);
+ testConnect(pa.getPort1(), pa.getPort2());
final boolean[] checks = new boolean[3];
jcmd(
@@ -578,7 +621,7 @@
}
},
CMD_START,
- "jmxremote.port=" + port1,
+ "jmxremote.port=" + pa.getPort1(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false");
@@ -589,34 +632,37 @@
}
},
CMD_START,
- "jmxremote.port=" + port2,
+ "jmxremote.port=" + pa.getPort2(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false");
jcmd(CMD_STOP);
jcmd(CMD_STOP);
+ ServerSocket ss = new ServerSocket(0);
+
jcmd(
line -> {
- if (line.contains("Port already in use: 22")) {
+ if (line.contains("Port already in use: " + ss.getLocalPort())) {
checks[2] = true;
}
},
CMD_START,
- "jmxremote.port=22",
- "jmxremote.rmi.port=" + port2,
+ "jmxremote.port=" + ss.getLocalPort(),
+ "jmxremote.rmi.port=" + pa.getPort2(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false");
+
if (!checks[0]) {
- throw new Exception("Starting agent on port " + port1 + " should " +
+ throw new Exception("Starting agent on port " + pa.getPort1() + " should " +
"report an invalid agent state");
}
if (!checks[1]) {
- throw new Exception("Starting agent on poprt " + port2 + " should " +
+ throw new Exception("Starting agent on poprt " + pa.getPort2() + " should " +
"report an invalid agent state");
}
if (!checks[2]) {
- throw new Exception("Starting agent on port 22 should " +
+ throw new Exception("Starting agent on port " + ss.getLocalPort() + " should " +
"report port in use");
}
} finally {
@@ -627,7 +673,7 @@
private static void test_07() throws Exception {
// Run an app without JMX enabled, but with some properties set
// in command line.
- // make sure these properties overriden corectly
+ // make sure these properties overridden corectly
System.out.println("**** Test seven ****");
@@ -635,16 +681,17 @@
"test_07",
"-Dcom.sun.management.jmxremote.authenticate=false",
"-Dcom.sun.management.jmxremote.ssl=true");
+ PortAllocator pa = new PortAllocator();
try {
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
jcmd(
CMD_START,
- "jmxremote.port=" + port2,
+ "jmxremote.port=" + pa.getPort2(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false"
);
- testConnect(port2);
+ testConnect(pa.getPort2());
} finally {
s.stop();
}
@@ -654,31 +701,32 @@
// Run an app with JMX enabled and with some properties set
// in command line.
// stop JMX agent and then start it again with different property values
- // make sure these properties overriden corectly
+ // make sure these properties overridden corectly
System.out.println("**** Test eight ****");
+ PortAllocator pa = new PortAllocator();
Something s = doSomething(
"test_08",
- "-Dcom.sun.management.jmxremote.port=" + port1,
+ "-Dcom.sun.management.jmxremote.port=" + pa.getPort1(),
"-Dcom.sun.management.jmxremote.authenticate=false",
"-Dcom.sun.management.jmxremote.ssl=true");
try {
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
jcmd(CMD_STOP);
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
jcmd(
CMD_START,
- "jmxremote.port=" + port2,
+ "jmxremote.port=" + pa.getPort2(),
"jmxremote.authenticate=false",
"jmxremote.ssl=false"
);
- testConnect(port2);
+ testConnect(pa.getPort2());
} finally {
s.stop();
}
@@ -690,7 +738,7 @@
// stop JMX agent and then start it again with different property values
// specifing some property in management config file and some of them
// in command line
- // make sure these properties overriden corectly
+ // make sure these properties overridden corectly
System.out.println("**** Test nine ****");
@@ -699,22 +747,23 @@
TEST_SRC + File.separator + "management_cl.properties",
"-Dcom.sun.management.jmxremote.authenticate=false"
);
+ PortAllocator pa = new PortAllocator();
try {
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
jcmd(CMD_STOP);
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
jcmd(CMD_START,
"config.file=" + TEST_SRC + File.separator +
"management_jcmd.properties",
"jmxremote.authenticate=false",
- "jmxremote.port=" + port2
+ "jmxremote.port=" + pa.getPort2()
);
- testConnect(port2);
+ testConnect(pa.getPort2());
} finally {
s.stop();
}
@@ -725,32 +774,33 @@
// in command line.
// stop JMX agent and then start it again with different property values
// stop JMX agent again and then start it without property value
- // make sure these properties overriden corectly
+ // make sure these properties overridden corectly
System.out.println("**** Test ten ****");
+ PortAllocator pa = new PortAllocator();
Something s = doSomething(
"test_10",
- "-Dcom.sun.management.jmxremote.port=" + port1,
+ "-Dcom.sun.management.jmxremote.port=" + pa.getPort1(),
"-Dcom.sun.management.jmxremote.authenticate=false",
"-Dcom.sun.management.jmxremote.ssl=true");
try {
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
jcmd(CMD_STOP);
jcmd(CMD_START,
"jmxremote.ssl=false",
- "jmxremote.port=" + port1
+ "jmxremote.port=" + pa.getPort1()
);
- testConnect(port1);
+ testConnect(pa.getPort1());
jcmd(CMD_STOP);
jcmd(CMD_START,
- "jmxremote.port=" + port1
+ "jmxremote.port=" + pa.getPort1()
);
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
} finally {
s.stop();
}
@@ -762,14 +812,15 @@
// make sure local agent is not affected
System.out.println("**** Test eleven ****");
+ PortAllocator pa = new PortAllocator();
Something s = doSomething(
"test_11",
- "-Dcom.sun.management.jmxremote.port=" + port1,
+ "-Dcom.sun.management.jmxremote.port=" + pa.getPort1(),
"-Dcom.sun.management.jmxremote.authenticate=false",
"-Dcom.sun.management.jmxremote.ssl=false");
try {
- testConnect(port1);
+ testConnect(pa.getPort1());
jcmd(CMD_STOP);
testConnectLocal(s.getPid());
} finally {
@@ -784,9 +835,10 @@
System.out.println("**** Test twelve ****");
Something s = doSomething("test_12");
+ PortAllocator pa = new PortAllocator();
try {
- testNoConnect(port1);
+ testNoConnect(pa.getPort1());
jcmd(CMD_START + "_local");
testConnectLocal(s.getPid());
@@ -800,7 +852,8 @@
// Run an app with -javaagent make sure it works as expected -
// system properties are ignored
- System.out.println("**** Test fourteen ****");
+ System.out.println("**** Test thirteen ****");
+ PortAllocator pa = new PortAllocator();
String agent = TEST_JDK + "/jre/lib/management-agent.jar";
if (!new File(agent).exists()) {
@@ -809,12 +862,12 @@
Something s = doSomething("test_14",
"-javaagent:" + agent + "=com.sun.management.jmxremote.port=" +
- port1 + ",com.sun.management.jmxremote.authenticate=false",
+ pa.getPort1() + ",com.sun.management.jmxremote.authenticate=false",
"-Dcom.sun.management.jmxremote.ssl=false"
);
try {
- testNoConnect(port1);
+ testNoConnect(pa.port1);
} finally {
s.stop();
}
diff --git a/jdk/test/sun/misc/ClassLoaderUtil/Test.java b/jdk/test/sun/misc/ClassLoaderUtil/Test.java
deleted file mode 100644
index 12c8280..0000000
--- a/jdk/test/sun/misc/ClassLoaderUtil/Test.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2005, 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 6349735
- * @summary Internal API for closing jar files belonging to URLClassLoader instances
- */
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-public class Test {
-
- static File copy (File src, String destDir) throws Exception {
- FileInputStream fis = new FileInputStream (src);
- File dest = new File (destDir, src.getName());
- FileOutputStream fos = new FileOutputStream (dest);
- byte buf[] = new byte [1024];
- int c;
- while ((c=fis.read(buf)) != -1) {
- fos.write (buf, 0, c);
- }
- fis.close();
- fos.close();
- return dest;
- }
-
- public static void main(String[] args) throws Exception {
- String srcPath = System.getProperty("test.src");
- String destPath = System.getProperty("test.classes");
- if (destPath == null || "".equals(destPath)) {
- throw new RuntimeException ("Not running test");
- }
- File file = new File (srcPath, "test.jar");
- file = copy (file, destPath);
- URL url = file.toURL();
- URLClassLoader loader = new URLClassLoader (new URL [] {url});
- Class clazz = Class.forName ("Foo", true, loader);
- Object obj = clazz.newInstance();
- List<String> jarsclosed = new LinkedList<String>();
- sun.misc.ClassLoaderUtil.releaseLoader (loader, jarsclosed);
- for (String jar: jarsclosed) {
- System.out.println ("Successfully closed " + jar);
- }
- if (!file.delete()) {
- throw new RuntimeException ("failed to delete jar file");
- }
- }
-}
diff --git a/jdk/test/sun/misc/Cleaner/ExitOnThrow.java b/jdk/test/sun/misc/Cleaner/ExitOnThrow.java
index f4fd802..5fdca20 100644
--- a/jdk/test/sun/misc/Cleaner/ExitOnThrow.java
+++ b/jdk/test/sun/misc/Cleaner/ExitOnThrow.java
@@ -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
diff --git a/jdk/test/sun/misc/FloatingDecimal/OldFDBigIntForTest.java b/jdk/test/sun/misc/FloatingDecimal/OldFDBigIntForTest.java
index 8ad9680..a7082ba 100644
--- a/jdk/test/sun/misc/FloatingDecimal/OldFDBigIntForTest.java
+++ b/jdk/test/sun/misc/FloatingDecimal/OldFDBigIntForTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java b/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java
index 83485d5..dffc5a0 100644
--- a/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java
+++ b/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java
@@ -24,7 +24,7 @@
/*
* @test
* @bug 6887710
- * @summary Verify the impact of sun.misc.JarIndex.metaInfFilenames on Service loaders
+ * @summary Verify the impact of sun.misc.JarIndex.metaInfFilenames on ServiceLoader
* @run main/othervm Basic
*/
@@ -48,9 +48,8 @@
import com.sun.net.httpserver.HttpServer;
/**
- * Verifies the impact of sun.misc.JarIndex.metaInfFilenames on service loaders
- * (sun.misc.Service & java.util.ServiceLoader), as well as finding resources
- * through Class.getResouce.
+ * Verifies the impact of sun.misc.JarIndex.metaInfFilenames on ServiceLoader
+ * and on finding resources via Class.getResource.
*
* 1) Compile the test sources:
* jarA:
@@ -214,23 +213,13 @@
int failed = 0;
- // Tests using sun.misc.Service
- if (!sunMiscServiceTest(baseURL, messageService, true, false, true)) {
- System.out.println("Test: sun.misc.Service looking for " + messageService + ", failed");
- failed++;
- }
- if (!sunMiscServiceTest(baseURL, unknownService, false, false, false)) {
- System.out.println("Test: sun.misc.Service looking for " + unknownService + " failed");
- failed++;
- }
-
// Tests using java.util.SerivceLoader
if (!javaUtilServiceLoaderTest(baseURL, messageService, true, false, true)) {
- System.out.println("Test: sun.misc.Service looking for " + messageService + ", failed");
+ System.out.println("Test: ServiceLoader looking for " + messageService + ", failed");
failed++;
}
if (!javaUtilServiceLoaderTest(baseURL, unknownService, false, false, false)) {
- System.out.println("Test: sun.misc.Service looking for " + unknownService + " failed");
+ System.out.println("Test: ServiceLoader looking for " + unknownService + " failed");
failed++;
}
@@ -248,48 +237,6 @@
throw new RuntimeException("Failed: " + failed + " tests");
}
- static boolean sunMiscServiceTest(URL baseURL,
- String serviceClass,
- boolean expectToFind,
- boolean expectbDotJar,
- boolean expectcDotJar) throws IOException {
- debug("----------------------------------");
- debug("Running test with sun.misc.Service looking for " + serviceClass);
- URLClassLoader loader = getLoader(baseURL);
- httpServer.reset();
-
- Class<?> messageServiceClass = null;
- try {
- messageServiceClass = loader.loadClass(serviceClass);
- } catch (ClassNotFoundException cnfe) {
- System.err.println(cnfe);
- throw new RuntimeException("Error in test: " + cnfe);
- }
-
- Iterator<?> iterator = sun.misc.Service.providers(messageServiceClass, loader);
- if (expectToFind && !iterator.hasNext()) {
- debug(messageServiceClass + " NOT found.");
- return false;
- }
-
- while (iterator.hasNext()) {
- debug("found " + iterator.next() + " " + messageService);
- }
-
- debug("HttpServer: " + httpServer);
-
- if (!expectbDotJar && httpServer.bDotJar > 0) {
- debug("Unexpeced request sent to the httpserver for b.jar");
- return false;
- }
- if (!expectcDotJar && httpServer.cDotJar > 0) {
- debug("Unexpeced request sent to the httpserver for c.jar");
- return false;
- }
-
- return true;
- }
-
static boolean javaUtilServiceLoaderTest(URL baseURL,
String serviceClass,
boolean expectToFind,
diff --git a/jdk/test/sun/misc/JavaLangAccess/NewUnsafeString.java b/jdk/test/sun/misc/JavaLangAccess/NewUnsafeString.java
index ab608d7..cfaaa4c 100644
--- a/jdk/test/sun/misc/JavaLangAccess/NewUnsafeString.java
+++ b/jdk/test/sun/misc/JavaLangAccess/NewUnsafeString.java
@@ -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
diff --git a/jdk/test/sun/net/ftp/MarkResetTest.java b/jdk/test/sun/net/ftp/MarkResetTest.java
index 1578080..1f9e1bd 100644
--- a/jdk/test/sun/net/ftp/MarkResetTest.java
+++ b/jdk/test/sun/net/ftp/MarkResetTest.java
@@ -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
diff --git a/jdk/test/sun/net/ftp/MarkResetTest.sh b/jdk/test/sun/net/ftp/MarkResetTest.sh
index 3878b50..b673e5d 100644
--- a/jdk/test/sun/net/ftp/MarkResetTest.sh
+++ b/jdk/test/sun/net/ftp/MarkResetTest.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2002, 2012, 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
diff --git a/jdk/test/sun/net/sdp/sanity.sh b/jdk/test/sun/net/sdp/sanity.sh
index 88d80e0..9ebad4a 100644
--- a/jdk/test/sun/net/sdp/sanity.sh
+++ b/jdk/test/sun/net/sdp/sanity.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 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
diff --git a/jdk/test/sun/net/www/http/HttpClient/ProxyTest.java b/jdk/test/sun/net/www/http/HttpClient/ProxyTest.java
index 5d13a58..5bbd578 100644
--- a/jdk/test/sun/net/www/http/HttpClient/ProxyTest.java
+++ b/jdk/test/sun/net/www/http/HttpClient/ProxyTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2010, 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
diff --git a/jdk/test/sun/net/www/http/HttpClient/RetryPost.sh b/jdk/test/sun/net/www/http/HttpClient/RetryPost.sh
index c500171..218c1d4 100644
--- a/jdk/test/sun/net/www/http/HttpClient/RetryPost.sh
+++ b/jdk/test/sun/net/www/http/HttpClient/RetryPost.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006, 2012, 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
diff --git a/jdk/test/sun/net/www/protocol/file/DirPermissionDenied.sh b/jdk/test/sun/net/www/protocol/file/DirPermissionDenied.sh
index 7606b3d..1bceecf 100644
--- a/jdk/test/sun/net/www/protocol/file/DirPermissionDenied.sh
+++ b/jdk/test/sun/net/www/protocol/file/DirPermissionDenied.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 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
diff --git a/jdk/test/sun/net/www/protocol/http/B6299712.java b/jdk/test/sun/net/www/protocol/http/B6299712.java
index 1f87acc..cf7be47 100644
--- a/jdk/test/sun/net/www/protocol/http/B6299712.java
+++ b/jdk/test/sun/net/www/protocol/http/B6299712.java
@@ -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
diff --git a/jdk/test/sun/net/www/protocol/http/ProxyTunnelServer.java b/jdk/test/sun/net/www/protocol/http/ProxyTunnelServer.java
index a19d89c..67d926f 100644
--- a/jdk/test/sun/net/www/protocol/http/ProxyTunnelServer.java
+++ b/jdk/test/sun/net/www/protocol/http/ProxyTunnelServer.java
@@ -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
diff --git a/jdk/test/sun/net/www/protocol/http/StackTraceTest.java b/jdk/test/sun/net/www/protocol/http/StackTraceTest.java
index cd3f6a5..3a12c3c 100644
--- a/jdk/test/sun/net/www/protocol/http/StackTraceTest.java
+++ b/jdk/test/sun/net/www/protocol/http/StackTraceTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
diff --git a/jdk/test/sun/security/ssl/sun/net/www/httpstest/AbstractCallback.java b/jdk/test/sun/net/www/protocol/https/AbstractCallback.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/httpstest/AbstractCallback.java
rename to jdk/test/sun/net/www/protocol/https/AbstractCallback.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/http/ChunkedOutputStream/Test.java b/jdk/test/sun/net/www/protocol/https/ChunkedOutputStream.java
similarity index 97%
rename from jdk/test/sun/security/ssl/sun/net/www/http/ChunkedOutputStream/Test.java
rename to jdk/test/sun/net/www/protocol/https/ChunkedOutputStream.java
index 67fe5c2..cce2706 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/http/ChunkedOutputStream/Test.java
+++ b/jdk/test/sun/net/www/protocol/https/ChunkedOutputStream.java
@@ -26,7 +26,7 @@
* @bug 5026745
* @library ../../httpstest/
* @build TestHttpsServer HttpCallback
- * @run main/othervm Test
+ * @run main/othervm ChunkedOutputStream
*
* SunJSSE does not support dynamic system properties, no way to re-use
* system properties in samevm/agentvm mode.
@@ -37,11 +37,11 @@
import java.net.*;
import javax.net.ssl.*;
-public class Test implements HttpCallback {
+public class ChunkedOutputStream implements HttpCallback {
/*
* Where do we find the keystores for ssl?
*/
- static String pathToStores = "../../../../../etc";
+ static String pathToStores = "../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
@@ -297,7 +297,8 @@
HttpsURLConnection.setDefaultHostnameVerifier(new NameVerifier());
try {
- server = new TestHttpsServer (new Test(), 1, 10, 0);
+ server = new TestHttpsServer(
+ new ChunkedOutputStream(), 1, 10, 0);
System.out.println ("Server started: listening on port: " + server.getLocalPort());
// the test server doesn't support keep-alive yet
// test1("http://localhost:"+server.getLocalPort()+"/d0");
diff --git a/jdk/test/sun/security/ssl/sun/net/www/httpstest/ClosedChannelList.java b/jdk/test/sun/net/www/protocol/https/ClosedChannelList.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/httpstest/ClosedChannelList.java
rename to jdk/test/sun/net/www/protocol/https/ClosedChannelList.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/httpstest/HttpCallback.java b/jdk/test/sun/net/www/protocol/https/HttpCallback.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/httpstest/HttpCallback.java
rename to jdk/test/sun/net/www/protocol/https/HttpCallback.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/httpstest/HttpTransaction.java b/jdk/test/sun/net/www/protocol/https/HttpTransaction.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/httpstest/HttpTransaction.java
rename to jdk/test/sun/net/www/protocol/https/HttpTransaction.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/MyKeyManager.java b/jdk/test/sun/net/www/protocol/https/HttpsClient/MyKeyManager.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/MyKeyManager.java
rename to jdk/test/sun/net/www/protocol/https/HttpsClient/MyKeyManager.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/OriginServer.java b/jdk/test/sun/net/www/protocol/https/HttpsClient/OriginServer.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/OriginServer.java
rename to jdk/test/sun/net/www/protocol/https/HttpsClient/OriginServer.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyAuthTest.java b/jdk/test/sun/net/www/protocol/https/HttpsClient/ProxyAuthTest.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyAuthTest.java
rename to jdk/test/sun/net/www/protocol/https/HttpsClient/ProxyAuthTest.java
index a4ef930..8fa75aa 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyAuthTest.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsClient/ProxyAuthTest.java
@@ -50,7 +50,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyTunnelServer.java b/jdk/test/sun/net/www/protocol/https/HttpsClient/ProxyTunnelServer.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyTunnelServer.java
rename to jdk/test/sun/net/www/protocol/https/HttpsClient/ProxyTunnelServer.java
index e5fa754..145cb49 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ProxyTunnelServer.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsClient/ProxyTunnelServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ServerIdentityTest.java b/jdk/test/sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ServerIdentityTest.java
rename to jdk/test/sun/net/www/protocol/https/HttpsClient/ServerIdentityTest.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/dnsstore b/jdk/test/sun/net/www/protocol/https/HttpsClient/dnsstore
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/dnsstore
rename to jdk/test/sun/net/www/protocol/https/HttpsClient/dnsstore
Binary files differ
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ipstore b/jdk/test/sun/net/www/protocol/https/HttpsClient/ipstore
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsClient/ipstore
rename to jdk/test/sun/net/www/protocol/https/HttpsClient/ipstore
Binary files differ
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java
similarity index 98%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java
index 4df22a8..a599257 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6216082.java
@@ -24,7 +24,7 @@
/*
* @test
* @bug 6216082
- * @library ../../../httpstest/
+ * @library ..
* @build HttpCallback TestHttpsServer ClosedChannelList HttpTransaction TunnelProxy
* @summary Redirect problem with HttpsURLConnection using a proxy
* SunJSSE does not support dynamic system properties, no way to re-use
@@ -83,7 +83,7 @@
/*
* Where do we find the keystores for ssl?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6226610.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6226610.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/B6226610.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/B6226610.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CheckMethods.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CheckMethods.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CheckMethods.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CheckMethods.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CloseKeepAliveCached.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CloseKeepAliveCached.java
similarity index 99%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CloseKeepAliveCached.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CloseKeepAliveCached.java
index c025c6e..559f7af 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CloseKeepAliveCached.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CloseKeepAliveCached.java
@@ -62,7 +62,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHandlerTest.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CookieHandlerTest.java
similarity index 99%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHandlerTest.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CookieHandlerTest.java
index 2e7d3fb..565138c 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHandlerTest.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CookieHandlerTest.java
@@ -56,7 +56,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java
similarity index 99%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java
index 21006f0..82b54df 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/CookieHttpsClientTest.java
@@ -69,7 +69,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/DNSIdentities.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java
similarity index 98%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java
index 08d969d..a7e0bc3 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsCreateSockTest.java
@@ -63,7 +63,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java
similarity index 98%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java
index 8d265f1..7964234 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsPost.java
@@ -54,7 +54,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java
similarity index 97%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java
index 360dfee..d214bd5 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 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
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java
similarity index 98%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java
index 043f612..4011cea 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/HttpsSocketFacTest.java
@@ -63,7 +63,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/IPAddressDNSIdentities.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/IPAddressIPIdentities.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/IPIdentities.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/Identities.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Identities.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/Identities.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/OriginServer.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/OriginServer.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/OriginServer.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/OriginServer.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java
similarity index 97%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java
index 26c4f40..2ad8a0f 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
@@ -45,7 +45,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java
similarity index 97%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java
index 11fe859..1a505ac 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2005, 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
@@ -46,7 +46,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java
similarity index 98%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java
index f2f3430..f498768 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/ProxyTunnelServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 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
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ReadTimeout.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/ReadTimeout.java
similarity index 98%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ReadTimeout.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/ReadTimeout.java
index cfaaeb4..834d984 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/ReadTimeout.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/ReadTimeout.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java
similarity index 98%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java
index 276f96c..eacabdd 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/Redirect.java
@@ -54,7 +54,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/RetryHttps.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/RetryHttps.java
similarity index 98%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/RetryHttps.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/RetryHttps.java
index c665af0..a21c1b0 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/RetryHttps.java
+++ b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/RetryHttps.java
@@ -56,7 +56,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/TunnelProxy.java b/jdk/test/sun/net/www/protocol/https/HttpsURLConnection/TunnelProxy.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/TunnelProxy.java
rename to jdk/test/sun/net/www/protocol/https/HttpsURLConnection/TunnelProxy.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/ComHTTPSConnection.java b/jdk/test/sun/net/www/protocol/https/NewImpl/ComHTTPSConnection.java
similarity index 99%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/ComHTTPSConnection.java
rename to jdk/test/sun/net/www/protocol/https/NewImpl/ComHTTPSConnection.java
index 4149bd4..ce6f59c 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/ComHTTPSConnection.java
+++ b/jdk/test/sun/net/www/protocol/https/NewImpl/ComHTTPSConnection.java
@@ -61,7 +61,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/ComHostnameVerifier.java b/jdk/test/sun/net/www/protocol/https/NewImpl/ComHostnameVerifier.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/ComHostnameVerifier.java
rename to jdk/test/sun/net/www/protocol/https/NewImpl/ComHostnameVerifier.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/JavaxHTTPSConnection.java b/jdk/test/sun/net/www/protocol/https/NewImpl/JavaxHTTPSConnection.java
similarity index 99%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/JavaxHTTPSConnection.java
rename to jdk/test/sun/net/www/protocol/https/NewImpl/JavaxHTTPSConnection.java
index 06b0162..196f1d4 100644
--- a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/JavaxHTTPSConnection.java
+++ b/jdk/test/sun/net/www/protocol/https/NewImpl/JavaxHTTPSConnection.java
@@ -59,7 +59,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../etc";
+ static String pathToStores = "../../../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/JavaxHostnameVerifier.java b/jdk/test/sun/net/www/protocol/https/NewImpl/JavaxHostnameVerifier.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/protocol/https/NewImpl/JavaxHostnameVerifier.java
rename to jdk/test/sun/net/www/protocol/https/NewImpl/JavaxHostnameVerifier.java
diff --git a/jdk/test/sun/security/ssl/sun/net/www/httpstest/TestHttpsServer.java b/jdk/test/sun/net/www/protocol/https/TestHttpsServer.java
similarity index 100%
rename from jdk/test/sun/security/ssl/sun/net/www/httpstest/TestHttpsServer.java
rename to jdk/test/sun/net/www/protocol/https/TestHttpsServer.java
diff --git a/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh b/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh
index 6963201..32de6ee 100644
--- a/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh
+++ b/jdk/test/sun/net/www/protocol/jar/jarbug/run.sh
@@ -34,14 +34,17 @@
SunOS | Linux | Darwin | AIX )
PS=":"
FS="/"
+ CHMOD="${FS}bin${FS}chmod"
;;
Windows* )
PS=";"
FS="\\"
+ CHMOD="chmod"
;;
CYGWIN* )
PS=";"
FS="/"
+ CHMOD="chmod"
#
# javac does not like /cygdrive produced by `pwd`.
#
@@ -59,6 +62,7 @@
mkdir -p ${DEST}${FS}jar1
cd ${TESTSRC}${FS}etc${FS}jar1
cp -r . ${DEST}${FS}jar1
+${CHMOD} -R u+w ${DEST}${FS}jar1
${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${DEST}${FS}jar1 \
${TESTSRC}${FS}src${FS}jar1${FS}LoadResourceBundle.java
${COMPILEJAVA}${FS}bin${FS}javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${DEST}${FS}jar1 \
diff --git a/jdk/test/sun/nio/cs/EUC_TW_OLD.java b/jdk/test/sun/nio/cs/EUC_TW_OLD.java
index 5fda8f1..61e9cf6 100644
--- a/jdk/test/sun/nio/cs/EUC_TW_OLD.java
+++ b/jdk/test/sun/nio/cs/EUC_TW_OLD.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2006, 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
diff --git a/jdk/test/sun/nio/cs/TestIBMBugs.java b/jdk/test/sun/nio/cs/TestIBMBugs.java
index 96404a4..9b551c8 100644
--- a/jdk/test/sun/nio/cs/TestIBMBugs.java
+++ b/jdk/test/sun/nio/cs/TestIBMBugs.java
@@ -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
diff --git a/jdk/test/sun/nio/cs/TestStringCoding.java b/jdk/test/sun/nio/cs/TestStringCoding.java
index 04c40fa..aaee1bc 100644
--- a/jdk/test/sun/nio/cs/TestStringCoding.java
+++ b/jdk/test/sun/nio/cs/TestStringCoding.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/nio/cs/X11CNS11643.java b/jdk/test/sun/nio/cs/X11CNS11643.java
index ed883b9..550be6b 100644
--- a/jdk/test/sun/nio/cs/X11CNS11643.java
+++ b/jdk/test/sun/nio/cs/X11CNS11643.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2005, 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
diff --git a/jdk/test/sun/nio/cs/X11CNS11643P1.java b/jdk/test/sun/nio/cs/X11CNS11643P1.java
index b7eac36..53a1028 100644
--- a/jdk/test/sun/nio/cs/X11CNS11643P1.java
+++ b/jdk/test/sun/nio/cs/X11CNS11643P1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/test/sun/nio/cs/X11CNS11643P2.java b/jdk/test/sun/nio/cs/X11CNS11643P2.java
index 28861df..01f024f 100644
--- a/jdk/test/sun/nio/cs/X11CNS11643P2.java
+++ b/jdk/test/sun/nio/cs/X11CNS11643P2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
diff --git a/jdk/test/sun/nio/cs/X11CNS11643P3.java b/jdk/test/sun/nio/cs/X11CNS11643P3.java
index 6e9cd5f..21d4b13 100644
--- a/jdk/test/sun/nio/cs/X11CNS11643P3.java
+++ b/jdk/test/sun/nio/cs/X11CNS11643P3.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2005, 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
diff --git a/jdk/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java b/jdk/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java
index 012c0b8..a7c7f5a 100644
--- a/jdk/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java
+++ b/jdk/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -25,7 +25,7 @@
* @bug 4094889
* @summary rmid can have a corrupted log
*
- * @run main LogAlignmentTest
+ * @run main/othervm LogAlignmentTest
*/
/* Fault: ReliableLog used RandomAccessFile.skipBytes() to seek past the end
diff --git a/jdk/test/sun/rmi/log/ReliableLog/SnapshotSize.java b/jdk/test/sun/rmi/log/ReliableLog/SnapshotSize.java
index 592ef5e..c8ea22c 100644
--- a/jdk/test/sun/rmi/log/ReliableLog/SnapshotSize.java
+++ b/jdk/test/sun/rmi/log/ReliableLog/SnapshotSize.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
@@ -26,7 +26,7 @@
* @summary Verify that ReliableLog.snapshotSize() returns correct snapshot
* file size even if LogHandler doesn't flush.
*
- * @run main SnapshotSize
+ * @run main/othervm SnapshotSize
*/
import java.io.ByteArrayOutputStream;
diff --git a/jdk/test/sun/rmi/rmic/RMIGenerator/RmicDefault.java b/jdk/test/sun/rmi/rmic/RMIGenerator/RmicDefault.java
index ff20373..6e2fb6e 100644
--- a/jdk/test/sun/rmi/rmic/RMIGenerator/RmicDefault.java
+++ b/jdk/test/sun/rmi/rmic/RMIGenerator/RmicDefault.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/sun/rmi/rmic/classpath/RMICClassPathTest.java b/jdk/test/sun/rmi/rmic/classpath/RMICClassPathTest.java
index f4c64b7..cecdfb7 100644
--- a/jdk/test/sun/rmi/rmic/classpath/RMICClassPathTest.java
+++ b/jdk/test/sun/rmi/rmic/classpath/RMICClassPathTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, 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
@@ -26,9 +26,10 @@
*/
/* @test
- * @bug 6610897
+ * @bug 6610897 8030844
* @summary New constructor in sun.tools.java.ClassPath builds a path using
- * File.separator instead of File.pathSeparator
+ * File.separator instead of File.pathSeparator. This test does
+ * not affect VM global state, so othervm is not required.
* @run main RMICClassPathTest
*/
@@ -37,12 +38,13 @@
import sun.rmi.rmic.BatchEnvironment;
public class RMICClassPathTest {
+ private final static String SRC_PATH = System.getProperty("test.src", ".");
public static void main(String[] args) throws Exception {
- String sysPath = "/home/~user/jdk/jre/lib/rt.jar";
+ String sysPath = SRC_PATH + "/jdk/jre/lib/rt.jar";
String extDir = "";
- String clPath = "/home/~user/user.jar" + File.pathSeparator +
- "/home/~user/user2.jar" + File.pathSeparator +
- "/home/~user/user3.jar";
+ String clPath = SRC_PATH + "/user.jar" + File.pathSeparator +
+ SRC_PATH + "/user2.jar" + File.pathSeparator +
+ SRC_PATH + "/user3.jar";
String cpStr = BatchEnvironment.createClassPath(clPath, sysPath, extDir).toString();
diff --git a/jdk/test/sun/rmi/rmic/minimizeWrapperInstances/run.sh b/jdk/test/sun/rmi/rmic/minimizeWrapperInstances/run.sh
index 3c8e831..7a86ae4 100644
--- a/jdk/test/sun/rmi/rmic/minimizeWrapperInstances/run.sh
+++ b/jdk/test/sun/rmi/rmic/minimizeWrapperInstances/run.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 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
diff --git a/jdk/test/sun/rmi/rmic/oldjavacRemoved/sunToolsJavacMain.sh b/jdk/test/sun/rmi/rmic/oldjavacRemoved/sunToolsJavacMain.sh
index 11840fa..f284d93 100644
--- a/jdk/test/sun/rmi/rmic/oldjavacRemoved/sunToolsJavacMain.sh
+++ b/jdk/test/sun/rmi/rmic/oldjavacRemoved/sunToolsJavacMain.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 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
diff --git a/jdk/test/sun/rmi/runtime/Log/checkLogging/CheckLogStreams.java b/jdk/test/sun/rmi/runtime/Log/checkLogging/CheckLogStreams.java
index 1e95953..9f40e33 100644
--- a/jdk/test/sun/rmi/runtime/Log/checkLogging/CheckLogStreams.java
+++ b/jdk/test/sun/rmi/runtime/Log/checkLogging/CheckLogStreams.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 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
diff --git a/jdk/test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java b/jdk/test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java
index cf43fbf..d0caf53 100644
--- a/jdk/test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java
+++ b/jdk/test/sun/rmi/runtime/Log/checkLogging/CheckLogging.java
@@ -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
diff --git a/jdk/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub.java b/jdk/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub.java
index bf1eb11..7db3dfe 100644
--- a/jdk/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub.java
+++ b/jdk/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/MarshalForeignStub.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/security.policy b/jdk/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/security.policy
index 9741c60..288a49c 100644
--- a/jdk/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/security.policy
+++ b/jdk/test/sun/rmi/server/MarshalOutputStream/marshalForeignStub/security.policy
@@ -9,8 +9,7 @@
grant {
// used by TestLibrary to determine test environment
- permission java.util.PropertyPermission "test.classes", "read";
- permission java.util.PropertyPermission "test.src", "read";
+ permission java.util.PropertyPermission "test.*", "read";
permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "java.home", "read";
diff --git a/jdk/test/sun/rmi/transport/tcp/blockAccept/BlockAcceptTest.java b/jdk/test/sun/rmi/transport/tcp/blockAccept/BlockAcceptTest.java
index 1624f68..2f5002d 100644
--- a/jdk/test/sun/rmi/transport/tcp/blockAccept/BlockAcceptTest.java
+++ b/jdk/test/sun/rmi/transport/tcp/blockAccept/BlockAcceptTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing.java b/jdk/test/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing.java
index 805c798..a8510df 100644
--- a/jdk/test/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing.java
+++ b/jdk/test/sun/rmi/transport/tcp/disableMultiplexing/DisableMultiplexing.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 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
diff --git a/jdk/test/sun/security/krb5/MicroTime.java b/jdk/test/sun/security/krb5/MicroTime.java
index e22f330..5ac63ca 100644
--- a/jdk/test/sun/security/krb5/MicroTime.java
+++ b/jdk/test/sun/security/krb5/MicroTime.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/ServiceCredsCombination.java b/jdk/test/sun/security/krb5/ServiceCredsCombination.java
index 5c6ac4b..d44c4c6 100644
--- a/jdk/test/sun/security/krb5/ServiceCredsCombination.java
+++ b/jdk/test/sun/security/krb5/ServiceCredsCombination.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/PAData.java b/jdk/test/sun/security/krb5/TestPAData.java
similarity index 99%
rename from jdk/test/sun/security/krb5/PAData.java
rename to jdk/test/sun/security/krb5/TestPAData.java
index 68fce8f..86a4c83 100644
--- a/jdk/test/sun/security/krb5/PAData.java
+++ b/jdk/test/sun/security/krb5/TestPAData.java
@@ -30,7 +30,7 @@
import sun.security.krb5.internal.Krb5;
import sun.security.util.DerValue;
-public class PAData {
+public class TestPAData {
public static void main(String[] args) throws Exception {
// This is the dump of a KRB-ERROR data, no sensitive info included.
byte[] bytes = {
diff --git a/jdk/test/sun/security/krb5/auto/AcceptPermissions.java b/jdk/test/sun/security/krb5/auto/AcceptPermissions.java
index 1b562ea..d26f968 100644
--- a/jdk/test/sun/security/krb5/auto/AcceptPermissions.java
+++ b/jdk/test/sun/security/krb5/auto/AcceptPermissions.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/AcceptorSubKey.java b/jdk/test/sun/security/krb5/auto/AcceptorSubKey.java
index 26b1fbd..f5e122d 100644
--- a/jdk/test/sun/security/krb5/auto/AcceptorSubKey.java
+++ b/jdk/test/sun/security/krb5/auto/AcceptorSubKey.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/BasicKrb5Test.java b/jdk/test/sun/security/krb5/auto/BasicKrb5Test.java
index 99c6822..3a60cc2 100644
--- a/jdk/test/sun/security/krb5/auto/BasicKrb5Test.java
+++ b/jdk/test/sun/security/krb5/auto/BasicKrb5Test.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/CleanState.java b/jdk/test/sun/security/krb5/auto/CleanState.java
index d873254..b63e23d 100644
--- a/jdk/test/sun/security/krb5/auto/CleanState.java
+++ b/jdk/test/sun/security/krb5/auto/CleanState.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/Context.java b/jdk/test/sun/security/krb5/auto/Context.java
index cb3d6e9..715a1ad 100644
--- a/jdk/test/sun/security/krb5/auto/Context.java
+++ b/jdk/test/sun/security/krb5/auto/Context.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/CrossRealm.java b/jdk/test/sun/security/krb5/auto/CrossRealm.java
index ef04521..26dc6ae 100644
--- a/jdk/test/sun/security/krb5/auto/CrossRealm.java
+++ b/jdk/test/sun/security/krb5/auto/CrossRealm.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/test/sun/security/krb5/auto/DiffNameSameKey.java b/jdk/test/sun/security/krb5/auto/DiffNameSameKey.java
index 92c4878..38bacb8 100644
--- a/jdk/test/sun/security/krb5/auto/DiffNameSameKey.java
+++ b/jdk/test/sun/security/krb5/auto/DiffNameSameKey.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/DupEtypes.java b/jdk/test/sun/security/krb5/auto/DupEtypes.java
index cb4f32d..efc26e8 100644
--- a/jdk/test/sun/security/krb5/auto/DupEtypes.java
+++ b/jdk/test/sun/security/krb5/auto/DupEtypes.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/DynamicKeytab.java b/jdk/test/sun/security/krb5/auto/DynamicKeytab.java
index 9c48fe4..dd9e67c 100644
--- a/jdk/test/sun/security/krb5/auto/DynamicKeytab.java
+++ b/jdk/test/sun/security/krb5/auto/DynamicKeytab.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/GSSUnbound.java b/jdk/test/sun/security/krb5/auto/GSSUnbound.java
index a1022d4..74f0e9a 100644
--- a/jdk/test/sun/security/krb5/auto/GSSUnbound.java
+++ b/jdk/test/sun/security/krb5/auto/GSSUnbound.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java b/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java
index 82333d7..3007454 100644
--- a/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java
+++ b/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, 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
diff --git a/jdk/test/sun/security/krb5/auto/KDC.java b/jdk/test/sun/security/krb5/auto/KDC.java
index 6b82a6b..356f84e 100644
--- a/jdk/test/sun/security/krb5/auto/KDC.java
+++ b/jdk/test/sun/security/krb5/auto/KDC.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/KeyTabCompat.java b/jdk/test/sun/security/krb5/auto/KeyTabCompat.java
index ebc1c75..00a7f7c 100644
--- a/jdk/test/sun/security/krb5/auto/KeyTabCompat.java
+++ b/jdk/test/sun/security/krb5/auto/KeyTabCompat.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/MoreKvno.java b/jdk/test/sun/security/krb5/auto/MoreKvno.java
index 55389f0..8abb1e2 100644
--- a/jdk/test/sun/security/krb5/auto/MoreKvno.java
+++ b/jdk/test/sun/security/krb5/auto/MoreKvno.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/sun/security/krb5/auto/OneKDC.java b/jdk/test/sun/security/krb5/auto/OneKDC.java
index 16703b6..2d3fc54 100644
--- a/jdk/test/sun/security/krb5/auto/OneKDC.java
+++ b/jdk/test/sun/security/krb5/auto/OneKDC.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/ReplayCacheTest.java b/jdk/test/sun/security/krb5/auto/ReplayCacheTest.java
index 0208b42..79a4da7 100644
--- a/jdk/test/sun/security/krb5/auto/ReplayCacheTest.java
+++ b/jdk/test/sun/security/krb5/auto/ReplayCacheTest.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/SaslUnbound.java b/jdk/test/sun/security/krb5/auto/SaslUnbound.java
index 64d9a1b..797d66b 100644
--- a/jdk/test/sun/security/krb5/auto/SaslUnbound.java
+++ b/jdk/test/sun/security/krb5/auto/SaslUnbound.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/TwoOrThree.java b/jdk/test/sun/security/krb5/auto/TwoOrThree.java
index 77f5e21..5af545b 100644
--- a/jdk/test/sun/security/krb5/auto/TwoOrThree.java
+++ b/jdk/test/sun/security/krb5/auto/TwoOrThree.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/auto/UnboundService.java b/jdk/test/sun/security/krb5/auto/UnboundService.java
index c6d093c..1327f78 100644
--- a/jdk/test/sun/security/krb5/auto/UnboundService.java
+++ b/jdk/test/sun/security/krb5/auto/UnboundService.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/ccache/EmptyCC.java b/jdk/test/sun/security/krb5/ccache/EmptyCC.java
index f70df4f..4114edb 100644
--- a/jdk/test/sun/security/krb5/ccache/EmptyCC.java
+++ b/jdk/test/sun/security/krb5/ccache/EmptyCC.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/ConfPlusProp.java b/jdk/test/sun/security/krb5/config/ConfPlusProp.java
similarity index 100%
rename from jdk/test/sun/security/krb5/ConfPlusProp.java
rename to jdk/test/sun/security/krb5/config/ConfPlusProp.java
diff --git a/jdk/test/sun/security/krb5/ConfigWithQuotations.java b/jdk/test/sun/security/krb5/config/ConfigWithQuotations.java
similarity index 100%
rename from jdk/test/sun/security/krb5/ConfigWithQuotations.java
rename to jdk/test/sun/security/krb5/config/ConfigWithQuotations.java
diff --git a/jdk/test/sun/security/krb5/DnsFallback.java b/jdk/test/sun/security/krb5/config/DnsFallback.java
similarity index 100%
rename from jdk/test/sun/security/krb5/DnsFallback.java
rename to jdk/test/sun/security/krb5/config/DnsFallback.java
diff --git a/jdk/test/sun/security/krb5/ParseCAPaths.java b/jdk/test/sun/security/krb5/config/ParseCAPaths.java
similarity index 100%
rename from jdk/test/sun/security/krb5/ParseCAPaths.java
rename to jdk/test/sun/security/krb5/config/ParseCAPaths.java
diff --git a/jdk/test/sun/security/krb5/ParseConfig.java b/jdk/test/sun/security/krb5/config/ParseConfig.java
similarity index 100%
rename from jdk/test/sun/security/krb5/ParseConfig.java
rename to jdk/test/sun/security/krb5/config/ParseConfig.java
diff --git a/jdk/test/sun/security/krb5/confplusprop.conf b/jdk/test/sun/security/krb5/config/confplusprop.conf
similarity index 100%
rename from jdk/test/sun/security/krb5/confplusprop.conf
rename to jdk/test/sun/security/krb5/config/confplusprop.conf
diff --git a/jdk/test/sun/security/krb5/confplusprop2.conf b/jdk/test/sun/security/krb5/config/confplusprop2.conf
similarity index 100%
rename from jdk/test/sun/security/krb5/confplusprop2.conf
rename to jdk/test/sun/security/krb5/config/confplusprop2.conf
diff --git a/jdk/test/sun/security/krb5/config/dns.sh b/jdk/test/sun/security/krb5/config/dns.sh
index 71b2add..698f578 100644
--- a/jdk/test/sun/security/krb5/config/dns.sh
+++ b/jdk/test/sun/security/krb5/config/dns.sh
@@ -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
@@ -40,5 +40,5 @@
$COMPILEJAVA/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d . \
${TESTSRC}/NamingManager.java ${TESTSRC}/DNS.java
-$TESTJAVA/bin/java -Xbootclasspath/p:. DNS
+$TESTJAVA/bin/java ${TESTVMOPTS} -Xbootclasspath/p:. DNS
diff --git a/jdk/test/sun/security/krb5/edu.mit.Kerberos b/jdk/test/sun/security/krb5/config/edu.mit.Kerberos
similarity index 100%
rename from jdk/test/sun/security/krb5/edu.mit.Kerberos
rename to jdk/test/sun/security/krb5/config/edu.mit.Kerberos
diff --git a/jdk/test/sun/security/krb5/krb5-capaths.conf b/jdk/test/sun/security/krb5/config/krb5-capaths.conf
similarity index 100%
rename from jdk/test/sun/security/krb5/krb5-capaths.conf
rename to jdk/test/sun/security/krb5/config/krb5-capaths.conf
diff --git a/jdk/test/sun/security/krb5/krb5.conf b/jdk/test/sun/security/krb5/config/krb5.conf
similarity index 100%
rename from jdk/test/sun/security/krb5/krb5.conf
rename to jdk/test/sun/security/krb5/config/krb5.conf
diff --git a/jdk/test/sun/security/krb5/etype/WeakCrypto.java b/jdk/test/sun/security/krb5/etype/WeakCrypto.java
index 459e10c..e7a109f 100644
--- a/jdk/test/sun/security/krb5/etype/WeakCrypto.java
+++ b/jdk/test/sun/security/krb5/etype/WeakCrypto.java
@@ -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
diff --git a/jdk/test/sun/security/krb5/runNameEquals.sh b/jdk/test/sun/security/krb5/runNameEquals.sh
index f65e32f..7710007 100644
--- a/jdk/test/sun/security/krb5/runNameEquals.sh
+++ b/jdk/test/sun/security/krb5/runNameEquals.sh
@@ -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
diff --git a/jdk/test/sun/security/krb5/tools/ktcheck.sh b/jdk/test/sun/security/krb5/tools/ktcheck.sh
index b1b3743..ba279851 100644
--- a/jdk/test/sun/security/krb5/tools/ktcheck.sh
+++ b/jdk/test/sun/security/krb5/tools/ktcheck.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 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
diff --git a/jdk/test/sun/security/pkcs11/SecmodTest.java b/jdk/test/sun/security/pkcs11/SecmodTest.java
index 0bfd907..d3376e0 100644
--- a/jdk/test/sun/security/pkcs11/SecmodTest.java
+++ b/jdk/test/sun/security/pkcs11/SecmodTest.java
@@ -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
diff --git a/jdk/test/sun/security/pkcs12/PKCS12SameKeyId.java b/jdk/test/sun/security/pkcs12/PKCS12SameKeyId.java
index 400ba0e..fd91fef 100644
--- a/jdk/test/sun/security/pkcs12/PKCS12SameKeyId.java
+++ b/jdk/test/sun/security/pkcs12/PKCS12SameKeyId.java
@@ -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
diff --git a/jdk/test/sun/security/provider/PolicyFile/Comparator.java b/jdk/test/sun/security/provider/PolicyFile/Comparator.java
index 231d06f..edda52b 100644
--- a/jdk/test/sun/security/provider/PolicyFile/Comparator.java
+++ b/jdk/test/sun/security/provider/PolicyFile/Comparator.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPBuilder.java b/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPBuilder.java
index 2352bc0..adbd32b 100644
--- a/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPBuilder.java
+++ b/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorEndEntity.java b/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorEndEntity.java
index 283342b..bd43bde 100644
--- a/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorEndEntity.java
+++ b/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorEndEntity.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorIntermediate.java b/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorIntermediate.java
index 1473577..d7d0fe6 100644
--- a/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorIntermediate.java
+++ b/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorIntermediate.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorTrustAnchor.java b/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorTrustAnchor.java
index 0a0145d..63eaa12 100644
--- a/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorTrustAnchor.java
+++ b/jdk/test/sun/security/provider/certpath/DisabledAlgorithms/CPValidatorTrustAnchor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 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
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadBlocksClose.java b/jdk/test/sun/security/ssl/AppInputStream/ReadBlocksClose.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadBlocksClose.java
rename to jdk/test/sun/security/ssl/AppInputStream/ReadBlocksClose.java
index e14976c..b6e83da 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadBlocksClose.java
+++ b/jdk/test/sun/security/ssl/AppInputStream/ReadBlocksClose.java
@@ -54,7 +54,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadHandshake.java b/jdk/test/sun/security/ssl/AppInputStream/ReadHandshake.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadHandshake.java
rename to jdk/test/sun/security/ssl/AppInputStream/ReadHandshake.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadZeroBytes.java b/jdk/test/sun/security/ssl/AppInputStream/ReadZeroBytes.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadZeroBytes.java
rename to jdk/test/sun/security/ssl/AppInputStream/ReadZeroBytes.java
index 566fdc0..931f07d 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/ReadZeroBytes.java
+++ b/jdk/test/sun/security/ssl/AppInputStream/ReadZeroBytes.java
@@ -53,7 +53,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/RemoveMarkReset.java b/jdk/test/sun/security/ssl/AppInputStream/RemoveMarkReset.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/RemoveMarkReset.java
rename to jdk/test/sun/security/ssl/AppInputStream/RemoveMarkReset.java
index 096f12f..819b174 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppInputStream/RemoveMarkReset.java
+++ b/jdk/test/sun/security/ssl/AppInputStream/RemoveMarkReset.java
@@ -54,7 +54,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppOutputStream/NoExceptionOnClose.java b/jdk/test/sun/security/ssl/AppOutputStream/NoExceptionOnClose.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppOutputStream/NoExceptionOnClose.java
rename to jdk/test/sun/security/ssl/AppOutputStream/NoExceptionOnClose.java
index a085d47..f6c129e 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/AppOutputStream/NoExceptionOnClose.java
+++ b/jdk/test/sun/security/ssl/AppOutputStream/NoExceptionOnClose.java
@@ -54,7 +54,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/CipherSuite/SSL_NULL.java b/jdk/test/sun/security/ssl/CipherSuite/SSL_NULL.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/CipherSuite/SSL_NULL.java
rename to jdk/test/sun/security/ssl/CipherSuite/SSL_NULL.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/CipherSuiteOrder.java b/jdk/test/sun/security/ssl/ClientHandshaker/CipherSuiteOrder.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/CipherSuiteOrder.java
rename to jdk/test/sun/security/ssl/ClientHandshaker/CipherSuiteOrder.java
index 75e7436..5276fcb 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/CipherSuiteOrder.java
+++ b/jdk/test/sun/security/ssl/ClientHandshaker/CipherSuiteOrder.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/RSAExport.java b/jdk/test/sun/security/ssl/ClientHandshaker/RSAExport.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/RSAExport.java
rename to jdk/test/sun/security/ssl/ClientHandshaker/RSAExport.java
index b8f2257..48d01f8 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ClientHandshaker/RSAExport.java
+++ b/jdk/test/sun/security/ssl/ClientHandshaker/RSAExport.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 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
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/DHKeyExchange/DHEKeySizing.java b/jdk/test/sun/security/ssl/DHKeyExchange/DHEKeySizing.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/DHKeyExchange/DHEKeySizing.java
rename to jdk/test/sun/security/ssl/DHKeyExchange/DHEKeySizing.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.java b/jdk/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.java
rename to jdk/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.java
index fc6eafa..6fff6db 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.java
+++ b/jdk/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.java
@@ -114,7 +114,7 @@
/*
* The following is to set up the keystores.
*/
- private static String pathToStores = "../../../../../../../etc";
+ private static String pathToStores = "../../../../javax/net/ssl/etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh b/jdk/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.sh
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh
rename to jdk/test/sun/security/ssl/EngineArgs/DebugReportsOneExtraByte.sh
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ClientThread.java b/jdk/test/sun/security/ssl/GenSSLConfigs/ClientThread.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ClientThread.java
rename to jdk/test/sun/security/ssl/GenSSLConfigs/ClientThread.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/Handler.java b/jdk/test/sun/security/ssl/GenSSLConfigs/Handler.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/Handler.java
rename to jdk/test/sun/security/ssl/GenSSLConfigs/Handler.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ServerHandler.java b/jdk/test/sun/security/ssl/GenSSLConfigs/ServerHandler.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ServerHandler.java
rename to jdk/test/sun/security/ssl/GenSSLConfigs/ServerHandler.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ServerThread.java b/jdk/test/sun/security/ssl/GenSSLConfigs/ServerThread.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/ServerThread.java
rename to jdk/test/sun/security/ssl/GenSSLConfigs/ServerThread.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/TestThread.java b/jdk/test/sun/security/ssl/GenSSLConfigs/TestThread.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/TestThread.java
rename to jdk/test/sun/security/ssl/GenSSLConfigs/TestThread.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/Traffic.java b/jdk/test/sun/security/ssl/GenSSLConfigs/Traffic.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/Traffic.java
rename to jdk/test/sun/security/ssl/GenSSLConfigs/Traffic.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/main.java b/jdk/test/sun/security/ssl/GenSSLConfigs/main.java
similarity index 97%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/main.java
rename to jdk/test/sun/security/ssl/GenSSLConfigs/main.java
index dbe1629..1346059 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/GenSSLConfigs/main.java
+++ b/jdk/test/sun/security/ssl/GenSSLConfigs/main.java
@@ -188,11 +188,11 @@
try {
String testRoot = System.getProperty("test.src", ".");
System.setProperty("javax.net.ssl.trustStore", testRoot
- + "/../../../../../../../etc/truststore");
+ + "/../../../../javax/net/ssl/etc/truststore");
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(new FileInputStream(testRoot
- + "/../../../../../../../etc/keystore"),
+ + "/../../../../javax/net/ssl/etc/truststore"),
"passphrase".toCharArray());
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, "passphrase".toCharArray());
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/HandshakeOutStream/NullCerts.java b/jdk/test/sun/security/ssl/HandshakeOutStream/NullCerts.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/HandshakeOutStream/NullCerts.java
rename to jdk/test/sun/security/ssl/HandshakeOutStream/NullCerts.java
index 13b6154..51e37a0 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/HandshakeOutStream/NullCerts.java
+++ b/jdk/test/sun/security/ssl/HandshakeOutStream/NullCerts.java
@@ -56,8 +56,7 @@
/*
* Where do we find the keystores?
*/
- // private final static String pathToStores = "./etc";
- private final static String pathToStores = "../../../../../../../etc";
+ private final static String pathToStores = "../../../../javax/net/ssl/etc";
private final static String keyStoreFile = "keystore";
private final static String trustStoreFile = "truststore";
private final static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/ClientHelloRead.java b/jdk/test/sun/security/ssl/InputRecord/ClientHelloRead.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/ClientHelloRead.java
rename to jdk/test/sun/security/ssl/InputRecord/ClientHelloRead.java
index f123a3c..e7a11bd 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/ClientHelloRead.java
+++ b/jdk/test/sun/security/ssl/InputRecord/ClientHelloRead.java
@@ -52,7 +52,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/OriginServer.java b/jdk/test/sun/security/ssl/InputRecord/OriginServer.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/OriginServer.java
rename to jdk/test/sun/security/ssl/InputRecord/OriginServer.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/ProxyTunnelServer.java b/jdk/test/sun/security/ssl/InputRecord/ProxyTunnelServer.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/ProxyTunnelServer.java
rename to jdk/test/sun/security/ssl/InputRecord/ProxyTunnelServer.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/SSLSocketTimeoutNulls.java b/jdk/test/sun/security/ssl/InputRecord/SSLSocketTimeoutNulls.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/SSLSocketTimeoutNulls.java
rename to jdk/test/sun/security/ssl/InputRecord/SSLSocketTimeoutNulls.java
index 4a72a1e..21218f5 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/InputRecord/SSLSocketTimeoutNulls.java
+++ b/jdk/test/sun/security/ssl/InputRecord/SSLSocketTimeoutNulls.java
@@ -58,7 +58,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ProtocolVersion/HttpsProtocols.java b/jdk/test/sun/security/ssl/ProtocolVersion/HttpsProtocols.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ProtocolVersion/HttpsProtocols.java
rename to jdk/test/sun/security/ssl/ProtocolVersion/HttpsProtocols.java
index bcdc16d..1190ece 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ProtocolVersion/HttpsProtocols.java
+++ b/jdk/test/sun/security/ssl/ProtocolVersion/HttpsProtocols.java
@@ -51,7 +51,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/BadKSProvider.java b/jdk/test/sun/security/ssl/SSLContextImpl/BadKSProvider.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/BadKSProvider.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/BadKSProvider.java
index 8e5f931..9fdc079 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/BadKSProvider.java
+++ b/jdk/test/sun/security/ssl/SSLContextImpl/BadKSProvider.java
@@ -53,7 +53,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/BadTSProvider.java b/jdk/test/sun/security/ssl/SSLContextImpl/BadTSProvider.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/BadTSProvider.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/BadTSProvider.java
index 93355ac..bf68126 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/BadTSProvider.java
+++ b/jdk/test/sun/security/ssl/SSLContextImpl/BadTSProvider.java
@@ -53,7 +53,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/CustomizedDefaultProtocols.java b/jdk/test/sun/security/ssl/SSLContextImpl/CustomizedDefaultProtocols.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/CustomizedDefaultProtocols.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/CustomizedDefaultProtocols.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/DefaultEnabledProtocols.java b/jdk/test/sun/security/ssl/SSLContextImpl/DefaultEnabledProtocols.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/DefaultEnabledProtocols.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/DefaultEnabledProtocols.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/GoodProvider.java b/jdk/test/sun/security/ssl/SSLContextImpl/GoodProvider.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/GoodProvider.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/GoodProvider.java
index 0ca10ec..d97e5d3 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/GoodProvider.java
+++ b/jdk/test/sun/security/ssl/SSLContextImpl/GoodProvider.java
@@ -53,7 +53,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/IllegalProtocolProperty.java b/jdk/test/sun/security/ssl/SSLContextImpl/IllegalProtocolProperty.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/IllegalProtocolProperty.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/IllegalProtocolProperty.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java b/jdk/test/sun/security/ssl/SSLContextImpl/MD2InTrustAnchor.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/MD2InTrustAnchor.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/MD2InTrustAnchor.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/NoOldVersionContext.java b/jdk/test/sun/security/ssl/SSLContextImpl/NoOldVersionContext.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/NoOldVersionContext.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/NoOldVersionContext.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/NullGetAcceptedIssuers.java b/jdk/test/sun/security/ssl/SSLContextImpl/NullGetAcceptedIssuers.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/NullGetAcceptedIssuers.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/NullGetAcceptedIssuers.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/SSLContextVersion.java b/jdk/test/sun/security/ssl/SSLContextImpl/SSLContextVersion.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/SSLContextVersion.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/SSLContextVersion.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java b/jdk/test/sun/security/ssl/SSLContextImpl/TrustTrustedCert.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/TrustTrustedCert.java
rename to jdk/test/sun/security/ssl/SSLContextImpl/TrustTrustedCert.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseEngineException.java b/jdk/test/sun/security/ssl/SSLEngineImpl/CloseEngineException.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseEngineException.java
rename to jdk/test/sun/security/ssl/SSLEngineImpl/CloseEngineException.java
index b64d424..e68f922 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseEngineException.java
+++ b/jdk/test/sun/security/ssl/SSLEngineImpl/CloseEngineException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, 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
@@ -53,7 +53,7 @@
private SSLEngine ssle1; // client
private SSLEngine ssle2; // server
- private static String pathToStores = "../../../../../../../etc";
+ private static String pathToStores = "../../../../javax/net/ssl/etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseInboundException.java b/jdk/test/sun/security/ssl/SSLEngineImpl/CloseInboundException.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseInboundException.java
rename to jdk/test/sun/security/ssl/SSLEngineImpl/CloseInboundException.java
index 1c6103b..4b2c665 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseInboundException.java
+++ b/jdk/test/sun/security/ssl/SSLEngineImpl/CloseInboundException.java
@@ -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
@@ -49,7 +49,7 @@
SSLEngineResult result1; // ssle1's results from last operation
SSLEngineResult result2; // ssle2's results from last operation
- private static String pathToStores = "../../../../../../../etc";
+ private static String pathToStores = "../../../../javax/net/ssl/etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseStart.java b/jdk/test/sun/security/ssl/SSLEngineImpl/CloseStart.java
similarity index 96%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseStart.java
rename to jdk/test/sun/security/ssl/SSLEngineImpl/CloseStart.java
index 3c3e2e2..96a992a 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/CloseStart.java
+++ b/jdk/test/sun/security/ssl/SSLEngineImpl/CloseStart.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
@@ -47,7 +47,7 @@
private static boolean debug = false;
- private static String pathToStores = "../../../../../../../etc";
+ private static String pathToStores = "../../../../javax/net/ssl/etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/DelegatedTaskWrongException.java b/jdk/test/sun/security/ssl/SSLEngineImpl/DelegatedTaskWrongException.java
similarity index 97%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/DelegatedTaskWrongException.java
rename to jdk/test/sun/security/ssl/SSLEngineImpl/DelegatedTaskWrongException.java
index e912ff6..761f44c 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/DelegatedTaskWrongException.java
+++ b/jdk/test/sun/security/ssl/SSLEngineImpl/DelegatedTaskWrongException.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2007, 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
@@ -47,7 +47,7 @@
private SSLEngine ssle1; // client
private SSLEngine ssle2; // server
- private static String pathToStores = "../../../../../../../etc";
+ private static String pathToStores = "../../../../javax/net/ssl/etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EmptyExtensionData.java b/jdk/test/sun/security/ssl/SSLEngineImpl/EmptyExtensionData.java
similarity index 97%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EmptyExtensionData.java
rename to jdk/test/sun/security/ssl/SSLEngineImpl/EmptyExtensionData.java
index 49387e3..430785e 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EmptyExtensionData.java
+++ b/jdk/test/sun/security/ssl/SSLEngineImpl/EmptyExtensionData.java
@@ -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
@@ -43,7 +43,7 @@
private static boolean debug = false;
- private static String pathToStores = "../../../../../../../etc";
+ private static String pathToStores = "../../../../javax/net/ssl/etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java b/jdk/test/sun/security/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java
rename to jdk/test/sun/security/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java
index b7a1a9c..9ddf00e 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java
+++ b/jdk/test/sun/security/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
@@ -52,7 +52,7 @@
private SSLEngine ssle4; // server
private SSLEngine ssle5; // server
- private static String pathToStores = "../../../../../../../etc";
+ private static String pathToStores = "../../../../javax/net/ssl/etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/RehandshakeFinished.java b/jdk/test/sun/security/ssl/SSLEngineImpl/RehandshakeFinished.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/RehandshakeFinished.java
rename to jdk/test/sun/security/ssl/SSLEngineImpl/RehandshakeFinished.java
index fbe2f2e..4096ce0 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/RehandshakeFinished.java
+++ b/jdk/test/sun/security/ssl/SSLEngineImpl/RehandshakeFinished.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
@@ -129,7 +129,7 @@
/*
* The following is to set up the keystores.
*/
- private static String pathToStores = "../../../../../../../etc";
+ private static String pathToStores = "../../../../javax/net/ssl/etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java b/jdk/test/sun/security/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java
rename to jdk/test/sun/security/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java
index 45a6df0..38d5136 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java
+++ b/jdk/test/sun/security/ssl/SSLEngineImpl/SSLEngineBadBufferArrayAccess.java
@@ -125,7 +125,7 @@
/*
* The following is to set up the keystores/trust material.
*/
- private static final String pathToStores = "../../../../../../../etc/";
+ private static final String pathToStores = "../../../../javax/net/ssl/etc";
private static final String keyStoreFile = "keystore";
private static final String trustStoreFile = "truststore";
private static final String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineDeadlock.java b/jdk/test/sun/security/ssl/SSLEngineImpl/SSLEngineDeadlock.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineDeadlock.java
rename to jdk/test/sun/security/ssl/SSLEngineImpl/SSLEngineDeadlock.java
index 0522226..27d89e2 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLEngineImpl/SSLEngineDeadlock.java
+++ b/jdk/test/sun/security/ssl/SSLEngineImpl/SSLEngineDeadlock.java
@@ -116,7 +116,7 @@
/*
* The following is to set up the keystores.
*/
- private static String pathToStores = "../../../../../../../etc";
+ private static String pathToStores = "../../../../javax/net/ssl/etc";
private static String keyStoreFile = "keystore";
private static String trustStoreFile = "truststore";
private static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSessionContextImpl/Timeout.java b/jdk/test/sun/security/ssl/SSLSessionContextImpl/Timeout.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSessionContextImpl/Timeout.java
rename to jdk/test/sun/security/ssl/SSLSessionContextImpl/Timeout.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSessionImpl/HashCodeMissing.java b/jdk/test/sun/security/ssl/SSLSessionImpl/HashCodeMissing.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSessionImpl/HashCodeMissing.java
rename to jdk/test/sun/security/ssl/SSLSessionImpl/HashCodeMissing.java
index fa04331..61f0c6c 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSessionImpl/HashCodeMissing.java
+++ b/jdk/test/sun/security/ssl/SSLSessionImpl/HashCodeMissing.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java b/jdk/test/sun/security/ssl/SSLSocketImpl/AsyncSSLSocketClose.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/AsyncSSLSocketClose.java
index 8fb1310..27cc32d 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/AsyncSSLSocketClose.java
@@ -47,7 +47,7 @@
SSLServerSocket ss;
// Where do we find the keystores?
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CheckMethods.java b/jdk/test/sun/security/ssl/SSLSocketImpl/CheckMethods.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CheckMethods.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/CheckMethods.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientModeClientAuth.java b/jdk/test/sun/security/ssl/SSLSocketImpl/ClientModeClientAuth.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientModeClientAuth.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/ClientModeClientAuth.java
index 8f279e8..8f4ce47 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientModeClientAuth.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/ClientModeClientAuth.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientTimeout.java b/jdk/test/sun/security/ssl/SSLSocketImpl/ClientTimeout.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientTimeout.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/ClientTimeout.java
index 16d2819..c40b49a 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ClientTimeout.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/ClientTimeout.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocket.java b/jdk/test/sun/security/ssl/SSLSocketImpl/CloseSocket.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocket.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/CloseSocket.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocketException.java b/jdk/test/sun/security/ssl/SSLSocketImpl/CloseSocketException.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocketException.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/CloseSocketException.java
index 41b88c1..b6e33a1 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocketException.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/CloseSocketException.java
@@ -59,7 +59,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java b/jdk/test/sun/security/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java
index 2a6f0a8..6325b7c 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/InvalidateServerSessionRenegotiate.java
@@ -69,7 +69,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/LoopbackSSLSocket.java b/jdk/test/sun/security/ssl/SSLSocketImpl/LoopbackSSLSocket.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/LoopbackSSLSocket.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/LoopbackSSLSocket.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NewSocketMethods.java b/jdk/test/sun/security/ssl/SSLSocketImpl/NewSocketMethods.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NewSocketMethods.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/NewSocketMethods.java
index b781549..759a166 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NewSocketMethods.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/NewSocketMethods.java
@@ -88,7 +88,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NoImpactServerRenego.java b/jdk/test/sun/security/ssl/SSLSocketImpl/NoImpactServerRenego.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NoImpactServerRenego.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/NoImpactServerRenego.java
index ab23ce4..9c1a339 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NoImpactServerRenego.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/NoImpactServerRenego.java
@@ -69,7 +69,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NonAutoClose.java b/jdk/test/sun/security/ssl/SSLSocketImpl/NonAutoClose.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NonAutoClose.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/NonAutoClose.java
index 1d465e3..707d22e 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NonAutoClose.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/NonAutoClose.java
@@ -57,8 +57,7 @@
/*
* Where do we find the keystores?
*/
- // private final static String pathToStores = "./etc";
- private final static String pathToStores = "../../../../../../../etc";
+ private final static String pathToStores = "../../../../javax/net/ssl/etc";
private final static String keyStoreFile = "keystore";
private final static String trustStoreFile = "truststore";
private final static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.java b/jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTest.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTest.java
index 1cd8a53..bdc11f0 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTest.java
@@ -43,7 +43,7 @@
public class NotifyHandshakeTest implements HandshakeCompletedListener {
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.policy b/jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTest.policy
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.policy
rename to jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTest.policy
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh b/jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTest.sh
similarity index 97%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh
rename to jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTest.sh
index ee23816..217dedf 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTest.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2002, 2012, 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
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTestHeyYou.java b/jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTestHeyYou.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTestHeyYou.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/NotifyHandshakeTestHeyYou.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java b/jdk/test/sun/security/ssl/SSLSocketImpl/RejectClientRenego.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/RejectClientRenego.java
index 01a7feb..1a5d5e6 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/RejectClientRenego.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/RejectClientRenego.java
@@ -69,7 +69,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ReuseAddr.java b/jdk/test/sun/security/ssl/SSLSocketImpl/ReuseAddr.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ReuseAddr.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/ReuseAddr.java
index db5209f..650c309 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ReuseAddr.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/ReuseAddr.java
@@ -54,7 +54,7 @@
/*
* Where do we find the keystores?
*/
- private final static String pathToStores = "../../../../../../../etc";
+ private final static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ReverseNameLookup.java b/jdk/test/sun/security/ssl/SSLSocketImpl/ReverseNameLookup.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ReverseNameLookup.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/ReverseNameLookup.java
index 612712b..0a0bf62 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ReverseNameLookup.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/ReverseNameLookup.java
@@ -53,7 +53,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/SSLSocketImplThrowsWrongExceptions.java b/jdk/test/sun/security/ssl/SSLSocketImpl/SSLSocketImplThrowsWrongExceptions.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/SSLSocketImplThrowsWrongExceptions.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/SSLSocketImplThrowsWrongExceptions.java
index 1333561..616a346 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/SSLSocketImplThrowsWrongExceptions.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/SSLSocketImplThrowsWrongExceptions.java
@@ -57,7 +57,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ServerTimeout.java b/jdk/test/sun/security/ssl/SSLSocketImpl/ServerTimeout.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ServerTimeout.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/ServerTimeout.java
index ff7c0db..3973320 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/ServerTimeout.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/ServerTimeout.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "/../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/SetClientMode.java b/jdk/test/sun/security/ssl/SSLSocketImpl/SetClientMode.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/SetClientMode.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/SetClientMode.java
index f26ae0a..537e933 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/SetClientMode.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/SetClientMode.java
@@ -59,7 +59,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/UnconnectedSocketWrongExceptions.java b/jdk/test/sun/security/ssl/SSLSocketImpl/UnconnectedSocketWrongExceptions.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/UnconnectedSocketWrongExceptions.java
rename to jdk/test/sun/security/ssl/SSLSocketImpl/UnconnectedSocketWrongExceptions.java
index 63fb43f..b58a7ca 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/UnconnectedSocketWrongExceptions.java
+++ b/jdk/test/sun/security/ssl/SSLSocketImpl/UnconnectedSocketWrongExceptions.java
@@ -55,7 +55,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java b/jdk/test/sun/security/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java
rename to jdk/test/sun/security/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java
index 137f114..c546cfb 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java
+++ b/jdk/test/sun/security/ssl/ServerHandshaker/AnonCipherWithWantClientAuth.java
@@ -53,7 +53,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHost.java b/jdk/test/sun/security/ssl/ServerHandshaker/GetPeerHost.java
similarity index 95%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHost.java
rename to jdk/test/sun/security/ssl/ServerHandshaker/GetPeerHost.java
index 2e4c900..96180df 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHost.java
+++ b/jdk/test/sun/security/ssl/ServerHandshaker/GetPeerHost.java
@@ -40,7 +40,7 @@
String testRoot = System.getProperty("test.src", ".");
System.setProperty("javax.net.ssl.trustStore", testRoot
- + "/../../../../../../../etc/truststore");
+ + "/../../../../javax/net/ssl/etc/truststore");
GetPeerHostServer server = new GetPeerHostServer();
server.start();
GetPeerHostClient client =
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHostClient.java b/jdk/test/sun/security/ssl/ServerHandshaker/GetPeerHostClient.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHostClient.java
rename to jdk/test/sun/security/ssl/ServerHandshaker/GetPeerHostClient.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHostServer.java b/jdk/test/sun/security/ssl/ServerHandshaker/GetPeerHostServer.java
similarity index 97%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHostServer.java
rename to jdk/test/sun/security/ssl/ServerHandshaker/GetPeerHostServer.java
index 5383052..afcaaf4 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/ServerHandshaker/GetPeerHostServer.java
+++ b/jdk/test/sun/security/ssl/ServerHandshaker/GetPeerHostServer.java
@@ -53,7 +53,7 @@
char[] passphrase = "passphrase".toCharArray();
String testRoot = System.getProperty("test.src", ".");
ks.load(new FileInputStream(testRoot
- + "/../../../../../../../etc/keystore"),
+ + "/../../../../javax/net/ssl/etc/keystore"),
passphrase);
kmf.init(ks, passphrase);
ctx.init(kmf.getKeyManagers(), null, null);
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SocketCreation/SocketCreation.java b/jdk/test/sun/security/ssl/SocketCreation/SocketCreation.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SocketCreation/SocketCreation.java
rename to jdk/test/sun/security/ssl/SocketCreation/SocketCreation.java
index f81675c..65e41b5 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SocketCreation/SocketCreation.java
+++ b/jdk/test/sun/security/ssl/SocketCreation/SocketCreation.java
@@ -64,7 +64,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/NullCases.java b/jdk/test/sun/security/ssl/X509KeyManager/NullCases.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/NullCases.java
rename to jdk/test/sun/security/ssl/X509KeyManager/NullCases.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/PreferredKey.java b/jdk/test/sun/security/ssl/X509KeyManager/PreferredKey.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/PreferredKey.java
rename to jdk/test/sun/security/ssl/X509KeyManager/PreferredKey.java
index 47e1e77..0006090 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/PreferredKey.java
+++ b/jdk/test/sun/security/ssl/X509KeyManager/PreferredKey.java
@@ -50,7 +50,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/SelectOneKeyOutOfMany.java b/jdk/test/sun/security/ssl/X509KeyManager/SelectOneKeyOutOfMany.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/SelectOneKeyOutOfMany.java
rename to jdk/test/sun/security/ssl/X509KeyManager/SelectOneKeyOutOfMany.java
index 047ecfa..b0348fe 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509KeyManager/SelectOneKeyOutOfMany.java
+++ b/jdk/test/sun/security/ssl/X509KeyManager/SelectOneKeyOutOfMany.java
@@ -52,7 +52,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/BasicConstraints.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/BasicConstraints.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/BasicConstraints.java
rename to jdk/test/sun/security/ssl/X509TrustManagerImpl/BasicConstraints.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/CertRequestOverflow.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/CertRequestOverflow.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/CertRequestOverflow.java
rename to jdk/test/sun/security/ssl/X509TrustManagerImpl/CertRequestOverflow.java
index 883f979..1c0c8d8 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/CertRequestOverflow.java
+++ b/jdk/test/sun/security/ssl/X509TrustManagerImpl/CertRequestOverflow.java
@@ -59,7 +59,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/CheckNullEntity.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/CheckNullEntity.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/CheckNullEntity.java
rename to jdk/test/sun/security/ssl/X509TrustManagerImpl/CheckNullEntity.java
index 2f41c54..31f753f 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/CheckNullEntity.java
+++ b/jdk/test/sun/security/ssl/X509TrustManagerImpl/CheckNullEntity.java
@@ -56,7 +56,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/ClientServer.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/ClientServer.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/ClientServer.java
rename to jdk/test/sun/security/ssl/X509TrustManagerImpl/ClientServer.java
index c6099b4..0bfd331 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/ClientServer.java
+++ b/jdk/test/sun/security/ssl/X509TrustManagerImpl/ClientServer.java
@@ -62,7 +62,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/ComodoHacker.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/ComodoHacker.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/ComodoHacker.java
rename to jdk/test/sun/security/ssl/X509TrustManagerImpl/ComodoHacker.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/PKIXExtendedTM.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/PKIXExtendedTM.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/PKIXExtendedTM.java
rename to jdk/test/sun/security/ssl/X509TrustManagerImpl/PKIXExtendedTM.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SelfIssuedCert.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/SelfIssuedCert.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SelfIssuedCert.java
rename to jdk/test/sun/security/ssl/X509TrustManagerImpl/SelfIssuedCert.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SunX509ExtendedTM.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/SunX509ExtendedTM.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/SunX509ExtendedTM.java
rename to jdk/test/sun/security/ssl/X509TrustManagerImpl/SunX509ExtendedTM.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/X509ExtendedTMEnabled.java b/jdk/test/sun/security/ssl/X509TrustManagerImpl/X509ExtendedTMEnabled.java
similarity index 99%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/X509ExtendedTMEnabled.java
rename to jdk/test/sun/security/ssl/X509TrustManagerImpl/X509ExtendedTMEnabled.java
index d257d24..d0eb242 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/X509TrustManagerImpl/X509ExtendedTMEnabled.java
+++ b/jdk/test/sun/security/ssl/X509TrustManagerImpl/X509ExtendedTMEnabled.java
@@ -57,7 +57,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/rsa/BrokenRSAPrivateCrtKey.java b/jdk/test/sun/security/ssl/rsa/BrokenRSAPrivateCrtKey.java
similarity index 100%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/rsa/BrokenRSAPrivateCrtKey.java
rename to jdk/test/sun/security/ssl/rsa/BrokenRSAPrivateCrtKey.java
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/spi/ProviderInit.java b/jdk/test/sun/security/ssl/spi/ProviderInit.java
similarity index 98%
rename from jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/spi/ProviderInit.java
rename to jdk/test/sun/security/ssl/spi/ProviderInit.java
index 682d80a..25ef93e 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/spi/ProviderInit.java
+++ b/jdk/test/sun/security/ssl/spi/ProviderInit.java
@@ -61,7 +61,7 @@
/*
* Where do we find the keystores?
*/
- static String pathToStores = "../../../../../../../etc";
+ static String pathToStores = "../../../../javax/net/ssl/etc";
static String keyStoreFile = "keystore";
static String trustStoreFile = "truststore";
static String passwd = "passphrase";
diff --git a/jdk/test/sun/security/tools/jarsigner/TimestampCheck.java b/jdk/test/sun/security/tools/jarsigner/TimestampCheck.java
index 309252e..65b1cca 100644
--- a/jdk/test/sun/security/tools/jarsigner/TimestampCheck.java
+++ b/jdk/test/sun/security/tools/jarsigner/TimestampCheck.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, 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
diff --git a/jdk/test/sun/security/tools/jarsigner/checkusage.sh b/jdk/test/sun/security/tools/jarsigner/checkusage.sh
index e1f42a5..ff2d1c5 100644
--- a/jdk/test/sun/security/tools/jarsigner/checkusage.sh
+++ b/jdk/test/sun/security/tools/jarsigner/checkusage.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/jarsigner/concise_jarsigner.sh b/jdk/test/sun/security/tools/jarsigner/concise_jarsigner.sh
index df6a573..34e7b32 100644
--- a/jdk/test/sun/security/tools/jarsigner/concise_jarsigner.sh
+++ b/jdk/test/sun/security/tools/jarsigner/concise_jarsigner.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 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
diff --git a/jdk/test/sun/security/tools/jarsigner/crl.sh b/jdk/test/sun/security/tools/jarsigner/crl.sh
index c18817c..07ccb53 100644
--- a/jdk/test/sun/security/tools/jarsigner/crl.sh
+++ b/jdk/test/sun/security/tools/jarsigner/crl.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/jarsigner/emptymanifest.sh b/jdk/test/sun/security/tools/jarsigner/emptymanifest.sh
index cbb7241..efbba28 100644
--- a/jdk/test/sun/security/tools/jarsigner/emptymanifest.sh
+++ b/jdk/test/sun/security/tools/jarsigner/emptymanifest.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 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
diff --git a/jdk/test/sun/security/tools/jarsigner/newsize7.sh b/jdk/test/sun/security/tools/jarsigner/newsize7.sh
index 27ac5b9..d276101 100644
--- a/jdk/test/sun/security/tools/jarsigner/newsize7.sh
+++ b/jdk/test/sun/security/tools/jarsigner/newsize7.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/jarsigner/onlymanifest.sh b/jdk/test/sun/security/tools/jarsigner/onlymanifest.sh
index 16e7d77..37551a8 100644
--- a/jdk/test/sun/security/tools/jarsigner/onlymanifest.sh
+++ b/jdk/test/sun/security/tools/jarsigner/onlymanifest.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/jarsigner/passtype.sh b/jdk/test/sun/security/tools/jarsigner/passtype.sh
index c3ce7d5..62eb598 100644
--- a/jdk/test/sun/security/tools/jarsigner/passtype.sh
+++ b/jdk/test/sun/security/tools/jarsigner/passtype.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/jarsigner/samename.sh b/jdk/test/sun/security/tools/jarsigner/samename.sh
index a89caa1..6a2a44a 100644
--- a/jdk/test/sun/security/tools/jarsigner/samename.sh
+++ b/jdk/test/sun/security/tools/jarsigner/samename.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/jarsigner/ts.sh b/jdk/test/sun/security/tools/jarsigner/ts.sh
index 0b89f3d..928b22e 100644
--- a/jdk/test/sun/security/tools/jarsigner/ts.sh
+++ b/jdk/test/sun/security/tools/jarsigner/ts.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/sun/security/tools/keytool/AltProviderPath.sh b/jdk/test/sun/security/tools/keytool/AltProviderPath.sh
index 8fd67ef..65b3490 100644
--- a/jdk/test/sun/security/tools/keytool/AltProviderPath.sh
+++ b/jdk/test/sun/security/tools/keytool/AltProviderPath.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/test/sun/security/tools/keytool/CloseFile.java b/jdk/test/sun/security/tools/keytool/CloseFile.java
index 95fd4c2..f804001 100644
--- a/jdk/test/sun/security/tools/keytool/CloseFile.java
+++ b/jdk/test/sun/security/tools/keytool/CloseFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2012, 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
diff --git a/jdk/test/sun/security/tools/keytool/DummyProvider.java b/jdk/test/sun/security/tools/keytool/DummyProvider.java
index 0c7ce10..6ff07b3 100644
--- a/jdk/test/sun/security/tools/keytool/DummyProvider.java
+++ b/jdk/test/sun/security/tools/keytool/DummyProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/sun/security/tools/keytool/ListKeychainStore.sh b/jdk/test/sun/security/tools/keytool/ListKeychainStore.sh
index 48b1a5e..5e7fe60 100644
--- a/jdk/test/sun/security/tools/keytool/ListKeychainStore.sh
+++ b/jdk/test/sun/security/tools/keytool/ListKeychainStore.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/keytool/StartDateTest.java b/jdk/test/sun/security/tools/keytool/StartDateTest.java
index 96282a0..9a19802 100644
--- a/jdk/test/sun/security/tools/keytool/StartDateTest.java
+++ b/jdk/test/sun/security/tools/keytool/StartDateTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, 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
diff --git a/jdk/test/sun/security/tools/keytool/UnknownAndUnparseable.java b/jdk/test/sun/security/tools/keytool/UnknownAndUnparseable.java
index 7c72a4d..6c5d728 100644
--- a/jdk/test/sun/security/tools/keytool/UnknownAndUnparseable.java
+++ b/jdk/test/sun/security/tools/keytool/UnknownAndUnparseable.java
@@ -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
diff --git a/jdk/test/sun/security/tools/keytool/autotest.sh b/jdk/test/sun/security/tools/keytool/autotest.sh
index 0d8e57c..90e0a66 100644
--- a/jdk/test/sun/security/tools/keytool/autotest.sh
+++ b/jdk/test/sun/security/tools/keytool/autotest.sh
@@ -106,7 +106,7 @@
chmod u+w key3.db
chmod u+w cert8.db
-echo | ${TESTJAVA}${FS}bin${FS}java -Dnss \
+echo | ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -Dnss \
-Dnss.lib=${LIBNAME} \
KeyToolTest
status=$?
diff --git a/jdk/test/sun/security/tools/keytool/console.sh b/jdk/test/sun/security/tools/keytool/console.sh
index ec338ca..13830ff 100644
--- a/jdk/test/sun/security/tools/keytool/console.sh
+++ b/jdk/test/sun/security/tools/keytool/console.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006, 2008, 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
diff --git a/jdk/test/sun/security/tools/keytool/emptysubject.sh b/jdk/test/sun/security/tools/keytool/emptysubject.sh
index 19b61f8..148c4ca 100644
--- a/jdk/test/sun/security/tools/keytool/emptysubject.sh
+++ b/jdk/test/sun/security/tools/keytool/emptysubject.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/keytool/importreadall.sh b/jdk/test/sun/security/tools/keytool/importreadall.sh
index 6a223de..958a885 100644
--- a/jdk/test/sun/security/tools/keytool/importreadall.sh
+++ b/jdk/test/sun/security/tools/keytool/importreadall.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/keytool/printssl.sh b/jdk/test/sun/security/tools/keytool/printssl.sh
index 6ebdd3d..70b9277 100644
--- a/jdk/test/sun/security/tools/keytool/printssl.sh
+++ b/jdk/test/sun/security/tools/keytool/printssl.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/keytool/readjar.sh b/jdk/test/sun/security/tools/keytool/readjar.sh
index 31324a6..b041924 100644
--- a/jdk/test/sun/security/tools/keytool/readjar.sh
+++ b/jdk/test/sun/security/tools/keytool/readjar.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/keytool/selfissued.sh b/jdk/test/sun/security/tools/keytool/selfissued.sh
index c02c66a..044ea52 100644
--- a/jdk/test/sun/security/tools/keytool/selfissued.sh
+++ b/jdk/test/sun/security/tools/keytool/selfissued.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009, 2010, 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
diff --git a/jdk/test/sun/security/tools/keytool/standard.sh b/jdk/test/sun/security/tools/keytool/standard.sh
index a42fbfd..83fd987 100644
--- a/jdk/test/sun/security/tools/keytool/standard.sh
+++ b/jdk/test/sun/security/tools/keytool/standard.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/keytool/trystore.sh b/jdk/test/sun/security/tools/keytool/trystore.sh
index 2dcf988..6bdd6e1 100644
--- a/jdk/test/sun/security/tools/keytool/trystore.sh
+++ b/jdk/test/sun/security/tools/keytool/trystore.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/policytool/Alias.sh b/jdk/test/sun/security/tools/policytool/Alias.sh
index c7c2589..7cb77e7 100644
--- a/jdk/test/sun/security/tools/policytool/Alias.sh
+++ b/jdk/test/sun/security/tools/policytool/Alias.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/policytool/ChangeUI.sh b/jdk/test/sun/security/tools/policytool/ChangeUI.sh
index 96077fa..e725350 100644
--- a/jdk/test/sun/security/tools/policytool/ChangeUI.sh
+++ b/jdk/test/sun/security/tools/policytool/ChangeUI.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/policytool/OpenPolicy.sh b/jdk/test/sun/security/tools/policytool/OpenPolicy.sh
index ada838e..c282e0d 100644
--- a/jdk/test/sun/security/tools/policytool/OpenPolicy.sh
+++ b/jdk/test/sun/security/tools/policytool/OpenPolicy.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/policytool/SaveAs.sh b/jdk/test/sun/security/tools/policytool/SaveAs.sh
index 1c16ecb..de6e41a 100644
--- a/jdk/test/sun/security/tools/policytool/SaveAs.sh
+++ b/jdk/test/sun/security/tools/policytool/SaveAs.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/policytool/UpdatePermissions.sh b/jdk/test/sun/security/tools/policytool/UpdatePermissions.sh
index 7099207..c6f39b7 100644
--- a/jdk/test/sun/security/tools/policytool/UpdatePermissions.sh
+++ b/jdk/test/sun/security/tools/policytool/UpdatePermissions.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/policytool/UsePolicy.sh b/jdk/test/sun/security/tools/policytool/UsePolicy.sh
index a1e3d34..ceb12e1 100644
--- a/jdk/test/sun/security/tools/policytool/UsePolicy.sh
+++ b/jdk/test/sun/security/tools/policytool/UsePolicy.sh
@@ -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
diff --git a/jdk/test/sun/security/tools/policytool/i18n.sh b/jdk/test/sun/security/tools/policytool/i18n.sh
index 18ce68d..35dfccf 100644
--- a/jdk/test/sun/security/tools/policytool/i18n.sh
+++ b/jdk/test/sun/security/tools/policytool/i18n.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/test/sun/security/validator/certreplace.sh b/jdk/test/sun/security/validator/certreplace.sh
index 5104833..64c85c4 100644
--- a/jdk/test/sun/security/validator/certreplace.sh
+++ b/jdk/test/sun/security/validator/certreplace.sh
@@ -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
diff --git a/jdk/test/sun/security/validator/samedn.sh b/jdk/test/sun/security/validator/samedn.sh
index 17d5af2..08160ef 100644
--- a/jdk/test/sun/security/validator/samedn.sh
+++ b/jdk/test/sun/security/validator/samedn.sh
@@ -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
diff --git a/jdk/test/sun/security/x509/X509CRLImpl/Verify.java b/jdk/test/sun/security/x509/X509CRLImpl/Verify.java
index 0c1b30d..ed92b65 100644
--- a/jdk/test/sun/security/x509/X509CRLImpl/Verify.java
+++ b/jdk/test/sun/security/x509/X509CRLImpl/Verify.java
@@ -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
diff --git a/jdk/test/sun/security/x509/X509CertImpl/Verify.java b/jdk/test/sun/security/x509/X509CertImpl/Verify.java
index 89dcbb9..cffee27 100644
--- a/jdk/test/sun/security/x509/X509CertImpl/Verify.java
+++ b/jdk/test/sun/security/x509/X509CertImpl/Verify.java
@@ -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
diff --git a/jdk/test/sun/text/resources/LocaleData b/jdk/test/sun/text/resources/LocaleData
index fc090c4..fbea267 100644
--- a/jdk/test/sun/text/resources/LocaleData
+++ b/jdk/test/sun/text/resources/LocaleData
@@ -431,10 +431,6 @@
FormatData/es_CL/NumberPatterns/0=#,##0.###;-#,##0.###
# FormatData/es_CL/NumberPatterns/1=Ch$#,##0.00;Ch$-#,##0.00 # Changed; see bug 4122840
FormatData/es_CL/NumberPatterns/2=#,##0%
-FormatData/es_CL/TimePatterns/0=hh:mm:ss a z
-FormatData/es_CL/TimePatterns/1=hh:mm:ss a z
-FormatData/es_CL/TimePatterns/2=hh:mm:ss a
-FormatData/es_CL/TimePatterns/3=hh:mm a
FormatData/es_CL/DatePatterns/0=EEEE d' de 'MMMM' de 'yyyy
FormatData/es_CL/DatePatterns/1=d' de 'MMMM' de 'yyyy
FormatData/es_CL/DatePatterns/2=dd-MM-yyyy
@@ -498,10 +494,6 @@
FormatData/es_EC/NumberPatterns/2=#,##0%
#changed for 4945388
CurrencyNames/es_EC/USD=$
-FormatData/es_EC/TimePatterns/0=hh:mm:ss a z
-FormatData/es_EC/TimePatterns/1=hh:mm:ss a z
-FormatData/es_EC/TimePatterns/2=hh:mm:ss a
-FormatData/es_EC/TimePatterns/3=hh:mm a
FormatData/es_EC/DatePatterns/0=EEEE d' de 'MMMM' de 'yyyy
FormatData/es_EC/DatePatterns/1=d' de 'MMMM' de 'yyyy
FormatData/es_EC/DatePatterns/2=dd/MM/yyyy
@@ -7690,3 +7682,13 @@
# bug 8027695
FormatData/sv_SE/NumberPatterns/2=#,##0 %
+
+# bug 8017142
+FormatData/es_CL/TimePatterns/0=HH:mm:ss zzzz
+FormatData/es_CL/TimePatterns/1=H:mm:ss z
+FormatData/es_CL/TimePatterns/2=H:mm:ss
+FormatData/es_CL/TimePatterns/3=H:mm
+FormatData/es_EC/TimePatterns/0=HH:mm:ss zzzz
+FormatData/es_EC/TimePatterns/1=H:mm:ss z
+FormatData/es_EC/TimePatterns/2=H:mm:ss
+FormatData/es_EC/TimePatterns/3=H:mm
diff --git a/jdk/test/sun/text/resources/LocaleDataTest.java b/jdk/test/sun/text/resources/LocaleDataTest.java
index 567e8ae..1c31cc9 100644
--- a/jdk/test/sun/text/resources/LocaleDataTest.java
+++ b/jdk/test/sun/text/resources/LocaleDataTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2014, 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
@@ -35,7 +35,7 @@
* 6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413 6916787
* 6919624 6998391 7019267 7020960 7025837 7020583 7036905 7066203 7101495
* 7003124 7085757 7028073 7171028 7189611 8000983 7195759 8004489 8006509
- * 7114053 7074882 7040556 8013836 8021121 6192407 6931564 8027695
+ * 7114053 7074882 7040556 8013836 8021121 6192407 6931564 8027695 8017142
* @summary Verify locale data
*
*/
diff --git a/jdk/test/sun/tools/jconsole/ResourceCheckTest.sh b/jdk/test/sun/tools/jconsole/ResourceCheckTest.sh
index b82b3ac..796da94 100644
--- a/jdk/test/sun/tools/jconsole/ResourceCheckTest.sh
+++ b/jdk/test/sun/tools/jconsole/ResourceCheckTest.sh
@@ -102,7 +102,7 @@
"${TESTSRC}"/"${TARGETCLASS}".java
#
#Run the test class, again with the classpath we need:
-${TESTJAVA}/bin/java ${CP} ${TARGETCLASS}
+${TESTJAVA}/bin/java ${TESTVMOPTS} ${CP} ${TARGETCLASS}
status=$?
echo "test status was: $status"
if [ $status -eq "0" ];
diff --git a/jdk/test/sun/tools/jinfo/Basic.sh b/jdk/test/sun/tools/jinfo/Basic.sh
index 5905c83..8d4b012 100644
--- a/jdk/test/sun/tools/jinfo/Basic.sh
+++ b/jdk/test/sun/tools/jinfo/Basic.sh
@@ -61,19 +61,39 @@
if [ $runSA = true ]; then
# -sysprops option
- ${JINFO} -J-XX:+UsePerfData -sysprops $appJavaPid
+ ${JINFO} -J-XX:+UsePerfData -F -sysprops $appJavaPid
if [ $? != 0 ]; then failed=1; fi
# -flags option
- ${JINFO} -J-XX:+UsePerfData -flags $appJavaPid
+ ${JINFO} -J-XX:+UsePerfData -F -flags $appJavaPid
if [ $? != 0 ]; then failed=1; fi
# no option
- ${JINFO} -J-XX:+UsePerfData $appJavaPid
+ ${JINFO} -J-XX:+UsePerfData -F $appJavaPid
if [ $? != 0 ]; then failed=1; fi
+ # -flag option
+ ${JINFO} -J-XX:+UsePerfData -F -flag +PrintGC $appJavaPid
+ if [ $? != 0 ]; then failed=1; fi
+
+ ${JINFO} -J-XX:+UsePerfData -F -flag -PrintGC $appJavaPid
+ if [ $? != 0 ]; then failed=1; fi
+
+ ${JINFO} -J-XX:+UsePerfData -F -flag PrintGC $appJavaPid
+ if [ $? != 0 ]; then failed=1; fi
fi
+# -sysprops option
+${JINFO} -J-XX:+UsePerfData -sysprops $appJavaPid
+if [ $? != 0 ]; then failed=1; fi
+
+# -flags option
+${JINFO} -J-XX:+UsePerfData -flags $appJavaPid
+if [ $? != 0 ]; then failed=1; fi
+
+# no option
+${JINFO} -J-XX:+UsePerfData $appJavaPid
+if [ $? != 0 ]; then failed=1; fi
# -flag option
${JINFO} -J-XX:+UsePerfData -flag +PrintGC $appJavaPid
diff --git a/jdk/test/sun/tools/jps/jps-V_2.sh b/jdk/test/sun/tools/jps/jps-V_2.sh
index 2e670d2..2ab10ee 100644
--- a/jdk/test/sun/tools/jps/jps-V_2.sh
+++ b/jdk/test/sun/tools/jps/jps-V_2.sh
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2004, 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
diff --git a/jdk/test/sun/tools/jrunscript/CheckEngine.java b/jdk/test/sun/tools/jrunscript/CheckEngine.java
index 752411d..c742c6b 100644
--- a/jdk/test/sun/tools/jrunscript/CheckEngine.java
+++ b/jdk/test/sun/tools/jrunscript/CheckEngine.java
@@ -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
diff --git a/jdk/test/sun/tools/jstat/JStatInterval.java b/jdk/test/sun/tools/jstat/JStatInterval.java
new file mode 100644
index 0000000..0d39df2
--- /dev/null
+++ b/jdk/test/sun/tools/jstat/JStatInterval.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2014, 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 8035668
+ * @library /lib/testlibrary
+ * @summary Test checks case when target application finishes execution and jstat didn't complete work.
+ jstat is started with interval = 100 (jstat -compiler 100) and monitored application finishes
+ after 500ms. This shouldn't cause crash or hang in target application or in jstat.
+ * @build jdk.testlibrary.ProcessTools jdk.testlibrary.JDKToolLauncher
+ * @build JStatInterval
+ * @run main JStatInterval
+ */
+
+import jdk.testlibrary.ProcessTools;
+import jdk.testlibrary.JDKToolLauncher;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+
+public class JStatInterval {
+ private static final String PID = "PID";
+ private static final String READY = "READY";
+ private static final String ERROR = "!ERROR";
+
+ public static class Application {
+ public static void main(String[] args) {
+ try {
+ System.out.println(PID + ":" + ProcessTools.getProcessId());
+ System.out.println(READY);
+ System.out.flush();
+ int exitCode = System.in.read();
+ Thread.sleep(500);
+ System.exit(exitCode);
+ } catch (Exception e) {
+ System.out.println(ERROR);
+ System.out.flush();
+ throw new Error(e);
+ }
+ }
+ }
+ public static void main(String[] args) throws Exception {
+ ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+ "-cp",
+ System.getProperty("test.class.path"),
+ "-XX:+UsePerfData",
+ Application.class.getName()
+ );
+ AtomicInteger pid = new AtomicInteger(-1);
+ AtomicBoolean error = new AtomicBoolean(false);
+ Process app = ProcessTools.startProcess(
+ "application",
+ pb,
+ line -> {
+ if (line.startsWith(PID)) {
+ pid.set(Integer.parseInt(line.split("\\:")[1]));
+ } else if (line.equals(READY)) {
+ return true;
+ } else if (line.equals(ERROR)) {
+ error.set(true);
+ return true;
+ }
+ return false;
+ },
+ 10,
+ TimeUnit.SECONDS
+ );
+ if (error.get()) {
+ throw new Error("Unable to start the monitored application.");
+ }
+
+ String pidStr = String.valueOf(pid.get());
+ JDKToolLauncher l = JDKToolLauncher.createUsingTestJDK("jstat");
+ l.addToolArg("-compiler");
+ l.addToolArg(pidStr);
+ l.addToolArg("100");
+
+ ProcessBuilder jstatDef = new ProcessBuilder(l.getCommand());
+ Process jstat = ProcessTools.startProcess(
+ "jstat",
+ jstatDef,
+ line -> {
+ if (line.trim().toLowerCase().startsWith("compiled")) {
+ return true;
+ }
+ return false;
+ },
+ 10,
+ TimeUnit.SECONDS
+ );
+
+ app.getOutputStream().write(0);
+ app.getOutputStream().flush();
+
+ if (app.waitFor() != 0) {
+ throw new Error("Error detected upon exiting the monitored application with active jstat");
+ }
+ if (jstat.waitFor() != 0) {
+ throw new Error("Error detected in jstat when monitored application has exited prematurely");
+ }
+ }
+}
diff --git a/jdk/test/sun/tools/native2ascii/NativeErrors.java b/jdk/test/sun/tools/native2ascii/NativeErrors.java
index 77e6814..a1e828c 100644
--- a/jdk/test/sun/tools/native2ascii/NativeErrors.java
+++ b/jdk/test/sun/tools/native2ascii/NativeErrors.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 1999, 2014 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,13 +24,17 @@
/*
* @test
* @bug 4136352
+ * @library /lib/testlibrary
* @summary Test Native2ASCII error messages
*
*/
-import java.io.*;
-import sun.tools.native2ascii.*;
-import java.util.*;
+import java.io.File;
+import java.util.ResourceBundle;
+import java.util.MissingResourceException;
+import jdk.testlibrary.OutputAnalyzer;
+import jdk.testlibrary.JDKToolLauncher;
+import jdk.testlibrary.ProcessTools;
public class NativeErrors {
@@ -45,30 +49,18 @@
}
}
- public static void main(String args[]) throws Exception {
- String[] command;
- Process p = null;
- BufferedReader in = null;
+ public static void main(String args[]) throws Throwable {
+ // Execute command in another vm. Verify stdout for expected err msg.
- // Construct a command that runs the test in other vm
- // Exec another vm to run test in
- // Read the result to determine if test failed
-
- command = getComString("-encoding");
- p = Runtime.getRuntime().exec(command);
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- checkResult(in, "err.bad.arg");
+ // Test with no input file given.
+ checkResult(executeCmd("-encoding"), "err.bad.arg");
File f0 = new File(System.getProperty("test.src", "."), "test123");
String path0 = f0.getPath();
if ( f0.exists() ) {
throw new Error("Input file should not exist: " + path0);
}
-
- command = getComString(path0);
- p = Runtime.getRuntime().exec(command);
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- checkResult(in, "err.cannot.read");
+ checkResult(executeCmd(path0), "err.cannot.read");
File f1 = new File(System.getProperty("test.src", "."), "test1");
File f2 = File.createTempFile("test2", ".tmp");
@@ -81,71 +73,38 @@
throw new Error("Output file cannot be made read only: " + path2);
}
f2.deleteOnExit();
-
- command = getComString(path1, path2);
- p = Runtime.getRuntime().exec(command);
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- checkResult(in, "err.cannot.write");
+ checkResult(executeCmd(path1, path2), "err.cannot.write");
}
-
- private static void checkResult(BufferedReader in, String errorExpected)
- throws Exception {
- String errorReceived;
- errorReceived = in.readLine();
- assert errorReceived != null : "First readline cannot be null";
- errorExpected = rsrc.getString(errorExpected);
- assert errorExpected != null : "Expected message cannot be null";
- StringBuffer error = new StringBuffer(errorExpected);
- int start = errorExpected.indexOf("{0}");
- if (start >= 0) {
- error.delete(start, start+3);
- errorExpected = error.toString();
+ private static String executeCmd(String... toolArgs) throws Throwable {
+ JDKToolLauncher cmd = JDKToolLauncher.createUsingTestJDK("native2ascii");
+ for (String s : toolArgs) {
+ cmd.addToolArg(s);
}
- //System.out.println("received: " + errorReceived);
- //System.out.println("expected: " + errorExpected);
- if (!errorReceived.endsWith(errorExpected))
+ OutputAnalyzer output = ProcessTools.executeProcess(cmd.getCommand());
+ if (output == null || output.getStdout() == null) {
+ throw new Exception("Output was null. Process did not finish correctly.");
+ }
+ if (output.getExitValue() == 0) {
+ throw new Exception("Process exit code was 0, but error was expected.");
+ }
+ return output.getStdout();
+ }
+
+ private static void checkResult(
+ String errorReceived, String errorKey) throws Exception {
+ String errorExpected = rsrc.getString(errorKey);
+ if (errorExpected == null) {
+ throw new Exception("No error message for key: " + errorKey);
+ }
+ // Remove template tag from error message.
+ errorExpected = errorExpected.replaceAll("\\{0\\}", "");
+
+ System.out.println("received: " + errorReceived);
+ System.out.println("expected: " + errorExpected);
+ if (errorReceived.indexOf(errorExpected) < 0) {
throw new RuntimeException("Native2ascii bad arg error broken.");
- }
-
- private static String[] getComString(String arg2) {
- String[] coms = new String[2];
- coms[0] = getPathString();
- coms[1] = arg2;
- return coms;
- }
-
- private static String[] getComString(String arg2, String arg3) {
- String[] coms = new String[3];
- coms[0] = getPathString();
- coms[1] = arg2;
- coms[2] = arg3;
- return coms;
- }
-
- /*
- * Search for path to native2ascii
- */
- private static String getPathString() {
- String path = System.getProperty("java.home") + File.separator +
- "bin" + File.separator + "native2ascii";
- if (File.separatorChar == '\\') {
- path = path + ".exe";
}
- File f = new File(path);
- if (!f.exists()) {
- System.out.println("Cannot find native2ascii at "+path);
- path = System.getProperty("java.home") + File.separator + ".." +
- File.separator + "bin" + File.separator + "native2ascii";
- if (File.separatorChar == '\\') {
- path = path + ".exe";
- }
- f = new File(path);
- if (!f.exists())
- throw new RuntimeException("Cannot find native2ascii at "+path);
- System.out.println("Using native2ascii at "+path);
- }
- return path;
}
}
diff --git a/jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh b/jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh
index 29c72ed..bd22582 100644
--- a/jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh
+++ b/jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh
@@ -104,7 +104,7 @@
"${TESTSRC}"/"${TARGETCLASS}".java
#
#Run the test class, again with the classpath we need:
-${TESTJAVA}/bin/java ${CP} ${TARGETCLASS}
+${TESTJAVA}/bin/java ${TESTVMOPTS} ${CP} ${TARGETCLASS}
status=$?
echo "test status was: $status"
if [ $status -eq "0" ];
diff --git a/jdk/test/sun/util/calendar/zi/BackEnd.java b/jdk/test/sun/util/calendar/zi/BackEnd.java
index 29d0201..4634495 100644
--- a/jdk/test/sun/util/calendar/zi/BackEnd.java
+++ b/jdk/test/sun/util/calendar/zi/BackEnd.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/Checksum.java b/jdk/test/sun/util/calendar/zi/Checksum.java
index 0123250..b5e3a23 100644
--- a/jdk/test/sun/util/calendar/zi/Checksum.java
+++ b/jdk/test/sun/util/calendar/zi/Checksum.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/DayOfWeek.java b/jdk/test/sun/util/calendar/zi/DayOfWeek.java
index 9470d96..80e9d53 100644
--- a/jdk/test/sun/util/calendar/zi/DayOfWeek.java
+++ b/jdk/test/sun/util/calendar/zi/DayOfWeek.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
diff --git a/jdk/test/sun/util/calendar/zi/Gen.java b/jdk/test/sun/util/calendar/zi/Gen.java
index 70ad6b5..9e348a3 100644
--- a/jdk/test/sun/util/calendar/zi/Gen.java
+++ b/jdk/test/sun/util/calendar/zi/Gen.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/GenDoc.java b/jdk/test/sun/util/calendar/zi/GenDoc.java
index c3b520c..8c00f93 100644
--- a/jdk/test/sun/util/calendar/zi/GenDoc.java
+++ b/jdk/test/sun/util/calendar/zi/GenDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2011, 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
diff --git a/jdk/test/sun/util/calendar/zi/Main.java b/jdk/test/sun/util/calendar/zi/Main.java
index 6fde7cd..ed2ba92 100644
--- a/jdk/test/sun/util/calendar/zi/Main.java
+++ b/jdk/test/sun/util/calendar/zi/Main.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/Mappings.java b/jdk/test/sun/util/calendar/zi/Mappings.java
index 2e12d86..a811ed7 100644
--- a/jdk/test/sun/util/calendar/zi/Mappings.java
+++ b/jdk/test/sun/util/calendar/zi/Mappings.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/Month.java b/jdk/test/sun/util/calendar/zi/Month.java
index f2db5f1..d4f7db8 100644
--- a/jdk/test/sun/util/calendar/zi/Month.java
+++ b/jdk/test/sun/util/calendar/zi/Month.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/Rule.java b/jdk/test/sun/util/calendar/zi/Rule.java
index e8c79da..ee4df5b 100644
--- a/jdk/test/sun/util/calendar/zi/Rule.java
+++ b/jdk/test/sun/util/calendar/zi/Rule.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/RuleDay.java b/jdk/test/sun/util/calendar/zi/RuleDay.java
index a9e83ac..6233dbe 100644
--- a/jdk/test/sun/util/calendar/zi/RuleDay.java
+++ b/jdk/test/sun/util/calendar/zi/RuleDay.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/RuleRec.java b/jdk/test/sun/util/calendar/zi/RuleRec.java
index c0a5785..29da027 100644
--- a/jdk/test/sun/util/calendar/zi/RuleRec.java
+++ b/jdk/test/sun/util/calendar/zi/RuleRec.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/Simple.java b/jdk/test/sun/util/calendar/zi/Simple.java
index b61ffea..e4694de 100644
--- a/jdk/test/sun/util/calendar/zi/Simple.java
+++ b/jdk/test/sun/util/calendar/zi/Simple.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/TestZoneInfo310.java b/jdk/test/sun/util/calendar/zi/TestZoneInfo310.java
index 45ead08..8bf07f6 100644
--- a/jdk/test/sun/util/calendar/zi/TestZoneInfo310.java
+++ b/jdk/test/sun/util/calendar/zi/TestZoneInfo310.java
@@ -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
diff --git a/jdk/test/sun/util/calendar/zi/Time.java b/jdk/test/sun/util/calendar/zi/Time.java
index 8f82e14..833948d 100644
--- a/jdk/test/sun/util/calendar/zi/Time.java
+++ b/jdk/test/sun/util/calendar/zi/Time.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/Timezone.java b/jdk/test/sun/util/calendar/zi/Timezone.java
index 04518a9..07d289e 100644
--- a/jdk/test/sun/util/calendar/zi/Timezone.java
+++ b/jdk/test/sun/util/calendar/zi/Timezone.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/TzIDOldMapping.java b/jdk/test/sun/util/calendar/zi/TzIDOldMapping.java
index e9ea6b5..d2acf3e 100644
--- a/jdk/test/sun/util/calendar/zi/TzIDOldMapping.java
+++ b/jdk/test/sun/util/calendar/zi/TzIDOldMapping.java
@@ -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
diff --git a/jdk/test/sun/util/calendar/zi/Zone.java b/jdk/test/sun/util/calendar/zi/Zone.java
index 7952008..cc27e08 100644
--- a/jdk/test/sun/util/calendar/zi/Zone.java
+++ b/jdk/test/sun/util/calendar/zi/Zone.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/ZoneInfoFile.java b/jdk/test/sun/util/calendar/zi/ZoneInfoFile.java
index ae3e38d..8139ff8 100644
--- a/jdk/test/sun/util/calendar/zi/ZoneInfoFile.java
+++ b/jdk/test/sun/util/calendar/zi/ZoneInfoFile.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/ZoneInfoOld.java b/jdk/test/sun/util/calendar/zi/ZoneInfoOld.java
index 4a0a31e..c9c7682 100644
--- a/jdk/test/sun/util/calendar/zi/ZoneInfoOld.java
+++ b/jdk/test/sun/util/calendar/zi/ZoneInfoOld.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/ZoneRec.java b/jdk/test/sun/util/calendar/zi/ZoneRec.java
index e96346f..af0ccab 100644
--- a/jdk/test/sun/util/calendar/zi/ZoneRec.java
+++ b/jdk/test/sun/util/calendar/zi/ZoneRec.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/Zoneinfo.java b/jdk/test/sun/util/calendar/zi/Zoneinfo.java
index 93242eb..277c045 100644
--- a/jdk/test/sun/util/calendar/zi/Zoneinfo.java
+++ b/jdk/test/sun/util/calendar/zi/Zoneinfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/tzdata/gmt b/jdk/test/sun/util/calendar/zi/tzdata/gmt
index 0be3179..7685fda 100644
--- a/jdk/test/sun/util/calendar/zi/tzdata/gmt
+++ b/jdk/test/sun/util/calendar/zi/tzdata/gmt
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/tzdata/jdk11_backward b/jdk/test/sun/util/calendar/zi/tzdata/jdk11_backward
index 5404cea..c869b79 100644
--- a/jdk/test/sun/util/calendar/zi/tzdata/jdk11_backward
+++ b/jdk/test/sun/util/calendar/zi/tzdata/jdk11_backward
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/tzdata_jdk/gmt b/jdk/test/sun/util/calendar/zi/tzdata_jdk/gmt
index 0be3179..7685fda 100644
--- a/jdk/test/sun/util/calendar/zi/tzdata_jdk/gmt
+++ b/jdk/test/sun/util/calendar/zi/tzdata_jdk/gmt
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/tzdata_jdk/jdk11_backward b/jdk/test/sun/util/calendar/zi/tzdata_jdk/jdk11_backward
index 4869516..00fe28b 100644
--- a/jdk/test/sun/util/calendar/zi/tzdata_jdk/jdk11_backward
+++ b/jdk/test/sun/util/calendar/zi/tzdata_jdk/jdk11_backward
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
diff --git a/jdk/test/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward b/jdk/test/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward
index 321180a..bba0aa9 100644
--- a/jdk/test/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward
+++ b/jdk/test/sun/util/calendar/zi/tzdata_jdk/jdk11_full_backward
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2006, 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
diff --git a/jdk/test/sun/util/resources/Locale/Bug6275682.java b/jdk/test/sun/util/resources/Locale/Bug6275682.java
index e740634..41d2b3c 100644
--- a/jdk/test/sun/util/resources/Locale/Bug6275682.java
+++ b/jdk/test/sun/util/resources/Locale/Bug6275682.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/sun/util/resources/TimeZone/Bug6317929.java b/jdk/test/sun/util/resources/TimeZone/Bug6317929.java
index 0180276..4b047c5 100644
--- a/jdk/test/sun/util/resources/TimeZone/Bug6317929.java
+++ b/jdk/test/sun/util/resources/TimeZone/Bug6317929.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, 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
diff --git a/jdk/test/tools/jar/ChangeDir.java b/jdk/test/tools/jar/ChangeDir.java
index 6f65fa8..0a4f86f 100644
--- a/jdk/test/tools/jar/ChangeDir.java
+++ b/jdk/test/tools/jar/ChangeDir.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 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
diff --git a/jdk/test/tools/jar/JarEntryTime.java b/jdk/test/tools/jar/JarEntryTime.java
index 74b413e..f266a51 100644
--- a/jdk/test/tools/jar/JarEntryTime.java
+++ b/jdk/test/tools/jar/JarEntryTime.java
@@ -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
diff --git a/langtools/.hgtags b/langtools/.hgtags
index 7713b53..ab6c1e2 100644
--- a/langtools/.hgtags
+++ b/langtools/.hgtags
@@ -245,3 +245,4 @@
afe63d41c699e0e2ee910ef20c41b60603c852a1 jdk9-b00
077c12d527fb5531c59666c1f84000fc1245a260 jdk9-b01
f2c58a337c8aaa1ce84dfa8a8e8c5d4c8c1e12fa jdk9-b02
+151222468d1d04ce6613d33efa3d45bfaf53e3e5 jdk9-b03
diff --git a/langtools/THIRD_PARTY_README b/langtools/THIRD_PARTY_README
index ee5463a..a93b35b 100644
--- a/langtools/THIRD_PARTY_README
+++ b/langtools/THIRD_PARTY_README
@@ -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.
+form with the JDK 8 and OpenJDK 8 source distributions, and as object code in
+the JRE 8 & JDK 8 runtimes.
-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.
+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:
+%% 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 Derby 10.8.1.2 [included with JDK 7 only]
+ 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 ---
diff --git a/langtools/src/share/classes/com/sun/javadoc/AnnotationValue.java b/langtools/src/share/classes/com/sun/javadoc/AnnotationValue.java
index 253245a..d741c90 100644
--- a/langtools/src/share/classes/com/sun/javadoc/AnnotationValue.java
+++ b/langtools/src/share/classes/com/sun/javadoc/AnnotationValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -38,11 +38,11 @@
* Returns the value.
* The type of the returned object is one of the following:
* <ul><li> a wrapper class for a primitive type
- * <li> <code>String</code>
- * <li> <code>Type</code> (representing a class literal)
- * <li> <code>FieldDoc</code> (representing an enum constant)
- * <li> <code>AnnotationDesc</code>
- * <li> <code>AnnotationValue[]</code>
+ * <li> {@code String}
+ * <li> {@code Type} (representing a class literal)
+ * <li> {@code FieldDoc} (representing an enum constant)
+ * <li> {@code AnnotationDesc}
+ * <li> {@code AnnotationValue[]}
* </ul>
*
* @return the value.
diff --git a/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java b/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java
index bf05b41..092f79b 100644
--- a/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java
+++ b/langtools/src/share/classes/com/sun/javadoc/ClassDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -46,28 +46,40 @@
/**
* Return true if this class is abstract. Return true
* for all interfaces.
+ *
+ * @return true if this class is abstract. Return true
+ * for all interfaces.
*/
boolean isAbstract();
/**
* Return true if this class implements or interface extends
- * <code>java.io.Serializable</code>.
+ * {@code java.io.Serializable}.
*
- * Since <code>java.io.Externalizable</code> extends
- * <code>java.io.Serializable</code>,
+ * Since {@code java.io.Externalizable} extends
+ * {@code java.io.Serializable},
* Externalizable objects are also Serializable.
+ *
+ * @return true if this class implements or interface extends
+ * {@code java.io.Serializable}.
*/
boolean isSerializable();
/**
* Return true if this class implements or interface extends
- * <code>java.io.Externalizable</code>.
+ * {@code java.io.Externalizable}.
+ *
+ * @return true if this class implements or interface extends
+ * {@code java.io.Externalizable}.
*/
boolean isExternalizable();
/**
* Return true if this class can be used as a target type of a lambda expression
* or method reference.
+ *
+ * @return true if this class can be used as a target type of a lambda expression
+ * or method reference.
*/
boolean isFunctionalInterface();
@@ -84,14 +96,14 @@
* Return the Serializable fields of this class or interface.
* <p>
* Return either a list of default fields documented by
- * <code>serial</code> tag<br>
- * or return a single <code>FieldDoc</code> for
- * <code>serialPersistentField</code> member.
- * There should be a <code>serialField</code> tag for
- * each Serializable field defined by an <code>ObjectStreamField</code>
- * array component of <code>serialPersistentField</code>.
+ * {@code serial} tag<br>
+ * or return a single {@code FieldDoc} for
+ * {@code serialPersistentField} member.
+ * There should be a {@code serialField} tag for
+ * each Serializable field defined by an {@code ObjectStreamField}
+ * array component of {@code serialPersistentField}.
*
- * @return an array of <code>FieldDoc</code> objects for the Serializable
+ * @return an array of {@code FieldDoc} objects for the Serializable
* fields of this class or interface.
*
* @see #definesSerializableFields()
@@ -101,7 +113,10 @@
/**
* Return true if Serializable fields are explicitly defined with
- * the special class member <code>serialPersistentFields</code>.
+ * the special class member {@code serialPersistentFields}.
+ *
+ * @return true if Serializable fields are explicitly defined with
+ * the special class member {@code serialPersistentFields}.
*
* @see #serializableFields()
* @see SerialFieldTag
@@ -113,7 +128,7 @@
* interface.
*
* <p> <i>This method cannot accommodate certain generic type constructs.
- * The <code>superclassType</code> method should be used instead.</i>
+ * The {@code superclassType} method should be used instead.</i>
*
* @return the ClassDoc for the superclass of this class, null if
* there is no superclass.
@@ -124,7 +139,7 @@
/**
* Return the superclass of this class. Return null if this is an
* interface. A superclass is represented by either a
- * <code>ClassDoc</code> or a <code>ParametrizedType</code>.
+ * {@code ClassDoc} or a {@code ParametrizedType}.
*
* @return the superclass of this class, or null if there is no superclass.
* @since 1.5
@@ -134,7 +149,7 @@
/**
* Test whether this class is a subclass of the specified class.
* If this is an interface, return false for all classes except
- * <code>java.lang.Object</code> (we must keep this unexpected
+ * {@code java.lang.Object} (we must keep this unexpected
* behavior for compatibility reasons).
*
* @param cd the candidate superclass.
@@ -149,7 +164,7 @@
* Return an empty array if there are no interfaces.
*
* <p> <i>This method cannot accommodate certain generic type constructs.
- * The <code>interfaceTypes</code> method should be used instead.</i>
+ * The {@code interfaceTypes} method should be used instead.</i>
*
* @return an array of ClassDoc objects representing the interfaces.
* @see #interfaceTypes
@@ -163,7 +178,7 @@
* Return an empty array if there are no interfaces.
*
* @return an array of interfaces, each represented by a
- * <code>ClassDoc</code> or a <code>ParametrizedType</code>.
+ * {@code ClassDoc} or a {@code ParametrizedType}.
* @since 1.5
*/
Type[] interfaceTypes();
@@ -225,7 +240,7 @@
* Return
* <a href="{@docRoot}/com/sun/javadoc/package-summary.html#included">included</a>
* methods in this class or interface.
- * Same as <code>methods(true)</code>.
+ * Same as {@code methods(true)}.
*
* @return an array of MethodDoc objects representing the included
* methods in this class or interface. Does not include
@@ -243,6 +258,7 @@
* modifier option.
* Specify false to include all methods regardless of
* access modifier option.
+ *
* @return an array of MethodDoc objects representing the included
* methods in this class or interface.
*/
@@ -281,7 +297,7 @@
* <a href="{@docRoot}/com/sun/javadoc/package-summary.html#included">included</a>
* nested classes and interfaces within this class or interface.
* This includes both static and non-static nested classes.
- * (This method should have been named <code>nestedClasses()</code>,
+ * (This method should have been named {@code nestedClasses()},
* as inner classes are technically non-static.) Anonymous and local classes
* or interfaces are not included.
*
@@ -312,6 +328,8 @@
* Search order: 1) qualified name, 2) nested in this class or interface,
* 3) in this package, 4) in the class imports, 5) in the package imports.
* Return the ClassDoc if found, null if not found.
+ * @param className Specify the class name to find as a String.
+ * @return the ClassDoc if found, null if not found.
*/
ClassDoc findClass(String className);
diff --git a/langtools/src/share/classes/com/sun/javadoc/Doc.java b/langtools/src/share/classes/com/sun/javadoc/Doc.java
index c258eeb..1ade63f 100644
--- a/langtools/src/share/classes/com/sun/javadoc/Doc.java
+++ b/langtools/src/share/classes/com/sun/javadoc/Doc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -43,6 +43,8 @@
/**
* Return the text of the comment for this doc item.
* Tags have been removed.
+ *
+ * @return the text of the comment for this doc item.
*/
String commentText();
@@ -119,6 +121,8 @@
* Return the full unprocessed text of the comment. Tags
* are included as text. Used mainly for store and retrieve
* operations like internalization.
+ *
+ * @return the full unprocessed text of the comment.
*/
String getRawCommentText();
@@ -126,6 +130,8 @@
* Set the full unprocessed text of the comment. Tags
* are included as text. Used mainly for store and retrieve
* operations like internalization.
+ *
+ * @param rawDocumentation A String containing the full unprocessed text of the comment.
*/
void setRawCommentText(String rawDocumentation);
@@ -143,7 +149,7 @@
* <p>
* This method satisfies the {@link java.lang.Comparable} interface.
*
- * @param obj the <code>Object</code> to be compared.
+ * @param obj the {@code Object} to be compared.
* @return a negative integer, zero, or a positive integer as this Object
* is less than, equal to, or greater than the given Object.
* @exception ClassCastException the specified Object's type prevents it
@@ -250,6 +256,10 @@
* Return true if this Doc item is
* <a href="{@docRoot}/com/sun/javadoc/package-summary.html#included">included</a>
* in the result set.
+ *
+ * @return true if this Doc item is
+ * <a href="{@docRoot}/com/sun/javadoc/package-summary.html#included">included</a>
+ * in the result set.
*/
boolean isIncluded();
@@ -260,6 +270,10 @@
* null because it has no location in the source file.
*
* @since 1.4
+ * @return the source positino of the first line of the
+ * corresponding declaration, or null if
+ * no position is available. A default constructor returns
+ * null because it has no location in the source file.
*/
SourcePosition position();
}
diff --git a/langtools/src/share/classes/com/sun/javadoc/Doclet.java b/langtools/src/share/classes/com/sun/javadoc/Doclet.java
index 2a16980..d7db96e 100644
--- a/langtools/src/share/classes/com/sun/javadoc/Doclet.java
+++ b/langtools/src/share/classes/com/sun/javadoc/Doclet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -29,15 +29,15 @@
* This is an example of a starting class for a doclet,
* showing the entry-point methods. A starting class must
* import com.sun.javadoc.* and implement the
- * <code>start(RootDoc)</code> method, as described in the
+ * {@code start(RootDoc)} method, as described in the
* <a href="package-summary.html#package_description">package
* description</a>. If the doclet takes command line options,
- * it must also implement <code>optionLength</code> and
- * <code>validOptions</code>.
+ * it must also implement {@code optionLength} and
+ * {@code validOptions}.
*
* <p> A doclet supporting the language features added since 1.1
* (such as generics and annotations) should indicate this
- * by implementing <code>languageVersion</code>. In the absence of
+ * by implementing {@code languageVersion}. In the absence of
* this the doclet should not invoke any of the Doclet API methods
* added since 1.5, and
* the results of several other methods are modified so as
@@ -45,7 +45,7 @@
* the doclet.
*
* <p> To start the doclet, pass
- * <code>-doclet</code> followed by the fully-qualified
+ * {@code -doclet} followed by the fully-qualified
* name of the starting class on the javadoc tool command line.
*/
public abstract class Doclet {
@@ -54,6 +54,7 @@
* Generate documentation here.
* This method is required for all doclets.
*
+ * @param root Supply the RootDoc to the method.
* @return true on success.
*/
public static boolean start(RootDoc root) {
@@ -69,6 +70,7 @@
* If this method is missing, Javadoc will print an invalid flag
* error for every option.
*
+ * @param option the option for which the number of arguements is returned.
* @return number of arguments on the command line for an option
* including the option name itself. Zero return means
* option not known. Negative value means error occurred.
@@ -88,6 +90,8 @@
* Printing option related error messages (using the provided
* DocErrorReporter) is the responsibility of this method.
*
+ * @param options Supply valid options as an array of Strings.
+ * @param reporter The DocErrorReporter responsible for these options.
* @return true if the options are valid.
*/
public static boolean validOptions(String options[][],
diff --git a/langtools/src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java b/langtools/src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java
index 8792c9c..9104c08 100644
--- a/langtools/src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java
+++ b/langtools/src/share/classes/com/sun/javadoc/ExecutableMemberDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -36,11 +36,11 @@
/**
* Return exceptions this method or constructor throws.
* If the type of the exception is a type variable, return the
- * <code>ClassDoc</code> of its erasure.
+ * {@code ClassDoc} of its erasure.
*
- * <p> <i>The <code>thrownExceptions</code> method cannot
+ * <p> <i>The {@code thrownExceptions} method cannot
* accommodate certain generic type constructs. The
- * <code>thrownExceptionTypes</code> method should be used
+ * {@code thrownExceptionTypes} method should be used
* instead.</i>
*
* @return an array of ClassDoc[] representing the exceptions
@@ -53,19 +53,23 @@
* Return exceptions this method or constructor throws.
*
* @return an array representing the exceptions thrown by this method.
- * Each array element is either a <code>ClassDoc</code> or a
- * <code>TypeVariable</code>.
+ * Each array element is either a {@code ClassDoc} or a
+ * {@code TypeVariable}.
* @since 1.5
*/
Type[] thrownExceptionTypes();
/**
* Return true if this method is native
+ *
+ * @return true if this method is native
*/
boolean isNative();
/**
* Return true if this method is synchronized
+ *
+ * @return true if this method is synchronized
*/
boolean isSynchronized();
@@ -74,6 +78,7 @@
* of arguments.
*
* @since 1.5
+ * @return true if this method was declared to take a variable number of arguments.
*/
public boolean isVarArgs();
@@ -98,8 +103,8 @@
/**
* Return the throws tags in this method.
*
- * @return an array of ThrowTag containing all <code>@exception</code>
- * and <code>@throws</code> tags.
+ * @return an array of ThrowTag containing all {@code @exception}
+ * and {@code @throws} tags.
*/
ThrowsTag[] throwsTags();
@@ -107,7 +112,7 @@
* Return the param tags in this method, excluding the type
* parameter tags.
*
- * @return an array of ParamTag containing all <code>@param</code> tags
+ * @return an array of ParamTag containing all {@code @param} tags
* corresponding to the parameters of this method.
*/
ParamTag[] paramTags();
@@ -115,7 +120,7 @@
/**
* Return the type parameter tags in this method.
*
- * @return an array of ParamTag containing all <code>@param</code> tags
+ * @return an array of ParamTag containing all {@code @param} tags
* corresponding to the type parameters of this method.
* @since 1.5
*/
@@ -123,8 +128,10 @@
/**
* Get the signature. It is the parameter list, type is qualified.
- * For instance, for a method <code>mymethod(String x, int y)</code>,
- * it will return <code>(java.lang.String,int)</code>.
+ * For instance, for a method {@code mymethod(String x, int y)},
+ * it will return {@code (java.lang.String,int)}.
+ *
+ * @return the parameter list where type is qualified.
*/
String signature();
@@ -132,8 +139,10 @@
* get flat signature. all types are not qualified.
* return a String, which is the flat signiture of this member.
* It is the parameter list, type is not qualified.
- * For instance, for a method <code>mymethod(String x, int y)</code>,
- * it will return <code>(String, int)</code>.
+ * For instance, for a method {@code mymethod(String x, int y)},
+ * it will return {@code (String, int)}.
+ *
+ * @return a String, which is the flat signiture of this member.
*/
String flatSignature();
diff --git a/langtools/src/share/classes/com/sun/javadoc/FieldDoc.java b/langtools/src/share/classes/com/sun/javadoc/FieldDoc.java
index 0565924..3039f24 100644
--- a/langtools/src/share/classes/com/sun/javadoc/FieldDoc.java
+++ b/langtools/src/share/classes/com/sun/javadoc/FieldDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -37,16 +37,22 @@
/**
* Get type of this field.
+ *
+ * @return the type of this field.
*/
Type type();
/**
* Return true if this field is transient
+ *
+ * @return true if this field is transient
*/
boolean isTransient();
/**
* Return true if this field is volatile
+ *
+ * @return true if this field is volatile
*/
boolean isVolatile();
@@ -54,7 +60,7 @@
* Return the serialField tags in this FieldDoc item.
*
* @return an array of <tt>SerialFieldTag</tt> objects containing
- * all <code>@serialField</code> tags.
+ * all {@code @serialField} tags.
*/
SerialFieldTag[] serialFieldTags();
diff --git a/langtools/src/share/classes/com/sun/javadoc/MemberDoc.java b/langtools/src/share/classes/com/sun/javadoc/MemberDoc.java
index ba21685..2eadeed 100644
--- a/langtools/src/share/classes/com/sun/javadoc/MemberDoc.java
+++ b/langtools/src/share/classes/com/sun/javadoc/MemberDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -42,6 +42,8 @@
/**
* Returns true if this member was synthesized by the compiler.
+ *
+ * @return true if this member was synthesized by the compiler.
*/
boolean isSynthetic();
}
diff --git a/langtools/src/share/classes/com/sun/javadoc/MethodDoc.java b/langtools/src/share/classes/com/sun/javadoc/MethodDoc.java
index 83bc03f..dd447fa 100644
--- a/langtools/src/share/classes/com/sun/javadoc/MethodDoc.java
+++ b/langtools/src/share/classes/com/sun/javadoc/MethodDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -35,11 +35,15 @@
/**
* Return true if this method is abstract
+ *
+ * @return true if this method is abstract
*/
boolean isAbstract();
/**
* Return true if this method is default
+ *
+ * @return true if this method is default
*/
boolean isDefault();
@@ -54,9 +58,9 @@
/**
* Return the class containing the method that this method overrides.
*
- * <p> <i>The <code>overriddenClass</code> method cannot
+ * <p> <i>The {@code overriddenClass} method cannot
* accommodate certain generic type constructs. The
- * <code>overriddenType</code> method should be used instead.</i>
+ * {@code overriddenType} method should be used instead.</i>
*
* @return a ClassDoc representing the superclass
* defining a method that this method overrides, or null if
@@ -66,7 +70,7 @@
/**
* Return the type containing the method that this method overrides.
- * It may be a <code>ClassDoc</code> or a <code>ParameterizedType</code>.
+ * It may be a {@code ClassDoc} or a {@code ParameterizedType}.
*
* @return the supertype whose method is overridden, or null if this
* method does not override another in a superclass
diff --git a/langtools/src/share/classes/com/sun/javadoc/PackageDoc.java b/langtools/src/share/classes/com/sun/javadoc/PackageDoc.java
index 9a62ff4..5d87055 100644
--- a/langtools/src/share/classes/com/sun/javadoc/PackageDoc.java
+++ b/langtools/src/share/classes/com/sun/javadoc/PackageDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -122,6 +122,7 @@
/**
* Lookup a class or interface within this package.
*
+ * @param className A String containing the name of the class to look up.
* @return ClassDoc of found class or interface,
* or null if not found.
*/
diff --git a/langtools/src/share/classes/com/sun/javadoc/ParamTag.java b/langtools/src/share/classes/com/sun/javadoc/ParamTag.java
index c39082e..40b34e6 100644
--- a/langtools/src/share/classes/com/sun/javadoc/ParamTag.java
+++ b/langtools/src/share/classes/com/sun/javadoc/ParamTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -38,7 +38,7 @@
/**
* Return the name of the parameter or type parameter
- * associated with this <code>ParamTag</code>.
+ * associated with this {@code ParamTag}.
* The angle brackets delimiting a type parameter are not part of
* its name.
*
@@ -48,18 +48,18 @@
/**
* Return the parameter comment
- * associated with this <code>ParamTag</code>.
+ * associated with this {@code ParamTag}.
*
* @return the parameter comment.
*/
String parameterComment();
/**
- * Return true if this <code>ParamTag</code> corresponds to a type
+ * Return true if this {@code ParamTag} corresponds to a type
* parameter. Return false if it corresponds to an ordinary parameter
* of a method or constructor.
*
- * @return true if this <code>ParamTag</code> corresponds to a type
+ * @return true if this {@code ParamTag} corresponds to a type
* parameter.
* @since 1.5
*/
diff --git a/langtools/src/share/classes/com/sun/javadoc/Parameter.java b/langtools/src/share/classes/com/sun/javadoc/Parameter.java
index a86b12e..f6d6a5d 100644
--- a/langtools/src/share/classes/com/sun/javadoc/Parameter.java
+++ b/langtools/src/share/classes/com/sun/javadoc/Parameter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -35,12 +35,16 @@
/**
* Get the type of this parameter.
+ *
+ * @return the type of this parameter.
*/
Type type();
/**
* Get local name of this parameter.
* For example if parameter is the short 'index', returns "index".
+ *
+ * @return the name of this parameter as a string.
*/
String name();
@@ -51,6 +55,8 @@
* This method returns a complete string
* representation of the type, including the dimensions of arrays and
* the type arguments of parameterized types. Names are qualified.
+ *
+ * @return a complete string representation of the type.
*/
String typeName();
diff --git a/langtools/src/share/classes/com/sun/javadoc/ParameterizedType.java b/langtools/src/share/classes/com/sun/javadoc/ParameterizedType.java
index 0bdcd71..3cef8d1 100644
--- a/langtools/src/share/classes/com/sun/javadoc/ParameterizedType.java
+++ b/langtools/src/share/classes/com/sun/javadoc/ParameterizedType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -97,10 +97,10 @@
* Return null is this is a top-level type.
*
* <p> For example, the containing type of
- * {@code AnInterface.Nested<Number>} is the <code>ClassDoc</code>
+ * {@code AnInterface.Nested<Number>} is the {@code ClassDoc}
* representing {@code AnInterface}, and the containing type of
* {@code Outer<String>.Inner<Number>} is the
- * <code>ParameterizedType</code> representing {@code Outer<String>}.
+ * {@code ParameterizedType} representing {@code Outer<String>}.
*
* @return the type that contains this type as a member.
*/
diff --git a/langtools/src/share/classes/com/sun/javadoc/ProgramElementDoc.java b/langtools/src/share/classes/com/sun/javadoc/ProgramElementDoc.java
index 4aac88b..d7b195e 100644
--- a/langtools/src/share/classes/com/sun/javadoc/ProgramElementDoc.java
+++ b/langtools/src/share/classes/com/sun/javadoc/ProgramElementDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -57,10 +57,10 @@
/**
* Get the fully qualified name of this program element.
- * For example, for the class <code>java.util.Hashtable</code>,
+ * For example, for the class {@code java.util.Hashtable},
* return "java.util.Hashtable".
* <p>
- * For the method <code>bar()</code> in class <code>Foo</code>
+ * For the method {@code bar()} in class {@code Foo}
* in the unnamed package, return "Foo.bar".
*
* @return the qualified name of the program element as a String.
@@ -71,6 +71,8 @@
* Get the modifier specifier integer.
*
* @see java.lang.reflect.Modifier
+ *
+ * @return Get the modifier specifier integer.
*/
int modifierSpecifier();
@@ -82,6 +84,8 @@
* </pre>
* return "public abstract".
* Annotations are not included.
+ *
+ * @return "public abstract".
*/
String modifiers();
@@ -96,30 +100,42 @@
/**
* Return true if this program element is public.
+ *
+ * @return true if this program element is public.
*/
boolean isPublic();
/**
* Return true if this program element is protected.
+ *
+ * @return true if this program element is protected.
*/
boolean isProtected();
/**
* Return true if this program element is private.
+ *
+ * @return true if this program element is private.
*/
boolean isPrivate();
/**
* Return true if this program element is package private.
+ *
+ * @return true if this program element is package private.
*/
boolean isPackagePrivate();
/**
* Return true if this program element is static.
+ *
+ * @return true if this program element is static.
*/
boolean isStatic();
/**
* Return true if this program element is final.
+ *
+ * @return true if this program element is final.
*/
boolean isFinal();
}
diff --git a/langtools/src/share/classes/com/sun/javadoc/RootDoc.java b/langtools/src/share/classes/com/sun/javadoc/RootDoc.java
index 36eded4..8a86b55 100644
--- a/langtools/src/share/classes/com/sun/javadoc/RootDoc.java
+++ b/langtools/src/share/classes/com/sun/javadoc/RootDoc.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -60,7 +60,7 @@
* Return the packages
* <a href="package-summary.html#included">specified</a>
* on the command line.
- * If <code>-subpackages</code> and <code>-exclude</code> options
+ * If {@code -subpackages} and {@code -exclude} options
* are used, return all the non-excluded packages.
*
* @return packages specified on the command line.
diff --git a/langtools/src/share/classes/com/sun/javadoc/SeeTag.java b/langtools/src/share/classes/com/sun/javadoc/SeeTag.java
index 8429539..7bbdab5 100644
--- a/langtools/src/share/classes/com/sun/javadoc/SeeTag.java
+++ b/langtools/src/share/classes/com/sun/javadoc/SeeTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -31,11 +31,11 @@
* plain text. (The plain text might be a reference
* to something not online, such as a printed book, or be a hard-coded
* HTML link.) The reference can either be inline with the comment,
- * using <code>{@link}</code>, or a separate block comment,
- * using <code>@see</code>.
- * Method <code>name()</code> returns "@link" (no curly braces) or
+ * using {@code {@link}}, or a separate block comment,
+ * using {@code @see}.
+ * Method {@code name()} returns "@link" (no curly braces) or
* "@see", depending on the tag.
- * Method <code>kind()</code> returns "@see" for both tags.
+ * Method {@code kind()} returns "@see" for both tags.
*
* @author Kaiyang Liu (original)
* @author Robert Field (rewrite)
@@ -45,44 +45,51 @@
public interface SeeTag extends Tag {
/**
- * Get the label of the <code>@see</code> tag.
+ * Get the label of the {@code @see} tag.
* Return null if no label is present.
* For example, for:
* <p>
- * <code>@see String#trim() the trim method</code>
+ * {@code @see String#trim() the trim method}
* </p>
* return "the trim method".
+ *
+ * @return "the trim method".
*/
String label();
/**
- * Get the package doc when <code>@see</code> references only a package.
+ * Get the package doc when {@code @see} references only a package.
* Return null if the package cannot be found, or if
- * <code>@see</code> references any other element (class,
+ * {@code @see} references any other element (class,
* interface, field, constructor, method) or non-element.
* For example, for:
* <p>
- * <code>@see java.lang</code>
+ * {@code @see java.lang}
* </p>
- * return the <code>PackageDoc</code> for <code>java.lang</code>.
+ * return the {@code PackageDoc} for {@code java.lang}.
+ *
+ * @return the {@code PackageDoc} for {@code java.lang}.
*/
public PackageDoc referencedPackage();
/**
- * Get the class or interface name of the <code>@see</code> reference.
+ * Get the class or interface name of the {@code @see} reference.
* The name is fully qualified if the name specified in the
- * original <code>@see</code> tag was fully qualified, or if the class
+ * original {@code @see} tag was fully qualified, or if the class
* or interface can be found; otherwise it is unqualified.
- * If <code>@see</code> references only a package name, then return
+ * If {@code @see} references only a package name, then return
* the package name instead.
* For example, for:
* <p>
- * <code>@see String#valueOf(java.lang.Object)</code>
+ * {@code @see String#valueOf(java.lang.Object)}
* </p>
* return "java.lang.String".
- * For "<code>@see java.lang</code>", return "java.lang".
- * Return null if <code>@see</code> references a non-element, such as
- * <code>@see <a href="java.sun.com"></code>.
+ * For "{@code @see java.lang}", return "java.lang".
+ * Return null if {@code @see} references a non-element, such as
+ * {@code @see <a href="java.sun.com">}.
+ *
+ * @return null if {@code @see} references a non-element, such as
+ * {@code @see <a href="java.sun.com">}.
*/
String referencedClassName();
@@ -91,36 +98,42 @@
* Return null if the class cannot be found.
* For example, for:
* <p>
- * <code>@see String#valueOf(java.lang.Object)</code>
+ * {@code @see String#valueOf(java.lang.Object)}
* </p>
- * return the <code>ClassDoc</code> for <code>java.lang.String</code>.
+ * return the {@code ClassDoc} for {@code java.lang.String}.
+ *
+ * @return the {@code ClassDoc} for {@code java.lang.String}.
*/
ClassDoc referencedClass();
/**
- * Get the field, constructor or method substring of the <code>@see</code>
+ * Get the field, constructor or method substring of the {@code @see}
* reference. Return null if the reference is to any other
* element or to any non-element.
* References to member classes (nested classes) return null.
* For example, for:
* <p>
- * <code>@see String#startsWith(String)</code>
+ * {@code @see String#startsWith(String)}
* </p>
* return "startsWith(String)".
+ *
+ * @return "startsWith(String)".
*/
String referencedMemberName();
/**
* Get the member doc for the field, constructor or method
- * referenced by <code>@see</code>. Return null if the member cannot
+ * referenced by {@code @see}. Return null if the member cannot
* be found or if the reference is to any other element or to any
* non-element.
* References to member classes (nested classes) return null.
* For example, for:
* <p>
- * <code>@see String#startsWith(java.lang.String)</code>
+ * {@code @see String#startsWith(java.lang.String)}
* </p>
- * return the <code>MethodDoc</code> for <code>startsWith</code>.
+ * return the {@code MethodDoc} for {@code startsWith}.
+ *
+ * @return the {@code MethodDoc} for {@code startsWith}.
*/
MemberDoc referencedMember();
}
diff --git a/langtools/src/share/classes/com/sun/javadoc/SerialFieldTag.java b/langtools/src/share/classes/com/sun/javadoc/SerialFieldTag.java
index 7f73936..ebf4114 100644
--- a/langtools/src/share/classes/com/sun/javadoc/SerialFieldTag.java
+++ b/langtools/src/share/classes/com/sun/javadoc/SerialFieldTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -47,11 +47,15 @@
/**
* Return the serializable field name.
+ *
+ * @return the serializable field name.
*/
public String fieldName();
/**
* Return the field type string.
+ *
+ * @return the field type string.
*/
public String fieldType();
@@ -66,6 +70,9 @@
/**
* Return the field comment. If there is no serialField comment, return
* javadoc comment of corresponding FieldDoc.
+ *
+ * @return the field comment. If there is no serialField comment, return
+ * javadoc comment of corresponding FieldDoc.
*/
public String description();
@@ -76,7 +83,7 @@
* <p>
* Included to make SerialFieldTag items java.lang.Comparable.
*
- * @param obj the <code>Object</code> to be compared.
+ * @param obj the {@code Object} to be compared.
* @return a negative integer, zero, or a positive integer as this Object
* is less than, equal to, or greater than the given Object.
* @exception ClassCastException the specified Object's type prevents it
diff --git a/langtools/src/share/classes/com/sun/javadoc/SourcePosition.java b/langtools/src/share/classes/com/sun/javadoc/SourcePosition.java
index dd94fcc..58a1ad6 100644
--- a/langtools/src/share/classes/com/sun/javadoc/SourcePosition.java
+++ b/langtools/src/share/classes/com/sun/javadoc/SourcePosition.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -36,17 +36,25 @@
*/
public interface SourcePosition {
/** The source file. Returns null if no file information is
- * available. */
+ * available.
+ *
+ * @return the source file as a File.
+ */
File file();
/** The line in the source file. The first line is numbered 1;
- * 0 means no line number information is available. */
+ * 0 means no line number information is available.
+ *
+ * @return the line number in the source file as an integer.
+ */
int line();
/** The column in the source file. The first column is
* numbered 1; 0 means no column information is available.
* Columns count characters in the input stream; a tab
* advances the column number to the next 8-column tab stop.
+ *
+ * @return the column on the source line as an integer.
*/
int column();
diff --git a/langtools/src/share/classes/com/sun/javadoc/Tag.java b/langtools/src/share/classes/com/sun/javadoc/Tag.java
index 3208884..992a13f 100644
--- a/langtools/src/share/classes/com/sun/javadoc/Tag.java
+++ b/langtools/src/share/classes/com/sun/javadoc/Tag.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -33,7 +33,7 @@
* Given a tag (e.g. "@since 1.2"), holds tag name (e.g. "@since")
* and tag text (e.g. "1.2"). Tags with structure or which require
* special processing are handled by subclasses such as ParamTag
- * (for @param), SeeTag (for @see and {@link}), and ThrowsTag
+ * (for @param), SeeTag (for @see and {@link}), and ThrowsTag
* (for @throws).
*
* @author Robert Field
@@ -50,10 +50,10 @@
/**
* Return the name of this tag. The name is the string
* starting with "@" that is used in a doc comment, such as
- * <code>@return</code>. For inline tags, such as
- * <code>{@link}</code>, the curly brackets
+ * {@code @return}. For inline tags, such as
+ * {@code {@link}}, the curly brackets
* are not part of the name, so in this example the name
- * would be simply <code>@link</code>.
+ * would be simply {@code @link}.
*
* @return the name of this tag
*/
@@ -69,7 +69,7 @@
/**
* Return the kind of this tag.
* For most tags,
- * <code>kind() == name()</code>;
+ * {@code kind() == name()};
* the following table lists those cases where there is more
* than one tag of a given kind:
*
@@ -101,27 +101,27 @@
String toString();
/**
- * For a documentation comment with embedded <code>{@link}</code>
- * tags, return an array of <code>Tag</code> objects. The entire
+ * For a documentation comment with embedded {@code {@link}}
+ * tags, return an array of {@code Tag} objects. The entire
* doc comment is broken down into strings separated by
- * <code>{@link}</code> tags, where each successive element
+ * {@code {@link}} tags, where each successive element
* of the array represents either a string or
- * <code>{@link}</code> tag, in order, from start to end.
- * Each string is represented by a <code>Tag</code> object of
+ * {@code {@link}} tag, in order, from start to end.
+ * Each string is represented by a {@code Tag} object of
* name "Text", where {@link #text()} returns the string. Each
- * <code>{@link}</code> tag is represented by a
+ * {@code {@link}} tag is represented by a
* {@link SeeTag} of name "@link" and kind "@see".
* For example, given the following comment
* tag:
* <p>
- * <code>This is a {@link Doc commentlabel} example.</code>
+ * {@code This is a {@link Doc commentlabel} example.}
* <p>
* return an array of Tag objects:
* <ul>
* <li> tags[0] is a {@link Tag} with name "Text" and text consisting
* of "This is a "
* <li> tags[1] is a {@link SeeTag} with name "@link", referenced
- * class <code>Doc</code> and label "commentlabel"
+ * class {@code Doc} and label "commentlabel"
* <li> tags[2] is a {@link Tag} with name "Text" and text consisting
* of " example."
* </ul>
diff --git a/langtools/src/share/classes/com/sun/javadoc/ThrowsTag.java b/langtools/src/share/classes/com/sun/javadoc/ThrowsTag.java
index 2fa9d25..8872a58 100644
--- a/langtools/src/share/classes/com/sun/javadoc/ThrowsTag.java
+++ b/langtools/src/share/classes/com/sun/javadoc/ThrowsTag.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -39,7 +39,7 @@
/**
* Return the name of the exception
- * associated with this <code>ThrowsTag</code>.
+ * associated with this {@code ThrowsTag}.
*
* @return name of the exception.
*/
@@ -47,30 +47,30 @@
/**
* Return the exception comment
- * associated with this <code>ThrowsTag</code>.
+ * associated with this {@code ThrowsTag}.
*
* @return exception comment.
*/
String exceptionComment();
/**
- * Return a <code>ClassDoc</code> that represents the exception.
+ * Return a {@code ClassDoc} that represents the exception.
* If the type of the exception is a type variable, return the
- * <code>ClassDoc</code> of its erasure.
+ * {@code ClassDoc} of its erasure.
*
* <p> <i>This method cannot accommodate certain generic type
- * constructs. The <code>exceptionType</code> method
+ * constructs. The {@code exceptionType} method
* should be used instead.</i>
*
- * @return <code>ClassDoc</code> that represents the exception.
+ * @return {@code ClassDoc} that represents the exception.
* @see #exceptionType
*/
ClassDoc exception();
/**
* Return the type of the exception
- * associated with this <code>ThrowsTag</code>.
- * This may be a <code>ClassDoc</code> or a <code>TypeVariable</code>.
+ * associated with this {@code ThrowsTag}.
+ * This may be a {@code ClassDoc} or a {@code TypeVariable}.
*
* @return the type of the exception.
* @since 1.5
diff --git a/langtools/src/share/classes/com/sun/javadoc/Type.java b/langtools/src/share/classes/com/sun/javadoc/Type.java
index 77d9a73..1700342 100644
--- a/langtools/src/share/classes/com/sun/javadoc/Type.java
+++ b/langtools/src/share/classes/com/sun/javadoc/Type.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -28,8 +28,8 @@
/**
* Represents a type. A type can be a class or interface, an
* invocation (like {@code List<String>}) of a generic class or interface,
- * a type variable, a wildcard type ("<code>?</code>"),
- * or a primitive data type (like <code>char</code>).
+ * a type variable, a wildcard type ("{@code ?}"),
+ * or a primitive data type (like {@code char}).
*
* @since 1.2
* @author Kaiyang Liu (original)
@@ -42,7 +42,8 @@
* Return unqualified name of type excluding any dimension information.
* <p>
* For example, a two dimensional array of String returns
- * "<code>String</code>".
+ * "{@code String}".
+ * @return unqualified name of type excluding any dimension information.
*/
String typeName();
@@ -50,7 +51,8 @@
* Return qualified name of type excluding any dimension information.
*<p>
* For example, a two dimensional array of String
- * returns "<code>java.lang.String</code>".
+ * returns "{@code java.lang.String}".
+ * @return qualified name of this type excluding any dimension information.
*/
String qualifiedTypeName();
@@ -60,9 +62,10 @@
* only the identifier of the innermost type is included.
* <p>
* For example, the class {@code Outer.Inner} returns
- * "<code>Inner</code>".
+ * "{@code Inner}".
*
* @since 1.5
+ * @return the simple name of this type excluding any dimension information.
*/
String simpleTypeName();
@@ -70,7 +73,8 @@
* Return the type's dimension information, as a string.
* <p>
* For example, a two dimensional array of String returns
- * "<code>[][]</code>".
+ * "{@code [][]}".
+ * @return the type's dimension information as a string.
*/
String dimension();
@@ -79,7 +83,7 @@
* This includes any dimension information and type arguments.
* <p>
* For example, a two dimensional array of String may return
- * "<code>java.lang.String[][]</code>",
+ * "{@code java.lang.String[][]}",
* and the parameterized type {@code List<Integer>} may return
* "{@code java.util.List<java.lang.Integer>}".
*
@@ -96,66 +100,66 @@
boolean isPrimitive();
/**
- * Return this type as a <code>ClassDoc</code> if it represents a class
+ * Return this type as a {@code ClassDoc} if it represents a class
* or interface. Array dimensions are ignored.
- * If this type is a <code>ParameterizedType</code>,
- * <code>TypeVariable</code>, or <code>WildcardType</code>, return
- * the <code>ClassDoc</code> of the type's erasure. If this is an
- * <code>AnnotationTypeDoc</code>, return this as a <code>ClassDoc</code>
+ * If this type is a {@code ParameterizedType},
+ * {@code TypeVariable}, or {@code WildcardType}, return
+ * the {@code ClassDoc} of the type's erasure. If this is an
+ * {@code AnnotationTypeDoc}, return this as a {@code ClassDoc}
* (but see {@link #asAnnotationTypeDoc()}).
* If this is a primitive type, return null.
*
- * @return the <code>ClassDoc</code> of this type,
+ * @return the {@code ClassDoc} of this type,
* or null if it is a primitive type.
*/
ClassDoc asClassDoc();
/**
- * Return this type as a <code>ParameterizedType</code> if it represents
+ * Return this type as a {@code ParameterizedType} if it represents
* an invocation of a generic class or interface. Array dimensions
* are ignored.
*
- * @return a <code>ParameterizedType</code> if the type is an
+ * @return a {@code ParameterizedType} if the type is an
* invocation of a generic type, or null if it is not.
* @since 1.5
*/
ParameterizedType asParameterizedType();
/**
- * Return this type as a <code>TypeVariable</code> if it represents
+ * Return this type as a {@code TypeVariable} if it represents
* a type variable. Array dimensions are ignored.
*
- * @return a <code>TypeVariable</code> if the type is a type variable,
+ * @return a {@code TypeVariable} if the type is a type variable,
* or null if it is not.
* @since 1.5
*/
TypeVariable asTypeVariable();
/**
- * Return this type as a <code>WildcardType</code> if it represents
+ * Return this type as a {@code WildcardType} if it represents
* a wildcard type.
*
- * @return a <code>WildcardType</code> if the type is a wildcard type,
+ * @return a {@code WildcardType} if the type is a wildcard type,
* or null if it is not.
* @since 1.5
*/
WildcardType asWildcardType();
/**
- * Returns this type as a <code>AnnotatedType</code> if it represents
+ * Returns this type as a {@code AnnotatedType} if it represents
* an annotated type.
*
- * @return a <code>AnnotatedType</code> if the type if an annotated type,
+ * @return a {@code AnnotatedType} if the type if an annotated type,
* or null if it is not
* @since 1.8
*/
AnnotatedType asAnnotatedType();
/**
- * Return this type as an <code>AnnotationTypeDoc</code> if it represents
+ * Return this type as an {@code AnnotationTypeDoc} if it represents
* an annotation type. Array dimensions are ignored.
*
- * @return an <code>AnnotationTypeDoc</code> if the type is an annotation
+ * @return an {@code AnnotationTypeDoc} if the type is an annotation
* type, or null if it is not.
* @since 1.5
*/
@@ -165,7 +169,7 @@
* If this type is an array type, return the element type of the
* array. Otherwise, return null.
*
- * @return a <code>Type</code> representing the element type or null.
+ * @return a {@code Type} representing the element type or null.
* @since 1.8
*/
Type getElementType();
diff --git a/langtools/src/share/classes/com/sun/javadoc/TypeVariable.java b/langtools/src/share/classes/com/sun/javadoc/TypeVariable.java
index 4212f20..90f57d4 100644
--- a/langtools/src/share/classes/com/sun/javadoc/TypeVariable.java
+++ b/langtools/src/share/classes/com/sun/javadoc/TypeVariable.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -59,6 +59,9 @@
/**
* Get the annotations of this program element.
* Return an empty array if there are none.
+ *
+ * @return the annotations of this program element or
+ * an empty array if there are none.
*/
public AnnotationDesc[] annotations();
diff --git a/langtools/src/share/classes/com/sun/javadoc/package-info.java b/langtools/src/share/classes/com/sun/javadoc/package-info.java
index 15a0fd1..100318f 100644
--- a/langtools/src/share/classes/com/sun/javadoc/package-info.java
+++ b/langtools/src/share/classes/com/sun/javadoc/package-info.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -53,8 +53,8 @@
When calling javadoc, you pass in package names and source file names --
these are called the <em>specified</em> packages and classes.
You also pass in Javadoc options; the <em>access control</em> Javadoc options
-(<code>-public</code>, <code>-protected</code>, <code>-package</code>,
-and <code>-private</code>) filter program elements, producing a
+({@code -public}, {@code -protected}, {@code -package},
+and {@code -private}) filter program elements, producing a
result set, called the <em>included</em> set, or "documented" set.
(The unfiltered set is also available through
{@link com.sun.javadoc.PackageDoc#allClasses(boolean) allClasses(false)}.)
@@ -78,45 +78,45 @@
<a name="qualified"></a>
A <em>qualified</em> class or interface name is one that has its package
-name prepended to it, such as <code>java.lang.String</code>. A non-qualified
-name has no package name, such as <code>String</code>.
+name prepended to it, such as {@code java.lang.String}. A non-qualified
+name has no package name, such as {@code String}.
<p>
<a name="example"></a>
<h3>Example</h3>
The following is an example doclet that
-displays information in the <code>@param</code> tags of the processed
+displays information in the {@code @param} tags of the processed
classes:
<pre>
import com.sun.javadoc.*;
-public class ListParams extends <font color=red title="Doclet API">Doclet</font> {
+public class ListParams extends <span style="color:red" >Doclet</span> {
- public static boolean start(<font color=red title="Doclet API">RootDoc</font> root) {
- <font color=red title="Doclet API">ClassDoc</font>[] classes = root.<font color=red title="Doclet API">classes</font>();
- for (int i = 0; i < classes.length; ++i) {
- <font color=red title="Doclet API">ClassDoc</font> cd = classes[i];
- printMembers(cd.<font color=red title="Doclet API">constructors</font>());
- printMembers(cd.<font color=red title="Doclet API">methods</font>());
+ public static boolean start(<span style="color:red" >RootDoc</span> root) {
+ <span style="color:red" >ClassDoc</span>[] classes = root.<span style="color:red" >classes</span>();
+ for (int i = 0; i < classes.length; ++i) {
+ <span style="color:red" >ClassDoc</span> cd = classes[i];
+ printMembers(cd.<span style="color:red" >constructors</span>());
+ printMembers(cd.<span style="color:red" >methods</span>());
}
return true;
}
- static void printMembers(<font color=red title="Doclet API">ExecutableMemberDoc</font>[] mems) {
- for (int i = 0; i < mems.length; ++i) {
- <font color=red title="Doclet API">ParamTag</font>[] params = mems[i].<font color=red title="Doclet API">paramTags</font>();
- System.out.println(mems[i].<font color=red title="Doclet API">qualifiedName</font>());
- for (int j = 0; j < params.length; ++j) {
- System.out.println(" " + params[j].<font color=red title="Doclet API">parameterName</font>()
- + " - " + params[j].<font color=red title="Doclet API">parameterComment</font>());
+ static void printMembers(<span style="color:red" >ExecutableMemberDoc</span>[] mems) {
+ for (int i = 0; i < mems.length; ++i) {
+ <span style="color:red" >ParamTag</span>[] params = mems[i].<span style="color:red" >paramTags</span>();
+ System.out.println(mems[i].<span style="color:red" >qualifiedName</span>());
+ for (int j = 0; j < params.length; ++j) {
+ System.out.println(" " + params[j].<span style="color:red" >parameterName</span>()
+ + " - " + params[j].<span style="color:red" >parameterComment</span>());
}
}
}
}
</pre>
Interfaces and methods from the Javadoc API are marked in
-<font color=red title="Doclet API">red</font>.
+<span style="color:red" >red</span>.
{@link com.sun.javadoc.Doclet Doclet} is an abstract class that specifies
the invocation interface for doclets,
{@link com.sun.javadoc.Doclet Doclet} holds class or interface information,
@@ -124,7 +124,7 @@
superinterface of {@link com.sun.javadoc.MethodDoc} and
{@link com.sun.javadoc.ConstructorDoc},
and {@link com.sun.javadoc.ParamTag} holds information
-from "<code>@param</code>" tags.
+from "{@code @param}" tags.
<p>
This doclet when invoked with a command line like:
<pre>
diff --git a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java
index db66e9a..bccbba1 100644
--- a/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java
@@ -1713,9 +1713,13 @@
//might be missing '>' character because the href has an inline tag.
break;
}
- if (textBuff.substring(begin, end).contains("\"")){
- begin = textBuff.indexOf("\"", begin) + 1;
- end = textBuff.indexOf("\"", begin +1);
+
+ String quote = textBuff.substring(begin, end);
+ quote = quote.contains("\"") ? "\"" :
+ quote.contains("\'") ? "\'" : null;
+ if (quote != null) {
+ begin = textBuff.indexOf(quote, begin) + 1;
+ end = textBuff.indexOf(quote, begin +1);
if (begin == 0 || end == -1){
//Link is missing a quote.
break;
diff --git a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTrees.java b/langtools/src/share/classes/com/sun/tools/javac/api/JavacTrees.java
index 7152f05..eb4b43f 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/api/JavacTrees.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/api/JavacTrees.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2014, 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
@@ -269,20 +269,7 @@
}
public JCTree getTree(Element element) {
- Symbol symbol = (Symbol) element;
- TypeSymbol enclosing = symbol.enclClass();
- Env<AttrContext> env = enter.getEnv(enclosing);
- if (env == null)
- return null;
- JCClassDecl classNode = env.enclClass;
- if (classNode != null) {
- if (TreeInfo.symbolFor(classNode) == element)
- return classNode;
- for (JCTree node : classNode.getMembers())
- if (TreeInfo.symbolFor(node) == element)
- return node;
- }
- return null;
+ return getTree(element, null);
}
public JCTree getTree(Element e, AnnotationMirror a) {
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Source.java b/langtools/src/share/classes/com/sun/tools/javac/code/Source.java
index 08c13b6..ded0bb4 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Source.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Source.java
@@ -207,9 +207,6 @@
public boolean allowDefaultMethods() {
return compareTo(JDK1_8) >= 0;
}
- public boolean allowDefaultMethodsResolution() {
- return compareTo(JDK1_7) >= 0;
- }
public boolean allowStaticInterfaceMethods() {
return compareTo(JDK1_8) >= 0;
}
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java
index fe0b39a..cd1383b 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java
@@ -25,8 +25,12 @@
package com.sun.tools.javac.comp;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.Map;
+import javax.tools.JavaFileObject;
+
import com.sun.tools.javac.util.*;
import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
import com.sun.tools.javac.code.*;
@@ -34,6 +38,7 @@
import com.sun.tools.javac.tree.*;
import com.sun.tools.javac.tree.JCTree.*;
+import static com.sun.tools.javac.code.Kinds.*;
import static com.sun.tools.javac.code.TypeTag.ARRAY;
import static com.sun.tools.javac.code.TypeTag.CLASS;
import static com.sun.tools.javac.tree.JCTree.Tag.*;
@@ -57,15 +62,21 @@
return instance;
}
- final Attr attr;
- final TreeMaker make;
- final Log log;
- final Symtab syms;
- final Names names;
- final Resolve rs;
- final Types types;
- final ConstFold cfolder;
- final Check chk;
+ private final Attr attr;
+ private final TreeMaker make;
+ private final Log log;
+ private final Symtab syms;
+ private final Names names;
+ private final Resolve rs;
+ private final Types types;
+ private final ConstFold cfolder;
+ private final Check chk;
+ private final Lint lint;
+ private final DeferredLintHandler deferredLintHandler;
+ private final Source source;
+
+ private boolean allowTypeAnnos;
+ private boolean allowRepeatedAnnos;
protected Annotate(Context context) {
context.put(annotateKey, this);
@@ -78,6 +89,11 @@
types = Types.instance(context);
cfolder = ConstFold.instance(context);
chk = Check.instance(context);
+ source = Source.instance(context);
+ lint = Lint.instance(context);
+ deferredLintHandler = DeferredLintHandler.instance(context);
+ allowRepeatedAnnos = source.allowRepeatedAnnotations();
+ allowTypeAnnos = source.allowTypeAnnotations();
}
/* ********************************************************************
@@ -669,4 +685,258 @@
return fatalError ? null : containerValueSymbol;
}
+
+/* ********************************************************************
+ * Annotation processing
+ *********************************************************************/
+
+ /** Queue annotations for later processing. */
+ void annotateLater(final List<JCAnnotation> annotations,
+ final Env<AttrContext> localEnv,
+ final Symbol s,
+ final DiagnosticPosition deferPos) {
+ if (annotations.isEmpty()) {
+ return;
+ }
+ if (s.kind != PCK) {
+ s.resetAnnotations(); // mark Annotations as incomplete for now
+ }
+ normal(new Annotate.Worker() {
+ @Override
+ public String toString() {
+ return "annotate " + annotations + " onto " + s + " in " + s.owner;
+ }
+
+ @Override
+ public void run() {
+ Assert.check(s.kind == PCK || s.annotationsPendingCompletion());
+ JavaFileObject prev = log.useSource(localEnv.toplevel.sourcefile);
+ DiagnosticPosition prevLintPos =
+ deferPos != null
+ ? deferredLintHandler.setPos(deferPos)
+ : deferredLintHandler.immediate();
+ Lint prevLint = deferPos != null ? null : chk.setLint(lint);
+ try {
+ if (s.hasAnnotations() &&
+ annotations.nonEmpty())
+ log.error(annotations.head.pos,
+ "already.annotated",
+ kindName(s), s);
+ actualEnterAnnotations(annotations, localEnv, s);
+ } finally {
+ if (prevLint != null)
+ chk.setLint(prevLint);
+ deferredLintHandler.setPos(prevLintPos);
+ log.useSource(prev);
+ }
+ }
+ });
+
+ validate(new Annotate.Worker() { //validate annotations
+ @Override
+ public void run() {
+ JavaFileObject prev = log.useSource(localEnv.toplevel.sourcefile);
+ try {
+ chk.validateAnnotations(annotations, s);
+ } finally {
+ log.useSource(prev);
+ }
+ }
+ });
+ }
+
+ /** Enter a set of annotations. */
+ private void actualEnterAnnotations(List<JCAnnotation> annotations,
+ Env<AttrContext> env,
+ Symbol s) {
+ Map<TypeSymbol, ListBuffer<Attribute.Compound>> annotated = new LinkedHashMap<>();
+ Map<Attribute.Compound, DiagnosticPosition> pos = new HashMap<>();
+
+ for (List<JCAnnotation> al = annotations; !al.isEmpty(); al = al.tail) {
+ JCAnnotation a = al.head;
+ Attribute.Compound c = enterAnnotation(a, syms.annotationType, env);
+ if (c == null) {
+ continue;
+ }
+
+ if (annotated.containsKey(a.type.tsym)) {
+ if (!allowRepeatedAnnos) {
+ log.error(a.pos(), "repeatable.annotations.not.supported.in.source");
+ allowRepeatedAnnos = true;
+ }
+ ListBuffer<Attribute.Compound> l = annotated.get(a.type.tsym);
+ l = l.append(c);
+ annotated.put(a.type.tsym, l);
+ pos.put(c, a.pos());
+ } else {
+ annotated.put(a.type.tsym, ListBuffer.of(c));
+ pos.put(c, a.pos());
+ }
+
+ // Note: @Deprecated has no effect on local variables and parameters
+ if (!c.type.isErroneous()
+ && s.owner.kind != MTH
+ && types.isSameType(c.type, syms.deprecatedType)) {
+ s.flags_field |= Flags.DEPRECATED;
+ }
+ }
+
+ s.setDeclarationAttributesWithCompletion(
+ new AnnotateRepeatedContext<>(env, annotated, pos, log, false));
+ }
+
+ /*
+ * If the symbol is non-null, attach the type annotation to it.
+ */
+ private void actualEnterTypeAnnotations(final List<JCAnnotation> annotations,
+ final Env<AttrContext> env,
+ final Symbol s,
+ final DiagnosticPosition deferPos) {
+ Map<TypeSymbol, ListBuffer<Attribute.TypeCompound>> annotated = new LinkedHashMap<>();
+ Map<Attribute.TypeCompound, DiagnosticPosition> pos = new HashMap<>();
+
+ JavaFileObject prev = log.useSource(env.toplevel.sourcefile);
+ DiagnosticPosition prevLintPos = null;
+
+ if (deferPos != null) {
+ prevLintPos = deferredLintHandler.setPos(deferPos);
+ }
+ try {
+
+ for (List<JCAnnotation> al = annotations; !al.isEmpty(); al = al.tail) {
+ JCAnnotation a = al.head;
+ Attribute.TypeCompound tc =
+ enterTypeAnnotation(a, syms.annotationType, env);
+
+ if (tc == null) {
+ continue;
+ }
+
+ if (annotated.containsKey(a.type.tsym)) {
+ if (!allowRepeatedAnnos) {
+ log.error(a.pos(), "repeatable.annotations.not.supported.in.source");
+ allowRepeatedAnnos = true;
+ }
+ ListBuffer<Attribute.TypeCompound> l = annotated.get(a.type.tsym);
+ l = l.append(tc);
+ annotated.put(a.type.tsym, l);
+ pos.put(tc, a.pos());
+ } else {
+ annotated.put(a.type.tsym, ListBuffer.of(tc));
+ pos.put(tc, a.pos());
+ }
+ }
+
+ if (s != null) {
+ s.appendTypeAttributesWithCompletion(
+ new AnnotateRepeatedContext<>(env, annotated, pos, log, true));
+ }
+ } finally {
+ if (prevLintPos != null)
+ deferredLintHandler.setPos(prevLintPos);
+ log.useSource(prev);
+ }
+ }
+
+ public void annotateTypeLater(final JCTree tree,
+ final Env<AttrContext> env,
+ final Symbol sym,
+ final DiagnosticPosition deferPos) {
+ Assert.checkNonNull(sym);
+ normal(new Annotate.Worker() {
+ @Override
+ public String toString() {
+ return "type annotate " + tree + " onto " + sym + " in " + sym.owner;
+ }
+ @Override
+ public void run() {
+ tree.accept(new TypeAnnotate(env, sym, deferPos));
+ }
+ });
+ }
+
+ /**
+ * We need to use a TreeScanner, because it is not enough to visit the top-level
+ * annotations. We also need to visit type arguments, etc.
+ */
+ private class TypeAnnotate extends TreeScanner {
+ private final Env<AttrContext> env;
+ private final Symbol sym;
+ private DiagnosticPosition deferPos;
+
+ public TypeAnnotate(final Env<AttrContext> env,
+ final Symbol sym,
+ final DiagnosticPosition deferPos) {
+
+ this.env = env;
+ this.sym = sym;
+ this.deferPos = deferPos;
+ }
+
+ @Override
+ public void visitAnnotatedType(final JCAnnotatedType tree) {
+ actualEnterTypeAnnotations(tree.annotations, env, sym, deferPos);
+ super.visitAnnotatedType(tree);
+ }
+
+ @Override
+ public void visitTypeParameter(final JCTypeParameter tree) {
+ actualEnterTypeAnnotations(tree.annotations, env, sym, deferPos);
+ super.visitTypeParameter(tree);
+ }
+
+ @Override
+ public void visitNewArray(final JCNewArray tree) {
+ actualEnterTypeAnnotations(tree.annotations, env, sym, deferPos);
+ for (List<JCAnnotation> dimAnnos : tree.dimAnnotations)
+ actualEnterTypeAnnotations(dimAnnos, env, sym, deferPos);
+ super.visitNewArray(tree);
+ }
+
+ @Override
+ public void visitMethodDef(final JCMethodDecl tree) {
+ scan(tree.mods);
+ scan(tree.restype);
+ scan(tree.typarams);
+ scan(tree.recvparam);
+ scan(tree.params);
+ scan(tree.thrown);
+ scan(tree.defaultValue);
+ // Do not annotate the body, just the signature.
+ // scan(tree.body);
+ }
+
+ @Override
+ public void visitVarDef(final JCVariableDecl tree) {
+ DiagnosticPosition prevPos = deferPos;
+ deferPos = tree.pos();
+ try {
+ if (sym != null && sym.kind == Kinds.VAR) {
+ // Don't visit a parameter once when the sym is the method
+ // and once when the sym is the parameter.
+ scan(tree.mods);
+ scan(tree.vartype);
+ }
+ scan(tree.init);
+ } finally {
+ deferPos = prevPos;
+ }
+ }
+
+ @Override
+ public void visitClassDef(JCClassDecl tree) {
+ // We can only hit a classdef if it is declared within
+ // a method. Ignore it - the class will be visited
+ // separately later.
+ }
+
+ @Override
+ public void visitNewClass(JCNewClass tree) {
+ if (tree.def == null) {
+ // For an anonymous class instantiation the class
+ // will be visited separately.
+ super.visitNewClass(tree);
+ }
+ }
+ }
}
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
index d8841c3..1ab10af 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
@@ -248,7 +248,7 @@
if (!owntype.hasTag(ERROR) && !resultInfo.pt.hasTag(METHOD) && !resultInfo.pt.hasTag(FORALL)) {
if (allowPoly && inferenceContext.free(found)) {
if ((ownkind & ~resultInfo.pkind) == 0) {
- owntype = resultInfo.check(tree, inferenceContext.asFree(owntype));
+ owntype = resultInfo.check(tree, inferenceContext.asUndetVar(owntype));
} else {
log.error(tree.pos(), "unexpected.type",
kindNames(resultInfo.pkind),
@@ -769,13 +769,6 @@
= deferredLintHandler.setPos(variable.pos());
try {
- // Use null as symbol to not attach the type annotation to any symbol.
- // The initializer will later also be visited and then we'll attach
- // to the symbol.
- // This prevents having multiple type annotations, just because of
- // lazy constant value evaluation.
- memberEnter.typeAnnotate(variable.init, env, null, variable.pos());
- annotate.flush();
Type itype = attribExpr(variable.init, env, type);
if (itype.constValue() != null) {
return coerce(itype, type).constValue();
@@ -1021,7 +1014,7 @@
}
// Attribute all type annotations in the body
- memberEnter.typeAnnotate(tree.body, localEnv, m, null);
+ annotate.annotateTypeLater(tree.body, localEnv, m, null);
annotate.flush();
// Attribute method body.
@@ -1050,7 +1043,7 @@
} else {
if (tree.init != null) {
// Field initializer expression need to be entered.
- memberEnter.typeAnnotate(tree.init, env, tree.sym, tree.pos());
+ annotate.annotateTypeLater(tree.init, env, tree.sym, tree.pos());
annotate.flush();
}
}
@@ -1111,7 +1104,7 @@
if ((tree.flags & STATIC) != 0) localEnv.info.staticLevel++;
// Attribute all type annotations in the block
- memberEnter.typeAnnotate(tree, localEnv, localEnv.info.scope.owner, null);
+ annotate.annotateTypeLater(tree, localEnv, localEnv.info.scope.owner, null);
annotate.flush();
{
@@ -2406,7 +2399,7 @@
//add thrown types as bounds to the thrown types free variables if needed:
if (resultInfo.checkContext.inferenceContext().free(lambdaType.getThrownTypes())) {
List<Type> inferredThrownTypes = flow.analyzeLambdaThrownTypes(env, that, make);
- List<Type> thrownTypes = resultInfo.checkContext.inferenceContext().asFree(lambdaType.getThrownTypes());
+ List<Type> thrownTypes = resultInfo.checkContext.inferenceContext().asUndetVars(lambdaType.getThrownTypes());
chk.unhandled(inferredThrownTypes, thrownTypes);
}
@@ -2547,7 +2540,7 @@
@Override
public boolean compatible(Type found, Type req, Warner warn) {
//return type must be compatible in both current context and assignment context
- return chk.basicHandler.compatible(found, inferenceContext().asFree(req), warn);
+ return chk.basicHandler.compatible(found, inferenceContext().asUndetVar(req), warn);
}
@Override
@@ -2580,7 +2573,7 @@
* types must be compatible with the return type of the expected descriptor.
*/
private void checkLambdaCompatible(JCLambda tree, Type descriptor, CheckContext checkContext) {
- Type returnType = checkContext.inferenceContext().asFree(descriptor.getReturnType());
+ Type returnType = checkContext.inferenceContext().asUndetVar(descriptor.getReturnType());
//return values have already been checked - but if lambda has no return
//values, we must ensure that void/value compatibility is correct;
@@ -2592,7 +2585,7 @@
diags.fragment("missing.ret.val", returnType)));
}
- List<Type> argTypes = checkContext.inferenceContext().asFree(descriptor.getParameterTypes());
+ List<Type> argTypes = checkContext.inferenceContext().asUndetVars(descriptor.getParameterTypes());
if (!types.isSameTypes(argTypes, TreeInfo.types(tree.params))) {
checkContext.report(tree, diags.fragment("incompatible.arg.types.in.lambda"));
}
@@ -2836,7 +2829,7 @@
if (that.kind.isUnbound() &&
resultInfo.checkContext.inferenceContext().free(argtypes.head)) {
//re-generate inference constraints for unbound receiver
- if (!types.isSubtype(resultInfo.checkContext.inferenceContext().asFree(argtypes.head), exprType)) {
+ if (!types.isSubtype(resultInfo.checkContext.inferenceContext().asUndetVar(argtypes.head), exprType)) {
//cannot happen as this has already been checked - we just need
//to regenerate the inference constraints, as that has been lost
//as a result of the call to inferenceContext.save()
@@ -2874,7 +2867,7 @@
@SuppressWarnings("fallthrough")
void checkReferenceCompatible(JCMemberReference tree, Type descriptor, Type refType, CheckContext checkContext, boolean speculativeAttr) {
- Type returnType = checkContext.inferenceContext().asFree(descriptor.getReturnType());
+ Type returnType = checkContext.inferenceContext().asUndetVar(descriptor.getReturnType());
Type resType;
switch (tree.getMode()) {
@@ -2906,7 +2899,7 @@
}
if (!speculativeAttr) {
- List<Type> thrownTypes = checkContext.inferenceContext().asFree(descriptor.getThrownTypes());
+ List<Type> thrownTypes = checkContext.inferenceContext().asUndetVars(descriptor.getThrownTypes());
if (chk.unhandled(refType.getThrownTypes(), thrownTypes).nonEmpty()) {
log.error(tree, "incompatible.thrown.types.in.mref", refType.getThrownTypes());
}
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
index e44c6dd..1bec67e8 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
@@ -1705,7 +1705,12 @@
// Warn if a deprecated method overridden by a non-deprecated one.
if (!isDeprecatedOverrideIgnorable(other, origin)) {
- checkDeprecated(TreeInfo.diagnosticPositionFor(m, tree), m, other);
+ Lint prevLint = setLint(lint.augment(m));
+ try {
+ checkDeprecated(TreeInfo.diagnosticPositionFor(m, tree), m, other);
+ } finally {
+ setLint(prevLint);
+ }
}
}
// where
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java
index 125eb12..7fa54fc 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -219,9 +219,10 @@
*/
Type generateReturnConstraints(Attr.ResultInfo resultInfo,
MethodType mt, InferenceContext inferenceContext) {
+ InferenceContext rsInfoInfContext = resultInfo.checkContext.inferenceContext();
Type from = mt.getReturnType();
if (mt.getReturnType().containsAny(inferenceContext.inferencevars) &&
- resultInfo.checkContext.inferenceContext() != emptyContext) {
+ rsInfoInfContext != emptyContext) {
from = types.capture(from);
//add synthetic captured ivars
for (Type t : from.getTypeArguments()) {
@@ -230,13 +231,13 @@
}
}
}
- Type qtype1 = inferenceContext.asFree(from);
+ Type qtype1 = inferenceContext.asUndetVar(from);
Type to = returnConstraintTarget(qtype1, resultInfo.pt);
- Assert.check(allowGraphInference || !resultInfo.checkContext.inferenceContext().free(to),
+ Assert.check(allowGraphInference || !rsInfoInfContext.free(to),
"legacy inference engine cannot handle constraints on both sides of a subtyping assertion");
//we need to skip capture?
Warner retWarn = new Warner();
- if (!resultInfo.checkContext.compatible(qtype1, resultInfo.checkContext.inferenceContext().asFree(to), retWarn) ||
+ if (!resultInfo.checkContext.compatible(qtype1, rsInfoInfContext.asUndetVar(to), retWarn) ||
//unchecked conversion is not allowed in source 7 mode
(!allowGraphInference && retWarn.hasLint(Lint.LintCategory.UNCHECKED))) {
throw inferenceException
@@ -279,7 +280,7 @@
ListBuffer<Type> todo = new ListBuffer<>();
//step 1 - create fresh tvars
for (Type t : vars) {
- UndetVar uv = (UndetVar)inferenceContext.asFree(t);
+ UndetVar uv = (UndetVar)inferenceContext.asUndetVar(t);
List<Type> upperBounds = uv.getBounds(InferenceBound.UPPER);
if (Type.containsAny(upperBounds, vars)) {
TypeSymbol fresh_tvar = new TypeVariableSymbol(Flags.SYNTHETIC, uv.qtype.tsym.name, null, uv.qtype.tsym.owner);
@@ -398,7 +399,7 @@
return types.createErrorType(funcInterface);
}
for (Type p : descParameterTypes) {
- if (!types.isSameType(funcInterfaceContext.asFree(p), paramTypes.head)) {
+ if (!types.isSameType(funcInterfaceContext.asUndetVar(p), paramTypes.head)) {
checkContext.report(pos, diags.fragment("no.suitable.functional.intf.inst", funcInterface));
return types.createErrorType(funcInterface);
}
@@ -532,22 +533,23 @@
if (uv.inst != null) {
Type inst = uv.inst;
for (Type u : uv.getBounds(InferenceBound.UPPER)) {
- if (!isSubtype(inst, inferenceContext.asFree(u), warn, infer)) {
+ if (!isSubtype(inst, inferenceContext.asUndetVar(u), warn, infer)) {
infer.reportBoundError(uv, BoundErrorKind.UPPER);
}
}
for (Type l : uv.getBounds(InferenceBound.LOWER)) {
- if (!isSubtype(inferenceContext.asFree(l), inst, warn, infer)) {
+ if (!isSubtype(inferenceContext.asUndetVar(l), inst, warn, infer)) {
infer.reportBoundError(uv, BoundErrorKind.LOWER);
}
}
for (Type e : uv.getBounds(InferenceBound.EQ)) {
- if (!isSameType(inst, inferenceContext.asFree(e), infer)) {
+ if (!isSameType(inst, inferenceContext.asUndetVar(e), infer)) {
infer.reportBoundError(uv, BoundErrorKind.EQ);
}
}
}
}
+
@Override
boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
//applies to all undetvars
@@ -583,27 +585,38 @@
}
}
}
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() && uv.getBounds(InferenceBound.EQ).nonEmpty();
+ }
},
/**
* Check consistency of equality constraints.
*/
EQ_CHECK() {
+ @Override
public void apply(UndetVar uv, InferenceContext inferenceContext, Warner warn) {
Infer infer = inferenceContext.infer();
for (Type e : uv.getBounds(InferenceBound.EQ)) {
if (e.containsAny(inferenceContext.inferenceVars())) continue;
for (Type u : uv.getBounds(InferenceBound.UPPER)) {
- if (!isSubtype(e, inferenceContext.asFree(u), warn, infer)) {
+ if (!isSubtype(e, inferenceContext.asUndetVar(u), warn, infer)) {
infer.reportBoundError(uv, BoundErrorKind.BAD_EQ_UPPER);
}
}
for (Type l : uv.getBounds(InferenceBound.LOWER)) {
- if (!isSubtype(inferenceContext.asFree(l), e, warn, infer)) {
+ if (!isSubtype(inferenceContext.asUndetVar(l), e, warn, infer)) {
infer.reportBoundError(uv, BoundErrorKind.BAD_EQ_LOWER);
}
}
}
}
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() && uv.getBounds(InferenceBound.EQ).nonEmpty();
+ }
},
/**
* Given a bound set containing {@code alpha <: T} and {@code alpha :> S}
@@ -614,10 +627,17 @@
Infer infer = inferenceContext.infer();
for (Type b1 : uv.getBounds(InferenceBound.UPPER)) {
for (Type b2 : uv.getBounds(InferenceBound.LOWER)) {
- isSubtype(inferenceContext.asFree(b2), inferenceContext.asFree(b1), warn , infer);
+ isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn , infer);
}
}
}
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() &&
+ uv.getBounds(InferenceBound.UPPER).nonEmpty() &&
+ uv.getBounds(InferenceBound.LOWER).nonEmpty();
+ }
},
/**
* Given a bound set containing {@code alpha <: T} and {@code alpha == S}
@@ -628,10 +648,17 @@
Infer infer = inferenceContext.infer();
for (Type b1 : uv.getBounds(InferenceBound.UPPER)) {
for (Type b2 : uv.getBounds(InferenceBound.EQ)) {
- isSubtype(inferenceContext.asFree(b2), inferenceContext.asFree(b1), warn, infer);
+ isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer);
}
}
}
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() &&
+ uv.getBounds(InferenceBound.EQ).nonEmpty() &&
+ uv.getBounds(InferenceBound.UPPER).nonEmpty();
+ }
},
/**
* Given a bound set containing {@code alpha :> S} and {@code alpha == T}
@@ -642,10 +669,17 @@
Infer infer = inferenceContext.infer();
for (Type b1 : uv.getBounds(InferenceBound.EQ)) {
for (Type b2 : uv.getBounds(InferenceBound.LOWER)) {
- isSubtype(inferenceContext.asFree(b2), inferenceContext.asFree(b1), warn, infer);
+ isSubtype(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), warn, infer);
}
}
}
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() &&
+ uv.getBounds(InferenceBound.EQ).nonEmpty() &&
+ uv.getBounds(InferenceBound.LOWER).nonEmpty();
+ }
},
/**
* Given a bound set containing {@code alpha == S} and {@code alpha == T}
@@ -657,11 +691,17 @@
for (Type b1 : uv.getBounds(InferenceBound.EQ)) {
for (Type b2 : uv.getBounds(InferenceBound.EQ)) {
if (b1 != b2) {
- isSameType(inferenceContext.asFree(b2), inferenceContext.asFree(b1), infer);
+ isSameType(inferenceContext.asUndetVar(b2), inferenceContext.asUndetVar(b1), infer);
}
}
}
}
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() &&
+ uv.getBounds(InferenceBound.EQ).nonEmpty();
+ }
},
/**
* Given a bound set containing {@code alpha <: beta} propagate lower bounds
@@ -672,7 +712,7 @@
Infer infer = inferenceContext.infer();
for (Type b : uv.getBounds(InferenceBound.UPPER)) {
if (inferenceContext.inferenceVars().contains(b)) {
- UndetVar uv2 = (UndetVar)inferenceContext.asFree(b);
+ UndetVar uv2 = (UndetVar)inferenceContext.asUndetVar(b);
if (uv2.isCaptured()) continue;
//alpha <: beta
//0. set beta :> alpha
@@ -688,6 +728,12 @@
}
}
}
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() &&
+ uv.getBounds(InferenceBound.UPPER).nonEmpty();
+ }
},
/**
* Given a bound set containing {@code alpha :> beta} propagate lower bounds
@@ -698,7 +744,7 @@
Infer infer = inferenceContext.infer();
for (Type b : uv.getBounds(InferenceBound.LOWER)) {
if (inferenceContext.inferenceVars().contains(b)) {
- UndetVar uv2 = (UndetVar)inferenceContext.asFree(b);
+ UndetVar uv2 = (UndetVar)inferenceContext.asUndetVar(b);
if (uv2.isCaptured()) continue;
//alpha :> beta
//0. set beta <: alpha
@@ -714,6 +760,12 @@
}
}
}
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() &&
+ uv.getBounds(InferenceBound.LOWER).nonEmpty();
+ }
},
/**
* Given a bound set containing {@code alpha == beta} propagate lower/upper
@@ -724,7 +776,7 @@
Infer infer = inferenceContext.infer();
for (Type b : uv.getBounds(InferenceBound.EQ)) {
if (inferenceContext.inferenceVars().contains(b)) {
- UndetVar uv2 = (UndetVar)inferenceContext.asFree(b);
+ UndetVar uv2 = (UndetVar)inferenceContext.asUndetVar(b);
if (uv2.isCaptured()) continue;
//alpha == beta
//0. set beta == alpha
@@ -748,6 +800,12 @@
}
}
}
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() &&
+ uv.getBounds(InferenceBound.EQ).nonEmpty();
+ }
};
abstract void apply(UndetVar uv, InferenceContext inferenceContext, Warner warn);
@@ -1470,7 +1528,7 @@
StringBuilder buf = new StringBuilder();
String sep = "";
for (Type from : data) {
- UndetVar uv = (UndetVar)inferenceContext.asFree(from);
+ UndetVar uv = (UndetVar)inferenceContext.asUndetVar(from);
for (Type bound : uv.getBounds(InferenceBound.values())) {
if (bound.containsAny(List.from(to.data))) {
buf.append(sep);
@@ -1679,7 +1737,7 @@
Set<Type> optDepsByNode = stuckDeps.get(i);
for (Node n_j : nodes) {
Type j = n_j.data.first();
- UndetVar uv_i = (UndetVar)inferenceContext.asFree(i);
+ UndetVar uv_i = (UndetVar)inferenceContext.asUndetVar(i);
if (Type.containsAny(uv_i.getBounds(InferenceBound.values()), List.of(j))) {
//update i's bound dependencies
n_i.addDependency(DependencyKind.BOUND, n_j);
@@ -1827,6 +1885,8 @@
});
}
+ /* Returns the corresponding inference variables.
+ */
private List<Type> filterVars(Filter<UndetVar> fu) {
ListBuffer<Type> res = new ListBuffer<>();
for (Type t : undetvars) {
@@ -1884,14 +1944,14 @@
* undet vars (used ahead of subtyping/compatibility checks to allow propagation
* of inference constraints).
*/
- final Type asFree(Type t) {
+ final Type asUndetVar(Type t) {
return types.subst(t, inferencevars, undetvars);
}
- final List<Type> asFree(List<Type> ts) {
+ final List<Type> asUndetVars(List<Type> ts) {
ListBuffer<Type> buf = new ListBuffer<>();
for (Type t : ts) {
- buf.append(asFree(t));
+ buf.append(asUndetVar(t));
}
return buf.toList();
}
@@ -2067,7 +2127,7 @@
private boolean solveBasic(List<Type> varsToSolve, EnumSet<InferenceStep> steps) {
boolean changed = false;
for (Type t : varsToSolve.intersect(restvars())) {
- UndetVar uv = (UndetVar)asFree(t);
+ UndetVar uv = (UndetVar)asUndetVar(t);
for (InferenceStep step : steps) {
if (step.accepts(uv, this)) {
uv.inst = step.solve(uv, this);
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java b/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java
index 8db1411..3e002c7 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java
@@ -113,15 +113,12 @@
deferredLintHandler = DeferredLintHandler.instance(context);
lint = Lint.instance(context);
allowTypeAnnos = source.allowTypeAnnotations();
- allowRepeatedAnnos = source.allowRepeatedAnnotations();
}
/** Switch: support type annotations.
*/
boolean allowTypeAnnos;
- boolean allowRepeatedAnnos;
-
/** A queue for classes whose members still need to be entered into the
* symbol table.
*/
@@ -512,7 +509,7 @@
}
// process package annotations
- annotateLater(tree.packageAnnotations, env, tree.packge, null);
+ annotate.annotateLater(tree.packageAnnotations, env, tree.packge, null);
DiagnosticPosition prevLintPos = deferredLintHandler.immediate();
Lint prevLint = chk.setLint(lint);
@@ -607,10 +604,10 @@
enclScope.enter(m);
}
- annotateLater(tree.mods.annotations, localEnv, m, tree.pos());
+ annotate.annotateLater(tree.mods.annotations, localEnv, m, tree.pos());
// Visit the signature of the method. Note that
// TypeAnnotate doesn't descend into the body.
- typeAnnotate(tree, localEnv, m, tree.pos());
+ annotate.annotateTypeLater(tree, localEnv, m, tree.pos());
if (tree.defaultValue != null)
annotateDefaultValueLater(tree.defaultValue, localEnv, m);
@@ -700,8 +697,8 @@
chk.checkTransparentVar(tree.pos(), v, enclScope);
enclScope.enter(v);
}
- annotateLater(tree.mods.annotations, localEnv, v, tree.pos());
- typeAnnotate(tree.vartype, env, v, tree.pos());
+ annotate.annotateLater(tree.mods.annotations, localEnv, v, tree.pos());
+ annotate.annotateTypeLater(tree.vartype, env, v, tree.pos());
v.pos = tree.pos;
} finally {
annotate.enterDone();
@@ -838,65 +835,6 @@
}
}
-/* ********************************************************************
- * Annotation processing
- *********************************************************************/
-
- /** Queue annotations for later processing. */
- void annotateLater(final List<JCAnnotation> annotations,
- final Env<AttrContext> localEnv,
- final Symbol s,
- final DiagnosticPosition deferPos) {
- if (annotations.isEmpty()) {
- return;
- }
- if (s.kind != PCK) {
- s.resetAnnotations(); // mark Annotations as incomplete for now
- }
- annotate.normal(new Annotate.Worker() {
- @Override
- public String toString() {
- return "annotate " + annotations + " onto " + s + " in " + s.owner;
- }
-
- @Override
- public void run() {
- Assert.check(s.kind == PCK || s.annotationsPendingCompletion());
- JavaFileObject prev = log.useSource(localEnv.toplevel.sourcefile);
- DiagnosticPosition prevLintPos =
- deferPos != null
- ? deferredLintHandler.setPos(deferPos)
- : deferredLintHandler.immediate();
- Lint prevLint = deferPos != null ? null : chk.setLint(lint);
- try {
- if (s.hasAnnotations() &&
- annotations.nonEmpty())
- log.error(annotations.head.pos,
- "already.annotated",
- kindName(s), s);
- actualEnterAnnotations(annotations, localEnv, s);
- } finally {
- if (prevLint != null)
- chk.setLint(prevLint);
- deferredLintHandler.setPos(prevLintPos);
- log.useSource(prev);
- }
- }
- });
-
- annotate.validate(new Annotate.Worker() { //validate annotations
- @Override
- public void run() {
- JavaFileObject prev = log.useSource(localEnv.toplevel.sourcefile);
- try {
- chk.validateAnnotations(annotations, s);
- } finally {
- log.useSource(prev);
- }
- }
- });
- }
-
/**
* Check if a list of annotations contains a reference to
* java.lang.Deprecated.
@@ -910,48 +848,6 @@
return false;
}
- /** Enter a set of annotations. */
- private void actualEnterAnnotations(List<JCAnnotation> annotations,
- Env<AttrContext> env,
- Symbol s) {
- Map<TypeSymbol, ListBuffer<Attribute.Compound>> annotated = new LinkedHashMap<>();
- Map<Attribute.Compound, DiagnosticPosition> pos = new HashMap<>();
-
- for (List<JCAnnotation> al = annotations; !al.isEmpty(); al = al.tail) {
- JCAnnotation a = al.head;
- Attribute.Compound c = annotate.enterAnnotation(a,
- syms.annotationType,
- env);
- if (c == null) {
- continue;
- }
-
- if (annotated.containsKey(a.type.tsym)) {
- if (!allowRepeatedAnnos) {
- log.error(a.pos(), "repeatable.annotations.not.supported.in.source");
- allowRepeatedAnnos = true;
- }
- ListBuffer<Attribute.Compound> l = annotated.get(a.type.tsym);
- l = l.append(c);
- annotated.put(a.type.tsym, l);
- pos.put(c, a.pos());
- } else {
- annotated.put(a.type.tsym, ListBuffer.of(c));
- pos.put(c, a.pos());
- }
-
- // Note: @Deprecated has no effect on local variables and parameters
- if (!c.type.isErroneous()
- && s.owner.kind != MTH
- && types.isSameType(c.type, syms.deprecatedType)) {
- s.flags_field |= Flags.DEPRECATED;
- }
- }
-
- s.setDeclarationAttributesWithCompletion(
- annotate.new AnnotateRepeatedContext<>(env, annotated, pos, log, false));
- }
-
/** Queue processing of an attribute default value. */
void annotateDefaultValueLater(final JCExpression defaultValue,
final Env<AttrContext> localEnv,
@@ -1043,9 +939,9 @@
Env<AttrContext> baseEnv = baseEnv(tree, env);
if (tree.extending != null)
- typeAnnotate(tree.extending, baseEnv, sym, tree.pos());
+ annotate.annotateTypeLater(tree.extending, baseEnv, sym, tree.pos());
for (JCExpression impl : tree.implementing)
- typeAnnotate(impl, baseEnv, sym, tree.pos());
+ annotate.annotateTypeLater(impl, baseEnv, sym, tree.pos());
annotate.flush();
// Determine supertype.
@@ -1106,7 +1002,7 @@
attr.attribAnnotationTypes(tree.mods.annotations, baseEnv);
if (hasDeprecatedAnnotation(tree.mods.annotations))
c.flags_field |= DEPRECATED;
- annotateLater(tree.mods.annotations, baseEnv, c, tree.pos());
+ annotate.annotateLater(tree.mods.annotations, baseEnv, c, tree.pos());
// class type parameters use baseEnv but everything uses env
chk.checkNonCyclicDecl(tree);
@@ -1114,7 +1010,7 @@
attr.attribTypeVariables(tree.typarams, baseEnv);
// Do this here, where we have the symbol.
for (JCTypeParameter tp : tree.typarams)
- typeAnnotate(tp, baseEnv, sym, tree.pos());
+ annotate.annotateTypeLater(tp, baseEnv, sym, tree.pos());
// Add default constructor if needed.
if ((c.flags() & INTERFACE) == 0 &&
@@ -1205,165 +1101,6 @@
}
}
- /*
- * If the symbol is non-null, attach the type annotation to it.
- */
- private void actualEnterTypeAnnotations(final List<JCAnnotation> annotations,
- final Env<AttrContext> env,
- final Symbol s) {
- Map<TypeSymbol, ListBuffer<Attribute.TypeCompound>> annotated = new LinkedHashMap<>();
- Map<Attribute.TypeCompound, DiagnosticPosition> pos = new HashMap<>();
-
- for (List<JCAnnotation> al = annotations; !al.isEmpty(); al = al.tail) {
- JCAnnotation a = al.head;
- Attribute.TypeCompound tc = annotate.enterTypeAnnotation(a,
- syms.annotationType,
- env);
- if (tc == null) {
- continue;
- }
-
- if (annotated.containsKey(a.type.tsym)) {
- if (source.allowRepeatedAnnotations()) {
- ListBuffer<Attribute.TypeCompound> l = annotated.get(a.type.tsym);
- l = l.append(tc);
- annotated.put(a.type.tsym, l);
- pos.put(tc, a.pos());
- } else {
- log.error(a.pos(), "repeatable.annotations.not.supported.in.source");
- }
- } else {
- annotated.put(a.type.tsym, ListBuffer.of(tc));
- pos.put(tc, a.pos());
- }
- }
-
- if (s != null) {
- s.appendTypeAttributesWithCompletion(
- annotate.new AnnotateRepeatedContext<>(env, annotated, pos, log, true));
- }
- }
-
- public void typeAnnotate(final JCTree tree, final Env<AttrContext> env, final Symbol sym, DiagnosticPosition deferPos) {
- if (allowTypeAnnos) {
- tree.accept(new TypeAnnotate(env, sym, deferPos));
- }
- }
-
- /**
- * We need to use a TreeScanner, because it is not enough to visit the top-level
- * annotations. We also need to visit type arguments, etc.
- */
- private class TypeAnnotate extends TreeScanner {
- private Env<AttrContext> env;
- private Symbol sym;
- private DiagnosticPosition deferPos;
-
- public TypeAnnotate(final Env<AttrContext> env, final Symbol sym, DiagnosticPosition deferPos) {
- this.env = env;
- this.sym = sym;
- this.deferPos = deferPos;
- }
-
- void annotateTypeLater(final List<JCAnnotation> annotations) {
- if (annotations.isEmpty()) {
- return;
- }
-
- final DiagnosticPosition deferPos = this.deferPos;
-
- annotate.normal(new Annotate.Worker() {
- @Override
- public String toString() {
- return "type annotate " + annotations + " onto " + sym + " in " + sym.owner;
- }
- @Override
- public void run() {
- JavaFileObject prev = log.useSource(env.toplevel.sourcefile);
- DiagnosticPosition prevLintPos = null;
-
- if (deferPos != null) {
- prevLintPos = deferredLintHandler.setPos(deferPos);
- }
- try {
- actualEnterTypeAnnotations(annotations, env, sym);
- } finally {
- if (prevLintPos != null)
- deferredLintHandler.setPos(prevLintPos);
- log.useSource(prev);
- }
- }
- });
- }
-
- @Override
- public void visitAnnotatedType(final JCAnnotatedType tree) {
- annotateTypeLater(tree.annotations);
- super.visitAnnotatedType(tree);
- }
-
- @Override
- public void visitTypeParameter(final JCTypeParameter tree) {
- annotateTypeLater(tree.annotations);
- super.visitTypeParameter(tree);
- }
-
- @Override
- public void visitNewArray(final JCNewArray tree) {
- annotateTypeLater(tree.annotations);
- for (List<JCAnnotation> dimAnnos : tree.dimAnnotations)
- annotateTypeLater(dimAnnos);
- super.visitNewArray(tree);
- }
-
- @Override
- public void visitMethodDef(final JCMethodDecl tree) {
- scan(tree.mods);
- scan(tree.restype);
- scan(tree.typarams);
- scan(tree.recvparam);
- scan(tree.params);
- scan(tree.thrown);
- scan(tree.defaultValue);
- // Do not annotate the body, just the signature.
- // scan(tree.body);
- }
-
- @Override
- public void visitVarDef(final JCVariableDecl tree) {
- DiagnosticPosition prevPos = deferPos;
- deferPos = tree.pos();
- try {
- if (sym != null && sym.kind == Kinds.VAR) {
- // Don't visit a parameter once when the sym is the method
- // and once when the sym is the parameter.
- scan(tree.mods);
- scan(tree.vartype);
- }
- scan(tree.init);
- } finally {
- deferPos = prevPos;
- }
- }
-
- @Override
- public void visitClassDef(JCClassDecl tree) {
- // We can only hit a classdef if it is declared within
- // a method. Ignore it - the class will be visited
- // separately later.
- }
-
- @Override
- public void visitNewClass(JCNewClass tree) {
- if (tree.def == null) {
- // For an anonymous class instantiation the class
- // will be visited separately.
- super.visitNewClass(tree);
- }
- }
- }
-
-
private Env<AttrContext> baseEnv(JCClassDecl tree, Env<AttrContext> env) {
Scope baseScope = new Scope(tree.sym);
//import already entered local classes into base scope
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
index f0d7093..7771e6e 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
@@ -91,10 +91,9 @@
TreeInfo treeinfo;
Types types;
JCDiagnostic.Factory diags;
- public final boolean boxingEnabled; // = source.allowBoxing();
- public final boolean varargsEnabled; // = source.allowVarargs();
+ public final boolean boxingEnabled;
+ public final boolean varargsEnabled;
public final boolean allowMethodHandles;
- public final boolean allowDefaultMethodsResolution;
public final boolean allowStructuralMostSpecific;
private final boolean debugResolve;
private final boolean compactMethodDiags;
@@ -136,7 +135,6 @@
verboseResolutionMode = VerboseResolutionMode.getVerboseResolutionMode(options);
Target target = Target.instance(context);
allowMethodHandles = target.hasMethodHandles();
- allowDefaultMethodsResolution = source.allowDefaultMethodsResolution();
allowStructuralMostSpecific = source.allowStructuralMostSpecific();
polymorphicSignatureScope = new Scope(syms.noSymbol);
@@ -900,7 +898,7 @@
@Override
public boolean compatible(Type found, Type req, Warner warn) {
- found = pendingInferenceContext.asFree(found);
+ found = pendingInferenceContext.asUndetVar(found);
req = infer.returnConstraintTarget(found, req);
return super.compatible(found, req, warn);
}
@@ -937,8 +935,8 @@
public boolean compatible(Type found, Type req, Warner warn) {
return strict ?
- types.isSubtypeUnchecked(found, deferredAttrContext.inferenceContext.asFree(req), warn) :
- types.isConvertible(found, deferredAttrContext.inferenceContext.asFree(req), warn);
+ types.isSubtypeUnchecked(found, deferredAttrContext.inferenceContext.asUndetVar(req), warn) :
+ types.isConvertible(found, deferredAttrContext.inferenceContext.asUndetVar(req), warn);
}
public void report(DiagnosticPosition pos, JCDiagnostic details) {
@@ -1143,7 +1141,7 @@
Type desc_t = types.findDescriptorType(t);
Type desc_s = types.findDescriptorType(s);
if (types.isSameTypes(desc_t.getParameterTypes(),
- inferenceContext().asFree(desc_s.getParameterTypes()))) {
+ inferenceContext().asUndetVars(desc_s.getParameterTypes()))) {
if (types.asSuper(t, s.tsym) != null ||
types.asSuper(s, t.tsym) != null) {
result &= MostSpecificCheckContext.super.compatible(t, s, warn);
@@ -1170,7 +1168,7 @@
Type desc_t = types.findDescriptorType(t);
Type desc_s = types.findDescriptorType(s);
if (types.isSameTypes(desc_t.getParameterTypes(),
- inferenceContext().asFree(desc_s.getParameterTypes()))) {
+ inferenceContext().asUndetVars(desc_s.getParameterTypes()))) {
if (types.asSuper(t, s.tsym) != null ||
types.asSuper(s, t.tsym) != null) {
result &= MostSpecificCheckContext.super.compatible(t, s, warn);
@@ -1680,7 +1678,6 @@
bestSoFar : methodNotFound;
for (InterfaceLookupPhase iphase2 : InterfaceLookupPhase.values()) {
- if (iphase2 == InterfaceLookupPhase.DEFAULT_OK && !allowDefaultMethodsResolution) break;
//keep searching for abstract methods
for (Type itype : itypes[iphase2.ordinal()]) {
if (!itype.isInterface()) continue; //skip j.l.Object (included by Types.closure())
@@ -1713,10 +1710,8 @@
//from superinterfaces)
if ((s.flags() & (ABSTRACT | INTERFACE | ENUM)) != 0) {
return this;
- } else if (rs.allowDefaultMethodsResolution) {
- return DEFAULT_OK;
} else {
- return null;
+ return DEFAULT_OK;
}
}
},
@@ -3156,7 +3151,7 @@
if (TreeInfo.isStaticSelector(referenceTree.expr, names) &&
argtypes.nonEmpty() &&
(argtypes.head.hasTag(NONE) ||
- types.isSubtypeUnchecked(inferenceContext.asFree(argtypes.head), site))) {
+ types.isSubtypeUnchecked(inferenceContext.asUndetVar(argtypes.head), site))) {
return new UnboundMethodReferenceLookupHelper(referenceTree, name,
site, argtypes, typeargtypes, maxPhase);
} else {
@@ -3340,9 +3335,9 @@
if ((env1.enclClass.sym.flags() & STATIC) != 0) staticOnly = true;
env1 = env1.outer;
}
- if (allowDefaultMethodsResolution && c.isInterface() &&
- name == names._super && !isStatic(env) &&
- types.isDirectSuperInterface(c, env.enclClass.sym)) {
+ if (c.isInterface() &&
+ name == names._super && !isStatic(env) &&
+ types.isDirectSuperInterface(c, env.enclClass.sym)) {
//this might be a default super call if one of the superinterfaces is 'c'
for (Type t : pruneInterfaces(env.enclClass.type)) {
if (t.tsym == c) {
@@ -4268,7 +4263,11 @@
}
DeferredAttrContext deferredAttrContext(Symbol sym, InferenceContext inferenceContext, ResultInfo pendingResult, Warner warn) {
- return deferredAttr.new DeferredAttrContext(attrMode, sym, step, inferenceContext, pendingResult != null ? pendingResult.checkContext.deferredAttrContext() : deferredAttr.emptyDeferredAttrContext, warn);
+ DeferredAttrContext parent = (pendingResult == null)
+ ? deferredAttr.emptyDeferredAttrContext
+ : pendingResult.checkContext.deferredAttrContext();
+ return deferredAttr.new DeferredAttrContext(attrMode, sym, step,
+ inferenceContext, parent, warn);
}
/**
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Todo.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Todo.java
index 3a91150..eaeef34 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Todo.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Todo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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
@@ -26,7 +26,7 @@
package com.sun.tools.javac.comp;
import java.util.AbstractQueue;
-import com.sun.tools.javac.util.Context;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
@@ -34,6 +34,8 @@
import java.util.Queue;
import javax.tools.JavaFileObject;
+import com.sun.tools.javac.util.Context;
+
/** A queue of all as yet unattributed classes.
*
* <p><b>This is NOT part of any supported API.
@@ -82,6 +84,22 @@
}
}
+ /**
+ * Removes all unattributed classes except those belonging to the given
+ * collection of files.
+ *
+ * @param sourceFiles The source files of the classes to keep.
+ */
+ public void retainFiles(Collection<? extends JavaFileObject> sourceFiles) {
+ for (Iterator<Env<AttrContext>> it = contents.iterator(); it.hasNext(); ) {
+ Env<AttrContext> env = it.next();
+ if (!sourceFiles.contains(env.toplevel.sourcefile)) {
+ if (contentsByFile != null) removeByFile(env);
+ it.remove();
+ }
+ }
+ }
+
public Env<AttrContext> poll() {
if (size() == 0)
return null;
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java b/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java
index 0d043ba..9c30d1b 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -834,6 +834,8 @@
public void visitReference(JCMemberReference tree) {
tree.expr = translate(tree.expr, erasure(tree.expr.type));
tree.type = erasure(tree.type);
+ if (tree.varargsElement != null)
+ tree.varargsElement = erasure(tree.varargsElement);
result = tree;
}
diff --git a/langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java b/langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java
index 38f00cd..014c3b0 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/file/RegularFileObject.java
@@ -71,6 +71,8 @@
}
this.name = name;
this.file = f;
+ if (f.lastModified() > System.currentTimeMillis())
+ fileManager.log.warning("file.from.future", f);
}
@Override
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java
index 4fc9987..b12adc0 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/JNIWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -26,30 +26,10 @@
package com.sun.tools.javac.jvm;
import java.io.IOException;
-import java.io.Writer;
+import java.io.PrintWriter;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
-import java.util.Stack;
-import java.util.StringTokenizer;
-
-import javax.lang.model.element.Element;
-import javax.lang.model.element.ExecutableElement;
-import javax.lang.model.element.Modifier;
-import javax.lang.model.element.Name;
-import javax.lang.model.element.TypeElement;
-import javax.lang.model.element.VariableElement;
-import javax.lang.model.type.ArrayType;
-import javax.lang.model.type.DeclaredType;
-import javax.lang.model.type.NoType;
-import javax.lang.model.type.PrimitiveType;
-import javax.lang.model.type.TypeKind;
-import javax.lang.model.type.TypeMirror;
-import javax.lang.model.type.TypeVariable;
-import javax.lang.model.type.TypeVisitor;
-import javax.lang.model.util.ElementFilter;
-import javax.lang.model.util.Elements;
-import javax.lang.model.util.SimpleTypeVisitor8;
-import javax.lang.model.util.Types;
import javax.tools.FileObject;
import javax.tools.JavaFileManager;
@@ -57,18 +37,22 @@
import com.sun.tools.javac.code.Attribute;
import com.sun.tools.javac.code.Flags;
-import com.sun.tools.javac.code.Kinds;
import com.sun.tools.javac.code.Scope;
+import com.sun.tools.javac.code.Symbol;
import com.sun.tools.javac.code.Symbol.ClassSymbol;
+import com.sun.tools.javac.code.Symbol.VarSymbol;
import com.sun.tools.javac.code.Symtab;
+import com.sun.tools.javac.code.Type;
+import com.sun.tools.javac.code.Types;
import com.sun.tools.javac.model.JavacElements;
-import com.sun.tools.javac.model.JavacTypes;
import com.sun.tools.javac.util.Assert;
import com.sun.tools.javac.util.Context;
import com.sun.tools.javac.util.Log;
import com.sun.tools.javac.util.Options;
+import com.sun.tools.javac.util.Pair;
import static com.sun.tools.javac.main.Option.*;
+import static com.sun.tools.javac.code.Kinds.*;
/** This class provides operations to write native header files for classes.
*
@@ -83,8 +67,8 @@
/** Access to files. */
private final JavaFileManager fileManager;
- JavacElements elements;
- JavacTypes types;
+ Types types;
+ Symtab syms;
/** The log to use for verbose output.
*/
@@ -98,15 +82,9 @@
*/
private boolean checkAll;
- private Mangle mangler;
-
private Context context;
- private Symtab syms;
-
- private String lineSep;
-
- private final boolean isWindows =
+ private static final boolean isWindows =
System.getProperty("os.name").startsWith("Windows");
/** Get the ClassWriter instance for this context. */
@@ -129,44 +107,58 @@
checkAll = options.isSet("javah:full");
this.context = context; // for lazyInit()
- syms = Symtab.instance(context);
-
- lineSep = System.getProperty("line.separator");
}
private void lazyInit() {
- if (mangler == null) {
- elements = JavacElements.instance(context);
- types = JavacTypes.instance(context);
- mangler = new Mangle(elements, types);
- }
+ if (types == null)
+ types = Types.instance(context);
+ if (syms == null)
+ syms = Symtab.instance(context);
+
+ }
+
+ static boolean isSynthetic(Symbol s) {
+ return hasFlag(s, Flags.SYNTHETIC);
+ }
+ static boolean isStatic(Symbol s) {
+ return hasFlag(s, Flags.STATIC);
+ }
+ static boolean isFinal(Symbol s) {
+ return hasFlag(s, Flags.FINAL);
+ }
+ static boolean isNative(Symbol s) {
+ return hasFlag(s, Flags.NATIVE);
+ }
+ static private boolean hasFlag(Symbol m, int flag) {
+ return (m.flags() & flag) != 0;
}
public boolean needsHeader(ClassSymbol c) {
- if (c.isLocal() || (c.flags() & Flags.SYNTHETIC) != 0)
+ lazyInit();
+ if (c.isLocal() || isSynthetic(c))
return false;
-
- if (checkAll)
- return needsHeader(c.outermostClass(), true);
- else
- return needsHeader(c, false);
+ return (checkAll)
+ ? needsHeader(c.outermostClass(), true)
+ : needsHeader(c, false);
}
private boolean needsHeader(ClassSymbol c, boolean checkNestedClasses) {
- if (c.isLocal() || (c.flags() & Flags.SYNTHETIC) != 0)
+ if (c.isLocal() || isSynthetic(c))
return false;
for (Scope.Entry i = c.members_field.elems; i != null; i = i.sibling) {
- if (i.sym.kind == Kinds.MTH && (i.sym.flags() & Flags.NATIVE) != 0)
+ Symbol sym = i.sym;
+ if (sym.kind == MTH && isNative(sym))
return true;
- for (Attribute.Compound a: i.sym.getDeclarationAttributes()) {
+ for (Attribute.Compound a: sym.getDeclarationAttributes()) {
if (a.type.tsym == syms.nativeHeaderType.tsym)
return true;
}
}
if (checkNestedClasses) {
for (Scope.Entry i = c.members_field.elems; i != null; i = i.sibling) {
- if ((i.sym.kind == Kinds.TYP) && needsHeader(((ClassSymbol) i.sym), true))
+ Symbol sym = i.sym;
+ if ((sym.kind == TYP) && needsHeader(((ClassSymbol) sym), true))
return true;
}
}
@@ -176,14 +168,12 @@
/** Emit a class file for a given class.
* @param c The class from which a class file is generated.
*/
- public FileObject write(ClassSymbol c)
- throws IOException
- {
+ public FileObject write(ClassSymbol c) throws IOException {
String className = c.flatName().toString();
FileObject outFile
= fileManager.getFileForOutput(StandardLocation.NATIVE_HEADER_OUTPUT,
"", className.replaceAll("[.$]", "_") + ".h", null);
- Writer out = outFile.openWriter();
+ PrintWriter out = new PrintWriter(outFile.openWriter());
try {
write(out, c);
if (verbose)
@@ -201,201 +191,134 @@
return outFile; // may be null if write failed
}
- public void write(Writer out, ClassSymbol sym)
- throws IOException {
+ public void write(PrintWriter out, ClassSymbol sym) throws IOException {
lazyInit();
try {
- String cname = mangler.mangle(sym.fullname, Mangle.Type.CLASS);
- println(out, fileTop());
- println(out, includes());
- println(out, guardBegin(cname));
- println(out, cppGuardBegin());
+ String cname = encode(sym.fullname, EncoderType.CLASS);
+ fileTop(out);
+ includes(out);
+ guardBegin(out, cname);
+ cppGuardBegin(out);
writeStatics(out, sym);
writeMethods(out, sym, cname);
- println(out, cppGuardEnd());
- println(out, guardEnd(cname));
+ cppGuardEnd(out);
+ guardEnd(out);
} catch (TypeSignature.SignatureException e) {
throw new IOException(e);
}
}
-
- protected void writeStatics(Writer out, ClassSymbol sym) throws IOException {
- List<VariableElement> classfields = getAllFields(sym);
-
- for (VariableElement v: classfields) {
- if (!v.getModifiers().contains(Modifier.STATIC))
- continue;
- String s = null;
- s = defineForStatic(sym, v);
- if (s != null) {
- println(out, s);
+ protected void writeStatics(PrintWriter out, ClassSymbol sym) throws IOException {
+ List<ClassSymbol> clist = new ArrayList<>();
+ for (ClassSymbol cd = sym; cd != null;
+ cd = (ClassSymbol) cd.getSuperclass().tsym) {
+ clist.add(cd);
+ }
+ /*
+ * list needs to be super-class, base-class1, base-class2 and so on,
+ * so we reverse class hierarchy
+ */
+ Collections.reverse(clist);
+ for (ClassSymbol cd : clist) {
+ for (Symbol i : cd.getEnclosedElements()) {
+ // consider only final, static and fields with ConstantExpressions
+ if (isFinal(i) && i.isStatic() && i.kind == VAR) {
+ VarSymbol v = (VarSymbol) i;
+ if (v.getConstantValue() != null) {
+ Pair<ClassSymbol, VarSymbol> p = new Pair<>(sym, v);
+ printStaticDefines(out, p);
+ }
+ }
}
}
}
-
- /**
- * Including super class fields.
- */
- List<VariableElement> getAllFields(TypeElement subclazz) {
- List<VariableElement> fields = new ArrayList<>();
- TypeElement cd = null;
- Stack<TypeElement> s = new Stack<>();
-
- cd = subclazz;
- while (true) {
- s.push(cd);
- TypeElement c = (TypeElement) (types.asElement(cd.getSuperclass()));
- if (c == null)
+ static void printStaticDefines(PrintWriter out, Pair<ClassSymbol, VarSymbol> p) {
+ ClassSymbol cls = p.fst;
+ VarSymbol f = p.snd;
+ Object value = f.getConstantValue();
+ String valueStr = null;
+ switch (f.asType().getKind()) {
+ case BOOLEAN:
+ valueStr = (((Boolean) value) ? "1L" : "0L");
break;
- cd = c;
+ case BYTE: case SHORT: case INT:
+ valueStr = value.toString() + "L";
+ break;
+ case LONG:
+ // Visual C++ supports the i64 suffix, not LL.
+ valueStr = value.toString() + ((isWindows) ? "i64" : "LL");
+ break;
+ case CHAR:
+ Character ch = (Character) value;
+ valueStr = String.valueOf(((int) ch) & 0xffff) + "L";
+ break;
+ case FLOAT:
+ // bug compatible
+ float fv = ((Float) value).floatValue();
+ valueStr = (Float.isInfinite(fv))
+ ? ((fv < 0) ? "-" : "") + "Inff"
+ : value.toString() + "f";
+ break;
+ case DOUBLE:
+ // bug compatible
+ double d = ((Double) value).doubleValue();
+ valueStr = (Double.isInfinite(d))
+ ? ((d < 0) ? "-" : "") + "InfD"
+ : value.toString();
+ break;
+ default:
+ valueStr = null;
}
-
- while (!s.empty()) {
- cd = s.pop();
- fields.addAll(ElementFilter.fieldsIn(cd.getEnclosedElements()));
+ if (valueStr != null) {
+ out.print("#undef ");
+ String cname = encode(cls.getQualifiedName(), EncoderType.CLASS);
+ String fname = encode(f.getSimpleName(), EncoderType.FIELDSTUB);
+ out.println(cname + "_" + fname);
+ out.print("#define " + cname + "_");
+ out.println(fname + " " + valueStr);
}
-
- return fields;
}
-
- protected String defineForStatic(TypeElement c, VariableElement f) {
- CharSequence cnamedoc = c.getQualifiedName();
- CharSequence fnamedoc = f.getSimpleName();
-
- String cname = mangler.mangle(cnamedoc, Mangle.Type.CLASS);
- String fname = mangler.mangle(fnamedoc, Mangle.Type.FIELDSTUB);
-
- Assert.check(f.getModifiers().contains(Modifier.STATIC));
-
- if (f.getModifiers().contains(Modifier.FINAL)) {
- Object value = null;
-
- value = f.getConstantValue();
-
- if (value != null) { /* so it is a ConstantExpression */
- String constString = null;
- if ((value instanceof Integer)
- || (value instanceof Byte)
- || (value instanceof Short)) {
- /* covers byte, short, int */
- constString = value.toString() + "L";
- } else if (value instanceof Boolean) {
- constString = ((Boolean) value) ? "1L" : "0L";
- } else if (value instanceof Character) {
- Character ch = (Character) value;
- constString = String.valueOf(((int) ch) & 0xffff) + "L";
- } else if (value instanceof Long) {
- // Visual C++ supports the i64 suffix, not LL.
- if (isWindows)
- constString = value.toString() + "i64";
- else
- constString = value.toString() + "LL";
- } else if (value instanceof Float) {
- /* bug for bug */
- float fv = ((Float)value).floatValue();
- if (Float.isInfinite(fv))
- constString = ((fv < 0) ? "-" : "") + "Inff";
- else
- constString = value.toString() + "f";
- } else if (value instanceof Double) {
- /* bug for bug */
- double d = ((Double)value).doubleValue();
- if (Double.isInfinite(d))
- constString = ((d < 0) ? "-" : "") + "InfD";
- else
- constString = value.toString();
- }
-
- if (constString != null) {
- StringBuilder s = new StringBuilder("#undef ");
- s.append(cname); s.append("_"); s.append(fname); s.append(lineSep);
- s.append("#define "); s.append(cname); s.append("_");
- s.append(fname); s.append(" "); s.append(constString);
- return s.toString();
- }
-
- }
- }
-
- return null;
- }
-
-
- protected void writeMethods(Writer out, ClassSymbol sym, String cname)
+ protected void writeMethods(PrintWriter out, ClassSymbol sym, String cname)
throws IOException, TypeSignature.SignatureException {
- List<ExecutableElement> classmethods = ElementFilter.methodsIn(sym.getEnclosedElements());
- for (ExecutableElement md: classmethods) {
- if(md.getModifiers().contains(Modifier.NATIVE)){
- TypeMirror mtr = types.erasure(md.getReturnType());
- String sig = signature(md);
- TypeSignature newtypesig = new TypeSignature(elements);
+ List<Symbol> classmethods = sym.getEnclosedElements();
+ for (Symbol md : classmethods) {
+ if (isNative(md)) {
+ TypeSignature newtypesig = new TypeSignature(types);
CharSequence methodName = md.getSimpleName();
- boolean longName = false;
- for (ExecutableElement md2: classmethods) {
+ boolean isOverloaded = false;
+ for (Symbol md2 : classmethods) {
if ((md2 != md)
- && (methodName.equals(md2.getSimpleName()))
- && (md2.getModifiers().contains(Modifier.NATIVE)))
- longName = true;
-
+ && (methodName.equals(md2.getSimpleName()))
+ && isNative(md2)) {
+ isOverloaded = true;
+ }
}
- println(out, "/*");
- println(out, " * Class: " + cname);
- println(out, " * Method: " +
- mangler.mangle(methodName, Mangle.Type.FIELDSTUB));
- println(out, " * Signature: " + newtypesig.getTypeSignature(sig, mtr));
- println(out, " */");
- println(out, "JNIEXPORT " + jniType(mtr) +
- " JNICALL " +
- mangler.mangleMethod(md, sym,
- (longName) ?
- Mangle.Type.METHOD_JNI_LONG :
- Mangle.Type.METHOD_JNI_SHORT));
- print(out, " (JNIEnv *, ");
- List<? extends VariableElement> paramargs = md.getParameters();
- List<TypeMirror> args = new ArrayList<>();
- for (VariableElement p: paramargs) {
- args.add(types.erasure(p.asType()));
+ out.println("/*");
+ out.println(" * Class: " + cname);
+ out.println(" * Method: " + encode(methodName, EncoderType.FIELDSTUB));
+ out.println(" * Signature: " + newtypesig.getSignature(md.type));
+ out.println(" */");
+ out.println("JNIEXPORT " + jniType(types.erasure(md.type.getReturnType()))
+ + " JNICALL " + encodeMethod(md, sym, isOverloaded));
+ out.print(" (JNIEnv *, ");
+ out.print((md.isStatic())
+ ? "jclass"
+ : "jobject");
+ for (Type arg : types.erasure(md.type.getParameterTypes())) {
+ out.print(", ");
+ out.print(jniType(arg));
}
- if (md.getModifiers().contains(Modifier.STATIC))
- print(out, "jclass");
- else
- print(out, "jobject");
-
- for (TypeMirror arg: args) {
- print(out, ", ");
- print(out, jniType(arg));
- }
- println(out, ");"
- + lineSep);
+ out.println(");");
+ out.println();
}
}
}
-
- // c.f. MethodDoc.signature
- String signature(ExecutableElement e) {
- StringBuilder sb = new StringBuilder("(");
- String sep = "";
- for (VariableElement p: e.getParameters()) {
- sb.append(sep);
- sb.append(types.erasure(p.asType()).toString());
- sep = ",";
- }
- sb.append(")");
- return sb.toString();
- }
-
- protected final String jniType(TypeMirror t) {
- TypeElement throwable = elements.getTypeElement("java.lang.Throwable");
- TypeElement jClass = elements.getTypeElement("java.lang.Class");
- TypeElement jString = elements.getTypeElement("java.lang.String");
- Element tclassDoc = types.asElement(t);
-
-
+ @SuppressWarnings("fallthrough")
+ protected final String jniType(Type t) {
switch (t.getKind()) {
case ARRAY: {
- TypeMirror ct = ((ArrayType) t).getComponentType();
+ Type ct = ((Type.ArrayType)t).getComponentType();
switch (ct.getKind()) {
case BOOLEAN: return "jbooleanArray";
case BYTE: return "jbyteArray";
@@ -420,16 +343,16 @@
case LONG: return "jlong";
case FLOAT: return "jfloat";
case DOUBLE: return "jdouble";
-
case DECLARED: {
- if (tclassDoc.equals(jString))
+ if (t.tsym.type == syms.stringType) {
return "jstring";
- else if (types.isAssignable(t, throwable.asType()))
+ } else if (types.isAssignable(t, syms.throwableType)) {
return "jthrowable";
- else if (types.isAssignable(t, jClass.asType()))
+ } else if (types.isAssignable(t, syms.classType)) {
return "jclass";
- else
+ } else {
return "jobject";
+ }
}
}
@@ -437,193 +360,145 @@
return null; /* dead code. */
}
- protected String fileTop() {
- return "/* DO NOT EDIT THIS FILE - it is machine generated */";
+ protected void fileTop(PrintWriter out) {
+ out.println("/* DO NOT EDIT THIS FILE - it is machine generated */");
}
- protected String includes() {
- return "#include <jni.h>";
+ protected void includes(PrintWriter out) {
+ out.println("#include <jni.h>");
}
/*
* Deal with the C pre-processor.
*/
- protected String cppGuardBegin() {
- return "#ifdef __cplusplus" + lineSep
- + "extern \"C\" {" + lineSep
- + "#endif";
+ protected void cppGuardBegin(PrintWriter out) {
+ out.println("#ifdef __cplusplus");
+ out.println("extern \"C\" {");
+ out.println("#endif");
}
- protected String cppGuardEnd() {
- return "#ifdef __cplusplus" + lineSep
- + "}" + lineSep
- + "#endif";
+ protected void cppGuardEnd(PrintWriter out) {
+ out.println("#ifdef __cplusplus");
+ out.println("}");
+ out.println("#endif");
}
- protected String guardBegin(String cname) {
- return "/* Header for class " + cname + " */" + lineSep
- + lineSep
- + "#ifndef _Included_" + cname + lineSep
- + "#define _Included_" + cname;
+ protected void guardBegin(PrintWriter out, String cname) {
+ out.println("/* Header for class " + cname + " */");
+ out.println();
+ out.println("#ifndef _Included_" + cname);
+ out.println("#define _Included_" + cname);
}
- protected String guardEnd(String cname) {
- return "#endif";
+ protected void guardEnd(PrintWriter out) {
+ out.println("#endif");
}
- protected void print(Writer out, String text) throws IOException {
- out.write(text);
- }
-
- protected void println(Writer out, String text) throws IOException {
- out.write(text);
- out.write(lineSep);
- }
-
-
- private static class Mangle {
-
- public static class Type {
- public static final int CLASS = 1;
- public static final int FIELDSTUB = 2;
- public static final int FIELD = 3;
- public static final int JNI = 4;
- public static final int SIGNATURE = 5;
- public static final int METHOD_JDK_1 = 6;
- public static final int METHOD_JNI_SHORT = 7;
- public static final int METHOD_JNI_LONG = 8;
+ String encodeMethod(Symbol msym, ClassSymbol clazz,
+ boolean isOverloaded) throws TypeSignature.SignatureException {
+ StringBuilder result = new StringBuilder(100);
+ result.append("Java_");
+ /* JNI */
+ result.append(encode(clazz.flatname.toString(), EncoderType.JNI));
+ result.append('_');
+ result.append(encode(msym.getSimpleName(), EncoderType.JNI));
+ if (isOverloaded) {
+ TypeSignature typeSig = new TypeSignature(types);
+ StringBuilder sig = typeSig.getParameterSignature(msym.type);
+ result.append("__").append(encode(sig, EncoderType.JNI));
}
+ return result.toString();
+ }
- private Elements elems;
- private Types types;
+ static enum EncoderType {
+ CLASS,
+ FIELDSTUB,
+ FIELD,
+ JNI,
+ SIGNATURE
+ }
+ @SuppressWarnings("fallthrough")
+ static String encode(CharSequence name, EncoderType mtype) {
+ StringBuilder result = new StringBuilder(100);
+ int length = name.length();
- Mangle(Elements elems, Types types) {
- this.elems = elems;
- this.types = types;
- }
-
- public final String mangle(CharSequence name, int mtype) {
- StringBuilder result = new StringBuilder(100);
- int length = name.length();
-
- for (int i = 0; i < length; i++) {
- char ch = name.charAt(i);
- if (isalnum(ch)) {
- result.append(ch);
- } else if ((ch == '.') &&
- mtype == Mangle.Type.CLASS) {
- result.append('_');
- } else if (( ch == '$') &&
- mtype == Mangle.Type.CLASS) {
- result.append('_');
- result.append('_');
- } else if (ch == '_' && mtype == Mangle.Type.FIELDSTUB) {
- result.append('_');
- } else if (ch == '_' && mtype == Mangle.Type.CLASS) {
- result.append('_');
- } else if (mtype == Mangle.Type.JNI) {
- String esc = null;
- if (ch == '_')
- esc = "_1";
- else if (ch == '.')
- esc = "_";
- else if (ch == ';')
- esc = "_2";
- else if (ch == '[')
- esc = "_3";
- if (esc != null) {
- result.append(esc);
- } else {
- result.append(mangleChar(ch));
+ for (int i = 0; i < length; i++) {
+ char ch = name.charAt(i);
+ if (isalnum(ch)) {
+ result.append(ch);
+ continue;
+ }
+ switch (mtype) {
+ case CLASS:
+ switch (ch) {
+ case '.':
+ case '_':
+ result.append("_");
+ break;
+ case '$':
+ result.append("__");
+ break;
+ default:
+ result.append(encodeChar(ch));
}
- } else if (mtype == Mangle.Type.SIGNATURE) {
- if (isprint(ch)) {
- result.append(ch);
- } else {
- result.append(mangleChar(ch));
+ break;
+ case JNI:
+ switch (ch) {
+ case '/':
+ case '.':
+ result.append("_");
+ break;
+ case '_':
+ result.append("_1");
+ break;
+ case ';':
+ result.append("_2");
+ break;
+ case '[':
+ result.append("_3");
+ break;
+ default:
+ result.append(encodeChar(ch));
}
- } else {
- result.append(mangleChar(ch));
- }
+ break;
+ case SIGNATURE:
+ result.append(isprint(ch) ? ch : encodeChar(ch));
+ break;
+ case FIELDSTUB:
+ result.append(ch == '_' ? ch : encodeChar(ch));
+ break;
+ default:
+ result.append(encodeChar(ch));
}
-
- return result.toString();
}
+ return result.toString();
+ }
- public String mangleMethod(ExecutableElement method, TypeElement clazz,
- int mtype) throws TypeSignature.SignatureException {
- StringBuilder result = new StringBuilder(100);
- result.append("Java_");
-
- if (mtype == Mangle.Type.METHOD_JDK_1) {
- result.append(mangle(clazz.getQualifiedName(), Mangle.Type.CLASS));
- result.append('_');
- result.append(mangle(method.getSimpleName(),
- Mangle.Type.FIELD));
- result.append("_stub");
- return result.toString();
- }
-
- /* JNI */
- result.append(mangle(getInnerQualifiedName(clazz), Mangle.Type.JNI));
- result.append('_');
- result.append(mangle(method.getSimpleName(),
- Mangle.Type.JNI));
- if (mtype == Mangle.Type.METHOD_JNI_LONG) {
- result.append("__");
- String typesig = signature(method);
- TypeSignature newTypeSig = new TypeSignature(elems);
- String sig = newTypeSig.getTypeSignature(typesig, method.getReturnType());
- sig = sig.substring(1);
- sig = sig.substring(0, sig.lastIndexOf(')'));
- sig = sig.replace('/', '.');
- result.append(mangle(sig, Mangle.Type.JNI));
- }
-
- return result.toString();
+ static String encodeChar(char ch) {
+ String s = Integer.toHexString(ch);
+ int nzeros = 5 - s.length();
+ char[] result = new char[6];
+ result[0] = '_';
+ for (int i = 1; i <= nzeros; i++) {
+ result[i] = '0';
}
- //where
- private String getInnerQualifiedName(TypeElement clazz) {
- return elems.getBinaryName(clazz).toString();
- }
-
- public final String mangleChar(char ch) {
- String s = Integer.toHexString(ch);
- int nzeros = 5 - s.length();
- char[] result = new char[6];
- result[0] = '_';
- for (int i = 1; i <= nzeros; i++)
- result[i] = '0';
- for (int i = nzeros+1, j = 0; i < 6; i++, j++)
- result[i] = s.charAt(j);
- return new String(result);
+ for (int i = nzeros + 1, j = 0; i < 6; i++, j++) {
+ result[i] = s.charAt(j);
}
+ return new String(result);
+ }
- // Warning: duplicated in Gen
- private String signature(ExecutableElement e) {
- StringBuilder sb = new StringBuilder();
- String sep = "(";
- for (VariableElement p: e.getParameters()) {
- sb.append(sep);
- sb.append(types.erasure(p.asType()).toString());
- sep = ",";
- }
- sb.append(")");
- return sb.toString();
- }
-
- /* Warning: Intentional ASCII operation. */
- private static boolean isalnum(char ch) {
- return ch <= 0x7f && /* quick test */
- ((ch >= 'A' && ch <= 'Z') ||
- (ch >= 'a' && ch <= 'z') ||
+ /* Warning: Intentional ASCII operation. */
+ private static boolean isalnum(char ch) {
+ return ch <= 0x7f && /* quick test */
+ ((ch >= 'A' && ch <= 'Z') ||
+ (ch >= 'a' && ch <= 'z') ||
(ch >= '0' && ch <= '9'));
- }
+ }
- /* Warning: Intentional ASCII operation. */
- private static boolean isprint(char ch) {
- return ch >= 32 && ch <= 126;
- }
+ /* Warning: Intentional ASCII operation. */
+ private static boolean isprint(char ch) {
+ return ch >= 32 && ch <= 126;
}
private static class TypeSignature {
@@ -634,10 +509,10 @@
}
}
- Elements elems;
+ JavacElements elems;
+ Types types;
/* Signature Characters */
-
private static final String SIG_VOID = "V";
private static final String SIG_BOOLEAN = "Z";
private static final String SIG_BYTE = "B";
@@ -650,209 +525,162 @@
private static final String SIG_ARRAY = "[";
private static final String SIG_CLASS = "L";
-
-
- public TypeSignature(Elements elems){
- this.elems = elems;
+ public TypeSignature(Types types) {
+ this.types = types;
}
- /*
- * Returns the type signature of a field according to JVM specs
- */
- public String getTypeSignature(String javasignature) throws SignatureException {
- return getParamJVMSignature(javasignature);
- }
-
- /*
- * Returns the type signature of a method according to JVM specs
- */
- public String getTypeSignature(String javasignature, TypeMirror returnType)
+ StringBuilder getParameterSignature(Type mType)
throws SignatureException {
- String signature = null; //Java type signature.
- String typeSignature = null; //Internal type signature.
- List<String> params = new ArrayList<>(); //List of parameters.
- String paramsig = null; //Java parameter signature.
- String paramJVMSig = null; //Internal parameter signature.
- String returnSig = null; //Java return type signature.
- String returnJVMType = null; //Internal return type signature.
- int dimensions = 0; //Array dimension.
-
- int startIndex = -1;
- int endIndex = -1;
- StringTokenizer st = null;
- int i = 0;
-
- // Gets the actual java signature without parentheses.
- if (javasignature != null) {
- startIndex = javasignature.indexOf("(");
- endIndex = javasignature.indexOf(")");
+ StringBuilder result = new StringBuilder();
+ for (Type pType : mType.getParameterTypes()) {
+ result.append(getJvmSignature(pType));
}
+ return result;
+ }
- if (((startIndex != -1) && (endIndex != -1))
- &&(startIndex+1 < javasignature.length())
- &&(endIndex < javasignature.length())) {
- signature = javasignature.substring(startIndex+1, endIndex);
- }
+ StringBuilder getReturnSignature(Type mType)
+ throws SignatureException {
+ return getJvmSignature(mType.getReturnType());
+ }
- // Separates parameters.
- if (signature != null) {
- if (signature.contains(",")) {
- st = new StringTokenizer(signature, ",");
- if (st != null) {
- while (st.hasMoreTokens()) {
- params.add(st.nextToken());
- }
- }
- } else {
- params.add(signature);
- }
- }
-
- /* JVM type signature. */
- typeSignature = "(";
-
- // Gets indivisual internal parameter signature.
- while (params.isEmpty() != true) {
- paramsig = params.remove(i).trim();
- paramJVMSig = getParamJVMSignature(paramsig);
- if (paramJVMSig != null) {
- typeSignature += paramJVMSig;
- }
- }
-
- typeSignature += ")";
-
- // Get internal return type signature.
-
- returnJVMType = "";
- if (returnType != null) {
- dimensions = dimensions(returnType);
- }
-
- //Gets array dimension of return type.
- while (dimensions-- > 0) {
- returnJVMType += "[";
- }
- if (returnType != null) {
- returnSig = qualifiedTypeName(returnType);
- returnJVMType += getComponentType(returnSig);
- } else {
- System.out.println("Invalid return type.");
- }
-
- typeSignature += returnJVMType;
-
- return typeSignature;
+ StringBuilder getSignature(Type mType) throws SignatureException {
+ StringBuilder sb = new StringBuilder();
+ sb.append("(").append(getParameterSignature(mType)).append(")");
+ sb.append(getReturnSignature(mType));
+ return sb;
}
/*
- * Returns internal signature of a parameter.
+ * Returns jvm internal signature.
*/
- private String getParamJVMSignature(String paramsig) throws SignatureException {
- String paramJVMSig = "";
- String componentType ="";
+ static class JvmTypeVisitor extends JNIWriter.SimpleTypeVisitor<Type, StringBuilder> {
- if(paramsig != null){
-
- if(paramsig.contains("[]")) {
- // Gets array dimension.
- int endindex = paramsig.indexOf("[]");
- componentType = paramsig.substring(0, endindex);
- String dimensionString = paramsig.substring(endindex);
- if(dimensionString != null){
- while(dimensionString.contains("[]")){
- paramJVMSig += "[";
- int beginindex = dimensionString.indexOf("]") + 1;
- if(beginindex < dimensionString.length()){
- dimensionString = dimensionString.substring(beginindex);
- }else
- dimensionString = "";
- }
- }
- } else componentType = paramsig;
-
- paramJVMSig += getComponentType(componentType);
+ @Override
+ public Type visitClassType(Type.ClassType t, StringBuilder s) {
+ setDeclaredType(t, s);
+ return null;
}
- return paramJVMSig;
- }
- /*
- * Returns internal signature of a component.
- */
- private String getComponentType(String componentType) throws SignatureException {
+ @Override
+ public Type visitArrayType(Type.ArrayType t, StringBuilder s) {
+ s.append("[");
+ return t.getComponentType().accept(this, s);
+ }
- String JVMSig = "";
-
- if(componentType != null){
- switch (componentType) {
- case "void": JVMSig += SIG_VOID; break;
- case "boolean": JVMSig += SIG_BOOLEAN; break;
- case "byte": JVMSig += SIG_BYTE; break;
- case "char": JVMSig += SIG_CHAR; break;
- case "short": JVMSig += SIG_SHORT; break;
- case "int": JVMSig += SIG_INT; break;
- case "long": JVMSig += SIG_LONG; break;
- case "float": JVMSig += SIG_FLOAT; break;
- case "double": JVMSig += SIG_DOUBLE; break;
+ @Override
+ public Type visitType(Type t, StringBuilder s) {
+ if (t.isPrimitiveOrVoid()) {
+ s.append(getJvmPrimitiveSignature(t));
+ return null;
+ }
+ return t.accept(this, s);
+ }
+ private void setDeclaredType(Type t, StringBuilder s) {
+ String classname = t.tsym.getQualifiedName().toString();
+ classname = classname.replace('.', '/');
+ s.append("L").append(classname).append(";");
+ }
+ private String getJvmPrimitiveSignature(Type t) {
+ switch (t.getKind()) {
+ case VOID: return SIG_VOID;
+ case BOOLEAN: return SIG_BOOLEAN;
+ case BYTE: return SIG_BYTE;
+ case CHAR: return SIG_CHAR;
+ case SHORT: return SIG_SHORT;
+ case INT: return SIG_INT;
+ case LONG: return SIG_LONG;
+ case FLOAT: return SIG_FLOAT;
+ case DOUBLE: return SIG_DOUBLE;
default:
- if (!componentType.equals("")) {
- TypeElement classNameDoc = elems.getTypeElement(componentType);
-
- if (classNameDoc == null) {
- throw new SignatureException(componentType);
- }
- else {
- String classname = classNameDoc.getQualifiedName().toString();
- String newclassname = classname.replace('.', '/');
- JVMSig += "L";
- JVMSig += newclassname;
- JVMSig += ";";
- }
- }
- break;
+ Assert.error("unknown type: should not happen");
}
+ return null;
}
- return JVMSig;
}
- int dimensions(TypeMirror t) {
- if (t.getKind() != TypeKind.ARRAY)
- return 0;
- return 1 + dimensions(((ArrayType) t).getComponentType());
- }
-
-
- String qualifiedTypeName(TypeMirror type) {
- TypeVisitor<Name, Void> v = new SimpleTypeVisitor8<Name, Void>() {
- @Override
- public Name visitArray(ArrayType t, Void p) {
- return t.getComponentType().accept(this, p);
- }
-
- @Override
- public Name visitDeclared(DeclaredType t, Void p) {
- return ((TypeElement) t.asElement()).getQualifiedName();
- }
-
- @Override
- public Name visitPrimitive(PrimitiveType t, Void p) {
- return elems.getName(t.toString());
- }
-
- @Override
- public Name visitNoType(NoType t, Void p) {
- if (t.getKind() == TypeKind.VOID)
- return elems.getName("void");
- return defaultAction(t, p);
- }
-
- @Override
- public Name visitTypeVariable(TypeVariable t, Void p) {
- return t.getUpperBound().accept(this, p);
- }
- };
- return v.visit(type).toString();
+ StringBuilder getJvmSignature(Type type) {
+ Type t = types.erasure(type);
+ StringBuilder sig = new StringBuilder();
+ JvmTypeVisitor jv = new JvmTypeVisitor();
+ jv.visitType(t, sig);
+ return sig;
}
}
+ static class SimpleTypeVisitor<R, P> implements Type.Visitor<R, P> {
+
+ protected final R DEFAULT_VALUE;
+
+ protected SimpleTypeVisitor() {
+ DEFAULT_VALUE = null;
+ }
+
+ protected SimpleTypeVisitor(R defaultValue) {
+ DEFAULT_VALUE = defaultValue;
+ }
+
+ protected R defaultAction(Type t, P p) {
+ return DEFAULT_VALUE;
+ }
+
+ @Override
+ public R visitClassType(Type.ClassType t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitWildcardType(Type.WildcardType t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitArrayType(Type.ArrayType t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitMethodType(Type.MethodType t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitPackageType(Type.PackageType t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitTypeVar(Type.TypeVar t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitCapturedType(Type.CapturedType t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitForAll(Type.ForAll t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitUndetVar(Type.UndetVar t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitErrorType(Type.ErrorType t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitAnnotatedType(Type.AnnotatedType t, P p) {
+ return defaultAction(t, p);
+ }
+
+ @Override
+ public R visitType(Type t, P p) {
+ return defaultAction(t, p);
+ }
+ }
}
diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java
index a244dcf..cd30dbc 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, 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
@@ -856,6 +856,12 @@
enterTrees(stopIfError(CompileState.PARSE, parseFiles(sourceFileObjects))),
classnames);
+ // If it's safe to do so, skip attr / flow / gen for implicit classes
+ if (taskListener.isEmpty() &&
+ implicitSourcePolicy == ImplicitSourcePolicy.NONE) {
+ delegateCompiler.todo.retainFiles(delegateCompiler.inputFiles);
+ }
+
delegateCompiler.compile2();
delegateCompiler.close();
elapsed_msec = delegateCompiler.elapsed_msec;
diff --git a/langtools/src/share/classes/com/sun/tools/javac/main/Option.java b/langtools/src/share/classes/com/sun/tools/javac/main/Option.java
index ab2bc6a..6ecf168 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/main/Option.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/Option.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, 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
@@ -38,6 +38,7 @@
import com.sun.tools.doclint.DocLint;
import com.sun.tools.javac.code.Lint;
+import com.sun.tools.javac.code.Lint.LintCategory;
import com.sun.tools.javac.code.Source;
import com.sun.tools.javac.code.Type;
import com.sun.tools.javac.jvm.Profile;
@@ -80,8 +81,34 @@
XLINT("-Xlint", "opt.Xlint", EXTENDED, BASIC),
- XLINT_CUSTOM("-Xlint:", "opt.Xlint.suboptlist",
- EXTENDED, BASIC, ANYOF, getXLintChoices()),
+ XLINT_CUSTOM("-Xlint:", EXTENDED, BASIC, ANYOF, getXLintChoices()) {
+ private static final String LINT_KEY_FORMAT = " %-19s %s";
+ void help(Log log, OptionKind kind) {
+ if (this.kind != kind)
+ return;
+
+ log.printRawLines(WriterKind.NOTICE,
+ String.format(HELP_LINE_FORMAT,
+ log.localize(PrefixKind.JAVAC, "opt.Xlint.subopts"),
+ log.localize(PrefixKind.JAVAC, "opt.Xlint.suboptlist")));
+ log.printRawLines(WriterKind.NOTICE,
+ String.format(LINT_KEY_FORMAT,
+ "all",
+ log.localize(PrefixKind.JAVAC, "opt.Xlint.all")));
+ for (LintCategory lc : LintCategory.values()) {
+ if (lc.hidden) continue;
+ log.printRawLines(WriterKind.NOTICE,
+ String.format(LINT_KEY_FORMAT,
+ lc.option,
+ log.localize(PrefixKind.JAVAC,
+ "opt.Xlint.desc." + lc.option)));
+ }
+ log.printRawLines(WriterKind.NOTICE,
+ String.format(LINT_KEY_FORMAT,
+ "none",
+ log.localize(PrefixKind.JAVAC, "opt.Xlint.none")));
+ }
+ },
XDOCLINT("-Xdoclint", "opt.Xdoclint", EXTENDED, BASIC),
@@ -550,10 +577,9 @@
this(text, argsNameKey, descrKey, kind, group, null, null, doHasSuffix);
}
- Option(String text, String descrKey,
- OptionKind kind, OptionGroup group,
+ Option(String text, OptionKind kind, OptionGroup group,
ChoiceKind choiceKind, Map<String,Boolean> choices) {
- this(text, null, descrKey, kind, group, choiceKind, choices, false);
+ this(text, null, null, kind, group, choiceKind, choices, false);
}
Option(String text, String descrKey,
@@ -650,12 +676,14 @@
return process(helper, option, option);
}
+ private static final String HELP_LINE_FORMAT = " %-26s %s";
+
void help(Log log, OptionKind kind) {
if (this.kind != kind)
return;
log.printRawLines(WriterKind.NOTICE,
- String.format(" %-26s %s",
+ String.format(HELP_LINE_FORMAT,
helpSynopsis(log),
log.localize(PrefixKind.JAVAC, descrKey)));
diff --git a/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java b/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java
index d0a99d6..b1a6cd1 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java
@@ -193,13 +193,17 @@
public void visitVarDef(JCVariableDecl tree) {
result = tree.mods.annotations;
}
+ @Override
+ public void visitTypeParameter(JCTypeParameter tree) {
+ result = tree.annotations;
+ }
}
Vis vis = new Vis();
tree.accept(vis);
if (vis.result == null)
return null;
- List<Attribute.Compound> annos = sym.getRawAttributes();
+ List<Attribute.Compound> annos = sym.getAnnotationMirrors();
return matchAnnoToTree(cast(Attribute.Compound.class, findme),
annos,
vis.result);
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java
index 49f68b1..aba1c7b 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java
@@ -431,7 +431,9 @@
return toP(err);
}
+ private static final int RECOVERY_THRESHOLD = 50;
private int errorPos = Position.NOPOS;
+ private int count = 0;
/**
* Report a syntax using the given the position parameter and arguments,
@@ -456,9 +458,13 @@
}
}
S.errPos(pos);
- if (token.pos == errorPos)
- nextToken(); // guarantee progress
- errorPos = token.pos;
+ if (token.pos == errorPos) {
+ //check for a possible infinite loop in parsing:
+ Assert.check(count++ < RECOVERY_THRESHOLD);
+ } else {
+ count = 0;
+ errorPos = token.pos;
+ }
}
@@ -2288,14 +2294,19 @@
@SuppressWarnings("fallthrough")
List<JCStatement> blockStatements() {
//todo: skip to anchor on error(?)
+ int lastErrPos = -1;
ListBuffer<JCStatement> stats = new ListBuffer<>();
while (true) {
List<JCStatement> stat = blockStatement();
if (stat.isEmpty()) {
return stats.toList();
} else {
+ // error recovery
+ if (token.pos == lastErrPos)
+ return stats.toList();
if (token.pos <= endPosTable.errorEndPos) {
skip(false, true, true, true);
+ lastErrPos = token.pos;
}
stats.addAll(stat);
}
@@ -3424,9 +3435,12 @@
token.kind == INTERFACE ||
allowEnums && token.kind == ENUM) {
return List.<JCTree>of(classOrInterfaceOrEnumDeclaration(mods, dc));
- } else if (token.kind == LBRACE && !isInterface &&
+ } else if (token.kind == LBRACE &&
(mods.flags & Flags.StandardFlags & ~Flags.STATIC) == 0 &&
mods.annotations.isEmpty()) {
+ if (isInterface) {
+ error(token.pos, "initializer.not.allowed");
+ }
return List.<JCTree>of(block(pos, mods.flags));
} else {
pos = token.pos;
@@ -4055,15 +4069,16 @@
*/
protected static class SimpleEndPosTable extends AbstractEndPosTable {
- private final Map<JCTree, Integer> endPosMap;
+ private final IntHashTable endPosMap;
SimpleEndPosTable(JavacParser parser) {
super(parser);
- endPosMap = new HashMap<>();
+ endPosMap = new IntHashTable();
}
public void storeEnd(JCTree tree, int endpos) {
- endPosMap.put(tree, errorEndPos > endpos ? errorEndPos : endpos);
+ endPosMap.putAtIndex(tree, errorEndPos > endpos ? errorEndPos : endpos,
+ endPosMap.lookup(tree));
}
protected <T extends JCTree> T to(T t) {
@@ -4077,14 +4092,15 @@
}
public int getEndPos(JCTree tree) {
- Integer value = endPosMap.get(tree);
- return (value == null) ? Position.NOPOS : value;
+ int value = endPosMap.getFromIndex(endPosMap.lookup(tree));
+ // As long as Position.NOPOS==-1, this just returns value.
+ return (value == -1) ? Position.NOPOS : value;
}
public int replaceTree(JCTree oldTree, JCTree newTree) {
- Integer pos = endPosMap.remove(oldTree);
- if (pos != null) {
- endPosMap.put(newTree, pos);
+ int pos = endPosMap.remove(oldTree);
+ if (pos != -1) {
+ storeEnd(newTree, pos);
return pos;
}
return Position.NOPOS;
diff --git a/langtools/src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java b/langtools/src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java
index 367345a..06f2491 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavadocTokenizer.java
@@ -107,6 +107,10 @@
*/
int pp = 0;
+ /** The buffer index of the last double backslash sequence
+ */
+ private int doubleBackslashBp = -1;
+
DocReader(ScannerFactory fac, char[] input, int inputLength, int startPos) {
super(fac, input, inputLength);
this.startPos = startPos;
@@ -149,8 +153,8 @@
scanChar();
if (ch == '\\') {
if (peekChar() == '\\' && !isUnicode()) {
- putChar(ch, false);
bp++; col++;
+ doubleBackslashBp = bp;
} else {
convertUnicode();
}
@@ -204,6 +208,13 @@
}
super.putChar(ch, scan);
}
+
+ /** Whether the ch represents a sequence of two backslashes. */
+ boolean isDoubleBackslash() {
+ return doubleBackslashBp == bp;
+ }
+
+
}
protected static class JavadocComment extends JavaTokenizer.BasicComment<DocReader> {
@@ -375,6 +386,13 @@
// the buffer.
comment_reader.putChar('*', false);
break;
+ case '\\':
+ comment_reader.putChar('\\', false);
+ // If a double backslash was found, write two
+ if (comment_reader.isDoubleBackslash()) {
+ comment_reader.putChar('\\', false);
+ }
+ comment_reader.scanCommentChar();
case ' ':
case '\t':
comment_reader.putChar(comment_reader.ch, false);
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
index abbdf48..8ed68e0 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
@@ -1039,6 +1039,9 @@
compiler.err.initializer.must.be.able.to.complete.normally=\
initializer must be able to complete normally
+compiler.err.initializer.not.allowed=\
+ initializers not allowed in interfaces
+
# 0: type
compiler.err.unreported.exception.need.to.catch.or.throw=\
unreported exception {0}; must be caught or declared to be thrown
@@ -1158,6 +1161,10 @@
compiler.misc.x.print.rounds=\
Round {0}:\n\tinput files: {1}\n\tannotations: {2}\n\tlast round: {3}
+# 0: file name
+compiler.warn.file.from.future=\
+ Modification date is in the future for file {0}
+
#####
## The following string will appear before all messages keyed as:
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/javac.properties b/langtools/src/share/classes/com/sun/tools/javac/resources/javac.properties
index 328d9fb..eba8345 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/javac.properties
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/javac.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2014, 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
@@ -142,8 +142,80 @@
<filename>
javac.opt.Xlint=\
Enable recommended warnings
-javac.opt.Xlint.suboptlist=\
- Enable or disable specific warnings
+javac.opt.Xlint.all=\
+ Enable all warnings
+javac.opt.Xlint.none=\
+ Disable all warnings
+#L10N: do not localize: -Xlint
+javac.opt.Xlint.subopts=\
+ -Xlint:key,...
+javac.opt.Xlint.suboptlist=\n\
+\ Warnings to enable or disable, separated by comma.\n\
+\ Precede a key by '-' to disable the specified warning.\n\
+\ Supported keys are:
+javac.opt.Xlint.desc.auxiliaryclass=\
+ Warn about an auxiliary class that is hidden in a source file, and is used from other files.
+
+javac.opt.Xlint.desc.cast=\
+ Warn about use of unnecessary casts.
+
+javac.opt.Xlint.desc.classfile=\
+ Warn about issues related to classfile contents.
+
+javac.opt.Xlint.desc.deprecation=\
+ Warn about use of deprecated items.
+
+javac.opt.Xlint.desc.dep-ann=\
+ Warn about items marked as deprecated in JavaDoc but not using the @Deprecated annotation.
+
+javac.opt.Xlint.desc.divzero=\
+ Warn about division by constant integer 0.
+
+javac.opt.Xlint.desc.empty=\
+ Warn about empty statement after if.
+
+javac.opt.Xlint.desc.fallthrough=\
+ Warn about falling through from one case of a switch statement to the next.
+
+javac.opt.Xlint.desc.finally=\
+ Warn about finally clauses that do not terminate normally.
+
+javac.opt.Xlint.desc.options=\
+ Warn about issues relating to use of command line options.
+
+javac.opt.Xlint.desc.overloads=\
+ Warn about issues regarding method overloads.
+
+javac.opt.Xlint.desc.overrides=\
+ Warn about issues regarding method overrides.
+
+javac.opt.Xlint.desc.path=\
+ Warn about invalid path elements on the command line.
+
+javac.opt.Xlint.desc.processing=\
+ Warn about issues regarding annotation processing.
+
+javac.opt.Xlint.desc.rawtypes=\
+ Warn about use of raw types.
+
+javac.opt.Xlint.desc.serial=\
+ Warn about Serializable classes that do not provide a serial version ID.
+
+javac.opt.Xlint.desc.static=\
+ Warn about accessing a static member using an instance.
+
+javac.opt.Xlint.desc.sunapi=\
+ Warn about proprietary API that may be removed in a future release.
+
+javac.opt.Xlint.desc.try=\
+ Warn about issues relating to use of try blocks (i.e. try-with-resources).
+
+javac.opt.Xlint.desc.unchecked=\
+ Warn about unchecked operations.
+
+javac.opt.Xlint.desc.varargs=\
+ Warn about potentially unsafe vararg methods
+
javac.opt.Xdoclint=\
Enable recommended checks for problems in javadoc comments
# L10N: do not localize: all none
diff --git a/langtools/src/share/classes/com/sun/tools/javac/util/IntHashTable.java b/langtools/src/share/classes/com/sun/tools/javac/util/IntHashTable.java
new file mode 100644
index 0000000..ca820d2
--- /dev/null
+++ b/langtools/src/share/classes/com/sun/tools/javac/util/IntHashTable.java
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2014, 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.
+ */
+
+package com.sun.tools.javac.util;
+
+/**
+ * A hash table that maps Object to int.
+ *
+ * This is a custom hash table optimised for the Object -> int
+ * maps. This is done to avoid unnecessary object allocation in the image set.
+ *
+ * @author Charles Turner
+ * @author Per Bothner
+ */
+public class IntHashTable {
+ private static final int DEFAULT_INITIAL_SIZE = 64;
+ protected Object[] objs; // the domain set
+ protected int[] ints; // the image set
+ protected int mask; // used to clip int's into the domain
+ protected int num_bindings; // the number of mappings (including DELETED)
+ private final static Object DELETED = new Object();
+
+ /**
+ * Construct an Object -> int hash table.
+ *
+ * The default size of the hash table is 64 mappings.
+ */
+ public IntHashTable() {
+ objs = new Object[DEFAULT_INITIAL_SIZE];
+ ints = new int[DEFAULT_INITIAL_SIZE];
+ mask = DEFAULT_INITIAL_SIZE - 1;
+ }
+
+ /**
+ * Construct an Object -> int hash table with a specified amount of mappings.
+ * @param capacity The number of default mappings in this hash table.
+ */
+ public IntHashTable(int capacity) {
+ int log2Size = 4;
+ while (capacity > (1 << log2Size)) {
+ log2Size++;
+ }
+ capacity = 1 << log2Size;
+ objs = new Object[capacity];
+ ints = new int[capacity];
+ mask = capacity - 1;
+ }
+
+ /**
+ * Compute the hash code of a given object.
+ *
+ * @param key The object whose hash code is to be computed.
+ * @return zero if the object is null, otherwise the identityHashCode
+ */
+ public int hash(Object key) {
+ return System.identityHashCode(key);
+ }
+
+ /**
+ * Find either the index of a key's value, or the index of an available space.
+ *
+ * @param key The key to whose value you want to find.
+ * @param hash The hash code of this key.
+ * @return Either the index of the key's value, or an index pointing to
+ * unoccupied space.
+ */
+ public int lookup(Object key, int hash) {
+ Object node;
+ int hash1 = hash ^ (hash >>> 15);
+ int hash2 = (hash ^ (hash << 6)) | 1; //ensure coprimeness
+ int deleted = -1;
+ for (int i = hash1 & mask;; i = (i + hash2) & mask) {
+ node = objs[i];
+ if (node == key)
+ return i;
+ if (node == null)
+ return deleted >= 0 ? deleted : i;
+ if (node == DELETED && deleted < 0)
+ deleted = i;
+ }
+ }
+
+ /**
+ * Lookup a given key's value in the hash table.
+ *
+ * @param key The key whose value you want to find.
+ * @return Either the index of the key's value, or an index pointing to
+ * unoccupied space.
+ */
+ public int lookup(Object key) {
+ return lookup(key, hash(key));
+ }
+
+ /**
+ * Return the value stored at the specified index in the table.
+ *
+ * @param index The index to inspect, as returned from {@link #lookup}
+ * @return A non-negative integer if the index contains a non-null
+ * value, or -1 if it does.
+ */
+ public int getFromIndex(int index) {
+ Object node = objs[index];
+ return node == null || node == DELETED ? -1 : ints[index];
+ }
+
+ /**
+ * Associates the specified key with the specified value in this map.
+ *
+ * @param key key with which the specified value is to be associated.
+ * @param value value to be associated with the specified key.
+ * @param index the index at which to place this binding, as returned
+ * from {@link #lookup}.
+ * @return previous value associated with specified key, or -1 if there was
+ * no mapping for key.
+ */
+ public int putAtIndex(Object key, int value, int index) {
+ Object old = objs[index];
+ if (old == null || old == DELETED) {
+ objs[index] = key;
+ ints[index] = value;
+ if (old != DELETED)
+ num_bindings++;
+ if (3 * num_bindings >= 2 * objs.length)
+ rehash();
+ return -1;
+ } else { // update existing mapping
+ int oldValue = ints[index];
+ ints[index] = value;
+ return oldValue;
+ }
+ }
+
+ public int remove(Object key) {
+ int index = lookup(key);
+ Object old = objs[index];
+ if (old == null || old == DELETED)
+ return -1;
+ objs[index] = DELETED;
+ return ints[index];
+ }
+
+ /**
+ * Expand the hash table when it exceeds the load factor.
+ *
+ * Rehash the existing objects.
+ */
+ protected void rehash() {
+ Object[] oldObjsTable = objs;
+ int[] oldIntsTable = ints;
+ int oldCapacity = oldObjsTable.length;
+ int newCapacity = oldCapacity << 1;
+ Object[] newObjTable = new Object[newCapacity];
+ int[] newIntTable = new int[newCapacity];
+ int newMask = newCapacity - 1;
+ objs = newObjTable;
+ ints = newIntTable;
+ mask = newMask;
+ num_bindings = 0; // this is recomputed below
+ Object key;
+ for (int i = oldIntsTable.length; --i >= 0;) {
+ key = oldObjsTable[i];
+ if (key != null && key != DELETED)
+ putAtIndex(key, oldIntsTable[i], lookup(key, hash(key)));
+ }
+ }
+
+ /**
+ * Removes all mappings from this map.
+ */
+ public void clear() {
+ for (int i = objs.length; --i >= 0;) {
+ objs[i] = null;
+ }
+ num_bindings = 0;
+ }
+}
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java b/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java
index 58b2241..a80b1a2 100644
--- a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/JavadocTool.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, 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,6 +30,7 @@
import java.util.Collection;
import java.util.EnumSet;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import javax.tools.JavaFileManager.Location;
@@ -238,10 +239,13 @@
files = lb.toList();
}
+ Set<JavaFileObject> ufiles = new HashSet<>();
for (JavaFileObject fo : files) {
- // messager.notice("main.Loading_source_file", fn);
- trees.append(parse(fo));
- hasFiles = true;
+ if (ufiles.add(fo)) { // ignore duplicates
+ // messager.notice("main.Loading_source_file", fn);
+ trees.append(parse(fo));
+ hasFiles = true;
+ }
}
if (!hasFiles) {
diff --git a/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java b/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java
index 49bdc46..fb43a3c 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/AttributeWriter.java
@@ -531,7 +531,6 @@
for (StackMapTable_attribute.stack_map_frame entry : attr.entries) {
w.write(entry);
}
- println();
indent(-1);
return null;
}
@@ -543,7 +542,6 @@
for (StackMapTable_attribute.stack_map_frame entry : attr.entries) {
w.write(entry);
}
- println();
indent(-1);
return null;
}
@@ -555,14 +553,12 @@
}
public Void visit_same_frame(StackMapTable_attribute.same_frame frame, Void p) {
- printHeader(frame);
- println(" /* same */");
+ printHeader(frame, "/* same */");
return null;
}
public Void visit_same_locals_1_stack_item_frame(StackMapTable_attribute.same_locals_1_stack_item_frame frame, Void p) {
- printHeader(frame);
- println(" /* same_locals_1_stack_item */");
+ printHeader(frame, "/* same_locals_1_stack_item */");
indent(+1);
printMap("stack", frame.stack);
indent(-1);
@@ -570,8 +566,7 @@
}
public Void visit_same_locals_1_stack_item_frame_extended(StackMapTable_attribute.same_locals_1_stack_item_frame_extended frame, Void p) {
- printHeader(frame);
- println(" /* same_locals_1_stack_item_frame_extended */");
+ printHeader(frame, "/* same_locals_1_stack_item_frame_extended */");
indent(+1);
println("offset_delta = " + frame.offset_delta);
printMap("stack", frame.stack);
@@ -580,8 +575,7 @@
}
public Void visit_chop_frame(StackMapTable_attribute.chop_frame frame, Void p) {
- printHeader(frame);
- println(" /* chop */");
+ printHeader(frame, "/* chop */");
indent(+1);
println("offset_delta = " + frame.offset_delta);
indent(-1);
@@ -589,8 +583,7 @@
}
public Void visit_same_frame_extended(StackMapTable_attribute.same_frame_extended frame, Void p) {
- printHeader(frame);
- println(" /* same_frame_extended */");
+ printHeader(frame, "/* same_frame_extended */");
indent(+1);
println("offset_delta = " + frame.offset_delta);
indent(-1);
@@ -598,21 +591,20 @@
}
public Void visit_append_frame(StackMapTable_attribute.append_frame frame, Void p) {
- printHeader(frame);
- println(" /* append */");
+ printHeader(frame, "/* append */");
indent(+1);
println("offset_delta = " + frame.offset_delta);
printMap("locals", frame.locals);
+ indent(-1);
return null;
}
public Void visit_full_frame(StackMapTable_attribute.full_frame frame, Void p) {
- printHeader(frame);
if (frame instanceof StackMap_attribute.stack_map_frame) {
+ printHeader(frame, "offset = " + frame.offset_delta);
indent(+1);
- println(" offset = " + frame.offset_delta);
} else {
- println(" /* full_frame */");
+ printHeader(frame, "/* full_frame */");
indent(+1);
println("offset_delta = " + frame.offset_delta);
}
@@ -622,8 +614,9 @@
return null;
}
- void printHeader(StackMapTable_attribute.stack_map_frame frame) {
- print(" frame_type = " + frame.frame_type);
+ void printHeader(StackMapTable_attribute.stack_map_frame frame, String extra) {
+ print("frame_type = " + frame.frame_type + " ");
+ println(extra);
}
void printMap(String name, StackMapTable_attribute.verification_type_info[] map) {
diff --git a/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java b/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java
index 4c2d920..899bc41 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/BasicWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2014, 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
@@ -151,12 +151,22 @@
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
switch (c) {
+ case ' ':
+ pendingSpaces++;
+ break;
+
case '\n':
println();
break;
+
default:
if (buffer.length() == 0)
indent();
+ if (pendingSpaces > 0) {
+ for (int sp = 0; sp < pendingSpaces; sp++)
+ buffer.append(' ');
+ pendingSpaces = 0;
+ }
buffer.append(c);
}
}
@@ -164,6 +174,8 @@
}
protected void println() {
+ // ignore/discard pending spaces
+ pendingSpaces = 0;
out.println(buffer);
buffer.setLength(0);
}
@@ -173,26 +185,21 @@
}
protected void tab() {
- if (buffer.length() == 0)
- indent();
- space(indentCount * indentWidth + tabColumn - buffer.length());
+ int col = indentCount * indentWidth + tabColumn;
+ pendingSpaces += (col <= buffer.length() ? 1 : col - buffer.length());
}
private void indent() {
- space(indentCount * indentWidth);
+ pendingSpaces += (indentCount * indentWidth);
}
- private void space(int n) {
- for (int i = 0; i < n; i++)
- buffer.append(' ');
- }
-
- private PrintWriter out;
- private StringBuilder buffer;
+ private final PrintWriter out;
+ private final StringBuilder buffer;
private int indentCount;
- private int indentWidth;
- private int tabColumn;
+ private final int indentWidth;
+ private final int tabColumn;
private boolean pendingNewline;
+ private int pendingSpaces;
}
}
diff --git a/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java b/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
index fad08ac..f19ba36 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/ConstantWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2014, 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
@@ -64,7 +64,7 @@
public Integer visitClass(CONSTANT_Class_info info, Void p) {
print("#" + info.name_index);
tab();
- println("// " + stringValue(info));
+ println("// " + stringValue(info));
return 1;
}
@@ -76,7 +76,7 @@
public Integer visitFieldref(CONSTANT_Fieldref_info info, Void p) {
print("#" + info.class_index + ".#" + info.name_and_type_index);
tab();
- println("// " + stringValue(info));
+ println("// " + stringValue(info));
return 1;
}
@@ -93,14 +93,14 @@
public Integer visitInterfaceMethodref(CONSTANT_InterfaceMethodref_info info, Void p) {
print("#" + info.class_index + ".#" + info.name_and_type_index);
tab();
- println("// " + stringValue(info));
+ println("// " + stringValue(info));
return 1;
}
public Integer visitInvokeDynamic(CONSTANT_InvokeDynamic_info info, Void p) {
print("#" + info.bootstrap_method_attr_index + ":#" + info.name_and_type_index);
tab();
- println("// " + stringValue(info));
+ println("// " + stringValue(info));
return 1;
}
@@ -112,21 +112,21 @@
public Integer visitNameAndType(CONSTANT_NameAndType_info info, Void p) {
print("#" + info.name_index + ":#" + info.type_index);
tab();
- println("// " + stringValue(info));
+ println("// " + stringValue(info));
return 1;
}
public Integer visitMethodref(CONSTANT_Methodref_info info, Void p) {
print("#" + info.class_index + ".#" + info.name_and_type_index);
tab();
- println("// " + stringValue(info));
+ println("// " + stringValue(info));
return 1;
}
public Integer visitMethodHandle(CONSTANT_MethodHandle_info info, Void p) {
print("#" + info.reference_kind.tag + ":#" + info.reference_index);
tab();
- println("// " + stringValue(info));
+ println("// " + stringValue(info));
return 1;
}
@@ -140,7 +140,7 @@
public Integer visitString(CONSTANT_String_info info, Void p) {
print("#" + info.string_index);
tab();
- println("// " + stringValue(info));
+ println("// " + stringValue(info));
return 1;
}
diff --git a/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java b/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java
index 6033433..e808989 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/JavapTask.java
@@ -273,7 +273,9 @@
void process(JavapTask task, String opt, String arg) throws BadArgs {
int sep = opt.indexOf(":");
try {
- task.options.indentWidth = Integer.valueOf(opt.substring(sep + 1));
+ int i = Integer.valueOf(opt.substring(sep + 1));
+ if (i > 0) // silently ignore invalid values
+ task.options.indentWidth = i;
} catch (NumberFormatException e) {
}
}
@@ -289,7 +291,9 @@
void process(JavapTask task, String opt, String arg) throws BadArgs {
int sep = opt.indexOf(":");
try {
- task.options.tabColumn = Integer.valueOf(opt.substring(sep + 1));
+ int i = Integer.valueOf(opt.substring(sep + 1));
+ if (i > 0) // silently ignore invalid values
+ task.options.tabColumn = i;
} catch (NumberFormatException e) {
}
}
@@ -525,8 +529,12 @@
}
}
- if (fileManager.handleOption(name, rest))
- return;
+ try {
+ if (fileManager.handleOption(name, rest))
+ return;
+ } catch (IllegalArgumentException e) {
+ throw new BadArgs("err.invalid.use.of.option", name).showUsage(true);
+ }
throw new BadArgs("err.unknown.option", name).showUsage(true);
}
diff --git a/langtools/src/share/classes/com/sun/tools/javap/Options.java b/langtools/src/share/classes/com/sun/tools/javap/Options.java
index fbfc30b..3723fc3 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/Options.java
+++ b/langtools/src/share/classes/com/sun/tools/javap/Options.java
@@ -86,6 +86,6 @@
public boolean showConstants;
public boolean sysInfo;
public boolean showInnerClasses;
- public int indentWidth = 2; // #spaces per indentWidth level
- public int tabColumn = 40; // column number for comments
+ public int indentWidth = 2; // #spaces per indentWidth level; must be > 0
+ public int tabColumn = 40; // column number for comments; must be > 0
}
diff --git a/langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties b/langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties
index a704e7f5..861a676 100644
--- a/langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties
+++ b/langtools/src/share/classes/com/sun/tools/javap/resources/javap.properties
@@ -13,6 +13,7 @@
err.missing.arg=no value given for {0}
err.no.classes.specified=no classes specified
err.not.standard.file.manager=can only specify class files when using a standard file manager
+err.invalid.use.of.option=invalid use of option: {0}
err.unknown.option=unknown option: {0}
err.no.SourceFile.attribute=no SourceFile attribute
err.source.file.not.found=source file not found
@@ -77,7 +78,7 @@
\ -bootclasspath <path> Override location of bootstrap class files
main.opt.constants=\
-\ -constants Show static final constants
+\ -constants Show final constants
main.opt.sysinfo=\
diff --git a/langtools/test/com/sun/javadoc/5093723/T5093723.java b/langtools/test/com/sun/javadoc/5093723/T5093723.java
index 4fb3f90..1b23bb1 100644
--- a/langtools/test/com/sun/javadoc/5093723/T5093723.java
+++ b/langtools/test/com/sun/javadoc/5093723/T5093723.java
@@ -36,7 +36,7 @@
private static final String BUG_ID = "5093723";
private static final String[] ARGS = new String[] {
- "-d", BUG_ID + ".out", "-source", "5", "-Xdoclint:none",
+ "-d", BUG_ID + ".out", "-Xdoclint:none",
SRC_DIR + "/DocumentedClass.java",
SRC_DIR + "/UndocumentedClass.java"
};
diff --git a/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java b/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java
index b0ff91f..1b10ca0 100644
--- a/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java
+++ b/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java
@@ -40,7 +40,7 @@
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-source", "1.5", "pkg"
+ "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
diff --git a/langtools/test/com/sun/javadoc/testAnnotationTypes/TestAnnotationTypes.java b/langtools/test/com/sun/javadoc/testAnnotationTypes/TestAnnotationTypes.java
index 9908131..eb8ff2a 100644
--- a/langtools/test/com/sun/javadoc/testAnnotationTypes/TestAnnotationTypes.java
+++ b/langtools/test/com/sun/javadoc/testAnnotationTypes/TestAnnotationTypes.java
@@ -39,7 +39,7 @@
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-source", "1.5", "pkg"
+ "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
diff --git a/langtools/test/com/sun/javadoc/testClassTree/TestClassTree.java b/langtools/test/com/sun/javadoc/testClassTree/TestClassTree.java
index a652fe0..feb497e 100644
--- a/langtools/test/com/sun/javadoc/testClassTree/TestClassTree.java
+++ b/langtools/test/com/sun/javadoc/testClassTree/TestClassTree.java
@@ -42,7 +42,7 @@
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-source", "1.5","-sourcepath", SRC_DIR, "pkg"
+ "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
diff --git a/langtools/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java b/langtools/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java
index 0f185fb..02aab38 100644
--- a/langtools/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java
+++ b/langtools/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java
@@ -38,7 +38,7 @@
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-source", "1.5", "-sourcepath", SRC_DIR, "pkg"
+ "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
};
private static final String TARGET_FILE =
diff --git a/langtools/test/com/sun/javadoc/testHref/TestHref.java b/langtools/test/com/sun/javadoc/testHref/TestHref.java
index 964edf2..d27019b 100644
--- a/langtools/test/com/sun/javadoc/testHref/TestHref.java
+++ b/langtools/test/com/sun/javadoc/testHref/TestHref.java
@@ -38,7 +38,7 @@
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-source", "1.5", "-sourcepath", SRC_DIR, "-linkoffline",
+ "-d", BUG_ID, "-sourcepath", SRC_DIR, "-linkoffline",
"http://java.sun.com/j2se/1.4/docs/api/", SRC_DIR, "pkg"
};
diff --git a/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java b/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java
index 151549b..0fb47c1 100644
--- a/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java
+++ b/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java
@@ -32,6 +32,12 @@
* @run main TestLambdaFeature
*/
+/*
+ * NOTE : This test should be elided when version 1.7 support is removed from the JDK
+ * or the negative part of the test showing 1.7's non-support should be
+ * removed [ 8022738 ]
+ */
+
public class TestLambdaFeature extends JavadocTester {
//Test information.
@@ -43,7 +49,7 @@
};
private static final String[] ARGS_1 = new String[] {
- "-d", BUG_ID + "-2", "-sourcepath", SRC_DIR, "-source", "1.5", "pkg1"
+ "-d", BUG_ID + "-2", "-sourcepath", SRC_DIR, "-source", "1.7", "pkg1"
};
//Input for string search tests.
diff --git a/langtools/test/com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java b/langtools/test/com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java
index 37c403e..988bacc 100644
--- a/langtools/test/com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java
+++ b/langtools/test/com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java
@@ -38,7 +38,7 @@
//Javadoc arguments.
private static final String[] ARGS = new String[]{
- "-d", BUG_ID, "-source", "1.5", "-sourcepath", SRC_DIR,
+ "-d", BUG_ID, "-sourcepath", SRC_DIR,
"pkg"
};
diff --git a/langtools/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java b/langtools/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java
index 6f9337e..1fe9967 100644
--- a/langtools/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java
+++ b/langtools/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java
@@ -40,7 +40,7 @@
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-use", "-source", "1.5", "-sourcepath", SRC_DIR, "pkg", "pkg1", "pkg2"
+ "-Xdoclint:none", "-d", BUG_ID, "-use", "-sourcepath", SRC_DIR, "pkg", "pkg1", "pkg2"
};
//Input for string search tests.
diff --git a/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java b/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java
index 5a286d9..2288d02 100644
--- a/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java
+++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java
@@ -38,11 +38,11 @@
//Javadoc arguments.
private static final String[] ARGS1 = new String[]{
- "-d", BUG_ID + "-1", "-source", "1.5", "-sourcepath", SRC_DIR, "-use", "pkg", "pkg1",
+ "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR, "-use", "pkg", "pkg1",
SRC_DIR + FS + "C2.java", SRC_DIR + FS + "FooDepr.java"
};
private static final String[] ARGS2 = new String[]{
- "-d", BUG_ID + "-2", "-source", "1.5", "-sourcepath", SRC_DIR, "-use", "-nodeprecated",
+ "-d", BUG_ID + "-2", "-sourcepath", SRC_DIR, "-use", "-nodeprecated",
"pkg", "pkg1", SRC_DIR + FS + "C2.java", SRC_DIR + FS + "FooDepr.java"
};
diff --git a/langtools/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java b/langtools/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java
index 2e422bb..9b7c37c 100644
--- a/langtools/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java
+++ b/langtools/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java
@@ -49,11 +49,11 @@
//Javadoc arguments.
private static final String[] ARGS1 = new String[] {
- "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR, "-source", "1.5", "pkg", "pkg2"
+ "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR, "pkg", "pkg2"
};
private static final String[] ARGS2 = new String[] {
"-d", BUG_ID + "-2", "-sourcepath", SRC_DIR, "-private",
- "-source", "1.5", "pkg", "pkg2"
+ "pkg", "pkg2"
};
// Test output when -private flag is not used.
diff --git a/langtools/test/com/sun/javadoc/testSingleQuotedLink/TestSingleQuotedLink.java b/langtools/test/com/sun/javadoc/testSingleQuotedLink/TestSingleQuotedLink.java
new file mode 100644
index 0000000..ef8bc56
--- /dev/null
+++ b/langtools/test/com/sun/javadoc/testSingleQuotedLink/TestSingleQuotedLink.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2014, 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 6457406
+ * @summary Verify that a link in single quotes copied to the class-use page as is.
+ * @author Yuri Nesterenko
+ * @library ../lib/
+ * @build JavadocTester TestSingleQuotedLink
+ * @run main TestSingleQuotedLink
+ */
+public class TestSingleQuotedLink extends JavadocTester {
+
+ private static final String BUG_ID = "6457406";
+ // We are testing the redirection algorithm with a known scenario when a writer is not forced to ignore it: "-use".
+ private static final String[][] TEST = {
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
+ "<a href=\'http://download.oracle.com/javase/8/docs/technotes/guides/indexC2.html\'>"
+ }
+ };
+ private static final String[][] NEGATED_TEST = {
+ {BUG_ID + FS + "pkg1" + FS + "class-use" + FS + "C1.html",
+ "pkg1/\'http://download.oracle.com/javase/8/docs/technotes/guides/indexC2.html\'>"
+ }
+ };
+ private static final String[] ARGS =
+ new String[]{
+ "-d", BUG_ID, "-sourcepath", SRC_DIR, "-use", "pkg1"
+ };
+
+ /**
+ * The entry point of the test.
+ * @param args the array of command line arguments.
+ */
+ public static void main(String[] args) {
+ TestSingleQuotedLink tester = new TestSingleQuotedLink();
+ run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.printSummary();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getBugId() {
+ return BUG_ID;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getBugName() {
+ return getClass().getName();
+ }
+}
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/langtools/test/com/sun/javadoc/testSingleQuotedLink/pkg1/C1.java
similarity index 84%
rename from langtools/test/tools/javadoc/sourceOption/p/A.java
rename to langtools/test/com/sun/javadoc/testSingleQuotedLink/pkg1/C1.java
index f64d498..7c1faaf 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/langtools/test/com/sun/javadoc/testSingleQuotedLink/pkg1/C1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -21,9 +21,9 @@
* questions.
*/
-package p;
+package pkg1;
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
-}
+/**
+ * Class 1. This is a test.
+ */
+public class C1 {}
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/langtools/test/com/sun/javadoc/testSingleQuotedLink/pkg1/C2.java
similarity index 78%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to langtools/test/com/sun/javadoc/testSingleQuotedLink/pkg1/C2.java
index f64d498..40a65f2 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/langtools/test/com/sun/javadoc/testSingleQuotedLink/pkg1/C2.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -21,9 +21,11 @@
* questions.
*/
-package p;
+package pkg1;
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
-}
+/**
+ * Class 2 refers to <a href='http://download.oracle.com/javase/8/docs/technotes/guides/indexC2.html'>Here</a>.
+ * This is a single quoted link.
+ */
+public class C2 extends C1 {}
+
diff --git a/langtools/test/com/sun/javadoc/testSingleQuotedLink/pkg1/package.html b/langtools/test/com/sun/javadoc/testSingleQuotedLink/pkg1/package.html
new file mode 100644
index 0000000..ea1a8f3
--- /dev/null
+++ b/langtools/test/com/sun/javadoc/testSingleQuotedLink/pkg1/package.html
@@ -0,0 +1,14 @@
+<html>
+<head>
+<title>javax.management package</title>
+</head>
+<body bgcolor="white">
+ This is a test.
+ <p id="spec">
+ <a href='http://download.oracle.com/javase/8/docs/technotes/guides/indexdocument.html'>
+ Another Test document 2.</a> Single quotes also but as of now, package-summary writer excluded from redirection algorithm.
+
+ @since 1.5
+
+</body>
+</html>
diff --git a/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java b/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java
index 14e7ba4..95e5561 100644
--- a/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java
+++ b/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java
@@ -42,11 +42,11 @@
//Javadoc arguments.
private static final String[] ARGS1 = new String[]{
- "-d", BUG_ID, "-use", "-source", "1.5", "-sourcepath", SRC_DIR,
+ "-d", BUG_ID, "-use", "-sourcepath", SRC_DIR,
"pkg"
};
private static final String[] ARGS2 = new String[]{
- "-d", BUG_ID, "-linksource", "-source", "1.5", "-sourcepath", SRC_DIR,
+ "-d", BUG_ID, "-linksource", "-sourcepath", SRC_DIR,
"pkg"
};
diff --git a/langtools/test/tools/javac/TryWithResources/BadTwrSyntax.out b/langtools/test/tools/javac/TryWithResources/BadTwrSyntax.out
index 1d182f8..6733c8d 100644
--- a/langtools/test/tools/javac/TryWithResources/BadTwrSyntax.out
+++ b/langtools/test/tools/javac/TryWithResources/BadTwrSyntax.out
@@ -1,7 +1,2 @@
BadTwrSyntax.java:14:43: compiler.err.illegal.start.of.type
-BadTwrSyntax.java:14:44: compiler.err.expected: =
-BadTwrSyntax.java:14:45: compiler.err.expected: ')'
-BadTwrSyntax.java:14:47: compiler.err.expected: '{'
-BadTwrSyntax.java:15:19: compiler.err.illegal.start.of.expr
-BadTwrSyntax.java:15:23: compiler.err.expected: ';'
-6 errors
+1 error
diff --git a/langtools/test/tools/javac/annotations/typeAnnotations/6967002/T6967002.out b/langtools/test/tools/javac/annotations/typeAnnotations/6967002/T6967002.out
index 18b7530..f7e2685 100644
--- a/langtools/test/tools/javac/annotations/typeAnnotations/6967002/T6967002.out
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/6967002/T6967002.out
@@ -1,8 +1,2 @@
T6967002.java:33:22: compiler.err.expected: ')'
-T6967002.java:33:25: compiler.err.illegal.start.of.expr
-T6967002.java:33:28: compiler.err.illegal.start.of.expr
-T6967002.java:33:29: compiler.err.illegal.start.of.expr
-T6967002.java:33:27: compiler.err.not.stmt
-T6967002.java:33:30: compiler.err.expected: ';'
-T6967002.java:35:2: compiler.err.premature.eof
-7 errors
+1 error
diff --git a/langtools/test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out b/langtools/test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out
index 2ab8045..77b25af 100644
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/AnnotatedPackage2.out
@@ -1,3 +1,3 @@
AnnotatedPackage2.java:9:8: compiler.err.expected: token.identifier
-AnnotatedPackage2.java:9:10: compiler.err.expected3: class, interface, enum
+AnnotatedPackage2.java:9:12: compiler.err.expected3: class, interface, enum
2 errors
diff --git a/langtools/test/tools/javac/annotations/typeAnnotations/failures/OldArray.out b/langtools/test/tools/javac/annotations/typeAnnotations/failures/OldArray.out
index 6ae37b9..f6d3d03 100644
--- a/langtools/test/tools/javac/annotations/typeAnnotations/failures/OldArray.out
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/failures/OldArray.out
@@ -1,10 +1,4 @@
OldArray.java:12:11: compiler.err.expected: ']'
OldArray.java:12:13: compiler.err.expected: token.identifier
-OldArray.java:12:14: compiler.err.expected: ';'
-OldArray.java:12:17: compiler.err.illegal.start.of.type
-OldArray.java:12:18: compiler.err.expected: token.identifier
-OldArray.java:12:19: compiler.err.expected: ';'
-OldArray.java:12:22: compiler.err.illegal.start.of.type
-OldArray.java:12:28: compiler.err.expected: token.identifier
-OldArray.java:13:1: compiler.err.expected3: class, interface, enum
-9 errors
+OldArray.java:12:16: compiler.err.invalid.meth.decl.ret.type.req
+3 errors
diff --git a/langtools/test/tools/javac/api/TestTrees.java b/langtools/test/tools/javac/api/TestTrees.java
index 4974bb4..a95e9a2 100644
--- a/langtools/test/tools/javac/api/TestTrees.java
+++ b/langtools/test/tools/javac/api/TestTrees.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, 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 6346249 6392177
+ * @bug 6346249 6392177 6411385
* @summary new Trees API
*/
@@ -51,6 +51,9 @@
@Anno
int annoField;
+ @Anno
+ public TestTrees() {
+ }
static final String testSrcDir = System.getProperty("test.src");
static final String testClassDir = System.getProperty("test.classes");
@@ -75,7 +78,7 @@
Iterable<? extends JavaFileObject> files =
fm.getJavaFileObjectsFromFiles(Arrays.asList(new File(testSrcDir, self + ".java")));
- Iterable<String> opts = Arrays.asList("-d", ".");
+ Iterable<String> opts = Arrays.asList("-d", ".", "-XDcompilePolicy=simple");
System.err.println("simple compilation, no processing");
JavacTask task = tool.getTask(out, fm, dl, opts, null, files);
@@ -83,7 +86,8 @@
if (!task.call())
throw new AssertionError("compilation failed");
- opts = Arrays.asList("-d", ".", "-processorpath", testClassDir, "-processor", self);
+ opts = Arrays.asList("-d", ".", "-processorpath", testClassDir, "-processor", self,
+ "-XDcompilePolicy=simple");
System.err.println();
System.err.println("compilation with processing");
@@ -138,7 +142,7 @@
System.err.println("testAnnotation: " + e + " " + a);
Tree tree = trees.getTree(e, a);
- if (tree.getKind() != Tree.Kind.ANNOTATION)
+ if (tree.getKind() != Tree.Kind.ANNOTATION && tree.getKind() != Tree.Kind.TYPE_ANNOTATION)
error("bad result from getTree");
TreePath path = trees.getPath(e, a);
@@ -146,6 +150,36 @@
error("bad result from getPath");
}
+ void testAllDeclarations(Trees trees, CompilationUnitTree cut) {
+ new TreePathScanner<Void, Void>() {
+ @Override public Void scan(Tree tree, Void p) {
+ if (tree == null) return null;
+ switch (tree.getKind()) {
+ case METHOD: case CLASS: case VARIABLE: case TYPE_PARAMETER:
+ TreePath path = new TreePath(getCurrentPath(), tree);
+ Element el = trees.getElement(path);
+ if (el == null) {
+ error("null element");
+ } else {
+ TreePath inferred = trees.getPath(el);
+ if (inferred == null) {
+ error("null path");
+ } else {
+ if (inferred.getLeaf() != path.getLeaf())
+ error("bad result from getPath");
+ }
+ if (trees.getTree(el) != path.getLeaf())
+ error("bad result from getTree");
+ for (AnnotationMirror m: el.getAnnotationMirrors()) {
+ testAnnotation(trees, el, m);
+ }
+ }
+ }
+ return super.scan(tree, p);
+ }
+ }.scan(cut, null);
+ }
+
void error(String msg) {
if (messager != null)
// annotation processing will happen in a separate instance/classloader
@@ -202,6 +236,7 @@
switch (e.getKind()) {
case ANALYZE:
testElement(Trees.instance(task), e.getTypeElement());
+ testAllDeclarations(Trees.instance(task), e.getCompilationUnit());
break;
}
}
@@ -209,8 +244,19 @@
private final JavacTask task;
}
+ public static class TestTypeParams<@Anno T extends CharSequence> {
+ public <@Anno T extends Object> TestTypeParams(T param) { }
+ public <@Anno T extends Number> void m(T param) {
+ int local;
+ try {
+ new String();
+ } catch (Exception exc) { }
+ }
+ }
}
@Retention(RetentionPolicy.SOURCE)
+@Target({ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.TYPE_PARAMETER,
+ ElementType.FIELD, ElementType.LOCAL_VARIABLE})
@interface Anno {
}
diff --git a/langtools/test/tools/javac/T8029240/DefaultMethodsNotVisibileForSource7Test.java b/langtools/test/tools/javac/defaultMethodsVisibility/DefaultMethodsNotVisibleForSourceLessThan8Test.java
similarity index 75%
rename from langtools/test/tools/javac/T8029240/DefaultMethodsNotVisibileForSource7Test.java
rename to langtools/test/tools/javac/defaultMethodsVisibility/DefaultMethodsNotVisibleForSourceLessThan8Test.java
index 7a7516f..ea12893 100644
--- a/langtools/test/tools/javac/T8029240/DefaultMethodsNotVisibileForSource7Test.java
+++ b/langtools/test/tools/javac/defaultMethodsVisibility/DefaultMethodsNotVisibleForSourceLessThan8Test.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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,20 +23,21 @@
/*
* @test
- * @bug 8029240
+ * @bug 8029240 8030855
* @summary Default methods not always visible under -source 7
+ * Default methods should be visible under source previous to 8
* @library /tools/javac/lib
* @build ToolBox
- * @run main DefaultMethodsNotVisibileForSource7Test
+ * @run main DefaultMethodsNotVisibleForSourceLessThan8Test
*/
import java.nio.file.Files;
import java.nio.file.Paths;
-public class DefaultMethodsNotVisibileForSource7Test {
+public class DefaultMethodsNotVisibleForSourceLessThan8Test {
// common definitions
- // this one should be compiled with source 8, the rest with source 7
+ // this one should be compiled with source 8, the rest with source < 8
static final String ISrc =
"interface I {\n" +
" default void m() {}\n" +
@@ -54,22 +55,22 @@
// test legacy implementations
static final String C1Src =
"class C1 implements I {\n" +
- " @Override public void m() {}\n" +
+ " public void m() {}\n" +
"}";
static final String C2Src =
"class C2 implements J {\n" +
- " @Override public void m() {}\n" +
+ " public void m() {}\n" +
"}";
static final String C3Src =
"class C3 extends A {\n" +
- " @Override public void m() {}\n" +
+ " public void m() {}\n" +
"}";
static final String C4Src =
"class C4 extends B {\n" +
- " @Override public void m() {}\n" +
+ " public void m() {}\n" +
"}";
//test legacy invocations
@@ -99,10 +100,25 @@
"}";
public static void main(String[] args) throws Exception {
- new DefaultMethodsNotVisibileForSource7Test().run();
+ String[] sources = new String[] {
+ "1.2",
+ "1.3",
+ "1.4",
+ "1.5",
+ "1.6",
+ "1.7",
+ };
+ for (String source : sources) {
+ new DefaultMethodsNotVisibleForSourceLessThan8Test().run(source);
+ }
}
- void run() throws Exception {
+ String outDir;
+ String source;
+
+ void run(String source) throws Exception {
+ this.source = source;
+ outDir = "out" + source.replace('.', '_');
testsPreparation();
testLegacyImplementations();
testLegacyInvocations();
@@ -110,27 +126,27 @@
}
void testsPreparation() throws Exception {
- Files.createDirectory(Paths.get("out"));
+ Files.createDirectory(Paths.get(outDir));
/* as an extra check let's make sure that interface 'I' can't be compiled
- * with source 7
+ * with source < 8
*/
ToolBox.JavaToolArgs javacArgs =
new ToolBox.JavaToolArgs(ToolBox.Expect.FAIL)
- .setOptions("-d", "out", "-source", "7")
+ .setOptions("-d", outDir, "-source", source)
.setSources(ISrc);
ToolBox.javac(javacArgs);
//but it should compile with source >= 8
javacArgs =
new ToolBox.JavaToolArgs()
- .setOptions("-d", "out")
+ .setOptions("-d", outDir)
.setSources(ISrc);
ToolBox.javac(javacArgs);
javacArgs =
new ToolBox.JavaToolArgs()
- .setOptions("-cp", "out", "-d", "out", "-source", "7")
+ .setOptions("-cp", outDir, "-d", outDir, "-source", source)
.setSources(JSrc, ASrc, BSrc);
ToolBox.javac(javacArgs);
}
@@ -139,7 +155,7 @@
//compile C1-4
ToolBox.JavaToolArgs javacArgs =
new ToolBox.JavaToolArgs()
- .setOptions("-cp", "out", "-d", "out", "-source", "7")
+ .setOptions("-cp", outDir, "-d", outDir, "-source", source)
.setSources(C1Src, C2Src, C3Src, C4Src);
ToolBox.javac(javacArgs);
}
@@ -148,7 +164,7 @@
//compile LegacyInvocation
ToolBox.JavaToolArgs javacArgs =
new ToolBox.JavaToolArgs()
- .setOptions("-cp", "out", "-d", "out", "-source", "7")
+ .setOptions("-cp", outDir, "-d", outDir, "-source", source)
.setSources(LegacyInvocationSrc);
ToolBox.javac(javacArgs);
}
@@ -157,7 +173,7 @@
//compile SubA, SubB
ToolBox.JavaToolArgs javacArgs =
new ToolBox.JavaToolArgs()
- .setOptions("-cp", "out", "-d", "out", "-source", "7")
+ .setOptions("-cp", outDir, "-d", outDir, "-source", source)
.setSources(SubASrc, SubBSrc);
ToolBox.javac(javacArgs);
}
diff --git a/langtools/test/tools/javac/diags/CheckResourceKeys.java b/langtools/test/tools/javac/diags/CheckResourceKeys.java
index bb9e10b..5f7f5c3 100644
--- a/langtools/test/tools/javac/diags/CheckResourceKeys.java
+++ b/langtools/test/tools/javac/diags/CheckResourceKeys.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, 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
@@ -31,6 +31,7 @@
import java.util.*;
import javax.tools.*;
import com.sun.tools.classfile.*;
+import com.sun.tools.javac.code.Lint.LintCategory;
/**
* Compare string constants in javac classes against keys in javac resource bundles.
@@ -156,6 +157,20 @@
if (needToInvestigate.contains(rk))
continue;
+ //check lint description keys:
+ if (s.startsWith("opt.Xlint.desc.")) {
+ String option = s.substring(15);
+ boolean found = false;
+
+ for (LintCategory lc : LintCategory.values()) {
+ if (option.equals(lc.option))
+ found = true;
+ }
+
+ if (found)
+ continue;
+ }
+
error("Resource key not found in code: " + rk);
}
}
@@ -274,6 +289,7 @@
// prefix/embedded strings
"compiler.",
"compiler.misc.",
+ "opt.Xlint.desc.",
"count.",
"illegal.",
"javac.",
diff --git a/langtools/test/tools/javac/diags/examples.not-yet.txt b/langtools/test/tools/javac/diags/examples.not-yet.txt
index 2676b71..9f22770 100644
--- a/langtools/test/tools/javac/diags/examples.not-yet.txt
+++ b/langtools/test/tools/javac/diags/examples.not-yet.txt
@@ -110,4 +110,4 @@
compiler.warn.unknown.enum.constant # in bad class file
compiler.warn.unknown.enum.constant.reason # in bad class file
compiler.warn.override.equals.but.not.hashcode # when a class overrides equals but not hashCode method from Object
-
+compiler.warn.file.from.future # warning for future modification times on files
diff --git a/langtools/test/tools/javac/diags/examples/ArrayAndReceiver.java b/langtools/test/tools/javac/diags/examples/ArrayAndReceiver.java
index fc15597..d30aa67 100644
--- a/langtools/test/tools/javac/diags/examples/ArrayAndReceiver.java
+++ b/langtools/test/tools/javac/diags/examples/ArrayAndReceiver.java
@@ -22,9 +22,6 @@
*/
// key: compiler.err.array.and.receiver
-// key: compiler.err.expected
-// key: compiler.err.expected3
-// key: compiler.err.illegal.start.of.type
class ArrayAndReceiver {
void m(ArrayAndReceiver this[]) { }
diff --git a/langtools/test/tools/javac/diags/examples/EmptyCharLiteral.java b/langtools/test/tools/javac/diags/examples/EmptyCharLiteral.java
index 28c4091..e34ab6f 100644
--- a/langtools/test/tools/javac/diags/examples/EmptyCharLiteral.java
+++ b/langtools/test/tools/javac/diags/examples/EmptyCharLiteral.java
@@ -23,7 +23,6 @@
// key: compiler.err.empty.char.lit
// key: compiler.err.unclosed.char.lit
-// key: compiler.err.premature.eof
class X {
char c = '';
diff --git a/langtools/test/tools/javac/diags/examples/IllegalDot.java b/langtools/test/tools/javac/diags/examples/IllegalDot.java
index be0aa4b..156b73d 100644
--- a/langtools/test/tools/javac/diags/examples/IllegalDot.java
+++ b/langtools/test/tools/javac/diags/examples/IllegalDot.java
@@ -22,8 +22,6 @@
*/
// key: compiler.err.illegal.dot
-// key: compiler.err.expected
-// key: compiler.err.illegal.start.of.type
class X {
void m(Object.. args) { }
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/langtools/test/tools/javac/diags/examples/IllegalStartOfType.java
similarity index 84%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to langtools/test/tools/javac/diags/examples/IllegalStartOfType.java
index f64d498..10469b9 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/langtools/test/tools/javac/diags/examples/IllegalStartOfType.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -21,9 +21,8 @@
* questions.
*/
-package p;
+// key: compiler.err.illegal.start.of.type
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+class IllegalStartOfType {
+ public void test(int i,) { }
}
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/langtools/test/tools/javac/diags/examples/InitializerNotAllowed.java
similarity index 83%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to langtools/test/tools/javac/diags/examples/InitializerNotAllowed.java
index f64d498..526e89f 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/langtools/test/tools/javac/diags/examples/InitializerNotAllowed.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -21,9 +21,10 @@
* questions.
*/
-package p;
+// key: compiler.err.initializer.not.allowed
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+interface InitializerNotAllowed {
+ {
+ System.out.println();
+ }
}
diff --git a/langtools/test/tools/javac/diags/examples/InvalidBinaryNumber.java b/langtools/test/tools/javac/diags/examples/InvalidBinaryNumber.java
index e7728e4..e591c2a 100644
--- a/langtools/test/tools/javac/diags/examples/InvalidBinaryNumber.java
+++ b/langtools/test/tools/javac/diags/examples/InvalidBinaryNumber.java
@@ -22,9 +22,6 @@
*/
// key: compiler.err.invalid.binary.number
-// key: compiler.err.illegal.start.of.type
-// key: compiler.err.expected
-// key: compiler.err.premature.eof
class InvalidBinaryNumber {
int i = 0b201000010;
diff --git a/langtools/test/tools/javac/diags/examples/VarargsMustBeLast.java b/langtools/test/tools/javac/diags/examples/VarargsMustBeLast.java
index bff1fbb..0c728b9 100644
--- a/langtools/test/tools/javac/diags/examples/VarargsMustBeLast.java
+++ b/langtools/test/tools/javac/diags/examples/VarargsMustBeLast.java
@@ -23,6 +23,6 @@
// key: compiler.err.varargs.must.be.last
-class VarargMustBeFinal {
+class VarargMustBeLast {
public void invalidVarArg(String... invalidVarArg, String extra) { }
}
diff --git a/langtools/test/tools/javac/enum/EnumMembersOrder.out b/langtools/test/tools/javac/enum/EnumMembersOrder.out
index d89a3d7..75d17a7 100644
--- a/langtools/test/tools/javac/enum/EnumMembersOrder.out
+++ b/langtools/test/tools/javac/enum/EnumMembersOrder.out
@@ -1,6 +1,6 @@
EnumMembersOrder.java:11:16: compiler.err.expected: ')'
EnumMembersOrder.java:11:17: compiler.err.expected3: ',', '}', ';'
-EnumMembersOrder.java:11:19: compiler.err.expected: '}'
+EnumMembersOrder.java:11:18: compiler.err.expected: '}'
EnumMembersOrder.java:11:31: compiler.err.expected3: class, interface, enum
EnumMembersOrder.java:17:13: compiler.err.expected3: class, interface, enum
EnumMembersOrder.java:19:1: compiler.err.expected3: class, interface, enum
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/langtools/test/tools/javac/implicitCompile/Implicit.java
similarity index 83%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to langtools/test/tools/javac/implicitCompile/Implicit.java
index f64d498..4a36d89 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/langtools/test/tools/javac/implicitCompile/Implicit.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -20,10 +20,5 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-
-package p;
-
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+class Implicit {
}
diff --git a/langtools/test/tools/javac/implicitCompile/SkipAttrFlowGenForImplicits.java b/langtools/test/tools/javac/implicitCompile/SkipAttrFlowGenForImplicits.java
new file mode 100644
index 0000000..6f8004a
--- /dev/null
+++ b/langtools/test/tools/javac/implicitCompile/SkipAttrFlowGenForImplicits.java
@@ -0,0 +1,9 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8030714
+ * @summary make sure attribute and flow is skipped for implicit classes
+ * @compile/ref=SkipAttrFlowGenForImplicits.out -XDverboseCompilePolicy -implicit:none SkipAttrFlowGenForImplicits.java
+ */
+class Explicit {
+ Implicit implicit;
+}
diff --git a/langtools/test/tools/javac/implicitCompile/SkipAttrFlowGenForImplicits.out b/langtools/test/tools/javac/implicitCompile/SkipAttrFlowGenForImplicits.out
new file mode 100644
index 0000000..11cc813
--- /dev/null
+++ b/langtools/test/tools/javac/implicitCompile/SkipAttrFlowGenForImplicits.out
@@ -0,0 +1,4 @@
+[attribute Explicit]
+[flow Explicit]
+[desugar Explicit]
+[generate code Explicit]
diff --git a/langtools/test/tools/javac/nativeHeaders/javahComparison/CompareTest.java b/langtools/test/tools/javac/nativeHeaders/javahComparison/CompareTest.java
index a4a9ab6..9513e4a 100644
--- a/langtools/test/tools/javac/nativeHeaders/javahComparison/CompareTest.java
+++ b/langtools/test/tools/javac/nativeHeaders/javahComparison/CompareTest.java
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 7150368 8003412 8000407
+ * @bug 7150368 8003412 8000407 8031545
* @summary javac should include basic ability to generate native headers
*/
diff --git a/langtools/test/tools/javac/nativeHeaders/javahComparison/TestClass1.java b/langtools/test/tools/javac/nativeHeaders/javahComparison/TestClass1.java
index 93b21ae..6cdcd10 100644
--- a/langtools/test/tools/javac/nativeHeaders/javahComparison/TestClass1.java
+++ b/langtools/test/tools/javac/nativeHeaders/javahComparison/TestClass1.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2014, 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
@@ -129,50 +129,52 @@
native List<String>[] gaamn();
// overloaded Java methods
- byte bm1() { return 0; }
- short sm1() { return 0; }
- int im1() { return 0; }
- long lm1() { return 0; }
- float fm1() { return 0; }
- double dm1() { return 0; }
- Object om1() { return null; }
- String tm1() { return ""; }
- List<String> gm1() { return null; }
- void vm1() { }
+ byte bmo() { return 0; }
+ short smo() { return 0; }
+ int imo() { return 0; }
+ long lmo() { return 0; }
+ float fmo() { return 0; }
+ double dmo() { return 0; }
+ Object omo() { return null; }
+ String tmo() { return ""; }
+ List<String> gmo() { return null; }
+ void vmo() { }
- byte bm2(int i) { return 0; }
- short sm2(int i) { return 0; }
- int im2(int i) { return 0; }
- long lm2(int i) { return 0; }
- float fm2(int i) { return 0; }
- double dm2(int i) { return 0; }
- Object om2(int i) { return null; }
- String tm2(int i) { return ""; }
- List<String> gm2(int i) { return null; }
- void vm2(int i) { }
+ byte bmo(int i) { return 0; }
+ short smo(int i) { return 0; }
+ int imo(int i) { return 0; }
+ long lmo(int i) { return 0; }
+ float fmo(int i) { return 0; }
+ double dmo(int i) { return 0; }
+ Object omo(int i) { return null; }
+ String tmo(int i) { return ""; }
+ List<String> gmo(int i) { return null; }
+ void vmo(int i) { }
// overloaded native methods
- native byte bmn1();
- native short smn1();
- native int imn1();
- native long lmn1();
- native float fmn1();
- native double dmn1();
- native Object omn1();
- native String tmn1();
- native List<String> gmn1();
- native void vmn1();
+ native byte bmno();
+ native short smno();
+ native int imno();
+ native long lmno();
+ native float fmno();
+ native double dmno();
+ native Object omno();
+ native String tmno();
+ native List<String> gmno();
+ native void vmno();
+ native Inner1 icmno();
- native byte bmn2(int i);
- native short smn2(int i);
- native int imn2(int i);
- native long lmn2(int i);
- native float fmn2(int i);
- native double dmn2(int i);
- native Object omn2(int i);
- native String tmn2(int i);
- native List<String> gmn2(int i);
- native void vmn2(int i);
+ native byte bmno(int i);
+ native short smno(int i);
+ native int imno(int i);
+ native long lmno(int i);
+ native float fmno(int i);
+ native double dmno(int i);
+ native Object omno(int i);
+ native String tmno(int i);
+ native List<String> gmno(int i);
+ native void vmno(int i);
+ native Inner1 icmno(Inner1 in1);
// arg types for Java methods
void mb(byte b) { }
@@ -266,50 +268,50 @@
native void vmn();
// overloaded Java methods
- byte bm1() { return 0; }
- short sm1() { return 0; }
- int im1() { return 0; }
- long lm1() { return 0; }
- float fm1() { return 0; }
- double dm1() { return 0; }
- Object om1() { return null; }
- String tm1() { return ""; }
- List<String> gm1() { return null; }
- void vm1() { }
+ byte bmo() { return 0; }
+ short smo() { return 0; }
+ int imo() { return 0; }
+ long lmo() { return 0; }
+ float fmo() { return 0; }
+ double dmo() { return 0; }
+ Object omo() { return null; }
+ String tmo() { return ""; }
+ List<String> gmo() { return null; }
+ void vmo() { }
- byte bm2(int i) { return 0; }
- short sm2(int i) { return 0; }
- int im2(int i) { return 0; }
- long lm2(int i) { return 0; }
- float fm2(int i) { return 0; }
- double dm2(int i) { return 0; }
- Object om2(int i) { return null; }
- String tm2(int i) { return ""; }
- List<String> gm2(int i) { return null; }
- void vm2(int i) { }
+ byte bmo(int i) { return 0; }
+ short smo(int i) { return 0; }
+ int imo(int i) { return 0; }
+ long lmo(int i) { return 0; }
+ float fmo(int i) { return 0; }
+ double dmo(int i) { return 0; }
+ Object omo(int i) { return null; }
+ String tmo(int i) { return ""; }
+ List<String> gmo(int i) { return null; }
+ void vmo(int i) { }
// overloaded native methods
- native byte bmn1();
- native short smn1();
- native int imn1();
- native long lmn1();
- native float fmn1();
- native double dmn1();
- native Object omn1();
- native String tmn1();
- native List<String> gmn1();
- native void vmn1();
+ native byte bmno();
+ native short smno();
+ native int imno();
+ native long lmno();
+ native float fmno();
+ native double dmno();
+ native Object omno();
+ native String tmno();
+ native List<String> gmno();
+ native void vmno();
- native byte bmn2(int i);
- native short smn2(int i);
- native int imn2(int i);
- native long lmn2(int i);
- native float fmn2(int i);
- native double dmn2(int i);
- native Object omn2(int i);
- native String tmn2(int i);
- native List<String> gmn2(int i);
- native void vmn2(int i);
+ native byte bmno(int i);
+ native short smno(int i);
+ native int imno(int i);
+ native long lmno(int i);
+ native float fmno(int i);
+ native double dmno(int i);
+ native Object omno(int i);
+ native String tmno(int i);
+ native List<String> gmno(int i);
+ native void vmno(int i);
// arg types for Java methods
void mb(byte b) { }
diff --git a/langtools/test/tools/javac/parser/7157165/T7157165.out b/langtools/test/tools/javac/parser/7157165/T7157165.out
index ed252df..deb580d 100644
--- a/langtools/test/tools/javac/parser/7157165/T7157165.out
+++ b/langtools/test/tools/javac/parser/7157165/T7157165.out
@@ -1,4 +1,4 @@
T7157165.java:11:20: compiler.err.expected: >
-T7157165.java:11:21: compiler.err.expected: ';'
-T7157165.java:11:22: compiler.err.illegal.start.of.type
+T7157165.java:11:22: compiler.err.expected: token.identifier
+T7157165.java:11:28: compiler.err.expected: token.identifier
3 errors
diff --git a/langtools/test/tools/javac/parser/ErroneousParameters.java b/langtools/test/tools/javac/parser/ErroneousParameters.java
index f6311d6..e2bc138 100644
--- a/langtools/test/tools/javac/parser/ErroneousParameters.java
+++ b/langtools/test/tools/javac/parser/ErroneousParameters.java
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8030091
+ * @bug 8030091 8031383
* @summary Producing reasonable errors for unexpected tokens in method parameters
* @compile/fail/ref=ErroneousParameters.out -XDrawDiagnostics ErroneousParameters.java
*/
diff --git a/langtools/test/tools/javac/parser/ErroneousParameters.out b/langtools/test/tools/javac/parser/ErroneousParameters.out
index 89d9e37..638bbc0 100644
--- a/langtools/test/tools/javac/parser/ErroneousParameters.out
+++ b/langtools/test/tools/javac/parser/ErroneousParameters.out
@@ -1,14 +1,6 @@
ErroneousParameters.java:10:36: compiler.err.varargs.must.be.last
ErroneousParameters.java:11:39: compiler.err.expected3: ',', ')', '['
-ErroneousParameters.java:11:42: compiler.err.illegal.start.of.type
-ErroneousParameters.java:11:43: compiler.err.expected: token.identifier
-ErroneousParameters.java:11:45: compiler.err.expected: ';'
ErroneousParameters.java:12:40: compiler.err.illegal.start.of.type
-ErroneousParameters.java:12:41: compiler.err.expected3: ',', ')', '['
-ErroneousParameters.java:12:43: compiler.err.expected: ';'
ErroneousParameters.java:13:41: compiler.err.expected: ']'
ErroneousParameters.java:14:38: compiler.err.expected3: ',', ')', '['
-ErroneousParameters.java:14:39: compiler.err.illegal.start.of.type
-ErroneousParameters.java:14:40: compiler.err.expected: token.identifier
-ErroneousParameters.java:14:42: compiler.err.expected: ';'
-13 errors
+5 errors
diff --git a/langtools/test/tools/javac/parser/MissingClosingBrace.java b/langtools/test/tools/javac/parser/MissingClosingBrace.java
new file mode 100644
index 0000000..c28645f
--- /dev/null
+++ b/langtools/test/tools/javac/parser/MissingClosingBrace.java
@@ -0,0 +1,13 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8031383
+ * @summary Verify that the parser handles a missing closing brace of a block gracefully.
+ * @compile/fail/ref=MissingClosingBrace.out -XDrawDiagnostics MissingClosingBrace.java
+ */
+
+public class MissingClosingBrace {
+ private void test(int i) {
+ if (i > 0) {
+
+ private int i;
+}
diff --git a/langtools/test/tools/javac/parser/MissingClosingBrace.out b/langtools/test/tools/javac/parser/MissingClosingBrace.out
new file mode 100644
index 0000000..b4eed3c
--- /dev/null
+++ b/langtools/test/tools/javac/parser/MissingClosingBrace.out
@@ -0,0 +1,2 @@
+MissingClosingBrace.java:12:5: compiler.err.illegal.start.of.expr
+1 error
diff --git a/langtools/test/tools/javac/parser/SingleCommaAnnotationValueFail.out b/langtools/test/tools/javac/parser/SingleCommaAnnotationValueFail.out
index 10a8f4d..8c8f056 100644
--- a/langtools/test/tools/javac/parser/SingleCommaAnnotationValueFail.out
+++ b/langtools/test/tools/javac/parser/SingleCommaAnnotationValueFail.out
@@ -1,6 +1,3 @@
SingleCommaAnnotationValueFail.java:34:12: compiler.err.expected: '}'
-SingleCommaAnnotationValueFail.java:34:13: compiler.err.illegal.start.of.type
-SingleCommaAnnotationValueFail.java:34:14: compiler.err.expected: token.identifier
-SingleCommaAnnotationValueFail.java:34:15: compiler.err.expected: ';'
-SingleCommaAnnotationValueFail.java:34:21: compiler.err.invalid.meth.decl.ret.type.req
-5 errors
+SingleCommaAnnotationValueFail.java:34:14: compiler.err.expected3: class, interface, enum
+2 errors
diff --git a/langtools/test/tools/javac/parser/T4881269.out b/langtools/test/tools/javac/parser/T4881269.out
index b6b2698..b843617 100644
--- a/langtools/test/tools/javac/parser/T4881269.out
+++ b/langtools/test/tools/javac/parser/T4881269.out
@@ -2,8 +2,4 @@
T4881269.java:33:27: compiler.err.illegal.dot
T4881269.java:33:22: compiler.err.not.stmt
T4881269.java:34:19: compiler.err.illegal.dot
-T4881269.java:34:20: compiler.err.expected: ';'
-T4881269.java:34:22: compiler.err.illegal.start.of.type
-T4881269.java:34:23: compiler.err.expected: token.identifier
-T4881269.java:34:25: compiler.err.expected: ';'
-8 errors
+4 errors
diff --git a/langtools/test/tools/javac/parser/T4910483.java b/langtools/test/tools/javac/parser/T4910483.java
new file mode 100644
index 0000000..7d80e0a
--- /dev/null
+++ b/langtools/test/tools/javac/parser/T4910483.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2014, 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 4910483
+ * @summary javac shouldn't throw NPE while compiling invalid RuntimeInvisibleParameterAnnotations
+ * @run main T4910483
+ */
+
+import java.io.File;
+
+import com.sun.tools.javac.main.JavaCompiler;
+import com.sun.tools.javac.file.JavacFileManager;
+import com.sun.tools.javac.tree.JCTree;
+import com.sun.tools.javac.util.Context;
+
+import javax.tools.JavaFileObject;
+
+/**Test comment abc*\\def*/
+public class T4910483 {
+ public static void main(String... args) {
+ JavaCompiler compiler = JavaCompiler.instance(new Context());
+ compiler.keepComments = true;
+
+ String testSrc = System.getProperty("test.src");
+ JavacFileManager fm = new JavacFileManager(new Context(), false, null);
+ JavaFileObject f = fm.getFileForInput(testSrc + File.separatorChar + "T4910483.java");
+
+ JCTree.JCCompilationUnit cu = compiler.parse(f);
+ JCTree classDef = cu.getTypeDecls().head;
+ String commentText = cu.docComments.getCommentText(classDef);
+
+ String expected = "Test comment abc*\\\\def"; // 4 '\' escapes to 2 in a string literal
+ if (!expected.equals(commentText)) {
+ throw new AssertionError("Incorrect comment text: [" + commentText + "], expected [" + expected + "]");
+ }
+ }
+}
diff --git a/langtools/test/tools/javac/processing/TestWarnErrorCount.java b/langtools/test/tools/javac/processing/TestWarnErrorCount.java
index ceadf5f..c2ec5ec 100644
--- a/langtools/test/tools/javac/processing/TestWarnErrorCount.java
+++ b/langtools/test/tools/javac/processing/TestWarnErrorCount.java
@@ -214,7 +214,7 @@
javaWarnsExpected = 0;
break;
case JAVA:
- errsExpected = 2;
+ errsExpected = 1;
msgrWarnsExpected = mwk.count(1, ERROR_ROUND + 1);
javaWarnsExpected = 0;
break;
diff --git a/langtools/test/tools/javac/processing/errors/TestParseErrors/TestParseErrors.out b/langtools/test/tools/javac/processing/errors/TestParseErrors/TestParseErrors.out
index 11cff7d..f84325e 100644
--- a/langtools/test/tools/javac/processing/errors/TestParseErrors/TestParseErrors.out
+++ b/langtools/test/tools/javac/processing/errors/TestParseErrors/TestParseErrors.out
@@ -1,8 +1,3 @@
ParseErrors.java:37:37: compiler.err.expected: token.identifier
ParseErrors.java:38:1: compiler.err.illegal.start.of.type
-ParseErrors.java:38:2: compiler.err.expected3: ',', ')', '['
-ParseErrors.java:40:6: compiler.err.expected: ';'
-ParseErrors.java:40:20: compiler.err.illegal.start.of.type
-ParseErrors.java:41:5: compiler.err.expected: '('
-ParseErrors.java:41:8: compiler.err.expected: token.identifier
-7 errors
+2 errors
diff --git a/langtools/test/tools/javac/profiles/ProfileOptionTest.java b/langtools/test/tools/javac/profiles/ProfileOptionTest.java
index fb0e1f6..8314282 100644
--- a/langtools/test/tools/javac/profiles/ProfileOptionTest.java
+++ b/langtools/test/tools/javac/profiles/ProfileOptionTest.java
@@ -184,8 +184,7 @@
com.sun.security.auth.PolicyFile.class); // specifically included in 3
init(Profile.DEFAULT,
- java.beans.BeanInfo.class,
- javax.management.remote.rmi._RMIServer_Stub.class); // specifically excluded in 3
+ java.beans.BeanInfo.class);
}
void init(Profile p, Class<?>... classes) {
diff --git a/langtools/test/tools/javac/quid/T6999438.out b/langtools/test/tools/javac/quid/T6999438.out
index 3527ae6..3a267ee 100644
--- a/langtools/test/tools/javac/quid/T6999438.out
+++ b/langtools/test/tools/javac/quid/T6999438.out
@@ -1,6 +1,2 @@
T6999438.java:8:9: compiler.err.illegal.char: #
-T6999438.java:8:10: compiler.err.illegal.start.of.type
-T6999438.java:8:25: compiler.err.expected: token.identifier
-T6999438.java:8:26: compiler.err.expected: ';'
-T6999438.java:9:2: compiler.err.premature.eof
-5 errors
+1 error
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/langtools/test/tools/javac/varargs/MethodHandleCrash.java
similarity index 71%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to langtools/test/tools/javac/varargs/MethodHandleCrash.java
index f64d498..a95862d 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/langtools/test/tools/javac/varargs/MethodHandleCrash.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -21,9 +21,16 @@
* questions.
*/
-package p;
-
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+/*
+ * @test
+ * @bug 8034048
+ * @summary javac crash with method references plus lambda plus var args
+ * @author govereau
+ *
+ * @compile MethodHandleCrash.java
+ */
+public interface MethodHandleCrash {
+ static<T> void functional(T... input) {
+ java.util.function.Consumer<T> c = MethodHandleCrash::functional;
+ }
}
diff --git a/langtools/test/tools/javac/warnings/VerifyLintDescriptions.java b/langtools/test/tools/javac/warnings/VerifyLintDescriptions.java
new file mode 100644
index 0000000..b7bc698
--- /dev/null
+++ b/langtools/test/tools/javac/warnings/VerifyLintDescriptions.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2014, 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 8033961
+ * @summary Verify that all LintCategories have their descriptions filled.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import com.sun.tools.javac.code.Lint.LintCategory;
+import com.sun.tools.javac.util.Log.PrefixKind;
+
+public class VerifyLintDescriptions {
+ public static void main(String... args) {
+ ResourceBundle b = ResourceBundle.getBundle("com.sun.tools.javac.resources.javac",
+ Locale.US);
+
+ List<String> missing = new ArrayList<>();
+
+ for (LintCategory lc : LintCategory.values()) {
+ try {
+ b.getString(PrefixKind.JAVAC.key("opt.Xlint.desc." + lc.option));
+ } catch (MissingResourceException ex) {
+ missing.add(lc.option);
+ }
+ }
+
+ if (!missing.isEmpty()) {
+ throw new UnsupportedOperationException("Lints that are missing description: " + missing);
+ }
+ }
+
+}
diff --git a/langtools/test/tools/javac/warnings/suppress/Overridden.java b/langtools/test/tools/javac/warnings/suppress/Overridden.java
new file mode 100644
index 0000000..8366e39
--- /dev/null
+++ b/langtools/test/tools/javac/warnings/suppress/Overridden.java
@@ -0,0 +1,16 @@
+/**
+ * @test /nodynamiccopyright/
+ * @bug 8033421
+ * @summary Check that \\@SuppressWarnings works properly when overriding deprecated method.
+ * @build VerifySuppressWarnings
+ * @compile/ref=Overridden.out -XDrawDiagnostics -Xlint:deprecation Overridden.java
+ * @run main VerifySuppressWarnings Overridden.java
+ */
+
+public class Overridden implements Interface {
+ public void test() { }
+}
+
+interface Interface {
+ @Deprecated void test();
+}
diff --git a/langtools/test/tools/javac/warnings/suppress/Overridden.out b/langtools/test/tools/javac/warnings/suppress/Overridden.out
new file mode 100644
index 0000000..a215218
--- /dev/null
+++ b/langtools/test/tools/javac/warnings/suppress/Overridden.out
@@ -0,0 +1,2 @@
+Overridden.java:11:17: compiler.warn.has.been.deprecated: test(), Interface
+1 warning
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/langtools/test/tools/javac/warnings/suppress/OverriddenSuppressed.java
similarity index 69%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to langtools/test/tools/javac/warnings/suppress/OverriddenSuppressed.java
index f64d498..4d2e305 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/langtools/test/tools/javac/warnings/suppress/OverriddenSuppressed.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -21,9 +21,18 @@
* questions.
*/
-package p;
+/**
+ * @test
+ * @bug 8033421
+ * @summary Check that \\@SuppressWarnings works properly when overriding deprecated method.
+ * @compile -Werror -Xlint:deprecation OverriddenSuppressed.java
+ */
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+public class OverriddenSuppressed implements Interface {
+ @SuppressWarnings("deprecation")
+ public void test() { }
+}
+
+interface Interface {
+ @Deprecated void test();
}
diff --git a/langtools/test/tools/javadoc/6964914/JavacWarning.java b/langtools/test/tools/javadoc/6964914/JavacWarning.java
index b5eb9ab..241e6ff 100644
--- a/langtools/test/tools/javadoc/6964914/JavacWarning.java
+++ b/langtools/test/tools/javadoc/6964914/JavacWarning.java
@@ -22,5 +22,5 @@
*/
public class JavacWarning {
- int enum; // warning in source 1.4
+ String _ = null; // this will cause a warning. It may be deprecated in JDK8
}
diff --git a/langtools/test/tools/javadoc/6964914/Test.java b/langtools/test/tools/javadoc/6964914/Test.java
index 751f295..609a8e8 100644
--- a/langtools/test/tools/javadoc/6964914/Test.java
+++ b/langtools/test/tools/javadoc/6964914/Test.java
@@ -46,7 +46,6 @@
File testSrc = new File(System.getProperty("test.src"));
String[] args = {
"-Xdoclint:none",
- "-source", "1.4", // enables certain Parser warnings
"-bootclasspath", System.getProperty("sun.boot.class.path"),
"-classpath", ".",
"-package",
diff --git a/langtools/test/tools/javadoc/LangVers.java b/langtools/test/tools/javadoc/LangVers.java
index 5acc895..36972ee 100644
--- a/langtools/test/tools/javadoc/LangVers.java
+++ b/langtools/test/tools/javadoc/LangVers.java
@@ -42,7 +42,7 @@
"javadoc",
"LangVers",
LangVers.class.getClassLoader(),
- new String[] {"-source", "1.5", thisFile}) != 0)
+ new String[] {thisFile}) != 0)
throw new Error("Javadoc encountered warnings or errors.");
}
diff --git a/langtools/test/tools/javadoc/parser/7091528/T7091528.java b/langtools/test/tools/javadoc/parser/7091528/T7091528.java
index 4e06a3b..b491073 100644
--- a/langtools/test/tools/javadoc/parser/7091528/T7091528.java
+++ b/langtools/test/tools/javadoc/parser/7091528/T7091528.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2014, 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 7091528
- * @summary javadoc attempts to parse .class files
+ * @bug 7091528 8029145
+ * @summary ensures javadoc parses unique source files and ignores all class files
* @compile p/C1.java p/q/C2.java
* @run main T7091528
*/
@@ -37,17 +37,22 @@
public static void main(String... args) {
new T7091528().run();
}
-
void run() {
File testSrc = new File(System.getProperty("test.src"));
File testClasses = new File(System.getProperty("test.classes"));
- String[] args = {
- "-d", ".",
+ // 7091528, tests if class files are being ignored
+ runTest("-d", ".",
"-sourcepath", testClasses + File.pathSeparator + testSrc,
"-subpackages",
- "p"
- };
+ "p");
+ // 8029145, tests if unique source files are parsed
+ runTest("-d", ".",
+ "-sourcepath", testSrc.getAbsolutePath(),
+ "-subpackages",
+ "p:p.q");
+ }
+ void runTest(String... args) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
String doclet = com.sun.tools.doclets.standard.Standard.class.getName();
diff --git a/langtools/test/tools/javadoc/sourceOption/SourceOption.java b/langtools/test/tools/javadoc/sourceOption/SourceOption.java
index ef94002..e9abf48 100644
--- a/langtools/test/tools/javadoc/sourceOption/SourceOption.java
+++ b/langtools/test/tools/javadoc/sourceOption/SourceOption.java
@@ -26,6 +26,31 @@
* @bug 6507179
* @summary Ensure that "-source" option isn't ignored.
* @author Scott Seligman
+ * @run main/fail SourceOption 7
+ * @run main SourceOption 9
+ * @run main SourceOption
+ */
+
+/*
+ * TEST NOTE
+ * With JDK9, this test has been transformed into a NEGATIVE test.
+ *
+ * Generally speaking, this test should check a feature not in at least
+ * one of the currently supported previous versions. In this manner,
+ * a failure of the -source option to be honored would mean a pass of
+ * the test, and therefore a failure of the -source option.
+ *
+ * For JDK9 and JDK10, both support 1.7, which did not support javac's
+ * lambda construct. So we set "-source 1.7" to compile a .java file
+ * containing the lambda construct. javac should fail, thus showing
+ * -source to be working. Thus the test passes.
+ *
+ * The second jtreg @run command checks to make sure that the source
+ * provided is valid for the current release of the JDK.
+ *
+ * fixVersion: JDK11
+ * replace ./p/LambdaConstructTest.java with a missing from
+ * JDK8, JDK9, or JDK10. Set -source below appropriately.
*/
import com.sun.javadoc.*;
@@ -33,12 +58,22 @@
public class SourceOption extends Doclet {
public static void main(String[] args) {
+ String[] params;
+ if ((args == null) || (args.length==0)) {
+ params = new String[]{"p"};
+ System.out.println("NOTE : -source not provided, default taken");
+ } else {
+ params = new String[]{"-source", args[0], "p"};
+ System.out.println("NOTE : -source will be: " + args[0]);
+ }
+
if (com.sun.tools.javadoc.Main.execute(
"javadoc",
"SourceOption",
SourceOption.class.getClassLoader(),
- new String[] {"-source", "1.3", "p"}) != 0)
- throw new Error("Javadoc encountered warnings or errors.");
+ params) != 0)
+ throw new Error("Javadoc encountered warnings or errors.");
+
}
public static boolean start(RootDoc root) {
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/langtools/test/tools/javadoc/sourceOption/p/LambdaConstructTest.java
similarity index 74%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to langtools/test/tools/javadoc/sourceOption/p/LambdaConstructTest.java
index f64d498..b88f586 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/langtools/test/tools/javadoc/sourceOption/p/LambdaConstructTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -21,9 +21,17 @@
* questions.
*/
-package p;
+public class LambdaConstructTest {
+ public static void main(String[] args) {
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+ System.out.println("=== LambdaConstructTest ===");
+
+ // Lambda Runnable
+ Runnable lambda = () -> System.out.println("it's a Lambda world!");
+
+ // Run it!
+ lambda.run();
+
+ }
}
+
diff --git a/langtools/test/tools/javap/MethodParameters.java b/langtools/test/tools/javap/MethodParameters.java
index 940724b..d9c4278 100644
--- a/langtools/test/tools/javap/MethodParameters.java
+++ b/langtools/test/tools/javap/MethodParameters.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, 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
@@ -44,24 +44,24 @@
static final String Init0_expected =
(" Foo();\n" +
" descriptor: ()V\n" +
- " flags: \n" +
+ " flags:\n" +
" Code:\n" +
" stack=1, locals=1, args_size=1\n" +
- " 0: aload_0 \n" +
+ " 0: aload_0\n" +
" 1: invokespecial #1 // Method java/lang/Object.\"<init>\":()V\n" +
- " 4: return \n" +
+ " 4: return\n" +
" LineNumberTable:\n" +
" line 2: 0").replaceAll(" +", " ");
static final String Init1_expected =
(" Foo(int);\n" +
" descriptor: (I)V\n" +
- " flags: \n" +
+ " flags:\n" +
" Code:\n" +
" stack=1, locals=2, args_size=2\n" +
- " 0: aload_0 \n" +
+ " 0: aload_0\n" +
" 1: invokespecial #1 // Method java/lang/Object.\"<init>\":()V\n" +
- " 4: return \n" +
+ " 4: return\n" +
" LineNumberTable:\n" +
" line 3: 0\n" +
" MethodParameters:\n" +
@@ -71,25 +71,25 @@
static final String foo0_expected =
(" void foo0();\n" +
" descriptor: ()V\n" +
- " flags: \n" +
+ " flags:\n" +
" Code:\n" +
" stack=0, locals=1, args_size=1\n" +
- " 0: return \n" +
+ " 0: return\n" +
" LineNumberTable:\n" +
" line 4: 0").replaceAll(" +", " ");
static final String foo2_expected =
(" void foo2(int, int);\n" +
" descriptor: (II)V\n" +
- " flags: \n" +
+ " flags:\n" +
" Code:\n" +
" stack=0, locals=3, args_size=3\n" +
- " 0: return \n" +
+ " 0: return\n" +
" LineNumberTable:\n" +
" line 5: 0\n" +
" MethodParameters:\n" +
" Name Flags\n" +
- " j \n" +
+ " j\n" +
" k").replaceAll(" +", " ");
static final File classesdir = new File("methodparameters");
diff --git a/langtools/test/tools/javap/StackMapTableTest.java b/langtools/test/tools/javap/StackMapTableTest.java
new file mode 100644
index 0000000..97e19ac
--- /dev/null
+++ b/langtools/test/tools/javap/StackMapTableTest.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2014, 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 8033930 8033913
+ * @summary bad formatting of StackMapTable entries
+ */
+
+import java.io.*;
+import java.util.*;
+
+public class StackMapTableTest {
+ public static void main(String... args) throws Exception {
+ new StackMapTableTest().run();
+ }
+
+ void run() throws Exception {
+ String testClasses = System.getProperty("test.classes");
+ String out = javap("-v", "-classpath", testClasses, A.class.getName());
+
+ String nl = System.getProperty("line.separator");
+ out = out.replaceAll(nl, "\n");
+
+ if (out.contains("\n\n\n"))
+ error("double blank line found");
+
+ String expect =
+ " StackMapTable: number_of_entries = 2\n" +
+ " frame_type = 252 /* append */\n" +
+ " offset_delta = 2\n" +
+ " locals = [ int ]\n" +
+ " frame_type = 250 /* chop */\n" +
+ " offset_delta = 18\n";
+ if (!out.contains(expect))
+ error("expected text not found");
+
+ if (errors > 0)
+ throw new Exception(errors + " errors found");
+ }
+
+ String javap(String... args) throws Exception {
+ StringWriter sw = new StringWriter();
+ PrintWriter out = new PrintWriter(sw);
+ int rc = com.sun.tools.javap.Main.run(args, out);
+ out.close();
+ System.out.println(sw.toString());
+ if (rc < 0)
+ throw new Exception("javap exited, rc=" + rc);
+ return sw.toString();
+ }
+
+ void error(String msg) {
+ System.out.println("Error: " + msg);
+ errors++;
+ }
+
+ int errors;
+
+ /** Simple test class to run through javap. */
+ public class A {
+ public void a() {
+ for (int i = 0; i < 10; i++) {
+ System.out.println(i);
+ }
+ }
+ public void b() {
+ }
+ public void c() {
+ }
+ }
+}
diff --git a/langtools/test/tools/javap/T6868539.java b/langtools/test/tools/javap/T6868539.java
index 3971ea0..de0ebe0 100644
--- a/langtools/test/tools/javap/T6868539.java
+++ b/langtools/test/tools/javap/T6868539.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2014, 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 6868539 6868548
+ * @bug 6868539 6868548 8035364
* @summary javap should use current names for constant pool entries,
* remove spurious ';' from constant pool entries
*/
@@ -41,17 +41,17 @@
void run() {
String output = javap("T6868539");
verify(output, "Utf8 +java/lang/String"); // 1: Utf8
- // 2: currently unused
+ // 2: currently unused
verify(output, "Integer +123456"); // 3: Integer
verify(output, "Float +123456.0f"); // 4: Float
verify(output, "Long +123456l"); // 5: Long
verify(output, "Double +123456.0d"); // 6: Double
- verify(output, "Class +#[0-9]+ +// + T6868539"); // 7: Class
- verify(output, "String +#[0-9]+ +// + not found"); // 8: String
+ verify(output, "Class +#[0-9]+ +// +T6868539"); // 7: Class
+ verify(output, "String +#[0-9]+ +// +not found"); // 8: String
verify(output, "Fieldref +#[0-9]+\\.#[0-9]+ +// +T6868539.errors:I"); // 9: Fieldref
verify(output, "Methodref +#[0-9]+\\.#[0-9]+ +// +T6868539.run:\\(\\)V"); // 10: Methodref
verify(output, "InterfaceMethodref +#[0-9]+\\.#[0-9]+ +// +java/lang/Runnable\\.run:\\(\\)V");
- // 11: InterfaceMethodref
+ // 11: InterfaceMethodref
verify(output, "NameAndType +#[0-9]+:#[0-9]+ +// +run:\\(\\)V"); // 12: NameAndType
if (errors > 0)
throw new Error(errors + " found.");
diff --git a/langtools/test/tools/javap/T8033711.java b/langtools/test/tools/javap/T8033711.java
new file mode 100644
index 0000000..e819146
--- /dev/null
+++ b/langtools/test/tools/javap/T8033711.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2014, 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 8033711
+ * @summary An exception is thrown if using the "-classpath" option with no arguments
+ */
+
+
+import java.io.*;
+
+public class T8033711 {
+ public static void main(String[] args) throws Exception {
+ new T8033711().run();
+ }
+
+ public void run() throws Exception {
+ String out = javap("-classpath");
+ if (out.contains("IllegalArgumentException"))
+ throw new Exception("exception found in javap output");
+ if (!out.contains("Error: invalid use of option"))
+ throw new Exception("expected error message not found in javap output");
+ }
+
+ String javap(String... args) {
+ StringWriter sw = new StringWriter();
+ PrintWriter out = new PrintWriter(sw);
+ int rc = com.sun.tools.javap.Main.run(args, out);
+ out.close();
+ System.out.println(sw.toString());
+ System.out.println("javap exited, rc=" + rc);
+ return sw.toString();
+ }
+}
diff --git a/langtools/test/tools/javap/WhitespaceTest.java b/langtools/test/tools/javap/WhitespaceTest.java
new file mode 100644
index 0000000..3c9933a
--- /dev/null
+++ b/langtools/test/tools/javap/WhitespaceTest.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2014, 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 8033581 8033798 8033726
+ * @summary Check whitespace in generated output
+ */
+
+import java.io.*;
+import java.util.*;
+
+public class WhitespaceTest {
+ public static void main(String... args) throws Exception {
+ new WhitespaceTest().run();
+ }
+
+ void run() throws Exception {
+ test("-v", "java.lang.String");
+ test("-XDtab:1", "-v", "java.lang.String");
+
+ String testClasses = System.getProperty("test.classes");
+ for (int i = 10; i < 40; i++)
+ test("-XDtab:" + i, "-v", "-classpath", testClasses, "WhitespaceTest$HelloWorld");
+
+ if (errors > 0)
+ throw new Exception(errors + " errors found");
+ }
+
+ void test(String... args) throws Exception {
+ // need to avoid "//" appearing as a constant in the constant pool
+ String slash = "/";
+ String doubleSlash = slash + slash;
+ System.out.println("test: " + Arrays.asList(args));
+ String out = javap(args);
+ for (String line: out.split("[\r\n]+")) {
+ if (line.endsWith(" "))
+ error("line has trailing whitespace: " + line);
+ int comment = line.indexOf(doubleSlash);
+ if (comment > 0 && line.charAt(comment - 1) != ' ')
+ error("no space before comment: " + line);
+ if (line.matches(" +}"))
+ error("bad indentation: " + line);
+ }
+ }
+
+ String javap(String... args) throws Exception {
+ StringWriter sw = new StringWriter();
+ PrintWriter out = new PrintWriter(sw);
+ int rc = com.sun.tools.javap.Main.run(args, out);
+ out.close();
+ System.out.println(sw.toString());
+ if (rc < 0)
+ throw new Exception("javap exited, rc=" + rc);
+ return sw.toString();
+ }
+
+ void error(String msg) {
+ System.out.println("Error: " + msg);
+ errors++;
+ }
+
+ int errors;
+
+ // small class to test repeatedly with different tab values
+ static class HelloWorld {
+ public static void main(String... args) {
+ System.out.println("Hello World!");
+ }
+ }
+}
+
+
diff --git a/make/Main.gmk b/make/Main.gmk
index acb4faa..57c265f 100644
--- a/make/Main.gmk
+++ b/make/Main.gmk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -31,8 +31,8 @@
# Load the vital tools for all the makefiles.
include $(SRC_ROOT)/make/common/MakeBase.gmk
-# Include the corresponding custom file, if present.
--include $(CUSTOM_MAKE_DIR)/Main.gmk
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, , Main.gmk))
### Clean up from previous run
@@ -71,8 +71,9 @@
# Setup a rule for SPEC file that fails if executed. This check makes sure the configuration
# is up to date after changes to configure
$(SPEC): $(wildcard $(SRC_ROOT)/common/autoconf/*)
- @$(ECHO) ERROR: $(SPEC) is not up to date
- @$(ECHO) Please rerun configure!
+ @$(ECHO) "ERROR: $(SPEC) is not up to date."
+ @$(ECHO) "Please rerun configure! Easiest way to do this is by running"
+ @$(ECHO) "'make reconfigure'."
@if test "x$(IGNORE_OLD_CONFIG)" != "xtrue"; then exit 1; fi
start-make: $(SPEC)
@@ -235,6 +236,14 @@
$(call CleanComponent,docstemp)
clean-test:
$(call CleanComponent,testoutput)
+
+reconfigure:
+ ifneq ($(CONFIGURE_COMMAND_LINE), )
+ @$(ECHO) "Re-running configure using arguments '$(CONFIGURE_COMMAND_LINE)'"
+ else
+ @$(ECHO) "Re-running configure using default settings"
+ endif
+ @( cd $(OUTPUT_ROOT) && $(BASH) $(TOPDIR)/configure $(CONFIGURE_COMMAND_LINE) )
.PHONY: langtools corba jaxp jaxws hotspot jdk nashorn images overlay-images install test docs
.PHONY: langtools-only corba-only jaxp-only jaxws-only hotspot-only jdk-only nashorn-only images-only overlay-images-only install-only test-only docs-only
diff --git a/make/common/NativeCompilation.gmk b/make/common/NativeCompilation.gmk
index 0c1f7df..361ea8d 100644
--- a/make/common/NativeCompilation.gmk
+++ b/make/common/NativeCompilation.gmk
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, 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
@@ -31,7 +31,7 @@
$(error You must include MakeBase.gmk prior to including NativeCompilation.gmk)
endif
-ifeq ($(COMPILER_TYPE),CC)
+ifneq ($(TOOLCHAIN_TYPE), microsoft)
COMPILING_MSG=echo $(LOG_INFO) "Compiling $(notdir $1) (for $(notdir $2))"
LINKING_MSG=echo $(LOG_INFO) "Linking $1"
LINKING_EXE_MSG=echo $(LOG_INFO) "Linking executable $1"
@@ -86,18 +86,18 @@
# Include previously generated dependency information. (if it exists)
-include $$($1_$2_DEP)
- ifeq ($(COMPILER_TYPE),CL)
+ ifeq ($(TOOLCHAIN_TYPE), microsoft)
$1_$2_DEBUG_OUT_FLAGS:=-Fd$$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ)) \
-Fm$$(patsubst %$(OBJ_SUFFIX),%.map,$$($1_$2_OBJ))
endif
endif
$$($1_$2_OBJ) : $2
- ifeq ($(COMPILER_TYPE),CC)
+ ifneq ($(TOOLCHAIN_TYPE), microsoft)
$$(call COMPILING_MSG,$2,$$($1_TARGET))
- # The Sun studio compiler doesn't output the full path to the object file in the
+ # The Solaris studio compiler doesn't output the full path to the object file in the
# generated deps files. Fixing it with sed. If compiling assembly, don't try this.
- ifeq ($(COMPILER_NAME)$$(filter %.s,$2),ossc)
+ ifeq ($(TOOLCHAIN_TYPE)$$(filter %.s,$2), solstudio)
$$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEP_FLAG) $$($1_$2_DEP).tmp $(CC_OUT_OPTION)$$($1_$2_OBJ) $2
$(SED) 's|^$$(@F):|$$@:|' $$($1_$2_DEP).tmp > $$($1_$2_DEP)
else
@@ -107,7 +107,7 @@
# The Visual Studio compiler lacks a feature for generating make dependencies, but by
# setting -showIncludes, all included files are printed. These are filtered out and
# parsed into make dependences.
- ifeq ($(COMPILER_TYPE),CL)
+ ifeq ($(TOOLCHAIN_TYPE), microsoft)
($$($1_$2_COMP) $$($1_$2_FLAGS) -showIncludes $$($1_$2_DEBUG_OUT_FLAGS) \
$(CC_OUT_OPTION)$$($1_$2_OBJ) $2 ; echo $$$$? > $$($1_$2_DEP).exitvalue) \
| $(TEE) $$($1_$2_DEP).raw | $(GREP) -v "^Note: including file:" \
diff --git a/nashorn/.hgtags b/nashorn/.hgtags
index 6236fcb..f233574 100644
--- a/nashorn/.hgtags
+++ b/nashorn/.hgtags
@@ -236,3 +236,4 @@
32631eed0fad2b31346eb41b29a50227bd29e2ec jdk9-b00
65347535840f045f2cd4341d7466c51009b1b06f jdk9-b01
b3517e51f40477f10db8bc30a557aa0ea712c274 jdk9-b02
+832f89ff25d903c45cfc994553f1ade8821a4398 jdk9-b03
diff --git a/nashorn/THIRD_PARTY_README b/nashorn/THIRD_PARTY_README
index 02202a1..a93b35b 100644
--- a/nashorn/THIRD_PARTY_README
+++ b/nashorn/THIRD_PARTY_README
@@ -1,11 +1,813 @@
DO NOT TRANSLATE OR LOCALIZE.
-----------------------------
-%% This notice is provided with respect to ECMAScript Language
-Specification ECMA-262 Edition 5.1 which is included with the Nashorn
-technology.
+%% This notice is provided with respect to ASM Bytecode Manipulation
+Framework v5.0, which may be included with JRE 8, and JDK 8, and
+OpenJDK 8.
--- begin of LICENSE ---
+
+Copyright (c) 2000-2011 France Télécom
+All rights reserved.
+
+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 copyright holders 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 OWNER 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
+THE POSSIBILITY OF SUCH DAMAGE.
+
+--- end of LICENSE ---
+
+--------------------------------------------------------------------------------
+
+%% 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 ---
+
+Copyright 1999 by CoolServlets.com.
+
+Any errors or suggested improvements to this class can be reported as
+instructed on CoolServlets.com. We hope you enjoy this program... your
+comments will encourage further development! This software is distributed
+under the terms of the BSD License. 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.
+
+Neither name of CoolServlets.com 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 COOLSERVLETS.COM 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 AUTHOR 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 THE POSSIBILITY OF SUCH DAMAGE."
+
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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 ---
+
+Cryptix General License
+
+Copyright (c) 1995-2005 The Cryptix Foundation Limited.
+All rights reserved.
+
+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 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 CRYPTIX FOUNDATION LIMITED 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 CRYPTIX FOUNDATION LIMITED 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 THE POSSIBILITY OF SUCH DAMAGE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to CUP Parser Generator for
+Java 0.10k, which may be included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided
+that the above copyright notice appear in all copies and that both the
+copyright notice and this permission notice and warranty disclaimer appear in
+supporting documentation, and that the names of the authors or their
+employers not be used in advertising or publicity pertaining to distribution of
+the software without specific, written prior permission.
+
+The authors and their employers disclaim all warranties with regard to
+this software, including all implied warranties of merchantability and fitness.
+In no event shall the authors or their employers be liable for any special,
+indirect or consequential damages or any damages whatsoever resulting from
+loss of use, data or profits, whether in an action of contract, negligence or
+other tortious action, arising out of or in connection with the use or
+performance of this software.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to Document Object Model (DOM) Level 2
+& 3, which may be included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+W3C SOFTWARE NOTICE AND LICENSE
+
+http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+This work (and included software, documentation such as READMEs, or other
+related items) is being provided by the copyright holders under the following
+license. By obtaining, using and/or copying this work, you (the licensee)
+agree that you have read, understood, and will comply with the following terms
+and conditions.
+
+Permission to copy, modify, and distribute this software and its
+documentation, with or without modification, for any purpose and without fee
+or royalty is hereby granted, provided that you include the following on ALL
+copies of the software and documentation or portions thereof, including
+modifications:
+
+ 1.The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.
+
+ 2.Any pre-existing intellectual property disclaimers, notices, or terms and
+ conditions. If none exist, the W3C Software Short Notice should be included
+ (hypertext is preferred, text is permitted) within the body of any
+ redistributed or derivative code.
+
+ 3.Notice of any changes or modifications to the files, including the date
+ changes were made. (We recommend you provide URIs to the location from
+ which the code is derived.)
+
+THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
+MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
+PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY
+THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL
+OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+DOCUMENTATION. The name and trademarks of copyright holders may NOT be used
+in advertising or publicity pertaining to the software without specific,
+written prior permission. Title to copyright in this software and any
+associated documentation will at all times remain with copyright holders.
+
+____________________________________
+
+This formulation of W3C's notice and license became active on December 31
+2002. This version removes the copyright ownership notice such that this
+license can be used with materials other than those owned by the W3C, reflects
+that ERCIM is now a host of the W3C, includes references to this specific
+dated version of the license, and removes the ambiguous grant of "use".
+Otherwise, this version is the same as the previous version and is written so
+as to preserve the Free Software Foundation's assessment of GPL compatibility
+and OSI's certification under the Open Source Definition. Please see our
+Copyright FAQ for common questions about using materials from our site,
+including specific terms and conditions for packages like libwww, Amaya, and
+Jigsaw. Other questions about this notice can be directed to
+site-policy@w3.org.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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
+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 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 ---
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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
@@ -120,4 +922,2684 @@
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
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that the
+above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and that
+the name of Keith Packard not be used in advertising or publicity pertaining
+to distribution of the software without specific, written prior permission.
+Keith Packard makes no representations about the suitability of this software
+for any purpose. It is provided "as is" without express or implied warranty.
+
+KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL KEITH
+PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
+DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to IAIK PKCS#11 Wrapper,
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+IAIK PKCS#11 Wrapper License
+
+Copyright (c) 2002 Graz University of Technology. All rights reserved.
+
+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. The end-user documentation included with the redistribution, if any, must
+ include the following acknowledgment:
+
+ "This product includes software developed by IAIK of Graz University of
+ Technology."
+
+ Alternately, this acknowledgment may appear in the software itself, if and
+ wherever such third-party acknowledgments normally appear.
+
+4. The names "Graz University of Technology" and "IAIK of Graz University of
+ Technology" must not be used to endorse or promote products derived from this
+ software without prior written permission.
+
+5. Products derived from this software may not be called "IAIK PKCS Wrapper",
+ nor may "IAIK" appear in their name, without prior written permission of
+ Graz University of Technology.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED 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
+LICENSOR 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 ICU4C 4.0.1 and ICU4J 4.4, which
+may be included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Copyright (c) 1995-2010 International Business Machines Corporation and others
+
+All rights reserved.
+
+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, and/or sell copies of the
+Software, and to permit persons to whom the Software is furnished to do so,
+provided that the above copyright notice(s) and this permission notice appear
+in all copies of the Software and that both the above copyright notice(s) and
+this permission notice appear in supporting documentation.
+
+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 OF THIRD PARTY RIGHTS. IN
+NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE
+LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY
+DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization of the copyright holder.
+All trademarks and registered trademarks mentioned herein are the property of
+their respective owners.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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 ---
+
+This software is copyright (C) 1991-1998, Thomas G. Lane.
+All Rights Reserved except as specified below.
+
+Permission is hereby granted to use, copy, modify, and distribute this
+software (or portions thereof) for any purpose, without fee, subject to these
+conditions:
+(1) If any part of the source code for this software is distributed, then this
+README file must be included, with this copyright and no-warranty notice
+unaltered; and any additions, deletions, or changes to the original files
+must be clearly indicated in accompanying documentation.
+(2) If only executable code is distributed, then the accompanying
+documentation must state that "this software is based in part on the work of
+the Independent JPEG Group".
+(3) Permission for use of this software is granted only if the user accepts
+full responsibility for any undesirable consequences; the authors accept
+NO LIABILITY for damages of any kind.
+
+These conditions apply to any software derived from or based on the IJG code,
+not just to the unmodified library. If you use our work, you ought to
+acknowledge us.
+
+Permission is NOT granted for the use of any IJG author's name or company name
+in advertising or publicity relating to this software or products derived from
+it. This software may be referred to only as "the Independent JPEG Group's
+software".
+
+We specifically permit and encourage the use of this software as the basis of
+commercial products, provided that all warranty or liability claims are
+assumed by the product vendor.
+
+--- end of LICENSE ---
+
+--------------------------------------------------------------------------------
+
+%% 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 ---
+
+ Copyright (c) 2004-2009 Paul R. Holser, Jr.
+
+ 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 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 may be included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+ (C) Copyright IBM Corp. 1999 All Rights Reserved.
+ Copyright 1997 The Open Group Research Institute. All rights reserved.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to Kerberos functionality from
+FundsXpress, INC., which may be included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+ Copyright (C) 1998 by the FundsXpress, INC.
+
+ All rights reserved.
+
+ Export of this software from the United States of America may require
+ a specific license from the United States Government. It is the
+ responsibility of any person or organization contemplating export to
+ obtain such a license before exporting.
+
+ WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ distribute this software and its documentation for any purpose and
+ without fee is hereby granted, provided that the above copyright
+ notice appear in all copies and that both that copyright notice and
+ this permission notice appear in supporting documentation, and that
+ the name of FundsXpress. not be used in advertising or publicity pertaining
+ to distribution of the software without specific, written prior
+ permission. FundsXpress makes no representations about the suitability of
+ this software for any purpose. It is provided "as is" without express
+ or implied warranty.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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 ---
+
+ Copyright (c) 2007 The Khronos Group Inc.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and/or associated documentation files (the "Materials"), to
+ deal in the Materials without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Materials, and to permit persons to whom the Materials are
+ 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 Materials.
+
+ THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS IN THE
+ MATERIALS.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% Portions Copyright Eastman Kodak Company 1992
+
+-------------------------------------------------------------------------------
+
+%% 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 ---
+
+This copy of the libpng notices is provided for your convenience. In case of
+any discrepancy between this copy and the notices in the file png.h that is
+included in the libpng distribution, the latter shall prevail.
+
+COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
+
+If you modify libpng you may insert additional notices immediately following
+this sentence.
+
+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
+
+ Cosmin Truta
+
+libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
+Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-1.0.6
+with the following individuals added to the list of Contributing Authors
+
+ Simon-Pierre Cadieux
+ Eric S. Raymond
+ Gilles Vollant
+
+and with the following additions to the disclaimer:
+
+ There is no warranty against interference with your enjoyment of the
+ library or against infringement. There is no warranty that our
+ efforts or the library will fulfill any of your particular purposes
+ or needs. This library is provided with all faults, and the entire
+ risk of satisfactory quality, performance, accuracy, and effort is with
+ the user.
+
+libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
+Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
+distributed according to the same disclaimer and license as libpng-0.96,
+with the following individuals added to the list of Contributing Authors:
+
+ Tom Lane
+ Glenn Randers-Pehrson
+ Willem van Schaik
+
+libpng versions 0.89, June 1996, through 0.96, May 1997, are
+Copyright (c) 1996, 1997 Andreas Dilger
+Distributed according to the same disclaimer and license as libpng-0.88,
+with the following individuals added to the list of Contributing Authors:
+
+ John Bowler
+ Kevin Bracey
+ Sam Bushell
+ Magnus Holmgren
+ Greg Roelofs
+ Tom Tanner
+
+libpng versions 0.5, May 1995, through 0.88, January 1996, are
+Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
+
+For the purposes of this copyright and license, "Contributing Authors"
+is defined as the following set of individuals:
+
+ Andreas Dilger
+ Dave Martindale
+ Guy Eric Schalnat
+ Paul Schmidt
+ Tim Wegner
+
+The PNG Reference Library is supplied "AS IS". The Contributing Authors
+and Group 42, Inc. disclaim all warranties, expressed or implied,
+including, without limitation, the warranties of merchantability and of
+fitness for any purpose. The Contributing Authors and Group 42, Inc.
+assume no liability for direct, indirect, incidental, special, exemplary,
+or consequential damages, which may result from the use of the PNG
+Reference Library, even if advised of the possibility of such damage.
+
+Permission is hereby granted to use, copy, modify, and distribute this
+source code, or portions hereof, for any purpose, without fee, subject
+to the following restrictions:
+
+1. The origin of this source code must not be misrepresented.
+
+2. Altered versions must be plainly marked as such and must not
+ be misrepresented as being the original source.
+
+3. This Copyright notice may not be removed or altered from any
+ source or altered source distribution.
+
+The Contributing Authors and Group 42, Inc. specifically permit, without
+fee, and encourage the use of this source code as a component to
+supporting the PNG file format in commercial products. If you use this
+source code in a product, acknowledgment is not required but would be
+appreciated.
+
+
+A "png_get_copyright" function is available, for convenient use in "about"
+boxes and the like:
+
+ printf("%s",png_get_copyright(NULL));
+
+Also, the PNG logo (in PNG format, of course) is supplied in the
+files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
+
+Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
+certification mark of the Open Source Initiative.
+
+Glenn Randers-Pehrson
+glennrp at users.sourceforge.net
+July 7, 2011
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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 ---
+
+The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond
+
+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 Little CMS 2.4, which may be
+included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Little CMS
+Copyright (c) 1998-2010 Marti Maria Saguer
+
+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 ---
+
+-------------------------------------------------------------------------------
+
+%% Lucida is a registered trademark or trademark of Bigelow & Holmes in the
+U.S. and other countries.
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to Mesa 3D Graphics Library v4.1,
+which may be included with JRE 8, JDK 8, and OpenJDK 8 source distributions.
+
+--- begin of LICENSE ---
+
+ Mesa 3-D graphics library
+ Version: 4.1
+
+ Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
+
+ 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
+ BRIAN PAUL 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 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 may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
+
+--- begin of LICENSE ---
+
+Copyright (c) 1999-2004 David Corcoran <corcoran@linuxnet.com>
+Copyright (c) 1999-2004 Ludovic Rousseau <ludovic.rousseau (at) free.fr>
+All rights reserved.
+
+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. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by:
+ David Corcoran <corcoran@linuxnet.com>
+ http://www.linuxnet.com (MUSCLE)
+4. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+Changes to this license can be made only by the copyright author with
+explicit written consent.
+
+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 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 may be included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Copyright (c) Kohsuke Kawaguchi
+
+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 RelaxNGCC v1.12, which may be
+included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Copyright (c) 2000-2003 Daisuke Okajima and Kohsuke Kawaguchi.
+All rights reserved.
+
+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. The end-user documentation included with the redistribution, if any, must
+ include the following acknowledgment:
+
+ "This product includes software developed by Daisuke Okajima
+ and Kohsuke Kawaguchi (http://relaxngcc.sf.net/)."
+
+Alternately, this acknowledgment may appear in the software itself, if and
+wherever such third-party acknowledgments normally appear.
+
+4. The names of the copyright holders must not be used to endorse or promote
+ products derived from this software without prior written permission. For
+ written permission, please contact the copyright holders.
+
+5. Products derived from this software may not be called "RELAXNGCC", nor may
+ "RELAXNGCC" appear in their name, without prior written permission of the
+ copyright holders.
+
+THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED 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 APACHE
+SOFTWARE FOUNDATION OR ITS 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 THE POSSIBILITY OF SUCH DAMAGE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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 ---
+
+ SAX is free!
+
+ In fact, it's not possible to own a license to SAX, since it's been placed in
+ the public domain.
+
+ No Warranty
+
+ Because SAX is released to the public domain, there is no warranty for the
+ design or for the software implementation, to the extent permitted by
+ applicable law. Except when otherwise stated in writing the copyright holders
+ and/or other parties provide SAX "as is" without warranty of any kind, either
+ expressed or implied, including, but not limited to, the implied warranties
+ of merchantability and fitness for a particular purpose. The entire risk as
+ to the quality and performance of SAX is with you. Should SAX prove
+ defective, you assume the cost of all necessary servicing, repair or
+ correction.
+
+ In no event unless required by applicable law or agreed to in writing will
+ any copyright holder, or any other party who may modify and/or redistribute
+ SAX, be liable to you for damages, including any general, special, incidental
+ or consequential damages arising out of the use or inability to use SAX
+ (including but not limited to loss of data or data being rendered inaccurate
+ or losses sustained by you or third parties or a failure of the SAX to
+ operate with any other programs), even if such holder or other party has been
+ advised of the possibility of such damages.
+
+ Copyright Disclaimers
+
+ This page includes statements to that effect by David Megginson, who would
+ have been able to claim copyright for the original work. SAX 1.0
+
+ Version 1.0 of the Simple API for XML (SAX), created collectively by the
+ membership of the XML-DEV mailing list, is hereby released into the public
+ domain.
+
+ No one owns SAX: you may use it freely in both commercial and non-commercial
+ applications, bundle it with your software distribution, include it on a
+ CD-ROM, list the source code in a book, mirror the documentation at your own
+ web site, or use it in any other way you see fit.
+
+ David Megginson, sax@megginson.com
+ 1998-05-11
+
+ SAX 2.0
+
+ I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and
+ release all of the SAX 2.0 source code, compiled code, and documentation
+ contained in this distribution into the Public Domain. SAX comes with NO
+ WARRANTY or guarantee of fitness for any purpose.
+
+ David Megginson, david@megginson.com
+ 2000-05-05
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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 ---
+
+Use of any of this software is governed by the terms of the license below:
+
+SoftFloat was written by me, John R. Hauser. This work was made possible in
+part by the International Computer Science Institute, located at Suite 600,
+1947 Center Street, Berkeley, California 94704. Funding was partially
+provided by the National Science Foundation under grant MIP-9311980. The
+original version of this code was written as part of a project to build
+a fixed-point vector processor in collaboration with the University of
+California at Berkeley, overseen by Profs. Nelson Morgan and John Wawrzynek.
+
+THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
+has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
+TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
+PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL
+LOSSES, COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO
+FURTHERMORE EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER
+SCIENCE INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES,
+COSTS, OR OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE
+SOFTWARE.
+
+Derivative works are acceptable, even for commercial purposes, provided
+that the minimal documentation requirements stated in the source code are
+satisfied.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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 may be
+included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Copyright (C) 1982 The Royal Institute, Thai Royal Government.
+
+Copyright (C) 1998 National Electronics and Computer Technology Center,
+National Science and Technology Development Agency,
+Ministry of Science Technology and Environment,
+Thai Royal Government.
+
+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 Unicode 6.2.0 & CLDR 21.0.1
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Unicode Terms of Use
+
+For the general privacy policy governing access to this site, see the Unicode
+Privacy Policy. For trademark usage, see the Unicode® Consortium Name and
+Trademark Usage Policy.
+
+A. Unicode Copyright.
+ 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,
+ without fee, to modify such documents and files to create derivative
+ works conforming to the Unicode® Standard, subject to Terms and
+ Conditions herein.
+
+ 3. Any person is hereby authorized, without fee, to view, use, reproduce,
+ and distribute all documents and files solely for informational
+ purposes in the creation of products supporting the Unicode Standard,
+ subject to the Terms and Conditions herein.
+
+ 4. Further specifications of rights and restrictions pertaining to the use
+ of the particular set of data files known as the "Unicode Character
+ Database" can be found in Exhibit 1.
+
+ 5. Each version of the Unicode Standard has further specifications of
+ rights and restrictions of use. For the book editions (Unicode 5.0 and
+ earlier), these are found on the back of the title page. The online
+ code charts carry specific restrictions. All other files, including
+ online documentation of the core specification for Unicode 6.0 and
+ later, are covered under these general Terms of Use.
+
+ 6. No license is granted to "mirror" the Unicode website where a fee is
+ charged for access to the "mirror" site.
+
+ 7. Modification is not permitted with respect to this document. All copies
+ of this document must be verbatim.
+
+B. Restricted Rights Legend. Any technical data or software which is licensed
+ to the United States of America, its agencies and/or instrumentalities
+ under this Agreement is commercial technical data or commercial computer
+ software developed exclusively at private expense as defined in FAR 2.101,
+ or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use,
+ duplication, or disclosure by the Government is subject to restrictions as
+ set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov
+ 1995) and this Agreement. For Software, in accordance with FAR 12-212 or
+ DFARS 227-7202, as applicable, use, duplication or disclosure by the
+ Government is subject to the restrictions set forth in this Agreement.
+
+C. Warranties and Disclaimers.
+ 1. This publication and/or website may include technical or typographical
+ errors or other inaccuracies . Changes are periodically added to the
+ information herein; these changes will be incorporated in new editions
+ of the publication and/or website. Unicode may make improvements and/or
+ changes in the product(s) and/or program(s) described in this
+ publication and/or website at any time.
+
+ 2. If this file has been purchased on magnetic or optical media from
+ Unicode, Inc. the sole and exclusive remedy for any claim will be
+ exchange of the defective media within ninety (90) days of original
+ purchase.
+
+ 3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR SOFTWARE IS
+ PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED,
+ OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
+ UNICODE AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR
+ OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH
+ ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE.
+
+D. Waiver of Damages. In no event shall Unicode or its licensors be liable for
+ any special, incidental, indirect or consequential damages of any kind, or
+ any damages whatsoever, whether or not Unicode was advised of the
+ possibility of the damage, including, without limitation, those resulting
+ from the following: loss of use, data or profits, in connection with the
+ use, modification or distribution of this information or its derivatives.
+
+E.Trademarks & Logos.
+ 1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode,
+ Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of
+ Unicode, Inc. Use of the information and materials found on this
+ website indicates your acknowledgement of Unicode, Inc.’s exclusive
+ worldwide rights in the Unicode Word Mark, the Unicode Logo, and the
+ Unicode trade names.
+
+ 2. The Unicode Consortium Name and Trademark Usage Policy (“Trademark
+ Policy”) are incorporated herein by reference and you agree to abide by
+ the provisions of the Trademark Policy, which may be changed from time
+ to time in the sole discretion of Unicode, Inc.
+
+ 3. All third party trademarks referenced herein are the property of their
+ respective owners.
+
+Miscellaneous.
+ 1. Jurisdiction and Venue. This server is operated from a location in the
+ State of California, United States of America. Unicode makes no
+ representation that the materials are appropriate for use in other
+ locations. If you access this server from other locations, you are
+ responsible for compliance with local laws. This Agreement, all use of
+ this site and any claims and damages resulting from use of this site are
+ governed solely by the laws of the State of California without regard to
+ any principles which would apply the laws of a different jurisdiction.
+ The user agrees that any disputes regarding this site shall be resolved
+ solely in the courts located in Santa Clara County, California. The user
+ agrees said courts have personal jurisdiction and agree to waive any
+ right to transfer the dispute to any other forum.
+
+ 2. Modification by Unicode. Unicode shall have the right to modify this
+ Agreement at any time by posting it to this site. The user may not
+ assign any part of this Agreement without Unicode’s prior written
+ consent.
+
+ 3. Taxes. The user agrees to pay any taxes arising from access to this
+ website or use of the information herein, except for those based on
+ Unicode’s net income.
+
+ 4. Severability. If any provision of this Agreement is declared invalid or
+ unenforceable, the remaining provisions of this Agreement shall remain
+ in effect.
+
+ 5. Entire Agreement. This Agreement constitutes the entire agreement
+ between the parties.
+
+EXHIBIT 1
+UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
+
+Unicode Data Files include all data files under the directories
+http://www.unicode.org/Public/, http://www.unicode.org/reports/, and
+http://www.unicode.org/cldr/data/. Unicode Data Files do not include PDF
+online code charts under the directory http://www.unicode.org/Public/.
+Software includes any source code published in the Unicode Standard or under
+the directories http://www.unicode.org/Public/,
+http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/.
+
+NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING,
+INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA
+FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO
+BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT
+AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR
+SOFTWARE.
+
+COPYRIGHT AND PERMISSION NOTICE
+
+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
+of the Unicode data files and any associated documentation (the "Data Files")
+or Unicode software and any associated documentation (the "Software") to deal
+in the Data Files or Software without restriction, including without
+limitation the rights to use, copy, modify, merge, publish, distribute, and/or
+sell copies of the Data Files or Software, and to permit persons to whom the
+Data Files or Software are furnished to do so, provided that (a) the above
+copyright notice(s) and this permission notice appear with all copies of the
+Data Files or Software, (b) both the above copyright notice(s) and this
+permission notice appear in associated documentation, and (c) there is clear
+notice in each modified Data File or in the Software as well as in the
+documentation associated with the Data File(s) or Software that the data or
+software has been modified.
+
+THE DATA FILES AND SOFTWARE ARE 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 OF THIRD
+PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
+THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE
+DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in these Data Files or Software without prior written authorization of the
+copyright holder.
+
+Unicode and the Unicode logo are trademarks of Unicode, Inc. in the United
+States and other countries. All third party trademarks referenced herein are
+the property of their respective owners.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to UPX v3.01, which may be included
+with JRE 8 on Windows.
+
+--- begin of LICENSE ---
+
+Use of any of this software is governed by the terms of the license below:
+
+
+ ooooo ooo ooooooooo. ooooooo ooooo
+ `888' `8' `888 `Y88. `8888 d8'
+ 888 8 888 .d88' Y888..8P
+ 888 8 888ooo88P' `8888'
+ 888 8 888 .8PY888.
+ `88. .8' 888 d8' `888b
+ `YbodP' o888o o888o o88888o
+
+
+ The Ultimate Packer for eXecutables
+ Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar
+ http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
+ http://www.nexus.hu/upx
+ http://upx.tsx.org
+
+
+PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN
+TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION.
+
+
+ABSTRACT
+========
+
+ UPX and UCL are copyrighted software distributed under the terms
+ of the GNU General Public License (hereinafter the "GPL").
+
+ The stub which is imbedded in each UPX compressed program is part
+ of UPX and UCL, and contains code that is under our copyright. The
+ terms of the GNU General Public License still apply as compressing
+ a program is a special form of linking with our stub.
+
+ As a special exception we grant the free usage of UPX for all
+ executables, including commercial programs.
+ See below for details and restrictions.
+
+
+COPYRIGHT
+=========
+
+ UPX and UCL are copyrighted software. All rights remain with the authors.
+
+ UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
+ UPX is Copyright (C) 1996-2000 Laszlo Molnar
+
+ UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
+
+
+GNU GENERAL PUBLIC LICENSE
+==========================
+
+ UPX and the UCL library are free software; you can redistribute them
+ and/or modify them under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of
+ the License, or (at your option) any later version.
+
+ UPX and UCL are distributed in the hope that they 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 for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING.
+
+
+SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES
+============================================
+
+ The stub which is imbedded in each UPX compressed program is part
+ of UPX and UCL, and contains code that is under our copyright. The
+ terms of the GNU General Public License still apply as compressing
+ a program is a special form of linking with our stub.
+
+ Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special
+ permission to freely use and distribute all UPX compressed programs
+ (including commercial ones), subject to the following restrictions:
+
+ 1. You must compress your program with a completely unmodified UPX
+ version; either with our precompiled version, or (at your option)
+ with a self compiled version of the unmodified UPX sources as
+ distributed by us.
+ 2. This also implies that the UPX stub must be completely unmodfied, i.e.
+ the stub imbedded in your compressed program must be byte-identical
+ to the stub that is produced by the official unmodified UPX version.
+ 3. The decompressor and any other code from the stub must exclusively get
+ used by the unmodified UPX stub for decompressing your program at
+ program startup. No portion of the stub may get read, copied,
+ called or otherwise get used or accessed by your program.
+
+
+ANNOTATIONS
+===========
+
+ - You can use a modified UPX version or modified UPX stub only for
+ programs that are compatible with the GNU General Public License.
+
+ - We grant you special permission to freely use and distribute all UPX
+ compressed programs. But any modification of the UPX stub (such as,
+ but not limited to, removing our copyright string or making your
+ program non-decompressible) will immediately revoke your right to
+ use and distribute a UPX compressed program.
+
+ - UPX is not a software protection tool; by requiring that you use
+ the unmodified UPX version for your proprietary programs we
+ make sure that any user can decompress your program. This protects
+ both you and your users as nobody can hide malicious code -
+ any program that cannot be decompressed is highly suspicious
+ by definition.
+
+ - You can integrate all or part of UPX and UCL into projects that
+ are compatible with the GNU GPL, but obviously you cannot grant
+ any special exceptions beyond the GPL for our code in your project.
+
+ - We want to actively support manufacturers of virus scanners and
+ similar security software. Please contact us if you would like to
+ incorporate parts of UPX or UCL into such a product.
+
+
+
+Markus F.X.J. Oberhumer Laszlo Molnar
+markus.oberhumer@jk.uni-linz.ac.at ml1050@cdata.tvnet.hu
+
+Linz, Austria, 25 Feb 2000
+
+Additional License(s)
+
+The UPX license file is at http://upx.sourceforge.net/upx-license.html.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to Xfree86-VidMode Extension 1.0,
+which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
+
+--- begin of LICENSE ---
+
+Version 1.1 of XFree86 ProjectLicence.
+
+Copyright (C) 1994-2004 The XFree86 Project, Inc. All rights reserved.
+
+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, sublicence, 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:
+
+ 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, and in the same place
+ and form as other copyright, license and disclaimer information.
+
+ 3. The end-user documentation included with the redistribution, if any,must
+ include the following acknowledgment: "This product includes
+ software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and
+ its contributors", in the same place and form as other third-party
+ acknowledgments. Alternately, this acknowledgment may appear in the software
+ itself, in the same form and location as other such third-party
+ acknowledgments.
+
+ 4. Except as contained in this notice, the name of The XFree86 Project,Inc
+ shall not be used in advertising or otherwise to promote the sale, use
+ or other dealings in this Software without prior written authorization from
+ The XFree86 Project, Inc.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 XFREE86 PROJECT, INC OR ITS 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 THE POSSIBILITY OF SUCH
+ DAMAGE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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 ---
+
+ Licenses
+The X.Org Foundation March 2004
+
+1. Introduction
+
+The X.org Foundation X Window System distribution is a compilation of code and
+documentation from many sources. This document is intended primarily as a
+guide to the licenses used in the distribution: you must check each file
+and/or package for precise redistribution terms. None-the-less, this summary
+may be useful to many users. No software incorporating the XFree86 1.1 license
+has been incorporated.
+
+This document is based on the compilation from XFree86.
+
+2. XFree86 License
+
+XFree86 code without an explicit copyright is covered by the following
+copyright/license:
+
+Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
+
+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
+XFREE86 PROJECT 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.
+
+Except as contained in this notice, the name of the XFree86 Project shall not
+be used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the XFree86 Project.
+
+3. Other Licenses
+
+Portions of code are covered by the following licenses/copyrights. See
+individual files for the copyright dates.
+
+3.1. X/MIT Copyrights
+
+3.1.1. X Consortium
+
+Copyright (C) <date> X Consortium
+
+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 X
+CONSORTIUM 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.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings in
+this Software without prior written authorization from the X Consortium.
+
+X Window System is a trademark of X Consortium, Inc.
+
+3.1.2. The Open Group
+
+Copyright <date> The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that the
+above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation.
+
+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
+OPEN GROUP 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.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings in
+this Software without prior written authorization from The Open Group. 3.2.
+Berkeley-based copyrights:
+
+o
+3.2.1. General
+
+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. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+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. 3.2.2. UCB/LBL
+
+Copyright (c) 1993 The Regents of the University of California. All rights
+reserved.
+
+This software was developed by the Computer Systems Engineering group at
+Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and contributed to
+Berkeley.
+
+All advertising materials mentioning features or use of this software must
+display the following acknowledgement: This product includes software
+developed by the University of California, Lawrence Berkeley Laboratory.
+
+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. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement: This product includes software
+ developed by the University of California, Berkeley and its contributors.
+
+ 4. Neither the name of the University 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 REGENTS 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 REGENTS 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 THE POSSIBILITY OF SUCH DAMAGE. 3.2.3. The
+NetBSD Foundation, Inc.
+
+Copyright (c) 2003 The NetBSD Foundation, Inc. All rights reserved.
+
+This code is derived from software contributed to The NetBSD Foundation by Ben
+Collver <collver1@attbi.com>
+
+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. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement: This product includes software
+ developed by the NetBSD Foundation, Inc. and its contributors.
+
+ 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 THE POSSIBILITY OF SUCH DAMAGE. 3.2.4. Theodore
+Ts'o.
+
+Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All rights
+reserved.
+
+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,
+ and the entire permission notice in its entirety, including the disclaimer
+ of warranties.
+
+ 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. he name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE, ALL OF WHICH ARE HEREBY 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 NOT ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. 3.2.5. Theo de Raadt and Damien Miller
+
+Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. Copyright (c)
+2001-2002 Damien Miller. All rights reserved.
+
+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.
+
+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. 3.2.6. Todd C. Miller
+
+Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+
+Permission to use, copy, modify, and distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright
+notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
+OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 3.2.7. Thomas
+Winischhofer
+
+Copyright (C) 2001-2004 Thomas Winischhofer
+
+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. The name of the author may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESSED 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. 3.3. NVIDIA Corp
+
+Copyright (c) 1996 NVIDIA, Corp. All rights reserved.
+
+NOTICE TO USER: The source code is copyrighted under U.S. and international
+laws. NVIDIA, Corp. of Sunnyvale, California owns the copyright and as design
+patents pending on the design and interface of the NV chips. Users and
+possessors of this source code are hereby granted a nonexclusive, royalty-free
+copyright and design patent license to use this code in individual and
+commercial software.
+
+Any use of this source code must include, in the user documentation and
+internal comments to the code, notices to the end user as follows:
+
+Copyright (c) 1996 NVIDIA, Corp. NVIDIA design patents pending in the U.S. and
+foreign countries.
+
+NVIDIA, CORP. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE
+CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED
+WARRANTY OF ANY KIND. NVIDIA, CORP. DISCLAIMS ALL WARRANTIES WITH REGARD TO
+THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA, CORP. BE LIABLE
+FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
+DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE. 3.4. GLX Public
+License
+
+GLX PUBLIC LICENSE (Version 1.0 (2/11/99)) ("License")
+
+Subject to any third party claims, Silicon Graphics, Inc. ("SGI") hereby
+grants permission to Recipient (defined below), under Recipient's copyrights
+in the Original Software (defined below), to use, copy, modify, merge,
+publish, distribute, sublicense and/or sell copies of Subject Software
+(defined below), and to permit persons to whom the Subject Software is
+furnished in accordance with this License to do the same, subject to all of
+the following terms and conditions, which Recipient accepts by engaging in any
+such use, copying, modifying, merging, publishing, distributing, sublicensing
+or selling:
+
+1. Definitions.
+
+ (a) "Original Software" means source code of computer software code which
+ is described in Exhibit A as Original Software.
+
+ (b) "Modifications" means any addition to or deletion from the substance
+ or structure of either the Original Software or any previous
+ Modifications. When Subject Software is released as a series of files, a
+ Modification means (i) any addition to or deletion from the contents of a
+ file containing Original Software or previous Modifications and (ii) any
+ new file that contains any part of the Original Code or previous
+ Modifications.
+
+ (c) "Subject Software" means the Original Software or Modifications or the
+ combination of the Original Software and Modifications, or portions of any
+ of the foregoing.
+
+ (d) "Recipient" means an individual or a legal entity exercising rights
+ under, and complying with all of the terms of, this License. For legal
+ entities, "Recipient" includes any entity which controls, is controlled
+ by, or is under common control with Recipient. For purposes of this
+ definition, "control" of an entity means (a) the power, direct or
+ indirect, to direct or manage such entity, or (b) ownership of fifty
+ percent (50%) or more of the outstanding shares or beneficial ownership of
+ such entity.
+
+2. Redistribution of Source Code Subject to These Terms. Redistributions of
+Subject Software in source code form must retain the notice set forth in
+Exhibit A, below, in every file. A copy of this License must be included in
+any documentation for such Subject Software where the recipients' rights
+relating to Subject Software are described. Recipient may distribute the
+source code version of Subject Software under a license of Recipient's choice,
+which may contain terms different from this License, provided that (i)
+Recipient is in compliance with the terms of this License, and (ii) the
+license terms include this Section 2 and Sections 3, 4, 7, 8, 10, 12 and 13 of
+this License, which terms may not be modified or superseded by any other terms
+of such license. If Recipient distributes the source code version under a
+different license Recipient must make it absolutely clear that any terms which
+differ from this License are offered by Recipient alone, not by SGI. Recipient
+hereby agrees to indemnify SGI for any liability incurred by SGI as a result
+of any such terms Recipient offers.
+
+3. Redistribution in Executable Form. The notice set forth in Exhibit A must
+be conspicuously included in any notice in an executable version of Subject
+Software, related documentation or collateral in which Recipient describes the
+user's rights relating to the Subject Software. Recipient may distribute the
+executable version of Subject Software under a license of Recipient's choice,
+which may contain terms different from this License, provided that (i)
+Recipient is in compliance with the terms of this License, and (ii) the
+license terms include this Section 3 and Sections 4, 7, 8, 10, 12 and 13 of
+this License, which terms may not be modified or superseded by any other terms
+of such license. If Recipient distributes the executable version under a
+different license Recipient must make it absolutely clear that any terms which
+differ from this License are offered by Recipient alone, not by SGI. Recipient
+hereby agrees to indemnify SGI for any liability incurred by SGI as a result
+of any such terms Recipient offers.
+
+4. Termination. This License and the rights granted hereunder will terminate
+automatically if Recipient fails to comply with terms herein and fails to cure
+such breach within 30 days of the breach. Any sublicense to the Subject
+Software which is properly granted shall survive any termination of this
+License absent termination by the terms of such sublicense. Provisions which,
+by their nature, must remain in effect beyond the termination of this License
+shall survive.
+
+5. No Trademark Rights. This License does not grant any rights to use any
+trade name, trademark or service mark whatsoever. No trade name, trademark or
+service mark of SGI may be used to endorse or promote products derived from
+the Subject Software without prior written permission of SGI.
+
+6. No Other Rights. This License does not grant any rights with respect to the
+OpenGL API or to any software or hardware implementation thereof or to any
+other software whatsoever, nor shall any other rights or licenses not
+expressly granted hereunder arise by implication, estoppel or otherwise with
+respect to the Subject Software. Title to and ownership of the Original
+Software at all times remains with SGI. All rights in the Original Software
+not expressly granted under this License are reserved.
+
+7. Compliance with Laws; Non-Infringement. Recipient shall comply with all
+applicable laws and regulations in connection with use and distribution of the
+Subject Software, including but not limited to, all export and import control
+laws and regulations of the U.S. government and other countries. Recipient may
+not distribute Subject Software that (i) in any way infringes (directly or
+contributorily) the rights (including patent, copyright, trade secret,
+trademark or other intellectual property rights of any kind) of any other
+person or entity or (ii) breaches any representation or warranty, express,
+implied or statutory, which under any applicable law it might be deemed to
+have been distributed.
+
+8. Claims of Infringement. If Recipient at any time has knowledge of any one
+or more third party claims that reproduction, modification, use, distribution,
+import or sale of Subject Software (including particular functionality or code
+incorporated in Subject Software) infringes the third party's intellectual
+property rights, Recipient must place in a well-identified web page bearing
+the title "LEGAL" a description of each such claim and a description of the
+party making each such claim in sufficient detail that a user of the Subject
+Software will know whom to contact regarding the claim. Also, upon gaining
+such knowledge of any such claim, Recipient must conspicuously include the URL
+for such web page in the Exhibit A notice required under Sections 2 and 3,
+above, and in the text of any related documentation, license agreement or
+collateral in which Recipient describes end user's rights relating to the
+Subject Software. If Recipient obtains such knowledge after it makes Subject
+Software available to any other person or entity, Recipient shall take other
+steps (such as notifying appropriate mailing lists or newsgroups) reasonably
+calculated to inform those who received the Subject Software that new
+knowledge has been obtained.
+
+9. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS,
+MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON- INFRINGING. SGI ASSUMES NO
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
+PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY
+SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
+ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
+HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY,
+WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY),
+CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY
+DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
+STOPPAGE, LOSS OF DATA, 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 SGI'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
+THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
+
+11. Indemnity. Recipient shall be solely responsible for damages arising,
+directly or indirectly, out of its utilization of rights under this License.
+Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc. from
+and against any loss, liability, damages, costs or expenses (including the
+payment of reasonable attorneys fees) arising out of Recipient's use,
+modification, reproduction and distribution of the Subject Software or out of
+any representation or warranty made by Recipient.
+
+12. U.S. Government End Users. The Subject Software is a "commercial item"
+consisting of "commercial computer software" as such terms are defined in
+title 48 of the Code of Federal Regulations and all U.S. Government End Users
+acquire only the rights set forth in this License and are subject to the terms
+of this License.
+
+13. 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 so as to achieve as nearly as
+possible the same economic effect as the original provision and the remainder
+of this License will remain in effect. This License shall be governed by and
+construed in accordance with the laws of the United States and the State of
+California as applied to agreements entered into and to be performed entirely
+within California between California residents. Any litigation relating to
+this License shall be subject to the exclusive jurisdiction of the Federal
+Courts of the Northern District of California (or, absent subject matter
+jurisdiction in such courts, the courts of the State of California), with
+venue lying exclusively 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.
+
+Exhibit A
+
+The contents of this file are subject to Sections 2, 3, 4, 7, 8, 10, 12 and 13
+of the GLX Public License Version 1.0 (the "License"). You may not use this
+file except in compliance with those sections of the License. You may obtain a
+copy of the License at Silicon Graphics, Inc., attn: Legal Services, 2011 N.
+Shoreline Blvd., Mountain View, CA 94043 or at
+http://www.sgi.com/software/opensource/glx/license.html.
+
+Software distributed under the License is distributed on an "AS IS" basis. ALL
+WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON-
+INFRINGEMENT. See the License for the specific language governing rights and
+limitations under the License.
+
+The Original Software is GLX version 1.2 source code, released February, 1999.
+The developer of the Original Software is Silicon Graphics, Inc. Those
+portions of the Subject Software created by Silicon Graphics, Inc. are
+Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved. 3.5. CID
+Font Code Public License
+
+CID FONT CODE PUBLIC LICENSE (Version 1.0 (3/31/99))("License")
+
+Subject to any applicable third party claims, Silicon Graphics, Inc. ("SGI")
+hereby grants permission to Recipient (defined below), under SGI's copyrights
+in the Original Software (defined below), to use, copy, modify, merge,
+publish, distribute, sublicense and/or sell copies of Subject Software
+(defined below) in both source code and executable form, and to permit persons
+to whom the Subject Software is furnished in accordance with this License to
+do the same, subject to all of the following terms and conditions, which
+Recipient accepts by engaging in any such use, copying, modifying, merging,
+publication, distributing, sublicensing or selling:
+
+1. Definitions.
+
+ a. "Original Software" means source code of computer software code that is
+ described in Exhibit A as Original Software.
+
+ b. "Modifications" means any addition to or deletion from the substance or
+ structure of either the Original Software or any previous Modifications.
+ When Subject Software is released as a series of files, a Modification
+ means (i) any addition to or deletion from the contents of a file
+ containing Original Software or previous Modifications and (ii) any new
+ file that contains any part of the Original Code or previous
+ Modifications.
+
+ c. "Subject Software" means the Original Software or Modifications or the
+ combination of the Original Software and Modifications, or portions of any
+ of the foregoing.
+
+ d. "Recipient" means an individual or a legal entity exercising rights
+ under the terms of this License. For legal entities, "Recipient" includes
+ any entity that controls, is controlled by, or is under common control
+ with Recipient. For purposes of this definition, "control" of an entity
+ means (i) the power, direct or indirect, to direct or manage such entity,
+ or (ii) ownership of fifty percent (50%) or more of the outstanding shares
+ or beneficial ownership of such entity.
+
+ e. "Required Notice" means the notice set forth in Exhibit A to this
+ License.
+
+ f. "Accompanying Technology" means any software or other technology that
+ is not a Modification and that is distributed or made publicly available
+ by Recipient with the Subject Software. Separate software files that do
+ not contain any Original Software or any previous Modification shall not
+ be deemed a Modification, even if such software files are aggregated as
+ part of a product, or in any medium of storage, with any file that does
+ contain Original Software or any previous Modification.
+
+2. License Terms. All distribution of the Subject Software must be made
+subject to the terms of this License. A copy of this License and the Required
+Notice must be included in any documentation for Subject Software where
+Recipient's rights relating to Subject Software and/or any Accompanying
+Technology are described. Distributions of Subject Software in source code
+form must also include the Required Notice in every file distributed. In
+addition, a ReadMe file entitled "Important Legal Notice" must be distributed
+with each distribution of one or more files that incorporate Subject Software.
+That file must be included with distributions made in both source code and
+executable form. A copy of the License and the Required Notice must be
+included in that file. Recipient may distribute Accompanying Technology under
+a license of Recipient's choice, which may contain terms different from this
+License, provided that (i) Recipient is in compliance with the terms of this
+License, (ii) such other license terms do not modify or supersede the terms of
+this License as applicable to the Subject Software, (iii) Recipient hereby
+indemnifies SGI for any liability incurred by SGI as a result of the
+distribution of Accompanying Technology or the use of other license terms.
+
+3. Termination. This License and the rights granted hereunder will terminate
+automatically if Recipient fails to comply with terms herein and fails to cure
+such breach within 30 days of the breach. Any sublicense to the Subject
+Software that is properly granted shall survive any termination of this
+License absent termination by the terms of such sublicense. Provisions which,
+by their nature, must remain in effect beyond the termination of this License
+shall survive.
+
+4. Trademark Rights. This License does not grant any rights to use any trade
+name, trademark or service mark whatsoever. No trade name, trademark or
+service mark of SGI may be used to endorse or promote products derived from or
+incorporating any Subject Software without prior written permission of SGI.
+
+5. No Other Rights. No rights or licenses not expressly granted hereunder
+shall arise by implication, estoppel or otherwise. Title to and ownership of
+the Original Software at all times remains with SGI. All rights in the
+Original Software not expressly granted under this License are reserved.
+
+6. Compliance with Laws; Non-Infringement. Recipient shall comply with all
+applicable laws and regulations in connection with use and distribution of the
+Subject Software, including but not limited to, all export and import control
+laws and regulations of the U.S. government and other countries. Recipient may
+not distribute Subject Software that (i) in any way infringes (directly or
+contributorily) the rights (including patent, copyright, trade secret,
+trademark or other intellectual property rights of any kind) of any other
+person or entity, or (ii) breaches any representation or warranty, express,
+implied or statutory, which under any applicable law it might be deemed to
+have been distributed.
+
+7. Claims of Infringement. If Recipient at any time has knowledge of any one
+or more third party claims that reproduction, modification, use, distribution,
+import or sale of Subject Software (including particular functionality or code
+incorporated in Subject Software) infringes the third party's intellectual
+property rights, Recipient must place in a well-identified web page bearing
+the title "LEGAL" a description of each such claim and a description of the
+party making each such claim in sufficient detail that a user of the Subject
+Software will know whom to contact regarding the claim. Also, upon gaining
+such knowledge of any such claim, Recipient must conspicuously include the URL
+for such web page in the Required Notice, and in the text of any related
+documentation, license agreement or collateral in which Recipient describes
+end user's rights relating to the Subject Software. If Recipient obtains such
+knowledge after it makes Subject Software available to any other person or
+entity, Recipient shall take other steps (such as notifying appropriate
+mailing lists or newsgroups) reasonably calculated to provide such knowledge
+to those who received the Subject Software.
+
+8. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
+WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
+LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS,
+MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. SGI ASSUMES NO
+RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
+PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY
+SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
+ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
+HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY,
+WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY),
+CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR 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 SUBJECT SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SUBJECT SOFTWARE. SOME JURISDICTIONS DO NOT
+ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO THIS EXCLUSION AND
+LIMITATION MAY NOT APPLY TO RECIPIENT TO THE EXTENT SO DISALLOWED.
+
+10. Indemnity. Recipient shall be solely responsible for damages arising,
+directly or indirectly, out of its utilization of rights under this License.
+Recipient will defend, indemnify and hold SGI and its successors and assigns
+harmless from and against any loss, liability, damages, costs or expenses
+(including the payment of reasonable attorneys fees) arising out of
+(Recipient's use, modification, reproduction and distribution of the Subject
+Software or out of any representation or warranty made by Recipient.
+
+11. U.S. Government End Users. The Subject Software is a "commercial item"
+consisting of "commercial computer software" as such terms are defined in
+title 48 of the Code of Federal Regulations and all U.S. Government End Users
+acquire only the rights set forth in this License and are subject to the terms
+of this License.
+
+12. Miscellaneous. This License represents the complete agreement concerning
+subject matter hereof. If any provision of this License is held to be
+unenforceable by any judicial or administrative authority having proper
+jurisdiction with respect thereto, such provision shall be reformed so as to
+achieve as nearly as possible the same economic effect as the original
+provision and the remainder of this License will remain in effect. This
+License shall be governed by and construed in accordance with the laws of the
+United States and the State of California as applied to agreements entered
+into and to be performed entirely within California between California
+residents. Any litigation relating to this License shall be subject to the
+exclusive jurisdiction of the Federal Courts of the Northern District of
+California (or, absent subject matter jurisdiction in such courts, the courts
+of the State of California), with venue lying exclusively 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 that
+provides that the language of a contract shall be construed against the
+drafter shall not apply to this License.
+
+Exhibit A
+
+Copyright (c) 1994-1999 Silicon Graphics, Inc.
+
+The contents of this file are subject to the CID Font Code Public License
+Version 1.0 (the "License"). You may not use this file except in compliance
+with the License. You may obtain a copy of the License at Silicon Graphics,
+Inc., attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
+or at http://www.sgi.com/software/opensource/cid/license.html
+
+Software distributed under the License is distributed on an "AS IS" basis. ALL
+WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
+WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF
+NON-INFRINGEMENT. See the License for the specific language governing rights
+and limitations under the License.
+
+The Original Software (as defined in the License) is CID font code that was
+developed by Silicon Graphics, Inc. Those portions of the Subject Software (as
+defined in the License) that were created by Silicon Graphics, Inc. are
+Copyright (c) 1994-1999 Silicon Graphics, Inc. All Rights Reserved.
+
+[NOTE: When using this text in connection with Subject Software delivered
+solely in object code form, Recipient may replace the words "this file" with
+"this software" in both the first and second sentences.] 3.6. Bitstream Vera
+Fonts Copyright
+
+The fonts have a generous copyright, allowing derivative works (as long as
+"Bitstream" or "Vera" are not in the names), and full redistribution (so long
+as they are not *sold* by themselves). They can be be bundled, redistributed
+and sold with any software.
+
+The fonts are distributed under the following copyright:
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a
+trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of the fonts accompanying this license ("Fonts") and associated documentation
+files (the "Font Software"), to reproduce and distribute the Font Software,
+including without limitation the rights to use, copy, merge, publish,
+distribute, and/or sell copies of the Font Software, and to permit persons to
+whom the Font Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright and trademark notices and this permission notice shall be
+included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular the
+designs of glyphs or characters in the Fonts may be modified and additional
+glyphs or characters may be added to the Fonts, only if the fonts are renamed
+to names not containing either the words "Bitstream" or the word "Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font
+Software that has been modified and is distributed under the "Bitstream Vera"
+names.
+
+The Font Software may be sold as part of a larger software package but no copy
+of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL,
+SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO
+USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome Foundation,
+and Bitstream Inc., shall not be used in advertising or otherwise to promote
+the sale, use or other dealings in this Font Software without prior written
+authorization from the Gnome Foundation or Bitstream Inc., respectively. For
+further information, contact: fonts at gnome dot org. 3.7. Bigelow & Holmes
+Inc and URW++ GmbH Luxi font license
+
+Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font instruction
+code copyright (c) 2001 by URW++ GmbH. All Rights Reserved. Luxi is a
+registered trademark of Bigelow & Holmes Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of these Fonts and associated documentation files (the "Font Software"), to
+deal in the Font Software, including without limitation the rights to use,
+copy, merge, publish, distribute, sublicense, and/or sell copies of the Font
+Software, and to permit persons to whom the Font Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright and trademark notices and this permission notice shall be
+included in all copies of one or more of the Font Software.
+
+The Font Software may not be modified, altered, or added to, and in particular
+the designs of glyphs or characters in the Fonts may not be modified nor may
+additional glyphs or characters be added to the Fonts. This License becomes
+null and void when the Fonts or Font Software have been modified.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
+TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BIGELOW & HOLMES INC. OR URW++
+GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY
+GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
+INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT
+SOFTWARE.
+
+Except as contained in this notice, the names of Bigelow & Holmes Inc. and
+URW++ GmbH. shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in this Font Software without prior written
+authorization from Bigelow & Holmes Inc. and URW++ GmbH.
+
+For further information, contact:
+
+info@urwpp.de or design@bigelowandholmes.com
+
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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.5, July 18th, 2005
+
+ Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% 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 XML Security for Java 1.5.4
+ Apache Xalan-Java 2.7.1
+ Apache Xerces Java 2.10.0
+ Apache XML Resolver 1.1
+ Dynalink 0.5
+
+
+--- begin of LICENSE ---
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
diff --git a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java
index 69c28b2..bb6abbc 100644
--- a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java
+++ b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java
@@ -50,8 +50,6 @@
import static jdk.nashorn.internal.tools.nasgen.StringConstants.COLLECTIONS_EMPTY_LIST;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DESC;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_FIELD_NAME;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_SETISSHARED;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_SETISSHARED_DESC;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_NEWMAP;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_NEWMAP_DESC;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_TYPE;
@@ -191,8 +189,6 @@
// stack: Collection
// pmap = PropertyMap.newMap(Collection<Property>);
mi.invokeStatic(PROPERTYMAP_TYPE, PROPERTYMAP_NEWMAP, PROPERTYMAP_NEWMAP_DESC);
- // pmap.setIsShared();
- mi.invokeVirtual(PROPERTYMAP_TYPE, PROPERTYMAP_SETISSHARED, PROPERTYMAP_SETISSHARED_DESC);
// $nasgenmap$ = pmap;
mi.putStatic(className, PROPERTYMAP_FIELD_NAME, PROPERTYMAP_DESC);
mi.returnVoid();
diff --git a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java
index d46f78c..67cbde4 100644
--- a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java
+++ b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java
@@ -33,10 +33,7 @@
import static jdk.nashorn.internal.tools.nasgen.StringConstants.DEFAULT_INIT_DESC;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.INIT;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DUPLICATE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DUPLICATE_DESC;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_FIELD_NAME;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_TYPE;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_DESC;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROTOTYPEOBJECT_SETCONSTRUCTOR;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROTOTYPEOBJECT_SETCONSTRUCTOR_DESC;
@@ -171,9 +168,6 @@
private void loadMap(final MethodGenerator mi) {
if (memberCount > 0) {
mi.getStatic(className, PROPERTYMAP_FIELD_NAME, PROPERTYMAP_DESC);
- // make sure we use duplicated PropertyMap so that original map
- // stays intact and so can be used for many globals.
- mi.invokeVirtual(PROPERTYMAP_TYPE, PROPERTYMAP_DUPLICATE, PROPERTYMAP_DUPLICATE_DESC);
}
}
diff --git a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java
index 8bb1de5..7b1fff7 100644
--- a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java
+++ b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java
@@ -32,10 +32,7 @@
import static jdk.nashorn.internal.tools.nasgen.StringConstants.DEFAULT_INIT_DESC;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.INIT;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DUPLICATE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DUPLICATE_DESC;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_FIELD_NAME;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_TYPE;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_DESC;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROTOTYPEOBJECT_TYPE;
import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROTOTYPE_SUFFIX;
@@ -129,7 +126,6 @@
mi.getStatic(className, PROPERTYMAP_FIELD_NAME, PROPERTYMAP_DESC);
// make sure we use duplicated PropertyMap so that original map
// stays intact and so can be used for many global.
- mi.invokeVirtual(PROPERTYMAP_TYPE, PROPERTYMAP_DUPLICATE, PROPERTYMAP_DUPLICATE_DESC);
mi.invokeSpecial(PROTOTYPEOBJECT_TYPE, INIT, SCRIPTOBJECT_INIT_DESC);
// initialize Function type fields
initFunctionFields(mi);
diff --git a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java
index c4c1ab8..dd94703 100644
--- a/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java
+++ b/nashorn/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java
@@ -45,11 +45,9 @@
@SuppressWarnings("javadoc")
public interface StringConstants {
// standard jdk types, methods
- static final Type TYPE_METHOD = Type.getType(Method.class);
static final Type TYPE_METHODHANDLE = Type.getType(MethodHandle.class);
static final Type TYPE_METHODHANDLE_ARRAY = Type.getType(MethodHandle[].class);
static final Type TYPE_OBJECT = Type.getType(Object.class);
- static final Type TYPE_CLASS = Type.getType(Class.class);
static final Type TYPE_STRING = Type.getType(String.class);
static final Type TYPE_COLLECTION = Type.getType(Collection.class);
static final Type TYPE_COLLECTIONS = Type.getType(Collections.class);
@@ -104,10 +102,6 @@
static final String PROPERTYMAP_DESC = TYPE_PROPERTYMAP.getDescriptor();
static final String PROPERTYMAP_NEWMAP = "newMap";
static final String PROPERTYMAP_NEWMAP_DESC = Type.getMethodDescriptor(TYPE_PROPERTYMAP, TYPE_COLLECTION);
- static final String PROPERTYMAP_DUPLICATE = "duplicate";
- static final String PROPERTYMAP_DUPLICATE_DESC = Type.getMethodDescriptor(TYPE_PROPERTYMAP);
- static final String PROPERTYMAP_SETISSHARED = "setIsShared";
- static final String PROPERTYMAP_SETISSHARED_DESC = Type.getMethodDescriptor(TYPE_PROPERTYMAP);
// PrototypeObject
static final String PROTOTYPEOBJECT_TYPE = TYPE_PROTOTYPEOBJECT.getInternalName();
diff --git a/nashorn/make/build.xml b/nashorn/make/build.xml
index 9334224..78a713b 100644
--- a/nashorn/make/build.xml
+++ b/nashorn/make/build.xml
@@ -282,6 +282,11 @@
permission java.security.AllPermission;
};
+grant codeBase "file:/${basedir}/test/script/maptests/*" {
+ permission java.io.FilePermission "${basedir}/test/script/maptests/*","read";
+ permission java.lang.RuntimePermission "nashorn.debugMode";
+};
+
grant codeBase "file:/${basedir}/test/script/basic/*" {
permission java.io.FilePermission "${basedir}/test/script/-", "read";
permission java.io.FilePermission "$${user.dir}", "read";
diff --git a/nashorn/make/project.properties b/nashorn/make/project.properties
index ad36744..d51e72e 100644
--- a/nashorn/make/project.properties
+++ b/nashorn/make/project.properties
@@ -115,6 +115,7 @@
test.dir=test
test.script.dir=test/script
test.basic.dir=test/script/basic
+test.maptests.dir=test/script/maptests
test.error.dir=test/script/error
test.sandbox.dir=test/script/sandbox
test.trusted.dir=test/script/trusted
@@ -125,7 +126,7 @@
testmarkdown.dir=${test.script.dir}/markdown
test-sys-prop.test.dir=${test.dir}
-test-sys-prop.test.js.roots=${test.basic.dir} ${test.error.dir} ${test.sandbox.dir} ${test.trusted.dir}
+test-sys-prop.test.js.roots=${test.basic.dir} ${test.maptests.dir} ${test.error.dir} ${test.sandbox.dir} ${test.trusted.dir}
test-sys-prop.test262.suite.dir=${test262.suite.dir}
test-sys-prop.es5conform.testcases.dir=${test.external.dir}/ES5Conform/TestCases
test-sys-prop.test.basic.dir=${test.basic.dir}
@@ -278,7 +279,7 @@
run.test.jvmsecurityargs=-Xverify:all -Djava.security.manager -Djava.security.policy=${basedir}/build/nashorn.policy
# VM options for script tests with @fork option
-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs}
+test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -cp ${run.test.classpath}
# path of rhino.jar for benchmarks
rhino.jar=
diff --git a/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java b/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java
index 01f72c0..7a9792df 100644
--- a/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java
+++ b/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java
@@ -25,6 +25,7 @@
package jdk.nashorn.api.scripting;
+import java.nio.ByteBuffer;
import java.security.AccessControlContext;
import java.security.AccessController;
import java.security.Permissions;
@@ -41,6 +42,7 @@
import java.util.Set;
import java.util.concurrent.Callable;
import javax.script.Bindings;
+import jdk.nashorn.internal.runtime.arrays.ArrayData;
import jdk.nashorn.internal.runtime.ConsString;
import jdk.nashorn.internal.runtime.Context;
import jdk.nashorn.internal.runtime.GlobalObject;
@@ -259,6 +261,22 @@
});
}
+ /**
+ * Nashorn extension: setIndexedPropertiesToExternalArrayData.
+ * set indexed properties be exposed from a given nio ByteBuffer.
+ *
+ * @param buf external buffer - should be a nio ByteBuffer
+ */
+ public void setIndexedPropertiesToExternalArrayData(final ByteBuffer buf) {
+ inGlobal(new Callable<Void>() {
+ @Override public Void call() {
+ sobj.setArray(ArrayData.allocate(buf));
+ return null;
+ }
+ });
+ }
+
+
@Override
public boolean isInstance(final Object obj) {
if (! (obj instanceof ScriptObjectMirror)) {
diff --git a/nashorn/src/jdk/nashorn/internal/codegen/ConstantData.java b/nashorn/src/jdk/nashorn/internal/codegen/ConstantData.java
index 631cdb3..292f167 100644
--- a/nashorn/src/jdk/nashorn/internal/codegen/ConstantData.java
+++ b/nashorn/src/jdk/nashorn/internal/codegen/ConstantData.java
@@ -25,6 +25,9 @@
package jdk.nashorn.internal.codegen;
+import jdk.nashorn.internal.runtime.Property;
+import jdk.nashorn.internal.runtime.PropertyMap;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -110,6 +113,43 @@
}
/**
+ * {@link PropertyMap} wrapper class that provides implementations for the {@code hashCode} and {@code equals}
+ * methods that are based on the map layout. {@code PropertyMap} itself inherits the identity based implementations
+ * from {@code java.lang.Object}.
+ */
+ private static class PropertyMapWrapper {
+ private final PropertyMap propertyMap;
+ private final int hashCode;
+
+ public PropertyMapWrapper(final PropertyMap map) {
+ int hash = 0;
+ for (final Property property : map.getProperties()) {
+ hash = hash << 7 ^ hash >> 7;
+ hash ^= property.hashCode();
+ }
+ this.hashCode = hash;
+ this.propertyMap = map;
+ }
+
+ @Override
+ public int hashCode() {
+ return hashCode;
+ }
+
+ @Override
+ public boolean equals(final Object other) {
+ if (!(other instanceof PropertyMapWrapper)) {
+ return false;
+ }
+
+ final Property[] ownProperties = propertyMap.getProperties();
+ final Property[] otherProperties = ((PropertyMapWrapper) other).propertyMap.getProperties();
+
+ return Arrays.equals(ownProperties, otherProperties);
+ }
+ }
+
+ /**
* Constructor
*/
ConstantData() {
@@ -145,7 +185,14 @@
* @return the index in the constant pool that the object was given
*/
public int add(final Object object) {
- final Object entry = object.getClass().isArray() ? new ArrayWrapper(object) : object;
+ final Object entry;
+ if (object.getClass().isArray()) {
+ entry = new ArrayWrapper(object);
+ } else if (object instanceof PropertyMap) {
+ entry = new PropertyMapWrapper((PropertyMap) object);
+ } else {
+ entry = object;
+ }
final Integer value = objectMap.get(entry);
if (value != null) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java b/nashorn/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java
index b373162..b3388eb 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/AccessorPropertyDescriptor.java
@@ -72,7 +72,7 @@
}
AccessorPropertyDescriptor(final boolean configurable, final boolean enumerable, final Object get, final Object set, final Global global) {
- super(global.getObjectPrototype(), global.getAccessorPropertyDescriptorMap());
+ super(global.getObjectPrototype(), getInitialMap());
this.configurable = configurable;
this.enumerable = enumerable;
this.get = get;
@@ -185,6 +185,18 @@
}
@Override
+ public boolean hasAndEquals(final PropertyDescriptor otherDesc) {
+ if (! (otherDesc instanceof AccessorPropertyDescriptor)) {
+ return false;
+ }
+ final AccessorPropertyDescriptor other = (AccessorPropertyDescriptor)otherDesc;
+ return (!has(CONFIGURABLE) || sameValue(configurable, other.configurable)) &&
+ (!has(ENUMERABLE) || sameValue(enumerable, other.enumerable)) &&
+ (!has(GET) || sameValue(get, other.get)) &&
+ (!has(SET) || sameValue(set, other.set));
+ }
+
+ @Override
public boolean equals(final Object obj) {
if (this == obj) {
return true;
diff --git a/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java b/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java
index ecf8bec..a7252fc 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/ArrayBufferView.java
@@ -47,7 +47,7 @@
}
private ArrayBufferView(final NativeArrayBuffer buffer, final int byteOffset, final int elementLength, final Global global) {
- super(global.getArrayBufferViewMap());
+ super(getInitialMap());
checkConstructorArgs(buffer, byteOffset, elementLength);
this.setProto(getPrototype(global));
this.setArray(factory().createArrayData(buffer, byteOffset, elementLength));
diff --git a/nashorn/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java b/nashorn/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java
index ef3f0a3..9f7d2e4 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/DataPropertyDescriptor.java
@@ -69,7 +69,7 @@
}
DataPropertyDescriptor(final boolean configurable, final boolean enumerable, final boolean writable, final Object value, final Global global) {
- super(global.getObjectPrototype(), global.getDataPropertyDescriptorMap());
+ super(global.getObjectPrototype(), getInitialMap());
this.configurable = configurable;
this.enumerable = enumerable;
this.writable = writable;
@@ -172,6 +172,19 @@
}
@Override
+ public boolean hasAndEquals(final PropertyDescriptor otherDesc) {
+ if (! (otherDesc instanceof DataPropertyDescriptor)) {
+ return false;
+ }
+
+ final DataPropertyDescriptor other = (DataPropertyDescriptor)otherDesc;
+ return (!has(CONFIGURABLE) || sameValue(configurable, other.configurable)) &&
+ (!has(ENUMERABLE) || sameValue(enumerable, other.enumerable)) &&
+ (!has(WRITABLE) || sameValue(writable, other.writable)) &&
+ (!has(VALUE) || sameValue(value, other.value));
+ }
+
+ @Override
public boolean equals(final Object obj) {
if (this == obj) {
return true;
diff --git a/nashorn/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java b/nashorn/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java
index f5662ef..bfa06cb 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/GenericPropertyDescriptor.java
@@ -60,7 +60,7 @@
}
GenericPropertyDescriptor(final boolean configurable, final boolean enumerable, final Global global) {
- super(global.getObjectPrototype(), global.getGenericPropertyDescriptorMap());
+ super(global.getObjectPrototype(), getInitialMap());
this.configurable = configurable;
this.enumerable = enumerable;
}
@@ -149,6 +149,23 @@
}
@Override
+ public boolean hasAndEquals(final PropertyDescriptor other) {
+ if (has(CONFIGURABLE) && other.has(CONFIGURABLE)) {
+ if (isConfigurable() != other.isConfigurable()) {
+ return false;
+ }
+ }
+
+ if (has(ENUMERABLE) && other.has(ENUMERABLE)) {
+ if (isEnumerable() != other.isEnumerable()) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ @Override
public boolean equals(final Object obj) {
if (this == obj) {
return true;
diff --git a/nashorn/src/jdk/nashorn/internal/objects/Global.java b/nashorn/src/jdk/nashorn/internal/objects/Global.java
index 819095c..e8b12cb 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/Global.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/Global.java
@@ -370,36 +370,6 @@
*/
private ScriptFunction typeErrorThrower;
- private PropertyMap accessorPropertyDescriptorMap;
- private PropertyMap arrayBufferViewMap;
- private PropertyMap dataPropertyDescriptorMap;
- private PropertyMap genericPropertyDescriptorMap;
- private PropertyMap nativeArgumentsMap;
- private PropertyMap nativeArrayMap;
- private PropertyMap nativeArrayBufferMap;
- private PropertyMap nativeBooleanMap;
- private PropertyMap nativeDateMap;
- private PropertyMap nativeErrorMap;
- private PropertyMap nativeEvalErrorMap;
- private PropertyMap nativeJSAdapterMap;
- private PropertyMap nativeJavaImporterMap;
- private PropertyMap nativeNumberMap;
- private PropertyMap nativeRangeErrorMap;
- private PropertyMap nativeReferenceErrorMap;
- private PropertyMap nativeRegExpMap;
- private PropertyMap nativeRegExpExecResultMap;
- private PropertyMap nativeStrictArgumentsMap;
- private PropertyMap nativeStringMap;
- private PropertyMap nativeSyntaxErrorMap;
- private PropertyMap nativeTypeErrorMap;
- private PropertyMap nativeURIErrorMap;
- private PropertyMap prototypeObjectMap;
- private PropertyMap objectMap;
- private PropertyMap functionMap;
- private PropertyMap anonymousFunctionMap;
- private PropertyMap strictFunctionMap;
- private PropertyMap boundFunctionMap;
-
// Flag to indicate that a split method issued a return statement
private int splitState = -1;
@@ -557,7 +527,7 @@
@Override
public ScriptObject newObject() {
- return new JO(getObjectPrototype(), getObjectMap());
+ return new JO(getObjectPrototype(), JO.getInitialMap());
}
@Override
@@ -999,123 +969,6 @@
return ScriptFunction.getPrototype(builtinFloat64Array);
}
- // Builtin PropertyMap accessors
- PropertyMap getAccessorPropertyDescriptorMap() {
- return accessorPropertyDescriptorMap;
- }
-
- PropertyMap getArrayBufferViewMap() {
- return arrayBufferViewMap;
- }
-
- PropertyMap getDataPropertyDescriptorMap() {
- return dataPropertyDescriptorMap;
- }
-
- PropertyMap getGenericPropertyDescriptorMap() {
- return genericPropertyDescriptorMap;
- }
-
- PropertyMap getArgumentsMap() {
- return nativeArgumentsMap;
- }
-
- PropertyMap getArrayMap() {
- return nativeArrayMap;
- }
-
- PropertyMap getArrayBufferMap() {
- return nativeArrayBufferMap;
- }
-
- PropertyMap getBooleanMap() {
- return nativeBooleanMap;
- }
-
- PropertyMap getDateMap() {
- return nativeDateMap;
- }
-
- PropertyMap getErrorMap() {
- return nativeErrorMap;
- }
-
- PropertyMap getEvalErrorMap() {
- return nativeEvalErrorMap;
- }
-
- PropertyMap getJSAdapterMap() {
- return nativeJSAdapterMap;
- }
-
- PropertyMap getJavaImporterMap() {
- return nativeJavaImporterMap;
- }
-
- PropertyMap getNumberMap() {
- return nativeNumberMap;
- }
-
- PropertyMap getRangeErrorMap() {
- return nativeRangeErrorMap;
- }
-
- PropertyMap getReferenceErrorMap() {
- return nativeReferenceErrorMap;
- }
-
- PropertyMap getRegExpMap() {
- return nativeRegExpMap;
- }
-
- PropertyMap getRegExpExecResultMap() {
- return nativeRegExpExecResultMap;
- }
-
- PropertyMap getStrictArgumentsMap() {
- return nativeStrictArgumentsMap;
- }
-
- PropertyMap getStringMap() {
- return nativeStringMap;
- }
-
- PropertyMap getSyntaxErrorMap() {
- return nativeSyntaxErrorMap;
- }
-
- PropertyMap getTypeErrorMap() {
- return nativeTypeErrorMap;
- }
-
- PropertyMap getURIErrorMap() {
- return nativeURIErrorMap;
- }
-
- PropertyMap getPrototypeObjectMap() {
- return prototypeObjectMap;
- }
-
- PropertyMap getObjectMap() {
- return objectMap;
- }
-
- PropertyMap getFunctionMap() {
- return functionMap;
- }
-
- PropertyMap getAnonymousFunctionMap() {
- return anonymousFunctionMap;
- }
-
- PropertyMap getStrictFunctionMap() {
- return strictFunctionMap;
- }
-
- PropertyMap getBoundFunctionMap() {
- return boundFunctionMap;
- }
-
private ScriptFunction getBuiltinArray() {
return builtinArray;
}
@@ -1631,14 +1484,11 @@
final ScriptEnvironment env = getContext().getEnv();
- // duplicate PropertyMaps of Native* classes
- copyInitialMaps(env);
-
// initialize Function and Object constructor
initFunctionAndObject();
// Now fix Global's own proto.
- this.setProto(getObjectPrototype());
+ this.setInitialProto(getObjectPrototype());
// initialize global function properties
this.eval = this.builtinEval = ScriptFunctionImpl.makeFunction("eval", EVAL);
@@ -1783,7 +1633,7 @@
final ScriptObject prototype = ScriptFunction.getPrototype(cons);
prototype.set(NativeError.NAME, name, false);
prototype.set(NativeError.MESSAGE, "", false);
- prototype.setProto(errorProto);
+ prototype.setInitialProto(errorProto);
return (ScriptFunction)cons;
}
@@ -1955,7 +1805,7 @@
}
if (res.getProto() == null) {
- res.setProto(getObjectPrototype());
+ res.setInitialProto(getObjectPrototype());
}
return res;
@@ -1965,46 +1815,6 @@
}
}
- private void copyInitialMaps(final ScriptEnvironment env) {
- this.accessorPropertyDescriptorMap = AccessorPropertyDescriptor.getInitialMap().duplicate();
- this.dataPropertyDescriptorMap = DataPropertyDescriptor.getInitialMap().duplicate();
- this.genericPropertyDescriptorMap = GenericPropertyDescriptor.getInitialMap().duplicate();
- this.nativeArgumentsMap = NativeArguments.getInitialMap().duplicate();
- this.nativeArrayMap = NativeArray.getInitialMap().duplicate();
- this.nativeBooleanMap = NativeBoolean.getInitialMap().duplicate();
- this.nativeDateMap = NativeDate.getInitialMap().duplicate();
- this.nativeErrorMap = NativeError.getInitialMap().duplicate();
- this.nativeEvalErrorMap = NativeEvalError.getInitialMap().duplicate();
- this.nativeJSAdapterMap = NativeJSAdapter.getInitialMap().duplicate();
- this.nativeNumberMap = NativeNumber.getInitialMap().duplicate();
- this.nativeRangeErrorMap = NativeRangeError.getInitialMap().duplicate();
- this.nativeReferenceErrorMap = NativeReferenceError.getInitialMap().duplicate();
- this.nativeRegExpMap = NativeRegExp.getInitialMap().duplicate();
- this.nativeRegExpExecResultMap = NativeRegExpExecResult.getInitialMap().duplicate();
- this.nativeStrictArgumentsMap = NativeStrictArguments.getInitialMap().duplicate();
- this.nativeStringMap = NativeString.getInitialMap().duplicate();
- this.nativeSyntaxErrorMap = NativeSyntaxError.getInitialMap().duplicate();
- this.nativeTypeErrorMap = NativeTypeError.getInitialMap().duplicate();
- this.nativeURIErrorMap = NativeURIError.getInitialMap().duplicate();
- this.prototypeObjectMap = PrototypeObject.getInitialMap().duplicate();
- this.objectMap = JO.getInitialMap().duplicate();
- this.functionMap = ScriptFunctionImpl.getInitialMap().duplicate();
- this.anonymousFunctionMap = ScriptFunctionImpl.getInitialAnonymousMap().duplicate();
- this.strictFunctionMap = ScriptFunctionImpl.getInitialStrictMap().duplicate();
- this.boundFunctionMap = ScriptFunctionImpl.getInitialBoundMap().duplicate();
-
- // java
- if (! env._no_java) {
- this.nativeJavaImporterMap = NativeJavaImporter.getInitialMap().duplicate();
- }
-
- // typed arrays
- if (! env._no_typed_arrays) {
- this.arrayBufferViewMap = ArrayBufferView.getInitialMap().duplicate();
- this.nativeArrayBufferMap = NativeArrayBuffer.getInitialMap().duplicate();
- }
- }
-
// Function and Object constructors are inter-dependent. Also,
// Function.prototype
// functions are not properly initialized. We fix the references here.
@@ -2022,7 +1832,7 @@
// Function.prototype === Object.getPrototypeOf(Function) ===
// <anon-function>
- builtinFunction.setProto(anon);
+ builtinFunction.setInitialProto(anon);
builtinFunction.setPrototype(anon);
anon.set("constructor", builtinFunction, false);
anon.deleteOwnProperty(anon.getMap().findProperty("prototype"));
@@ -2038,7 +1848,7 @@
this.builtinObject = (ScriptFunction)initConstructor("Object");
final ScriptObject ObjectPrototype = getObjectPrototype();
// Object.getPrototypeOf(Function.prototype) === Object.prototype
- anon.setProto(ObjectPrototype);
+ anon.setInitialProto(ObjectPrototype);
// Function valued properties of Function.prototype were not properly
// initialized. Because, these were created before global.function and
@@ -2050,10 +1860,10 @@
if (value instanceof ScriptFunction && value != anon) {
final ScriptFunction func = (ScriptFunction)value;
- func.setProto(getFunctionPrototype());
+ func.setInitialProto(getFunctionPrototype());
final ScriptObject prototype = ScriptFunction.getPrototype(func);
if (prototype != null) {
- prototype.setProto(ObjectPrototype);
+ prototype.setInitialProto(ObjectPrototype);
}
}
}
@@ -2068,7 +1878,7 @@
final ScriptFunction func = (ScriptFunction)value;
final ScriptObject prototype = ScriptFunction.getPrototype(func);
if (prototype != null) {
- prototype.setProto(ObjectPrototype);
+ prototype.setInitialProto(ObjectPrototype);
}
}
}
@@ -2086,7 +1896,7 @@
final ScriptFunction func = (ScriptFunction)value;
final ScriptObject prototype = ScriptFunction.getPrototype(func);
if (prototype != null) {
- prototype.setProto(ObjectPrototype);
+ prototype.setInitialProto(ObjectPrototype);
}
}
}
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeArguments.java b/nashorn/src/jdk/nashorn/internal/objects/NativeArguments.java
index f853573..03f68bf 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeArguments.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeArguments.java
@@ -68,7 +68,7 @@
final ArrayList<Property> properties = new ArrayList<>(2);
properties.add(AccessorProperty.create("length", Property.NOT_ENUMERABLE, G$LENGTH, S$LENGTH));
properties.add(AccessorProperty.create("callee", Property.NOT_ENUMERABLE, G$CALLEE, S$CALLEE));
- map$ = PropertyMap.newMap(properties).setIsShared();
+ map$ = PropertyMap.newMap(properties);
}
static PropertyMap getInitialMap() {
@@ -267,9 +267,9 @@
final Global global = Global.instance();
final ScriptObject proto = global.getObjectPrototype();
if (isStrict) {
- return new NativeStrictArguments(arguments, numParams, proto, global.getStrictArgumentsMap());
+ return new NativeStrictArguments(arguments, numParams, proto, NativeStrictArguments.getInitialMap());
}
- return new NativeArguments(arguments, callee, numParams, proto, global.getArgumentsMap());
+ return new NativeArguments(arguments, callee, numParams, proto, NativeArguments.getInitialMap());
}
/**
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java b/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java
index 67b9f1f..cc62d23 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeArray.java
@@ -208,7 +208,7 @@
}
NativeArray(final ArrayData arrayData, final Global global) {
- super(global.getArrayPrototype(), global.getArrayMap());
+ super(global.getArrayPrototype(), getInitialMap());
this.setArray(arrayData);
this.setIsArray();
}
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java b/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java
index d75a212..dbc1b24 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeArrayBuffer.java
@@ -57,7 +57,7 @@
}
protected NativeArrayBuffer(final byte[] byteArray, final Global global) {
- super(global.getArrayBufferPrototype(), global.getArrayBufferMap());
+ super(global.getArrayBufferPrototype(), getInitialMap());
this.buffer = byteArray;
}
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java b/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java
index bb57cc7..bd95507 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeBoolean.java
@@ -65,7 +65,7 @@
}
NativeBoolean(final boolean flag, final Global global) {
- this(flag, global.getBooleanPrototype(), global.getBooleanMap());
+ this(flag, global.getBooleanPrototype(), getInitialMap());
}
NativeBoolean(final boolean flag) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java b/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java
index 935285f..b0d1202 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeDate.java
@@ -127,7 +127,7 @@
}
NativeDate(final double time, final Global global) {
- this(time, global.getDatePrototype(), global.getDateMap());
+ this(time, global.getDatePrototype(), getInitialMap());
}
private NativeDate (final double time) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeDebug.java b/nashorn/src/jdk/nashorn/internal/objects/NativeDebug.java
index 9ee7c99..59b7b2f 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeDebug.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeDebug.java
@@ -34,7 +34,7 @@
import jdk.nashorn.internal.objects.annotations.ScriptClass;
import jdk.nashorn.internal.objects.annotations.Where;
import jdk.nashorn.internal.runtime.Context;
-import jdk.nashorn.internal.runtime.PropertyListenerManager;
+import jdk.nashorn.internal.runtime.PropertyListeners;
import jdk.nashorn.internal.runtime.PropertyMap;
import jdk.nashorn.internal.runtime.ScriptFunction;
import jdk.nashorn.internal.runtime.ScriptObject;
@@ -186,7 +186,7 @@
*/
@Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
public static Object getListenerCount(final Object self, final Object obj) {
- return (obj instanceof ScriptObject)? ((ScriptObject)obj).getListenerCount() : 0;
+ return (obj instanceof ScriptObject) ? PropertyListeners.getListenerCount((ScriptObject) obj) : 0;
}
/**
@@ -203,14 +203,13 @@
out.println("ScriptObject count " + ScriptObject.getCount());
out.println("Scope count " + ScriptObject.getScopeCount());
- out.println("ScriptObject listeners added " + PropertyListenerManager.getListenersAdded());
- out.println("ScriptObject listeners removed " + PropertyListenerManager.getListenersRemoved());
+ out.println("ScriptObject listeners added " + PropertyListeners.getListenersAdded());
+ out.println("ScriptObject listeners removed " + PropertyListeners.getListenersRemoved());
out.println("ScriptFunction constructor calls " + ScriptFunction.getConstructorCount());
out.println("ScriptFunction invokes " + ScriptFunction.getInvokes());
out.println("ScriptFunction allocations " + ScriptFunction.getAllocations());
out.println("PropertyMap count " + PropertyMap.getCount());
out.println("PropertyMap cloned " + PropertyMap.getClonedCount());
- out.println("PropertyMap shared " + PropertyMap.getSharedCount());
out.println("PropertyMap duplicated " + PropertyMap.getDuplicatedCount());
out.println("PropertyMap history hit " + PropertyMap.getHistoryHit());
out.println("PropertyMap proto invalidations " + PropertyMap.getProtoInvalidations());
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeError.java
index 0541084..e1a4730 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeError.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeError.java
@@ -108,7 +108,7 @@
}
NativeError(final Object msg, final Global global) {
- this(msg, global.getErrorPrototype(), global.getErrorMap());
+ this(msg, global.getErrorPrototype(), getInitialMap());
}
private NativeError(final Object msg) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java
index df8164c..bb11ef6 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeEvalError.java
@@ -78,7 +78,7 @@
}
NativeEvalError(final Object msg, final Global global) {
- this(msg, global.getEvalErrorPrototype(), global.getEvalErrorMap());
+ this(msg, global.getEvalErrorPrototype(), getInitialMap());
}
private NativeEvalError(final Object msg) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java b/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java
index 668ca8c..c77b2fe 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeJSAdapter.java
@@ -163,7 +163,7 @@
}
private static ScriptObject wrapAdaptee(final ScriptObject adaptee) {
- return new JO(adaptee, Global.instance().getObjectMap());
+ return new JO(adaptee, JO.getInitialMap());
}
@Override
@@ -577,7 +577,7 @@
proto = global.getJSAdapterPrototype();
}
- return new NativeJSAdapter(overrides, (ScriptObject)adaptee, (ScriptObject)proto, global.getJSAdapterMap());
+ return new NativeJSAdapter(overrides, (ScriptObject)adaptee, (ScriptObject)proto, getInitialMap());
}
@Override
@@ -629,7 +629,7 @@
// to name. Probably not a big deal, but if we can ever make it leaner, it'd be nice.
return new GuardedInvocation(MH.dropArguments(MH.constant(Object.class,
func.makeBoundFunction(this, new Object[] { name })), 0, Object.class),
- adaptee.getMap().getProtoGetSwitchPoint(adaptee.getProto(), __call__),
+ adaptee.getProtoSwitchPoint(__call__, find.getOwner()),
testJSAdaptor(adaptee, null, null, null));
}
}
@@ -700,7 +700,7 @@
if (methodHandle != null) {
return new GuardedInvocation(
methodHandle,
- adaptee.getMap().getProtoGetSwitchPoint(adaptee.getProto(), hook),
+ adaptee.getProtoSwitchPoint(hook, findData.getOwner()),
testJSAdaptor(adaptee, findData.getGetter(Object.class), findData.getOwner(), func));
}
}
@@ -713,7 +713,7 @@
final MethodHandle methodHandle = hook.equals(__put__) ?
MH.asType(Lookup.EMPTY_SETTER, type) :
Lookup.emptyGetter(type.returnType());
- return new GuardedInvocation(methodHandle, adaptee.getMap().getProtoGetSwitchPoint(adaptee.getProto(), hook), testJSAdaptor(adaptee, null, null, null));
+ return new GuardedInvocation(methodHandle, adaptee.getProtoSwitchPoint(hook, null), testJSAdaptor(adaptee, null, null, null));
}
}
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java b/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java
index 56baf66..c86f305 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeJavaImporter.java
@@ -70,7 +70,7 @@
}
private NativeJavaImporter(final Object[] args, final Global global) {
- this(args, global.getJavaImporterPrototype(), global.getJavaImporterMap());
+ this(args, global.getJavaImporterPrototype(), getInitialMap());
}
private NativeJavaImporter(final Object[] args) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java b/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java
index d9d568b..09289a0 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeNumber.java
@@ -98,7 +98,7 @@
}
NativeNumber(final double value, final Global global) {
- this(value, global.getNumberPrototype(), global.getNumberMap());
+ this(value, global.getNumberPrototype(), getInitialMap());
}
private NativeNumber(final double value) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java b/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java
index d102c0f..26335f6 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java
@@ -31,6 +31,7 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
+import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
@@ -58,6 +59,7 @@
import jdk.nashorn.internal.runtime.PropertyMap;
import jdk.nashorn.internal.runtime.ScriptObject;
import jdk.nashorn.internal.runtime.ScriptRuntime;
+import jdk.nashorn.internal.runtime.arrays.ArrayData;
import jdk.nashorn.internal.runtime.linker.Bootstrap;
import jdk.nashorn.internal.runtime.linker.InvokeByName;
import jdk.nashorn.internal.runtime.linker.NashornBeansLinker;
@@ -101,6 +103,27 @@
}
/**
+ * Nashorn extension: setIndexedPropertiesToExternalArrayData
+ *
+ * @param self self reference
+ * @param obj object whose index properties are backed by buffer
+ * @param buf external buffer - should be a nio ByteBuffer
+ * @return the 'obj' object
+ */
+ @Function(attributes = Attribute.NOT_ENUMERABLE, where = Where.CONSTRUCTOR)
+ public static Object setIndexedPropertiesToExternalArrayData(final Object self, final Object obj, final Object buf) {
+ Global.checkObject(obj);
+ final ScriptObject sobj = (ScriptObject)obj;
+ if (buf instanceof ByteBuffer) {
+ sobj.setArray(ArrayData.allocate((ByteBuffer)buf));
+ } else {
+ throw typeError("not.a.bytebuffer", "setIndexedPropertiesToExternalArrayData's buf argument");
+ }
+ return sobj;
+ }
+
+
+ /**
* ECMA 15.2.3.2 Object.getPrototypeOf ( O )
*
* @param self self reference
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java
index a71b28b..6e0d954 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeRangeError.java
@@ -78,7 +78,7 @@
}
NativeRangeError(final Object msg, final Global global) {
- this(msg, global.getRangeErrorPrototype(), global.getRangeErrorMap());
+ this(msg, global.getRangeErrorPrototype(), getInitialMap());
}
private NativeRangeError(final Object msg) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java
index d02a325..052950c 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeReferenceError.java
@@ -78,7 +78,7 @@
}
NativeReferenceError(final Object msg, final Global global) {
- this(msg, global.getReferenceErrorPrototype(), global.getReferenceErrorMap());
+ this(msg, global.getReferenceErrorPrototype(), getInitialMap());
}
private NativeReferenceError(final Object msg) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java
index 318ca2a..abc3366 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExp.java
@@ -75,7 +75,7 @@
}
private NativeRegExp(final Global global) {
- super(global.getRegExpPrototype(), global.getRegExpMap());
+ super(global.getRegExpPrototype(), getInitialMap());
this.globalObject = global;
}
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java
index 3508e5f..5d79699 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeRegExpExecResult.java
@@ -58,7 +58,7 @@
}
NativeRegExpExecResult(final RegExpResult result, final Global global) {
- super(global.getArrayPrototype(), global.getRegExpExecResultMap());
+ super(global.getArrayPrototype(), getInitialMap());
setIsArray();
this.setArray(ArrayData.allocate(result.getGroups().clone()));
this.index = result.getIndex();
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeStrictArguments.java b/nashorn/src/jdk/nashorn/internal/objects/NativeStrictArguments.java
index b81cc2a..dd2c281 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeStrictArguments.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeStrictArguments.java
@@ -60,9 +60,9 @@
// In strict mode, the caller and callee properties should throw TypeError
// Need to add properties directly to map since slots are assigned speculatively by newUserAccessors.
final int flags = Property.NOT_ENUMERABLE | Property.NOT_CONFIGURABLE;
- map = map.addProperty(map.newUserAccessors("caller", flags));
- map = map.addProperty(map.newUserAccessors("callee", flags));
- map$ = map.setIsShared();
+ map = map.addPropertyNoHistory(map.newUserAccessors("caller", flags));
+ map = map.addPropertyNoHistory(map.newUserAccessors("callee", flags));
+ map$ = map;
}
static PropertyMap getInitialMap() {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeString.java b/nashorn/src/jdk/nashorn/internal/objects/NativeString.java
index 95af71a..2370f51 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeString.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeString.java
@@ -83,7 +83,7 @@
}
NativeString(final CharSequence value, final Global global) {
- this(value, global.getStringPrototype(), global.getStringMap());
+ this(value, global.getStringPrototype(), getInitialMap());
}
private NativeString(final CharSequence value, final ScriptObject proto, final PropertyMap map) {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java
index 5d71ade..ffe1b0a 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeSyntaxError.java
@@ -68,7 +68,7 @@
@SuppressWarnings("LeakingThisInConstructor")
NativeSyntaxError(final Object msg, final Global global) {
- super(global.getSyntaxErrorPrototype(), global.getSyntaxErrorMap());
+ super(global.getSyntaxErrorPrototype(), getInitialMap());
if (msg != UNDEFINED) {
this.instMessage = JSType.toString(msg);
} else {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java
index 8857da7..067139c 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeTypeError.java
@@ -68,7 +68,7 @@
@SuppressWarnings("LeakingThisInConstructor")
NativeTypeError(final Object msg, final Global global) {
- super(global.getTypeErrorPrototype(), global.getTypeErrorMap());
+ super(global.getTypeErrorPrototype(), getInitialMap());
if (msg != UNDEFINED) {
this.instMessage = JSType.toString(msg);
} else {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java b/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java
index 7ff6c196..382e23f 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeURIError.java
@@ -67,7 +67,7 @@
@SuppressWarnings("LeakingThisInConstructor")
NativeURIError(final Object msg, final Global global) {
- super(global.getURIErrorPrototype(), global.getURIErrorMap());
+ super(global.getURIErrorPrototype(), getInitialMap());
if (msg != UNDEFINED) {
this.instMessage = JSType.toString(msg);
} else {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/PrototypeObject.java b/nashorn/src/jdk/nashorn/internal/objects/PrototypeObject.java
index 4610afc..1fd4f60 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/PrototypeObject.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/PrototypeObject.java
@@ -54,7 +54,7 @@
static {
final ArrayList<Property> properties = new ArrayList<>(1);
properties.add(AccessorProperty.create("constructor", Property.NOT_ENUMERABLE, GET_CONSTRUCTOR, SET_CONSTRUCTOR));
- map$ = PropertyMap.newMap(properties).setIsShared();
+ map$ = PropertyMap.newMap(properties);
}
static PropertyMap getInitialMap() {
@@ -62,8 +62,7 @@
}
private PrototypeObject(final Global global, final PropertyMap map) {
- super(map != map$? map.addAll(global.getPrototypeObjectMap()) : global.getPrototypeObjectMap());
- setProto(global.getObjectPrototype());
+ super(global.getObjectPrototype(), map != map$? map.addAll(map$) : map$);
}
PrototypeObject() {
diff --git a/nashorn/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java b/nashorn/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java
index f0bea3a..9852c96 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/ScriptFunctionImpl.java
@@ -37,7 +37,6 @@
import jdk.nashorn.internal.runtime.ScriptFunction;
import jdk.nashorn.internal.runtime.ScriptFunctionData;
import jdk.nashorn.internal.runtime.ScriptObject;
-import jdk.nashorn.internal.lookup.Lookup;
import jdk.nashorn.internal.runtime.AccessorProperty;
/**
@@ -76,7 +75,7 @@
private static final Object LAZY_PROTOTYPE = new Object();
private ScriptFunctionImpl(final String name, final MethodHandle invokeHandle, final MethodHandle[] specs, final Global global) {
- super(name, invokeHandle, global.getFunctionMap(), null, specs, false, true, true);
+ super(name, invokeHandle, getInitialMap(), null, specs, false, true, true);
init(global);
}
@@ -93,7 +92,7 @@
}
private ScriptFunctionImpl(final String name, final MethodHandle invokeHandle, final PropertyMap map, final MethodHandle[] specs, final Global global) {
- super(name, invokeHandle, map.addAll(global.getFunctionMap()), null, specs, false, true, true);
+ super(name, invokeHandle, map.addAll(getInitialMap()), null, specs, false, true, true);
init(global);
}
@@ -151,7 +150,7 @@
* @param global the global object
*/
ScriptFunctionImpl(final ScriptFunctionData data, final Global global) {
- super(data, global.getBoundFunctionMap(), null);
+ super(data, getInitialBoundMap(), null);
init(global);
}
@@ -163,25 +162,20 @@
map$ = PropertyMap.newMap(properties);
strictmodemap$ = createStrictModeMap(map$);
boundfunctionmap$ = createBoundFunctionMap(strictmodemap$);
- // There are order dependencies between normal map, struct map and bound map
- // We can make these 'shared' only after initialization of all three.
- map$.setIsShared();
- strictmodemap$.setIsShared();
- boundfunctionmap$.setIsShared();
}
private static PropertyMap createStrictModeMap(final PropertyMap map) {
final int flags = Property.NOT_ENUMERABLE | Property.NOT_CONFIGURABLE;
PropertyMap newMap = map;
// Need to add properties directly to map since slots are assigned speculatively by newUserAccessors.
- newMap = newMap.addProperty(map.newUserAccessors("arguments", flags));
- newMap = newMap.addProperty(map.newUserAccessors("caller", flags));
+ newMap = newMap.addPropertyNoHistory(map.newUserAccessors("arguments", flags));
+ newMap = newMap.addPropertyNoHistory(map.newUserAccessors("caller", flags));
return newMap;
}
// Choose the map based on strict mode!
private static PropertyMap getMap(final Global global, final boolean strict) {
- return strict ? global.getStrictFunctionMap() : global.getFunctionMap();
+ return strict ? getInitialStrictMap() : getInitialMap();
}
private static PropertyMap createBoundFunctionMap(final PropertyMap strictModeMap) {
@@ -193,14 +187,14 @@
// Instance of this class is used as global anonymous function which
// serves as Function.prototype object.
private static class AnonymousFunction extends ScriptFunctionImpl {
- private static final PropertyMap anonmap$ = PropertyMap.newMap().setIsShared();
+ private static final PropertyMap anonmap$ = PropertyMap.newMap();
static PropertyMap getInitialMap() {
return anonmap$;
}
AnonymousFunction(final Global global) {
- super("", GlobalFunctions.ANONYMOUS, global.getAnonymousFunctionMap(), null);
+ super("", GlobalFunctions.ANONYMOUS, getInitialAnonymousMap(), null);
}
}
@@ -281,13 +275,17 @@
}
@Override
- public final void setPrototype(final Object prototype) {
- this.prototype = prototype;
+ public final void setPrototype(final Object newProto) {
+ if (newProto instanceof ScriptObject && newProto != this.prototype && allocatorMap != null) {
+ // Replace our current allocator map with one that is associated with the new prototype.
+ allocatorMap = allocatorMap.changeProto((ScriptObject)newProto);
+ }
+ this.prototype = newProto;
}
// Internals below..
private void init(final Global global) {
- this.setProto(global.getFunctionPrototype());
+ this.setInitialProto(global.getFunctionPrototype());
this.prototype = LAZY_PROTOTYPE;
// We have to fill user accessor functions late as these are stored
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/Context.java b/nashorn/src/jdk/nashorn/internal/runtime/Context.java
index e15ddd2..3e6a148 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/Context.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/Context.java
@@ -956,7 +956,7 @@
final URL url = source.getURL();
final ScriptLoader loader = env._loader_per_compile ? createNewLoader() : scriptLoader;
- final CodeSource cs = url == null ? null : new CodeSource(url, (CodeSigner[])null);
+ final CodeSource cs = new CodeSource(url, (CodeSigner[])null);
final CodeInstaller<ScriptEnvironment> installer = new ContextCodeInstaller(this, loader, cs);
final Compiler compiler = new Compiler(installer, strict);
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/PropertyDescriptor.java b/nashorn/src/jdk/nashorn/internal/runtime/PropertyDescriptor.java
index 49a7a9d..f36bd45 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/PropertyDescriptor.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/PropertyDescriptor.java
@@ -151,5 +151,12 @@
* @return true if property exists in implementor
*/
public boolean has(Object key);
+
+ /**
+ * Check existence and compare attributes of descriptors.
+ *
+ * @return true if every field of this desc exists in otherDesc and has the same value.
+ */
+ public boolean hasAndEquals(PropertyDescriptor otherDesc);
}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/PropertyListener.java b/nashorn/src/jdk/nashorn/internal/runtime/PropertyListener.java
deleted file mode 100644
index 307d58b..0000000
--- a/nashorn/src/jdk/nashorn/internal/runtime/PropertyListener.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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
- * 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.
- */
-
-package jdk.nashorn.internal.runtime;
-
-/**
- * Property change listener gets notified whenever properties are added/deleted/modified.
- */
-public interface PropertyListener {
- /**
- * A new property is being added.
- *
- * @param object The ScriptObject to which property was added.
- * @param prop The new Property added.
- */
- public void propertyAdded(ScriptObject object, Property prop);
-
- /**
- * An existing property is being deleted.
- *
- * @param object The ScriptObject whose property is being deleted.
- * @param prop The property being deleted.
- */
- public void propertyDeleted(ScriptObject object, Property prop);
-
- /**
- * An existing Property is being replaced with a new Property.
- *
- * @param object The ScriptObject whose property is being modified.
- * @param oldProp The old property that is being replaced.
- * @param newProp The new property that replaces the old property.
- *
- */
- public void propertyModified(ScriptObject object, Property oldProp, Property newProp);
-
- /**
- * Given object's __proto__ has changed.
- *
- * @param object object whose __proto__ has changed.
- * @param oldProto old __proto__
- * @param newProto new __proto__
- */
- public void protoChanged(ScriptObject object, ScriptObject oldProto, ScriptObject newProto);
-}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/PropertyListenerManager.java b/nashorn/src/jdk/nashorn/internal/runtime/PropertyListenerManager.java
deleted file mode 100644
index 27ec2c9..0000000
--- a/nashorn/src/jdk/nashorn/internal/runtime/PropertyListenerManager.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * 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
- * 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.
- */
-
-package jdk.nashorn.internal.runtime;
-
-import java.util.Map;
-import java.util.WeakHashMap;
-
-/**
- * Helper class to manage property listeners and notification.
- */
-public class PropertyListenerManager implements PropertyListener {
- PropertyListenerManager() {}
-
- /** property listeners for this object. */
- private Map<PropertyListener,Boolean> listeners;
-
- // These counters are updated in debug mode
- private static int listenersAdded;
- private static int listenersRemoved;
-
- /**
- * Return aggregate listeners added to all PropertyListenerManagers
- * @return the listenersAdded
- */
- public static int getListenersAdded() {
- return listenersAdded;
- }
-
- /**
- * Return aggregate listeners removed from all PropertyListenerManagers
- * @return the listenersRemoved
- */
- public static int getListenersRemoved() {
- return listenersRemoved;
- }
-
- /**
- * Return listeners added to this PropertyListenerManager.
- * @return the listener count
- */
- public final int getListenerCount() {
- return listeners != null? listeners.size() : 0;
- }
-
- // Property listener management methods
-
- /**
- * Add a property listener to this object.
- *
- * @param listener The property listener that is added.
- */
- public synchronized final void addPropertyListener(final PropertyListener listener) {
- if (listeners == null) {
- listeners = new WeakHashMap<>();
- }
-
- if (Context.DEBUG) {
- listenersAdded++;
- }
- listeners.put(listener, Boolean.TRUE);
- }
-
- /**
- * Remove a property listener from this object.
- *
- * @param listener The property listener that is removed.
- */
- public synchronized final void removePropertyListener(final PropertyListener listener) {
- if (listeners != null) {
- if (Context.DEBUG) {
- listenersRemoved++;
- }
- listeners.remove(listener);
- }
- }
-
- /**
- * This method can be called to notify property addition to this object's listeners.
- *
- * @param object The ScriptObject to which property was added.
- * @param prop The property being added.
- */
- protected synchronized final void notifyPropertyAdded(final ScriptObject object, final Property prop) {
- if (listeners != null) {
- for (PropertyListener listener : listeners.keySet()) {
- listener.propertyAdded(object, prop);
- }
- }
- }
-
- /**
- * This method can be called to notify property deletion to this object's listeners.
- *
- * @param object The ScriptObject from which property was deleted.
- * @param prop The property being deleted.
- */
- protected synchronized final void notifyPropertyDeleted(final ScriptObject object, final Property prop) {
- if (listeners != null) {
- for (PropertyListener listener : listeners.keySet()) {
- listener.propertyDeleted(object, prop);
- }
- }
- }
-
- /**
- * This method can be called to notify property modification to this object's listeners.
- *
- * @param object The ScriptObject to which property was modified.
- * @param oldProp The old property being replaced.
- * @param newProp The new property that replaces the old property.
- */
- protected synchronized final void notifyPropertyModified(final ScriptObject object, final Property oldProp, final Property newProp) {
- if (listeners != null) {
- for (PropertyListener listener : listeners.keySet()) {
- listener.propertyModified(object, oldProp, newProp);
- }
- }
- }
-
- /**
- * This method can be called to notify __proto__ modification to this object's listeners.
- *
- * @param object The ScriptObject whose __proto__ was changed.
- * @param oldProto old __proto__
- * @param newProto new __proto__
- */
- protected synchronized final void notifyProtoChanged(final ScriptObject object, final ScriptObject oldProto, final ScriptObject newProto) {
- if (listeners != null) {
- for (PropertyListener listener : listeners.keySet()) {
- listener.protoChanged(object, oldProto, newProto);
- }
- }
- }
-
- // PropertyListener methods
-
- @Override
- public final void propertyAdded(final ScriptObject object, final Property prop) {
- notifyPropertyAdded(object, prop);
- }
-
- @Override
- public final void propertyDeleted(final ScriptObject object, final Property prop) {
- notifyPropertyDeleted(object, prop);
- }
-
- @Override
- public final void propertyModified(final ScriptObject object, final Property oldProp, final Property newProp) {
- notifyPropertyModified(object, oldProp, newProp);
- }
-
- @Override
- public final void protoChanged(final ScriptObject object, final ScriptObject oldProto, final ScriptObject newProto) {
- notifyProtoChanged(object, oldProto, newProto);
- }
-}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/PropertyListeners.java b/nashorn/src/jdk/nashorn/internal/runtime/PropertyListeners.java
new file mode 100644
index 0000000..532969c
--- /dev/null
+++ b/nashorn/src/jdk/nashorn/internal/runtime/PropertyListeners.java
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2010, 2014, 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.
+ */
+
+package jdk.nashorn.internal.runtime;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.WeakHashMap;
+
+/**
+ * Helper class to manage property listeners and notification.
+ */
+public class PropertyListeners {
+
+ private Map<String, WeakPropertyMapSet> listeners;
+
+ // These counters are updated in debug mode
+ private static int listenersAdded;
+ private static int listenersRemoved;
+
+ /**
+ * Copy constructor
+ * @param listener listener to copy
+ */
+ PropertyListeners(final PropertyListeners listener) {
+ if (listener != null && listener.listeners != null) {
+ this.listeners = new WeakHashMap<>(listener.listeners);
+ }
+ }
+
+ /**
+ * Return aggregate listeners added to all PropertyListenerManagers
+ * @return the listenersAdded
+ */
+ public static int getListenersAdded() {
+ return listenersAdded;
+ }
+
+ /**
+ * Return aggregate listeners removed from all PropertyListenerManagers
+ * @return the listenersRemoved
+ */
+ public static int getListenersRemoved() {
+ return listenersRemoved;
+ }
+
+ /**
+ * Return listeners added to this ScriptObject.
+ * @param obj the object
+ * @return the listener count
+ */
+ public static int getListenerCount(final ScriptObject obj) {
+ final PropertyListeners propertyListeners = obj.getMap().getListeners();
+ if (propertyListeners != null) {
+ return propertyListeners.listeners == null ? 0 : propertyListeners.listeners.size();
+ }
+ return 0;
+ }
+
+ // Property listener management methods
+
+ /**
+ * Add {@code propertyMap} as property listener to {@code listeners} using key {@code key} by
+ * creating and returning a new {@code PropertyListeners} instance.
+ *
+ * @param listeners the original property listeners instance, may be null
+ * @param key the property key
+ * @param propertyMap the property map
+ * @return the new property map
+ */
+ public static PropertyListeners addListener(final PropertyListeners listeners, final String key, final PropertyMap propertyMap) {
+ final PropertyListeners newListeners;
+ if (listeners == null || !listeners.containsListener(key, propertyMap)) {
+ newListeners = new PropertyListeners(listeners);
+ newListeners.addListener(key, propertyMap);
+ return newListeners;
+ }
+ return listeners;
+ }
+
+ /**
+ * Checks whether {@code propertyMap} is registered as listener with {@code key}.
+ *
+ * @param key the property key
+ * @param propertyMap the property map
+ * @return true if property map is registered with property key
+ */
+ synchronized boolean containsListener(final String key, final PropertyMap propertyMap) {
+ if (listeners == null) {
+ return false;
+ }
+ WeakPropertyMapSet set = listeners.get(key);
+ return set != null && set.contains(propertyMap);
+ }
+
+ /**
+ * Add a property listener to this object.
+ *
+ * @param propertyMap The property listener that is added.
+ */
+ synchronized final void addListener(final String key, final PropertyMap propertyMap) {
+ if (Context.DEBUG) {
+ listenersAdded++;
+ }
+ if (listeners == null) {
+ listeners = new WeakHashMap<>();
+ }
+
+ WeakPropertyMapSet set = listeners.get(key);
+ if (set == null) {
+ set = new WeakPropertyMapSet();
+ listeners.put(key, set);
+ }
+ if (!set.contains(propertyMap)) {
+ set.add(propertyMap);
+ }
+ }
+
+ /**
+ * A new property is being added.
+ *
+ * @param prop The new Property added.
+ */
+ public synchronized void propertyAdded(final Property prop) {
+ if (listeners != null) {
+ WeakPropertyMapSet set = listeners.get(prop.getKey());
+ if (set != null) {
+ for (PropertyMap propertyMap : set.elements()) {
+ propertyMap.propertyAdded(prop);
+ }
+ listeners.remove(prop.getKey());
+ }
+ }
+ }
+
+ /**
+ * An existing property is being deleted.
+ *
+ * @param prop The property being deleted.
+ */
+ public synchronized void propertyDeleted(final Property prop) {
+ if (listeners != null) {
+ WeakPropertyMapSet set = listeners.get(prop.getKey());
+ if (set != null) {
+ for (PropertyMap propertyMap : set.elements()) {
+ propertyMap.propertyDeleted(prop);
+ }
+ listeners.remove(prop.getKey());
+ }
+ }
+ }
+
+ /**
+ * An existing Property is being replaced with a new Property.
+ *
+ * @param oldProp The old property that is being replaced.
+ * @param newProp The new property that replaces the old property.
+ *
+ */
+ public synchronized void propertyModified(final Property oldProp, final Property newProp) {
+ if (listeners != null) {
+ WeakPropertyMapSet set = listeners.get(oldProp.getKey());
+ if (set != null) {
+ for (PropertyMap propertyMap : set.elements()) {
+ propertyMap.propertyModified(oldProp, newProp);
+ }
+ listeners.remove(oldProp.getKey());
+ }
+ }
+ }
+
+ public synchronized void protoChanged() {
+ if (listeners != null) {
+ for (WeakPropertyMapSet set : listeners.values()) {
+ for (PropertyMap propertyMap : set.elements()) {
+ propertyMap.protoChanged();
+ }
+ }
+ listeners.clear();
+ }
+ }
+
+ private static class WeakPropertyMapSet {
+
+ private WeakHashMap<PropertyMap, Boolean> map = new WeakHashMap<>();
+
+ void add(final PropertyMap propertyMap) {
+ map.put(propertyMap, Boolean.TRUE);
+ }
+
+ boolean contains(final PropertyMap propertyMap) {
+ return map.containsKey(propertyMap);
+ }
+
+ Set<PropertyMap> elements() {
+ return map.keySet();
+ }
+
+ }
+}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/PropertyMap.java b/nashorn/src/jdk/nashorn/internal/runtime/PropertyMap.java
index 03c4978..77bcc83 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/PropertyMap.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/PropertyMap.java
@@ -30,13 +30,11 @@
import static jdk.nashorn.internal.runtime.arrays.ArrayIndex.isValidArrayIndex;
import java.lang.invoke.SwitchPoint;
-import java.lang.ref.WeakReference;
+import java.lang.ref.SoftReference;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
import java.util.NoSuchElementException;
import java.util.WeakHashMap;
@@ -49,17 +47,11 @@
* All property maps are immutable. If a property is added, modified or removed, the mutator
* will return a new map.
*/
-public final class PropertyMap implements Iterable<Object>, PropertyListener {
+public final class PropertyMap implements Iterable<Object> {
/** Used for non extensible PropertyMaps, negative logic as the normal case is extensible. See {@link ScriptObject#preventExtensions()} */
public static final int NOT_EXTENSIBLE = 0b0000_0001;
/** Does this map contain valid array keys? */
public static final int CONTAINS_ARRAY_KEYS = 0b0000_0010;
- /** This mask is used to preserve certain flags when cloning the PropertyMap. Others should not be copied */
- private static final int CLONEABLE_FLAGS_MASK = 0b0000_1111;
- /** Has a listener been added to this property map. This flag is not copied when cloning a map. See {@link PropertyListener} */
- public static final int IS_LISTENER_ADDED = 0b0001_0000;
- /** Is this process wide "shared" map?. This flag is not copied when cloning a map */
- public static final int IS_SHARED = 0b0010_0000;
/** Map status flags. */
private int flags;
@@ -77,16 +69,16 @@
private int spillLength;
/** {@link SwitchPoint}s for gets on inherited properties. */
- private Map<String, SwitchPoint> protoGetSwitches;
+ private HashMap<String, SwitchPoint> protoGetSwitches;
/** History of maps, used to limit map duplication. */
- private HashMap<Property, PropertyMap> history;
+ private WeakHashMap<Property, SoftReference<PropertyMap>> history;
/** History of prototypes, used to limit map duplication. */
- private WeakHashMap<ScriptObject, WeakReference<PropertyMap>> protoHistory;
+ private WeakHashMap<PropertyMap, SoftReference<PropertyMap>> protoHistory;
- /** Cache for hashCode */
- private int hashCode;
+ /** property listeners */
+ private PropertyListeners listeners;
/**
* Constructor.
@@ -119,10 +111,12 @@
*/
private PropertyMap(final PropertyMap propertyMap, final PropertyHashMap properties) {
this.properties = properties;
- this.flags = propertyMap.getClonedFlags();
+ this.flags = propertyMap.flags;
this.spillLength = propertyMap.spillLength;
this.fieldCount = propertyMap.fieldCount;
this.fieldMaximum = propertyMap.fieldMaximum;
+ // We inherit the parent property listeners instance. It will be cloned when a new listener is added.
+ this.listeners = propertyMap.listeners;
if (Context.DEBUG) {
count++;
@@ -203,35 +197,92 @@
}
/**
+ * Get the listeners of this map, or null if none exists
+ *
+ * @return the listeners
+ */
+ public PropertyListeners getListeners() {
+ return listeners;
+ }
+
+ /**
+ * Add {@code listenerMap} as a listener to this property map for the given {@code key}.
+ *
+ * @param key the property name
+ * @param listenerMap the listener map
+ */
+ public void addListener(final String key, final PropertyMap listenerMap) {
+ if (listenerMap != this) {
+ // We need to clone listener instance when adding a new listener since we share
+ // the listeners instance with our parent maps that don't need to see the new listener.
+ listeners = PropertyListeners.addListener(listeners, key, listenerMap);
+ }
+ }
+
+ /**
+ * A new property is being added.
+ *
+ * @param property The new Property added.
+ */
+ public void propertyAdded(final Property property) {
+ invalidateProtoGetSwitchPoint(property);
+ if (listeners != null) {
+ listeners.propertyAdded(property);
+ }
+ }
+
+ /**
+ * An existing property is being deleted.
+ *
+ * @param property The property being deleted.
+ */
+ public void propertyDeleted(final Property property) {
+ invalidateProtoGetSwitchPoint(property);
+ if (listeners != null) {
+ listeners.propertyDeleted(property);
+ }
+ }
+
+ /**
+ * An existing property is being redefined.
+ *
+ * @param oldProperty The old property
+ * @param newProperty The new property
+ */
+ public void propertyModified(final Property oldProperty, final Property newProperty) {
+ invalidateProtoGetSwitchPoint(oldProperty);
+ if (listeners != null) {
+ listeners.propertyModified(oldProperty, newProperty);
+ }
+ }
+
+ /**
+ * The prototype of an object associated with this {@link PropertyMap} is changed.
+ */
+ public void protoChanged() {
+ invalidateAllProtoGetSwitchPoints();
+ if (listeners != null) {
+ listeners.protoChanged();
+ }
+ }
+
+ /**
* Return a SwitchPoint used to track changes of a property in a prototype.
*
- * @param proto Object prototype.
- * @param key {@link Property} key.
- *
+ * @param key Property key.
* @return A shared {@link SwitchPoint} for the property.
*/
- public SwitchPoint getProtoGetSwitchPoint(final ScriptObject proto, final String key) {
- assert !isShared() : "proto SwitchPoint from a shared PropertyMap";
-
- if (proto == null) {
- return null;
- }
-
+ public synchronized SwitchPoint getSwitchPoint(final String key) {
if (protoGetSwitches == null) {
protoGetSwitches = new HashMap<>();
- if (! isListenerAdded()) {
- proto.addPropertyListener(this);
- setIsListenerAdded();
- }
}
- if (protoGetSwitches.containsKey(key)) {
- return protoGetSwitches.get(key);
+ SwitchPoint switchPoint = protoGetSwitches.get(key);
+ if (switchPoint == null) {
+ switchPoint = new SwitchPoint();
+ protoGetSwitches.put(key, switchPoint);
}
- final SwitchPoint switchPoint = new SwitchPoint();
- protoGetSwitches.put(key, switchPoint);
-
return switchPoint;
}
@@ -240,14 +291,13 @@
*
* @param property {@link Property} to invalidate.
*/
- private void invalidateProtoGetSwitchPoint(final Property property) {
- assert !isShared() : "proto invalidation on a shared PropertyMap";
-
+ synchronized void invalidateProtoGetSwitchPoint(final Property property) {
if (protoGetSwitches != null) {
+
final String key = property.getKey();
final SwitchPoint sp = protoGetSwitches.get(key);
if (sp != null) {
- protoGetSwitches.put(key, new SwitchPoint());
+ protoGetSwitches.remove(key);
if (Context.DEBUG) {
protoInvalidations++;
}
@@ -257,14 +307,15 @@
}
/**
- * Indicate that proto itself has changed in hierachy somewhere.
+ * Indicate that proto itself has changed in hierarchy somewhere.
*/
- private void invalidateAllProtoGetSwitchPoints() {
- assert !isShared() : "proto invalidation on a shared PropertyMap";
-
- if (protoGetSwitches != null) {
- final Collection<SwitchPoint> sws = protoGetSwitches.values();
- SwitchPoint.invalidateAll(sws.toArray(new SwitchPoint[sws.size()]));
+ synchronized void invalidateAllProtoGetSwitchPoints() {
+ if (protoGetSwitches != null && !protoGetSwitches.isEmpty()) {
+ if (Context.DEBUG) {
+ protoInvalidations += protoGetSwitches.size();
+ }
+ SwitchPoint.invalidateAll(protoGetSwitches.values().toArray(new SwitchPoint[protoGetSwitches.values().size()]));
+ protoGetSwitches.clear();
}
}
@@ -279,7 +330,33 @@
* @return New {@link PropertyMap} with {@link Property} added.
*/
PropertyMap addPropertyBind(final AccessorProperty property, final Object bindTo) {
- return addProperty(new AccessorProperty(property, bindTo));
+ // No need to store bound property in the history as bound properties can't be reused.
+ return addPropertyNoHistory(new AccessorProperty(property, bindTo));
+ }
+
+ /**
+ * Add a property to the map without adding it to the history. This should be used for properties that
+ * can't be shared such as bound properties, or properties that are expected to be added only once.
+ *
+ * @param property {@link Property} being added.
+ * @return New {@link PropertyMap} with {@link Property} added.
+ */
+ public PropertyMap addPropertyNoHistory(final Property property) {
+ if (listeners != null) {
+ listeners.propertyAdded(property);
+ }
+ final PropertyHashMap newProperties = properties.immutableAdd(property);
+ final PropertyMap newMap = new PropertyMap(this, newProperties);
+
+ if(!property.isSpill()) {
+ newMap.fieldCount = Math.max(newMap.fieldCount, property.getSlot() + 1);
+ }
+ if (isValidArrayIndex(getArrayIndex(property.getKey()))) {
+ newMap.setContainsArrayKeys();
+ }
+
+ newMap.spillLength += property.getSpillCount();
+ return newMap;
}
/**
@@ -290,6 +367,9 @@
* @return New {@link PropertyMap} with {@link Property} added.
*/
public PropertyMap addProperty(final Property property) {
+ if (listeners != null) {
+ listeners.propertyAdded(property);
+ }
PropertyMap newMap = checkHistory(property);
if (newMap == null) {
@@ -318,6 +398,9 @@
* @return New {@link PropertyMap} with {@link Property} removed or {@code null} if not found.
*/
public PropertyMap deleteProperty(final Property property) {
+ if (listeners != null) {
+ listeners.propertyDeleted(property);
+ }
PropertyMap newMap = checkHistory(property);
final String key = property.getKey();
@@ -339,6 +422,9 @@
* @return New {@link PropertyMap} with {@link Property} replaced.
*/
PropertyMap replaceProperty(final Property oldProperty, final Property newProperty) {
+ if (listeners != null) {
+ listeners.propertyModified(oldProperty, newProperty);
+ }
// Add replaces existing property.
final PropertyHashMap newProperties = properties.immutableAdd(newProperty);
final PropertyMap newMap = new PropertyMap(this, newProperties);
@@ -363,7 +449,7 @@
(oldProperty instanceof AccessorProperty &&
newProperty instanceof UserAccessorProperty) : "arbitrary replaceProperty attempted";
- newMap.flags = getClonedFlags();
+ newMap.flags = flags;
/*
* spillLength remains same in case (1) and (2) because of slot reuse. Only for case (3), we need
@@ -491,28 +577,6 @@
}
/**
- * Make this property map 'shared' one. Shared property map instances are
- * process wide singleton objects. A shaped map should never be added as a listener
- * to a proto object. Nor it should have history or proto history. A shared map
- * is just a template that is meant to be duplicated before use. All nasgen initialized
- * property maps are shared.
- *
- * @return this map after making it as shared
- */
- public PropertyMap setIsShared() {
- assert !isListenerAdded() : "making PropertyMap shared after listener added";
- assert protoHistory == null : "making PropertyMap shared after associating a proto with it";
- if (Context.DEBUG) {
- sharedCount++;
- }
-
- flags |= IS_SHARED;
- // clear any history on this PropertyMap, won't be used.
- history = null;
- return this;
- }
-
- /**
* Check for any configurable properties.
*
* @return {@code true} if any configurable.
@@ -551,14 +615,14 @@
/**
* Check prototype history for an existing property map with specified prototype.
*
- * @param newProto New prototype object.
+ * @param parentMap New prototype object.
*
* @return Existing {@link PropertyMap} or {@code null} if not found.
*/
- private PropertyMap checkProtoHistory(final ScriptObject newProto) {
+ private PropertyMap checkProtoHistory(final PropertyMap parentMap) {
final PropertyMap cachedMap;
if (protoHistory != null) {
- final WeakReference<PropertyMap> weakMap = protoHistory.get(newProto);
+ final SoftReference<PropertyMap> weakMap = protoHistory.get(parentMap);
cachedMap = (weakMap != null ? weakMap.get() : null);
} else {
cachedMap = null;
@@ -574,17 +638,15 @@
/**
* Add a map to the prototype history.
*
- * @param newProto Prototype to add (key.)
+ * @param parentMap Prototype to add (key.)
* @param newMap {@link PropertyMap} associated with prototype.
*/
- private void addToProtoHistory(final ScriptObject newProto, final PropertyMap newMap) {
- assert !isShared() : "proto history modified on a shared PropertyMap";
-
+ private void addToProtoHistory(final PropertyMap parentMap, final PropertyMap newMap) {
if (protoHistory == null) {
protoHistory = new WeakHashMap<>();
}
- protoHistory.put(newProto, new WeakReference<>(newMap));
+ protoHistory.put(parentMap, new SoftReference<>(newMap));
}
/**
@@ -594,14 +656,12 @@
* @param newMap Modified {@link PropertyMap}.
*/
private void addToHistory(final Property property, final PropertyMap newMap) {
- assert !isShared() : "history modified on a shared PropertyMap";
-
if (!properties.isEmpty()) {
if (history == null) {
- history = new LinkedHashMap<>();
+ history = new WeakHashMap<>();
}
- history.put(property, newMap);
+ history.put(property, new SoftReference<>(newMap));
}
}
@@ -613,8 +673,10 @@
* @return Existing map or {@code null} if not found.
*/
private PropertyMap checkHistory(final Property property) {
+
if (history != null) {
- PropertyMap historicMap = history.get(property);
+ SoftReference<PropertyMap> ref = history.get(property);
+ final PropertyMap historicMap = ref == null ? null : ref.get();
if (historicMap != null) {
if (Context.DEBUG) {
@@ -628,54 +690,6 @@
return null;
}
- /**
- * Calculate the hash code for the map.
- *
- * @return Computed hash code.
- */
- private int computeHashCode() {
- int hash = 0;
-
- for (final Property property : getProperties()) {
- hash = hash << 7 ^ hash >> 7;
- hash ^= property.hashCode();
- }
-
- return hash;
- }
-
- @Override
- public int hashCode() {
- if (hashCode == 0 && !properties.isEmpty()) {
- hashCode = computeHashCode();
- }
- return hashCode;
- }
-
- @Override
- public boolean equals(final Object other) {
- if (!(other instanceof PropertyMap)) {
- return false;
- }
-
- final PropertyMap otherMap = (PropertyMap)other;
-
- if (properties.size() != otherMap.properties.size()) {
- return false;
- }
-
- final Iterator<Property> iter = properties.values().iterator();
- final Iterator<Property> otherIter = otherMap.properties.values().iterator();
-
- while (iter.hasNext() && otherIter.hasNext()) {
- if (!iter.next().equals(otherIter.next())) {
- return false;
- }
- }
-
- return true;
- }
-
@Override
public String toString() {
final StringBuilder sb = new StringBuilder();
@@ -728,24 +742,6 @@
}
/**
- * Check whether a {@link PropertyListener} has been added to this map.
- *
- * @return {@code true} if {@link PropertyListener} exists
- */
- public boolean isListenerAdded() {
- return (flags & IS_LISTENER_ADDED) != 0;
- }
-
- /**
- * Check if this map shared or not.
- *
- * @return true if this map is shared.
- */
- public boolean isShared() {
- return (flags & IS_SHARED) != 0;
- }
-
- /**
* Test to see if {@link PropertyMap} is extensible.
*
* @return {@code true} if {@link PropertyMap} can be added to.
@@ -800,50 +796,29 @@
}
/**
- * Change the prototype of objects associated with this {@link PropertyMap}.
+ * Return a property map with the same layout that is associated with the new prototype object.
*
- * @param oldProto Current prototype object.
* @param newProto New prototype object to replace oldProto.
- *
* @return New {@link PropertyMap} with prototype changed.
*/
- PropertyMap changeProto(final ScriptObject oldProto, final ScriptObject newProto) {
- assert !isShared() : "proto associated with a shared PropertyMap";
+ public PropertyMap changeProto(final ScriptObject newProto) {
- if (oldProto == newProto) {
- return this;
- }
-
- final PropertyMap nextMap = checkProtoHistory(newProto);
+ final PropertyMap parentMap = newProto == null ? null : newProto.getMap();
+ final PropertyMap nextMap = checkProtoHistory(parentMap);
if (nextMap != null) {
return nextMap;
}
if (Context.DEBUG) {
- incrementSetProtoNewMapCount();
+ setProtoNewMapCount++;
}
final PropertyMap newMap = new PropertyMap(this);
- addToProtoHistory(newProto, newMap);
+ addToProtoHistory(parentMap, newMap);
return newMap;
}
- /**
- * Indicate that the map has listeners.
- */
- private void setIsListenerAdded() {
- flags |= IS_LISTENER_ADDED;
- }
-
- /**
- * Return only the flags that should be copied during cloning.
- *
- * @return Subset of flags that should be copied.
- */
- private int getClonedFlags() {
- return flags & CLONEABLE_FLAGS_MASK;
- }
/**
* {@link PropertyMap} iterator.
@@ -900,41 +875,12 @@
}
/*
- * PropertyListener implementation.
- */
-
- @Override
- public void propertyAdded(final ScriptObject object, final Property prop) {
- invalidateProtoGetSwitchPoint(prop);
- }
-
- @Override
- public void propertyDeleted(final ScriptObject object, final Property prop) {
- invalidateProtoGetSwitchPoint(prop);
- }
-
- @Override
- public void propertyModified(final ScriptObject object, final Property oldProp, final Property newProp) {
- invalidateProtoGetSwitchPoint(oldProp);
- }
-
- @Override
- public void protoChanged(final ScriptObject object, final ScriptObject oldProto, final ScriptObject newProto) {
- // We may walk and invalidate SwitchPoints for properties inherited
- // from 'object' or it's old proto chain. But, it may not be worth it.
- // For example, a new proto may have a user defined getter/setter for
- // a data property down the chain. So, invalidating all is better.
- invalidateAllProtoGetSwitchPoints();
- }
-
- /*
* Debugging and statistics.
*/
// counters updated only in debug mode
private static int count;
private static int clonedCount;
- private static int sharedCount;
private static int duplicatedCount;
private static int historyHit;
private static int protoInvalidations;
@@ -956,13 +902,6 @@
}
/**
- * @return The number of maps that are shared.
- */
- public static int getSharedCount() {
- return sharedCount;
- }
-
- /**
* @return The number of maps that are duplicated.
*/
public static int getDuplicatedCount() {
@@ -997,10 +936,4 @@
return setProtoNewMapCount;
}
- /**
- * Increment the prototype set count.
- */
- private static void incrementSetProtoNewMapCount() {
- setProtoNewMapCount++;
- }
}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java b/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java
index e5ca3c9..2b18cbc 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/RecompilableScriptFunctionData.java
@@ -160,10 +160,10 @@
}
@Override
- ScriptObject allocate() {
+ ScriptObject allocate(final PropertyMap map) {
try {
ensureHasAllocator(); //if allocatorClass name is set to null (e.g. for bound functions) we don't even try
- return allocator == null ? null : (ScriptObject)allocator.invokeExact(allocatorMap);
+ return allocator == null ? null : (ScriptObject)allocator.invokeExact(map);
} catch (final RuntimeException | Error e) {
throw e;
} catch (final Throwable t) {
@@ -178,6 +178,11 @@
}
@Override
+ PropertyMap getAllocatorMap() {
+ return allocatorMap;
+ }
+
+ @Override
protected synchronized void ensureCodeGenerated() {
if (!code.isEmpty()) {
return; // nothing to do, we have code, at least some.
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunction.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunction.java
index d0669d7..0f5174e 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunction.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunction.java
@@ -80,6 +80,9 @@
private final ScriptFunctionData data;
+ /** The property map used for newly allocated object when function is used as constructor. */
+ protected PropertyMap allocatorMap;
+
/**
* Constructor
*
@@ -125,6 +128,7 @@
this.data = data;
this.scope = scope;
+ this.allocatorMap = data.getAllocatorMap();
}
@Override
@@ -229,16 +233,16 @@
}
assert !isBoundFunction(); // allocate never invoked on bound functions
- final ScriptObject object = data.allocate();
+ final ScriptObject object = data.allocate(allocatorMap);
if (object != null) {
Object prototype = getPrototype();
if (prototype instanceof ScriptObject) {
- object.setProto((ScriptObject)prototype);
+ object.setInitialProto((ScriptObject)prototype);
}
if (object.getProto() == null) {
- object.setProto(getObjectPrototype());
+ object.setInitialProto(getObjectPrototype());
}
}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java
index 4dbbfba..f056993 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptFunctionData.java
@@ -229,9 +229,20 @@
/**
* Allocates an object using this function's allocator.
+ *
+ * @param map the property map for the allocated object.
* @return the object allocated using this function's allocator, or null if the function doesn't have an allocator.
*/
- ScriptObject allocate() {
+ ScriptObject allocate(final PropertyMap map) {
+ return null;
+ }
+
+ /**
+ * Get the property map to use for objects allocated by this function.
+ *
+ * @return the property map for allocated objects.
+ */
+ PropertyMap getAllocatorMap() {
return null;
}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptLoader.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptLoader.java
index 78185b1..52c98d4 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptLoader.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptLoader.java
@@ -70,9 +70,8 @@
* @return Installed class.
*/
synchronized Class<?> installClass(final String name, final byte[] data, final CodeSource cs) {
- if (cs == null) {
- return defineClass(name, data, 0, data.length, new ProtectionDomain(null, getPermissions(null)));
- }
+ // null check
+ cs.getClass();
return defineClass(name, data, 0, data.length, cs);
}
}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java
index 4b85ed4..b7f9c4c 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java
@@ -43,6 +43,7 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
+import java.lang.invoke.SwitchPoint;
import java.util.AbstractMap;
import java.util.ArrayList;
import java.util.Arrays;
@@ -88,7 +89,7 @@
* </ul>
*/
-public abstract class ScriptObject extends PropertyListenerManager implements PropertyAccess {
+public abstract class ScriptObject implements PropertyAccess {
/** __proto__ special property name */
public static final String PROTO_PROPERTY_NAME = "__proto__";
@@ -107,9 +108,6 @@
/** Per ScriptObject flag - is this an arguments object? */
public static final int IS_ARGUMENTS = 0b0000_0100;
- /** Is this a prototype PropertyMap? */
- public static final int IS_PROTOTYPE = 0b0000_1000;
-
/** Is length property not-writable? */
public static final int IS_LENGTH_NOT_WRITABLE = 0b0001_0000;
@@ -155,7 +153,7 @@
public static final Call GET_PROTO = virtualCallNoLookup(ScriptObject.class, "getProto", ScriptObject.class);
/** Method handle for setting the proto of a ScriptObject */
- public static final Call SET_PROTO = virtualCallNoLookup(ScriptObject.class, "setProto", void.class, ScriptObject.class);
+ public static final Call SET_PROTO = virtualCallNoLookup(ScriptObject.class, "setInitialProto", void.class, ScriptObject.class);
/** Method handle for setting the proto of a ScriptObject after checking argument */
public static final Call SET_PROTO_CHECK = virtualCallNoLookup(ScriptObject.class, "setProtoCheck", void.class, Object.class);
@@ -201,10 +199,6 @@
this.arrayData = ArrayData.EMPTY_ARRAY;
this.setMap(map == null ? PropertyMap.newMap() : map);
this.proto = proto;
-
- if (proto != null) {
- proto.setIsPrototype();
- }
}
/**
@@ -232,7 +226,7 @@
if (oldProp == null) {
if (property instanceof UserAccessorProperty) {
final UserAccessorProperty prop = this.newUserAccessors(key, property.getFlags(), property.getGetterFunction(source), property.getSetterFunction(source));
- newMap = newMap.addProperty(prop);
+ newMap = newMap.addPropertyNoHistory(prop);
} else {
newMap = newMap.addPropertyBind((AccessorProperty)property, source);
}
@@ -469,7 +463,7 @@
return true;
}
- if (currentDesc.equals(newDesc)) {
+ if (newDesc.hasAndEquals(currentDesc)) {
// every descriptor field of the new is same as the current
return true;
}
@@ -875,8 +869,6 @@
newProperty = newUserAccessors(oldProperty.getKey(), propertyFlags, getter, setter);
}
- notifyPropertyModified(this, oldProperty, newProperty);
-
return modifyOwnProperty(oldProperty, newProperty);
}
@@ -1120,29 +1112,33 @@
*/
public synchronized final void setProto(final ScriptObject newProto) {
final ScriptObject oldProto = proto;
- map = map.changeProto(oldProto, newProto);
- if (newProto != null) {
- newProto.setIsPrototype();
- }
+ if (oldProto != newProto) {
+ proto = newProto;
- proto = newProto;
-
- if (isPrototype()) {
- // tell listeners that my __proto__ has been changed
- notifyProtoChanged(this, oldProto, newProto);
-
- if (oldProto != null) {
- oldProto.removePropertyListener(this);
+ // Let current listeners know that the protototype has changed and set our map
+ final PropertyListeners listeners = getMap().getListeners();
+ if (listeners != null) {
+ listeners.protoChanged();
}
-
- if (newProto != null) {
- newProto.addPropertyListener(this);
- }
+ // Replace our current allocator map with one that is associated with the new prototype.
+ setMap(getMap().changeProto(newProto));
}
}
/**
+ * Set the initial __proto__ of this object. This should be used instead of
+ * {@link #setProto} if it is known that the current property map will not be
+ * used on a new object with any other parent property map, so we can pass over
+ * property map invalidation/evolution.
+ *
+ * @param initialProto the initial __proto__ to set.
+ */
+ public void setInitialProto(final ScriptObject initialProto) {
+ this.proto = initialProto;
+ }
+
+ /**
* Set the __proto__ of an object with checks.
* @param newProto Prototype to set.
*/
@@ -1332,25 +1328,6 @@
}
/**
- * Check if this object is a prototype
- *
- * @return {@code true} if is prototype
- */
- public final boolean isPrototype() {
- return (flags & IS_PROTOTYPE) != 0;
- }
-
- /**
- * Flag this object as having a prototype.
- */
- public final void setIsPrototype() {
- if (proto != null && !isPrototype()) {
- proto.addPropertyListener(this);
- }
- flags |= IS_PROTOTYPE;
- }
-
- /**
* Check if this object has non-writable length property
*
* @return {@code true} if 'length' property is non-writable
@@ -1791,6 +1768,7 @@
final boolean noGuard = ObjectClassGenerator.OBJECT_FIELDS_ONLY && NashornCallSiteDescriptor.isFastScope(desc) && !property.canChangeType();
// getMap() is fine as we have the prototype switchpoint depending on where the property was found
final MethodHandle guard = noGuard ? null : NashornGuards.getMapGuard(getMap());
+ final ScriptObject owner = find.getOwner();
if (methodHandle != null) {
assert methodHandle.type().returnType().equals(returnType);
@@ -1798,18 +1776,18 @@
return new GuardedInvocation(methodHandle, guard);
}
- if (!property.hasGetterFunction(find.getOwner())) {
+ if (!property.hasGetterFunction(owner)) {
// If not a scope bind to actual prototype as changing prototype will change the property map.
// For scopes we install a filter that replaces the self object with the prototype owning the property.
methodHandle = isScope() ?
addProtoFilter(methodHandle, find.getProtoChainLength()) :
- bindTo(methodHandle, find.getOwner());
+ bindTo(methodHandle, owner);
}
- return new GuardedInvocation(methodHandle, noGuard ? null : getMap().getProtoGetSwitchPoint(proto, name), guard);
+ return new GuardedInvocation(methodHandle, noGuard ? null : getProtoSwitchPoint(name, owner), guard);
}
assert !NashornCallSiteDescriptor.isFastScope(desc);
- return new GuardedInvocation(Lookup.emptyGetter(returnType), getMap().getProtoGetSwitchPoint(proto, name), guard);
+ return new GuardedInvocation(Lookup.emptyGetter(returnType), getProtoSwitchPoint(name, owner), guard);
}
private static GuardedInvocation findMegaMorphicGetMethod(final CallSiteDescriptor desc, final String name, final boolean isMethod) {
@@ -1866,6 +1844,28 @@
}
/**
+ * Get a switch point for a property with the given {@code name} that will be invalidated when
+ * the property definition is changed in this object's prototype chain. Returns {@code null} if
+ * the property is defined in this object itself.
+ *
+ * @param name the property name
+ * @param owner the property owner, null if property is not defined
+ * @return a SwitchPoint or null
+ */
+ public final SwitchPoint getProtoSwitchPoint(final String name, final ScriptObject owner) {
+ if (owner == this || getProto() == null) {
+ return null;
+ }
+
+ for (ScriptObject obj = this; obj != owner && obj.getProto() != null; obj = obj.getProto()) {
+ ScriptObject parent = obj.getProto();
+ parent.getMap().addListener(name, obj.getMap());
+ }
+
+ return getMap().getSwitchPoint(name);
+ }
+
+ /**
* Find the appropriate SET method for an invoke dynamic call.
*
* @param desc the call site descriptor
@@ -1921,8 +1921,7 @@
throw typeError(strictErrorMessage, name, ScriptRuntime.safeToString((this)));
}
assert canBeFastScope || !NashornCallSiteDescriptor.isFastScope(desc);
- final PropertyMap myMap = getMap();
- return new GuardedInvocation(Lookup.EMPTY_SETTER, myMap.getProtoGetSwitchPoint(proto, name), NashornGuards.getMapGuard(myMap));
+ return new GuardedInvocation(Lookup.EMPTY_SETTER, getProtoSwitchPoint(name, null), NashornGuards.getMapGuard(getMap()));
}
@SuppressWarnings("unused")
@@ -2082,7 +2081,7 @@
methodHandle = bindTo(methodHandle, UNDEFINED);
}
return new GuardedInvocation(methodHandle,
- find.isInherited()? getMap().getProtoGetSwitchPoint(proto, NO_SUCH_PROPERTY_NAME) : null,
+ getProtoSwitchPoint(NO_SUCH_PROPERTY_NAME, find.getOwner()),
getKnownFunctionPropertyGuard(getMap(), find.getGetter(Object.class), find.getOwner(), func));
}
}
@@ -2134,7 +2133,8 @@
}
private GuardedInvocation createEmptyGetter(final CallSiteDescriptor desc, final String name) {
- return new GuardedInvocation(Lookup.emptyGetter(desc.getMethodType().returnType()), getMap().getProtoGetSwitchPoint(proto, name), NashornGuards.getMapGuard(getMap()));
+ return new GuardedInvocation(Lookup.emptyGetter(desc.getMethodType().returnType()),
+ getProtoSwitchPoint(name, null), NashornGuards.getMapGuard(getMap()));
}
private abstract static class ScriptObjectIterator <T extends Object> implements Iterator<T> {
@@ -2215,12 +2215,10 @@
if (fieldCount < fieldMaximum) {
property = new AccessorProperty(key, propertyFlags & ~Property.IS_SPILL, getClass(), fieldCount);
- notifyPropertyAdded(this, property);
property = addOwnProperty(property);
} else {
int i = getMap().getSpillLength();
property = new AccessorProperty(key, propertyFlags | Property.IS_SPILL, i);
- notifyPropertyAdded(this, property);
property = addOwnProperty(property);
i = property.getSlot();
@@ -3274,7 +3272,6 @@
}
final Property prop = find.getProperty();
- notifyPropertyDeleted(this, prop);
deleteOwnProperty(prop);
return true;
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/SetMethodCreator.java b/nashorn/src/jdk/nashorn/internal/runtime/SetMethodCreator.java
index 7390aad..bdbc8ec 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/SetMethodCreator.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/SetMethodCreator.java
@@ -80,7 +80,7 @@
}
/**
- * This class encapsulates the results of looking up a setter method; it's basically a triple of a method hanle,
+ * This class encapsulates the results of looking up a setter method; it's basically a triple of a method handle,
* a Property object, and flags for invocation.
*
*/
@@ -170,7 +170,10 @@
private SetMethod createNewPropertySetter() {
final SetMethod sm = map.getFieldCount() < map.getFieldMaximum() ? createNewFieldSetter() : createNewSpillPropertySetter();
- sobj.notifyPropertyAdded(sobj, sm.property);
+ final PropertyListeners listeners = map.getListeners();
+ if (listeners != null) {
+ listeners.propertyAdded(sm.property);
+ }
return sm;
}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/WithObject.java b/nashorn/src/jdk/nashorn/internal/runtime/WithObject.java
index 6e03dc6..d4a28cd 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/WithObject.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/WithObject.java
@@ -36,6 +36,7 @@
import jdk.internal.dynalink.linker.LinkRequest;
import jdk.internal.dynalink.support.CallSiteDescriptorFactory;
import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor;
+import jdk.nashorn.internal.runtime.linker.NashornGuards;
/**
* This class supports the handling of scope in a with body.
@@ -123,7 +124,7 @@
}
if (find != null) {
- return fixScopeCallSite(scope.lookup(desc, request), name);
+ return fixScopeCallSite(scope.lookup(desc, request), name, find.getOwner());
}
// the property is not found - now check for
@@ -175,7 +176,7 @@
link = scope.lookup(desc, request);
if (link != null) {
- return fixScopeCallSite(link, name);
+ return fixScopeCallSite(link, name, null);
}
return null;
@@ -252,13 +253,10 @@
filterGuard(link, WITHEXPRESSIONFILTER));
}
- private GuardedInvocation fixScopeCallSite(final GuardedInvocation link, final String name) {
+ private GuardedInvocation fixScopeCallSite(final GuardedInvocation link, final String name, final ScriptObject owner) {
final GuardedInvocation newLink = fixReceiverType(link, WITHSCOPEFILTER);
return link.replaceMethods(filter(newLink.getInvocation(), WITHSCOPEFILTER),
- MH.guardWithTest(
- expressionGuard(name),
- filterGuard(newLink, WITHSCOPEFILTER),
- MH.dropArguments(MH.constant(boolean.class, false), 0, Object.class)));
+ NashornGuards.combineGuards(expressionGuard(name, owner), filterGuard(newLink, WITHSCOPEFILTER)));
}
private static MethodHandle filterGuard(final GuardedInvocation link, final MethodHandle filter) {
@@ -288,9 +286,9 @@
return fn.makeBoundFunction(withFilterExpression(receiver), new Object[0]);
}
- private MethodHandle expressionGuard(final String name) {
+ private MethodHandle expressionGuard(final String name, final ScriptObject owner) {
final PropertyMap map = expression.getMap();
- final SwitchPoint sp = map.getProtoGetSwitchPoint(expression.getProto(), name);
+ final SwitchPoint sp = expression.getProtoSwitchPoint(name, owner);
return MH.insertArguments(WITHEXPRESSIONGUARD, 1, map, sp);
}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java b/nashorn/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java
index 5c0c047..0aa1d9e 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java
@@ -26,6 +26,7 @@
package jdk.nashorn.internal.runtime.arrays;
import java.lang.invoke.MethodHandle;
+import java.nio.ByteBuffer;
import jdk.nashorn.internal.runtime.GlobalObject;
import jdk.nashorn.internal.runtime.JSType;
import jdk.nashorn.internal.runtime.PropertyDescriptor;
@@ -144,6 +145,16 @@
}
/**
+ * Allocate an ArrayData wrapping a given nio ByteBuffer
+ *
+ * @param buf the nio ByteBuffer to wrap
+ * @return the ArrayData
+ */
+ public static ArrayData allocate(final ByteBuffer buf) {
+ return new ByteBufferArrayData((ByteBuffer)buf);
+ }
+
+ /**
* Apply a freeze filter to an ArrayData.
*
* @param underlying the underlying ArrayData to wrap in the freeze filter
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/arrays/ByteBufferArrayData.java b/nashorn/src/jdk/nashorn/internal/runtime/arrays/ByteBufferArrayData.java
new file mode 100644
index 0000000..58ea131
--- /dev/null
+++ b/nashorn/src/jdk/nashorn/internal/runtime/arrays/ByteBufferArrayData.java
@@ -0,0 +1,203 @@
+/*
+ * Copyright (c) 2014, 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.
+ */
+package jdk.nashorn.internal.runtime.arrays;
+
+import static jdk.nashorn.internal.runtime.ECMAErrors.typeError;
+
+import java.nio.ByteBuffer;
+import jdk.nashorn.internal.runtime.GlobalObject;
+import jdk.nashorn.internal.runtime.PropertyDescriptor;
+import jdk.nashorn.internal.runtime.ScriptRuntime;
+
+/**
+ * Implementation of {@link ArrayData} that wraps a nio ByteBuffer
+ */
+final class ByteBufferArrayData extends ArrayData {
+ private final ByteBuffer buf;
+
+ ByteBufferArrayData(final int length) {
+ super(length);
+ this.buf = ByteBuffer.allocateDirect(length);
+ }
+
+ /**
+ * Constructor
+ *
+ * @param buf ByteBuffer to create array data with.
+ */
+ ByteBufferArrayData(final ByteBuffer buf) {
+ super(buf.capacity());
+ this.buf = buf;
+ }
+
+ /**
+ * Returns property descriptor for element at a given index
+ *
+ * @param global the global object
+ * @param index the index
+ *
+ * @return property descriptor for element
+ */
+ public PropertyDescriptor getDescriptor(final GlobalObject global, final int index) {
+ // make the index properties not configurable
+ return global.newDataDescriptor(getObject(index), false, true, true);
+ }
+
+ @Override
+ public ArrayData copy() {
+ throw unsupported("copy");
+ }
+
+ @Override
+ public Object[] asObjectArray() {
+ throw unsupported("asObjectArray");
+ }
+
+ @Override
+ public void setLength(final long length) {
+ throw new UnsupportedOperationException("setLength");
+ }
+
+ @Override
+ public void shiftLeft(int by) {
+ throw unsupported("shiftLeft");
+ }
+
+ @Override
+ public ArrayData shiftRight(int by) {
+ throw unsupported("shiftRight");
+ }
+
+ @Override
+ public ArrayData ensure(long safeIndex) {
+ if (safeIndex < buf.capacity()) {
+ return this;
+ }
+
+ throw unsupported("ensure");
+ }
+
+ @Override
+ public ArrayData shrink(long newLength) {
+ throw unsupported("shrink");
+ }
+
+ @Override
+ public ArrayData set(int index, Object value, boolean strict) {
+ if (value instanceof Number) {
+ buf.put(index, ((Number)value).byteValue());
+ return this;
+ }
+
+ throw typeError("not.a.number", ScriptRuntime.safeToString(value));
+ }
+
+ @Override
+ public ArrayData set(int index, int value, boolean strict) {
+ buf.put(index, (byte)value);
+ return this;
+ }
+
+ @Override
+ public ArrayData set(int index, long value, boolean strict) {
+ buf.put(index, (byte)value);
+ return this;
+ }
+
+ @Override
+ public ArrayData set(int index, double value, boolean strict) {
+ buf.put(index, (byte)value);
+ return this;
+ }
+
+ @Override
+ public int getInt(int index) {
+ return 0x0ff & buf.get(index);
+ }
+
+ @Override
+ public long getLong(int index) {
+ return 0x0ff & buf.get(index);
+ }
+
+ @Override
+ public double getDouble(int index) {
+ return 0x0ff & buf.get(index);
+ }
+
+ @Override
+ public Object getObject(int index) {
+ return (int)(0x0ff & buf.get(index));
+ }
+
+ @Override
+ public boolean has(int index) {
+ return index > -1 && index < buf.capacity();
+ }
+
+ @Override
+ public boolean canDelete(final int index, final boolean strict) {
+ return false;
+ }
+
+ @Override
+ public boolean canDelete(final long fromIndex, final long toIndex, final boolean strict) {
+ return false;
+ }
+
+ @Override
+ public ArrayData delete(int index) {
+ throw unsupported("delete");
+ }
+
+ @Override
+ public ArrayData delete(long fromIndex, long toIndex) {
+ throw unsupported("delete");
+ }
+
+ @Override
+ public ArrayData push(final boolean strict, final Object... items) {
+ throw unsupported("push");
+ }
+
+ @Override
+ public Object pop() {
+ throw unsupported("pop");
+ }
+
+ @Override
+ public ArrayData slice(long from, long to) {
+ throw unsupported("slice");
+ }
+
+ @Override
+ public ArrayData convert(final Class<?> type) {
+ throw unsupported("convert");
+ }
+
+ private UnsupportedOperationException unsupported(final String method) {
+ return new UnsupportedOperationException(method);
+ }
+}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornGuards.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornGuards.java
index a8e7918..0b720be 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornGuards.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornGuards.java
@@ -37,10 +37,10 @@
* Constructor of method handles used to guard call sites.
*/
public final class NashornGuards {
- private static final MethodHandle IS_SCRIPTOBJECT = findOwnMH("isScriptObject", boolean.class, Object.class);
- private static final MethodHandle IS_SCRIPTFUNCTION = findOwnMH("isScriptFunction", boolean.class, Object.class);
- private static final MethodHandle IS_MAP = findOwnMH("isMap", boolean.class, Object.class, PropertyMap.class);
- private static final MethodHandle IS_INSTANCEOF_2 = findOwnMH("isInstanceOf2", boolean.class, Object.class, Class.class, Class.class);
+ private static final MethodHandle IS_SCRIPTOBJECT = findOwnMH("isScriptObject", boolean.class, Object.class);
+ private static final MethodHandle IS_SCRIPTFUNCTION = findOwnMH("isScriptFunction", boolean.class, Object.class);
+ private static final MethodHandle IS_MAP = findOwnMH("isMap", boolean.class, Object.class, PropertyMap.class);
+ private static final MethodHandle IS_INSTANCEOF_2 = findOwnMH("isInstanceOf2", boolean.class, Object.class, Class.class, Class.class);
// don't create me!
private NashornGuards() {
@@ -85,6 +85,17 @@
return MH.insertArguments(IS_INSTANCEOF_2, 1, class1, class2);
}
+ /**
+ * Combine two method handles of type {@code (Object)boolean} using logical AND.
+ *
+ * @param guard1 the first guard
+ * @param guard2 the second guard, only invoked if guard1 returns true
+ * @return true if both guard1 and guard2 returned true
+ */
+ public static MethodHandle combineGuards(final MethodHandle guard1, final MethodHandle guard2) {
+ return MH.guardWithTest(guard1, guard2, MH.dropArguments(MH.constant(boolean.class, false), 0, Object.class));
+ }
+
@SuppressWarnings("unused")
private static boolean isScriptObject(final Object self) {
return self instanceof ScriptObject;
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/resources/Messages.properties b/nashorn/src/jdk/nashorn/internal/runtime/resources/Messages.properties
index 95993c9..e1c4d1f 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/resources/Messages.properties
+++ b/nashorn/src/jdk/nashorn/internal/runtime/resources/Messages.properties
@@ -78,6 +78,7 @@
type.error.not.a.function={0} is not a function
type.error.not.a.constructor={0} is not a constructor function
type.error.not.a.file={0} is not a File
+type.error.not.a.bytebuffer={0} is not a java.nio.ByteBuffer
# operations not permitted on undefined
type.error.cant.call.undefined=Cannot call undefined
diff --git a/nashorn/src/jdk/nashorn/internal/scripts/JO.java b/nashorn/src/jdk/nashorn/internal/scripts/JO.java
index f2f0006..d617391 100644
--- a/nashorn/src/jdk/nashorn/internal/scripts/JO.java
+++ b/nashorn/src/jdk/nashorn/internal/scripts/JO.java
@@ -33,7 +33,7 @@
*/
public class JO extends ScriptObject {
- private static final PropertyMap map$ = PropertyMap.newMap().setIsShared();
+ private static final PropertyMap map$ = PropertyMap.newMap();
/**
* Returns the initial property map to be used.
diff --git a/nashorn/test/script/basic/JDK-8011964.js b/nashorn/test/script/basic/JDK-8011964.js
new file mode 100644
index 0000000..a46023e
--- /dev/null
+++ b/nashorn/test/script/basic/JDK-8011964.js
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2014, 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.
+ */
+
+/**
+ * JDK-8011964: need indexed access to externally-managed ByteBuffer
+ *
+ * @test
+ * @run
+ */
+
+
+var ByteBuffer = Java.type("java.nio.ByteBuffer");
+var buf = ByteBuffer.allocate(5);
+
+var obj = {}
+Object.setIndexedPropertiesToExternalArrayData(obj, buf);
+
+obj[0] = 'A'.charCodeAt(0);
+obj[1] = 'B'.charCodeAt(0);
+obj[2] = 'C'.charCodeAt(0);
+obj[3] = 'D'.charCodeAt(0);
+obj[4] = 'E'.charCodeAt(0);
+
+for (var i = 0; i < buf.capacity(); i++) {
+ print("obj[" + i + "] = " + obj[i]);
+ print("buf.get(" + i + ") = " + buf.get(i));
+}
+
+var arr = [];
+Object.setIndexedPropertiesToExternalArrayData(arr, buf);
+obj[0] = 'a'.charCodeAt(0);
+obj[1] = 'b'.charCodeAt(0);
+obj[2] = 'c'.charCodeAt(0);
+obj[3] = 'd'.charCodeAt(0);
+obj[4] = 'e'.charCodeAt(0);
+
+for (var i in arr) {
+ print("arr[" + i + "] = " + arr[i]);
+ print("buf.get(" + i + ") = " + buf.get(i));
+}
diff --git a/nashorn/test/script/basic/JDK-8011964.js.EXPECTED b/nashorn/test/script/basic/JDK-8011964.js.EXPECTED
new file mode 100644
index 0000000..5bec2bd
--- /dev/null
+++ b/nashorn/test/script/basic/JDK-8011964.js.EXPECTED
@@ -0,0 +1,20 @@
+obj[0] = 65
+buf.get(0) = 65
+obj[1] = 66
+buf.get(1) = 66
+obj[2] = 67
+buf.get(2) = 67
+obj[3] = 68
+buf.get(3) = 68
+obj[4] = 69
+buf.get(4) = 69
+arr[0] = 97
+buf.get(0) = 97
+arr[1] = 98
+buf.get(1) = 98
+arr[2] = 99
+buf.get(2) = 99
+arr[3] = 100
+buf.get(3) = 100
+arr[4] = 101
+buf.get(4) = 101
diff --git a/nashorn/test/script/basic/JDK-8026161.js b/nashorn/test/script/basic/JDK-8026161.js
index 49f888b..e3e8848 100644
--- a/nashorn/test/script/basic/JDK-8026161.js
+++ b/nashorn/test/script/basic/JDK-8026161.js
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2014, 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
@@ -28,5 +28,5 @@
* @run
*/
-print(new java.awt.Color(1, 1, 1)) // creates Color[r=1,g=1,b=1]
-print(new java.awt.Color(1.0, 1.0, 1.0)) // Color[r=255,g=255,b=255]
+print(Java.type("jdk.nashorn.test.models.IntFloatOverloadSelection").overloadedMethod(1))
+print(Java.type("jdk.nashorn.test.models.IntFloatOverloadSelection").overloadedMethod(1.0))
diff --git a/nashorn/test/script/basic/JDK-8026161.js.EXPECTED b/nashorn/test/script/basic/JDK-8026161.js.EXPECTED
index c7b00b0..ac032cf 100644
--- a/nashorn/test/script/basic/JDK-8026161.js.EXPECTED
+++ b/nashorn/test/script/basic/JDK-8026161.js.EXPECTED
@@ -1,2 +1,2 @@
-java.awt.Color[r=1,g=1,b=1]
-java.awt.Color[r=255,g=255,b=255]
+int
+float
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/nashorn/test/script/basic/JDK-8030197.js
similarity index 60%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to nashorn/test/script/basic/JDK-8030197.js
index f64d498..366d33d 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/nashorn/test/script/basic/JDK-8030197.js
@@ -1,29 +1,46 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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 p;
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+/**
+ * JDK-8030197: Nashorn: Object.defineProperty() can be lured to change fixed NaN property
+ *
+ * @test
+ * @run
+ */
+
+function str(n) {
+ var a = new Uint8Array(new Float64Array([n]).buffer);
+ return Array.apply(null, a).reduceRight(
+ function(acc, v){
+ return acc + (v < 10 ? "0" : "") + v.toString(16);
+ }, "");
+}
+
+var o = Object.defineProperty({}, "NaN", { value: NaN })
+var str1 = str(o.NaN);
+Object.defineProperty(o, "NaN", { value: 0/0 })
+var str2 = str(o.NaN);
+if (str1 != str2) {
+ fail("NaN bit pattern changed");
}
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/nashorn/test/script/currently-failing/gettersetter.js
similarity index 62%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to nashorn/test/script/currently-failing/gettersetter.js
index f64d498..88f6949 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/nashorn/test/script/currently-failing/gettersetter.js
@@ -1,29 +1,48 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014 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 p;
+/**
+ * @test
+ * @option -Dnashorn.debug=true
+ * @fork
+ */
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+load(__DIR__ + "maputil.js");
+
+function Foo() {
+ return {
+ get foo() { return 42; },
+ set foo(x) {}
+ }
}
+
+var obj1 = Foo();
+var obj2 = Foo();
+
+assertSameMap(obj1, obj2, "Object literals before change");
+
+Object.defineProperty(obj2, "foo", { get: function() { return 'hello' } });
+assertSameMap(obj1, obj2);
+
+Object.defineProperty(obj2, "foo", { set: function(x) { print(x) } });
+assertSameMap(obj1, obj2);
diff --git a/nashorn/test/script/maptests/builtins.js b/nashorn/test/script/maptests/builtins.js
new file mode 100644
index 0000000..4de2ec9
--- /dev/null
+++ b/nashorn/test/script/maptests/builtins.js
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2014 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
+ * @option -Dnashorn.debug=true
+ * @fork
+ */
+
+load(__DIR__ + "maputil.js");
+
+// check that builtin objects share property map
+
+assertSameMap(new Boolean(true), new Boolean(false));
+assertSameMap(new Number(3), new Number(Math.PI));
+assertSameMap(new String('hello'), new String('world'));
+assertSameMap(new Object(), new Object());
+assertSameMap(/hello/, /world/);
+// try w/without regexp flags
+assertSameMap(/hello/i, /world/g);
+assertSameMap(new Date(), new Date());
+assertSameMap(new Date(2000, 1, 1), new Date(1972, 5, 6));
+assertSameMap(Function(), Function());
+assertSameMap(Function("x", "return x"), Function("x", "return x*x"));
+assertSameMap(new Error(), new Error());
+assertSameMap(new Error('foo'), new Error('bar'));
+assertSameMap(new EvalError(), new EvalError());
+assertSameMap(new EvalError('foo'), new EvalError('bar'));
+assertSameMap(new RangeError(), new RangeError());
+assertSameMap(new RangeError('foo'), new RangeError('bar'));
+assertSameMap(new ReferenceError(), new ReferenceError());
+assertSameMap(new ReferenceError('foo'), new ReferenceError('bar'));
+assertSameMap(new SyntaxError(), new SyntaxError());
+assertSameMap(new SyntaxError('foo'), new SyntaxError('bar'));
+assertSameMap(new TypeError(), new TypeError());
+assertSameMap(new TypeError('foo'), new TypeError('bar'));
+assertSameMap(new URIError(), new URIError());
+assertSameMap(new URIError('foo'), new URIError('bar'));
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/nashorn/test/script/maptests/constructor.js
similarity index 69%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to nashorn/test/script/maptests/constructor.js
index f64d498..5722a3c 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/nashorn/test/script/maptests/constructor.js
@@ -1,29 +1,36 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014 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 p;
+/**
+ * @test
+ * @option -Dnashorn.debug=true
+ * @fork
+ */
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
-}
+load(__DIR__ + "point.js");
+
+// use constructor defined in a different script file
+// These objects should share the map
+assertSameMap(new Point(2, 3), new Point(43, 23));
+assertSameMap(new Point(), new Point());
+assertSameMap(new Point(), new Point(3, 1));
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/nashorn/test/script/maptests/maputil.js
similarity index 66%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to nashorn/test/script/maptests/maputil.js
index f64d498..aa85d7f 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/nashorn/test/script/maptests/maputil.js
@@ -1,29 +1,38 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014 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 p;
+/**
+ * @subtest
+ */
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+function assertSameMap(obj1, obj2, msg) {
+ if (! Debug.identical(Debug.map(obj1), Debug.map(obj2))) {
+ fail(obj1.constructor + " instances don't share map");
+ }
+}
+
+function assertNotSameMap(obj1, obj2, msg) {
+ if (Debug.identical(Debug.map(obj1), Debug.map(obj2))) {
+ fail(obj1.constructor + " and " + obj2.constructor + " instances share map");
+ }
}
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/nashorn/test/script/maptests/object_create.js
similarity index 67%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to nashorn/test/script/maptests/object_create.js
index f64d498..1b1bd60 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/nashorn/test/script/maptests/object_create.js
@@ -1,29 +1,40 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014 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 p;
+/**
+ * @test
+ * @option -Dnashorn.debug=true
+ * @fork
+ */
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
-}
+load(__DIR__ + "maputil.js");
+
+// Objects created by Object.create
+var obj1 = Object.create(Object.prototype);
+var obj2 = Object.create(Object.prototype);
+assertSameMap(obj1, obj2);
+
+var proto = { foo: 233 };
+obj1 = Object.create(proto);
+obj2 = Object.create(proto);
+assertSameMap(obj1, obj2);
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/nashorn/test/script/maptests/object_literals.js
similarity index 60%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to nashorn/test/script/maptests/object_literals.js
index f64d498..c73d801 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/nashorn/test/script/maptests/object_literals.js
@@ -1,29 +1,46 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014 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 p;
+/**
+ * @test
+ * @option -Dnashorn.debug=true
+ * @fork
+ */
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+load(__DIR__ + "maputil.js");
+
+// Object literals created at the same callsite
+function makeObject() {
+ return { foo: 34 }
}
+assertSameMap(makeObject(), makeObject());
+
+function makeObject2() {
+ return { foo: 42, bar: 'hello' }
+}
+assertSameMap(makeObject2(), makeObject2());
+
+// Object literals created at different callsites
+assertSameMap({}, {});
+assertSameMap({foo: 4}, {foo: 'hello'});
+assertSameMap({foo: 34, bar: 'fdgd'}, {foo: 'world', bar: 54});
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/nashorn/test/script/maptests/point.js
similarity index 61%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to nashorn/test/script/maptests/point.js
index f64d498..38b8fa2 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/nashorn/test/script/maptests/point.js
@@ -1,29 +1,49 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014 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 p;
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+/**
+ * @subtest
+ */
+
+function Point(x, y) {
+ this.x =x; this.y =y;
}
+
+Point.prototype.toString = function() {
+ return "(" + this.x + "," + this.y + ")";
+}
+
+Point.prototype.modulus = function() {
+ return Math.sqrt(this.x*this.x + this.y*this.y);
+}
+
+Point.prototype.argument = function() {
+ return Math.atan2(this.y, this.x);
+}
+
+load(__DIR__ + "maputil.js");
+
+assertSameMap(new Point(2, 3), new Point(43, 23));
+assertSameMap(new Point(), new Point());
+assertSameMap(new Point(), new Point(3, 1));
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/nashorn/test/script/maptests/property_add.js
similarity index 69%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to nashorn/test/script/maptests/property_add.js
index f64d498..2026455 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/nashorn/test/script/maptests/property_add.js
@@ -1,29 +1,46 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014 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 p;
+/**
+ * @test
+ * @option -Dnashorn.debug=true
+ * @fork
+ */
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+load(__DIR__ + "maputil.js");
+
+function Foo() {}
+
+var obj1 = new Foo();
+var obj2 = new Foo();
+
+assertSameMap(obj1, obj2);
+
+// property addition at same callsite
+function addX(obj, val) {
+ obj.x = val;
}
+addX(obj1, 3);
+addX(obj2, 'hello');
+
+assertSameMap(obj1, obj2);
diff --git a/langtools/test/tools/javadoc/sourceOption/p/A.java b/nashorn/test/script/maptests/property_delete.js
similarity index 68%
copy from langtools/test/tools/javadoc/sourceOption/p/A.java
copy to nashorn/test/script/maptests/property_delete.js
index f64d498..e2824dd 100644
--- a/langtools/test/tools/javadoc/sourceOption/p/A.java
+++ b/nashorn/test/script/maptests/property_delete.js
@@ -1,29 +1,48 @@
/*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014 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 p;
+/**
+ * @test
+ * @option -Dnashorn.debug=true
+ * @fork
+ */
-public class A {
- boolean assert; // illegal since 1.4
- boolean enum; // illegal since 5
+load(__DIR__ + "maputil.js");
+
+function Foo() {
+ this.x = 33;
}
+
+var obj1 = new Foo();
+var obj2 = new Foo();
+
+assertSameMap(obj1, obj2);
+
+// property deletion at same callsite
+function deleteX(obj) {
+ delete obj.x;
+}
+deleteX(obj1);
+deleteX(obj2);
+
+assertSameMap(obj1, obj2);
diff --git a/nashorn/test/script/maptests/proto.js b/nashorn/test/script/maptests/proto.js
new file mode 100644
index 0000000..afb5950
--- /dev/null
+++ b/nashorn/test/script/maptests/proto.js
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2014 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
+ * @option -Dnashorn.debug=true
+ * @fork
+ */
+
+load(__DIR__ + "maputil.js");
+
+// add/delete property to proto (direct/indirect) should
+// not affect the property map of the objects
+
+var proto2 = { foo: 334 }
+var proto = Object.create(proto2);
+proto.bar = "hello";
+
+var obj1 = Object.create(proto);
+var obj2 = Object.create(proto);
+
+assertSameMap(obj1, obj2);
+
+proto.newX = 'world';
+assertSameMap(obj1, obj2);
+
+delete proto.newX;
+assertSameMap(obj1, obj2);
+
+proto2.newX = "foo";
+assertSameMap(obj1, obj2);
+
+delete proto2.newX;
+assertSameMap(obj1, obj2);
+
+
diff --git a/nashorn/test/script/sandbox/safeprops.js b/nashorn/test/script/sandbox/safeprops.js
new file mode 100644
index 0000000..dc12e74
--- /dev/null
+++ b/nashorn/test/script/sandbox/safeprops.js
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2014 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.
+ */
+
+/**
+ * Try to access System properties safe to read for any code.
+ * No security exception expected.
+ *
+ * @test
+ * @security
+ * @run
+ * @bug 8033924: Default permissions are not given for eval code
+ */
+
+var propNames = [
+ "java.version",
+ "java.vendor",
+ "java.vendor.url",
+ "java.class.version",
+ "os.name",
+ "os.version",
+ "os.arch",
+ "file.separator",
+ "path.separator",
+ "line.separator",
+ "java.specification.version",
+ "java.specification.vendor",
+ "java.specification.name",
+ "java.vm.specification.version",
+ "java.vm.specification.vendor",
+ "java.vm.specification.name",
+ "java.vm.version",
+ "java.vm.vendor",
+ "java.vm.name"
+];
+
+// no security exception expected
+for (var p in propNames) {
+ java.lang.System.getProperty(propNames[p]);
+}
+
+// no security exception expected
+for (var p in propNames) {
+ var name = propNames[p];
+ eval('java.lang.System.getProperty(name)');
+}
diff --git a/nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java b/nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java
index df8696d..5219914 100644
--- a/nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java
+++ b/nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java
@@ -560,6 +560,47 @@
assertTrue(reached[0]);
}
+ // properties that can be read by any code
+ private static String[] propNames = {
+ "java.version",
+ "java.vendor",
+ "java.vendor.url",
+ "java.class.version",
+ "os.name",
+ "os.version",
+ "os.arch",
+ "file.separator",
+ "path.separator",
+ "line.separator",
+ "java.specification.version",
+ "java.specification.vendor",
+ "java.specification.name",
+ "java.vm.specification.version",
+ "java.vm.specification.vendor",
+ "java.vm.specification.name",
+ "java.vm.version",
+ "java.vm.vendor",
+ "java.vm.name"
+ };
+
+ // @bug 8033924: Default permissions are not given for eval code
+ @Test
+ public void checkPropertyReadPermissions() throws ScriptException {
+ final ScriptEngineManager m = new ScriptEngineManager();
+ final ScriptEngine e = m.getEngineByName("nashorn");
+
+ for (final String name : propNames) {
+ checkProperty(e, name);
+ }
+ }
+
+ private static void checkProperty(final ScriptEngine e, final String name)
+ throws ScriptException {
+ String value = System.getProperty(name);
+ e.put("name", name);
+ assertEquals(value, e.eval("java.lang.System.getProperty(name)"));
+ }
+
private static final String LINE_SEPARATOR = System.getProperty("line.separator");
// Returns String that would be the result of calling PrintWriter.println
diff --git a/nashorn/test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java b/nashorn/test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java
index 544f4ea..241f22c 100644
--- a/nashorn/test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java
+++ b/nashorn/test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java
@@ -25,6 +25,7 @@
package jdk.nashorn.api.scripting;
+import java.nio.ByteBuffer;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -230,6 +231,29 @@
}
@Test
+ public void indexPropertiesExternalBufferTest() throws ScriptException {
+ final ScriptEngineManager m = new ScriptEngineManager();
+ final ScriptEngine e = m.getEngineByName("nashorn");
+ final ScriptObjectMirror obj = (ScriptObjectMirror)e.eval("var obj = {}; obj");
+ final ByteBuffer buf = ByteBuffer.allocate(5);
+ int i;
+ for (i = 0; i < 5; i++) {
+ buf.put(i, (byte)(i+10));
+ }
+ obj.setIndexedPropertiesToExternalArrayData(buf);
+
+ for (i = 0; i < 5; i++) {
+ assertEquals((byte)(i+10), ((Number)e.eval("obj[" + i + "]")).byteValue());
+ }
+
+ e.eval("for (i = 0; i < 5; i++) obj[i] = 0");
+ for (i = 0; i < 5; i++) {
+ assertEquals((byte)0, ((Number)e.eval("obj[" + i + "]")).byteValue());
+ assertEquals((byte)0, buf.get(i));
+ }
+ }
+
+ @Test
public void conversionTest() throws ScriptException {
final ScriptEngineManager m = new ScriptEngineManager();
final ScriptEngine e = m.getEngineByName("nashorn");
diff --git a/jdk/src/windows/native/java/util/logging.c b/nashorn/test/src/jdk/nashorn/test/models/IntFloatOverloadSelection.java
similarity index 78%
copy from jdk/src/windows/native/java/util/logging.c
copy to nashorn/test/src/jdk/nashorn/test/models/IntFloatOverloadSelection.java
index 41b7cf6..947896b 100644
--- a/jdk/src/windows/native/java/util/logging.c
+++ b/nashorn/test/src/jdk/nashorn/test/models/IntFloatOverloadSelection.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -22,17 +22,15 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+package jdk.nashorn.test.models;
-/*
- * Win32 specific code to support logging.
- */
+public class IntFloatOverloadSelection {
-#include "jni_util.h"
+ public static String overloadedMethod(int i) {
+ return "int";
+ }
-
-JNIEXPORT jboolean JNICALL
-Java_java_util_logging_FileHandler_isSetUID(JNIEnv *env, jclass thisclass) {
-
- /* There is no set UID on Windows. */
- return JNI_FALSE;
+ public static String overloadedMethod(float f) {
+ return "float";
+ }
}