Merge
authorprr
Thu, 20 Feb 2014 16:27:08 -0800
changeset 23310 dfbe9ff289c6
parent 23306 679ac7841e8d (current diff)
parent 22999 8212fb968f9b (diff)
child 23311 fd976b9703f1
Merge
jdk/make/CompileJavaClasses.gmk
jdk/make/lib/Awt2dLibraries.gmk
jdk/src/macosx/native/sun/osxapp/resource/icons/JavaApp.icns
jdk/src/share/classes/java/util/CurrencyData.properties
jdk/src/share/classes/sun/misc/ClassLoaderUtil.java
jdk/src/share/classes/sun/misc/Service.java
jdk/src/share/classes/sun/misc/ServiceConfigurationError.java
jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c
jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java
jdk/src/solaris/classes/sun/awt/X11/generator/functions.txt
jdk/src/solaris/classes/sun/awt/X11/generator/sizes.32
jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64
jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386
jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt
jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c
jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c
jdk/test/sun/misc/ClassLoaderUtil/Test.java
jdk/test/sun/security/krb5/ConfPlusProp.java
jdk/test/sun/security/krb5/ConfigWithQuotations.java
jdk/test/sun/security/krb5/DnsFallback.java
jdk/test/sun/security/krb5/ParseCAPaths.java
jdk/test/sun/security/krb5/ParseConfig.java
jdk/test/sun/security/krb5/confplusprop.conf
jdk/test/sun/security/krb5/confplusprop2.conf
jdk/test/sun/security/krb5/edu.mit.Kerberos
jdk/test/sun/security/krb5/krb5-capaths.conf
jdk/test/sun/security/krb5/krb5.conf
--- a/jdk/THIRD_PARTY_README	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/THIRD_PARTY_README	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
-
-The terms of the Oracle license do NOT apply to the Elliptic Curve
-Cryptography library program; it is licensed under the following license,
-separately from the Oracle programs you receive. If you do not wish to install
-this program, you may delete the library named libsunec.so (on Solaris and
-Linux systems) or sunec.dll (on Windows systems) from the JRE bin directory
-reserved for native libraries.
+form with the JDK 8 and OpenJDK 8 source distributions, and as object code in
+the JRE 8 & JDK 8 runtimes.
+
+In the case of the JRE 8 & JDK 8 runtimes, the terms of the Oracle license do
+NOT apply to the Elliptic Curve Cryptography library; it is licensed under the
+following license, separately from Oracle's JDK & JRE.  If you do not wish to
+install the Elliptic Curve Cryptography library, you may delete the library
+named libsunec.so (on Solaris and Linux systems) or sunec.dll (on Windows
+systems) from the JRE bin directory reserved for native libraries.
+
 
 --- begin of LICENSE ---
 
@@ -735,13 +802,138 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to FontConfig 2.5, which is 
-included with JRE 7, JDK 7, and OpenJDK 7 source distributions on
+%% This notice is provided with respect to  ECMAScript Language
+Specification ECMA-262 Edition 5.1 which may be included with 
+JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Copyright notice
+Copyright © 2011 Ecma International
+Ecma International
+Rue du Rhone 114
+CH-1204 Geneva
+Tel: +41 22 849 6000
+Fax: +41 22 849 6001
+Web: http://www.ecma-international.org
+
+This document and possible translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it or assist
+in its implementation may be prepared, copied, published, and distributed, in
+whole or in part, without restriction of any kind, provided that the above
+copyright notice and this section are included on all such copies and derivative
+works. However, this document itself may not be modified in any way, including
+by removing the copyright notice or references to Ecma International, except as
+needed for the purpose of developing any document or deliverable produced by
+Ecma International (in which case the rules applied to copyrights must be
+followed) or as required to translate it into languages other than English. The
+limited permissions granted above are perpetual and will not be revoked by Ecma
+International or its successors or assigns. This document and the information
+contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL
+DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
+WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP
+RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
+PURPOSE." Software License
+
+All Software contained in this document ("Software)" is protected by copyright
+and is being made available under the "BSD License", included below. This
+Software may be subject to third party rights (rights from parties other than
+Ecma International), including patent rights, and no licenses under such third
+party rights are granted under this license even if the third party concerned is
+a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS
+AVAILABLE AT http://www.ecma-international.org/memento/codeofconduct.htm FOR
+INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO
+IMPLEMENT ECMA INTERNATIONAL STANDARDS*. Redistribution and use in source and
+binary forms, with or without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution.
+
+3. Neither the name of the authors nor Ecma International may be used to endorse
+or promote products derived from this software without specific prior written
+permission.
+
+THIS SOFTWARE IS PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
+SHALL ECMA INTERNATIONAL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE.
+--- end of LICENSE ---
+
+%% This notice is provided with respect to Dynalink library which is included
+with the Nashorn technology.
+
+--- begin of LICENSE ---
+Copyright (c) 2009-2013, Attila Szegedi
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+* Redistributions of source code must retain the above copyright
+  notice, this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+* Neither the name of the copyright holder nor the names of
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+--- end of LICENSE ---
+
+%% This notice is provided with respect to Joni library which is included
+with the Nashorn technology.
+
+--- begin of LICENSE ---
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to FontConfig 2.5, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8 source distributions on
 Linux and Solaris.
 
 --- begin of LICENSE ---
 
-Copyright © 2001,2003 Keith Packard
+Copyright © 2001,2003 Keith Packard
 
 Permission to use, copy, modify, distribute, and sell this software and its
 documentation for any purpose is hereby granted without fee, provided that the
@@ -765,7 +957,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to IAIK PKCS#11 Wrapper, 
-which is included with JRE 7, JDK 7, and OpenJDK 7.
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -816,7 +1008,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to ICU4C 4.0.1 and ICU4J 4.4, which 
-is included with JRE 7, JDK 7, and OpenJDK 7.
+may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -852,8 +1044,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to IJG JPEG 6b, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to IJG JPEG 6b, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -891,8 +1083,35 @@
 
 --------------------------------------------------------------------------------
 
-%% This notice is provided with respect to JOpt-Simple v3.0,  which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to Joni v1.1.9, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
+%% This notice is provided with respect to JOpt-Simple v3.0,  which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -921,8 +1140,39 @@
 
 --------------------------------------------------------------------------------
 
+%% This notice is provided with respect to JSON, which may be included 
+with JRE 8 & JDK 8.
+
+--- begin of LICENSE ---
+
+Copyright (c) 2002 JSON.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+The Software shall be used for Good, not Evil.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
 %% This notice is provided with respect to Kerberos functionality, which 
-which is included with JRE 7, JDK 7, and OpenJDK 7.
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -934,7 +1184,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to Kerberos functionality from 
-FundsXpress, INC., which is included with JRE 7, JDK 7, and OpenJDK 7.
+FundsXpress, INC., which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -967,8 +1217,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Kronos OpenGL headers, which is 
-included with JDK 7 and OpenJDK 7 source distributions.
+%% This notice is provided with respect to Kronos OpenGL headers, which may be 
+included with JDK 8 and OpenJDK 8 source distributions.
 
 --- begin of LICENSE ---
 
@@ -1000,8 +1250,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to libpng 1.2.18, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to libpng 1.5.4, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1014,8 +1264,10 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.2.18, May 15, 2007, are
-Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
+This code is released under the libpng license.
+
+libpng versions 1.2.6, August 15, 2004, through 1.5.4, July 7, 2011, are
+Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
 
@@ -1112,14 +1364,14 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 15, 2007
+July 7, 2011
 
 --- end of LICENSE ---
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to libungif 4.1.3, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to libungif 4.1.3, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1147,8 +1399,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Little CMS 2.0, which is 
-included with OpenJDK 7.
+%% This notice is provided with respect to Little CMS 2.4, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1183,7 +1435,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to Mesa 3D Graphics Library v4.1,
-which is included with JRE 7, JDK 7, and OpenJDK 7 source distributions.
+which may be included with JRE 8, JDK 8, and OpenJDK 8 source distributions.
 
 --- begin of LICENSE ---
 
@@ -1213,8 +1465,402 @@
 
 -------------------------------------------------------------------------------
 
+%% This notice is provided with respect to Mozilla Network Security
+Services (NSS), which is supplied with the JDK test suite in the OpenJDK
+source code repository. It is licensed under Mozilla Public License (MPL),
+version 2.0.
+
+The NSS libraries are supplied in executable form, built from unmodified
+NSS source code labeled with the "NSS_3.13.1_RTM" release tag.
+
+The NSS source code is available in the OpenJDK source code repository at:
+    jdk/test/sun/security/pkcs11/nss/src
+
+The NSS libraries are available in the OpenJDK source code repository at:
+    jdk/test/sun/security/pkcs11/nss/lib
+
+--- begin of LICENSE ---
+
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+    means each individual or legal entity that creates, contributes to
+    the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+    means the combination of the Contributions of others (if any) used
+    by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+    means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+    means Source Code Form to which the initial Contributor has attached
+    the notice in Exhibit A, the Executable Form of such Source Code
+    Form, and Modifications of such Source Code Form, in each case
+    including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+    means
+
+    (a) that the initial Contributor has attached the notice described
+        in Exhibit B to the Covered Software; or
+
+    (b) that the Covered Software was made available under the terms of
+        version 1.1 or earlier of the License, but not also under the
+        terms of a Secondary License.
+
+1.6. "Executable Form"
+    means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+    means a work that combines Covered Software with other material, in 
+    a separate file or files, that is not Covered Software.
+
+1.8. "License"
+    means this document.
+
+1.9. "Licensable"
+    means having the right to grant, to the maximum extent possible,
+    whether at the time of the initial grant or subsequently, any and
+    all of the rights conveyed by this License.
+
+1.10. "Modifications"
+    means any of the following:
+
+    (a) any file in Source Code Form that results from an addition to,
+        deletion from, or modification of the contents of Covered
+        Software; or
+
+    (b) any new file in Source Code Form that contains any Covered
+        Software.
+
+1.11. "Patent Claims" of a Contributor
+    means any patent claim(s), including without limitation, method,
+    process, and apparatus claims, in any patent Licensable by such
+    Contributor that would be infringed, but for the grant of the
+    License, by the making, using, selling, offering for sale, having
+    made, import, or transfer of either its Contributions or its
+    Contributor Version.
+
+1.12. "Secondary License"
+    means either the GNU General Public License, Version 2.0, the GNU
+    Lesser General Public License, Version 2.1, the GNU Affero General
+    Public License, Version 3.0, or any later versions of those
+    licenses.
+
+1.13. "Source Code Form"
+    means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+    means an individual or a legal entity exercising rights under this
+    License. For legal entities, "You" includes any entity that
+    controls, is controlled by, or is under common control with You. For
+    purposes of this definition, "control" means (a) the power, direct
+    or indirect, to cause the direction or management of such entity,
+    whether by contract or otherwise, or (b) ownership of more than
+    fifty percent (50%) of the outstanding shares or beneficial
+    ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+    Licensable by such Contributor to use, reproduce, make available,
+    modify, display, perform, distribute, and otherwise exploit its
+    Contributions, either on an unmodified basis, with Modifications, or
+    as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+    for sale, have made, import, and otherwise transfer either its
+    Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+    or
+
+(b) for infringements caused by: (i) Your and any other third party's
+    modifications of Covered Software, or (ii) the combination of its
+    Contributions with other software (except as part of its Contributor
+    Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+    its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+    Form, as described in Section 3.1, and You must inform recipients of
+    the Executable Form how they can obtain a copy of such Source Code
+    Form by reasonable means in a timely manner, at a charge no more
+    than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+    License, or sublicense it under different terms, provided that the
+    license for the Executable Form does not attempt to limit or alter
+    the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+*                                                                      *
+*  6. Disclaimer of Warranty                                           *
+*  -------------------------                                           *
+*                                                                      *
+*  Covered Software is provided under this License on an "as is"       *
+*  basis, without warranty of any kind, either expressed, implied, or  *
+*  statutory, including, without limitation, warranties that the       *
+*  Covered Software is free of defects, merchantable, fit for a        *
+*  particular purpose or non-infringing. The entire risk as to the     *
+*  quality and performance of the Covered Software is with You.        *
+*  Should any Covered Software prove defective in any respect, You     *
+*  (not any Contributor) assume the cost of any necessary servicing,   *
+*  repair, or correction. This disclaimer of warranty constitutes an   *
+*  essential part of this License. No use of any Covered Software is   *
+*  authorized under this License except under this disclaimer.         *
+*                                                                      *
+************************************************************************
+
+************************************************************************
+*                                                                      *
+*  7. Limitation of Liability                                          *
+*  --------------------------                                          *
+*                                                                      *
+*  Under no circumstances and under no legal theory, whether tort      *
+*  (including negligence), contract, or otherwise, shall any           *
+*  Contributor, or anyone who distributes Covered Software as          *
+*  permitted above, be liable to You for any direct, indirect,         *
+*  special, incidental, or consequential damages of any character      *
+*  including, without limitation, damages for lost profits, loss of    *
+*  goodwill, work stoppage, computer failure or malfunction, or any    *
+*  and all other commercial damages or losses, even if such party      *
+*  shall have been informed of the possibility of such damages. This   *
+*  limitation of liability shall not apply to liability for death or   *
+*  personal injury resulting from such party's negligence to the       *
+*  extent applicable law prohibits such limitation. Some               *
+*  jurisdictions do not allow the exclusion or limitation of           *
+*  incidental or consequential damages, so this exclusion and          *
+*  limitation may not apply to You.                                    *
+*                                                                      *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+  This Source Code Form is subject to the terms of the Mozilla Public
+  License, v. 2.0. If a copy of the MPL was not distributed with this
+  file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+  This Source Code Form is "Incompatible With Secondary Licenses", as
+  defined by the Mozilla Public License, v. 2.0.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
 %% This notice is provided with respect to PC/SC Lite for Suse Linux v.1.1.1,
-which is included with JRE 7, JDK 7, and OpenJDK 7 on Linux and Solaris.
+which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
 
 --- begin of LICENSE ---
 
@@ -1257,8 +1903,30 @@
 
 -------------------------------------------------------------------------------
 
+%% This notice is provided with respect to PorterStemmer v4, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
+
+--- begin of LICENSE ---
+
+See: http://tartarus.org/~martin/PorterStemmer
+
+The software is completely free for any purpose, unless notes at the head of
+the program text indicates otherwise (which is rare). In any case, the notes
+about licensing are never more restrictive than the BSD License.
+
+In every case where the software is not written by me (Martin Porter), this
+licensing arrangement has been endorsed by the contributor, and it is
+therefore unnecessary to ask the contributor again to confirm it.
+
+I have not asked any contributors (or their employers, if they have them) for
+proofs that they have the right to distribute their software in this way.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
 %% This notice is provided with respect to Relax NG Object/Parser v.20050510,
-which is included with JRE 7, JDK 7, and OpenJDK 7.
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1285,8 +1953,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to RelaxNGCC v1.12, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to RelaxNGCC v1.12, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1335,487 +2003,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Mozilla Rhino v1.7R3, which 
-is included with JRE 7, JDK 7, and OpenJDK 7
-
---- begin of LICENSE ---
-
-                          MOZILLA PUBLIC LICENSE
-                                Version 1.1
-
-                              ---------------
-
-1. Definitions.
-
-     1.0.1. "Commercial Use" means distribution or otherwise making the
-     Covered Code available to a third party.
-
-     1.1. "Contributor" means each entity that creates or contributes to
-     the creation of Modifications.
-
-     1.2. "Contributor Version" means the combination of the Original
-     Code, prior Modifications used by a Contributor, and the Modifications
-     made by that particular Contributor.
-
-     1.3. "Covered Code" means the Original Code or Modifications or the
-     combination of the Original Code and Modifications, in each case
-     including portions thereof.
-
-     1.4. "Electronic Distribution Mechanism" means a mechanism generally
-     accepted in the software development community for the electronic
-     transfer of data.
-
-     1.5. "Executable" means Covered Code in any form other than Source
-     Code.
-
-     1.6. "Initial Developer" means the individual or entity identified
-     as the Initial Developer in the Source Code notice required by Exhibit
-     A.
-
-     1.7. "Larger Work" means a work which combines Covered Code or
-     portions thereof with code not governed by the terms of this License.
-
-     1.8. "License" means this document.
-
-     1.8.1. "Licensable" means having the right to grant, to the maximum
-     extent possible, whether at the time of the initial grant or
-     subsequently acquired, any and all of the rights conveyed herein.
-
-     1.9. "Modifications" means any addition to or deletion from the
-     substance or structure of either the Original Code or any previous
-     Modifications. When Covered Code is released as a series of files, a
-     Modification is:
-          A. Any addition to or deletion from the contents of a file
-          containing Original Code or previous Modifications.
-
-          B. Any new file that contains any part of the Original Code or
-          previous Modifications.
-
-     1.10. "Original Code" means Source Code of computer software code
-     which is described in the Source Code notice required by Exhibit A as
-     Original Code, and which, at the time of its release under this
-     License is not already Covered Code governed by this License.
-
-     1.10.1. "Patent Claims" means any patent claim(s), now owned or
-     hereafter acquired, including without limitation,  method, process,
-     and apparatus claims, in any patent Licensable by grantor.
-
-     1.11. "Source Code" means the preferred form of the Covered Code for
-     making modifications to it, including all modules it contains, plus
-     any associated interface definition files, scripts used to control
-     compilation and installation of an Executable, or source code
-     differential comparisons against either the Original Code or another
-     well known, available Covered Code of the Contributor's choice. The
-     Source Code can be in a compressed or archival form, provided the
-     appropriate decompression or de-archiving software is widely available
-     for no charge.
-
-     1.12. "You" (or "Your")  means an individual or a legal entity
-     exercising rights under, and complying with all of the terms of, this
-     License or a future version of this License issued under Section 6.1.
-     For legal entities, "You" includes any entity which controls, is
-     controlled by, or is under common control with You. For purposes of
-     this definition, "control" means (a) the power, direct or indirect,
-     to cause the direction or management of such entity, whether by
-     contract or otherwise, or (b) ownership of more than fifty percent
-     (50%) of the outstanding shares or beneficial ownership of such
-     entity.
-
-2. Source Code License.
-
-     2.1. The Initial Developer Grant.
-     The Initial Developer hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Initial Developer to use, reproduce,
-          modify, display, perform, sublicense and distribute the Original
-          Code (or portions thereof) with or without Modifications, and/or
-          as part of a Larger Work; and
-
-          (b) under Patents Claims infringed by the making, using or
-          selling of Original Code, to make, have made, use, practice,
-          sell, and offer for sale, and/or otherwise dispose of the
-          Original Code (or portions thereof).
-
-          (c) the licenses granted in this Section 2.1(a) and (b) are
-          effective on the date Initial Developer first distributes
-          Original Code under the terms of this License.
-
-          (d) Notwithstanding Section 2.1(b) above, no patent license is
-          granted: 1) for code that You delete from the Original Code; 2)
-          separate from the Original Code;  or 3) for infringements caused
-          by: i) the modification of the Original Code or ii) the
-          combination of the Original Code with other software or devices.
-
-     2.2. Contributor Grant.
-     Subject to third party intellectual property claims, each Contributor
-     hereby grants You a world-wide, royalty-free, non-exclusive license
-
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Contributor, to use, reproduce, modify,
-          display, perform, sublicense and distribute the Modifications
-          created by such Contributor (or portions thereof) either on an
-          unmodified basis, with other Modifications, as Covered Code
-          and/or as part of a Larger Work; and
-
-          (b) under Patent Claims infringed by the making, using, or
-          selling of  Modifications made by that Contributor either alone
-          and/or in combination with its Contributor Version (or portions
-          of such combination), to make, use, sell, offer for sale, have
-          made, and/or otherwise dispose of: 1) Modifications made by that
-          Contributor (or portions thereof); and 2) the combination of
-          Modifications made by that Contributor with its Contributor
-          Version (or portions of such combination).
-
-          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-          effective on the date Contributor first makes Commercial Use of
-          the Covered Code.
-
-          (d)    Notwithstanding Section 2.2(b) above, no patent license is
-          granted: 1) for any code that Contributor has deleted from the
-          Contributor Version; 2)  separate from the Contributor Version;
-          3)  for infringements caused by: i) third party modifications of
-          Contributor Version or ii)  the combination of Modifications made
-          by that Contributor with other software  (except as part of the
-          Contributor Version) or other devices; or 4) under Patent Claims
-          infringed by Covered Code in the absence of Modifications made by
-          that Contributor.
-
-3. Distribution Obligations.
-
-     3.1. Application of License.
-     The Modifications which You create or to which You contribute are
-     governed by the terms of this License, including without limitation
-     Section 2.2. The Source Code version of Covered Code may be
-     distributed only under the terms of this License or a future version
-     of this License released under Section 6.1, and You must include a
-     copy of this License with every copy of the Source Code You
-     distribute. You may not offer or impose any terms on any Source Code
-     version that alters or restricts the applicable version of this
-     License or the recipients' rights hereunder. However, You may include
-     an additional document offering the additional rights described in
-     Section 3.5.
-
-     3.2. Availability of Source Code.
-     Any Modification which You create or to which You contribute must be
-     made available in Source Code form under the terms of this License
-     either on the same media as an Executable version or via an accepted
-     Electronic Distribution Mechanism to anyone to whom you made an
-     Executable version available; and if made available via Electronic
-     Distribution Mechanism, must remain available for at least twelve (12)
-     months after the date it initially became available, or at least six
-     (6) months after a subsequent version of that particular Modification
-     has been made available to such recipients. You are responsible for
-     ensuring that the Source Code version remains available even if the
-     Electronic Distribution Mechanism is maintained by a third party.
-
-     3.3. Description of Modifications.
-     You must cause all Covered Code to which You contribute to contain a
-     file documenting the changes You made to create that Covered Code and
-     the date of any change. You must include a prominent statement that
-     the Modification is derived, directly or indirectly, from Original
-     Code provided by the Initial Developer and including the name of the
-     Initial Developer in (a) the Source Code, and (b) in any notice in an
-     Executable version or related documentation in which You describe the
-     origin or ownership of the Covered Code.
-
-     3.4. Intellectual Property Matters
-          (a) Third Party Claims.
-          If Contributor has knowledge that a license under a third party's
-          intellectual property rights is required to exercise the rights
-          granted by such Contributor under Sections 2.1 or 2.2,
-          Contributor must include a text file with the Source Code
-          distribution titled "LEGAL" which describes the claim and the
-          party making the claim in sufficient detail that a recipient will
-          know whom to contact. If Contributor obtains such knowledge after
-          the Modification is made available as described in Section 3.2,
-          Contributor shall promptly modify the LEGAL file in all copies
-          Contributor makes available thereafter and shall take other steps
-          (such as notifying appropriate mailing lists or newsgroups)
-          reasonably calculated to inform those who received the Covered
-          Code that new knowledge has been obtained.
-
-          (b) Contributor APIs.
-          If Contributor's Modifications include an application programming
-          interface and Contributor has knowledge of patent licenses which
-          are reasonably necessary to implement that API, Contributor must
-          also include this information in the LEGAL file.
-
-               (c)    Representations.
-          Contributor represents that, except as disclosed pursuant to
-          Section 3.4(a) above, Contributor believes that Contributor's
-          Modifications are Contributor's original creation(s) and/or
-          Contributor has sufficient rights to grant the rights conveyed by
-          this License.
-
-     3.5. Required Notices.
-     You must duplicate the notice in Exhibit A in each file of the Source
-     Code.  If it is not possible to put such notice in a particular Source
-     Code file due to its structure, then You must include such notice in a
-     location (such as a relevant directory) where a user would be likely
-     to look for such a notice.  If You created one or more Modification(s)
-     You may add your name as a Contributor to the notice described in
-     Exhibit A.  You must also duplicate this License in any documentation
-     for the Source Code where You describe recipients' rights or ownership
-     rights relating to Covered Code.  You may choose to offer, and to
-     charge a fee for, warranty, support, indemnity or liability
-     obligations to one or more recipients of Covered Code. However, You
-     may do so only on Your own behalf, and not on behalf of the Initial
-     Developer or any Contributor. You must make it absolutely clear than
-     any such warranty, support, indemnity or liability obligation is
-     offered by You alone, and You hereby agree to indemnify the Initial
-     Developer and every Contributor for any liability incurred by the
-     Initial Developer or such Contributor as a result of warranty,
-     support, indemnity or liability terms You offer.
-
-     3.6. Distribution of Executable Versions.
-     You may distribute Covered Code in Executable form only if the
-     requirements of Section 3.1-3.5 have been met for that Covered Code,
-     and if You include a notice stating that the Source Code version of
-     the Covered Code is available under the terms of this License,
-     including a description of how and where You have fulfilled the
-     obligations of Section 3.2. The notice must be conspicuously included
-     in any notice in an Executable version, related documentation or
-     collateral in which You describe recipients' rights relating to the
-     Covered Code. You may distribute the Executable version of Covered
-     Code or ownership rights under a license of Your choice, which may
-     contain terms different from this License, provided that You are in
-     compliance with the terms of this License and that the license for the
-     Executable version does not attempt to limit or alter the recipient's
-     rights in the Source Code version from the rights set forth in this
-     License. If You distribute the Executable version under a different
-     license You must make it absolutely clear that any terms which differ
-     from this License are offered by You alone, not by the Initial
-     Developer or any Contributor. You hereby agree to indemnify the
-     Initial Developer and every Contributor for any liability incurred by
-     the Initial Developer or such Contributor as a result of any such
-     terms You offer.
-
-     3.7. Larger Works.
-     You may create a Larger Work by combining Covered Code with other code
-     not governed by the terms of this License and distribute the Larger
-     Work as a single product. In such a case, You must make sure the
-     requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-     If it is impossible for You to comply with any of the terms of this
-     License with respect to some or all of the Covered Code due to
-     statute, judicial order, or regulation then You must: (a) comply with
-     the terms of this License to the maximum extent possible; and (b)
-     describe the limitations and the code they affect. Such description
-     must be included in the LEGAL file described in Section 3.4 and must
-     be included with all distributions of the Source Code. Except to the
-     extent prohibited by statute or regulation, such description must be
-     sufficiently detailed for a recipient of ordinary skill to be able to
-     understand it.
-
-5. Application of this License.
-
-     This License applies to code to which the Initial Developer has
-     attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
-     6.1. New Versions.
-     Netscape Communications Corporation ("Netscape") may publish revised
-     and/or new versions of the License from time to time. Each version
-     will be given a distinguishing version number.
-
-     6.2. Effect of New Versions.
-     Once Covered Code has been published under a particular version of the
-     License, You may always continue to use it under the terms of that
-     version. You may also choose to use such Covered Code under the terms
-     of any subsequent version of the License published by Netscape. No one
-     other than Netscape has the right to modify the terms applicable to
-     Covered Code created under this License.
-
-     6.3. Derivative Works.
-     If You create or use a modified version of this License (which you may
-     only do in order to apply it to code which is not already Covered Code
-     governed by this License), You must (a) rename Your license so that
-     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
-     "MPL", "NPL" or any confusingly similar phrase do not appear in your
-     license (except to note that your license differs from this License)
-     and (b) otherwise make it clear that Your version of the license
-     contains terms which differ from the Mozilla Public License and
-     Netscape Public License. (Filling in the name of the Initial
-     Developer, Original Code or Contributor in the notice described in
-     Exhibit A shall not of themselves be deemed to be modifications of
-     this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
-     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
-     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
-     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
-     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
-     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-     8.1.  This License and the rights granted hereunder will terminate
-     automatically if You fail to comply with terms herein and fail to cure
-     such breach within 30 days of becoming aware of the breach. All
-     sublicenses to the Covered Code which are properly granted shall
-     survive any termination of this License. Provisions which, by their
-     nature, must remain in effect beyond the termination of this License
-     shall survive.
-
-     8.2.  If You initiate litigation by asserting a patent infringement
-     claim (excluding declatory judgment actions) against Initial Developer
-     or a Contributor (the Initial Developer or Contributor against whom
-     You file such action is referred to as "Participant")  alleging that:
-
-     (a)  such Participant's Contributor Version directly or indirectly
-     infringes any patent, then any and all rights granted by such
-     Participant to You under Sections 2.1 and/or 2.2 of this License
-     shall, upon 60 days notice from Participant terminate prospectively,
-     unless if within 60 days after receipt of notice You either: (i)
-     agree in writing to pay Participant a mutually agreeable reasonable
-     royalty for Your past and future use of Modifications made by such
-     Participant, or (ii) withdraw Your litigation claim with respect to
-     the Contributor Version against such Participant.  If within 60 days
-     of notice, a reasonable royalty and payment arrangement are not
-     mutually agreed upon in writing by the parties or the litigation claim
-     is not withdrawn, the rights granted by Participant to You under
-     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
-     the 60 day notice period specified above.
-
-     (b)  any software, hardware, or device, other than such Participant's
-     Contributor Version, directly or indirectly infringes any patent, then
-     any rights granted to You by such Participant under Sections 2.1(b)
-     and 2.2(b) are revoked effective as of the date You first made, used,
-     sold, distributed, or had made, Modifications made by that
-     Participant.
-
-     8.3.  If You assert a patent infringement claim against Participant
-     alleging that such Participant's Contributor Version directly or
-     indirectly infringes any patent where such claim is resolved (such as
-     by license or settlement) prior to the initiation of patent
-     infringement litigation, then the reasonable value of the licenses
-     granted by such Participant under Sections 2.1 or 2.2 shall be taken
-     into account in determining the amount or value of any payment or
-     license.
-
-     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
-     all end user license agreements (excluding distributors and resellers)
-     which have been validly granted by You or any distributor hereunder
-     prior to termination shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
-     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
-     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
-     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
-     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
-     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-     The Covered Code is a "commercial item," as that term is defined in
-     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
-     software" and "commercial computer software documentation," as such
-     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-     all U.S. Government End Users acquire Covered Code with only those
-     rights set forth herein.
-
-11. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject
-     matter hereof. If any provision of this License is held to be
-     unenforceable, such provision shall be reformed only to the extent
-     necessary to make it enforceable. This License shall be governed by
-     California law provisions (except to the extent applicable law, if
-     any, provides otherwise), excluding its conflict-of-law provisions.
-     With respect to disputes in which at least one party is a citizen of,
-     or an entity chartered or registered to do business in the United
-     States of America, any litigation relating to this License shall be
-     subject to the jurisdiction of the Federal Courts of the Northern
-     District of California, with venue lying in Santa Clara County,
-     California, with the losing party responsible for costs, including
-     without limitation, court costs and reasonable attorneys' fees and
-     expenses. The application of the United Nations Convention on
-     Contracts for the International Sale of Goods is expressly excluded.
-     Any law or regulation which provides that the language of a contract
-     shall be construed against the drafter shall not apply to this
-     License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-     As between Initial Developer and the Contributors, each party is
-     responsible for claims and damages arising, directly or indirectly,
-     out of its utilization of rights under this License and You agree to
-     work with Initial Developer and Contributors to distribute such
-     responsibility on an equitable basis. Nothing herein is intended or
-     shall be deemed to constitute any admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
-     Initial Developer may designate portions of the Covered Code as
-     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
-     Developer permits you to utilize portions of the Covered Code under
-     Your choice of the NPL or the alternative licenses, if any, specified
-     by the Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A - Mozilla Public License.
-
-     ``The contents of this file are subject to the Mozilla Public License
-     Version 1.1 (the "License"); you may not use this file except in
-     compliance with the License. You may obtain a copy of the License at
-     http://www.mozilla.org/MPL/
-
-     Software distributed under the License is distributed on an "AS IS"
-     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-     License for the specific language governing rights and limitations
-     under the License.
-
-     The Original Code is ______________________________________.
-
-     The Initial Developer of the Original Code is ________________________.
-     Portions created by ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-     Contributor(s): ______________________________________.
-
-     Alternatively, the contents of this file may be used under the terms
-     of the _____ license (the  "[___] License"), in which case the
-     provisions of [______] License are applicable instead of those
-     above.  If you wish to allow use of your version of this file only
-     under the terms of the [____] License and not to allow others to use
-     your version of this file under the MPL, indicate your decision by
-     deleting  the provisions above and replace  them with the notice and
-     other provisions required by the [___] License.  If you do not delete
-     the provisions above, a recipient may use your version of this file
-     under either the MPL or the [___] License."
-
-     [NOTE: The text of this Exhibit A may differ slightly from the text of
-     the notices in the Source Code files of the Original Code. You should
-     use the text of this Exhibit A rather than the text found in the
-     Original Code Source Code for Your Modifications.]
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to SAX 2.0.1, which is included 
-with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to SAX 2.0.1, which may be included 
+with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1876,8 +2065,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to SoftFloat version 2b, which is 
-included with JRE 7, JDK 7, and OpenJDK 7 on Linux/ARM.
+%% This notice is provided with respect to SoftFloat version 2b, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8 on Linux/ARM.
 
 --- begin of LICENSE ---
 
@@ -1909,12 +2098,41 @@
 
 -------------------------------------------------------------------------------
 
+%% This notice is provided with respect to Sparkle 1.5,
+which may be included with JRE 8 on Mac OS X.
+
+--- begin of LICENSE ---
+
+Copyright (c) 2012 Sparkle.org and Andy Matuschak
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+--- end of LICENSE ---
+
+-------------------------------------------------------------------------------
+
 %% Portions licensed from Taligent, Inc.
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Thai Dictionary, which is 
-included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to Thai Dictionary, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1947,8 +2165,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Unicode 6.0.0, CLDR v1.4.1, & CLDR
-v1.9, which is included with JRE 7, JDK 7, and OpenJDK 7.
+%% This notice is provided with respect to Unicode 6.2.0 & CLDR 21.0.1
+which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
@@ -1959,7 +2177,7 @@
 Trademark Usage Policy.
 
 A. Unicode Copyright.
-   1. Copyright © 1991-2011 Unicode, Inc. All rights reserved.
+   1. Copyright © 1991-2013 Unicode, Inc. All rights reserved.
 
    2. Certain documents and files on this website contain a legend indicating
       that "Modification is permitted." Any person is hereby authorized,
@@ -2094,7 +2312,7 @@
 
 COPYRIGHT AND PERMISSION NOTICE
 
-Copyright © 1991-2011 Unicode, Inc. All rights reserved. Distributed under the
+Copyright © 1991-2012 Unicode, Inc. All rights reserved. Distributed under the
 Terms of Use in http://www.unicode.org/copyright.html.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -2134,8 +2352,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to UPX v3.01, which is included 
-with JRE 7 on Windows.
+%% This notice is provided with respect to UPX v3.01, which may be included 
+with JRE 8 on Windows.
 
 --- begin of LICENSE ---
 
@@ -2274,7 +2492,7 @@
 -------------------------------------------------------------------------------
 
 %% This notice is provided with respect to Xfree86-VidMode Extension 1.0,
-which is included with JRE 7, JDK 7, and OpenJDK 7 on Linux and Solaris.
+which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
 
 --- begin of LICENSE ---
 
@@ -2326,8 +2544,8 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to X Window System 6.8.2, which is 
-included with JRE 7, JDK 7, and OpenJDK 7 on Linux and Solaris.
+%% This notice is provided with respect to X Window System 6.8.2, which may be 
+included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
 
 --- begin of LICENSE ---
 
@@ -3131,12 +3349,12 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to zlib v1.2.3, which is included 
-with JRE 7, JDK 7, and OpenJDK 7
+%% This notice is provided with respect to zlib v1.2.5, which may be included 
+with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
-  version 1.2.3, July 18th, 2005
+  version 1.2.5, July 18th, 2005
 
   Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
 
@@ -3163,16 +3381,18 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to the following which is 
-included with JRE 7, JDK 7, and OpenJDK 7, except where noted:
-
-  Apache Derby 10.8.1.2        [included with JDK 7 only]
+%% This notice is provided with respect to the following which may be 
+included with JRE 8, JDK 8, and OpenJDK 8, except where noted:
+
+  Apache Commons Math 2.2
+  Apache Derby 10.10.1.2        [included with JDK 8]
   Apache Jakarta BCEL 5.2 
   Apache Jakarta Regexp 1.4 
-  Apache Santuario XMLSec-Java 1.4.2
+  Apache Santuario XML Security for Java 1.5.4
   Apache Xalan-Java 2.7.1 
-  Apache Xerces2 Java 2.10.0 
+  Apache Xerces Java 2.10.0 
   Apache XML Resolver 1.1 
+  Dynalink 0.5
 
 
 --- begin of LICENSE ---
@@ -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 ---
-
--------------------------------------------------------------------------------
-
--- a/jdk/make/BuildJdk.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/BuildJdk.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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:
--- a/jdk/make/CompileJavaClasses.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/CompileJavaClasses.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -100,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 \
@@ -239,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 \
--- a/jdk/make/CompileLaunchers.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/CompileLaunchers.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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, \
--- a/jdk/make/CopyFiles.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/CopyFiles.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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))
--- a/jdk/make/CreateJars.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/CreateJars.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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))
 
 ##########################################################################################
 
--- a/jdk/make/GenerateData.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/GenerateData.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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 < $<
--- a/jdk/make/Images.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/Images.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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))
--- a/jdk/make/Tools.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/Tools.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/currency/CurrencyData.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,594 @@
+#
+# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+# 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.
+#
+
+formatVersion=1
+
+# Version of the currency code information in this class.
+# It is a serial number that accompanies with each amendment.
+
+dataVersion=156
+
+# List of all valid ISO 4217 currency codes.
+# To ensure compatibility, do not remove codes.
+
+all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036-\
+    AWG533-AYM945-AZM031-AZN944-BAM977-BBD052-BDT050-BEF056-BGL100-BGN975-BHD048-BIF108-\
+    BMD060-BND096-BOB068-BOV984-BRL986-BSD044-BTN064-BWP072-BYB112-BYR974-\
+    BZD084-CAD124-CDF976-CHF756-CLF990-CLP152-CNY156-COP170-CRC188-CSD891-CUP192-CUC931-\
+    CVE132-CYP196-CZK203-DEM276-DJF262-DKK208-DOP214-DZD012-EEK233-EGP818-\
+    ERN232-ESP724-ETB230-EUR978-FIM246-FJD242-FKP238-FRF250-GBP826-GEL981-\
+    GHC288-GHS936-GIP292-GMD270-GNF324-GRD300-GTQ320-GWP624-GYD328-HKD344-HNL340-\
+    HRK191-HTG332-HUF348-IDR360-IEP372-ILS376-INR356-IQD368-IRR364-ISK352-\
+    ITL380-JMD388-JOD400-JPY392-KES404-KGS417-KHR116-KMF174-KPW408-KRW410-\
+    KWD414-KYD136-KZT398-LAK418-LBP422-LKR144-LRD430-LSL426-LTL440-LUF442-\
+    LVL428-LYD434-MAD504-MDL498-MGA969-MGF450-MKD807-MMK104-MNT496-MOP446-MRO478-\
+    MTL470-MUR480-MVR462-MWK454-MXN484-MXV979-MYR458-MZM508-MZN943-NAD516-NGN566-\
+    NIO558-NLG528-NOK578-NPR524-NZD554-OMR512-PAB590-PEN604-PGK598-PHP608-\
+    PKR586-PLN985-PTE620-PYG600-QAR634-ROL946-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\
+    SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLL694-SOS706-\
+    SRD968-SRG740-SSP728-STD678-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
+    TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-\
+    UYU858-UZS860-VEB862-VEF937-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
+    XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
+    XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
+    ZWN942-ZWR935
+
+
+# Mappings from ISO 3166 country codes to ISO 4217 currency codes.
+#
+# Three forms are used:
+# Form 1: <country code>=<currency code>
+# Form 2: <country code>=<currency code 1>;<time stamp>;<currency code 2>
+# Form 3: <country code>=
+# Form 1 is used if no future change in currency is known.
+# Form 2 indicates that before the specified time currency 1 is used, from
+# the specified time currency 2. The time is given in SimpleDateFormat's
+# yyyy-MM-dd-HH-mm-ss format in the GMT time zone.
+# Form 3 indicates the country doesn't have a currency (the entry is still
+# needed to verify that the country code is valid).
+#
+# The table is based on the following web sites:
+# http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/db_en.html
+# http://www.currency-iso.org/iso_index/iso_tables.htm
+# http://www.cia.gov/cia/publications/factbook/indexgeo.html
+
+# AFGHANISTAN
+AF=AFN
+# \u00c5LAND ISLANDS
+AX=EUR
+# ALBANIA
+AL=ALL
+# ALGERIA
+DZ=DZD
+# AMERICAN SAMOA
+AS=USD
+# ANDORRA
+AD=EUR
+# ANGOLA
+AO=AOA
+# ANGUILLA
+AI=XCD
+# ANTARCTICA
+AQ=
+# ANTIGUA AND BARBUDA
+AG=XCD
+# ARGENTINA
+AR=ARS
+# ARMENIA
+AM=AMD
+# ARUBA
+AW=AWG
+# AUSTRALIA
+AU=AUD
+# AUSTRIA
+AT=EUR
+# AZERBAIJAN
+AZ=AZN
+# BAHAMAS
+BS=BSD
+# BAHRAIN
+BH=BHD
+# BANGLADESH
+BD=BDT
+# BARBADOS
+BB=BBD
+# BELARUS
+BY=BYR
+# BELGIUM
+BE=EUR
+# BELIZE
+BZ=BZD
+# BENIN
+BJ=XOF
+# BERMUDA
+BM=BMD
+# Bonaire, Sint Eustatius and Saba
+BQ=USD
+# BHUTAN
+BT=BTN
+# BOLIVIA
+BO=BOB
+# BOSNIA AND HERZEGOVINA
+BA=BAM
+# BOTSWANA
+BW=BWP
+# BOUVET ISLAND
+BV=NOK
+# BRAZIL
+BR=BRL
+# BRITISH INDIAN OCEAN TERRITORY
+IO=USD
+# BRUNEI DARUSSALAM
+BN=BND
+# BULGARIA
+BG=BGN
+# BURKINA FASO
+BF=XOF
+# BURUNDI
+BI=BIF
+# CAMBODIA
+KH=KHR
+# CAMEROON
+CM=XAF
+# CANADA
+CA=CAD
+# CAPE VERDE
+CV=CVE
+# CAYMAN ISLANDS
+KY=KYD
+# CENTRAL AFRICAN REPUBLIC
+CF=XAF
+# CHAD
+TD=XAF
+# CHILE
+CL=CLP
+# CHINA
+CN=CNY
+# CHRISTMAS ISLAND
+CX=AUD
+# COCOS (KEELING) ISLANDS
+CC=AUD
+# COLOMBIA
+CO=COP
+# COMOROS
+KM=KMF
+# CONGO
+CG=XAF
+# CONGO, THE DEMOCRATIC REPUBLIC OF THE
+CD=CDF
+# COOK ISLANDS
+CK=NZD
+# COSTA RICA
+CR=CRC
+# COTE D'IVOIRE
+CI=XOF
+# CROATIA
+HR=HRK
+# CUBA
+CU=CUP
+# Cura\u00e7ao
+CW=ANG
+# CYPRUS
+CY=EUR
+# CZECH REPUBLIC
+CZ=CZK
+# DENMARK
+DK=DKK
+# DJIBOUTI
+DJ=DJF
+# DOMINICA
+DM=XCD
+# DOMINICAN REPUBLIC
+DO=DOP
+# ECUADOR
+EC=USD
+# EGYPT
+EG=EGP
+# EL SALVADOR
+# USD is also legal currency as of 2001/01/01
+SV=SVC
+# EQUATORIAL GUINEA
+GQ=XAF
+# ERITREA
+ER=ERN
+# ESTONIA
+EE=EUR
+# ETHIOPIA
+ET=ETB
+# FALKLAND ISLANDS (MALVINAS)
+FK=FKP
+# FAROE ISLANDS
+FO=DKK
+# FIJI
+FJ=FJD
+# FINLAND
+FI=EUR
+# FRANCE
+FR=EUR
+# FRENCH GUIANA
+GF=EUR
+# FRENCH POLYNESIA
+PF=XPF
+# FRENCH SOUTHERN TERRITORIES
+TF=EUR
+# GABON
+GA=XAF
+# GAMBIA
+GM=GMD
+# GEORGIA
+GE=GEL
+# GERMANY
+DE=EUR
+# GHANA
+GH=GHS
+# GIBRALTAR
+GI=GIP
+# GREECE
+GR=EUR
+# GREENLAND
+GL=DKK
+# GRENADA
+GD=XCD
+# GUADELOUPE
+GP=EUR
+# GUAM
+GU=USD
+# GUATEMALA
+GT=GTQ
+# GUERNSEY
+GG=GBP
+# GUINEA
+GN=GNF
+# GUINEA-BISSAU
+GW=XOF
+# GUYANA
+GY=GYD
+# HAITI
+HT=HTG
+# HEARD ISLAND AND MCDONALD ISLANDS
+HM=AUD
+# HOLY SEE (VATICAN CITY STATE)
+VA=EUR
+# HONDURAS
+HN=HNL
+# HONG KONG
+HK=HKD
+# HUNGARY
+HU=HUF
+# ICELAND
+IS=ISK
+# INDIA
+IN=INR
+# INDONESIA
+ID=IDR
+# IRAN, ISLAMIC REPUBLIC OF
+IR=IRR
+# IRAQ
+IQ=IQD
+# IRELAND
+IE=EUR
+# ISLE OF MAN
+IM=GBP
+# ISRAEL
+IL=ILS
+# ITALY
+IT=EUR
+# JAMAICA
+JM=JMD
+# JAPAN
+JP=JPY
+# JERSEY
+JE=GBP
+# JORDAN
+JO=JOD
+# KAZAKSTAN
+KZ=KZT
+# KENYA
+KE=KES
+# KIRIBATI
+KI=AUD
+# KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF
+KP=KPW
+# KOREA, REPUBLIC OF
+KR=KRW
+# KUWAIT
+KW=KWD
+# KYRGYZSTAN
+KG=KGS
+# LAO PEOPLE'S DEMOCRATIC REPUBLIC
+LA=LAK
+# LATVIA
+LV=LVL;2013-12-31-22-00-00;EUR
+# LEBANON
+LB=LBP
+# LESOTHO
+LS=LSL
+# LIBERIA
+LR=LRD
+# LIBYAN ARAB JAMAHIRIYA
+LY=LYD
+# LIECHTENSTEIN
+LI=CHF
+# LITHUANIA
+LT=LTL
+# LUXEMBOURG
+LU=EUR
+# MACAU
+MO=MOP
+# MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF
+MK=MKD
+# MADAGASCAR
+MG=MGA
+# MALAWI
+MW=MWK
+# MALAYSIA
+MY=MYR
+# MALDIVES
+MV=MVR
+# MALI
+ML=XOF
+# MALTA
+MT=EUR
+# MARSHALL ISLANDS
+MH=USD
+# MARTINIQUE
+MQ=EUR
+# MAURITANIA
+MR=MRO
+# MAURITIUS
+MU=MUR
+# MAYOTTE
+YT=EUR
+# MEXICO
+MX=MXN
+# MICRONESIA, FEDERATED STATES OF
+FM=USD
+# MOLDOVA, REPUBLIC OF
+MD=MDL
+# MONACO
+MC=EUR
+# MONGOLIA
+MN=MNT
+# MONTENEGRO
+ME=EUR
+# MONTSERRAT
+MS=XCD
+# MOROCCO
+MA=MAD
+# MOZAMBIQUE
+MZ=MZN
+# MYANMAR
+MM=MMK
+# NAMIBIA
+NA=NAD
+# NAURU
+NR=AUD
+# NEPAL
+NP=NPR
+# NETHERLANDS
+NL=EUR
+# NETHERLANDS ANTILLES
+AN=ANG
+# NEW CALEDONIA
+NC=XPF
+# NEW ZEALAND
+NZ=NZD
+# NICARAGUA
+NI=NIO
+# NIGER
+NE=XOF
+# NIGERIA
+NG=NGN
+# NIUE
+NU=NZD
+# NORFOLK ISLAND
+NF=AUD
+# NORTHERN MARIANA ISLANDS
+MP=USD
+# NORWAY
+NO=NOK
+# OMAN
+OM=OMR
+# PAKISTAN
+PK=PKR
+# PALAU
+PW=USD
+# PALESTINIAN TERRITORY, OCCUPIED
+PS=ILS
+# PANAMA
+PA=PAB
+# PAPUA NEW GUINEA
+PG=PGK
+# PARAGUAY
+PY=PYG
+# PERU
+PE=PEN
+# PHILIPPINES
+PH=PHP
+# PITCAIRN
+PN=NZD
+# POLAND
+PL=PLN
+# PORTUGAL
+PT=EUR
+# PUERTO RICO
+PR=USD
+# QATAR
+QA=QAR
+# REUNION
+RE=EUR
+# ROMANIA
+RO=RON
+# RUSSIAN FEDERATION
+RU=RUB
+# RWANDA
+RW=RWF
+# SAINT BARTHELEMY
+BL=EUR
+# SAINT HELENA
+SH=SHP
+# SAINT KITTS AND NEVIS
+KN=XCD
+# SAINT LUCIA
+LC=XCD
+# SAINT MARTIN
+MF=EUR
+# SAINT PIERRE AND MIQUELON
+PM=EUR
+# SAINT VINCENT AND THE GRENADINES
+VC=XCD
+# SAMOA
+WS=WST
+# SAN MARINO
+SM=EUR
+# SOUTH SUDAN
+SS=SSP
+# SAO TOME AND PRINCIPE
+ST=STD
+# SAUDI ARABIA
+SA=SAR
+# SENEGAL
+SN=XOF
+# SERBIA
+RS=RSD
+# SERBIA AND MONTENEGRO
+CS=CSD
+# SEYCHELLES
+SC=SCR
+# SIERRA LEONE
+SL=SLL
+# SINGAPORE
+SG=SGD
+# SLOVAKIA
+SK=EUR
+# SLOVENIA
+SI=EUR
+# SOLOMON ISLANDS
+SB=SBD
+# SOMALIA
+SO=SOS
+# SOUTH AFRICA
+ZA=ZAR
+# SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS
+GS=GBP
+# SPAIN
+ES=EUR
+# SRI LANKA
+LK=LKR
+# SUDAN
+SD=SDG
+# SURINAME
+SR=SRD
+# SVALBARD AND JAN MAYEN
+SJ=NOK
+# Sint Maarten (Dutch part)
+SX=ANG
+# SWAZILAND
+SZ=SZL
+# SWEDEN
+SE=SEK
+# SWITZERLAND
+CH=CHF
+# SYRIAN ARAB REPUBLIC
+SY=SYP
+# TAIWAN
+TW=TWD
+# TAJIKISTAN
+TJ=TJS
+# TANZANIA, UNITED REPUBLIC OF
+TZ=TZS
+# THAILAND
+TH=THB
+# TIMOR-LESTE
+TL=USD
+# TOGO
+TG=XOF
+# TOKELAU
+TK=NZD
+# TONGA
+TO=TOP
+# TRINIDAD AND TOBAGO
+TT=TTD
+# TUNISIA
+TN=TND
+# TURKEY
+TR=TRY
+# TURKMENISTAN
+TM=TMT
+# TURKS AND CAICOS ISLANDS
+TC=USD
+# TUVALU
+TV=AUD
+# UGANDA
+UG=UGX
+# UKRAINE
+UA=UAH
+# UNITED ARAB EMIRATES
+AE=AED
+# UNITED KINGDOM
+GB=GBP
+# UNITED STATES
+US=USD
+# UNITED STATES MINOR OUTLYING ISLANDS
+UM=USD
+# URUGUAY
+UY=UYU
+# UZBEKISTAN
+UZ=UZS
+# VANUATU
+VU=VUV
+# VENEZUELA
+VE=VEF
+# VIET NAM
+VN=VND
+# VIRGIN ISLANDS, BRITISH
+VG=USD
+# VIRGIN ISLANDS, U.S.
+VI=USD
+# WALLIS AND FUTUNA
+WF=XPF
+# WESTERN SAHARA
+EH=MAD
+# YEMEN
+YE=YER
+# ZAMBIA
+ZM=ZMW
+# ZIMBABWE
+ZW=ZWL
+
+
+# List of currencies with 0, 1, OR 3 decimals for minor units, or where there
+# are no minor units defined. All others use 2 decimals.
+
+minor0=\
+    ADP-BEF-BIF-BYB-BYR-CLF-CLP-DJF-ESP-GNF-\
+    GRD-ISK-ITL-JPY-KMF-KRW-LUF-MGF-PYG-PTE-RWF-\
+    TPE-TRL-UGX-VND-VUV-XAF-XOF-XPF
+minor1=
+minor3=\
+    BHD-IQD-JOD-KWD-LYD-OMR-TND
+minorUndefined=\
+    XAG-XAU-XBA-XBB-XBC-XBD-XDR-XFO-XFU-XPD-\
+    XPT-XSU-XTS-XUA-XXX
Binary file jdk/make/data/macosxicons/JavaApp.icns has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/functions.txt	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,26 @@
+!XGetWindowProperty|int
+    w                long
+    property         Atom
+    long_offset      long
+    long_length      long
+    delete           Bool
+    req_type         Atom
+    actual_type      Atom out
+    actual_format    int out
+    number_of_items  long out
+    bytes_after      long out
+    data             pointer out free
+!XQueryTree|int
+    w                long
+    root             long out
+    parent           long out
+    children         pointer out free
+    nchildren        int out
+!XTranslateCoordinates|int
+    scr_w            long
+    dest_w           long 
+    src_x            int
+    src_y            int
+    dest_x           int out
+    dest_y           int out
+    child            long out
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/sizes.32	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,1016 @@
+long	4
+int	4
+short	2
+ptr	4
+Bool	4
+Atom	4
+Window	4
+XExtData.number	0
+XExtData.next	4
+XExtData.free_private	8
+XExtData.private_data	12
+XExtData	16
+XIMStringConversionCallbackStruct.position	0
+XIMStringConversionCallbackStruct.direction	4
+XIMStringConversionCallbackStruct.operation	8
+XIMStringConversionCallbackStruct.factor	10
+XIMStringConversionCallbackStruct.text	12
+XIMStringConversionCallbackStruct	16
+XkbNewKeyboardNotifyEvent.type	0
+XkbNewKeyboardNotifyEvent.serial	4
+XkbNewKeyboardNotifyEvent.send_event	8
+XkbNewKeyboardNotifyEvent.display	12
+XkbNewKeyboardNotifyEvent.time	16
+XkbNewKeyboardNotifyEvent.xkb_type	20
+XkbNewKeyboardNotifyEvent.device	24
+XkbNewKeyboardNotifyEvent.old_device	28
+XkbNewKeyboardNotifyEvent.min_key_code	32
+XkbNewKeyboardNotifyEvent.max_key_code	36
+XkbNewKeyboardNotifyEvent.old_min_key_code	40
+XkbNewKeyboardNotifyEvent.old_max_key_code	44
+XkbNewKeyboardNotifyEvent.changed	48
+XkbNewKeyboardNotifyEvent.req_major	52
+XkbNewKeyboardNotifyEvent.req_minor	53
+XkbNewKeyboardNotifyEvent	56
+XTimeCoord.time	0
+XTimeCoord.x	4
+XTimeCoord.y	6
+XTimeCoord	8
+XkbCompatMapNotifyEvent.type	0
+XkbCompatMapNotifyEvent.serial	4
+XkbCompatMapNotifyEvent.send_event	8
+XkbCompatMapNotifyEvent.display	12
+XkbCompatMapNotifyEvent.time	16
+XkbCompatMapNotifyEvent.xkb_type	20
+XkbCompatMapNotifyEvent.device	24
+XkbCompatMapNotifyEvent.changed_groups	28
+XkbCompatMapNotifyEvent.first_si	32
+XkbCompatMapNotifyEvent.num_si	36
+XkbCompatMapNotifyEvent.num_total_si	40
+XkbCompatMapNotifyEvent	44
+XIMStatusDrawCallbackStruct.type	0
+XIMStatusDrawCallbackStruct.data	4
+XIMStatusDrawCallbackStruct	8
+XKeyboardControl.key_click_percent	0
+XKeyboardControl.bell_percent	4
+XKeyboardControl.bell_pitch	8
+XKeyboardControl.bell_duration	12
+XKeyboardControl.led	16
+XKeyboardControl.led_mode	20
+XKeyboardControl.key	24
+XKeyboardControl.auto_repeat_mode	28
+XKeyboardControl	32
+XSelectionClearEvent.type	0
+XSelectionClearEvent.serial	4
+XSelectionClearEvent.send_event	8
+XSelectionClearEvent.display	12
+XSelectionClearEvent.window	16
+XSelectionClearEvent.selection	20
+XSelectionClearEvent.time	24
+XSelectionClearEvent	28
+XWindowChanges.x	0
+XWindowChanges.y	4
+XWindowChanges.width	8
+XWindowChanges.height	12
+XWindowChanges.border_width	16
+XWindowChanges.sibling	20
+XWindowChanges.stack_mode	24
+XWindowChanges	28
+XIMPreeditCaretCallbackStruct.position	0
+XIMPreeditCaretCallbackStruct.direction	4
+XIMPreeditCaretCallbackStruct.style	8
+XIMPreeditCaretCallbackStruct	12
+XOMCharSetList.charset_count	0
+XOMCharSetList.charset_list	4
+XOMCharSetList	8
+XOMFontInfo.num_font	0
+XOMFontInfo.font_struct_list	4
+XOMFontInfo.font_name_list	8
+XOMFontInfo	12
+AwtScreenData.numConfigs	0
+AwtScreenData.root	4
+AwtScreenData.whitepixel	8
+AwtScreenData.blackpixel	12
+AwtScreenData.defaultConfig	16
+AwtScreenData.configs	20
+AwtScreenData	24
+XIMHotKeyTrigger.keysym	0
+XIMHotKeyTrigger.modifier	4
+XIMHotKeyTrigger.modifier_mask	8
+XIMHotKeyTrigger	12
+XCirculateEvent.type	0
+XCirculateEvent.serial	4
+XCirculateEvent.send_event	8
+XCirculateEvent.display	12
+XCirculateEvent.event	16
+XCirculateEvent.window	20
+XCirculateEvent.place	24
+XCirculateEvent	28
+Screen.ext_data	0
+Screen.display	4
+Screen.root	8
+Screen.width	12
+Screen.height	16
+Screen.mwidth	20
+Screen.mheight	24
+Screen.ndepths	28
+Screen.depths	32
+Screen.root_depth	36
+Screen.root_visual	40
+Screen.default_gc	44
+Screen.cmap	48
+Screen.white_pixel	52
+Screen.black_pixel	56
+Screen.max_maps	60
+Screen.min_maps	64
+Screen.backing_store	68
+Screen.save_unders	72
+Screen.root_input_mask	76
+Screen	80
+XMapRequestEvent.type	0
+XMapRequestEvent.serial	4
+XMapRequestEvent.send_event	8
+XMapRequestEvent.display	12
+XMapRequestEvent.parent	16
+XMapRequestEvent.window	20
+XMapRequestEvent	24
+XIMText.length	0
+XIMText.feedback	4
+XIMText.encoding_is_wchar	8
+XIMText.string	12
+XIMText	16
+XGraphicsExposeEvent.type	0
+XGraphicsExposeEvent.serial	4
+XGraphicsExposeEvent.send_event	8
+XGraphicsExposeEvent.display	12
+XGraphicsExposeEvent.drawable	16
+XGraphicsExposeEvent.x	20
+XGraphicsExposeEvent.y	24
+XGraphicsExposeEvent.width	28
+XGraphicsExposeEvent.height	32
+XGraphicsExposeEvent.count	36
+XGraphicsExposeEvent.major_code	40
+XGraphicsExposeEvent.minor_code	44
+XGraphicsExposeEvent	48
+XEvent.type	0
+XEvent.xany	0
+XEvent.xkey	0
+XEvent.xbutton	0
+XEvent.xmotion	0
+XEvent.xcrossing	0
+XEvent.xfocus	0
+XEvent.xexpose	0
+XEvent.xgraphicsexpose	0
+XEvent.xnoexpose	0
+XEvent.xvisibility	0
+XEvent.xcreatewindow	0
+XEvent.xdestroywindow	0
+XEvent.xunmap	0
+XEvent.xmap	0
+XEvent.xmaprequest	0
+XEvent.xreparent	0
+XEvent.xconfigure	0
+XEvent.xgravity	0
+XEvent.xresizerequest	0
+XEvent.xconfigurerequest	0
+XEvent.xcirculate	0
+XEvent.xcirculaterequest	0
+XEvent.xproperty	0
+XEvent.xselectionclear	0
+XEvent.xselectionrequest	0
+XEvent.xselection	0
+XEvent.xcolormap	0
+XEvent.xclient	0
+XEvent.xmapping	0
+XEvent.xerror	0
+XEvent.xkeymap	0
+XEvent.pad	0
+XEvent	96
+XRenderDirectFormat.red	0
+XRenderDirectFormat.redMask	2
+XRenderDirectFormat.green	4
+XRenderDirectFormat.greenMask	6
+XRenderDirectFormat.blue	8
+XRenderDirectFormat.blueMask	10
+XRenderDirectFormat.alpha	12
+XRenderDirectFormat.alphaMask	14
+XRenderDirectFormat	16
+ColorData.awt_Colors	0
+ColorData.awt_numICMcolors	4
+ColorData.awt_icmLUT	8
+ColorData.awt_icmLUT2Colors	12
+ColorData.img_grays	16
+ColorData.img_clr_tbl	20
+ColorData.img_oda_red	24
+ColorData.img_oda_green	28
+ColorData.img_oda_blue	32
+ColorData.pGrayInverseLutData	36
+ColorData.screendata	40
+ColorData	44
+XFontStruct.ext_data	0
+XFontStruct.fid	4
+XFontStruct.direction	8
+XFontStruct.min_char_or_byte2	12
+XFontStruct.max_char_or_byte2	16
+XFontStruct.min_byte1	20
+XFontStruct.max_byte1	24
+XFontStruct.all_chars_exist	28
+XFontStruct.n_properties	36
+XFontStruct.properties	40
+XFontStruct.min_bounds	44
+XFontStruct.max_bounds	56
+XFontStruct.per_char	68
+XFontStruct.ascent	72
+XFontStruct.descent	76
+XFontStruct	80
+XExtCodes.extension	0
+XExtCodes.major_opcode	4
+XExtCodes.first_event	8
+XExtCodes.first_error	12
+XExtCodes	16
+XFontSetExtents.max_ink_extent	0
+XFontSetExtents.max_logical_extent	8
+XFontSetExtents	16
+XSelectionEvent.type	0
+XSelectionEvent.serial	4
+XSelectionEvent.send_event	8
+XSelectionEvent.display	12
+XSelectionEvent.requestor	16
+XSelectionEvent.selection	20
+XSelectionEvent.target	24
+XSelectionEvent.property	28
+XSelectionEvent.time	32
+XSelectionEvent	36
+XArc.x	0
+XArc.y	2
+XArc.width	4
+XArc.height	6
+XArc.angle1	8
+XArc.angle2	10
+XArc	12
+XErrorEvent.type	0
+XErrorEvent.display	4
+XErrorEvent.resourceid	8
+XErrorEvent.serial	12
+XErrorEvent.error_code	16
+XErrorEvent.request_code	17
+XErrorEvent.minor_code	18
+XErrorEvent	20
+XConfigureRequestEvent.type	0
+XConfigureRequestEvent.serial	4
+XConfigureRequestEvent.send_event	8
+XConfigureRequestEvent.display	12
+XConfigureRequestEvent.parent	16
+XConfigureRequestEvent.window	20
+XConfigureRequestEvent.x	24
+XConfigureRequestEvent.y	28
+XConfigureRequestEvent.width	32
+XConfigureRequestEvent.height	36
+XConfigureRequestEvent.border_width	40
+XConfigureRequestEvent.above	44
+XConfigureRequestEvent.detail	48
+XConfigureRequestEvent.value_mask	52
+XConfigureRequestEvent	56
+ScreenFormat.ext_data	0
+ScreenFormat.depth	4
+ScreenFormat.bits_per_pixel	8
+ScreenFormat.scanline_pad	12
+ScreenFormat	16
+XButtonEvent.type	0
+XButtonEvent.serial	4
+XButtonEvent.send_event	8
+XButtonEvent.display	12
+XButtonEvent.window	16
+XButtonEvent.root	20
+XButtonEvent.subwindow	24
+XButtonEvent.time	28
+XButtonEvent.x	32
+XButtonEvent.y	36
+XButtonEvent.x_root	40
+XButtonEvent.y_root	44
+XButtonEvent.state	48
+XButtonEvent.button	52
+XButtonEvent.same_screen	56
+XButtonEvent	60
+XFontProp.name	0
+XFontProp.card32	4
+XFontProp	8
+XIMValuesList.count_values	0
+XIMValuesList.supported_values	4
+XIMValuesList	8
+XKeymapEvent.type	0
+XKeymapEvent.serial	4
+XKeymapEvent.send_event	8
+XKeymapEvent.display	12
+XKeymapEvent.window	16
+XKeymapEvent.key_vector	20
+XKeymapEvent	52
+XTextItem16.chars	0
+XTextItem16.nchars	4
+XTextItem16.delta	8
+XTextItem16.font	12
+XTextItem16	16
+XIMPreeditDrawCallbackStruct.caret	0
+XIMPreeditDrawCallbackStruct.chg_first	4
+XIMPreeditDrawCallbackStruct.chg_length	8
+XIMPreeditDrawCallbackStruct.text	12
+XIMPreeditDrawCallbackStruct	16
+XVisualInfo.visual	0
+XVisualInfo.visualid	4
+XVisualInfo.screen	8
+XVisualInfo.depth	12
+XVisualInfo.class	16
+XVisualInfo.red_mask	20
+XVisualInfo.green_mask	24
+XVisualInfo.blue_mask	28
+XVisualInfo.colormap_size	32
+XVisualInfo.bits_per_rgb	36
+XVisualInfo	40
+XkbControlsNotifyEvent.type	0
+XkbControlsNotifyEvent.serial	4
+XkbControlsNotifyEvent.send_event	8
+XkbControlsNotifyEvent.display	12
+XkbControlsNotifyEvent.time	16
+XkbControlsNotifyEvent.xkb_type	20
+XkbControlsNotifyEvent.device	24
+XkbControlsNotifyEvent.changed_ctrls	28
+XkbControlsNotifyEvent.enabled_ctrls	32
+XkbControlsNotifyEvent.enabled_ctrl_changes	36
+XkbControlsNotifyEvent.num_groups	40
+XkbControlsNotifyEvent.keycode	44
+XkbControlsNotifyEvent.event_type	45
+XkbControlsNotifyEvent.req_major	46
+XkbControlsNotifyEvent.req_minor	47
+XkbControlsNotifyEvent	48
+PropMwmHints.flags	0
+PropMwmHints.functions	4
+PropMwmHints.decorations	8
+PropMwmHints.inputMode	12
+PropMwmHints.status	16
+PropMwmHints	20
+XClientMessageEvent.type	0
+XClientMessageEvent.serial	4
+XClientMessageEvent.send_event	8
+XClientMessageEvent.display	12
+XClientMessageEvent.window	16
+XClientMessageEvent.message_type	20
+XClientMessageEvent.format	24
+XClientMessageEvent.data	28
+XClientMessageEvent	48
+XAnyEvent.type	0
+XAnyEvent.serial	4
+XAnyEvent.send_event	8
+XAnyEvent.display	12
+XAnyEvent.window	16
+XAnyEvent	20
+XkbIndicatorNotifyEvent.type	0
+XkbIndicatorNotifyEvent.serial	4
+XkbIndicatorNotifyEvent.send_event	8
+XkbIndicatorNotifyEvent.display	12
+XkbIndicatorNotifyEvent.time	16
+XkbIndicatorNotifyEvent.xkb_type	20
+XkbIndicatorNotifyEvent.device	24
+XkbIndicatorNotifyEvent.changed	28
+XkbIndicatorNotifyEvent.state	32
+XkbIndicatorNotifyEvent	36
+XIMPreeditStateNotifyCallbackStruct.state	0
+XIMPreeditStateNotifyCallbackStruct	4
+XkbAnyEvent.type	0
+XkbAnyEvent.serial	4
+XkbAnyEvent.send_event	8
+XkbAnyEvent.display	12
+XkbAnyEvent.time	16
+XkbAnyEvent.xkb_type	20
+XkbAnyEvent.device	24
+XkbAnyEvent	28
+XMotionEvent.type	0
+XMotionEvent.serial	4
+XMotionEvent.send_event	8
+XMotionEvent.display	12
+XMotionEvent.window	16
+XMotionEvent.root	20
+XMotionEvent.subwindow	24
+XMotionEvent.time	28
+XMotionEvent.x	32
+XMotionEvent.y	36
+XMotionEvent.x_root	40
+XMotionEvent.y_root	44
+XMotionEvent.state	48
+XMotionEvent.is_hint	52
+XMotionEvent.same_screen	56
+XMotionEvent	60
+XIMHotKeyTriggers.num_hot_key	0
+XIMHotKeyTriggers.key	4
+XIMHotKeyTriggers	8
+XIMStyles.count_styles	0
+XIMStyles.supported_styles	4
+XIMStyles	8
+XkbExtensionDeviceNotifyEvent.type	0
+XkbExtensionDeviceNotifyEvent.serial	4
+XkbExtensionDeviceNotifyEvent.send_event	8
+XkbExtensionDeviceNotifyEvent.display	12
+XkbExtensionDeviceNotifyEvent.time	16
+XkbExtensionDeviceNotifyEvent.xkb_type	20
+XkbExtensionDeviceNotifyEvent.device	24
+XkbExtensionDeviceNotifyEvent.reason	28
+XkbExtensionDeviceNotifyEvent.supported	32
+XkbExtensionDeviceNotifyEvent.unsupported	36
+XkbExtensionDeviceNotifyEvent.first_btn	40
+XkbExtensionDeviceNotifyEvent.num_btns	44
+XkbExtensionDeviceNotifyEvent.leds_defined	48
+XkbExtensionDeviceNotifyEvent.led_state	52
+XkbExtensionDeviceNotifyEvent.led_class	56
+XkbExtensionDeviceNotifyEvent.led_id	60
+XkbExtensionDeviceNotifyEvent	64
+XwcTextItem.chars	0
+XwcTextItem.nchars	4
+XwcTextItem.delta	8
+XwcTextItem.font_set	12
+XwcTextItem	16
+XClassHint.res_name	0
+XClassHint.res_class	4
+XClassHint	8
+XChar2b.byte1	0
+XChar2b.byte2	1
+XChar2b	2
+XSetWindowAttributes.background_pixmap	0
+XSetWindowAttributes.background_pixel	4
+XSetWindowAttributes.border_pixmap	8
+XSetWindowAttributes.border_pixel	12
+XSetWindowAttributes.bit_gravity	16
+XSetWindowAttributes.win_gravity	20
+XSetWindowAttributes.backing_store	24
+XSetWindowAttributes.backing_planes	28
+XSetWindowAttributes.backing_pixel	32
+XSetWindowAttributes.save_under	36
+XSetWindowAttributes.event_mask	40
+XSetWindowAttributes.do_not_propagate_mask	44
+XSetWindowAttributes.override_redirect	48
+XSetWindowAttributes.colormap	52
+XSetWindowAttributes.cursor	56
+XSetWindowAttributes	60
+XRenderPictFormat.id	0
+XRenderPictFormat.type	4
+XRenderPictFormat.depth	8
+XRenderPictFormat.direct	12
+XRenderPictFormat.colormap	28
+XRenderPictFormat	32
+XReparentEvent.type	0
+XReparentEvent.serial	4
+XReparentEvent.send_event	8
+XReparentEvent.display	12
+XReparentEvent.event	16
+XReparentEvent.window	20
+XReparentEvent.parent	24
+XReparentEvent.x	28
+XReparentEvent.y	32
+XReparentEvent.override_redirect	36
+XReparentEvent	40
+XCirculateRequestEvent.type	0
+XCirculateRequestEvent.serial	4
+XCirculateRequestEvent.send_event	8
+XCirculateRequestEvent.display	12
+XCirculateRequestEvent.parent	16
+XCirculateRequestEvent.window	20
+XCirculateRequestEvent.place	24
+XCirculateRequestEvent	28
+XImage.width	0
+XImage.height	4
+XImage.xoffset	8
+XImage.format	12
+XImage.data	16
+XImage.byte_order	20
+XImage.bitmap_unit	24
+XImage.bitmap_bit_order	28
+XImage.bitmap_pad	32
+XImage.depth	36
+XImage.bytes_per_line	40
+XImage.bits_per_pixel	44
+XImage.red_mask	48
+XImage.green_mask	52
+XImage.blue_mask	56
+XImage.obdata	60
+XImage.f.create_image	64
+XImage.f.destroy_image	68
+XImage.f.get_pixel	72
+XImage.f.put_pixel	76
+XImage.f.sub_image	80
+XImage.f.add_pixel	84
+XImage	88
+XKeyEvent.type	0
+XKeyEvent.serial	4
+XKeyEvent.send_event	8
+XKeyEvent.display	12
+XKeyEvent.window	16
+XKeyEvent.root	20
+XKeyEvent.subwindow	24
+XKeyEvent.time	28
+XKeyEvent.x	32
+XKeyEvent.y	36
+XKeyEvent.x_root	40
+XKeyEvent.y_root	44
+XKeyEvent.state	48
+XKeyEvent.keycode	52
+XKeyEvent.same_screen	56
+XKeyEvent	60
+XkbActionMessageEvent.type	0
+XkbActionMessageEvent.serial	4
+XkbActionMessageEvent.send_event	8
+XkbActionMessageEvent.display	12
+XkbActionMessageEvent.time	16
+XkbActionMessageEvent.xkb_type	20
+XkbActionMessageEvent.device	24
+XkbActionMessageEvent.keycode	28
+XkbActionMessageEvent.press	32
+XkbActionMessageEvent.key_event_follows	36
+XkbActionMessageEvent.group	40
+XkbActionMessageEvent.mods	44
+XkbActionMessageEvent.message	48
+XkbActionMessageEvent	56
+XdbeSwapInfo.swap_window	0
+XdbeSwapInfo.swap_action	4
+XdbeSwapInfo	8
+XTextItem.chars	0
+XTextItem.nchars	4
+XTextItem.delta	8
+XTextItem.font	12
+XTextItem	16
+XModifierKeymap.max_keypermod	0
+XModifierKeymap.modifiermap	4
+XModifierKeymap	8
+XCharStruct.lbearing	0
+XCharStruct.rbearing	2
+XCharStruct.width	4
+XCharStruct.ascent	6
+XCharStruct.descent	8
+XCharStruct.attributes	10
+XCharStruct	12
+XGravityEvent.type	0
+XGravityEvent.serial	4
+XGravityEvent.send_event	8
+XGravityEvent.display	12
+XGravityEvent.event	16
+XGravityEvent.window	20
+XGravityEvent.x	24
+XGravityEvent.y	28
+XGravityEvent	32
+Visual.ext_data	0
+Visual.visualid	4
+Visual.class	8
+Visual.red_mask	12
+Visual.green_mask	16
+Visual.blue_mask	20
+Visual.bits_per_rgb	24
+Visual.map_entries	28
+Visual	32
+XOMOrientation.num_orientation	0
+XOMOrientation.orientation	4
+XOMOrientation	8
+XkbAccessXNotifyEvent.type	0
+XkbAccessXNotifyEvent.serial	4
+XkbAccessXNotifyEvent.send_event	8
+XkbAccessXNotifyEvent.display	12
+XkbAccessXNotifyEvent.time	16
+XkbAccessXNotifyEvent.xkb_type	20
+XkbAccessXNotifyEvent.device	24
+XkbAccessXNotifyEvent.detail	28
+XkbAccessXNotifyEvent.keycode	32
+XkbAccessXNotifyEvent.sk_delay	36
+XkbAccessXNotifyEvent.debounce_delay	40
+XkbAccessXNotifyEvent	44
+XWindowAttributes.x	0
+XWindowAttributes.y	4
+XWindowAttributes.width	8
+XWindowAttributes.height	12
+XWindowAttributes.border_width	16
+XWindowAttributes.depth	20
+XWindowAttributes.visual	24
+XWindowAttributes.root	28
+XWindowAttributes.class	32
+XWindowAttributes.bit_gravity	36
+XWindowAttributes.win_gravity	40
+XWindowAttributes.backing_store	44
+XWindowAttributes.backing_planes	48
+XWindowAttributes.backing_pixel	52
+XWindowAttributes.save_under	56
+XWindowAttributes.colormap	60
+XWindowAttributes.map_installed	64
+XWindowAttributes.map_state	68
+XWindowAttributes.all_event_masks	72
+XWindowAttributes.your_event_mask	76
+XWindowAttributes.do_not_propagate_mask	80
+XWindowAttributes.override_redirect	84
+XWindowAttributes.screen	88
+XWindowAttributes	92
+XmbTextItem.chars	0
+XmbTextItem.nchars	4
+XmbTextItem.delta	8
+XmbTextItem.font_set	12
+XmbTextItem	16
+XMappingEvent.type	0
+XMappingEvent.serial	4
+XMappingEvent.send_event	8
+XMappingEvent.display	12
+XMappingEvent.window	16
+XMappingEvent.request	20
+XMappingEvent.first_keycode	24
+XMappingEvent.count	28
+XMappingEvent	32
+XSizeHints.flags	0
+XSizeHints.x	4
+XSizeHints.y	8
+XSizeHints.width	12
+XSizeHints.height	16
+XSizeHints.min_width	20
+XSizeHints.min_height	24
+XSizeHints.max_width	28
+XSizeHints.max_height	32
+XSizeHints.width_inc	36
+XSizeHints.height_inc	40
+XSizeHints.min_aspect.x	44
+XSizeHints.min_aspect.y	48
+XSizeHints.max_aspect.x	52
+XSizeHints.max_aspect.y	56
+XSizeHints.base_width	60
+XSizeHints.base_height	64
+XSizeHints.win_gravity	68
+XSizeHints	72
+XUnmapEvent.type	0
+XUnmapEvent.serial	4
+XUnmapEvent.send_event	8
+XUnmapEvent.display	12
+XUnmapEvent.event	16
+XUnmapEvent.window	20
+XUnmapEvent.from_configure	24
+XUnmapEvent	28
+awtImageData.Depth	0
+awtImageData.wsImageFormat	4
+awtImageData.clrdata	16
+awtImageData.convert	48
+awtImageData	304
+XkbStateNotifyEvent.type	0
+XkbStateNotifyEvent.serial	4
+XkbStateNotifyEvent.send_event	8
+XkbStateNotifyEvent.display	12
+XkbStateNotifyEvent.time	16
+XkbStateNotifyEvent.xkb_type	20
+XkbStateNotifyEvent.device	24
+XkbStateNotifyEvent.changed	28
+XkbStateNotifyEvent.group	32
+XkbStateNotifyEvent.base_group	36
+XkbStateNotifyEvent.latched_group	40
+XkbStateNotifyEvent.locked_group	44
+XkbStateNotifyEvent.mods	48
+XkbStateNotifyEvent.base_mods	52
+XkbStateNotifyEvent.latched_mods	56
+XkbStateNotifyEvent.locked_mods	60
+XkbStateNotifyEvent.compat_state	64
+XkbStateNotifyEvent.grab_mods	68
+XkbStateNotifyEvent.compat_grab_mods	69
+XkbStateNotifyEvent.lookup_mods	70
+XkbStateNotifyEvent.compat_lookup_mods	71
+XkbStateNotifyEvent.ptr_buttons	72
+XkbStateNotifyEvent.keycode	76
+XkbStateNotifyEvent.event_type	77
+XkbStateNotifyEvent.req_major	78
+XkbStateNotifyEvent.req_minor	79
+XkbStateNotifyEvent	80
+XExposeEvent.type	0
+XExposeEvent.serial	4
+XExposeEvent.send_event	8
+XExposeEvent.display	12
+XExposeEvent.window	16
+XExposeEvent.x	20
+XExposeEvent.y	24
+XExposeEvent.width	28
+XExposeEvent.height	32
+XExposeEvent.count	36
+XExposeEvent	40
+XkbMapNotifyEvent.type	0
+XkbMapNotifyEvent.serial	4
+XkbMapNotifyEvent.send_event	8
+XkbMapNotifyEvent.display	12
+XkbMapNotifyEvent.time	16
+XkbMapNotifyEvent.xkb_type	20
+XkbMapNotifyEvent.device	24
+XkbMapNotifyEvent.changed	28
+XkbMapNotifyEvent.flags	32
+XkbMapNotifyEvent.first_type	36
+XkbMapNotifyEvent.num_types	40
+XkbMapNotifyEvent.min_key_code	44
+XkbMapNotifyEvent.max_key_code	45
+XkbMapNotifyEvent.first_key_sym	46
+XkbMapNotifyEvent.first_key_act	47
+XkbMapNotifyEvent.first_key_behavior	48
+XkbMapNotifyEvent.first_key_explicit	49
+XkbMapNotifyEvent.first_modmap_key	50
+XkbMapNotifyEvent.first_vmodmap_key	51
+XkbMapNotifyEvent.num_key_syms	52
+XkbMapNotifyEvent.num_key_acts	56
+XkbMapNotifyEvent.num_key_behaviors	60
+XkbMapNotifyEvent.num_key_explicit	64
+XkbMapNotifyEvent.num_modmap_keys	68
+XkbMapNotifyEvent.num_vmodmap_keys	72
+XkbMapNotifyEvent.vmods	76
+XkbMapNotifyEvent	80
+XGCValues.function	0
+XGCValues.plane_mask	4
+XGCValues.foreground	8
+XGCValues.background	12
+XGCValues.line_width	16
+XGCValues.line_style	20
+XGCValues.cap_style	24
+XGCValues.join_style	28
+XGCValues.fill_style	32
+XGCValues.fill_rule	36
+XGCValues.arc_mode	40
+XGCValues.tile	44
+XGCValues.stipple	48
+XGCValues.ts_x_origin	52
+XGCValues.ts_y_origin	56
+XGCValues.font	60
+XGCValues.subwindow_mode	64
+XGCValues.graphics_exposures	68
+XGCValues.clip_x_origin	72
+XGCValues.clip_y_origin	76
+XGCValues.clip_mask	80
+XGCValues.dash_offset	84
+XGCValues.dashes	88
+XGCValues	92
+XFocusChangeEvent.type	0
+XFocusChangeEvent.serial	4
+XFocusChangeEvent.send_event	8
+XFocusChangeEvent.display	12
+XFocusChangeEvent.window	16
+XFocusChangeEvent.mode	20
+XFocusChangeEvent.detail	24
+XFocusChangeEvent	28
+XPixmapFormatValues.depth	0
+XPixmapFormatValues.bits_per_pixel	4
+XPixmapFormatValues.scanline_pad	8
+XPixmapFormatValues	12
+XMapEvent.type	0
+XMapEvent.serial	4
+XMapEvent.send_event	8
+XMapEvent.display	12
+XMapEvent.event	16
+XMapEvent.window	20
+XMapEvent.override_redirect	24
+XMapEvent	28
+XkbBellNotifyEvent.type	0
+XkbBellNotifyEvent.serial	4
+XkbBellNotifyEvent.send_event	8
+XkbBellNotifyEvent.display	12
+XkbBellNotifyEvent.time	16
+XkbBellNotifyEvent.xkb_type	20
+XkbBellNotifyEvent.device	24
+XkbBellNotifyEvent.percent	28
+XkbBellNotifyEvent.pitch	32
+XkbBellNotifyEvent.duration	36
+XkbBellNotifyEvent.bell_class	40
+XkbBellNotifyEvent.bell_id	44
+XkbBellNotifyEvent.name	48
+XkbBellNotifyEvent.window	52
+XkbBellNotifyEvent.event_only	56
+XkbBellNotifyEvent	60
+XIMStringConversionText.length	0
+XIMStringConversionText.feedback	4
+XIMStringConversionText.encoding_is_wchar	8
+XIMStringConversionText.string	12
+XIMStringConversionText	16
+XKeyboardState.key_click_percent	0
+XKeyboardState.bell_percent	4
+XKeyboardState.bell_pitch	8
+XKeyboardState.bell_duration	12
+XKeyboardState.led_mask	16
+XKeyboardState.global_auto_repeat	20
+XKeyboardState.auto_repeats	24
+XKeyboardState	56
+XkbEvent.type	0
+XkbEvent.any	0
+XkbEvent.new_kbd	0
+XkbEvent.map	0
+XkbEvent.state	0
+XkbEvent.ctrls	0
+XkbEvent.indicators	0
+XkbEvent.names	0
+XkbEvent.compat	0
+XkbEvent.bell	0
+XkbEvent.message	0
+XkbEvent.accessx	0
+XkbEvent.device	0
+XkbEvent.core	0
+XkbEvent	96
+XPoint.x	0
+XPoint.y	2
+XPoint	4
+XSegment.x1	0
+XSegment.y1	2
+XSegment.x2	4
+XSegment.y2	6
+XSegment	8
+XIconSize.min_width	0
+XIconSize.min_height	4
+XIconSize.max_width	8
+XIconSize.max_height	12
+XIconSize.width_inc	16
+XIconSize.height_inc	20
+XIconSize	24
+XIMCallback.client_data	0
+XIMCallback.callback	4
+XIMCallback	8
+XConfigureEvent.type	0
+XConfigureEvent.serial	4
+XConfigureEvent.send_event	8
+XConfigureEvent.display	12
+XConfigureEvent.event	16
+XConfigureEvent.window	20
+XConfigureEvent.x	24
+XConfigureEvent.y	28
+XConfigureEvent.width	32
+XConfigureEvent.height	36
+XConfigureEvent.border_width	40
+XConfigureEvent.above	44
+XConfigureEvent.override_redirect	48
+XConfigureEvent	52
+XRectangle.x	0
+XRectangle.y	2
+XRectangle.width	4
+XRectangle.height	6
+XRectangle	8
+XkbNamesNotifyEvent.type	0
+XkbNamesNotifyEvent.serial	4
+XkbNamesNotifyEvent.send_event	8
+XkbNamesNotifyEvent.display	12
+XkbNamesNotifyEvent.time	16
+XkbNamesNotifyEvent.xkb_type	20
+XkbNamesNotifyEvent.device	24
+XkbNamesNotifyEvent.changed	28
+XkbNamesNotifyEvent.first_type	32
+XkbNamesNotifyEvent.num_types	36
+XkbNamesNotifyEvent.first_lvl	40
+XkbNamesNotifyEvent.num_lvls	44
+XkbNamesNotifyEvent.num_aliases	48
+XkbNamesNotifyEvent.num_radio_groups	52
+XkbNamesNotifyEvent.changed_vmods	56
+XkbNamesNotifyEvent.changed_groups	60
+XkbNamesNotifyEvent.changed_indicators	64
+XkbNamesNotifyEvent.first_key	68
+XkbNamesNotifyEvent.num_keys	72
+XkbNamesNotifyEvent	76
+XCreateWindowEvent.type	0
+XCreateWindowEvent.serial	4
+XCreateWindowEvent.send_event	8
+XCreateWindowEvent.display	12
+XCreateWindowEvent.parent	16
+XCreateWindowEvent.window	20
+XCreateWindowEvent.x	24
+XCreateWindowEvent.y	28
+XCreateWindowEvent.width	32
+XCreateWindowEvent.height	36
+XCreateWindowEvent.border_width	40
+XCreateWindowEvent.override_redirect	44
+XCreateWindowEvent	48
+XVisibilityEvent.type	0
+XVisibilityEvent.serial	4
+XVisibilityEvent.send_event	8
+XVisibilityEvent.display	12
+XVisibilityEvent.window	16
+XVisibilityEvent.state	20
+XVisibilityEvent	24
+XWMHints.flags	0
+XWMHints.initial_state	8
+XWMHints.icon_pixmap	12
+XWMHints.icon_window	16
+XWMHints.icon_x	20
+XWMHints.icon_y	24
+XWMHints.icon_mask	28
+XWMHints.input	4
+XWMHints.window_group	32
+XWMHints	36
+XCrossingEvent.type	0
+XCrossingEvent.serial	4
+XCrossingEvent.send_event	8
+XCrossingEvent.display	12
+XCrossingEvent.window	16
+XCrossingEvent.root	20
+XCrossingEvent.subwindow	24
+XCrossingEvent.time	28
+XCrossingEvent.x	32
+XCrossingEvent.y	36
+XCrossingEvent.x_root	40
+XCrossingEvent.y_root	44
+XCrossingEvent.mode	48
+XCrossingEvent.detail	52
+XCrossingEvent.same_screen	56
+XCrossingEvent.focus	60
+XCrossingEvent.state	64
+XCrossingEvent	68
+XSelectionRequestEvent.type	0
+XSelectionRequestEvent.serial	4
+XSelectionRequestEvent.send_event	8
+XSelectionRequestEvent.display	12
+XSelectionRequestEvent.owner	16
+XSelectionRequestEvent.requestor	20
+XSelectionRequestEvent.selection	24
+XSelectionRequestEvent.target	28
+XSelectionRequestEvent.property	32
+XSelectionRequestEvent.time	36
+XSelectionRequestEvent	40
+XNoExposeEvent.type	0
+XNoExposeEvent.serial	4
+XNoExposeEvent.send_event	8
+XNoExposeEvent.display	12
+XNoExposeEvent.drawable	16
+XNoExposeEvent.major_code	20
+XNoExposeEvent.minor_code	24
+XNoExposeEvent	28
+XHostAddress.family	0
+XHostAddress.length	4
+XHostAddress.address	8
+XHostAddress	12
+XColormapEvent.type	0
+XColormapEvent.serial	4
+XColormapEvent.send_event	8
+XColormapEvent.display	12
+XColormapEvent.window	16
+XColormapEvent.colormap	20
+XColormapEvent.new	24
+XColormapEvent.state	28
+XColormapEvent	32
+ColorEntry.r	0
+ColorEntry.g	1
+ColorEntry.b	2
+ColorEntry.flags	3
+ColorEntry	4
+XResizeRequestEvent.type	0
+XResizeRequestEvent.serial	4
+XResizeRequestEvent.send_event	8
+XResizeRequestEvent.display	12
+XResizeRequestEvent.window	16
+XResizeRequestEvent.width	20
+XResizeRequestEvent.height	24
+XResizeRequestEvent	28
+Depth.depth	0
+Depth.nvisuals	4
+Depth.visuals	8
+Depth	12
+XPropertyEvent.type	0
+XPropertyEvent.serial	4
+XPropertyEvent.send_event	8
+XPropertyEvent.display	12
+XPropertyEvent.window	16
+XPropertyEvent.atom	20
+XPropertyEvent.time	24
+XPropertyEvent.state	28
+XPropertyEvent	32
+XDestroyWindowEvent.type	0
+XDestroyWindowEvent.serial	4
+XDestroyWindowEvent.send_event	8
+XDestroyWindowEvent.display	12
+XDestroyWindowEvent.event	16
+XDestroyWindowEvent.window	20
+XDestroyWindowEvent	24
+XStandardColormap.colormap	0
+XStandardColormap.red_max	4
+XStandardColormap.red_mult	8
+XStandardColormap.green_max	12
+XStandardColormap.green_mult	16
+XStandardColormap.blue_max	20
+XStandardColormap.blue_mult	24
+XStandardColormap.base_pixel	28
+XStandardColormap.visualid	32
+XStandardColormap.killid	36
+XStandardColormap	40
+XComposeStatus.compose_ptr	0
+XComposeStatus.chars_matched	4
+XComposeStatus	8
+AwtGraphicsConfigData.awt_depth	0
+AwtGraphicsConfigData.awt_cmap	4
+AwtGraphicsConfigData.awt_visInfo	8
+AwtGraphicsConfigData.awt_num_colors	48
+AwtGraphicsConfigData.awtImage	52
+AwtGraphicsConfigData.AwtColorMatch	56
+AwtGraphicsConfigData.monoImage	60
+AwtGraphicsConfigData.monoPixmap	64
+AwtGraphicsConfigData.monoPixmapWidth	68
+AwtGraphicsConfigData.monoPixmapHeight	72
+AwtGraphicsConfigData.monoPixmapGC	76
+AwtGraphicsConfigData.pixelStride	80
+AwtGraphicsConfigData.color_data	84
+AwtGraphicsConfigData.glxInfo	88
+AwtGraphicsConfigData.isTranslucencySupported	92
+AwtGraphicsConfigData.renderPictFormat	96
+AwtGraphicsConfigData	128
+XColor.pixel	0
+XColor.red	4
+XColor.green	6
+XColor.blue	8
+XColor.flags	10
+XColor.pad	11
+XColor	12
+XTextProperty.value	0
+XTextProperty.encoding	4
+XTextProperty.format	8
+XTextProperty.nitems	12
+XTextProperty	16
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/sizes.64	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,1016 @@
+long	8
+int	4
+short	2
+ptr	8
+Bool	4
+Atom	8
+Window	8
+XExtData.number	0
+XExtData.next	8
+XExtData.free_private	16
+XExtData.private_data	24
+XExtData	32
+XIMStringConversionCallbackStruct.position	0
+XIMStringConversionCallbackStruct.direction	4
+XIMStringConversionCallbackStruct.operation	8
+XIMStringConversionCallbackStruct.factor	10
+XIMStringConversionCallbackStruct.text	16
+XIMStringConversionCallbackStruct	24
+XkbNewKeyboardNotifyEvent.type	0
+XkbNewKeyboardNotifyEvent.serial	8
+XkbNewKeyboardNotifyEvent.send_event	16
+XkbNewKeyboardNotifyEvent.display	24
+XkbNewKeyboardNotifyEvent.time	32
+XkbNewKeyboardNotifyEvent.xkb_type	40
+XkbNewKeyboardNotifyEvent.device	44
+XkbNewKeyboardNotifyEvent.old_device	48
+XkbNewKeyboardNotifyEvent.min_key_code	52
+XkbNewKeyboardNotifyEvent.max_key_code	56
+XkbNewKeyboardNotifyEvent.old_min_key_code	60
+XkbNewKeyboardNotifyEvent.old_max_key_code	64
+XkbNewKeyboardNotifyEvent.changed	68
+XkbNewKeyboardNotifyEvent.req_major	72
+XkbNewKeyboardNotifyEvent.req_minor	73
+XkbNewKeyboardNotifyEvent	80
+XTimeCoord.time	0
+XTimeCoord.x	8
+XTimeCoord.y	10
+XTimeCoord	16
+XkbCompatMapNotifyEvent.type	0
+XkbCompatMapNotifyEvent.serial	8
+XkbCompatMapNotifyEvent.send_event	16
+XkbCompatMapNotifyEvent.display	24
+XkbCompatMapNotifyEvent.time	32
+XkbCompatMapNotifyEvent.xkb_type	40
+XkbCompatMapNotifyEvent.device	44
+XkbCompatMapNotifyEvent.changed_groups	48
+XkbCompatMapNotifyEvent.first_si	52
+XkbCompatMapNotifyEvent.num_si	56
+XkbCompatMapNotifyEvent.num_total_si	60
+XkbCompatMapNotifyEvent	64
+XIMStatusDrawCallbackStruct.type	0
+XIMStatusDrawCallbackStruct.data	8
+XIMStatusDrawCallbackStruct	16
+XKeyboardControl.key_click_percent	0
+XKeyboardControl.bell_percent	4
+XKeyboardControl.bell_pitch	8
+XKeyboardControl.bell_duration	12
+XKeyboardControl.led	16
+XKeyboardControl.led_mode	20
+XKeyboardControl.key	24
+XKeyboardControl.auto_repeat_mode	28
+XKeyboardControl	32
+XSelectionClearEvent.type	0
+XSelectionClearEvent.serial	8
+XSelectionClearEvent.send_event	16
+XSelectionClearEvent.display	24
+XSelectionClearEvent.window	32
+XSelectionClearEvent.selection	40
+XSelectionClearEvent.time	48
+XSelectionClearEvent	56
+XWindowChanges.x	0
+XWindowChanges.y	4
+XWindowChanges.width	8
+XWindowChanges.height	12
+XWindowChanges.border_width	16
+XWindowChanges.sibling	24
+XWindowChanges.stack_mode	32
+XWindowChanges	40
+XIMPreeditCaretCallbackStruct.position	0
+XIMPreeditCaretCallbackStruct.direction	4
+XIMPreeditCaretCallbackStruct.style	8
+XIMPreeditCaretCallbackStruct	12
+XOMCharSetList.charset_count	0
+XOMCharSetList.charset_list	8
+XOMCharSetList	16
+XOMFontInfo.num_font	0
+XOMFontInfo.font_struct_list	8
+XOMFontInfo.font_name_list	16
+XOMFontInfo	24
+AwtScreenData.numConfigs	0
+AwtScreenData.root	8
+AwtScreenData.whitepixel	16
+AwtScreenData.blackpixel	24
+AwtScreenData.defaultConfig	32
+AwtScreenData.configs	40
+AwtScreenData	48
+XIMHotKeyTrigger.keysym	0
+XIMHotKeyTrigger.modifier	8
+XIMHotKeyTrigger.modifier_mask	12
+XIMHotKeyTrigger	16
+XCirculateEvent.type	0
+XCirculateEvent.serial	8
+XCirculateEvent.send_event	16
+XCirculateEvent.display	24
+XCirculateEvent.event	32
+XCirculateEvent.window	40
+XCirculateEvent.place	48
+XCirculateEvent	56
+Screen.ext_data	0
+Screen.display	8
+Screen.root	16
+Screen.width	24
+Screen.height	28
+Screen.mwidth	32
+Screen.mheight	36
+Screen.ndepths	40
+Screen.depths	48
+Screen.root_depth	56
+Screen.root_visual	64
+Screen.default_gc	72
+Screen.cmap	80
+Screen.white_pixel	88
+Screen.black_pixel	96
+Screen.max_maps	104
+Screen.min_maps	108
+Screen.backing_store	112
+Screen.save_unders	116
+Screen.root_input_mask	120
+Screen	128
+XMapRequestEvent.type	0
+XMapRequestEvent.serial	8
+XMapRequestEvent.send_event	16
+XMapRequestEvent.display	24
+XMapRequestEvent.parent	32
+XMapRequestEvent.window	40
+XMapRequestEvent	48
+XIMText.length	0
+XIMText.feedback	8
+XIMText.encoding_is_wchar	16
+XIMText.string	24
+XIMText	32
+XGraphicsExposeEvent.type	0
+XGraphicsExposeEvent.serial	8
+XGraphicsExposeEvent.send_event	16
+XGraphicsExposeEvent.display	24
+XGraphicsExposeEvent.drawable	32
+XGraphicsExposeEvent.x	40
+XGraphicsExposeEvent.y	44
+XGraphicsExposeEvent.width	48
+XGraphicsExposeEvent.height	52
+XGraphicsExposeEvent.count	56
+XGraphicsExposeEvent.major_code	60
+XGraphicsExposeEvent.minor_code	64
+XGraphicsExposeEvent	72
+XEvent.type	0
+XEvent.xany	0
+XEvent.xkey	0
+XEvent.xbutton	0
+XEvent.xmotion	0
+XEvent.xcrossing	0
+XEvent.xfocus	0
+XEvent.xexpose	0
+XEvent.xgraphicsexpose	0
+XEvent.xnoexpose	0
+XEvent.xvisibility	0
+XEvent.xcreatewindow	0
+XEvent.xdestroywindow	0
+XEvent.xunmap	0
+XEvent.xmap	0
+XEvent.xmaprequest	0
+XEvent.xreparent	0
+XEvent.xconfigure	0
+XEvent.xgravity	0
+XEvent.xresizerequest	0
+XEvent.xconfigurerequest	0
+XEvent.xcirculate	0
+XEvent.xcirculaterequest	0
+XEvent.xproperty	0
+XEvent.xselectionclear	0
+XEvent.xselectionrequest	0
+XEvent.xselection	0
+XEvent.xcolormap	0
+XEvent.xclient	0
+XEvent.xmapping	0
+XEvent.xerror	0
+XEvent.xkeymap	0
+XEvent.pad	0
+XEvent	192
+XRenderDirectFormat.red	0
+XRenderDirectFormat.redMask	2
+XRenderDirectFormat.green	4
+XRenderDirectFormat.greenMask	6
+XRenderDirectFormat.blue	8
+XRenderDirectFormat.blueMask	10
+XRenderDirectFormat.alpha	12
+XRenderDirectFormat.alphaMask	14
+XRenderDirectFormat	16
+ColorData.awt_Colors	0
+ColorData.awt_numICMcolors	8
+ColorData.awt_icmLUT	16
+ColorData.awt_icmLUT2Colors	24
+ColorData.img_grays	32
+ColorData.img_clr_tbl	40
+ColorData.img_oda_red	48
+ColorData.img_oda_green	56
+ColorData.img_oda_blue	64
+ColorData.pGrayInverseLutData	72
+ColorData.screendata	80
+ColorData	88
+XFontStruct.ext_data	0
+XFontStruct.fid	8
+XFontStruct.direction	16
+XFontStruct.min_char_or_byte2	20
+XFontStruct.max_char_or_byte2	24
+XFontStruct.min_byte1	28
+XFontStruct.max_byte1	32
+XFontStruct.all_chars_exist	36
+XFontStruct.n_properties	44
+XFontStruct.properties	48
+XFontStruct.min_bounds	56
+XFontStruct.max_bounds	68
+XFontStruct.per_char	80
+XFontStruct.ascent	88
+XFontStruct.descent	92
+XFontStruct	96
+XExtCodes.extension	0
+XExtCodes.major_opcode	4
+XExtCodes.first_event	8
+XExtCodes.first_error	12
+XExtCodes	16
+XFontSetExtents.max_ink_extent	0
+XFontSetExtents.max_logical_extent	8
+XFontSetExtents	16
+XSelectionEvent.type	0
+XSelectionEvent.serial	8
+XSelectionEvent.send_event	16
+XSelectionEvent.display	24
+XSelectionEvent.requestor	32
+XSelectionEvent.selection	40
+XSelectionEvent.target	48
+XSelectionEvent.property	56
+XSelectionEvent.time	64
+XSelectionEvent	72
+XArc.x	0
+XArc.y	2
+XArc.width	4
+XArc.height	6
+XArc.angle1	8
+XArc.angle2	10
+XArc	12
+XErrorEvent.type	0
+XErrorEvent.display	8
+XErrorEvent.resourceid	16
+XErrorEvent.serial	24
+XErrorEvent.error_code	32
+XErrorEvent.request_code	33
+XErrorEvent.minor_code	34
+XErrorEvent	40
+XConfigureRequestEvent.type	0
+XConfigureRequestEvent.serial	8
+XConfigureRequestEvent.send_event	16
+XConfigureRequestEvent.display	24
+XConfigureRequestEvent.parent	32
+XConfigureRequestEvent.window	40
+XConfigureRequestEvent.x	48
+XConfigureRequestEvent.y	52
+XConfigureRequestEvent.width	56
+XConfigureRequestEvent.height	60
+XConfigureRequestEvent.border_width	64
+XConfigureRequestEvent.above	72
+XConfigureRequestEvent.detail	80
+XConfigureRequestEvent.value_mask	88
+XConfigureRequestEvent	96
+ScreenFormat.ext_data	0
+ScreenFormat.depth	8
+ScreenFormat.bits_per_pixel	12
+ScreenFormat.scanline_pad	16
+ScreenFormat	24
+XButtonEvent.type	0
+XButtonEvent.serial	8
+XButtonEvent.send_event	16
+XButtonEvent.display	24
+XButtonEvent.window	32
+XButtonEvent.root	40
+XButtonEvent.subwindow	48
+XButtonEvent.time	56
+XButtonEvent.x	64
+XButtonEvent.y	68
+XButtonEvent.x_root	72
+XButtonEvent.y_root	76
+XButtonEvent.state	80
+XButtonEvent.button	84
+XButtonEvent.same_screen	88
+XButtonEvent	96
+XFontProp.name	0
+XFontProp.card32	8
+XFontProp	16
+XIMValuesList.count_values	0
+XIMValuesList.supported_values	8
+XIMValuesList	16
+XKeymapEvent.type	0
+XKeymapEvent.serial	8
+XKeymapEvent.send_event	16
+XKeymapEvent.display	24
+XKeymapEvent.window	32
+XKeymapEvent.key_vector	40
+XKeymapEvent	72
+XTextItem16.chars	0
+XTextItem16.nchars	8
+XTextItem16.delta	12
+XTextItem16.font	16
+XTextItem16	24
+XIMPreeditDrawCallbackStruct.caret	0
+XIMPreeditDrawCallbackStruct.chg_first	4
+XIMPreeditDrawCallbackStruct.chg_length	8
+XIMPreeditDrawCallbackStruct.text	16
+XIMPreeditDrawCallbackStruct	24
+XVisualInfo.visual	0
+XVisualInfo.visualid	8
+XVisualInfo.screen	16
+XVisualInfo.depth	20
+XVisualInfo.class	24
+XVisualInfo.red_mask	32
+XVisualInfo.green_mask	40
+XVisualInfo.blue_mask	48
+XVisualInfo.colormap_size	56
+XVisualInfo.bits_per_rgb	60
+XVisualInfo	64
+XkbControlsNotifyEvent.type	0
+XkbControlsNotifyEvent.serial	8
+XkbControlsNotifyEvent.send_event	16
+XkbControlsNotifyEvent.display	24
+XkbControlsNotifyEvent.time	32
+XkbControlsNotifyEvent.xkb_type	40
+XkbControlsNotifyEvent.device	44
+XkbControlsNotifyEvent.changed_ctrls	48
+XkbControlsNotifyEvent.enabled_ctrls	52
+XkbControlsNotifyEvent.enabled_ctrl_changes	56
+XkbControlsNotifyEvent.num_groups	60
+XkbControlsNotifyEvent.keycode	64
+XkbControlsNotifyEvent.event_type	65
+XkbControlsNotifyEvent.req_major	66
+XkbControlsNotifyEvent.req_minor	67
+XkbControlsNotifyEvent	72
+PropMwmHints.flags	0
+PropMwmHints.functions	8
+PropMwmHints.decorations	16
+PropMwmHints.inputMode	24
+PropMwmHints.status	32
+PropMwmHints	40
+XClientMessageEvent.type	0
+XClientMessageEvent.serial	8
+XClientMessageEvent.send_event	16
+XClientMessageEvent.display	24
+XClientMessageEvent.window	32
+XClientMessageEvent.message_type	40
+XClientMessageEvent.format	48
+XClientMessageEvent.data	56
+XClientMessageEvent	96
+XAnyEvent.type	0
+XAnyEvent.serial	8
+XAnyEvent.send_event	16
+XAnyEvent.display	24
+XAnyEvent.window	32
+XAnyEvent	40
+XkbIndicatorNotifyEvent.type	0
+XkbIndicatorNotifyEvent.serial	8
+XkbIndicatorNotifyEvent.send_event	16
+XkbIndicatorNotifyEvent.display	24
+XkbIndicatorNotifyEvent.time	32
+XkbIndicatorNotifyEvent.xkb_type	40
+XkbIndicatorNotifyEvent.device	44
+XkbIndicatorNotifyEvent.changed	48
+XkbIndicatorNotifyEvent.state	52
+XkbIndicatorNotifyEvent	56
+XIMPreeditStateNotifyCallbackStruct.state	0
+XIMPreeditStateNotifyCallbackStruct	8
+XkbAnyEvent.type	0
+XkbAnyEvent.serial	8
+XkbAnyEvent.send_event	16
+XkbAnyEvent.display	24
+XkbAnyEvent.time	32
+XkbAnyEvent.xkb_type	40
+XkbAnyEvent.device	44
+XkbAnyEvent	48
+XMotionEvent.type	0
+XMotionEvent.serial	8
+XMotionEvent.send_event	16
+XMotionEvent.display	24
+XMotionEvent.window	32
+XMotionEvent.root	40
+XMotionEvent.subwindow	48
+XMotionEvent.time	56
+XMotionEvent.x	64
+XMotionEvent.y	68
+XMotionEvent.x_root	72
+XMotionEvent.y_root	76
+XMotionEvent.state	80
+XMotionEvent.is_hint	84
+XMotionEvent.same_screen	88
+XMotionEvent	96
+XIMHotKeyTriggers.num_hot_key	0
+XIMHotKeyTriggers.key	8
+XIMHotKeyTriggers	16
+XIMStyles.count_styles	0
+XIMStyles.supported_styles	8
+XIMStyles	16
+XkbExtensionDeviceNotifyEvent.type	0
+XkbExtensionDeviceNotifyEvent.serial	8
+XkbExtensionDeviceNotifyEvent.send_event	16
+XkbExtensionDeviceNotifyEvent.display	24
+XkbExtensionDeviceNotifyEvent.time	32
+XkbExtensionDeviceNotifyEvent.xkb_type	40
+XkbExtensionDeviceNotifyEvent.device	44
+XkbExtensionDeviceNotifyEvent.reason	48
+XkbExtensionDeviceNotifyEvent.supported	52
+XkbExtensionDeviceNotifyEvent.unsupported	56
+XkbExtensionDeviceNotifyEvent.first_btn	60
+XkbExtensionDeviceNotifyEvent.num_btns	64
+XkbExtensionDeviceNotifyEvent.leds_defined	68
+XkbExtensionDeviceNotifyEvent.led_state	72
+XkbExtensionDeviceNotifyEvent.led_class	76
+XkbExtensionDeviceNotifyEvent.led_id	80
+XkbExtensionDeviceNotifyEvent	88
+XwcTextItem.chars	0
+XwcTextItem.nchars	8
+XwcTextItem.delta	12
+XwcTextItem.font_set	16
+XwcTextItem	24
+XClassHint.res_name	0
+XClassHint.res_class	8
+XClassHint	16
+XChar2b.byte1	0
+XChar2b.byte2	1
+XChar2b	2
+XSetWindowAttributes.background_pixmap	0
+XSetWindowAttributes.background_pixel	8
+XSetWindowAttributes.border_pixmap	16
+XSetWindowAttributes.border_pixel	24
+XSetWindowAttributes.bit_gravity	32
+XSetWindowAttributes.win_gravity	36
+XSetWindowAttributes.backing_store	40
+XSetWindowAttributes.backing_planes	48
+XSetWindowAttributes.backing_pixel	56
+XSetWindowAttributes.save_under	64
+XSetWindowAttributes.event_mask	72
+XSetWindowAttributes.do_not_propagate_mask	80
+XSetWindowAttributes.override_redirect	88
+XSetWindowAttributes.colormap	96
+XSetWindowAttributes.cursor	104
+XSetWindowAttributes	112
+XRenderPictFormat.id	0
+XRenderPictFormat.type	8
+XRenderPictFormat.depth	12
+XRenderPictFormat.direct	16
+XRenderPictFormat.colormap	32
+XRenderPictFormat	40
+XReparentEvent.type	0
+XReparentEvent.serial	8
+XReparentEvent.send_event	16
+XReparentEvent.display	24
+XReparentEvent.event	32
+XReparentEvent.window	40
+XReparentEvent.parent	48
+XReparentEvent.x	56
+XReparentEvent.y	60
+XReparentEvent.override_redirect	64
+XReparentEvent	72
+XCirculateRequestEvent.type	0
+XCirculateRequestEvent.serial	8
+XCirculateRequestEvent.send_event	16
+XCirculateRequestEvent.display	24
+XCirculateRequestEvent.parent	32
+XCirculateRequestEvent.window	40
+XCirculateRequestEvent.place	48
+XCirculateRequestEvent	56
+XImage.width	0
+XImage.height	4
+XImage.xoffset	8
+XImage.format	12
+XImage.data	16
+XImage.byte_order	24
+XImage.bitmap_unit	28
+XImage.bitmap_bit_order	32
+XImage.bitmap_pad	36
+XImage.depth	40
+XImage.bytes_per_line	44
+XImage.bits_per_pixel	48
+XImage.red_mask	56
+XImage.green_mask	64
+XImage.blue_mask	72
+XImage.obdata	80
+XImage.f.create_image	88
+XImage.f.destroy_image	96
+XImage.f.get_pixel	104
+XImage.f.put_pixel	112
+XImage.f.sub_image	120
+XImage.f.add_pixel	128
+XImage	136
+XKeyEvent.type	0
+XKeyEvent.serial	8
+XKeyEvent.send_event	16
+XKeyEvent.display	24
+XKeyEvent.window	32
+XKeyEvent.root	40
+XKeyEvent.subwindow	48
+XKeyEvent.time	56
+XKeyEvent.x	64
+XKeyEvent.y	68
+XKeyEvent.x_root	72
+XKeyEvent.y_root	76
+XKeyEvent.state	80
+XKeyEvent.keycode	84
+XKeyEvent.same_screen	88
+XKeyEvent	96
+XkbActionMessageEvent.type	0
+XkbActionMessageEvent.serial	8
+XkbActionMessageEvent.send_event	16
+XkbActionMessageEvent.display	24
+XkbActionMessageEvent.time	32
+XkbActionMessageEvent.xkb_type	40
+XkbActionMessageEvent.device	44
+XkbActionMessageEvent.keycode	48
+XkbActionMessageEvent.press	52
+XkbActionMessageEvent.key_event_follows	56
+XkbActionMessageEvent.group	60
+XkbActionMessageEvent.mods	64
+XkbActionMessageEvent.message	68
+XkbActionMessageEvent	80
+XdbeSwapInfo.swap_window	0
+XdbeSwapInfo.swap_action	8
+XdbeSwapInfo	16
+XTextItem.chars	0
+XTextItem.nchars	8
+XTextItem.delta	12
+XTextItem.font	16
+XTextItem	24
+XModifierKeymap.max_keypermod	0
+XModifierKeymap.modifiermap	8
+XModifierKeymap	16
+XCharStruct.lbearing	0
+XCharStruct.rbearing	2
+XCharStruct.width	4
+XCharStruct.ascent	6
+XCharStruct.descent	8
+XCharStruct.attributes	10
+XCharStruct	12
+XGravityEvent.type	0
+XGravityEvent.serial	8
+XGravityEvent.send_event	16
+XGravityEvent.display	24
+XGravityEvent.event	32
+XGravityEvent.window	40
+XGravityEvent.x	48
+XGravityEvent.y	52
+XGravityEvent	56
+Visual.ext_data	0
+Visual.visualid	8
+Visual.class	16
+Visual.red_mask	24
+Visual.green_mask	32
+Visual.blue_mask	40
+Visual.bits_per_rgb	48
+Visual.map_entries	52
+Visual	56
+XOMOrientation.num_orientation	0
+XOMOrientation.orientation	8
+XOMOrientation	16
+XkbAccessXNotifyEvent.type	0
+XkbAccessXNotifyEvent.serial	8
+XkbAccessXNotifyEvent.send_event	16
+XkbAccessXNotifyEvent.display	24
+XkbAccessXNotifyEvent.time	32
+XkbAccessXNotifyEvent.xkb_type	40
+XkbAccessXNotifyEvent.device	44
+XkbAccessXNotifyEvent.detail	48
+XkbAccessXNotifyEvent.keycode	52
+XkbAccessXNotifyEvent.sk_delay	56
+XkbAccessXNotifyEvent.debounce_delay	60
+XkbAccessXNotifyEvent	64
+XWindowAttributes.x	0
+XWindowAttributes.y	4
+XWindowAttributes.width	8
+XWindowAttributes.height	12
+XWindowAttributes.border_width	16
+XWindowAttributes.depth	20
+XWindowAttributes.visual	24
+XWindowAttributes.root	32
+XWindowAttributes.class	40
+XWindowAttributes.bit_gravity	44
+XWindowAttributes.win_gravity	48
+XWindowAttributes.backing_store	52
+XWindowAttributes.backing_planes	56
+XWindowAttributes.backing_pixel	64
+XWindowAttributes.save_under	72
+XWindowAttributes.colormap	80
+XWindowAttributes.map_installed	88
+XWindowAttributes.map_state	92
+XWindowAttributes.all_event_masks	96
+XWindowAttributes.your_event_mask	104
+XWindowAttributes.do_not_propagate_mask	112
+XWindowAttributes.override_redirect	120
+XWindowAttributes.screen	128
+XWindowAttributes	136
+XmbTextItem.chars	0
+XmbTextItem.nchars	8
+XmbTextItem.delta	12
+XmbTextItem.font_set	16
+XmbTextItem	24
+XMappingEvent.type	0
+XMappingEvent.serial	8
+XMappingEvent.send_event	16
+XMappingEvent.display	24
+XMappingEvent.window	32
+XMappingEvent.request	40
+XMappingEvent.first_keycode	44
+XMappingEvent.count	48
+XMappingEvent	56
+XSizeHints.flags	0
+XSizeHints.x	8
+XSizeHints.y	12
+XSizeHints.width	16
+XSizeHints.height	20
+XSizeHints.min_width	24
+XSizeHints.min_height	28
+XSizeHints.max_width	32
+XSizeHints.max_height	36
+XSizeHints.width_inc	40
+XSizeHints.height_inc	44
+XSizeHints.min_aspect.x	48
+XSizeHints.min_aspect.y	52
+XSizeHints.max_aspect.x	56
+XSizeHints.max_aspect.y	60
+XSizeHints.base_width	64
+XSizeHints.base_height	68
+XSizeHints.win_gravity	72
+XSizeHints	80
+XUnmapEvent.type	0
+XUnmapEvent.serial	8
+XUnmapEvent.send_event	16
+XUnmapEvent.display	24
+XUnmapEvent.event	32
+XUnmapEvent.window	40
+XUnmapEvent.from_configure	48
+XUnmapEvent	56
+awtImageData.Depth	0
+awtImageData.wsImageFormat	4
+awtImageData.clrdata	16
+awtImageData.convert	48
+awtImageData	560
+XkbStateNotifyEvent.type	0
+XkbStateNotifyEvent.serial	8
+XkbStateNotifyEvent.send_event	16
+XkbStateNotifyEvent.display	24
+XkbStateNotifyEvent.time	32
+XkbStateNotifyEvent.xkb_type	40
+XkbStateNotifyEvent.device	44
+XkbStateNotifyEvent.changed	48
+XkbStateNotifyEvent.group	52
+XkbStateNotifyEvent.base_group	56
+XkbStateNotifyEvent.latched_group	60
+XkbStateNotifyEvent.locked_group	64
+XkbStateNotifyEvent.mods	68
+XkbStateNotifyEvent.base_mods	72
+XkbStateNotifyEvent.latched_mods	76
+XkbStateNotifyEvent.locked_mods	80
+XkbStateNotifyEvent.compat_state	84
+XkbStateNotifyEvent.grab_mods	88
+XkbStateNotifyEvent.compat_grab_mods	89
+XkbStateNotifyEvent.lookup_mods	90
+XkbStateNotifyEvent.compat_lookup_mods	91
+XkbStateNotifyEvent.ptr_buttons	92
+XkbStateNotifyEvent.keycode	96
+XkbStateNotifyEvent.event_type	97
+XkbStateNotifyEvent.req_major	98
+XkbStateNotifyEvent.req_minor	99
+XkbStateNotifyEvent	104
+XExposeEvent.type	0
+XExposeEvent.serial	8
+XExposeEvent.send_event	16
+XExposeEvent.display	24
+XExposeEvent.window	32
+XExposeEvent.x	40
+XExposeEvent.y	44
+XExposeEvent.width	48
+XExposeEvent.height	52
+XExposeEvent.count	56
+XExposeEvent	64
+XkbMapNotifyEvent.type	0
+XkbMapNotifyEvent.serial	8
+XkbMapNotifyEvent.send_event	16
+XkbMapNotifyEvent.display	24
+XkbMapNotifyEvent.time	32
+XkbMapNotifyEvent.xkb_type	40
+XkbMapNotifyEvent.device	44
+XkbMapNotifyEvent.changed	48
+XkbMapNotifyEvent.flags	52
+XkbMapNotifyEvent.first_type	56
+XkbMapNotifyEvent.num_types	60
+XkbMapNotifyEvent.min_key_code	64
+XkbMapNotifyEvent.max_key_code	65
+XkbMapNotifyEvent.first_key_sym	66
+XkbMapNotifyEvent.first_key_act	67
+XkbMapNotifyEvent.first_key_behavior	68
+XkbMapNotifyEvent.first_key_explicit	69
+XkbMapNotifyEvent.first_modmap_key	70
+XkbMapNotifyEvent.first_vmodmap_key	71
+XkbMapNotifyEvent.num_key_syms	72
+XkbMapNotifyEvent.num_key_acts	76
+XkbMapNotifyEvent.num_key_behaviors	80
+XkbMapNotifyEvent.num_key_explicit	84
+XkbMapNotifyEvent.num_modmap_keys	88
+XkbMapNotifyEvent.num_vmodmap_keys	92
+XkbMapNotifyEvent.vmods	96
+XkbMapNotifyEvent	104
+XGCValues.function	0
+XGCValues.plane_mask	8
+XGCValues.foreground	16
+XGCValues.background	24
+XGCValues.line_width	32
+XGCValues.line_style	36
+XGCValues.cap_style	40
+XGCValues.join_style	44
+XGCValues.fill_style	48
+XGCValues.fill_rule	52
+XGCValues.arc_mode	56
+XGCValues.tile	64
+XGCValues.stipple	72
+XGCValues.ts_x_origin	80
+XGCValues.ts_y_origin	84
+XGCValues.font	88
+XGCValues.subwindow_mode	96
+XGCValues.graphics_exposures	100
+XGCValues.clip_x_origin	104
+XGCValues.clip_y_origin	108
+XGCValues.clip_mask	112
+XGCValues.dash_offset	120
+XGCValues.dashes	124
+XGCValues	128
+XFocusChangeEvent.type	0
+XFocusChangeEvent.serial	8
+XFocusChangeEvent.send_event	16
+XFocusChangeEvent.display	24
+XFocusChangeEvent.window	32
+XFocusChangeEvent.mode	40
+XFocusChangeEvent.detail	44
+XFocusChangeEvent	48
+XPixmapFormatValues.depth	0
+XPixmapFormatValues.bits_per_pixel	4
+XPixmapFormatValues.scanline_pad	8
+XPixmapFormatValues	12
+XMapEvent.type	0
+XMapEvent.serial	8
+XMapEvent.send_event	16
+XMapEvent.display	24
+XMapEvent.event	32
+XMapEvent.window	40
+XMapEvent.override_redirect	48
+XMapEvent	56
+XkbBellNotifyEvent.type	0
+XkbBellNotifyEvent.serial	8
+XkbBellNotifyEvent.send_event	16
+XkbBellNotifyEvent.display	24
+XkbBellNotifyEvent.time	32
+XkbBellNotifyEvent.xkb_type	40
+XkbBellNotifyEvent.device	44
+XkbBellNotifyEvent.percent	48
+XkbBellNotifyEvent.pitch	52
+XkbBellNotifyEvent.duration	56
+XkbBellNotifyEvent.bell_class	60
+XkbBellNotifyEvent.bell_id	64
+XkbBellNotifyEvent.name	72
+XkbBellNotifyEvent.window	80
+XkbBellNotifyEvent.event_only	88
+XkbBellNotifyEvent	96
+XIMStringConversionText.length	0
+XIMStringConversionText.feedback	8
+XIMStringConversionText.encoding_is_wchar	16
+XIMStringConversionText.string	24
+XIMStringConversionText	32
+XKeyboardState.key_click_percent	0
+XKeyboardState.bell_percent	4
+XKeyboardState.bell_pitch	8
+XKeyboardState.bell_duration	12
+XKeyboardState.led_mask	16
+XKeyboardState.global_auto_repeat	24
+XKeyboardState.auto_repeats	28
+XKeyboardState	64
+XkbEvent.type	0
+XkbEvent.any	0
+XkbEvent.new_kbd	0
+XkbEvent.map	0
+XkbEvent.state	0
+XkbEvent.ctrls	0
+XkbEvent.indicators	0
+XkbEvent.names	0
+XkbEvent.compat	0
+XkbEvent.bell	0
+XkbEvent.message	0
+XkbEvent.accessx	0
+XkbEvent.device	0
+XkbEvent.core	0
+XkbEvent	192
+XPoint.x	0
+XPoint.y	2
+XPoint	4
+XSegment.x1	0
+XSegment.y1	2
+XSegment.x2	4
+XSegment.y2	6
+XSegment	8
+XIconSize.min_width	0
+XIconSize.min_height	4
+XIconSize.max_width	8
+XIconSize.max_height	12
+XIconSize.width_inc	16
+XIconSize.height_inc	20
+XIconSize	24
+XIMCallback.client_data	0
+XIMCallback.callback	8
+XIMCallback	16
+XConfigureEvent.type	0
+XConfigureEvent.serial	8
+XConfigureEvent.send_event	16
+XConfigureEvent.display	24
+XConfigureEvent.event	32
+XConfigureEvent.window	40
+XConfigureEvent.x	48
+XConfigureEvent.y	52
+XConfigureEvent.width	56
+XConfigureEvent.height	60
+XConfigureEvent.border_width	64
+XConfigureEvent.above	72
+XConfigureEvent.override_redirect	80
+XConfigureEvent	88
+XRectangle.x	0
+XRectangle.y	2
+XRectangle.width	4
+XRectangle.height	6
+XRectangle	8
+XkbNamesNotifyEvent.type	0
+XkbNamesNotifyEvent.serial	8
+XkbNamesNotifyEvent.send_event	16
+XkbNamesNotifyEvent.display	24
+XkbNamesNotifyEvent.time	32
+XkbNamesNotifyEvent.xkb_type	40
+XkbNamesNotifyEvent.device	44
+XkbNamesNotifyEvent.changed	48
+XkbNamesNotifyEvent.first_type	52
+XkbNamesNotifyEvent.num_types	56
+XkbNamesNotifyEvent.first_lvl	60
+XkbNamesNotifyEvent.num_lvls	64
+XkbNamesNotifyEvent.num_aliases	68
+XkbNamesNotifyEvent.num_radio_groups	72
+XkbNamesNotifyEvent.changed_vmods	76
+XkbNamesNotifyEvent.changed_groups	80
+XkbNamesNotifyEvent.changed_indicators	84
+XkbNamesNotifyEvent.first_key	88
+XkbNamesNotifyEvent.num_keys	92
+XkbNamesNotifyEvent	96
+XCreateWindowEvent.type	0
+XCreateWindowEvent.serial	8
+XCreateWindowEvent.send_event	16
+XCreateWindowEvent.display	24
+XCreateWindowEvent.parent	32
+XCreateWindowEvent.window	40
+XCreateWindowEvent.x	48
+XCreateWindowEvent.y	52
+XCreateWindowEvent.width	56
+XCreateWindowEvent.height	60
+XCreateWindowEvent.border_width	64
+XCreateWindowEvent.override_redirect	68
+XCreateWindowEvent	72
+XVisibilityEvent.type	0
+XVisibilityEvent.serial	8
+XVisibilityEvent.send_event	16
+XVisibilityEvent.display	24
+XVisibilityEvent.window	32
+XVisibilityEvent.state	40
+XVisibilityEvent	48
+XWMHints.flags	0
+XWMHints.initial_state	12
+XWMHints.icon_pixmap	16
+XWMHints.icon_window	24
+XWMHints.icon_x	32
+XWMHints.icon_y	36
+XWMHints.icon_mask	40
+XWMHints.input	8
+XWMHints.window_group	48
+XWMHints	56
+XCrossingEvent.type	0
+XCrossingEvent.serial	8
+XCrossingEvent.send_event	16
+XCrossingEvent.display	24
+XCrossingEvent.window	32
+XCrossingEvent.root	40
+XCrossingEvent.subwindow	48
+XCrossingEvent.time	56
+XCrossingEvent.x	64
+XCrossingEvent.y	68
+XCrossingEvent.x_root	72
+XCrossingEvent.y_root	76
+XCrossingEvent.mode	80
+XCrossingEvent.detail	84
+XCrossingEvent.same_screen	88
+XCrossingEvent.focus	92
+XCrossingEvent.state	96
+XCrossingEvent	104
+XSelectionRequestEvent.type	0
+XSelectionRequestEvent.serial	8
+XSelectionRequestEvent.send_event	16
+XSelectionRequestEvent.display	24
+XSelectionRequestEvent.owner	32
+XSelectionRequestEvent.requestor	40
+XSelectionRequestEvent.selection	48
+XSelectionRequestEvent.target	56
+XSelectionRequestEvent.property	64
+XSelectionRequestEvent.time	72
+XSelectionRequestEvent	80
+XNoExposeEvent.type	0
+XNoExposeEvent.serial	8
+XNoExposeEvent.send_event	16
+XNoExposeEvent.display	24
+XNoExposeEvent.drawable	32
+XNoExposeEvent.major_code	40
+XNoExposeEvent.minor_code	44
+XNoExposeEvent	48
+XHostAddress.family	0
+XHostAddress.length	4
+XHostAddress.address	8
+XHostAddress	16
+XColormapEvent.type	0
+XColormapEvent.serial	8
+XColormapEvent.send_event	16
+XColormapEvent.display	24
+XColormapEvent.window	32
+XColormapEvent.colormap	40
+XColormapEvent.new	48
+XColormapEvent.state	52
+XColormapEvent	56
+ColorEntry.r	0
+ColorEntry.g	1
+ColorEntry.b	2
+ColorEntry.flags	3
+ColorEntry	4
+XResizeRequestEvent.type	0
+XResizeRequestEvent.serial	8
+XResizeRequestEvent.send_event	16
+XResizeRequestEvent.display	24
+XResizeRequestEvent.window	32
+XResizeRequestEvent.width	40
+XResizeRequestEvent.height	44
+XResizeRequestEvent	48
+Depth.depth	0
+Depth.nvisuals	4
+Depth.visuals	8
+Depth	16
+XPropertyEvent.type	0
+XPropertyEvent.serial	8
+XPropertyEvent.send_event	16
+XPropertyEvent.display	24
+XPropertyEvent.window	32
+XPropertyEvent.atom	40
+XPropertyEvent.time	48
+XPropertyEvent.state	56
+XPropertyEvent	64
+XDestroyWindowEvent.type	0
+XDestroyWindowEvent.serial	8
+XDestroyWindowEvent.send_event	16
+XDestroyWindowEvent.display	24
+XDestroyWindowEvent.event	32
+XDestroyWindowEvent.window	40
+XDestroyWindowEvent	48
+XStandardColormap.colormap	0
+XStandardColormap.red_max	8
+XStandardColormap.red_mult	16
+XStandardColormap.green_max	24
+XStandardColormap.green_mult	32
+XStandardColormap.blue_max	40
+XStandardColormap.blue_mult	48
+XStandardColormap.base_pixel	56
+XStandardColormap.visualid	64
+XStandardColormap.killid	72
+XStandardColormap	80
+XComposeStatus.compose_ptr	0
+XComposeStatus.chars_matched	8
+XComposeStatus	16
+AwtGraphicsConfigData.awt_depth	0
+AwtGraphicsConfigData.awt_cmap	8
+AwtGraphicsConfigData.awt_visInfo	16
+AwtGraphicsConfigData.awt_num_colors	80
+AwtGraphicsConfigData.awtImage	88
+AwtGraphicsConfigData.AwtColorMatch	96
+AwtGraphicsConfigData.monoImage	104
+AwtGraphicsConfigData.monoPixmap	112
+AwtGraphicsConfigData.monoPixmapWidth	120
+AwtGraphicsConfigData.monoPixmapHeight	124
+AwtGraphicsConfigData.monoPixmapGC	128
+AwtGraphicsConfigData.pixelStride	136
+AwtGraphicsConfigData.color_data	144
+AwtGraphicsConfigData.glxInfo	152
+AwtGraphicsConfigData.isTranslucencySupported	160
+AwtGraphicsConfigData.renderPictFormat	168
+AwtGraphicsConfigData	208
+XColor.pixel	0
+XColor.red	8
+XColor.green	10
+XColor.blue	12
+XColor.flags	14
+XColor.pad	15
+XColor	16
+XTextProperty.value	0
+XTextProperty.encoding	8
+XTextProperty.format	16
+XTextProperty.nitems	24
+XTextProperty	32
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/sizes.64-solaris-i386	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,1016 @@
+long	8
+int	4
+short	2
+ptr	8
+Bool	4
+Atom	8
+Window	8
+XExtData.number	0
+XExtData.next	8
+XExtData.free_private	16
+XExtData.private_data	24
+XExtData	32
+XIMStringConversionCallbackStruct.position	0
+XIMStringConversionCallbackStruct.direction	4
+XIMStringConversionCallbackStruct.operation	8
+XIMStringConversionCallbackStruct.factor	10
+XIMStringConversionCallbackStruct.text	16
+XIMStringConversionCallbackStruct	24
+XkbNewKeyboardNotifyEvent.type	0
+XkbNewKeyboardNotifyEvent.serial	8
+XkbNewKeyboardNotifyEvent.send_event	16
+XkbNewKeyboardNotifyEvent.display	24
+XkbNewKeyboardNotifyEvent.time	32
+XkbNewKeyboardNotifyEvent.xkb_type	40
+XkbNewKeyboardNotifyEvent.device	44
+XkbNewKeyboardNotifyEvent.old_device	48
+XkbNewKeyboardNotifyEvent.min_key_code	52
+XkbNewKeyboardNotifyEvent.max_key_code	56
+XkbNewKeyboardNotifyEvent.old_min_key_code	60
+XkbNewKeyboardNotifyEvent.old_max_key_code	64
+XkbNewKeyboardNotifyEvent.changed	68
+XkbNewKeyboardNotifyEvent.req_major	72
+XkbNewKeyboardNotifyEvent.req_minor	73
+XkbNewKeyboardNotifyEvent	80
+XTimeCoord.time	0
+XTimeCoord.x	8
+XTimeCoord.y	10
+XTimeCoord	16
+XkbCompatMapNotifyEvent.type	0
+XkbCompatMapNotifyEvent.serial	8
+XkbCompatMapNotifyEvent.send_event	16
+XkbCompatMapNotifyEvent.display	24
+XkbCompatMapNotifyEvent.time	32
+XkbCompatMapNotifyEvent.xkb_type	40
+XkbCompatMapNotifyEvent.device	44
+XkbCompatMapNotifyEvent.changed_groups	48
+XkbCompatMapNotifyEvent.first_si	52
+XkbCompatMapNotifyEvent.num_si	56
+XkbCompatMapNotifyEvent.num_total_si	60
+XkbCompatMapNotifyEvent	64
+XIMStatusDrawCallbackStruct.type	0
+XIMStatusDrawCallbackStruct.data	8
+XIMStatusDrawCallbackStruct	16
+XKeyboardControl.key_click_percent	0
+XKeyboardControl.bell_percent	4
+XKeyboardControl.bell_pitch	8
+XKeyboardControl.bell_duration	12
+XKeyboardControl.led	16
+XKeyboardControl.led_mode	20
+XKeyboardControl.key	24
+XKeyboardControl.auto_repeat_mode	28
+XKeyboardControl	32
+XSelectionClearEvent.type	0
+XSelectionClearEvent.serial	8
+XSelectionClearEvent.send_event	16
+XSelectionClearEvent.display	24
+XSelectionClearEvent.window	32
+XSelectionClearEvent.selection	40
+XSelectionClearEvent.time	48
+XSelectionClearEvent	56
+XWindowChanges.x	0
+XWindowChanges.y	4
+XWindowChanges.width	8
+XWindowChanges.height	12
+XWindowChanges.border_width	16
+XWindowChanges.sibling	24
+XWindowChanges.stack_mode	32
+XWindowChanges	40
+XIMPreeditCaretCallbackStruct.position	0
+XIMPreeditCaretCallbackStruct.direction	4
+XIMPreeditCaretCallbackStruct.style	8
+XIMPreeditCaretCallbackStruct	12
+XOMCharSetList.charset_count	0
+XOMCharSetList.charset_list	8
+XOMCharSetList	16
+XOMFontInfo.num_font	0
+XOMFontInfo.font_struct_list	8
+XOMFontInfo.font_name_list	16
+XOMFontInfo	24
+AwtScreenData.numConfigs	0
+AwtScreenData.root	8
+AwtScreenData.whitepixel	16
+AwtScreenData.blackpixel	24
+AwtScreenData.defaultConfig	32
+AwtScreenData.configs	40
+AwtScreenData	48
+XIMHotKeyTrigger.keysym	0
+XIMHotKeyTrigger.modifier	8
+XIMHotKeyTrigger.modifier_mask	12
+XIMHotKeyTrigger	16
+XCirculateEvent.type	0
+XCirculateEvent.serial	8
+XCirculateEvent.send_event	16
+XCirculateEvent.display	24
+XCirculateEvent.event	32
+XCirculateEvent.window	40
+XCirculateEvent.place	48
+XCirculateEvent	56
+Screen.ext_data	0
+Screen.display	8
+Screen.root	16
+Screen.width	24
+Screen.height	28
+Screen.mwidth	32
+Screen.mheight	36
+Screen.ndepths	40
+Screen.depths	48
+Screen.root_depth	56
+Screen.root_visual	64
+Screen.default_gc	72
+Screen.cmap	80
+Screen.white_pixel	88
+Screen.black_pixel	96
+Screen.max_maps	104
+Screen.min_maps	108
+Screen.backing_store	112
+Screen.save_unders	116
+Screen.root_input_mask	120
+Screen	128
+XMapRequestEvent.type	0
+XMapRequestEvent.serial	8
+XMapRequestEvent.send_event	16
+XMapRequestEvent.display	24
+XMapRequestEvent.parent	32
+XMapRequestEvent.window	40
+XMapRequestEvent	48
+XIMText.length	0
+XIMText.feedback	8
+XIMText.encoding_is_wchar	16
+XIMText.string	24
+XIMText	32
+XGraphicsExposeEvent.type	0
+XGraphicsExposeEvent.serial	8
+XGraphicsExposeEvent.send_event	16
+XGraphicsExposeEvent.display	24
+XGraphicsExposeEvent.drawable	32
+XGraphicsExposeEvent.x	40
+XGraphicsExposeEvent.y	44
+XGraphicsExposeEvent.width	48
+XGraphicsExposeEvent.height	52
+XGraphicsExposeEvent.count	56
+XGraphicsExposeEvent.major_code	60
+XGraphicsExposeEvent.minor_code	64
+XGraphicsExposeEvent	72
+XEvent.type	0
+XEvent.xany	0
+XEvent.xkey	0
+XEvent.xbutton	0
+XEvent.xmotion	0
+XEvent.xcrossing	0
+XEvent.xfocus	0
+XEvent.xexpose	0
+XEvent.xgraphicsexpose	0
+XEvent.xnoexpose	0
+XEvent.xvisibility	0
+XEvent.xcreatewindow	0
+XEvent.xdestroywindow	0
+XEvent.xunmap	0
+XEvent.xmap	0
+XEvent.xmaprequest	0
+XEvent.xreparent	0
+XEvent.xconfigure	0
+XEvent.xgravity	0
+XEvent.xresizerequest	0
+XEvent.xconfigurerequest	0
+XEvent.xcirculate	0
+XEvent.xcirculaterequest	0
+XEvent.xproperty	0
+XEvent.xselectionclear	0
+XEvent.xselectionrequest	0
+XEvent.xselection	0
+XEvent.xcolormap	0
+XEvent.xclient	0
+XEvent.xmapping	0
+XEvent.xerror	0
+XEvent.xkeymap	0
+XEvent.pad	0
+XEvent	192
+XRenderDirectFormat.red	0
+XRenderDirectFormat.redMask	2
+XRenderDirectFormat.green	4
+XRenderDirectFormat.greenMask	6
+XRenderDirectFormat.blue	8
+XRenderDirectFormat.blueMask	10
+XRenderDirectFormat.alpha	12
+XRenderDirectFormat.alphaMask	14
+XRenderDirectFormat	16
+ColorData.awt_Colors	0
+ColorData.awt_numICMcolors	8
+ColorData.awt_icmLUT	16
+ColorData.awt_icmLUT2Colors	24
+ColorData.img_grays	32
+ColorData.img_clr_tbl	40
+ColorData.img_oda_red	48
+ColorData.img_oda_green	56
+ColorData.img_oda_blue	64
+ColorData.pGrayInverseLutData	72
+ColorData.screendata	80
+ColorData	88
+XFontStruct.ext_data	0
+XFontStruct.fid	8
+XFontStruct.direction	16
+XFontStruct.min_char_or_byte2	20
+XFontStruct.max_char_or_byte2	24
+XFontStruct.min_byte1	28
+XFontStruct.max_byte1	32
+XFontStruct.all_chars_exist	36
+XFontStruct.n_properties	44
+XFontStruct.properties	48
+XFontStruct.min_bounds	56
+XFontStruct.max_bounds	68
+XFontStruct.per_char	80
+XFontStruct.ascent	88
+XFontStruct.descent	92
+XFontStruct	96
+XExtCodes.extension	0
+XExtCodes.major_opcode	4
+XExtCodes.first_event	8
+XExtCodes.first_error	12
+XExtCodes	16
+XFontSetExtents.max_ink_extent	0
+XFontSetExtents.max_logical_extent	8
+XFontSetExtents	16
+XSelectionEvent.type	0
+XSelectionEvent.serial	8
+XSelectionEvent.send_event	16
+XSelectionEvent.display	24
+XSelectionEvent.requestor	32
+XSelectionEvent.selection	40
+XSelectionEvent.target	48
+XSelectionEvent.property	56
+XSelectionEvent.time	64
+XSelectionEvent	72
+XArc.x	0
+XArc.y	2
+XArc.width	4
+XArc.height	6
+XArc.angle1	8
+XArc.angle2	10
+XArc	12
+XErrorEvent.type	0
+XErrorEvent.display	8
+XErrorEvent.resourceid	16
+XErrorEvent.serial	24
+XErrorEvent.error_code	32
+XErrorEvent.request_code	33
+XErrorEvent.minor_code	34
+XErrorEvent	40
+XConfigureRequestEvent.type	0
+XConfigureRequestEvent.serial	8
+XConfigureRequestEvent.send_event	16
+XConfigureRequestEvent.display	24
+XConfigureRequestEvent.parent	32
+XConfigureRequestEvent.window	40
+XConfigureRequestEvent.x	48
+XConfigureRequestEvent.y	52
+XConfigureRequestEvent.width	56
+XConfigureRequestEvent.height	60
+XConfigureRequestEvent.border_width	64
+XConfigureRequestEvent.above	72
+XConfigureRequestEvent.detail	80
+XConfigureRequestEvent.value_mask	88
+XConfigureRequestEvent	96
+ScreenFormat.ext_data	0
+ScreenFormat.depth	8
+ScreenFormat.bits_per_pixel	12
+ScreenFormat.scanline_pad	16
+ScreenFormat	24
+XButtonEvent.type	0
+XButtonEvent.serial	8
+XButtonEvent.send_event	16
+XButtonEvent.display	24
+XButtonEvent.window	32
+XButtonEvent.root	40
+XButtonEvent.subwindow	48
+XButtonEvent.time	56
+XButtonEvent.x	64
+XButtonEvent.y	68
+XButtonEvent.x_root	72
+XButtonEvent.y_root	76
+XButtonEvent.state	80
+XButtonEvent.button	84
+XButtonEvent.same_screen	88
+XButtonEvent	96
+XFontProp.name	0
+XFontProp.card32	8
+XFontProp	16
+XIMValuesList.count_values	0
+XIMValuesList.supported_values	8
+XIMValuesList	16
+XKeymapEvent.type	0
+XKeymapEvent.serial	8
+XKeymapEvent.send_event	16
+XKeymapEvent.display	24
+XKeymapEvent.window	32
+XKeymapEvent.key_vector	40
+XKeymapEvent	72
+XTextItem16.chars	0
+XTextItem16.nchars	8
+XTextItem16.delta	12
+XTextItem16.font	16
+XTextItem16	24
+XIMPreeditDrawCallbackStruct.caret	0
+XIMPreeditDrawCallbackStruct.chg_first	4
+XIMPreeditDrawCallbackStruct.chg_length	8
+XIMPreeditDrawCallbackStruct.text	16
+XIMPreeditDrawCallbackStruct	24
+XVisualInfo.visual	0
+XVisualInfo.visualid	8
+XVisualInfo.screen	16
+XVisualInfo.depth	20
+XVisualInfo.class	24
+XVisualInfo.red_mask	32
+XVisualInfo.green_mask	40
+XVisualInfo.blue_mask	48
+XVisualInfo.colormap_size	56
+XVisualInfo.bits_per_rgb	60
+XVisualInfo	64
+XkbControlsNotifyEvent.type	0
+XkbControlsNotifyEvent.serial	8
+XkbControlsNotifyEvent.send_event	16
+XkbControlsNotifyEvent.display	24
+XkbControlsNotifyEvent.time	32
+XkbControlsNotifyEvent.xkb_type	40
+XkbControlsNotifyEvent.device	44
+XkbControlsNotifyEvent.changed_ctrls	48
+XkbControlsNotifyEvent.enabled_ctrls	52
+XkbControlsNotifyEvent.enabled_ctrl_changes	56
+XkbControlsNotifyEvent.num_groups	60
+XkbControlsNotifyEvent.keycode	64
+XkbControlsNotifyEvent.event_type	65
+XkbControlsNotifyEvent.req_major	66
+XkbControlsNotifyEvent.req_minor	67
+XkbControlsNotifyEvent	72
+PropMwmHints.flags	0
+PropMwmHints.functions	8
+PropMwmHints.decorations	16
+PropMwmHints.inputMode	24
+PropMwmHints.status	32
+PropMwmHints	40
+XClientMessageEvent.type	0
+XClientMessageEvent.serial	8
+XClientMessageEvent.send_event	16
+XClientMessageEvent.display	24
+XClientMessageEvent.window	32
+XClientMessageEvent.message_type	40
+XClientMessageEvent.format	48
+XClientMessageEvent.data	56
+XClientMessageEvent	96
+XAnyEvent.type	0
+XAnyEvent.serial	8
+XAnyEvent.send_event	16
+XAnyEvent.display	24
+XAnyEvent.window	32
+XAnyEvent	40
+XkbIndicatorNotifyEvent.type	0
+XkbIndicatorNotifyEvent.serial	8
+XkbIndicatorNotifyEvent.send_event	16
+XkbIndicatorNotifyEvent.display	24
+XkbIndicatorNotifyEvent.time	32
+XkbIndicatorNotifyEvent.xkb_type	40
+XkbIndicatorNotifyEvent.device	44
+XkbIndicatorNotifyEvent.changed	48
+XkbIndicatorNotifyEvent.state	52
+XkbIndicatorNotifyEvent	56
+XIMPreeditStateNotifyCallbackStruct.state	0
+XIMPreeditStateNotifyCallbackStruct	8
+XkbAnyEvent.type	0
+XkbAnyEvent.serial	8
+XkbAnyEvent.send_event	16
+XkbAnyEvent.display	24
+XkbAnyEvent.time	32
+XkbAnyEvent.xkb_type	40
+XkbAnyEvent.device	44
+XkbAnyEvent	48
+XMotionEvent.type	0
+XMotionEvent.serial	8
+XMotionEvent.send_event	16
+XMotionEvent.display	24
+XMotionEvent.window	32
+XMotionEvent.root	40
+XMotionEvent.subwindow	48
+XMotionEvent.time	56
+XMotionEvent.x	64
+XMotionEvent.y	68
+XMotionEvent.x_root	72
+XMotionEvent.y_root	76
+XMotionEvent.state	80
+XMotionEvent.is_hint	84
+XMotionEvent.same_screen	88
+XMotionEvent	96
+XIMHotKeyTriggers.num_hot_key	0
+XIMHotKeyTriggers.key	8
+XIMHotKeyTriggers	16
+XIMStyles.count_styles	0
+XIMStyles.supported_styles	8
+XIMStyles	16
+XkbExtensionDeviceNotifyEvent.type	0
+XkbExtensionDeviceNotifyEvent.serial	8
+XkbExtensionDeviceNotifyEvent.send_event	16
+XkbExtensionDeviceNotifyEvent.display	24
+XkbExtensionDeviceNotifyEvent.time	32
+XkbExtensionDeviceNotifyEvent.xkb_type	40
+XkbExtensionDeviceNotifyEvent.device	44
+XkbExtensionDeviceNotifyEvent.reason	48
+XkbExtensionDeviceNotifyEvent.supported	52
+XkbExtensionDeviceNotifyEvent.unsupported	56
+XkbExtensionDeviceNotifyEvent.first_btn	60
+XkbExtensionDeviceNotifyEvent.num_btns	64
+XkbExtensionDeviceNotifyEvent.leds_defined	68
+XkbExtensionDeviceNotifyEvent.led_state	72
+XkbExtensionDeviceNotifyEvent.led_class	76
+XkbExtensionDeviceNotifyEvent.led_id	80
+XkbExtensionDeviceNotifyEvent	88
+XwcTextItem.chars	0
+XwcTextItem.nchars	8
+XwcTextItem.delta	12
+XwcTextItem.font_set	16
+XwcTextItem	24
+XClassHint.res_name	0
+XClassHint.res_class	8
+XClassHint	16
+XChar2b.byte1	0
+XChar2b.byte2	1
+XChar2b	2
+XSetWindowAttributes.background_pixmap	0
+XSetWindowAttributes.background_pixel	8
+XSetWindowAttributes.border_pixmap	16
+XSetWindowAttributes.border_pixel	24
+XSetWindowAttributes.bit_gravity	32
+XSetWindowAttributes.win_gravity	36
+XSetWindowAttributes.backing_store	40
+XSetWindowAttributes.backing_planes	48
+XSetWindowAttributes.backing_pixel	56
+XSetWindowAttributes.save_under	64
+XSetWindowAttributes.event_mask	72
+XSetWindowAttributes.do_not_propagate_mask	80
+XSetWindowAttributes.override_redirect	88
+XSetWindowAttributes.colormap	96
+XSetWindowAttributes.cursor	104
+XSetWindowAttributes	112
+XRenderPictFormat.id	0
+XRenderPictFormat.type	8
+XRenderPictFormat.depth	12
+XRenderPictFormat.direct	16
+XRenderPictFormat.colormap	32
+XRenderPictFormat	40
+XReparentEvent.type	0
+XReparentEvent.serial	8
+XReparentEvent.send_event	16
+XReparentEvent.display	24
+XReparentEvent.event	32
+XReparentEvent.window	40
+XReparentEvent.parent	48
+XReparentEvent.x	56
+XReparentEvent.y	60
+XReparentEvent.override_redirect	64
+XReparentEvent	72
+XCirculateRequestEvent.type	0
+XCirculateRequestEvent.serial	8
+XCirculateRequestEvent.send_event	16
+XCirculateRequestEvent.display	24
+XCirculateRequestEvent.parent	32
+XCirculateRequestEvent.window	40
+XCirculateRequestEvent.place	48
+XCirculateRequestEvent	56
+XImage.width	0
+XImage.height	4
+XImage.xoffset	8
+XImage.format	12
+XImage.data	16
+XImage.byte_order	24
+XImage.bitmap_unit	28
+XImage.bitmap_bit_order	32
+XImage.bitmap_pad	36
+XImage.depth	40
+XImage.bytes_per_line	44
+XImage.bits_per_pixel	48
+XImage.red_mask	56
+XImage.green_mask	64
+XImage.blue_mask	72
+XImage.obdata	80
+XImage.f.create_image	88
+XImage.f.destroy_image	96
+XImage.f.get_pixel	104
+XImage.f.put_pixel	112
+XImage.f.sub_image	120
+XImage.f.add_pixel	128
+XImage	136
+XKeyEvent.type	0
+XKeyEvent.serial	8
+XKeyEvent.send_event	16
+XKeyEvent.display	24
+XKeyEvent.window	32
+XKeyEvent.root	40
+XKeyEvent.subwindow	48
+XKeyEvent.time	56
+XKeyEvent.x	64
+XKeyEvent.y	68
+XKeyEvent.x_root	72
+XKeyEvent.y_root	76
+XKeyEvent.state	80
+XKeyEvent.keycode	84
+XKeyEvent.same_screen	88
+XKeyEvent	96
+XkbActionMessageEvent.type	0
+XkbActionMessageEvent.serial	8
+XkbActionMessageEvent.send_event	16
+XkbActionMessageEvent.display	24
+XkbActionMessageEvent.time	32
+XkbActionMessageEvent.xkb_type	40
+XkbActionMessageEvent.device	44
+XkbActionMessageEvent.keycode	48
+XkbActionMessageEvent.press	52
+XkbActionMessageEvent.key_event_follows	56
+XkbActionMessageEvent.group	60
+XkbActionMessageEvent.mods	64
+XkbActionMessageEvent.message	68
+XkbActionMessageEvent	80
+XdbeSwapInfo.swap_window	0
+XdbeSwapInfo.swap_action	8
+XdbeSwapInfo	16
+XTextItem.chars	0
+XTextItem.nchars	8
+XTextItem.delta	12
+XTextItem.font	16
+XTextItem	24
+XModifierKeymap.max_keypermod	0
+XModifierKeymap.modifiermap	8
+XModifierKeymap	16
+XCharStruct.lbearing	0
+XCharStruct.rbearing	2
+XCharStruct.width	4
+XCharStruct.ascent	6
+XCharStruct.descent	8
+XCharStruct.attributes	10
+XCharStruct	12
+XGravityEvent.type	0
+XGravityEvent.serial	8
+XGravityEvent.send_event	16
+XGravityEvent.display	24
+XGravityEvent.event	32
+XGravityEvent.window	40
+XGravityEvent.x	48
+XGravityEvent.y	52
+XGravityEvent	56
+Visual.ext_data	0
+Visual.visualid	8
+Visual.class	16
+Visual.red_mask	24
+Visual.green_mask	32
+Visual.blue_mask	40
+Visual.bits_per_rgb	48
+Visual.map_entries	52
+Visual	56
+XOMOrientation.num_orientation	0
+XOMOrientation.orientation	8
+XOMOrientation	16
+XkbAccessXNotifyEvent.type	0
+XkbAccessXNotifyEvent.serial	8
+XkbAccessXNotifyEvent.send_event	16
+XkbAccessXNotifyEvent.display	24
+XkbAccessXNotifyEvent.time	32
+XkbAccessXNotifyEvent.xkb_type	40
+XkbAccessXNotifyEvent.device	44
+XkbAccessXNotifyEvent.detail	48
+XkbAccessXNotifyEvent.keycode	52
+XkbAccessXNotifyEvent.sk_delay	56
+XkbAccessXNotifyEvent.debounce_delay	60
+XkbAccessXNotifyEvent	64
+XWindowAttributes.x	0
+XWindowAttributes.y	4
+XWindowAttributes.width	8
+XWindowAttributes.height	12
+XWindowAttributes.border_width	16
+XWindowAttributes.depth	20
+XWindowAttributes.visual	24
+XWindowAttributes.root	32
+XWindowAttributes.class	40
+XWindowAttributes.bit_gravity	44
+XWindowAttributes.win_gravity	48
+XWindowAttributes.backing_store	52
+XWindowAttributes.backing_planes	56
+XWindowAttributes.backing_pixel	64
+XWindowAttributes.save_under	72
+XWindowAttributes.colormap	80
+XWindowAttributes.map_installed	88
+XWindowAttributes.map_state	92
+XWindowAttributes.all_event_masks	96
+XWindowAttributes.your_event_mask	104
+XWindowAttributes.do_not_propagate_mask	112
+XWindowAttributes.override_redirect	120
+XWindowAttributes.screen	128
+XWindowAttributes	136
+XmbTextItem.chars	0
+XmbTextItem.nchars	8
+XmbTextItem.delta	12
+XmbTextItem.font_set	16
+XmbTextItem	24
+XMappingEvent.type	0
+XMappingEvent.serial	8
+XMappingEvent.send_event	16
+XMappingEvent.display	24
+XMappingEvent.window	32
+XMappingEvent.request	40
+XMappingEvent.first_keycode	44
+XMappingEvent.count	48
+XMappingEvent	56
+XSizeHints.flags	0
+XSizeHints.x	8
+XSizeHints.y	12
+XSizeHints.width	16
+XSizeHints.height	20
+XSizeHints.min_width	24
+XSizeHints.min_height	28
+XSizeHints.max_width	32
+XSizeHints.max_height	36
+XSizeHints.width_inc	40
+XSizeHints.height_inc	44
+XSizeHints.min_aspect.x	48
+XSizeHints.min_aspect.y	52
+XSizeHints.max_aspect.x	56
+XSizeHints.max_aspect.y	60
+XSizeHints.base_width	64
+XSizeHints.base_height	68
+XSizeHints.win_gravity	72
+XSizeHints	80
+XUnmapEvent.type	0
+XUnmapEvent.serial	8
+XUnmapEvent.send_event	16
+XUnmapEvent.display	24
+XUnmapEvent.event	32
+XUnmapEvent.window	40
+XUnmapEvent.from_configure	48
+XUnmapEvent	56
+awtImageData.Depth	0
+awtImageData.wsImageFormat	4
+awtImageData.clrdata	16
+awtImageData.convert	48
+awtImageData	560
+XkbStateNotifyEvent.type	0
+XkbStateNotifyEvent.serial	8
+XkbStateNotifyEvent.send_event	16
+XkbStateNotifyEvent.display	24
+XkbStateNotifyEvent.time	32
+XkbStateNotifyEvent.xkb_type	40
+XkbStateNotifyEvent.device	44
+XkbStateNotifyEvent.changed	48
+XkbStateNotifyEvent.group	52
+XkbStateNotifyEvent.base_group	56
+XkbStateNotifyEvent.latched_group	60
+XkbStateNotifyEvent.locked_group	64
+XkbStateNotifyEvent.mods	68
+XkbStateNotifyEvent.base_mods	72
+XkbStateNotifyEvent.latched_mods	76
+XkbStateNotifyEvent.locked_mods	80
+XkbStateNotifyEvent.compat_state	84
+XkbStateNotifyEvent.grab_mods	88
+XkbStateNotifyEvent.compat_grab_mods	89
+XkbStateNotifyEvent.lookup_mods	90
+XkbStateNotifyEvent.compat_lookup_mods	91
+XkbStateNotifyEvent.ptr_buttons	92
+XkbStateNotifyEvent.keycode	96
+XkbStateNotifyEvent.event_type	97
+XkbStateNotifyEvent.req_major	98
+XkbStateNotifyEvent.req_minor	99
+XkbStateNotifyEvent	104
+XExposeEvent.type	0
+XExposeEvent.serial	8
+XExposeEvent.send_event	16
+XExposeEvent.display	24
+XExposeEvent.window	32
+XExposeEvent.x	40
+XExposeEvent.y	44
+XExposeEvent.width	48
+XExposeEvent.height	52
+XExposeEvent.count	56
+XExposeEvent	64
+XkbMapNotifyEvent.type	0
+XkbMapNotifyEvent.serial	8
+XkbMapNotifyEvent.send_event	16
+XkbMapNotifyEvent.display	24
+XkbMapNotifyEvent.time	32
+XkbMapNotifyEvent.xkb_type	40
+XkbMapNotifyEvent.device	44
+XkbMapNotifyEvent.changed	48
+XkbMapNotifyEvent.flags	52
+XkbMapNotifyEvent.first_type	56
+XkbMapNotifyEvent.num_types	60
+XkbMapNotifyEvent.min_key_code	64
+XkbMapNotifyEvent.max_key_code	65
+XkbMapNotifyEvent.first_key_sym	66
+XkbMapNotifyEvent.first_key_act	67
+XkbMapNotifyEvent.first_key_behavior	68
+XkbMapNotifyEvent.first_key_explicit	69
+XkbMapNotifyEvent.first_modmap_key	70
+XkbMapNotifyEvent.first_vmodmap_key	71
+XkbMapNotifyEvent.num_key_syms	72
+XkbMapNotifyEvent.num_key_acts	76
+XkbMapNotifyEvent.num_key_behaviors	80
+XkbMapNotifyEvent.num_key_explicit	84
+XkbMapNotifyEvent.num_modmap_keys	88
+XkbMapNotifyEvent.num_vmodmap_keys	92
+XkbMapNotifyEvent.vmods	96
+XkbMapNotifyEvent	104
+XGCValues.function	0
+XGCValues.plane_mask	8
+XGCValues.foreground	16
+XGCValues.background	24
+XGCValues.line_width	32
+XGCValues.line_style	36
+XGCValues.cap_style	40
+XGCValues.join_style	44
+XGCValues.fill_style	48
+XGCValues.fill_rule	52
+XGCValues.arc_mode	56
+XGCValues.tile	64
+XGCValues.stipple	72
+XGCValues.ts_x_origin	80
+XGCValues.ts_y_origin	84
+XGCValues.font	88
+XGCValues.subwindow_mode	96
+XGCValues.graphics_exposures	100
+XGCValues.clip_x_origin	104
+XGCValues.clip_y_origin	108
+XGCValues.clip_mask	112
+XGCValues.dash_offset	120
+XGCValues.dashes	124
+XGCValues	128
+XFocusChangeEvent.type	0
+XFocusChangeEvent.serial	8
+XFocusChangeEvent.send_event	16
+XFocusChangeEvent.display	24
+XFocusChangeEvent.window	32
+XFocusChangeEvent.mode	40
+XFocusChangeEvent.detail	44
+XFocusChangeEvent	48
+XPixmapFormatValues.depth	0
+XPixmapFormatValues.bits_per_pixel	4
+XPixmapFormatValues.scanline_pad	8
+XPixmapFormatValues	12
+XMapEvent.type	0
+XMapEvent.serial	8
+XMapEvent.send_event	16
+XMapEvent.display	24
+XMapEvent.event	32
+XMapEvent.window	40
+XMapEvent.override_redirect	48
+XMapEvent	56
+XkbBellNotifyEvent.type	0
+XkbBellNotifyEvent.serial	8
+XkbBellNotifyEvent.send_event	16
+XkbBellNotifyEvent.display	24
+XkbBellNotifyEvent.time	32
+XkbBellNotifyEvent.xkb_type	40
+XkbBellNotifyEvent.device	44
+XkbBellNotifyEvent.percent	48
+XkbBellNotifyEvent.pitch	52
+XkbBellNotifyEvent.duration	56
+XkbBellNotifyEvent.bell_class	60
+XkbBellNotifyEvent.bell_id	64
+XkbBellNotifyEvent.name	72
+XkbBellNotifyEvent.window	80
+XkbBellNotifyEvent.event_only	88
+XkbBellNotifyEvent	96
+XIMStringConversionText.length	0
+XIMStringConversionText.feedback	8
+XIMStringConversionText.encoding_is_wchar	16
+XIMStringConversionText.string	24
+XIMStringConversionText	32
+XKeyboardState.key_click_percent	0
+XKeyboardState.bell_percent	4
+XKeyboardState.bell_pitch	8
+XKeyboardState.bell_duration	12
+XKeyboardState.led_mask	16
+XKeyboardState.global_auto_repeat	24
+XKeyboardState.auto_repeats	28
+XKeyboardState	64
+XkbEvent.type	0
+XkbEvent.any	0
+XkbEvent.new_kbd	0
+XkbEvent.map	0
+XkbEvent.state	0
+XkbEvent.ctrls	0
+XkbEvent.indicators	0
+XkbEvent.names	0
+XkbEvent.compat	0
+XkbEvent.bell	0
+XkbEvent.message	0
+XkbEvent.accessx	0
+XkbEvent.device	0
+XkbEvent.core	0
+XkbEvent	192
+XPoint.x	0
+XPoint.y	2
+XPoint	4
+XSegment.x1	0
+XSegment.y1	2
+XSegment.x2	4
+XSegment.y2	6
+XSegment	8
+XIconSize.min_width	0
+XIconSize.min_height	4
+XIconSize.max_width	8
+XIconSize.max_height	12
+XIconSize.width_inc	16
+XIconSize.height_inc	20
+XIconSize	24
+XIMCallback.client_data	0
+XIMCallback.callback	8
+XIMCallback	16
+XConfigureEvent.type	0
+XConfigureEvent.serial	8
+XConfigureEvent.send_event	16
+XConfigureEvent.display	24
+XConfigureEvent.event	32
+XConfigureEvent.window	40
+XConfigureEvent.x	48
+XConfigureEvent.y	52
+XConfigureEvent.width	56
+XConfigureEvent.height	60
+XConfigureEvent.border_width	64
+XConfigureEvent.above	72
+XConfigureEvent.override_redirect	80
+XConfigureEvent	88
+XRectangle.x	0
+XRectangle.y	2
+XRectangle.width	4
+XRectangle.height	6
+XRectangle	8
+XkbNamesNotifyEvent.type	0
+XkbNamesNotifyEvent.serial	8
+XkbNamesNotifyEvent.send_event	16
+XkbNamesNotifyEvent.display	24
+XkbNamesNotifyEvent.time	32
+XkbNamesNotifyEvent.xkb_type	40
+XkbNamesNotifyEvent.device	44
+XkbNamesNotifyEvent.changed	48
+XkbNamesNotifyEvent.first_type	52
+XkbNamesNotifyEvent.num_types	56
+XkbNamesNotifyEvent.first_lvl	60
+XkbNamesNotifyEvent.num_lvls	64
+XkbNamesNotifyEvent.num_aliases	68
+XkbNamesNotifyEvent.num_radio_groups	72
+XkbNamesNotifyEvent.changed_vmods	76
+XkbNamesNotifyEvent.changed_groups	80
+XkbNamesNotifyEvent.changed_indicators	84
+XkbNamesNotifyEvent.first_key	88
+XkbNamesNotifyEvent.num_keys	92
+XkbNamesNotifyEvent	96
+XCreateWindowEvent.type	0
+XCreateWindowEvent.serial	8
+XCreateWindowEvent.send_event	16
+XCreateWindowEvent.display	24
+XCreateWindowEvent.parent	32
+XCreateWindowEvent.window	40
+XCreateWindowEvent.x	48
+XCreateWindowEvent.y	52
+XCreateWindowEvent.width	56
+XCreateWindowEvent.height	60
+XCreateWindowEvent.border_width	64
+XCreateWindowEvent.override_redirect	68
+XCreateWindowEvent	72
+XVisibilityEvent.type	0
+XVisibilityEvent.serial	8
+XVisibilityEvent.send_event	16
+XVisibilityEvent.display	24
+XVisibilityEvent.window	32
+XVisibilityEvent.state	40
+XVisibilityEvent	48
+XWMHints.flags	0
+XWMHints.initial_state	12
+XWMHints.icon_pixmap	16
+XWMHints.icon_window	24
+XWMHints.icon_x	32
+XWMHints.icon_y	36
+XWMHints.icon_mask	40
+XWMHints.input	8
+XWMHints.window_group	48
+XWMHints	56
+XCrossingEvent.type	0
+XCrossingEvent.serial	8
+XCrossingEvent.send_event	16
+XCrossingEvent.display	24
+XCrossingEvent.window	32
+XCrossingEvent.root	40
+XCrossingEvent.subwindow	48
+XCrossingEvent.time	56
+XCrossingEvent.x	64
+XCrossingEvent.y	68
+XCrossingEvent.x_root	72
+XCrossingEvent.y_root	76
+XCrossingEvent.mode	80
+XCrossingEvent.detail	84
+XCrossingEvent.same_screen	88
+XCrossingEvent.focus	92
+XCrossingEvent.state	96
+XCrossingEvent	104
+XSelectionRequestEvent.type	0
+XSelectionRequestEvent.serial	8
+XSelectionRequestEvent.send_event	16
+XSelectionRequestEvent.display	24
+XSelectionRequestEvent.owner	32
+XSelectionRequestEvent.requestor	40
+XSelectionRequestEvent.selection	48
+XSelectionRequestEvent.target	56
+XSelectionRequestEvent.property	64
+XSelectionRequestEvent.time	72
+XSelectionRequestEvent	80
+XNoExposeEvent.type	0
+XNoExposeEvent.serial	8
+XNoExposeEvent.send_event	16
+XNoExposeEvent.display	24
+XNoExposeEvent.drawable	32
+XNoExposeEvent.major_code	40
+XNoExposeEvent.minor_code	44
+XNoExposeEvent	48
+XHostAddress.family	0
+XHostAddress.length	4
+XHostAddress.address	8
+XHostAddress	16
+XColormapEvent.type	0
+XColormapEvent.serial	8
+XColormapEvent.send_event	16
+XColormapEvent.display	24
+XColormapEvent.window	32
+XColormapEvent.colormap	40
+XColormapEvent.new	48
+XColormapEvent.state	52
+XColormapEvent	56
+ColorEntry.r	0
+ColorEntry.g	1
+ColorEntry.b	2
+ColorEntry.flags	3
+ColorEntry	4
+XResizeRequestEvent.type	0
+XResizeRequestEvent.serial	8
+XResizeRequestEvent.send_event	16
+XResizeRequestEvent.display	24
+XResizeRequestEvent.window	32
+XResizeRequestEvent.width	40
+XResizeRequestEvent.height	44
+XResizeRequestEvent	48
+Depth.depth	0
+Depth.nvisuals	4
+Depth.visuals	8
+Depth	16
+XPropertyEvent.type	0
+XPropertyEvent.serial	8
+XPropertyEvent.send_event	16
+XPropertyEvent.display	24
+XPropertyEvent.window	32
+XPropertyEvent.atom	40
+XPropertyEvent.time	48
+XPropertyEvent.state	56
+XPropertyEvent	64
+XDestroyWindowEvent.type	0
+XDestroyWindowEvent.serial	8
+XDestroyWindowEvent.send_event	16
+XDestroyWindowEvent.display	24
+XDestroyWindowEvent.event	32
+XDestroyWindowEvent.window	40
+XDestroyWindowEvent	48
+XStandardColormap.colormap	0
+XStandardColormap.red_max	8
+XStandardColormap.red_mult	16
+XStandardColormap.green_max	24
+XStandardColormap.green_mult	32
+XStandardColormap.blue_max	40
+XStandardColormap.blue_mult	48
+XStandardColormap.base_pixel	56
+XStandardColormap.visualid	64
+XStandardColormap.killid	72
+XStandardColormap	80
+XComposeStatus.compose_ptr	0
+XComposeStatus.chars_matched	8
+XComposeStatus	16
+AwtGraphicsConfigData.awt_depth	0
+AwtGraphicsConfigData.awt_cmap	8
+AwtGraphicsConfigData.awt_visInfo	16
+AwtGraphicsConfigData.awt_num_colors	80
+AwtGraphicsConfigData.awtImage	88
+AwtGraphicsConfigData.AwtColorMatch	96
+AwtGraphicsConfigData.monoImage	104
+AwtGraphicsConfigData.monoPixmap	112
+AwtGraphicsConfigData.monoPixmapWidth	120
+AwtGraphicsConfigData.monoPixmapHeight	124
+AwtGraphicsConfigData.monoPixmapGC	128
+AwtGraphicsConfigData.pixelStride	136
+AwtGraphicsConfigData.color_data	144
+AwtGraphicsConfigData.glxInfo	152
+AwtGraphicsConfigData.isTranslucencySupported	160
+AwtGraphicsConfigData.renderPictFormat	168
+AwtGraphicsConfigData	208
+XColor.pixel	0
+XColor.red	8
+XColor.green	10
+XColor.blue	12
+XColor.flags	14
+XColor.pad	15
+XColor	16
+XTextProperty.value	0
+XTextProperty.encoding	8
+XTextProperty.format	16
+XTextProperty.nitems	24
+XTextProperty	32
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/xlibtypes.txt	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,1040 @@
+//
+//
+// This file is used for automated generation of java classes to wrap native structures.
+// The detail on format of this file see WrapperGenerator.java
+//
+// WARNING: if you modified this file, you need to regenerate sizes.64-solaris-i386
+//
+
+XExtData
+    number	int
+    next pointer XExtData
+    free_private pointer
+    private_data	pointer
+XIMText
+    length	short
+    feedback	pointer
+    encoding_is_wchar	Bool
+    string pointer
+XSetWindowAttributes
+    background_pixmap	long
+    background_pixel	long
+    border_pixmap	long
+    border_pixel	long
+    bit_gravity         int
+    win_gravity         int
+    backing_store	int
+    backing_planes	long
+    backing_pixel	long
+    save_under          Bool
+    event_mask          long
+    do_not_propagate_mask	long
+    override_redirect	Bool
+    colormap            long
+    cursor              long
+Visual
+    ext_data    pointer XExtData
+    visualid	long
+    class	int
+    red_mask	long
+    green_mask	long
+    blue_mask	long
+    bits_per_rgb	int
+    map_entries	int
+Depth
+    depth	int
+    nvisuals	int
+    visuals   pointer Visual
+XClassHint
+    res_name	pointer
+    res_class	pointer
+XIMPreeditCaretCallbackStruct
+    position	int
+    direction int
+    style     int
+XmbTextItem
+    chars	pointer byte
+    nchars	int
+    delta	int
+    font_set    pointer
+XStandardColormap
+    colormap    long
+    red_max	long
+    red_mult	long
+    green_max	long
+    green_mult	long
+    blue_max	long
+    blue_mult	long
+    base_pixel	long
+    visualid    long
+    killid      long
+XIMCallback
+    client_data	pointer
+    callback    pointer
+XKeyboardState
+    key_click_percent	int
+    bell_percent	int
+    bell_pitch          int
+    bell_duration	int
+    led_mask            long
+    global_auto_repeat	int
+    auto_repeats	array byte 32
+XCirculateEvent
+    type	int
+    serial	long
+    send_event	Bool
+    display long
+    event	long
+    window	long
+    place	int
+XWMHints
+    flags	long
+    initial_state	int
+    icon_pixmap pointer
+    icon_window long
+    icon_x	int
+    icon_y	int
+    icon_mask long
+    input	Bool
+    window_group long
+XCrossingEvent
+    type	int
+    serial	long
+    send_event	Bool
+    display     long
+    window	long
+    root	long
+    subwindow	long
+    time	ulong
+    x	int
+    y	int
+    x_root	int
+    y_root	int
+    mode	int
+    detail	int
+    same_screen	Bool
+    focus	Bool
+    state	int
+XIMStringConversionText
+    length	short
+    feedback	pointer
+    encoding_is_wchar	Bool
+    string      pointer
+XKeymapEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    key_vector	array byte 32
+XDestroyWindowEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    event	long
+    window	long
+XComposeStatus
+    compose_ptr	pointer
+    chars_matched	int
+XTextItem
+    chars	pointer
+    nchars	int
+    delta	int
+    font	long
+XIMStringConversionCallbackStruct
+    position	short
+    direction     int
+    operation	short
+    factor	short
+    text          pointer XIMStringConversionText
+XOMFontInfo
+    num_font	int
+    font_struct_list pointer
+    font_name_list	pointer
+XClientMessageEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    message_type	Atom
+    format	int
+    data        array long 5
+XMapRequestEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    parent	long
+    window	long
+XSelectionEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    requestor	long
+    selection	Atom
+    target	Atom
+    property	Atom
+    time	ulong
+XVisibilityEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    state	int
+XConfigureRequestEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    parent	long
+    window	long
+    x	int
+    y	int
+    width	int
+    height	int
+    border_width	int
+    above	long
+    detail	int
+    value_mask	long
+Screen
+    ext_data pointer XExtData
+    display pointer
+    root	long
+    width	int
+    height	int
+    mwidth	int
+    mheight	int
+    ndepths	int
+    depths pointer Depth
+    root_depth	int
+    root_visual pointer Visual
+    default_gc  long
+    cmap	long
+    white_pixel	long
+    black_pixel	long
+    max_maps	int
+    min_maps	int
+    backing_store	int
+    save_unders	Bool
+    root_input_mask	long
+XTextProperty
+    value	pointer byte
+    encoding    long
+    format	int
+    nitems	long
+XWindowChanges
+    x	int
+    y	int
+    width	int
+    height	int
+    border_width	int
+    sibling	long
+    stack_mode	int
+XVisualInfo
+    visual      pointer
+    visualid    long
+    screen	int
+    depth	int
+    class	int
+    red_mask	long
+    green_mask	long
+    blue_mask	long
+    colormap_size	int
+    bits_per_rgb	int
+XRenderDirectFormat
+    red         short
+    redMask     short
+    green       short
+    greenMask   short
+    blue        short
+    blueMask    short
+    alpha       short
+    alphaMask   short
+XRenderPictFormat
+    id          long
+    type        int
+    depth       int
+    direct      struct XRenderDirectFormat
+    colormap    long
+XIMHotKeyTrigger
+    keysym	long
+    modifier	int
+    modifier_mask	int
+XIMHotKeyTriggers
+    num_hot_key	int
+    key         pointer XIMHotKeyTrigger
+XIMStyles
+    count_styles	short
+    supported_styles	pointer long
+XIMStatusDrawCallbackStruct
+    type        int
+    data        long
+XWindowAttributes
+    x	int
+    y	int
+    width	int
+    height	int
+    border_width	int
+    depth	int
+    visual      pointer Visual
+    root	long
+    class	int
+    bit_gravity	int
+    win_gravity	int
+    backing_store	int
+    backing_planes	long
+    backing_pixel	long
+    save_under	Bool
+    colormap	long
+    map_installed	Bool
+    map_state	int
+    all_event_masks	long
+    your_event_mask	long
+    do_not_propagate_mask	long
+    override_redirect	Bool
+    screen pointer Screen
+XExtCodes
+    extension	int
+    major_opcode	int
+    first_event	int
+    first_error	int
+XPropertyEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    atom	Atom
+    time	ulong
+    state	int
+
+XSizeHints
+    flags	long
+    x           int
+    y           int
+    width	int
+    height	int
+    min_width	int
+    min_height	int
+    max_width	int
+    max_height	int
+    width_inc	int
+    height_inc	int
+    min_aspect.x int
+    min_aspect.y int
+    max_aspect.x int
+    max_aspect.y int
+    base_width   int
+    base_height  int
+    win_gravity  int
+XIconSize
+    min_width	int
+    min_height	int
+    max_width	int
+    max_height	int
+    width_inc	int
+    height_inc	int
+XwcTextItem
+    chars	pointer
+    nchars	int
+    delta	int
+    font_set    pointer
+XIMPreeditDrawCallbackStruct
+    caret	int
+    chg_first	int
+    chg_length	int
+    text        pointer XIMText
+XErrorEvent
+    type	int
+    display     long
+    resourceid	long
+    serial	long
+    error_code	byte
+    request_code	byte
+    minor_code	byte
+XSelectionClearEvent
+    type	int
+    serial	long
+    send_event	Bool
+    display long
+    window	long
+    selection	Atom
+    time	ulong
+XKeyboardControl
+    key_click_percent	int
+    bell_percent	int
+    bell_pitch	int
+    bell_duration	int
+    led	int
+    led_mode	int
+    key	int
+    auto_repeat_mode	int
+XAnyEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+XTimeCoord
+    time	ulong
+    x	short
+    y	short
+XGravityEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    event	long
+    window	long
+    x           int
+    y           int
+XCharStruct
+    lbearing	short
+    rbearing	short
+    width	short
+    ascent	short
+    descent	short
+    attributes	short
+XArc
+    x	short
+    y	short
+    width	short
+    height	short
+    angle1	short
+    angle2	short
+XPoint
+    x	short
+    y	short
+ScreenFormat
+    ext_data pointer XExtData
+    depth	int
+    bits_per_pixel	int
+    scanline_pad	int
+XFocusChangeEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    mode	int
+    detail	int
+XResizeRequestEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    width	int
+    height	int
+
+XRectangle
+    x	short
+    y	short
+    width	short
+    height	short
+
+XMappingEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    request	int
+    first_keycode	int
+    count	int
+XSegment
+    x1	short
+    y1	short
+    x2	short
+    y2	short
+XColor
+    pixel	long
+    red         short
+    green	short
+    blue	short
+    flags	byte
+    pad         byte
+XKeyEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    root	long
+    subwindow	long
+    time	ulong
+    x	int
+    y	int
+    x_root	int
+    y_root	int
+    state	int
+    keycode	int
+    same_screen	Bool
+XReparentEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    event	long
+    window	long
+    parent	long
+    x           int
+    y           int
+    override_redirect	Bool
+XMotionEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    root	long
+    subwindow	long
+    time	ulong
+    x	int
+    y	int
+    x_root	int
+    y_root	int
+    state	int
+    is_hint	byte
+    same_screen	Bool
+XButtonEvent
+    type	int
+    serial	long
+    send_event Bool
+    display     long
+    window	long
+    root	long
+    subwindow	long
+    time	ulong
+    x	int
+    y	int
+    x_root	int
+    y_root	int
+    state	int
+    button	int
+    same_screen	Bool
+XHostAddress
+    family	int
+    length	int
+    address	pointer
+XOMCharSetList
+    charset_count	int
+    charset_list	pointer
+XNoExposeEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    drawable	long
+    major_code	int
+    minor_code	int
+XSelectionRequestEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    owner	long
+    requestor	long
+    selection	Atom
+    target	Atom
+    property	Atom
+    time	ulong
+XGCValues
+    function	int
+    plane_mask	long
+    foreground	long
+    background	long
+    line_width	int
+    line_style	int
+    cap_style	int
+    join_style	int
+    fill_style	int
+    fill_rule	int
+    arc_mode	int
+    tile	long
+    stipple	long
+    ts_x_origin	int
+    ts_y_origin	int
+    font	long
+    subwindow_mode	int
+    graphics_exposures	Bool
+    clip_x_origin	int
+    clip_y_origin	int
+    clip_mask	long
+    dash_offset	int
+    dashes	byte
+XImage
+    width	int
+    height	int
+    xoffset	int
+    format	int
+    data	pointer byte
+    byte_order	int
+    bitmap_unit	int
+    bitmap_bit_order	int
+    bitmap_pad	int
+    depth	int
+    bytes_per_line	int
+    bits_per_pixel	int
+    red_mask	long
+    green_mask	long
+    blue_mask	long
+    obdata	pointer
+    f.create_image pointer
+    f.destroy_image pointer
+    f.get_pixel pointer
+    f.put_pixel pointer
+    f.sub_image pointer
+    f.add_pixel pointer
+XIMValuesList
+    count_values	short
+    supported_values	pointer
+XColormapEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    colormap	long
+    new         Bool
+    state	int
+XIMPreeditStateNotifyCallbackStruct
+    state	long
+XCreateWindowEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    parent	long
+    window	long
+    x	int
+    y	int
+    width	int
+    height	int
+    border_width	int
+    override_redirect	Bool
+XConfigureEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    event	long
+    window	long
+    x	int
+    y	int
+    width	int
+    height	int
+    border_width	int
+    above	long
+    override_redirect	Bool
+XFontProp
+    name	long
+    card32	long
+XModifierKeymap
+    max_keypermod	int
+    modifiermap	pointer
+XCirculateRequestEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    parent	long
+    window	long
+    place	int
+XChar2b
+    byte1 byte
+    byte2 byte
+XTextItem16
+    chars       pointer XChar2b
+    nchars	int
+    delta	int
+    font	long
+XOMOrientation
+    num_orientation	int
+    orientation         pointer int
+XGraphicsExposeEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    drawable	long
+    x           int
+    y           int
+    width	int
+    height	int
+    count	int
+    major_code	int
+    minor_code	int
+XFontStruct
+    ext_data            pointer XExtData
+    fid                 long
+    direction           int
+    min_char_or_byte2   int
+    max_char_or_byte2   int
+    min_byte1           int
+    max_byte1           int
+    all_chars_exist	Bool
+    n_properties	int
+    properties          pointer XFontProp
+    min_bounds          struct XCharStruct
+    max_bounds          struct XCharStruct
+    per_char            pointer XCharStruct
+    ascent              int
+    descent             int
+XMapEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    event	long
+    window	long
+    override_redirect	int
+XExposeEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    window	long
+    x	int
+    y	int
+    width	int
+    height	int
+    count	int
+
+XFontSetExtents
+    max_ink_extent struct XRectangle
+    max_logical_extent struct XRectangle
+
+XUnmapEvent
+    type	int
+    serial	long
+    send_event  Bool
+    display     long
+    event	long
+    window	long
+    from_configure	Bool
+PropMwmHints
+    flags       long
+    functions   long
+    decorations long
+    inputMode   long
+    status      long
+XPixmapFormatValues
+    depth int
+    bits_per_pixel int
+    scanline_pad int
+awtImageData
+    Depth int
+    wsImageFormat struct XPixmapFormatValues
+    clrdata pointer
+    convert array pointer 32
+ColorEntry
+    r byte
+    g byte
+    b byte
+    flags byte
+ColorData
+    awt_Colors pointer ColorEntry
+    awt_numICMcolors int
+    awt_icmLUT pointer int
+    awt_icmLUT2Colors pointer byte
+    img_grays pointer byte
+    img_clr_tbl pointer byte
+    img_oda_red pointer byte
+    img_oda_green pointer byte
+    img_oda_blue pointer byte
+    pGrayInverseLutData pointer int
+    screendata int
+
+AwtGraphicsConfigData
+    awt_depth int
+    awt_cmap long
+    awt_visInfo struct XVisualInfo
+    awt_num_colors int
+    awtImage pointer awtImageData
+    AwtColorMatch pointer
+    monoImage pointer
+    monoPixmap long
+    monoPixmapWidth int
+    monoPixmapHeight int
+    monoPixmapGC long
+    pixelStride int
+    color_data pointer ColorData
+    glxInfo pointer
+    isTranslucencySupported int
+    renderPictFormat struct XRenderPictFormat
+
+AwtScreenData
+    numConfigs int
+    root long
+    whitepixel long
+    blackpixel long
+    defaultConfig pointer AwtGraphicsConfigData
+    configs pointer      // AwtGraphicsConfigDataPtr *configs;
+
+XdbeSwapInfo
+    swap_window long
+    swap_action int
+
+XEvent
+   type int
+   xany struct XAnyEvent
+   xkey struct XKeyEvent
+   xbutton struct XButtonEvent
+   xmotion struct XMotionEvent
+   xcrossing struct XCrossingEvent
+   xfocus struct XFocusChangeEvent
+   xexpose struct XExposeEvent
+   xgraphicsexpose struct XGraphicsExposeEvent
+   xnoexpose struct XNoExposeEvent
+   xvisibility struct XVisibilityEvent
+   xcreatewindow struct XCreateWindowEvent
+   xdestroywindow struct XDestroyWindowEvent
+   xunmap struct XUnmapEvent
+   xmap struct XMapEvent
+   xmaprequest struct XMapRequestEvent
+   xreparent struct XReparentEvent
+   xconfigure struct XConfigureEvent
+   xgravity struct XGravityEvent
+   xresizerequest struct XResizeRequestEvent
+   xconfigurerequest struct XConfigureRequestEvent
+   xcirculate struct XCirculateEvent
+   xcirculaterequest struct XCirculateRequestEvent
+   xproperty struct XPropertyEvent
+   xselectionclear struct XSelectionClearEvent
+   xselectionrequest struct XSelectionRequestEvent
+   xselection struct XSelectionEvent
+   xcolormap struct XColormapEvent
+   xclient struct XClientMessageEvent
+   xmapping struct XMappingEvent
+   xerror struct XErrorEvent
+   xkeymap struct XKeymapEvent
+   pad array long 24
+
+XkbAnyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+
+XkbNewKeyboardNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    old_device  int
+    min_key_code  int
+    max_key_code  int
+    old_min_key_code  int
+    old_max_key_code  int
+    changed  int
+    req_major  byte
+    req_minor  byte
+
+XkbMapNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    changed  int
+    flags  int
+    first_type  int
+    num_types  int
+    min_key_code  int
+    max_key_code  int
+    first_key_sym  int
+    first_key_act  int
+    first_key_behavior  int
+    first_key_explicit  int
+    first_modmap_key  int
+    first_vmodmap_key  int
+    num_key_syms  int
+    num_key_acts  int
+    num_key_behaviors  int
+    num_key_explicit  int
+    num_modmap_keys  int
+    num_vmodmap_keys  int
+    vmods  int
+
+XkbStateNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    changed  int
+    group  int
+    base_group  int
+    latched_group  int
+    locked_group  int
+    mods  int
+    base_mods  int
+    latched_mods  int
+    locked_mods  int
+    compat_state  int
+    grab_mods  byte
+    compat_grab_mods  byte
+    lookup_mods  byte
+    compat_lookup_mods  byte
+    ptr_buttons  int
+    keycode  int
+    event_type  byte
+    req_major  byte
+    req_minor  byte
+
+XkbControlsNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    changed_ctrls  int
+    enabled_ctrls  int
+    enabled_ctrl_changes  int
+    num_groups  int
+    keycode  int
+    event_type  byte
+    req_major  byte
+    req_minor  byte
+
+XkbIndicatorNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    changed  int
+    state  int
+
+XkbNamesNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    changed  int
+    first_type  int
+    num_types  int
+    first_lvl  int
+    num_lvls  int
+    num_aliases  int
+    num_radio_groups  int
+    changed_vmods  int
+    changed_groups  int
+    changed_indicators  int
+    first_key  int
+    num_keys  int
+
+
+XkbCompatMapNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    changed_groups  int
+    first_si  int
+    num_si  int
+    num_total_si  int
+
+XkbBellNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    percent  int
+    pitch  int
+    duration  int
+    bell_class  int
+    bell_id  int
+    name  Atom
+    window  long
+    event_only  Bool
+
+XkbActionMessageEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    keycode  int
+    press  Bool
+    key_event_follows  Bool
+    group  int
+    mods  int
+    message array byte 7 //XkbActionMessageLength+1
+
+XkbAccessXNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    detail  int
+    keycode  int
+    sk_delay  int
+    debounce_delay  int
+
+XkbExtensionDeviceNotifyEvent
+    type  int
+    serial  ulong
+    send_event  Bool
+    display  long
+    time  ulong
+    xkb_type  int
+    device  int
+    reason  int
+    supported  int
+    unsupported  int
+    first_btn  int
+    num_btns  int
+    leds_defined  int
+    led_state  int
+    led_class  int
+    led_id  int
+
+XkbEvent
+    type  int
+    any  struct XkbAnyEvent
+    new_kbd  struct XkbNewKeyboardNotifyEvent
+    map  struct XkbMapNotifyEvent
+    state  struct XkbStateNotifyEvent
+    ctrls  struct XkbControlsNotifyEvent
+    indicators  struct XkbIndicatorNotifyEvent
+    names  struct XkbNamesNotifyEvent
+    compat  struct XkbCompatMapNotifyEvent
+    bell  struct XkbBellNotifyEvent
+    message  struct XkbActionMessageEvent
+    accessx  struct XkbAccessXNotifyEvent
+    device  struct XkbExtensionDeviceNotifyEvent
+    core  struct XEvent
--- a/jdk/make/gensrc/GensrcIcons.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/gensrc/GensrcIcons.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/make/gensrc/GensrcLocaleDataMetaInfo.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/gensrc/GensrcLocaleDataMetaInfo.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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)
 
--- a/jdk/make/gensrc/GensrcMisc.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/gensrc/GensrcMisc.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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 }')
--- a/jdk/make/gensrc/GensrcX11Wrappers.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/gensrc/GensrcX11Wrappers.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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)
--- a/jdk/make/lib/Awt2dLibraries.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/lib/Awt2dLibraries.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/make/lib/PlatformLibraries.gmk	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/make/lib/PlatformLibraries.gmk	Thu Feb 20 16:27:08 2014 -0800
@@ -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) \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/src/classes/build/tools/x11wrappergen/WrapperGenerator.java	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,1368 @@
+/*
+ * 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
+ * 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 build.tools.x11wrappergen;
+
+import java.util.*;
+import java.io.*;
+import java.nio.charset.*;
+import java.text.MessageFormat;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+public class WrapperGenerator {
+    /* XLibParser converts Xlib.h to a Java Object that encapsulates the
+     * X11 API and data structures */
+    // Charset and decoder for ISO-8859-15
+    private final static Logger log = Logger.getLogger("WrapperGenerator");
+    boolean generateLog = true;
+    boolean wide;
+    private static Charset charset = Charset.forName("ISO-8859-15");
+
+    String package_name = "sun.awt.X11";
+    String package_path = "sun/awt/X11";
+    String sizerFileName = "sizer.c";
+    String defaultBaseClass = "XWrapperBase";
+
+    String compile_options = "-lX11";
+    static Hashtable symbolTable = new Hashtable();
+    static Hashtable sizeTable32bit = new Hashtable();
+    static Hashtable sizeTable64bit = new Hashtable();
+    static Hashtable knownSizes32 = new Hashtable();
+    static Hashtable knownSizes64 = new Hashtable();
+    static {
+/*
+        knownSizes64.put("", Integer.valueOf());
+        knownSizes32.put("", Integer.valueOf());
+*/
+        knownSizes64.put("XComposeStatus", Integer.valueOf(16));
+        knownSizes64.put("XTimeCoord", Integer.valueOf(16));
+        knownSizes64.put("XExtData", Integer.valueOf(32));
+        knownSizes64.put("XWindowChanges", Integer.valueOf(40));
+        knownSizes64.put("XOMCharSetList", Integer.valueOf(16));
+        knownSizes64.put("XModifierKeymap", Integer.valueOf(16));
+        knownSizes32.put("XIMValuesList", Integer.valueOf(8));
+        knownSizes32.put("XGCValues", Integer.valueOf(92));
+//          knownSizes32.put("XIMStringConversionCallbackStruct", Integer.valueOf(16));
+    }
+
+    private static abstract class BaseType {
+
+        String real_type;
+        String name;
+
+
+        public String getName() {
+            return name;
+        }
+        public String getRealType() {
+            return real_type;
+        }
+
+        public String toString() {
+            return name;
+        }
+    }
+
+    private static class AtomicType extends BaseType {
+
+        private boolean alias;
+        private String aliasName;
+
+        static final int TYPE_INT=0;
+        static final int TYPE_CHAR=1;
+        static final int TYPE_LONG=2;
+        static final int TYPE_LONG_LONG=3;
+        static final int TYPE_DOUBLE=4;
+        static final int TYPE_FLOAT=5;
+        static final int TYPE_PTR=6;
+        static final int TYPE_SHORT=7;
+        static final int TYPE_BOOL = 8;
+        static final int TYPE_STRUCT = 9;
+        static final int TYPE_ARRAY = 10;
+        static final int TYPE_BYTE=11;
+        static final int TYPE_ATOM = 12;
+        static final int TYPE_ULONG = 13;
+        static int getTypeForString(String str) {
+            int type=-1;
+            if (str.equals("int"))
+                type = AtomicType.TYPE_INT;
+            else if (str.equals("long"))
+                type = AtomicType.TYPE_LONG;
+            else if (str.equals("byte"))
+                type = AtomicType.TYPE_BYTE;
+            else if (str.equals("char"))
+                type = AtomicType.TYPE_CHAR;
+            else if (str.equals("long long"))
+                type = AtomicType.TYPE_LONG_LONG;
+            else if (str.equals("double"))
+                type = AtomicType.TYPE_DOUBLE;
+            else if (str.equals("float"))
+                type = AtomicType.TYPE_FLOAT;
+            else if (str.equals("pointer"))
+                type = AtomicType.TYPE_PTR;
+            else if (str.equals("short"))
+                type = AtomicType.TYPE_SHORT;
+            else if (str.equals("Bool"))
+                type = AtomicType.TYPE_BOOL;
+            else if (str.equals("struct"))
+                type = AtomicType.TYPE_STRUCT;
+            else if (str.equals("Atom"))
+                type = AtomicType.TYPE_ATOM;
+            else if (str.equals("array"))
+                type = TYPE_ARRAY;
+            else if (str.equals("ulong"))
+                type = TYPE_ULONG;
+            else throw new IllegalArgumentException("Uknown type string: " + str);
+
+            return type;
+        }
+        String getJavaType() {
+            if (referencedType != null) {
+                if (referencedType instanceof AtomicType) {
+                    return ((AtomicType)referencedType).getJavaType();
+                } else {
+                    return referencedType.getName();
+                }
+            } else {
+                return getJavaTypeForType(type);
+            }
+        }
+        static String getJavaTypeForType(int type) {
+            switch (type) {
+              case TYPE_INT:
+                  return "int";
+              case TYPE_CHAR:
+                  return "char";
+              case TYPE_BYTE:
+                  return "byte";
+              case TYPE_LONG:
+              case TYPE_LONG_LONG:
+              case TYPE_PTR:
+              case TYPE_ULONG:
+                  return "long";
+              case TYPE_DOUBLE:
+                  return "double";
+              case TYPE_FLOAT:
+                  return "float";
+              case TYPE_SHORT:
+                  return "short";
+              case TYPE_BOOL:
+                  return "boolean";
+              case TYPE_ATOM:
+                  return "long";
+              default:
+                  throw new IllegalArgumentException("Unknown type: " + type);
+            }
+        }
+        String getItemSize() {
+            if (referencedType != null) {
+                  if (referencedType instanceof StructType) {
+                      return ((StructType)referencedType).getSize();
+                  } else {
+                      return ((AtomicType)referencedType).getItemSize();
+                  }
+            } else {
+                int i32 = getNativeSizeForAccess(getJavaAccess(false));
+                int i64 = getNativeSizeForAccess(getJavaAccess(true));
+                if (i32 != i64) {
+                    return "Native.get" + getNativeAccess() + "Size()";
+                } else {
+                    return Integer.toString(i32);
+                }
+            }
+        }
+
+        String getJavaResult(String offset, String base) {
+            String res = null;
+            switch (type) {
+              case TYPE_STRUCT:
+                  res = "pData + " + offset;
+                  break;
+              case TYPE_PTR:
+                  if (referencedType == null || referencedType instanceof StructType) {
+                      res = base + "+" + offset;
+                  } else if (referencedType instanceof AtomicType) {
+                      res = MessageFormat.format("Native.get{0}({1})",
+                                                 new Object[] {getNativeAccessForType(((AtomicType)referencedType).type),
+                                                               base + "+" + offset});
+                  }
+                  break;
+              case TYPE_ARRAY:
+                  if (referencedType instanceof StructType) {
+                      res = "pData + " + offset;
+                  }  else if (referencedType instanceof AtomicType) {
+                      res = MessageFormat.format("Native.get{0}(pData + {1})",
+                                                 new Object[] {getNativeAccessForType(((AtomicType)referencedType).type),
+                                                               offset});
+                  }
+                  break;
+              default:
+                res = MessageFormat.format("(Native.get{0}(pData+{1}))",
+                                           new Object[] {getNativeAccess(), offset});
+            }
+            return getJavaResultConversion(res, base);
+        }
+        String getJavaResultConversion(String value, String base) {
+            if (referencedType != null) {
+                if (referencedType instanceof StructType) {
+                    if (type == TYPE_PTR) {
+                        return MessageFormat.format("({2} != 0)?(new {0}({1})):(null)", new Object[] {referencedType.getName(),value, base});
+                    } else {
+                        return MessageFormat.format("new {0}({1})", new Object[] {referencedType.getName(),value});
+                    }
+                } else {
+                    return value;
+                }
+            } else {
+                return getJavaResultConversionForType(type, value);
+            }
+        }
+        static String getJavaResultConversionForType(int type, String value) {
+            return value;
+        }
+        String getNativeAccess() {
+            return getNativeAccessForType(type);
+        }
+        String getJavaAccess(boolean wide) {
+            return getJavaAccessForType(type, wide);
+        }
+        static String getJavaAccessForType(int type, boolean wide) {
+            switch (type) {
+              case TYPE_INT:
+                  return "Int";
+              case TYPE_CHAR:
+                  return "Char";
+              case TYPE_BYTE:
+                  return "Byte";
+              case TYPE_LONG:
+              case TYPE_PTR:
+              case TYPE_ARRAY:
+              case TYPE_STRUCT:
+              case TYPE_ATOM:
+                  return (wide?"Long":"Int");
+              case TYPE_LONG_LONG:
+                  return "Long";
+              case TYPE_ULONG:
+                  return (wide?"ULong":"UInt");
+              case TYPE_DOUBLE:
+                  return "Double";
+              case TYPE_FLOAT:
+                  return "Float";
+              case TYPE_SHORT:
+                  return "Short";
+              case TYPE_BOOL:
+                  return "Int";
+              default:
+                  throw new IllegalArgumentException("Unknown type: " + type);
+            }
+        }
+        static String getNativeAccessForType(int type) {
+            switch (type) {
+              case TYPE_INT:
+                  return "Int";
+              case TYPE_CHAR:
+                  return "Char";
+              case TYPE_BYTE:
+                  return "Byte";
+              case TYPE_LONG:
+              case TYPE_PTR:
+              case TYPE_ARRAY:
+              case TYPE_STRUCT:
+                  return "Long";
+              case TYPE_LONG_LONG:
+                  return "Long";
+              case TYPE_ULONG:
+                  return "ULong";
+              case TYPE_DOUBLE:
+                  return "Double";
+              case TYPE_FLOAT:
+                  return "Float";
+              case TYPE_SHORT:
+                  return "Short";
+              case TYPE_BOOL:
+                  return "Bool";
+              case TYPE_ATOM:
+                  return "Long";
+              default:
+                  throw new IllegalArgumentException("Unknown type: " + type);
+            }
+        }
+
+        static int getNativeSizeForAccess(String access) {
+            if (access.equals("Int")) return 4;
+            else if (access.equals("Byte")) return 1;
+            else if (access.equals("Long")) return 8;
+            else if (access.equals("Double")) return 8;
+            else if (access.equals("Float")) return 4;
+            else if (access.equals("Char")) return 2;
+            else if (access.equals("Short")) return 2;
+            else if (access.equals("ULong")) return 8;
+            else if (access.equals("UInt")) return 4;
+            else throw new IllegalArgumentException("Unknow access type: " + access);
+        }
+
+        String getJavaConversion(String offset, String value) {
+            if (referencedType != null) {
+                if (referencedType instanceof StructType) {
+                    return getJavaConversionForType(TYPE_PTR, offset, value + ".pData");
+                } else {
+                    if (type == TYPE_ARRAY) {
+                        return getJavaConversionForType(((AtomicType)referencedType).type, offset, value);
+                    } else { // TYPE_PTR
+                        return getJavaConversionForType(TYPE_PTR, offset, value);
+                    }
+                }
+            } else {
+                return getJavaConversionForType(type, offset, value);
+            }
+        }
+        static String getJavaConversionForType(int type, String offset, String value) {
+            return MessageFormat.format("Native.put{0}({2}, {1})", new Object[] {getNativeAccessForType(type), value, offset});
+        }
+
+
+        int type;
+        int offset;
+        int direction;
+        BaseType referencedType;
+        int arrayLength = -1;
+        boolean autoFree = false;
+        public AtomicType(int _type,String _name, String _real_type) {
+            name = _name.replaceAll("[* \t]","");
+            if ((name.indexOf("[") != -1) || (name.indexOf("]") != -1))
+            {
+                name = name.replaceAll("\\[.*\\]","");
+            }
+            type = _type;
+            real_type = _real_type;
+            if (real_type == null)
+            {
+                System.out.println(" real type is null");
+
+            }
+        }
+        public boolean isIn() {
+            return direction == 0;
+        }
+        public boolean isOut() {
+            return direction == 1;
+        }
+        public boolean isInOut() {
+            return direction == 2;
+        }
+        public boolean isAutoFree() {
+            return autoFree;
+        }
+        public void setAttributes(String[] attributes) {
+            String mod = attributes[3];
+            if ("in".equals(mod)) {
+                direction = 0;
+            } else if ("out".equals(mod)) {
+                direction = 1;
+                if (attributes.length > 4 && "free".equals(attributes[4])) {
+                    autoFree = true;
+                }
+            } else if ("inout".equals(mod)) {
+                direction = 2;
+            } else if ("alias".equals(mod)) {
+                alias = true;
+                aliasName = attributes[4];
+            } else if (type == TYPE_ARRAY || type == TYPE_PTR || type == TYPE_STRUCT) {
+                referencedType = (BaseType)symbolTable.get(mod);
+                if (referencedType == null) {
+                    log.warning("Can't find type for name " + mod);
+                }
+                if (attributes.length > 4) { // array length
+                    try {
+                        arrayLength = Integer.parseInt(attributes[4]);
+                    } catch (Exception e) {
+                    }
+                }
+            }
+        }
+        public BaseType getReferencedType() {
+            return referencedType;
+        }
+        public int getArrayLength() {
+            return arrayLength;
+        }
+        public void setOffset(int o)
+        {
+            offset = o;
+        }
+        public int getType() {
+            return type;
+        }
+        public String getTypeUpperCase() {
+            switch (type) {
+              case TYPE_INT:
+                  return "Int";
+              case TYPE_CHAR:
+                  return "Char";
+              case TYPE_BYTE:
+                  return "Byte";
+              case TYPE_LONG:
+              case TYPE_LONG_LONG:
+              case TYPE_PTR:
+                  return "Long";
+              case TYPE_DOUBLE:
+                  return "Double";
+              case TYPE_FLOAT:
+                  return "Float";
+              case TYPE_SHORT:
+                  return "Short";
+              case TYPE_BOOL:
+                  return "Int";
+              case TYPE_ATOM:
+                  return "Long";
+              case TYPE_ULONG:
+                  return "ULong";
+              default: throw new IllegalArgumentException("Uknown type");
+            }
+        }
+        public int getOffset()
+        {
+            return offset;
+        }
+        public boolean isAlias() {
+            return alias;
+        }
+        public String getAliasName() {
+            return aliasName;
+        }
+    }
+
+    private static class StructType extends BaseType {
+
+        Vector members;
+        String description;
+        boolean packed;
+        int size;
+        String baseClass, interfaces;
+        boolean isInterface;
+        String javaClassName;
+
+        /**
+         * Construct new structured type.
+         * Description is used for name and type definition and has the following format:
+         * structName [ '[' base classe ']' ] [ '{' interfaces '}' ] [ '|' javaClassName ]
+         */
+        public StructType(String _desc)
+        {
+            members = new Vector();
+            parseDescription(_desc);
+        }
+        public int getNumFields()
+        {
+            return members.size();
+        }
+        public void setName(String _name)
+        {
+            _name = _name.replaceAll("[* \t]","");
+            parseDescription(_name);
+        }
+
+        public void setSize(int i)
+        {
+            size = i;
+        }
+
+        public String getDescription()
+        {
+            return description;
+        }
+
+        public Enumeration getMembers()
+        {
+            return members.elements();
+        }
+
+        public void addMember(BaseType tp)
+        {
+            members.add(tp);
+        }
+        public String getBaseClass() {
+            return baseClass;
+        }
+        public String getInterfaces() {
+            return interfaces;
+        }
+        public boolean getIsInterface() {
+            return isInterface;
+        }
+        public String getJavaClassName() {
+            return javaClassName;
+        }
+        void parseDescription(String _desc) {
+            if (_desc.indexOf('[') != -1) { // Has base class
+                baseClass = _desc.substring(_desc.indexOf('[')+1, _desc.indexOf(']'));
+                _desc = _desc.substring(0, _desc.indexOf('[')) + _desc.substring(_desc.indexOf(']')+1);
+            }
+            if (_desc.indexOf('{') != -1) { // Has base class
+                interfaces = _desc.substring(_desc.indexOf('{')+1, _desc.indexOf('}'));
+                _desc = _desc.substring(0, _desc.indexOf('{')) + _desc.substring(_desc.indexOf('}')+1);
+            }
+            if (_desc.startsWith("-")) { // Interface
+                isInterface = true;
+                _desc = _desc.substring(1, _desc.length());
+            }
+            if (_desc.indexOf("|") != -1) {
+                javaClassName = _desc.substring(_desc.indexOf('|')+1, _desc.length());
+                _desc = _desc.substring(0, _desc.indexOf('|'));
+            }
+            name = _desc;
+            if (javaClassName == null) {
+                javaClassName = name;
+            }
+            description = _desc;
+//              System.out.println("Struct " + name + " extends " + baseClass + " implements " + interfaces);
+        }
+
+        /**
+         * Returns String containing Java code calculating size of the structure depending on the data model
+         */
+        public String getSize() {
+            String s32 = (String) WrapperGenerator.sizeTable32bit.get(getName());
+            String s64 = (String) WrapperGenerator.sizeTable64bit.get(getName());
+            if (s32 == null || s64 == null) {
+                return (s32 == null)?(s64):(s32);
+            }
+            if (s32.equals(s64)) {
+                return s32;
+            } else {
+                return MessageFormat.format("((XlibWrapper.dataModel == 32)?({0}):({1}))", new Object[] {s32, s64});
+            }
+        }
+        public String getOffset(AtomicType atp) {
+            String key = getName()+"."+(atp.isAlias() ? atp.getAliasName() : atp.getName());
+            String s64 = (String) WrapperGenerator.sizeTable64bit.get(key);
+            String s32 = (String) WrapperGenerator.sizeTable32bit.get(key);
+            if (s32 == null || s64 == null) {
+                return (s32 == null)?(s64):(s32);
+            }
+            if (s32.equals(s64)) {
+                return s32;
+            } else {
+                return MessageFormat.format("((XlibWrapper.dataModel == 32)?({0}):({1}))", new Object[]{s32, s64});
+            }
+        }
+    }
+
+    private static class FunctionType extends BaseType {
+
+        Vector args;
+        String description;
+        boolean packed;
+        String returnType;
+
+        int alignment;
+
+        public FunctionType(String _desc)
+        {
+            args = new Vector();
+            description = _desc;
+            setName(_desc);
+        }
+        boolean isVoid() {
+            return (returnType == null);
+        }
+        String getReturnType() {
+            if (returnType == null) {
+                return "void";
+            } else {
+                return returnType;
+            }
+        }
+
+        public int getNumArgs()
+        {
+            return args.size();
+        }
+        public void setName(String _name)
+        {
+            if (_name.startsWith("!")) {
+                _name = _name.substring(1, _name.length());
+            }
+            if (_name.indexOf("|") != -1) {
+                returnType = _name.substring(_name.indexOf("|")+1, _name.length());
+                _name = _name.substring(0, _name.indexOf("|"));
+            }
+            name = _name.replaceAll("[* \t]","");
+        }
+
+        public String getDescription()
+        {
+            return description;
+        }
+
+        public Collection getArguments()
+        {
+            return args;
+        }
+        public void addArgument(BaseType tp)
+        {
+            args.add(tp);
+        }
+    }
+
+    public String makeComment(String str)
+    {
+        StringTokenizer st = new StringTokenizer(str,"\r\n");
+        String ret="";
+
+        while (st.hasMoreTokens())
+        {
+            ret = ret + "//" + st.nextToken() + "\n";
+        }
+
+        return ret;
+    }
+
+    public String getJavaTypeForSize(int size) {
+        switch(size) {
+          case 1: return "byte";
+          case 2: return "short";
+          case 4: return "int";
+          case 8: return "long";
+          default: throw new RuntimeException("Unsupported size: " + size);
+        }
+    }
+    public String getOffsets(StructType stp,AtomicType atp, boolean wide)
+    {
+        String key = stp.getName()+"."+atp.getName();
+        return wide == true ? (String) sizeTable64bit.get(key) : (String) sizeTable32bit.get(key);
+    }
+
+    public String getStructSize(StructType stp, boolean wide)
+    {
+        return wide == true ? (String) sizeTable64bit.get(stp.getName()) : (String) sizeTable32bit.get(stp.getName());
+    }
+
+    public int getLongSize(boolean wide)
+    {
+        return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("long") : (String)sizeTable32bit.get("long"));
+    }
+
+    public int getPtrSize(boolean wide)
+    {
+        return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("ptr") : (String)sizeTable32bit.get("ptr"));
+    }
+    public int getBoolSize(boolean wide) {
+        return getOrdinalSize("Bool", wide);
+    }
+    public int getOrdinalSize(String ordinal, boolean wide) {
+        return Integer.parseInt(wide == true ? (String)sizeTable64bit.get(ordinal) : (String)sizeTable32bit.get(ordinal));
+    }
+
+    public void writeToString(StructType stp, PrintWriter pw) {
+        int type;
+        pw.println("\n\n\tString getName() {\n\t\treturn \"" + stp.getName()+ "\"; \n\t}");
+        pw.println("\n\n\tString getFieldsAsString() {\n\t\tStringBuilder ret = new StringBuilder(" + stp.getNumFields() * 40 + ");\n");
+
+        for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+            AtomicType tp = (AtomicType) e.nextElement();
+
+            type = tp.getType();
+            String name = tp.getName().replace('.', '_');
+            if ((name != null) && (name.length() > 0))
+            {
+                if (type == AtomicType.TYPE_ATOM) {
+                    pw.println("\t\tret.append(\"" + name + " = \" ).append( XAtom.get(get_" + name + "()) ).append(\", \");");
+                } else if (name.equals("type")) {
+                    pw.println("\t\tret.append(\"type = \").append( XlibWrapper.eventToString[get_type()] ).append(\", \");");
+                } else if (name.equals("window")){
+                    pw.println("\t\tret.append(\"window = \" ).append( getWindow(get_window()) ).append(\", \");");
+                } else if (type == AtomicType.TYPE_ARRAY) {
+                    pw.print("\t\tret.append(\"{\")");
+                    for (int i = 0; i < tp.getArrayLength(); i++) {
+                        pw.print("\n\t\t.append( get_" + name + "(" + i + ") ).append(\" \")");
+                    }
+                    pw.println(".append( \"}\");");
+                } else {
+                    pw.println("\t\tret.append(\"" + name +" = \").append( get_"+ name+"() ).append(\", \");");
+                }
+            }
+
+        }
+        pw.println("\t\treturn ret.toString();\n\t}\n\n");
+    }
+
+    public void writeStubs(StructType stp, PrintWriter pw) {
+        int type;
+        String prefix = "";
+        if (!stp.getIsInterface()) {
+            prefix = "\t\tabstract ";
+        } else {
+            prefix = "\t";
+        }
+        for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+            AtomicType tp = (AtomicType) e.nextElement();
+
+            type = tp.getType();
+            String name = tp.getName().replace('.','_');
+            if ((name != null) && (name.length() > 0))
+            {
+                if (type == AtomicType.TYPE_ARRAY) {
+                    // Returns pointer to the start of the array
+                    pw.println(prefix + "long get_" +name +"();");
+
+                    pw.println(prefix + tp.getJavaType() + " get_" +name +"(int index);");
+                    pw.println(prefix + "void set_" +name +"(int index, " + tp.getJavaType() + " v);");
+                } else {
+                    pw.println(prefix + tp.getJavaType() + " get_" +name +"();");
+                    if (type != AtomicType.TYPE_STRUCT) pw.println(prefix + "void set_" +name +"(" + tp.getJavaType() + " v);");
+                }
+            }
+        }
+    }
+
+    private int padSize(int size, int wordLength) {
+        int bytesPerWord = wordLength / 8;
+        // Make size dividable by bytesPerWord
+        return (size + bytesPerWord / 2) / bytesPerWord * bytesPerWord;
+    }
+
+    public void writeAccessorImpls(StructType stp, PrintWriter pw) {
+        int type;
+        int i=0;
+        String s_size_32 = getStructSize(stp, false);
+        String s_size_64 = getStructSize(stp, true);
+        int acc_size_32 = 0;
+        int acc_size_64 = 0;
+        String s_log = (generateLog?"log.finest(\"\");":"");
+        for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+            AtomicType tp = (AtomicType) e.nextElement();
+
+            type = tp.getType();
+            String name = tp.getName().replace('.','_');
+            String pref = "\tpublic " ;
+            if ((name != null) && (name.length() > 0))
+            {
+                String jt = tp.getJavaType();
+                String ja_32 = tp.getJavaAccess(false);
+                String ja_64 = tp.getJavaAccess(true);
+                String ja = ja_32;
+                int elemSize_32 = AtomicType.getNativeSizeForAccess(ja_32);
+                int elemSize_64 = AtomicType.getNativeSizeForAccess(ja_64);
+                String elemSize = tp.getItemSize();
+                if (type == AtomicType.TYPE_ARRAY) {
+                    acc_size_32 += elemSize_32 * tp.getArrayLength();
+                    acc_size_64 += elemSize_64 * tp.getArrayLength();
+                    pw.println(pref + tp.getJavaType() + " get_" +name + "(int index) { " +s_log+"return " +
+                               tp.getJavaResult(stp.getOffset(tp) + "+index*" + elemSize, null) + "; }");
+                    if (tp.getReferencedType() instanceof AtomicType) { // Set for StructType is forbidden
+                        pw.println(MessageFormat.format(pref + "void set_{0}(int index, {1} v) '{' {3} {2}; '}'",
+                                                        new Object[] {
+                                                            name, jt,
+                                                            tp.getJavaConversion("pData+"+stp.getOffset(tp)+" + index*" + elemSize, "v"),
+                                                            s_log}));
+                    }
+                    // Returns pointer to the start of the array
+                    pw.println(pref + "long get_" +name+ "() { "+s_log+"return pData+"+stp.getOffset(tp)+"; }");
+                } else if (type == AtomicType.TYPE_PTR) {
+                    pw.println(MessageFormat.format(pref + "{0} get_{1}(int index) '{' {3} return {2}; '}'",
+                                         new Object[] {
+                                             jt, name,
+                                             tp.getJavaResult("index*" + elemSize, "Native.getLong(pData+"+stp.getOffset(tp)+")"),
+                                             s_log
+                                             }));
+                    pw.println(pref + "long get_" +name+ "() { "+s_log+"return Native.getLong(pData+"+stp.getOffset(tp)+"); }");
+                    pw.println(MessageFormat.format(pref + "void set_{0}({1} v) '{' {3} {2}; '}'",
+                                                    new Object[] {name, "long", "Native.putLong(pData + " + stp.getOffset(tp) + ", v)", s_log}));
+                    acc_size_32 += elemSize_32;
+                    acc_size_64 += elemSize_64;
+                } else {
+                    acc_size_32 += elemSize_32;
+                    acc_size_64 += elemSize_64;
+                    pw.println(pref + tp.getJavaType() + " get_" +name +
+                               "() { "+s_log+"return " + tp.getJavaResult(stp.getOffset(tp), null) + "; }");
+                    if (type != AtomicType.TYPE_STRUCT) {
+                        pw.println(MessageFormat.format(pref + "void set_{0}({1} v) '{' {3} {2}; '}'",
+                                                        new Object[] {name, jt, tp.getJavaConversion("pData+"+stp.getOffset(tp), "v"), s_log}));
+                    }
+                }
+                i++;
+            }
+        }
+        if (s_size_32 != null && !s_size_32.equals(Integer.toString(acc_size_32))) {
+            if (log.isLoggable(Level.FINE)) {
+                log.fine("32 bits: The size of the structure " + stp.getName() + " " + s_size_32 +
+                        " is not equal to the accumulated size " +acc_size_32 + " of the fields");
+            }
+        } else if (s_size_64 != null && !s_size_64.equals(Integer.toString(acc_size_64))) {
+            if (log.isLoggable(Level.FINE)) {
+                log.fine("64 bits: The size of the structure " + stp.getName() + " " +s_size_64+
+                        " is not equal to the accumulated size " +acc_size_64+" of the fields");
+            }
+        }
+    }
+
+    public void writeWrapperSubclass(StructType stp, PrintWriter pw, boolean wide) {
+
+
+        pw.println("class " + stp.getJavaClassName() + "AccessorImpl"  + " extends " + stp.getJavaClassName() + "Accessor  {");
+        pw.println("/*\nThis class serves as a Wrapper for the following X Struct \nsThe offsets here are calculated based on actual compiler.\n\n" +stp.getDescription() + "\n\n */");
+
+        writeAccessorImpls(stp, pw);
+
+        pw.println("\n\n } \n\n");
+    }
+
+    public void writeWrapper(String outputDir, StructType stp)
+    {
+        if (stp.getNumFields() > 0) {
+
+            try {
+                FileOutputStream fs =  new FileOutputStream(outputDir + "/"+stp.getJavaClassName()+".java");
+                PrintWriter pw = new PrintWriter(fs);
+                pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
+
+                pw.println("package "+package_name+";\n");
+                pw.println("import sun.misc.*;\n");
+                pw.println("import sun.util.logging.PlatformLogger;");
+                String baseClass = stp.getBaseClass();
+                if (baseClass == null) {
+                    baseClass = defaultBaseClass;
+                }
+                if (stp.getIsInterface()) {
+                    pw.print("public interface ");
+                    pw.print(stp.getJavaClassName());
+                } else {
+                    pw.print("public class ");
+                    pw.print(stp.getJavaClassName() + " extends " + baseClass);
+                }
+                if (stp.getInterfaces() != null) {
+                    pw.print(" implements " + stp.getInterfaces());
+                }
+                pw.println(" { ");
+                if (!stp.getIsInterface()) {
+                    pw.println("\tprivate Unsafe unsafe = XlibWrapper.unsafe; ");
+                    pw.println("\tprivate final boolean should_free_memory;");
+                    pw.println("\tpublic static int getSize() { return " + stp.getSize() + "; }");
+                    pw.println("\tpublic int getDataSize() { return getSize(); }");
+                    pw.println("\n\tlong pData;");
+                    pw.println("\n\tpublic long getPData() { return pData; }");
+
+                    pw.println("\n\n\tpublic " + stp.getJavaClassName() + "(long addr) {");
+                    if (generateLog) {
+                        pw.println("\t\tlog.finest(\"Creating\");");
+                    }
+                    pw.println("\t\tpData=addr;");
+                    pw.println("\t\tshould_free_memory = false;");
+                    pw.println("\t}");
+                    pw.println("\n\n\tpublic " + stp.getJavaClassName() + "() {");
+                    if (generateLog) {
+                        pw.println("\t\tlog.finest(\"Creating\");");
+                    }
+                    pw.println("\t\tpData = unsafe.allocateMemory(getSize());");
+                    pw.println("\t\tshould_free_memory = true;");
+                    pw.println("\t}");
+
+                    pw.println("\n\n\tpublic void dispose() {");
+                    if (generateLog) {
+                        pw.println("\t\tlog.finest(\"Disposing\");");
+                    }
+                    pw.println("\t\tif (should_free_memory) {");
+                    if (generateLog) {
+                        pw.println("\t\t\tlog.finest(\"freeing memory\");");
+                    }
+                    pw.println("\t\t\tunsafe.freeMemory(pData); \n\t}");
+                    pw.println("\t\t}");
+                    writeAccessorImpls(stp, pw);
+                    writeToString(stp,pw);
+                } else {
+                    pw.println("\n\n\tvoid dispose();");
+                    pw.println("\n\tlong getPData();");
+                    writeStubs(stp,pw);
+                }
+
+
+                pw.println("}\n\n\n");
+                pw.close();
+            }
+            catch (Exception e)
+            {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private boolean readSizeInfo(InputStream is, boolean wide) {
+        String line;
+        String splits[];
+        BufferedReader in  = new BufferedReader(new InputStreamReader(is));
+        try {
+            while ((line = in.readLine()) != null)
+            {
+                splits = line.split("\\p{Space}");
+                if (splits.length == 2)
+                {
+                    if (wide) {
+                        sizeTable64bit.put(splits[0],splits[1]);
+                    } else {
+                        sizeTable32bit.put(splits[0],splits[1]);
+                    }
+                }
+            }
+            return true;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    public void writeFunctionCallWrapper(String outputDir, FunctionType ft) {
+        try {
+            FileOutputStream fs =  new FileOutputStream(outputDir + "/" + ft.getName()+".java");
+            PrintWriter pw = new PrintWriter(fs);
+            pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
+
+            pw.println("package "+package_name+";\n");
+            pw.println("import sun.misc.Unsafe;\n");
+            pw.println("class " + ft.getName() + " {");
+            pw.println("\tprivate static Unsafe unsafe = XlibWrapper.unsafe;");
+            pw.println("\tprivate boolean __executed = false;");
+            pw.println("\tprivate boolean __disposed = false;");
+            Iterator iter = ft.getArguments().iterator();
+            while (iter.hasNext()) {
+                AtomicType at = (AtomicType)iter.next();
+                if (at.isIn()) {
+                    pw.println("\t" + at.getJavaType() + " _" + at.getName() + ";");
+                } else {
+                    pw.println("\tlong " + at.getName() + "_ptr = unsafe.allocateMemory(Native.get" + at.getTypeUpperCase() + "Size());");
+                }
+            }
+            pw.println("\tpublic " + ft.getName() + "(");
+            iter = ft.getArguments().iterator();
+            boolean first = true;
+            while (iter.hasNext()) {
+                AtomicType at = (AtomicType)iter.next();
+                if (at.isIn() || at.isInOut()) {
+                    if (!first) {
+                        pw.println(",");
+                    }
+                    first = false;
+                    pw.print("\t\t" + at.getJavaType() + " " + at.getName());
+                }
+            }
+            pw.println("\t)");
+            pw.println("\t{");
+            iter = ft.getArguments().iterator();
+            while (iter.hasNext()) {
+                AtomicType at = (AtomicType)iter.next();
+                if (at.isIn() || at.isInOut()) {
+                    pw.println("\t\tset_" + at.getName() + "(" + at.getName() + ");");
+                }
+            }
+            pw.println("\t}");
+
+            pw.println("\tpublic " + ft.getReturnType() + " execute() {");
+            if (ft.isVoid()) {
+                pw.println("\t\texecute(null);");
+            } else {
+                pw.println("\t\treturn execute(null);");
+            }
+            pw.println("\t}");
+
+            pw.println("\tpublic " + ft.getReturnType() + " execute(XToolkit.XErrorHandler errorHandler) {");
+            pw.println("\t\tif (__disposed) {");
+            pw.println("\t\t    throw new IllegalStateException(\"Disposed\");");
+            pw.println("\t\t}");
+            pw.println("\t\tXToolkit.awtLock();");
+            pw.println("\t\ttry {");
+            pw.println("\t\t\tif (__executed) {");
+            pw.println("\t\t\t    throw new IllegalStateException(\"Already executed\");");
+            pw.println("\t\t\t}");
+            pw.println("\t\t\t__executed = true;");
+            pw.println("\t\t\tif (errorHandler != null) {");
+            pw.println("\t\t\t    XErrorHandlerUtil.WITH_XERROR_HANDLER(errorHandler);");
+            pw.println("\t\t\t}");
+            iter = ft.getArguments().iterator();
+            while (iter.hasNext()) {
+                AtomicType at = (AtomicType)iter.next();
+                if (!at.isIn() && at.isAutoFree()) {
+                    pw.println("\t\t\tNative.put" + at.getTypeUpperCase() + "(" +at.getName() + "_ptr, 0);");
+                }
+            }
+            if (!ft.isVoid()) {
+                pw.println("\t\t\t" + ft.getReturnType() + " status = ");
+            }
+            pw.println("\t\t\tXlibWrapper." + ft.getName() + "(XToolkit.getDisplay(), ");
+            iter = ft.getArguments().iterator();
+            first = true;
+            while (iter.hasNext()) {
+                AtomicType at = (AtomicType)iter.next();
+                if (!first) {
+                    pw.println(",");
+                }
+                first = false;
+                if (at.isIn()) {
+                    pw.print("\t\t\t\tget_" + at.getName() + "()");
+                } else {
+                    pw.print("\t\t\t\t" + at.getName() + "_ptr");
+                }
+            }
+            pw.println("\t\t\t);");
+            pw.println("\t\t\tif (errorHandler != null) {");
+            pw.println("\t\t\t    XErrorHandlerUtil.RESTORE_XERROR_HANDLER();");
+            pw.println("\t\t\t}");
+            if (!ft.isVoid()) {
+                pw.println("\t\t\treturn status;");
+            }
+            pw.println("\t\t} finally {");
+            pw.println("\t\t    XToolkit.awtUnlock();");
+            pw.println("\t\t}");
+            pw.println("\t}");
+
+            pw.println("\tpublic boolean isExecuted() {");
+            pw.println("\t    return __executed;");
+            pw.println("\t}");
+            pw.println("\t");
+            pw.println("\tpublic boolean isDisposed() {");
+            pw.println("\t    return __disposed;");
+            pw.println("\t}");
+            pw.println("\tpublic void finalize() {");
+            pw.println("\t    dispose();");
+            pw.println("\t}");
+
+            pw.println("\tpublic void dispose() {");
+            pw.println("\t\tXToolkit.awtLock();");
+            pw.println("\t\ttry {");
+            pw.println("\t\tif (__disposed || !__executed) {");
+            pw.println("\t\t    return;");
+            pw.println("\t\t} finally {");
+            pw.println("\t\t    XToolkit.awtUnlock();");
+            pw.println("\t\t}");
+            pw.println("\t\t}");
+
+            iter = ft.getArguments().iterator();
+            while (iter.hasNext()) {
+                AtomicType at = (AtomicType)iter.next();
+                if (!at.isIn()) {
+                    if (at.isAutoFree()) {
+                        pw.println("\t\tif (__executed && get_" + at.getName() + "()!= 0) {");
+                        pw.println("\t\t\tXlibWrapper.XFree(get_" + at.getName() + "());");
+                        pw.println("\t\t}");
+                    }
+                    pw.println("\t\tunsafe.freeMemory(" + at.getName() + "_ptr);");
+                }
+            }
+            pw.println("\t\t__disposed = true;");
+            pw.println("\t\t}");
+            pw.println("\t}");
+
+            iter = ft.getArguments().iterator();
+            while (iter.hasNext()) {
+                AtomicType at = (AtomicType)iter.next();
+                pw.println("\tpublic " + at.getJavaType() + " get_" + at.getName() + "() {");
+
+                pw.println("\t\tif (__disposed) {");
+                pw.println("\t\t    throw new IllegalStateException(\"Disposed\");");
+                pw.println("\t\t}");
+                pw.println("\t\tif (!__executed) {");
+                pw.println("\t\t    throw new IllegalStateException(\"Not executed\");");
+                pw.println("\t\t}");
+
+                if (at.isIn()) {
+                    pw.println("\t\treturn _" + at.getName() + ";");
+                } else {
+                    pw.println("\t\treturn Native.get" + at.getTypeUpperCase() + "(" + at.getName() + "_ptr);");
+                }
+                pw.println("\t}");
+
+                pw.println("\tpublic void set_" + at.getName() + "(" + at.getJavaType() + " data) {");
+                if (at.isIn()) {
+                    pw.println("\t\t_" + at.getName() + " = data;");
+                } else {
+                    pw.println("\t\tNative.put" + at.getTypeUpperCase() + "(" + at.getName() + "_ptr, data);");
+                }
+                pw.println("\t}");
+            }
+            pw.println("}");
+            pw.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public void writeJavaWrapperClass(String outputDir) {
+//          (new File(outputDir, package_path)).mkdirs();
+        try {
+            for (Enumeration e = symbolTable.elements() ; e.hasMoreElements() ;) {
+                BaseType tp = (BaseType) e.nextElement();
+                if (tp instanceof StructType) {
+                    StructType st = (StructType) tp;
+                    writeWrapper(outputDir, st);
+                } else if (tp instanceof FunctionType) {
+                    writeFunctionCallWrapper(outputDir, (FunctionType)tp);
+                }
+            }
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    public void writeNativeSizer(String file)
+    {
+        int type;
+        int i=0;
+        int j=0;
+        BaseType tp;
+        StructType stp;
+        Enumeration eo;
+
+
+        try {
+
+            FileOutputStream fs =  new FileOutputStream(file);
+            PrintWriter pw = new PrintWriter(fs);
+
+            pw.println("/* This file is an automatically generated file, please do not edit this file, modify the XlibParser.java file instead !*/\n" );
+            pw.println("#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n#include <X11/Xos.h>\n#include <X11/Xatom.h>\n#include <stdio.h>\n");
+            pw.println("#include <X11/extensions/Xdbe.h>");
+            pw.println("#include <X11/XKBlib.h>");
+            pw.println("#include \"awt_p.h\"");
+            pw.println("#include \"color.h\"");
+            pw.println("#include \"colordata.h\"");
+            pw.println("\ntypedef struct\n");
+            pw.println("{\n");
+            pw.println("    unsigned long flags;\n");
+            pw.println("    unsigned long functions;\n");
+            pw.println("    unsigned long decorations;\n");
+            pw.println("    long inputMode;\n");
+            pw.println("    unsigned long status;\n");
+            pw.println("} PropMwmHints;\n");
+
+
+            pw.println("\n\nint main(){");
+            j=0;
+            for ( eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
+                tp = (BaseType) eo.nextElement();
+                if (tp instanceof StructType)
+                {
+                    stp = (StructType) tp;
+                    if (!stp.getIsInterface()) {
+                        pw.println(stp.getName()+"  temp"+ j + ";\n");
+                        j++;
+                    }
+                }
+            }
+            j=0;
+
+            pw.println("printf(\"long\t%d\\n\",(int)sizeof(long));");
+            pw.println("printf(\"int\t%d\\n\",(int)sizeof(int));");
+            pw.println("printf(\"short\t%d\\n\",(int)sizeof(short));");
+            pw.println("printf(\"ptr\t%d\\n\",(int)sizeof(void *));");
+            pw.println("printf(\"Bool\t%d\\n\",(int)sizeof(Bool));");
+            pw.println("printf(\"Atom\t%d\\n\",(int)sizeof(Atom));");
+            pw.println("printf(\"Window\t%d\\n\",(int)sizeof(Window));");
+
+
+            for (eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
+
+
+                tp = (BaseType) eo.nextElement();
+                if (tp instanceof StructType)
+                {
+                    stp = (StructType) tp;
+                    if (stp.getIsInterface()) {
+                        continue;
+                    }
+                    for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+                        AtomicType atp = (AtomicType) e.nextElement();
+                        if (atp.isAlias()) continue;
+                        pw.println("printf(\""+ stp.getName() + "." + atp.getName() + "\t%d\\n\""+
+                                   ",(int)((unsigned long ) &temp"+j+"."+atp.getName()+"- (unsigned long ) &temp" + j + ")  );");
+
+                        i++;
+
+
+                    }
+                    pw.println("printf(\""+ stp.getName() + "\t%d\\n\"" + ",(int)sizeof(temp"+j+"));");
+
+                    j++;
+                }
+
+            }
+            pw.println("return 0;");
+            pw.println("}");
+            pw.close();
+
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
+
+    private void initTypes() {
+        symbolTable.put("int", new AtomicType(AtomicType.TYPE_INT, "", "int"));
+        symbolTable.put("short", new AtomicType(AtomicType.TYPE_SHORT, "", "short"));
+        symbolTable.put("long", new AtomicType(AtomicType.TYPE_LONG, "", "long"));
+        symbolTable.put("float", new AtomicType(AtomicType.TYPE_FLOAT, "", "float"));
+        symbolTable.put("double", new AtomicType(AtomicType.TYPE_DOUBLE, "", "double"));
+        symbolTable.put("Bool", new AtomicType(AtomicType.TYPE_BOOL, "", "Bool"));
+        symbolTable.put("char", new AtomicType(AtomicType.TYPE_CHAR, "", "char"));
+        symbolTable.put("byte", new AtomicType(AtomicType.TYPE_BYTE, "", "byte"));
+        symbolTable.put("pointer", new AtomicType(AtomicType.TYPE_PTR, "", "pointer"));
+        symbolTable.put("longlong", new AtomicType(AtomicType.TYPE_LONG_LONG, "", "longlong"));
+        symbolTable.put("Atom", new AtomicType(AtomicType.TYPE_ATOM, "", "Atom"));
+        symbolTable.put("ulong", new AtomicType(AtomicType.TYPE_ULONG, "", "ulong"));
+    }
+    public WrapperGenerator(String outputDir, String xlibFilename) {
+        initTypes();
+        try {
+            BufferedReader in  = new BufferedReader(new FileReader(xlibFilename));
+            String line;
+            String splits[];
+            BaseType curType = null;
+            while ((line = in.readLine()) != null)
+            {
+                int commentStart = line.indexOf("//");
+                if (commentStart >= 0) {
+                    // remove comment
+                    line = line.substring(0, commentStart);
+                }
+
+                if ("".equals(line)) {
+                    // skip empty line
+                    continue;
+                }
+
+                splits = line.split("\\p{Space}+");
+                if (splits.length >= 2)
+                {
+                    String struct_name = curType.getName();
+                    String field_name = splits[1];
+                    String s_type = splits[2];
+                    BaseType bt = curType;
+                    int type = AtomicType.getTypeForString(s_type);
+                    AtomicType atp = null;
+                    if (bt != null && type != -1) {
+                        atp = new AtomicType(type,field_name,s_type);
+                        if (splits.length > 3) {
+                            atp.setAttributes(splits);
+                        }
+                        if (bt instanceof StructType) {
+                            StructType  stp = (StructType) bt;
+                            stp.addMember(atp);
+                        } else if (bt instanceof FunctionType) {
+                            ((FunctionType)bt).addArgument(atp);
+                        }
+                    }
+                    else if (bt == null) {
+                        System.out.println("Cannot find " + struct_name);
+                    }
+
+                }
+                else  if (line != null) {
+                    BaseType bt = (BaseType) symbolTable.get(line);
+                    if (bt == null) {
+                        if (line.startsWith("!")) {
+                            FunctionType ft = new FunctionType(line);
+                            ft.setName(line);
+                            symbolTable.put(ft.getName(),ft);
+                            curType = ft;
+                        } else {
+                            StructType stp = new StructType(line);
+                            stp.setName(line);
+                            curType = stp;
+                            symbolTable.put(stp.getName(),stp);
+                        }
+                    }
+                }
+
+            }
+            in.close();
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+    private void makeSizer(String outputDir) {
+        if (wide) {
+            sizerFileName = "sizer.64.c";
+        } else {
+            sizerFileName = "sizer.32.c";
+        }
+        File fp = new File(outputDir, sizerFileName);
+        writeNativeSizer(fp.getAbsolutePath());
+    }
+    private boolean readSizeInfo(String sizeInfo) {
+        try {
+            File f = new File(sizeInfo+".32");
+            boolean res = true;
+            FileInputStream fis = null;
+            if (f.exists()) {
+                fis = new FileInputStream(f);
+                res = readSizeInfo(fis, false);
+                fis.close();
+            }
+            f = new File(sizeInfo+".64");
+            if (f.exists()) {
+                fis = new FileInputStream(f);
+                res &= readSizeInfo(fis, true);
+                fis.close();
+            }
+            return res;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return false;
+        }
+    }
+
+    private void startGeneration(String outputDir, String sizeInfo) {
+        if (readSizeInfo(sizeInfo))
+        {
+            writeJavaWrapperClass(outputDir);
+        }
+        else {
+            System.out.println("Error calculating offsets");
+        }
+    }
+
+    public static void main(String[] args) {
+
+        if (args.length < 4) {
+            System.out.println("Usage:\nWrapperGenerator <output_dir> <xlibtypes.txt> <action> [<platform> | <sizes info file>]");
+            System.out.println("Where <action>: gen, sizer");
+            System.out.println("      <platform>: 32, 64");
+            System.exit(1);
+        }
+
+        WrapperGenerator xparser = new WrapperGenerator(args[0], args[1]);
+        if (args[2].equals("sizer")) {
+            xparser.wide = args[3].equals("64");
+            xparser.makeSizer(args[0]);
+        } else if (args[2].equals("gen")) {
+            xparser.startGeneration(args[0], args[3]);
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/src/native/genconstants/ch/genSocketOptionRegistry.c	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,130 @@
+/*
+ * 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
+ * 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 <stdio.h>
+#ifdef _WIN32
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#else
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#endif
+
+/**
+ * Generates sun.nio.ch.SocketOptionRegistry, a class that maps Java-level
+ * socket options to the platform specific level and option.
+ */
+
+static void out(char* s) {
+    printf("%s\n", s);
+}
+
+static void emit(const char *name, char * family, int level, int optname) {
+    printf("            map.put(new RegistryKey(%s, %s),", name, family);
+    printf(" new OptionKey(%d, %d));\n", level, optname);
+}
+
+static void emit_unspec(const char *name, int level, int optname) {
+    emit(name, "Net.UNSPEC", level, optname);
+}
+
+static  void emit_inet(const char *name, int level, int optname) {
+    emit(name, "StandardProtocolFamily.INET", level, optname);
+}
+
+static void emit_inet6(const char *name, int level, int optname) {
+    emit(name, "StandardProtocolFamily.INET6", level, optname);
+}
+
+int main(int argc, const char* argv[]) {
+    out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT                                  ");
+    out("package sun.nio.ch;                                                            ");
+    out("import java.net.SocketOption;                                                  ");
+    out("import java.net.StandardSocketOptions;                                         ");
+    out("import java.net.ProtocolFamily;                                                ");
+    out("import java.net.StandardProtocolFamily;                                        ");
+    out("import java.util.Map;                                                          ");
+    out("import java.util.HashMap;                                                      ");
+    out("class SocketOptionRegistry {                                                   ");
+    out("    private SocketOptionRegistry() { }                                         ");
+    out("    private static class RegistryKey {                                         ");
+    out("        private final SocketOption<?> name;                                    ");
+    out("        private final ProtocolFamily family;                                   ");
+    out("        RegistryKey(SocketOption<?> name, ProtocolFamily family) {             ");
+    out("            this.name = name;                                                  ");
+    out("            this.family = family;                                              ");
+    out("        }                                                                      ");
+    out("        public int hashCode() {                                                ");
+    out("            return name.hashCode() + family.hashCode();                        ");
+    out("        }                                                                      ");
+    out("        public boolean equals(Object ob) {                                     ");
+    out("            if (ob == null) return false;                                      ");
+    out("            if (!(ob instanceof RegistryKey)) return false;                    ");
+    out("            RegistryKey other = (RegistryKey)ob;                               ");
+    out("            if (this.name != other.name) return false;                         ");
+    out("            if (this.family != other.family) return false;                     ");
+    out("            return true;                                                       ");
+    out("        }                                                                      ");
+    out("    }                                                                          ");
+    out("    private static class LazyInitialization {                                  ");
+    out("        static final Map<RegistryKey,OptionKey> options = options();           ");
+    out("        private static Map<RegistryKey,OptionKey> options() {                  ");
+    out("            Map<RegistryKey,OptionKey> map =                                   ");
+    out("                new HashMap<RegistryKey,OptionKey>();                          ");
+
+    emit_unspec("StandardSocketOptions.SO_BROADCAST", SOL_SOCKET, SO_BROADCAST);
+    emit_unspec("StandardSocketOptions.SO_KEEPALIVE", SOL_SOCKET, SO_KEEPALIVE);
+    emit_unspec("StandardSocketOptions.SO_LINGER",    SOL_SOCKET, SO_LINGER);
+    emit_unspec("StandardSocketOptions.SO_SNDBUF",    SOL_SOCKET, SO_SNDBUF);
+    emit_unspec("StandardSocketOptions.SO_RCVBUF",    SOL_SOCKET, SO_RCVBUF);
+    emit_unspec("StandardSocketOptions.SO_REUSEADDR", SOL_SOCKET, SO_REUSEADDR);
+    emit_unspec("StandardSocketOptions.TCP_NODELAY",  IPPROTO_TCP, TCP_NODELAY);
+
+    emit_inet("StandardSocketOptions.IP_TOS",            IPPROTO_IP,     IP_TOS);
+    emit_inet("StandardSocketOptions.IP_MULTICAST_IF",   IPPROTO_IP,     IP_MULTICAST_IF);
+    emit_inet("StandardSocketOptions.IP_MULTICAST_TTL",  IPPROTO_IP,     IP_MULTICAST_TTL);
+    emit_inet("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IP,     IP_MULTICAST_LOOP);
+
+#ifdef AF_INET6
+    emit_inet6("StandardSocketOptions.IP_MULTICAST_IF",   IPPROTO_IPV6,  IPV6_MULTICAST_IF);
+    emit_inet6("StandardSocketOptions.IP_MULTICAST_TTL",  IPPROTO_IPV6,  IPV6_MULTICAST_HOPS);
+    emit_inet6("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IPV6,  IPV6_MULTICAST_LOOP);
+#endif
+
+    emit_unspec("ExtendedSocketOption.SO_OOBINLINE", SOL_SOCKET, SO_OOBINLINE);
+
+    out("            return map;                                                        ");
+    out("        }                                                                      ");
+    out("    }                                                                          ");
+    out("    public static OptionKey findOption(SocketOption<?> name, ProtocolFamily family) { ");
+    out("        RegistryKey key = new RegistryKey(name, family);                       ");
+    out("        return LazyInitialization.options.get(key);                            ");
+    out("    }                                                                          ");
+    out("}                                                                              ");
+
+    return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/src/native/genconstants/fs/genSolarisConstants.c	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,105 @@
+/*
+ * 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
+ * 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 <stdio.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/acl.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+/**
+ * Generates sun.nio.fs.SolarisConstants
+ */
+
+static void out(char* s) {
+    printf("%s\n", s);
+}
+
+static void emit(char* name, int value) {
+    printf("    static final int %s = %d;\n", name, value);
+}
+
+static void emitX(char* name, int value) {
+    printf("    static final int %s = 0x%x;\n", name, value);
+}
+
+#define DEF(X) emit(#X, X);
+#define DEFX(X) emitX(#X, X);
+
+int main(int argc, const char* argv[]) {
+    out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT                                  ");
+    out("package sun.nio.fs;                                                            ");
+    out("class SolarisConstants {                                                       ");
+    out("    private SolarisConstants() { }                                             ");
+
+    // extended attributes
+    DEFX(O_XATTR);
+    DEF(_PC_XATTR_ENABLED);
+
+    // ACL configuration
+    DEF(_PC_ACL_ENABLED);
+    DEFX(_ACL_ACE_ENABLED);
+
+    // ACL commands
+    DEFX(ACE_GETACL);
+    DEFX(ACE_SETACL);
+
+    // ACL mask/flags/types
+    emitX("ACE_ACCESS_ALLOWED_ACE_TYPE",        0x0000);
+    emitX("ACE_ACCESS_DENIED_ACE_TYPE",         0x0001);
+    emitX("ACE_SYSTEM_AUDIT_ACE_TYPE",          0x0002);
+    emitX("ACE_SYSTEM_ALARM_ACE_TYPE",          0x0003);
+    emitX("ACE_READ_DATA",                      0x00000001);
+    emitX("ACE_LIST_DIRECTORY",                 0x00000001);
+    emitX("ACE_WRITE_DATA",                     0x00000002);
+    emitX("ACE_ADD_FILE",                       0x00000002);
+    emitX("ACE_APPEND_DATA",                    0x00000004);
+    emitX("ACE_ADD_SUBDIRECTORY",               0x00000004);
+    emitX("ACE_READ_NAMED_ATTRS",               0x00000008);
+    emitX("ACE_WRITE_NAMED_ATTRS",              0x00000010);
+    emitX("ACE_EXECUTE",                        0x00000020);
+    emitX("ACE_DELETE_CHILD",                   0x00000040);
+    emitX("ACE_READ_ATTRIBUTES",                0x00000080);
+    emitX("ACE_WRITE_ATTRIBUTES",               0x00000100);
+    emitX("ACE_DELETE",                         0x00010000);
+    emitX("ACE_READ_ACL",                       0x00020000);
+    emitX("ACE_WRITE_ACL",                      0x00040000);
+    emitX("ACE_WRITE_OWNER",                    0x00080000);
+    emitX("ACE_SYNCHRONIZE",                    0x00100000);
+    emitX("ACE_FILE_INHERIT_ACE",               0x0001);
+    emitX("ACE_DIRECTORY_INHERIT_ACE",          0x0002);
+    emitX("ACE_NO_PROPAGATE_INHERIT_ACE",       0x0004);
+    emitX("ACE_INHERIT_ONLY_ACE",               0x0008);
+    emitX("ACE_SUCCESSFUL_ACCESS_ACE_FLAG",     0x0010);
+    emitX("ACE_FAILED_ACCESS_ACE_FLAG",         0x0020);
+    emitX("ACE_IDENTIFIER_GROUP",               0x0040);
+    emitX("ACE_OWNER",                          0x1000);
+    emitX("ACE_GROUP",                          0x2000);
+    emitX("ACE_EVERYONE",                       0x4000);
+
+    out("}                                                                              ");
+    return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/src/native/genconstants/fs/genUnixConstants.c	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,141 @@
+/*
+ * 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
+ * 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 <stdio.h>
+#include <errno.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+/**
+ * Generates sun.nio.fs.UnixConstants
+ */
+
+static void out(char* s) {
+    printf("%s\n", s);
+}
+
+static void emit(char* name, int value) {
+    printf("    static final int %s = %d;\n", name, value);
+}
+
+static void emitX(char* name, int value) {
+    printf("    static final int %s = 0x%x;\n", name, value);
+}
+
+#define DEF(X) emit(#X, X);
+#define DEFX(X) emitX(#X, X);
+
+int main(int argc, const char* argv[]) {
+    out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT                                  ");
+    out("package sun.nio.fs;                                                            ");
+    out("class UnixConstants {                                                          ");
+    out("    private UnixConstants() { }                                                ");
+
+    // open flags
+    DEF(O_RDONLY);
+    DEF(O_WRONLY);
+    DEF(O_RDWR);
+    DEFX(O_APPEND);
+    DEFX(O_CREAT);
+    DEFX(O_EXCL);
+    DEFX(O_TRUNC);
+    DEFX(O_SYNC);
+#ifndef O_DSYNC
+    // At least FreeBSD doesn't define O_DSYNC
+    emit("O_DSYNC", O_SYNC);
+#else
+    DEFX(O_DSYNC);
+#endif
+#ifdef O_NOFOLLOW
+    DEFX(O_NOFOLLOW);
+#else
+    // not supported (dummy values will not be used at runtime).
+    emitX("O_NOFOLLOW", 0x0);
+#endif
+
+    // mode masks
+    emitX("S_IAMB",
+         (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH));
+    DEF(S_IRUSR);
+    DEF(S_IWUSR);
+    DEF(S_IXUSR);
+    DEF(S_IRGRP);
+    DEF(S_IWGRP);
+    DEF(S_IXGRP);
+    DEF(S_IROTH);
+    DEF(S_IWOTH);
+    DEF(S_IXOTH);
+    DEFX(S_IFMT);
+    DEFX(S_IFREG);
+    DEFX(S_IFDIR);
+    DEFX(S_IFLNK);
+    DEFX(S_IFCHR);
+    DEFX(S_IFBLK);
+    DEFX(S_IFIFO);
+
+    // access modes
+    DEF(R_OK);
+    DEF(W_OK);
+    DEF(X_OK);
+    DEF(F_OK);
+
+    // errors
+    DEF(ENOENT);
+    DEF(EACCES);
+    DEF(EEXIST);
+    DEF(ENOTDIR);
+    DEF(EINVAL);
+    DEF(EXDEV);
+    DEF(EISDIR);
+    DEF(ENOTEMPTY);
+    DEF(ENOSPC);
+    DEF(EAGAIN);
+    DEF(ENOSYS);
+    DEF(ELOOP);
+    DEF(EROFS);
+#ifndef ENODATA
+    // Only used in Linux java source, provide any value so it compiles
+    emit("ENODATA", ELAST);
+#else
+    DEF(ENODATA);
+#endif
+    DEF(ERANGE);
+    DEF(EMFILE);
+
+    // flags used with openat/unlinkat/etc.
+#if defined(AT_SYMLINK_NOFOLLOW) && defined(AT_REMOVEDIR)
+    DEFX(AT_SYMLINK_NOFOLLOW)
+    DEFX(AT_REMOVEDIR);
+#else
+    // not supported (dummy values will not be used at runtime).
+    emitX("AT_SYMLINK_NOFOLLOW", 0x0);
+    emitX("AT_REMOVEDIR", 0x0);
+#endif
+
+    out("}                                                                              ");
+
+    return 0;
+}
--- a/jdk/src/aix/classes/sun/nio/ch/AixPollPort.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/aix/classes/sun/nio/ch/AixPollPort.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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();
Binary file jdk/src/macosx/native/sun/osxapp/resource/icons/JavaApp.icns has changed
--- a/jdk/src/share/bin/java.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/bin/java.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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,
--- a/jdk/src/share/bin/parse_manifest.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/bin/parse_manifest.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 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,
-                            }
-                },
+    /*
+     * 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
+    };
 
-                {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;
+    }
 }
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 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,
-                            }
-                },
+    /*
+     * 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
+    };
 
-                {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;
+    }
 }
--- a/jdk/src/share/classes/com/sun/jndi/dns/DnsClient.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/jndi/dns/DnsClient.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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;
                     }
--- a/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecord.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/jndi/dns/ResourceRecord.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
--- a/jdk/src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
     }
 }
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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 #############
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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)
--- a/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/com/sun/tools/jdi/ArrayTypeImpl.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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; }
 }
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandle.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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,
--- a/jdk/src/share/classes/java/lang/invoke/SimpleMethodHandle.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/java/lang/invoke/SimpleMethodHandle.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/java/sql/Clob.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/java/sql/Clob.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/java/util/ArrayPrefixHelpers.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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;
     }
 }
--- a/jdk/src/share/classes/java/util/CurrencyData.properties	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,594 +0,0 @@
-#
-# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
-# 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.
-#
-
-formatVersion=1
-
-# Version of the currency code information in this class.
-# It is a serial number that accompanies with each amendment.
-
-dataVersion=156
-
-# List of all valid ISO 4217 currency codes.
-# To ensure compatibility, do not remove codes.
-
-all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036-\
-    AWG533-AYM945-AZM031-AZN944-BAM977-BBD052-BDT050-BEF056-BGL100-BGN975-BHD048-BIF108-\
-    BMD060-BND096-BOB068-BOV984-BRL986-BSD044-BTN064-BWP072-BYB112-BYR974-\
-    BZD084-CAD124-CDF976-CHF756-CLF990-CLP152-CNY156-COP170-CRC188-CSD891-CUP192-CUC931-\
-    CVE132-CYP196-CZK203-DEM276-DJF262-DKK208-DOP214-DZD012-EEK233-EGP818-\
-    ERN232-ESP724-ETB230-EUR978-FIM246-FJD242-FKP238-FRF250-GBP826-GEL981-\
-    GHC288-GHS936-GIP292-GMD270-GNF324-GRD300-GTQ320-GWP624-GYD328-HKD344-HNL340-\
-    HRK191-HTG332-HUF348-IDR360-IEP372-ILS376-INR356-IQD368-IRR364-ISK352-\
-    ITL380-JMD388-JOD400-JPY392-KES404-KGS417-KHR116-KMF174-KPW408-KRW410-\
-    KWD414-KYD136-KZT398-LAK418-LBP422-LKR144-LRD430-LSL426-LTL440-LUF442-\
-    LVL428-LYD434-MAD504-MDL498-MGA969-MGF450-MKD807-MMK104-MNT496-MOP446-MRO478-\
-    MTL470-MUR480-MVR462-MWK454-MXN484-MXV979-MYR458-MZM508-MZN943-NAD516-NGN566-\
-    NIO558-NLG528-NOK578-NPR524-NZD554-OMR512-PAB590-PEN604-PGK598-PHP608-\
-    PKR586-PLN985-PTE620-PYG600-QAR634-ROL946-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\
-    SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLL694-SOS706-\
-    SRD968-SRG740-SSP728-STD678-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
-    TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-\
-    UYU858-UZS860-VEB862-VEF937-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
-    XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
-    XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZMW967-ZWD716-ZWL932-\
-    ZWN942-ZWR935
-
-
-# Mappings from ISO 3166 country codes to ISO 4217 currency codes.
-#
-# Three forms are used:
-# Form 1: <country code>=<currency code>
-# Form 2: <country code>=<currency code 1>;<time stamp>;<currency code 2>
-# Form 3: <country code>=
-# Form 1 is used if no future change in currency is known.
-# Form 2 indicates that before the specified time currency 1 is used, from
-# the specified time currency 2. The time is given in SimpleDateFormat's
-# yyyy-MM-dd-HH-mm-ss format in the GMT time zone.
-# Form 3 indicates the country doesn't have a currency (the entry is still
-# needed to verify that the country code is valid).
-#
-# The table is based on the following web sites:
-# http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/db_en.html
-# http://www.currency-iso.org/iso_index/iso_tables.htm
-# http://www.cia.gov/cia/publications/factbook/indexgeo.html
-
-# AFGHANISTAN
-AF=AFN
-# \u00c5LAND ISLANDS
-AX=EUR
-# ALBANIA
-AL=ALL
-# ALGERIA
-DZ=DZD
-# AMERICAN SAMOA
-AS=USD
-# ANDORRA
-AD=EUR
-# ANGOLA
-AO=AOA
-# ANGUILLA
-AI=XCD
-# ANTARCTICA
-AQ=
-# ANTIGUA AND BARBUDA
-AG=XCD
-# ARGENTINA
-AR=ARS
-# ARMENIA
-AM=AMD
-# ARUBA
-AW=AWG
-# AUSTRALIA
-AU=AUD
-# AUSTRIA
-AT=EUR
-# AZERBAIJAN
-AZ=AZN
-# BAHAMAS
-BS=BSD
-# BAHRAIN
-BH=BHD
-# BANGLADESH
-BD=BDT
-# BARBADOS
-BB=BBD
-# BELARUS
-BY=BYR
-# BELGIUM
-BE=EUR
-# BELIZE
-BZ=BZD
-# BENIN
-BJ=XOF
-# BERMUDA
-BM=BMD
-# Bonaire, Sint Eustatius and Saba
-BQ=USD
-# BHUTAN
-BT=BTN
-# BOLIVIA
-BO=BOB
-# BOSNIA AND HERZEGOVINA
-BA=BAM
-# BOTSWANA
-BW=BWP
-# BOUVET ISLAND
-BV=NOK
-# BRAZIL
-BR=BRL
-# BRITISH INDIAN OCEAN TERRITORY
-IO=USD
-# BRUNEI DARUSSALAM
-BN=BND
-# BULGARIA
-BG=BGN
-# BURKINA FASO
-BF=XOF
-# BURUNDI
-BI=BIF
-# CAMBODIA
-KH=KHR
-# CAMEROON
-CM=XAF
-# CANADA
-CA=CAD
-# CAPE VERDE
-CV=CVE
-# CAYMAN ISLANDS
-KY=KYD
-# CENTRAL AFRICAN REPUBLIC
-CF=XAF
-# CHAD
-TD=XAF
-# CHILE
-CL=CLP
-# CHINA
-CN=CNY
-# CHRISTMAS ISLAND
-CX=AUD
-# COCOS (KEELING) ISLANDS
-CC=AUD
-# COLOMBIA
-CO=COP
-# COMOROS
-KM=KMF
-# CONGO
-CG=XAF
-# CONGO, THE DEMOCRATIC REPUBLIC OF THE
-CD=CDF
-# COOK ISLANDS
-CK=NZD
-# COSTA RICA
-CR=CRC
-# COTE D'IVOIRE
-CI=XOF
-# CROATIA
-HR=HRK
-# CUBA
-CU=CUP
-# Cura\u00e7ao
-CW=ANG
-# CYPRUS
-CY=EUR
-# CZECH REPUBLIC
-CZ=CZK
-# DENMARK
-DK=DKK
-# DJIBOUTI
-DJ=DJF
-# DOMINICA
-DM=XCD
-# DOMINICAN REPUBLIC
-DO=DOP
-# ECUADOR
-EC=USD
-# EGYPT
-EG=EGP
-# EL SALVADOR
-# USD is also legal currency as of 2001/01/01
-SV=SVC
-# EQUATORIAL GUINEA
-GQ=XAF
-# ERITREA
-ER=ERN
-# ESTONIA
-EE=EUR
-# ETHIOPIA
-ET=ETB
-# FALKLAND ISLANDS (MALVINAS)
-FK=FKP
-# FAROE ISLANDS
-FO=DKK
-# FIJI
-FJ=FJD
-# FINLAND
-FI=EUR
-# FRANCE
-FR=EUR
-# FRENCH GUIANA
-GF=EUR
-# FRENCH POLYNESIA
-PF=XPF
-# FRENCH SOUTHERN TERRITORIES
-TF=EUR
-# GABON
-GA=XAF
-# GAMBIA
-GM=GMD
-# GEORGIA
-GE=GEL
-# GERMANY
-DE=EUR
-# GHANA
-GH=GHS
-# GIBRALTAR
-GI=GIP
-# GREECE
-GR=EUR
-# GREENLAND
-GL=DKK
-# GRENADA
-GD=XCD
-# GUADELOUPE
-GP=EUR
-# GUAM
-GU=USD
-# GUATEMALA
-GT=GTQ
-# GUERNSEY
-GG=GBP
-# GUINEA
-GN=GNF
-# GUINEA-BISSAU
-GW=XOF
-# GUYANA
-GY=GYD
-# HAITI
-HT=HTG
-# HEARD ISLAND AND MCDONALD ISLANDS
-HM=AUD
-# HOLY SEE (VATICAN CITY STATE)
-VA=EUR
-# HONDURAS
-HN=HNL
-# HONG KONG
-HK=HKD
-# HUNGARY
-HU=HUF
-# ICELAND
-IS=ISK
-# INDIA
-IN=INR
-# INDONESIA
-ID=IDR
-# IRAN, ISLAMIC REPUBLIC OF
-IR=IRR
-# IRAQ
-IQ=IQD
-# IRELAND
-IE=EUR
-# ISLE OF MAN
-IM=GBP
-# ISRAEL
-IL=ILS
-# ITALY
-IT=EUR
-# JAMAICA
-JM=JMD
-# JAPAN
-JP=JPY
-# JERSEY
-JE=GBP
-# JORDAN
-JO=JOD
-# KAZAKSTAN
-KZ=KZT
-# KENYA
-KE=KES
-# KIRIBATI
-KI=AUD
-# KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF
-KP=KPW
-# KOREA, REPUBLIC OF
-KR=KRW
-# KUWAIT
-KW=KWD
-# KYRGYZSTAN
-KG=KGS
-# LAO PEOPLE'S DEMOCRATIC REPUBLIC
-LA=LAK
-# LATVIA
-LV=LVL;2013-12-31-22-00-00;EUR
-# LEBANON
-LB=LBP
-# LESOTHO
-LS=LSL
-# LIBERIA
-LR=LRD
-# LIBYAN ARAB JAMAHIRIYA
-LY=LYD
-# LIECHTENSTEIN
-LI=CHF
-# LITHUANIA
-LT=LTL
-# LUXEMBOURG
-LU=EUR
-# MACAU
-MO=MOP
-# MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF
-MK=MKD
-# MADAGASCAR
-MG=MGA
-# MALAWI
-MW=MWK
-# MALAYSIA
-MY=MYR
-# MALDIVES
-MV=MVR
-# MALI
-ML=XOF
-# MALTA
-MT=EUR
-# MARSHALL ISLANDS
-MH=USD
-# MARTINIQUE
-MQ=EUR
-# MAURITANIA
-MR=MRO
-# MAURITIUS
-MU=MUR
-# MAYOTTE
-YT=EUR
-# MEXICO
-MX=MXN
-# MICRONESIA, FEDERATED STATES OF
-FM=USD
-# MOLDOVA, REPUBLIC OF
-MD=MDL
-# MONACO
-MC=EUR
-# MONGOLIA
-MN=MNT
-# MONTENEGRO
-ME=EUR
-# MONTSERRAT
-MS=XCD
-# MOROCCO
-MA=MAD
-# MOZAMBIQUE
-MZ=MZN
-# MYANMAR
-MM=MMK
-# NAMIBIA
-NA=NAD
-# NAURU
-NR=AUD
-# NEPAL
-NP=NPR
-# NETHERLANDS
-NL=EUR
-# NETHERLANDS ANTILLES
-AN=ANG
-# NEW CALEDONIA
-NC=XPF
-# NEW ZEALAND
-NZ=NZD
-# NICARAGUA
-NI=NIO
-# NIGER
-NE=XOF
-# NIGERIA
-NG=NGN
-# NIUE
-NU=NZD
-# NORFOLK ISLAND
-NF=AUD
-# NORTHERN MARIANA ISLANDS
-MP=USD
-# NORWAY
-NO=NOK
-# OMAN
-OM=OMR
-# PAKISTAN
-PK=PKR
-# PALAU
-PW=USD
-# PALESTINIAN TERRITORY, OCCUPIED
-PS=ILS
-# PANAMA
-PA=PAB
-# PAPUA NEW GUINEA
-PG=PGK
-# PARAGUAY
-PY=PYG
-# PERU
-PE=PEN
-# PHILIPPINES
-PH=PHP
-# PITCAIRN
-PN=NZD
-# POLAND
-PL=PLN
-# PORTUGAL
-PT=EUR
-# PUERTO RICO
-PR=USD
-# QATAR
-QA=QAR
-# REUNION
-RE=EUR
-# ROMANIA
-RO=RON
-# RUSSIAN FEDERATION
-RU=RUB
-# RWANDA
-RW=RWF
-# SAINT BARTHELEMY
-BL=EUR
-# SAINT HELENA
-SH=SHP
-# SAINT KITTS AND NEVIS
-KN=XCD
-# SAINT LUCIA
-LC=XCD
-# SAINT MARTIN
-MF=EUR
-# SAINT PIERRE AND MIQUELON
-PM=EUR
-# SAINT VINCENT AND THE GRENADINES
-VC=XCD
-# SAMOA
-WS=WST
-# SAN MARINO
-SM=EUR
-# SOUTH SUDAN
-SS=SSP
-# SAO TOME AND PRINCIPE
-ST=STD
-# SAUDI ARABIA
-SA=SAR
-# SENEGAL
-SN=XOF
-# SERBIA
-RS=RSD
-# SERBIA AND MONTENEGRO
-CS=CSD
-# SEYCHELLES
-SC=SCR
-# SIERRA LEONE
-SL=SLL
-# SINGAPORE
-SG=SGD
-# SLOVAKIA
-SK=EUR
-# SLOVENIA
-SI=EUR
-# SOLOMON ISLANDS
-SB=SBD
-# SOMALIA
-SO=SOS
-# SOUTH AFRICA
-ZA=ZAR
-# SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS
-GS=GBP
-# SPAIN
-ES=EUR
-# SRI LANKA
-LK=LKR
-# SUDAN
-SD=SDG
-# SURINAME
-SR=SRD
-# SVALBARD AND JAN MAYEN
-SJ=NOK
-# Sint Maarten (Dutch part)
-SX=ANG
-# SWAZILAND
-SZ=SZL
-# SWEDEN
-SE=SEK
-# SWITZERLAND
-CH=CHF
-# SYRIAN ARAB REPUBLIC
-SY=SYP
-# TAIWAN
-TW=TWD
-# TAJIKISTAN
-TJ=TJS
-# TANZANIA, UNITED REPUBLIC OF
-TZ=TZS
-# THAILAND
-TH=THB
-# TIMOR-LESTE
-TL=USD
-# TOGO
-TG=XOF
-# TOKELAU
-TK=NZD
-# TONGA
-TO=TOP
-# TRINIDAD AND TOBAGO
-TT=TTD
-# TUNISIA
-TN=TND
-# TURKEY
-TR=TRY
-# TURKMENISTAN
-TM=TMT
-# TURKS AND CAICOS ISLANDS
-TC=USD
-# TUVALU
-TV=AUD
-# UGANDA
-UG=UGX
-# UKRAINE
-UA=UAH
-# UNITED ARAB EMIRATES
-AE=AED
-# UNITED KINGDOM
-GB=GBP
-# UNITED STATES
-US=USD
-# UNITED STATES MINOR OUTLYING ISLANDS
-UM=USD
-# URUGUAY
-UY=UYU
-# UZBEKISTAN
-UZ=UZS
-# VANUATU
-VU=VUV
-# VENEZUELA
-VE=VEF
-# VIET NAM
-VN=VND
-# VIRGIN ISLANDS, BRITISH
-VG=USD
-# VIRGIN ISLANDS, U.S.
-VI=USD
-# WALLIS AND FUTUNA
-WF=XPF
-# WESTERN SAHARA
-EH=MAD
-# YEMEN
-YE=YER
-# ZAMBIA
-ZM=ZMW
-# ZIMBABWE
-ZW=ZWL
-
-
-# List of currencies with 0, 1, OR 3 decimals for minor units, or where there
-# are no minor units defined. All others use 2 decimals.
-
-minor0=\
-    ADP-BEF-BIF-BYB-BYR-CLF-CLP-DJF-ESP-GNF-\
-    GRD-ISK-ITL-JPY-KMF-KRW-LUF-MGF-PYG-PTE-RWF-\
-    TPE-TRL-UGX-VND-VUV-XAF-XOF-XPF
-minor1=
-minor3=\
-    BHD-IQD-JOD-KWD-LYD-OMR-TND
-minorUndefined=\
-    XAG-XAU-XBA-XBB-XBC-XBD-XDR-XFO-XFU-XPD-\
-    XPT-XSU-XTS-XUA-XXX
--- a/jdk/src/share/classes/java/util/regex/Pattern.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/java/util/regex/Pattern.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
         }
--- a/jdk/src/share/classes/java/util/stream/DoubleStream.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/java/util/stream/DoubleStream.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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>
--- a/jdk/src/share/classes/java/util/stream/IntStream.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/java/util/stream/IntStream.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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>
--- a/jdk/src/share/classes/java/util/stream/LongStream.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/java/util/stream/LongStream.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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>
--- a/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/javax/naming/AuthenticationException.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/AuthenticationException.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/javax/naming/AuthenticationNotSupportedException.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/AuthenticationNotSupportedException.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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();
--- a/jdk/src/share/classes/javax/naming/CannotProceedException.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/CannotProceedException.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/javax/naming/CompositeName.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/CompositeName.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/javax/naming/CompoundName.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/CompoundName.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/javax/naming/LinkException.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/LinkException.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/javax/naming/LinkLoopException.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/LinkLoopException.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/javax/naming/MalformedLinkException.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/MalformedLinkException.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/javax/naming/NamingException.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/NamingException.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/classes/javax/naming/RefAddr.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/RefAddr.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/javax/naming/Reference.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/Reference.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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();
--- a/jdk/src/share/classes/javax/naming/Referenceable.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/naming/Referenceable.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
   *
--- a/jdk/src/share/classes/javax/sound/midi/MidiSystem.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/sound/midi/MidiSystem.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
      */
--- a/jdk/src/share/classes/javax/sound/sampled/AudioSystem.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/javax/sound/sampled/AudioSystem.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
      */
--- a/jdk/src/share/classes/sun/applet/AppletViewerPanel.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/applet/AppletViewerPanel.java	Thu Feb 20 16:27:08 2014 -0800
@@ -31,7 +31,6 @@
 import java.net.MalformedURLException;
 import java.awt.*;
 import java.applet.*;
-import sun.tools.jar.*;
 
 
 /**
--- a/jdk/src/share/classes/sun/misc/ClassLoaderUtil.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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;
-    }
-}
--- a/jdk/src/share/classes/sun/misc/Service.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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);
-    }
-
-}
--- a/jdk/src/share/classes/sun/misc/ServiceConfigurationError.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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);
-    }
-
-}
--- a/jdk/src/share/classes/sun/security/jgss/GSSUtil.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/jgss/GSSUtil.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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();
             }
         }
 
--- a/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/provider/certpath/AdaptableX509CertSelector.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
+     * This selector overrides the subjectKeyIdentifier matching rules of
+     * X509CertSelector, so it throws IllegalArgumentException if this method
+     * is ever called.
+     */
+    @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.
      *
-     * 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.
+     * 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 will not set the subject criterion according to the
+     * Note that we do not set the subject criterion to the
      * authorityCertIssuer field of the extension. The caller MUST set
-     * the subject criterion before call match().
+     * the subject criterion before calling match().
      *
-     * @param akidext the authorityKeyIdentifier extension
+     * @param ext the authorityKeyIdentifier extension
+     * @throws IOException if there is an error parsing the extension
      */
-    void parseAuthorityKeyIdentifierExtension(
-            AuthorityKeyIdentifierExtension akidext) throws IOException {
-        if (akidext != null) {
-            KeyIdentifier akid = (KeyIdentifier)akidext.get(
-                    AuthorityKeyIdentifierExtension.KEY_ID);
+    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;
+    }
+
+    /*
+     * 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;
         }
-
-        return super.match(cert);
+        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;
     }
 }
--- a/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/provider/certpath/DistributionPointFetcher.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
 
--- a/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/provider/certpath/ForwardBuilder.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/provider/certpath/PKIXCertPathValidator.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
--- a/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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",
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_de.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_de.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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:  "},
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_es.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_es.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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}:  "},
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_fr.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_fr.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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} :  "},
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_it.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_it.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.",
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_ja.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_ja.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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:  "},
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_ko.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_ko.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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:  "},
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_pt_BR.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_pt_BR.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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}:  "},
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_sv.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_sv.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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}:  "},
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_CN.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_CN.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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:  "},
--- a/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_TW.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/security/tools/keytool/Resources_zh_TW.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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:  "},
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/security/util/ConsoleCallbackHandler.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
+    }
+}
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_es.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_es.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties	Thu Feb 20 16:27:08 2014 -0800
@@ -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.
--- a/jdk/src/share/instrument/InvocationAdapter.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/instrument/InvocationAdapter.c	Thu Feb 20 16:27:08 2014 -0800
@@ -153,7 +153,6 @@
         char *          options;
         jarAttribute*   attributes;
         char *          premainClass;
-        char *          agentClass;
         char *          bootClassPath;
 
         /*
--- a/jdk/src/share/instrument/JarFacade.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/instrument/JarFacade.c	Thu Feb 20 16:27:08 2014 -0800
@@ -33,6 +33,7 @@
 #endif /* _WIN32 */
 #include <string.h>
 #include <stdlib.h>
+#include <ctype.h>
 
 #include "jni.h"
 #include "manifest_info.h"
--- a/jdk/src/share/native/java/lang/ClassLoader.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/native/java/lang/ClassLoader.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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;
--- a/jdk/src/share/native/java/lang/Throwable.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/native/java/lang/Throwable.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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;
--- a/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
- * 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
- * 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 <stdio.h>
-#ifdef _WIN32
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#else
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#endif
-
-/**
- * Generates sun.nio.ch.SocketOptionRegistry, a class that maps Java-level
- * socket options to the platform specific level and option.
- */
-
-static void out(char* s) {
-    printf("%s\n", s);
-}
-
-static void emit(const char *name, char * family, int level, int optname) {
-    printf("            map.put(new RegistryKey(%s, %s),", name, family);
-    printf(" new OptionKey(%d, %d));\n", level, optname);
-}
-
-static void emit_unspec(const char *name, int level, int optname) {
-    emit(name, "Net.UNSPEC", level, optname);
-}
-
-static  void emit_inet(const char *name, int level, int optname) {
-    emit(name, "StandardProtocolFamily.INET", level, optname);
-}
-
-static void emit_inet6(const char *name, int level, int optname) {
-    emit(name, "StandardProtocolFamily.INET6", level, optname);
-}
-
-int main(int argc, const char* argv[]) {
-    out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT                                  ");
-    out("package sun.nio.ch;                                                            ");
-    out("import java.net.SocketOption;                                                  ");
-    out("import java.net.StandardSocketOptions;                                         ");
-    out("import java.net.ProtocolFamily;                                                ");
-    out("import java.net.StandardProtocolFamily;                                        ");
-    out("import java.util.Map;                                                          ");
-    out("import java.util.HashMap;                                                      ");
-    out("class SocketOptionRegistry {                                                   ");
-    out("    private SocketOptionRegistry() { }                                         ");
-    out("    private static class RegistryKey {                                         ");
-    out("        private final SocketOption<?> name;                                    ");
-    out("        private final ProtocolFamily family;                                   ");
-    out("        RegistryKey(SocketOption<?> name, ProtocolFamily family) {             ");
-    out("            this.name = name;                                                  ");
-    out("            this.family = family;                                              ");
-    out("        }                                                                      ");
-    out("        public int hashCode() {                                                ");
-    out("            return name.hashCode() + family.hashCode();                        ");
-    out("        }                                                                      ");
-    out("        public boolean equals(Object ob) {                                     ");
-    out("            if (ob == null) return false;                                      ");
-    out("            if (!(ob instanceof RegistryKey)) return false;                    ");
-    out("            RegistryKey other = (RegistryKey)ob;                               ");
-    out("            if (this.name != other.name) return false;                         ");
-    out("            if (this.family != other.family) return false;                     ");
-    out("            return true;                                                       ");
-    out("        }                                                                      ");
-    out("    }                                                                          ");
-    out("    private static class LazyInitialization {                                  ");
-    out("        static final Map<RegistryKey,OptionKey> options = options();           ");
-    out("        private static Map<RegistryKey,OptionKey> options() {                  ");
-    out("            Map<RegistryKey,OptionKey> map =                                   ");
-    out("                new HashMap<RegistryKey,OptionKey>();                          ");
-
-    emit_unspec("StandardSocketOptions.SO_BROADCAST", SOL_SOCKET, SO_BROADCAST);
-    emit_unspec("StandardSocketOptions.SO_KEEPALIVE", SOL_SOCKET, SO_KEEPALIVE);
-    emit_unspec("StandardSocketOptions.SO_LINGER",    SOL_SOCKET, SO_LINGER);
-    emit_unspec("StandardSocketOptions.SO_SNDBUF",    SOL_SOCKET, SO_SNDBUF);
-    emit_unspec("StandardSocketOptions.SO_RCVBUF",    SOL_SOCKET, SO_RCVBUF);
-    emit_unspec("StandardSocketOptions.SO_REUSEADDR", SOL_SOCKET, SO_REUSEADDR);
-    emit_unspec("StandardSocketOptions.TCP_NODELAY",  IPPROTO_TCP, TCP_NODELAY);
-
-    emit_inet("StandardSocketOptions.IP_TOS",            IPPROTO_IP,     IP_TOS);
-    emit_inet("StandardSocketOptions.IP_MULTICAST_IF",   IPPROTO_IP,     IP_MULTICAST_IF);
-    emit_inet("StandardSocketOptions.IP_MULTICAST_TTL",  IPPROTO_IP,     IP_MULTICAST_TTL);
-    emit_inet("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IP,     IP_MULTICAST_LOOP);
-
-#ifdef AF_INET6
-    emit_inet6("StandardSocketOptions.IP_MULTICAST_IF",   IPPROTO_IPV6,  IPV6_MULTICAST_IF);
-    emit_inet6("StandardSocketOptions.IP_MULTICAST_TTL",  IPPROTO_IPV6,  IPV6_MULTICAST_HOPS);
-    emit_inet6("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IPV6,  IPV6_MULTICAST_LOOP);
-#endif
-
-    emit_unspec("ExtendedSocketOption.SO_OOBINLINE", SOL_SOCKET, SO_OOBINLINE);
-
-    out("            return map;                                                        ");
-    out("        }                                                                      ");
-    out("    }                                                                          ");
-    out("    public static OptionKey findOption(SocketOption<?> name, ProtocolFamily family) { ");
-    out("        RegistryKey key = new RegistryKey(name, family);                       ");
-    out("        return LazyInitialization.options.get(key);                            ");
-    out("    }                                                                          ");
-    out("}                                                                              ");
-
-    return 0;
-}
--- a/jdk/src/share/native/sun/security/krb5/nativeccache.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/native/sun/security/krb5/nativeccache.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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++;
     }
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1366 +0,0 @@
-/*
- * 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
- * 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.
- */
-
-import java.util.*;
-import java.io.*;
-import java.nio.charset.*;
-import java.text.MessageFormat;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class WrapperGenerator {
-    /* XLibParser converts Xlib.h to a Java Object that encapsulates the
-     * X11 API and data structures */
-    // Charset and decoder for ISO-8859-15
-    private final static Logger log = Logger.getLogger("WrapperGenerator");
-    boolean generateLog = true;
-    boolean wide;
-    private static Charset charset = Charset.forName("ISO-8859-15");
-
-    String package_name = "sun.awt.X11";
-    String package_path = "sun/awt/X11";
-    String sizerFileName = "sizer.c";
-    String defaultBaseClass = "XWrapperBase";
-
-    String compile_options = "-lX11";
-    static Hashtable symbolTable = new Hashtable();
-    static Hashtable sizeTable32bit = new Hashtable();
-    static Hashtable sizeTable64bit = new Hashtable();
-    static Hashtable knownSizes32 = new Hashtable();
-    static Hashtable knownSizes64 = new Hashtable();
-    static {
-/*
-        knownSizes64.put("", Integer.valueOf());
-        knownSizes32.put("", Integer.valueOf());
-*/
-        knownSizes64.put("XComposeStatus", Integer.valueOf(16));
-        knownSizes64.put("XTimeCoord", Integer.valueOf(16));
-        knownSizes64.put("XExtData", Integer.valueOf(32));
-        knownSizes64.put("XWindowChanges", Integer.valueOf(40));
-        knownSizes64.put("XOMCharSetList", Integer.valueOf(16));
-        knownSizes64.put("XModifierKeymap", Integer.valueOf(16));
-        knownSizes32.put("XIMValuesList", Integer.valueOf(8));
-        knownSizes32.put("XGCValues", Integer.valueOf(92));
-//          knownSizes32.put("XIMStringConversionCallbackStruct", Integer.valueOf(16));
-    }
-
-    private static abstract class BaseType {
-
-        String real_type;
-        String name;
-
-
-        public String getName() {
-            return name;
-        }
-        public String getRealType() {
-            return real_type;
-        }
-
-        public String toString() {
-            return name;
-        }
-    }
-
-    private static class AtomicType extends BaseType {
-
-        private boolean alias;
-        private String aliasName;
-
-        static final int TYPE_INT=0;
-        static final int TYPE_CHAR=1;
-        static final int TYPE_LONG=2;
-        static final int TYPE_LONG_LONG=3;
-        static final int TYPE_DOUBLE=4;
-        static final int TYPE_FLOAT=5;
-        static final int TYPE_PTR=6;
-        static final int TYPE_SHORT=7;
-        static final int TYPE_BOOL = 8;
-        static final int TYPE_STRUCT = 9;
-        static final int TYPE_ARRAY = 10;
-        static final int TYPE_BYTE=11;
-        static final int TYPE_ATOM = 12;
-        static final int TYPE_ULONG = 13;
-        static int getTypeForString(String str) {
-            int type=-1;
-            if (str.equals("int"))
-                type = AtomicType.TYPE_INT;
-            else if (str.equals("long"))
-                type = AtomicType.TYPE_LONG;
-            else if (str.equals("byte"))
-                type = AtomicType.TYPE_BYTE;
-            else if (str.equals("char"))
-                type = AtomicType.TYPE_CHAR;
-            else if (str.equals("long long"))
-                type = AtomicType.TYPE_LONG_LONG;
-            else if (str.equals("double"))
-                type = AtomicType.TYPE_DOUBLE;
-            else if (str.equals("float"))
-                type = AtomicType.TYPE_FLOAT;
-            else if (str.equals("pointer"))
-                type = AtomicType.TYPE_PTR;
-            else if (str.equals("short"))
-                type = AtomicType.TYPE_SHORT;
-            else if (str.equals("Bool"))
-                type = AtomicType.TYPE_BOOL;
-            else if (str.equals("struct"))
-                type = AtomicType.TYPE_STRUCT;
-            else if (str.equals("Atom"))
-                type = AtomicType.TYPE_ATOM;
-            else if (str.equals("array"))
-                type = TYPE_ARRAY;
-            else if (str.equals("ulong"))
-                type = TYPE_ULONG;
-            else throw new IllegalArgumentException("Uknown type string: " + str);
-
-            return type;
-        }
-        String getJavaType() {
-            if (referencedType != null) {
-                if (referencedType instanceof AtomicType) {
-                    return ((AtomicType)referencedType).getJavaType();
-                } else {
-                    return referencedType.getName();
-                }
-            } else {
-                return getJavaTypeForType(type);
-            }
-        }
-        static String getJavaTypeForType(int type) {
-            switch (type) {
-              case TYPE_INT:
-                  return "int";
-              case TYPE_CHAR:
-                  return "char";
-              case TYPE_BYTE:
-                  return "byte";
-              case TYPE_LONG:
-              case TYPE_LONG_LONG:
-              case TYPE_PTR:
-              case TYPE_ULONG:
-                  return "long";
-              case TYPE_DOUBLE:
-                  return "double";
-              case TYPE_FLOAT:
-                  return "float";
-              case TYPE_SHORT:
-                  return "short";
-              case TYPE_BOOL:
-                  return "boolean";
-              case TYPE_ATOM:
-                  return "long";
-              default:
-                  throw new IllegalArgumentException("Unknown type: " + type);
-            }
-        }
-        String getItemSize() {
-            if (referencedType != null) {
-                  if (referencedType instanceof StructType) {
-                      return ((StructType)referencedType).getSize();
-                  } else {
-                      return ((AtomicType)referencedType).getItemSize();
-                  }
-            } else {
-                int i32 = getNativeSizeForAccess(getJavaAccess(false));
-                int i64 = getNativeSizeForAccess(getJavaAccess(true));
-                if (i32 != i64) {
-                    return "Native.get" + getNativeAccess() + "Size()";
-                } else {
-                    return Integer.toString(i32);
-                }
-            }
-        }
-
-        String getJavaResult(String offset, String base) {
-            String res = null;
-            switch (type) {
-              case TYPE_STRUCT:
-                  res = "pData + " + offset;
-                  break;
-              case TYPE_PTR:
-                  if (referencedType == null || referencedType instanceof StructType) {
-                      res = base + "+" + offset;
-                  } else if (referencedType instanceof AtomicType) {
-                      res = MessageFormat.format("Native.get{0}({1})",
-                                                 new Object[] {getNativeAccessForType(((AtomicType)referencedType).type),
-                                                               base + "+" + offset});
-                  }
-                  break;
-              case TYPE_ARRAY:
-                  if (referencedType instanceof StructType) {
-                      res = "pData + " + offset;
-                  }  else if (referencedType instanceof AtomicType) {
-                      res = MessageFormat.format("Native.get{0}(pData + {1})",
-                                                 new Object[] {getNativeAccessForType(((AtomicType)referencedType).type),
-                                                               offset});
-                  }
-                  break;
-              default:
-                res = MessageFormat.format("(Native.get{0}(pData+{1}))",
-                                           new Object[] {getNativeAccess(), offset});
-            }
-            return getJavaResultConversion(res, base);
-        }
-        String getJavaResultConversion(String value, String base) {
-            if (referencedType != null) {
-                if (referencedType instanceof StructType) {
-                    if (type == TYPE_PTR) {
-                        return MessageFormat.format("({2} != 0)?(new {0}({1})):(null)", new Object[] {referencedType.getName(),value, base});
-                    } else {
-                        return MessageFormat.format("new {0}({1})", new Object[] {referencedType.getName(),value});
-                    }
-                } else {
-                    return value;
-                }
-            } else {
-                return getJavaResultConversionForType(type, value);
-            }
-        }
-        static String getJavaResultConversionForType(int type, String value) {
-            return value;
-        }
-        String getNativeAccess() {
-            return getNativeAccessForType(type);
-        }
-        String getJavaAccess(boolean wide) {
-            return getJavaAccessForType(type, wide);
-        }
-        static String getJavaAccessForType(int type, boolean wide) {
-            switch (type) {
-              case TYPE_INT:
-                  return "Int";
-              case TYPE_CHAR:
-                  return "Char";
-              case TYPE_BYTE:
-                  return "Byte";
-              case TYPE_LONG:
-              case TYPE_PTR:
-              case TYPE_ARRAY:
-              case TYPE_STRUCT:
-              case TYPE_ATOM:
-                  return (wide?"Long":"Int");
-              case TYPE_LONG_LONG:
-                  return "Long";
-              case TYPE_ULONG:
-                  return (wide?"ULong":"UInt");
-              case TYPE_DOUBLE:
-                  return "Double";
-              case TYPE_FLOAT:
-                  return "Float";
-              case TYPE_SHORT:
-                  return "Short";
-              case TYPE_BOOL:
-                  return "Int";
-              default:
-                  throw new IllegalArgumentException("Unknown type: " + type);
-            }
-        }
-        static String getNativeAccessForType(int type) {
-            switch (type) {
-              case TYPE_INT:
-                  return "Int";
-              case TYPE_CHAR:
-                  return "Char";
-              case TYPE_BYTE:
-                  return "Byte";
-              case TYPE_LONG:
-              case TYPE_PTR:
-              case TYPE_ARRAY:
-              case TYPE_STRUCT:
-                  return "Long";
-              case TYPE_LONG_LONG:
-                  return "Long";
-              case TYPE_ULONG:
-                  return "ULong";
-              case TYPE_DOUBLE:
-                  return "Double";
-              case TYPE_FLOAT:
-                  return "Float";
-              case TYPE_SHORT:
-                  return "Short";
-              case TYPE_BOOL:
-                  return "Bool";
-              case TYPE_ATOM:
-                  return "Long";
-              default:
-                  throw new IllegalArgumentException("Unknown type: " + type);
-            }
-        }
-
-        static int getNativeSizeForAccess(String access) {
-            if (access.equals("Int")) return 4;
-            else if (access.equals("Byte")) return 1;
-            else if (access.equals("Long")) return 8;
-            else if (access.equals("Double")) return 8;
-            else if (access.equals("Float")) return 4;
-            else if (access.equals("Char")) return 2;
-            else if (access.equals("Short")) return 2;
-            else if (access.equals("ULong")) return 8;
-            else if (access.equals("UInt")) return 4;
-            else throw new IllegalArgumentException("Unknow access type: " + access);
-        }
-
-        String getJavaConversion(String offset, String value) {
-            if (referencedType != null) {
-                if (referencedType instanceof StructType) {
-                    return getJavaConversionForType(TYPE_PTR, offset, value + ".pData");
-                } else {
-                    if (type == TYPE_ARRAY) {
-                        return getJavaConversionForType(((AtomicType)referencedType).type, offset, value);
-                    } else { // TYPE_PTR
-                        return getJavaConversionForType(TYPE_PTR, offset, value);
-                    }
-                }
-            } else {
-                return getJavaConversionForType(type, offset, value);
-            }
-        }
-        static String getJavaConversionForType(int type, String offset, String value) {
-            return MessageFormat.format("Native.put{0}({2}, {1})", new Object[] {getNativeAccessForType(type), value, offset});
-        }
-
-
-        int type;
-        int offset;
-        int direction;
-        BaseType referencedType;
-        int arrayLength = -1;
-        boolean autoFree = false;
-        public AtomicType(int _type,String _name, String _real_type) {
-            name = _name.replaceAll("[* \t]","");
-            if ((name.indexOf("[") != -1) || (name.indexOf("]") != -1))
-            {
-                name = name.replaceAll("\\[.*\\]","");
-            }
-            type = _type;
-            real_type = _real_type;
-            if (real_type == null)
-            {
-                System.out.println(" real type is null");
-
-            }
-        }
-        public boolean isIn() {
-            return direction == 0;
-        }
-        public boolean isOut() {
-            return direction == 1;
-        }
-        public boolean isInOut() {
-            return direction == 2;
-        }
-        public boolean isAutoFree() {
-            return autoFree;
-        }
-        public void setAttributes(String[] attributes) {
-            String mod = attributes[3];
-            if ("in".equals(mod)) {
-                direction = 0;
-            } else if ("out".equals(mod)) {
-                direction = 1;
-                if (attributes.length > 4 && "free".equals(attributes[4])) {
-                    autoFree = true;
-                }
-            } else if ("inout".equals(mod)) {
-                direction = 2;
-            } else if ("alias".equals(mod)) {
-                alias = true;
-                aliasName = attributes[4];
-            } else if (type == TYPE_ARRAY || type == TYPE_PTR || type == TYPE_STRUCT) {
-                referencedType = (BaseType)symbolTable.get(mod);
-                if (referencedType == null) {
-                    log.warning("Can't find type for name " + mod);
-                }
-                if (attributes.length > 4) { // array length
-                    try {
-                        arrayLength = Integer.parseInt(attributes[4]);
-                    } catch (Exception e) {
-                    }
-                }
-            }
-        }
-        public BaseType getReferencedType() {
-            return referencedType;
-        }
-        public int getArrayLength() {
-            return arrayLength;
-        }
-        public void setOffset(int o)
-        {
-            offset = o;
-        }
-        public int getType() {
-            return type;
-        }
-        public String getTypeUpperCase() {
-            switch (type) {
-              case TYPE_INT:
-                  return "Int";
-              case TYPE_CHAR:
-                  return "Char";
-              case TYPE_BYTE:
-                  return "Byte";
-              case TYPE_LONG:
-              case TYPE_LONG_LONG:
-              case TYPE_PTR:
-                  return "Long";
-              case TYPE_DOUBLE:
-                  return "Double";
-              case TYPE_FLOAT:
-                  return "Float";
-              case TYPE_SHORT:
-                  return "Short";
-              case TYPE_BOOL:
-                  return "Int";
-              case TYPE_ATOM:
-                  return "Long";
-              case TYPE_ULONG:
-                  return "ULong";
-              default: throw new IllegalArgumentException("Uknown type");
-            }
-        }
-        public int getOffset()
-        {
-            return offset;
-        }
-        public boolean isAlias() {
-            return alias;
-        }
-        public String getAliasName() {
-            return aliasName;
-        }
-    }
-
-    private static class StructType extends BaseType {
-
-        Vector members;
-        String description;
-        boolean packed;
-        int size;
-        String baseClass, interfaces;
-        boolean isInterface;
-        String javaClassName;
-
-        /**
-         * Construct new structured type.
-         * Description is used for name and type definition and has the following format:
-         * structName [ '[' base classe ']' ] [ '{' interfaces '}' ] [ '|' javaClassName ]
-         */
-        public StructType(String _desc)
-        {
-            members = new Vector();
-            parseDescription(_desc);
-        }
-        public int getNumFields()
-        {
-            return members.size();
-        }
-        public void setName(String _name)
-        {
-            _name = _name.replaceAll("[* \t]","");
-            parseDescription(_name);
-        }
-
-        public void setSize(int i)
-        {
-            size = i;
-        }
-
-        public String getDescription()
-        {
-            return description;
-        }
-
-        public Enumeration getMembers()
-        {
-            return members.elements();
-        }
-
-        public void addMember(BaseType tp)
-        {
-            members.add(tp);
-        }
-        public String getBaseClass() {
-            return baseClass;
-        }
-        public String getInterfaces() {
-            return interfaces;
-        }
-        public boolean getIsInterface() {
-            return isInterface;
-        }
-        public String getJavaClassName() {
-            return javaClassName;
-        }
-        void parseDescription(String _desc) {
-            if (_desc.indexOf('[') != -1) { // Has base class
-                baseClass = _desc.substring(_desc.indexOf('[')+1, _desc.indexOf(']'));
-                _desc = _desc.substring(0, _desc.indexOf('[')) + _desc.substring(_desc.indexOf(']')+1);
-            }
-            if (_desc.indexOf('{') != -1) { // Has base class
-                interfaces = _desc.substring(_desc.indexOf('{')+1, _desc.indexOf('}'));
-                _desc = _desc.substring(0, _desc.indexOf('{')) + _desc.substring(_desc.indexOf('}')+1);
-            }
-            if (_desc.startsWith("-")) { // Interface
-                isInterface = true;
-                _desc = _desc.substring(1, _desc.length());
-            }
-            if (_desc.indexOf("|") != -1) {
-                javaClassName = _desc.substring(_desc.indexOf('|')+1, _desc.length());
-                _desc = _desc.substring(0, _desc.indexOf('|'));
-            }
-            name = _desc;
-            if (javaClassName == null) {
-                javaClassName = name;
-            }
-            description = _desc;
-//              System.out.println("Struct " + name + " extends " + baseClass + " implements " + interfaces);
-        }
-
-        /**
-         * Returns String containing Java code calculating size of the structure depending on the data model
-         */
-        public String getSize() {
-            String s32 = (String) WrapperGenerator.sizeTable32bit.get(getName());
-            String s64 = (String) WrapperGenerator.sizeTable64bit.get(getName());
-            if (s32 == null || s64 == null) {
-                return (s32 == null)?(s64):(s32);
-            }
-            if (s32.equals(s64)) {
-                return s32;
-            } else {
-                return MessageFormat.format("((XlibWrapper.dataModel == 32)?({0}):({1}))", new Object[] {s32, s64});
-            }
-        }
-        public String getOffset(AtomicType atp) {
-            String key = getName()+"."+(atp.isAlias() ? atp.getAliasName() : atp.getName());
-            String s64 = (String) WrapperGenerator.sizeTable64bit.get(key);
-            String s32 = (String) WrapperGenerator.sizeTable32bit.get(key);
-            if (s32 == null || s64 == null) {
-                return (s32 == null)?(s64):(s32);
-            }
-            if (s32.equals(s64)) {
-                return s32;
-            } else {
-                return MessageFormat.format("((XlibWrapper.dataModel == 32)?({0}):({1}))", new Object[]{s32, s64});
-            }
-        }
-    }
-
-    private static class FunctionType extends BaseType {
-
-        Vector args;
-        String description;
-        boolean packed;
-        String returnType;
-
-        int alignment;
-
-        public FunctionType(String _desc)
-        {
-            args = new Vector();
-            description = _desc;
-            setName(_desc);
-        }
-        boolean isVoid() {
-            return (returnType == null);
-        }
-        String getReturnType() {
-            if (returnType == null) {
-                return "void";
-            } else {
-                return returnType;
-            }
-        }
-
-        public int getNumArgs()
-        {
-            return args.size();
-        }
-        public void setName(String _name)
-        {
-            if (_name.startsWith("!")) {
-                _name = _name.substring(1, _name.length());
-            }
-            if (_name.indexOf("|") != -1) {
-                returnType = _name.substring(_name.indexOf("|")+1, _name.length());
-                _name = _name.substring(0, _name.indexOf("|"));
-            }
-            name = _name.replaceAll("[* \t]","");
-        }
-
-        public String getDescription()
-        {
-            return description;
-        }
-
-        public Collection getArguments()
-        {
-            return args;
-        }
-        public void addArgument(BaseType tp)
-        {
-            args.add(tp);
-        }
-    }
-
-    public String makeComment(String str)
-    {
-        StringTokenizer st = new StringTokenizer(str,"\r\n");
-        String ret="";
-
-        while (st.hasMoreTokens())
-        {
-            ret = ret + "//" + st.nextToken() + "\n";
-        }
-
-        return ret;
-    }
-
-    public String getJavaTypeForSize(int size) {
-        switch(size) {
-          case 1: return "byte";
-          case 2: return "short";
-          case 4: return "int";
-          case 8: return "long";
-          default: throw new RuntimeException("Unsupported size: " + size);
-        }
-    }
-    public String getOffsets(StructType stp,AtomicType atp, boolean wide)
-    {
-        String key = stp.getName()+"."+atp.getName();
-        return wide == true ? (String) sizeTable64bit.get(key) : (String) sizeTable32bit.get(key);
-    }
-
-    public String getStructSize(StructType stp, boolean wide)
-    {
-        return wide == true ? (String) sizeTable64bit.get(stp.getName()) : (String) sizeTable32bit.get(stp.getName());
-    }
-
-    public int getLongSize(boolean wide)
-    {
-        return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("long") : (String)sizeTable32bit.get("long"));
-    }
-
-    public int getPtrSize(boolean wide)
-    {
-        return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("ptr") : (String)sizeTable32bit.get("ptr"));
-    }
-    public int getBoolSize(boolean wide) {
-        return getOrdinalSize("Bool", wide);
-    }
-    public int getOrdinalSize(String ordinal, boolean wide) {
-        return Integer.parseInt(wide == true ? (String)sizeTable64bit.get(ordinal) : (String)sizeTable32bit.get(ordinal));
-    }
-
-    public void writeToString(StructType stp, PrintWriter pw) {
-        int type;
-        pw.println("\n\n\tString getName() {\n\t\treturn \"" + stp.getName()+ "\"; \n\t}");
-        pw.println("\n\n\tString getFieldsAsString() {\n\t\tStringBuilder ret = new StringBuilder(" + stp.getNumFields() * 40 + ");\n");
-
-        for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
-            AtomicType tp = (AtomicType) e.nextElement();
-
-            type = tp.getType();
-            String name = tp.getName().replace('.', '_');
-            if ((name != null) && (name.length() > 0))
-            {
-                if (type == AtomicType.TYPE_ATOM) {
-                    pw.println("\t\tret.append(\"" + name + " = \" ).append( XAtom.get(get_" + name + "()) ).append(\", \");");
-                } else if (name.equals("type")) {
-                    pw.println("\t\tret.append(\"type = \").append( XlibWrapper.eventToString[get_type()] ).append(\", \");");
-                } else if (name.equals("window")){
-                    pw.println("\t\tret.append(\"window = \" ).append( getWindow(get_window()) ).append(\", \");");
-                } else if (type == AtomicType.TYPE_ARRAY) {
-                    pw.print("\t\tret.append(\"{\")");
-                    for (int i = 0; i < tp.getArrayLength(); i++) {
-                        pw.print("\n\t\t.append( get_" + name + "(" + i + ") ).append(\" \")");
-                    }
-                    pw.println(".append( \"}\");");
-                } else {
-                    pw.println("\t\tret.append(\"" + name +" = \").append( get_"+ name+"() ).append(\", \");");
-                }
-            }
-
-        }
-        pw.println("\t\treturn ret.toString();\n\t}\n\n");
-    }
-
-    public void writeStubs(StructType stp, PrintWriter pw) {
-        int type;
-        String prefix = "";
-        if (!stp.getIsInterface()) {
-            prefix = "\t\tabstract ";
-        } else {
-            prefix = "\t";
-        }
-        for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
-            AtomicType tp = (AtomicType) e.nextElement();
-
-            type = tp.getType();
-            String name = tp.getName().replace('.','_');
-            if ((name != null) && (name.length() > 0))
-            {
-                if (type == AtomicType.TYPE_ARRAY) {
-                    // Returns pointer to the start of the array
-                    pw.println(prefix + "long get_" +name +"();");
-
-                    pw.println(prefix + tp.getJavaType() + " get_" +name +"(int index);");
-                    pw.println(prefix + "void set_" +name +"(int index, " + tp.getJavaType() + " v);");
-                } else {
-                    pw.println(prefix + tp.getJavaType() + " get_" +name +"();");
-                    if (type != AtomicType.TYPE_STRUCT) pw.println(prefix + "void set_" +name +"(" + tp.getJavaType() + " v);");
-                }
-            }
-        }
-    }
-
-    private int padSize(int size, int wordLength) {
-        int bytesPerWord = wordLength / 8;
-        // Make size dividable by bytesPerWord
-        return (size + bytesPerWord / 2) / bytesPerWord * bytesPerWord;
-    }
-
-    public void writeAccessorImpls(StructType stp, PrintWriter pw) {
-        int type;
-        int i=0;
-        String s_size_32 = getStructSize(stp, false);
-        String s_size_64 = getStructSize(stp, true);
-        int acc_size_32 = 0;
-        int acc_size_64 = 0;
-        String s_log = (generateLog?"log.finest(\"\");":"");
-        for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
-            AtomicType tp = (AtomicType) e.nextElement();
-
-            type = tp.getType();
-            String name = tp.getName().replace('.','_');
-            String pref = "\tpublic " ;
-            if ((name != null) && (name.length() > 0))
-            {
-                String jt = tp.getJavaType();
-                String ja_32 = tp.getJavaAccess(false);
-                String ja_64 = tp.getJavaAccess(true);
-                String ja = ja_32;
-                int elemSize_32 = AtomicType.getNativeSizeForAccess(ja_32);
-                int elemSize_64 = AtomicType.getNativeSizeForAccess(ja_64);
-                String elemSize = tp.getItemSize();
-                if (type == AtomicType.TYPE_ARRAY) {
-                    acc_size_32 += elemSize_32 * tp.getArrayLength();
-                    acc_size_64 += elemSize_64 * tp.getArrayLength();
-                    pw.println(pref + tp.getJavaType() + " get_" +name + "(int index) { " +s_log+"return " +
-                               tp.getJavaResult(stp.getOffset(tp) + "+index*" + elemSize, null) + "; }");
-                    if (tp.getReferencedType() instanceof AtomicType) { // Set for StructType is forbidden
-                        pw.println(MessageFormat.format(pref + "void set_{0}(int index, {1} v) '{' {3} {2}; '}'",
-                                                        new Object[] {
-                                                            name, jt,
-                                                            tp.getJavaConversion("pData+"+stp.getOffset(tp)+" + index*" + elemSize, "v"),
-                                                            s_log}));
-                    }
-                    // Returns pointer to the start of the array
-                    pw.println(pref + "long get_" +name+ "() { "+s_log+"return pData+"+stp.getOffset(tp)+"; }");
-                } else if (type == AtomicType.TYPE_PTR) {
-                    pw.println(MessageFormat.format(pref + "{0} get_{1}(int index) '{' {3} return {2}; '}'",
-                                         new Object[] {
-                                             jt, name,
-                                             tp.getJavaResult("index*" + elemSize, "Native.getLong(pData+"+stp.getOffset(tp)+")"),
-                                             s_log
-                                             }));
-                    pw.println(pref + "long get_" +name+ "() { "+s_log+"return Native.getLong(pData+"+stp.getOffset(tp)+"); }");
-                    pw.println(MessageFormat.format(pref + "void set_{0}({1} v) '{' {3} {2}; '}'",
-                                                    new Object[] {name, "long", "Native.putLong(pData + " + stp.getOffset(tp) + ", v)", s_log}));
-                    acc_size_32 += elemSize_32;
-                    acc_size_64 += elemSize_64;
-                } else {
-                    acc_size_32 += elemSize_32;
-                    acc_size_64 += elemSize_64;
-                    pw.println(pref + tp.getJavaType() + " get_" +name +
-                               "() { "+s_log+"return " + tp.getJavaResult(stp.getOffset(tp), null) + "; }");
-                    if (type != AtomicType.TYPE_STRUCT) {
-                        pw.println(MessageFormat.format(pref + "void set_{0}({1} v) '{' {3} {2}; '}'",
-                                                        new Object[] {name, jt, tp.getJavaConversion("pData+"+stp.getOffset(tp), "v"), s_log}));
-                    }
-                }
-                i++;
-            }
-        }
-        if (s_size_32 != null && !s_size_32.equals(Integer.toString(acc_size_32))) {
-            if (log.isLoggable(Level.FINE)) {
-                log.fine("32 bits: The size of the structure " + stp.getName() + " " + s_size_32 +
-                        " is not equal to the accumulated size " +acc_size_32 + " of the fields");
-            }
-        } else if (s_size_64 != null && !s_size_64.equals(Integer.toString(acc_size_64))) {
-            if (log.isLoggable(Level.FINE)) {
-                log.fine("64 bits: The size of the structure " + stp.getName() + " " +s_size_64+
-                        " is not equal to the accumulated size " +acc_size_64+" of the fields");
-            }
-        }
-    }
-
-    public void writeWrapperSubclass(StructType stp, PrintWriter pw, boolean wide) {
-
-
-        pw.println("class " + stp.getJavaClassName() + "AccessorImpl"  + " extends " + stp.getJavaClassName() + "Accessor  {");
-        pw.println("/*\nThis class serves as a Wrapper for the following X Struct \nsThe offsets here are calculated based on actual compiler.\n\n" +stp.getDescription() + "\n\n */");
-
-        writeAccessorImpls(stp, pw);
-
-        pw.println("\n\n } \n\n");
-    }
-
-    public void writeWrapper(String outputDir, StructType stp)
-    {
-        if (stp.getNumFields() > 0) {
-
-            try {
-                FileOutputStream fs =  new FileOutputStream(outputDir + "/"+stp.getJavaClassName()+".java");
-                PrintWriter pw = new PrintWriter(fs);
-                pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
-
-                pw.println("package "+package_name+";\n");
-                pw.println("import sun.misc.*;\n");
-                pw.println("import sun.util.logging.PlatformLogger;");
-                String baseClass = stp.getBaseClass();
-                if (baseClass == null) {
-                    baseClass = defaultBaseClass;
-                }
-                if (stp.getIsInterface()) {
-                    pw.print("public interface ");
-                    pw.print(stp.getJavaClassName());
-                } else {
-                    pw.print("public class ");
-                    pw.print(stp.getJavaClassName() + " extends " + baseClass);
-                }
-                if (stp.getInterfaces() != null) {
-                    pw.print(" implements " + stp.getInterfaces());
-                }
-                pw.println(" { ");
-                if (!stp.getIsInterface()) {
-                    pw.println("\tprivate Unsafe unsafe = XlibWrapper.unsafe; ");
-                    pw.println("\tprivate final boolean should_free_memory;");
-                    pw.println("\tpublic static int getSize() { return " + stp.getSize() + "; }");
-                    pw.println("\tpublic int getDataSize() { return getSize(); }");
-                    pw.println("\n\tlong pData;");
-                    pw.println("\n\tpublic long getPData() { return pData; }");
-
-                    pw.println("\n\n\tpublic " + stp.getJavaClassName() + "(long addr) {");
-                    if (generateLog) {
-                        pw.println("\t\tlog.finest(\"Creating\");");
-                    }
-                    pw.println("\t\tpData=addr;");
-                    pw.println("\t\tshould_free_memory = false;");
-                    pw.println("\t}");
-                    pw.println("\n\n\tpublic " + stp.getJavaClassName() + "() {");
-                    if (generateLog) {
-                        pw.println("\t\tlog.finest(\"Creating\");");
-                    }
-                    pw.println("\t\tpData = unsafe.allocateMemory(getSize());");
-                    pw.println("\t\tshould_free_memory = true;");
-                    pw.println("\t}");
-
-                    pw.println("\n\n\tpublic void dispose() {");
-                    if (generateLog) {
-                        pw.println("\t\tlog.finest(\"Disposing\");");
-                    }
-                    pw.println("\t\tif (should_free_memory) {");
-                    if (generateLog) {
-                        pw.println("\t\t\tlog.finest(\"freeing memory\");");
-                    }
-                    pw.println("\t\t\tunsafe.freeMemory(pData); \n\t}");
-                    pw.println("\t\t}");
-                    writeAccessorImpls(stp, pw);
-                    writeToString(stp,pw);
-                } else {
-                    pw.println("\n\n\tvoid dispose();");
-                    pw.println("\n\tlong getPData();");
-                    writeStubs(stp,pw);
-                }
-
-
-                pw.println("}\n\n\n");
-                pw.close();
-            }
-            catch (Exception e)
-            {
-                e.printStackTrace();
-            }
-        }
-    }
-
-    private boolean readSizeInfo(InputStream is, boolean wide) {
-        String line;
-        String splits[];
-        BufferedReader in  = new BufferedReader(new InputStreamReader(is));
-        try {
-            while ((line = in.readLine()) != null)
-            {
-                splits = line.split("\\p{Space}");
-                if (splits.length == 2)
-                {
-                    if (wide) {
-                        sizeTable64bit.put(splits[0],splits[1]);
-                    } else {
-                        sizeTable32bit.put(splits[0],splits[1]);
-                    }
-                }
-            }
-            return true;
-        } catch (Exception e) {
-            e.printStackTrace();
-            return false;
-        }
-    }
-
-    public void writeFunctionCallWrapper(String outputDir, FunctionType ft) {
-        try {
-            FileOutputStream fs =  new FileOutputStream(outputDir + "/" + ft.getName()+".java");
-            PrintWriter pw = new PrintWriter(fs);
-            pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
-
-            pw.println("package "+package_name+";\n");
-            pw.println("import sun.misc.Unsafe;\n");
-            pw.println("class " + ft.getName() + " {");
-            pw.println("\tprivate static Unsafe unsafe = XlibWrapper.unsafe;");
-            pw.println("\tprivate boolean __executed = false;");
-            pw.println("\tprivate boolean __disposed = false;");
-            Iterator iter = ft.getArguments().iterator();
-            while (iter.hasNext()) {
-                AtomicType at = (AtomicType)iter.next();
-                if (at.isIn()) {
-                    pw.println("\t" + at.getJavaType() + " _" + at.getName() + ";");
-                } else {
-                    pw.println("\tlong " + at.getName() + "_ptr = unsafe.allocateMemory(Native.get" + at.getTypeUpperCase() + "Size());");
-                }
-            }
-            pw.println("\tpublic " + ft.getName() + "(");
-            iter = ft.getArguments().iterator();
-            boolean first = true;
-            while (iter.hasNext()) {
-                AtomicType at = (AtomicType)iter.next();
-                if (at.isIn() || at.isInOut()) {
-                    if (!first) {
-                        pw.println(",");
-                    }
-                    first = false;
-                    pw.print("\t\t" + at.getJavaType() + " " + at.getName());
-                }
-            }
-            pw.println("\t)");
-            pw.println("\t{");
-            iter = ft.getArguments().iterator();
-            while (iter.hasNext()) {
-                AtomicType at = (AtomicType)iter.next();
-                if (at.isIn() || at.isInOut()) {
-                    pw.println("\t\tset_" + at.getName() + "(" + at.getName() + ");");
-                }
-            }
-            pw.println("\t}");
-
-            pw.println("\tpublic " + ft.getReturnType() + " execute() {");
-            if (ft.isVoid()) {
-                pw.println("\t\texecute(null);");
-            } else {
-                pw.println("\t\treturn execute(null);");
-            }
-            pw.println("\t}");
-
-            pw.println("\tpublic " + ft.getReturnType() + " execute(XToolkit.XErrorHandler errorHandler) {");
-            pw.println("\t\tif (__disposed) {");
-            pw.println("\t\t    throw new IllegalStateException(\"Disposed\");");
-            pw.println("\t\t}");
-            pw.println("\t\tXToolkit.awtLock();");
-            pw.println("\t\ttry {");
-            pw.println("\t\t\tif (__executed) {");
-            pw.println("\t\t\t    throw new IllegalStateException(\"Already executed\");");
-            pw.println("\t\t\t}");
-            pw.println("\t\t\t__executed = true;");
-            pw.println("\t\t\tif (errorHandler != null) {");
-            pw.println("\t\t\t    XErrorHandlerUtil.WITH_XERROR_HANDLER(errorHandler);");
-            pw.println("\t\t\t}");
-            iter = ft.getArguments().iterator();
-            while (iter.hasNext()) {
-                AtomicType at = (AtomicType)iter.next();
-                if (!at.isIn() && at.isAutoFree()) {
-                    pw.println("\t\t\tNative.put" + at.getTypeUpperCase() + "(" +at.getName() + "_ptr, 0);");
-                }
-            }
-            if (!ft.isVoid()) {
-                pw.println("\t\t\t" + ft.getReturnType() + " status = ");
-            }
-            pw.println("\t\t\tXlibWrapper." + ft.getName() + "(XToolkit.getDisplay(), ");
-            iter = ft.getArguments().iterator();
-            first = true;
-            while (iter.hasNext()) {
-                AtomicType at = (AtomicType)iter.next();
-                if (!first) {
-                    pw.println(",");
-                }
-                first = false;
-                if (at.isIn()) {
-                    pw.print("\t\t\t\tget_" + at.getName() + "()");
-                } else {
-                    pw.print("\t\t\t\t" + at.getName() + "_ptr");
-                }
-            }
-            pw.println("\t\t\t);");
-            pw.println("\t\t\tif (errorHandler != null) {");
-            pw.println("\t\t\t    XErrorHandlerUtil.RESTORE_XERROR_HANDLER();");
-            pw.println("\t\t\t}");
-            if (!ft.isVoid()) {
-                pw.println("\t\t\treturn status;");
-            }
-            pw.println("\t\t} finally {");
-            pw.println("\t\t    XToolkit.awtUnlock();");
-            pw.println("\t\t}");
-            pw.println("\t}");
-
-            pw.println("\tpublic boolean isExecuted() {");
-            pw.println("\t    return __executed;");
-            pw.println("\t}");
-            pw.println("\t");
-            pw.println("\tpublic boolean isDisposed() {");
-            pw.println("\t    return __disposed;");
-            pw.println("\t}");
-            pw.println("\tpublic void finalize() {");
-            pw.println("\t    dispose();");
-            pw.println("\t}");
-
-            pw.println("\tpublic void dispose() {");
-            pw.println("\t\tXToolkit.awtLock();");
-            pw.println("\t\ttry {");
-            pw.println("\t\tif (__disposed || !__executed) {");
-            pw.println("\t\t    return;");
-            pw.println("\t\t} finally {");
-            pw.println("\t\t    XToolkit.awtUnlock();");
-            pw.println("\t\t}");
-            pw.println("\t\t}");
-
-            iter = ft.getArguments().iterator();
-            while (iter.hasNext()) {
-                AtomicType at = (AtomicType)iter.next();
-                if (!at.isIn()) {
-                    if (at.isAutoFree()) {
-                        pw.println("\t\tif (__executed && get_" + at.getName() + "()!= 0) {");
-                        pw.println("\t\t\tXlibWrapper.XFree(get_" + at.getName() + "());");
-                        pw.println("\t\t}");
-                    }
-                    pw.println("\t\tunsafe.freeMemory(" + at.getName() + "_ptr);");
-                }
-            }
-            pw.println("\t\t__disposed = true;");
-            pw.println("\t\t}");
-            pw.println("\t}");
-
-            iter = ft.getArguments().iterator();
-            while (iter.hasNext()) {
-                AtomicType at = (AtomicType)iter.next();
-                pw.println("\tpublic " + at.getJavaType() + " get_" + at.getName() + "() {");
-
-                pw.println("\t\tif (__disposed) {");
-                pw.println("\t\t    throw new IllegalStateException(\"Disposed\");");
-                pw.println("\t\t}");
-                pw.println("\t\tif (!__executed) {");
-                pw.println("\t\t    throw new IllegalStateException(\"Not executed\");");
-                pw.println("\t\t}");
-
-                if (at.isIn()) {
-                    pw.println("\t\treturn _" + at.getName() + ";");
-                } else {
-                    pw.println("\t\treturn Native.get" + at.getTypeUpperCase() + "(" + at.getName() + "_ptr);");
-                }
-                pw.println("\t}");
-
-                pw.println("\tpublic void set_" + at.getName() + "(" + at.getJavaType() + " data) {");
-                if (at.isIn()) {
-                    pw.println("\t\t_" + at.getName() + " = data;");
-                } else {
-                    pw.println("\t\tNative.put" + at.getTypeUpperCase() + "(" + at.getName() + "_ptr, data);");
-                }
-                pw.println("\t}");
-            }
-            pw.println("}");
-            pw.close();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    public void writeJavaWrapperClass(String outputDir) {
-//          (new File(outputDir, package_path)).mkdirs();
-        try {
-            for (Enumeration e = symbolTable.elements() ; e.hasMoreElements() ;) {
-                BaseType tp = (BaseType) e.nextElement();
-                if (tp instanceof StructType) {
-                    StructType st = (StructType) tp;
-                    writeWrapper(outputDir, st);
-                } else if (tp instanceof FunctionType) {
-                    writeFunctionCallWrapper(outputDir, (FunctionType)tp);
-                }
-            }
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-
-    public void writeNativeSizer(String file)
-    {
-        int type;
-        int i=0;
-        int j=0;
-        BaseType tp;
-        StructType stp;
-        Enumeration eo;
-
-
-        try {
-
-            FileOutputStream fs =  new FileOutputStream(file);
-            PrintWriter pw = new PrintWriter(fs);
-
-            pw.println("/* This file is an automatically generated file, please do not edit this file, modify the XlibParser.java file instead !*/\n" );
-            pw.println("#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n#include <X11/Xos.h>\n#include <X11/Xatom.h>\n#include <stdio.h>\n");
-            pw.println("#include <X11/extensions/Xdbe.h>");
-            pw.println("#include <X11/XKBlib.h>");
-            pw.println("#include \"awt_p.h\"");
-            pw.println("#include \"color.h\"");
-            pw.println("#include \"colordata.h\"");
-            pw.println("\ntypedef struct\n");
-            pw.println("{\n");
-            pw.println("    unsigned long flags;\n");
-            pw.println("    unsigned long functions;\n");
-            pw.println("    unsigned long decorations;\n");
-            pw.println("    long inputMode;\n");
-            pw.println("    unsigned long status;\n");
-            pw.println("} PropMwmHints;\n");
-
-
-            pw.println("\n\nint main(){");
-            j=0;
-            for ( eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
-                tp = (BaseType) eo.nextElement();
-                if (tp instanceof StructType)
-                {
-                    stp = (StructType) tp;
-                    if (!stp.getIsInterface()) {
-                        pw.println(stp.getName()+"  temp"+ j + ";\n");
-                        j++;
-                    }
-                }
-            }
-            j=0;
-
-            pw.println("printf(\"long\t%d\\n\",(int)sizeof(long));");
-            pw.println("printf(\"int\t%d\\n\",(int)sizeof(int));");
-            pw.println("printf(\"short\t%d\\n\",(int)sizeof(short));");
-            pw.println("printf(\"ptr\t%d\\n\",(int)sizeof(void *));");
-            pw.println("printf(\"Bool\t%d\\n\",(int)sizeof(Bool));");
-            pw.println("printf(\"Atom\t%d\\n\",(int)sizeof(Atom));");
-            pw.println("printf(\"Window\t%d\\n\",(int)sizeof(Window));");
-
-
-            for (eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
-
-
-                tp = (BaseType) eo.nextElement();
-                if (tp instanceof StructType)
-                {
-                    stp = (StructType) tp;
-                    if (stp.getIsInterface()) {
-                        continue;
-                    }
-                    for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
-                        AtomicType atp = (AtomicType) e.nextElement();
-                        if (atp.isAlias()) continue;
-                        pw.println("printf(\""+ stp.getName() + "." + atp.getName() + "\t%d\\n\""+
-                                   ",(int)((unsigned long ) &temp"+j+"."+atp.getName()+"- (unsigned long ) &temp" + j + ")  );");
-
-                        i++;
-
-
-                    }
-                    pw.println("printf(\""+ stp.getName() + "\t%d\\n\"" + ",(int)sizeof(temp"+j+"));");
-
-                    j++;
-                }
-
-            }
-            pw.println("return 0;");
-            pw.println("}");
-            pw.close();
-
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
-    }
-
-    private void initTypes() {
-        symbolTable.put("int", new AtomicType(AtomicType.TYPE_INT, "", "int"));
-        symbolTable.put("short", new AtomicType(AtomicType.TYPE_SHORT, "", "short"));
-        symbolTable.put("long", new AtomicType(AtomicType.TYPE_LONG, "", "long"));
-        symbolTable.put("float", new AtomicType(AtomicType.TYPE_FLOAT, "", "float"));
-        symbolTable.put("double", new AtomicType(AtomicType.TYPE_DOUBLE, "", "double"));
-        symbolTable.put("Bool", new AtomicType(AtomicType.TYPE_BOOL, "", "Bool"));
-        symbolTable.put("char", new AtomicType(AtomicType.TYPE_CHAR, "", "char"));
-        symbolTable.put("byte", new AtomicType(AtomicType.TYPE_BYTE, "", "byte"));
-        symbolTable.put("pointer", new AtomicType(AtomicType.TYPE_PTR, "", "pointer"));
-        symbolTable.put("longlong", new AtomicType(AtomicType.TYPE_LONG_LONG, "", "longlong"));
-        symbolTable.put("Atom", new AtomicType(AtomicType.TYPE_ATOM, "", "Atom"));
-        symbolTable.put("ulong", new AtomicType(AtomicType.TYPE_ULONG, "", "ulong"));
-    }
-    public WrapperGenerator(String outputDir, String xlibFilename) {
-        initTypes();
-        try {
-            BufferedReader in  = new BufferedReader(new FileReader(xlibFilename));
-            String line;
-            String splits[];
-            BaseType curType = null;
-            while ((line = in.readLine()) != null)
-            {
-                int commentStart = line.indexOf("//");
-                if (commentStart >= 0) {
-                    // remove comment
-                    line = line.substring(0, commentStart);
-                }
-
-                if ("".equals(line)) {
-                    // skip empty line
-                    continue;
-                }
-
-                splits = line.split("\\p{Space}+");
-                if (splits.length >= 2)
-                {
-                    String struct_name = curType.getName();
-                    String field_name = splits[1];
-                    String s_type = splits[2];
-                    BaseType bt = curType;
-                    int type = AtomicType.getTypeForString(s_type);
-                    AtomicType atp = null;
-                    if (bt != null && type != -1) {
-                        atp = new AtomicType(type,field_name,s_type);
-                        if (splits.length > 3) {
-                            atp.setAttributes(splits);
-                        }
-                        if (bt instanceof StructType) {
-                            StructType  stp = (StructType) bt;
-                            stp.addMember(atp);
-                        } else if (bt instanceof FunctionType) {
-                            ((FunctionType)bt).addArgument(atp);
-                        }
-                    }
-                    else if (bt == null) {
-                        System.out.println("Cannot find " + struct_name);
-                    }
-
-                }
-                else  if (line != null) {
-                    BaseType bt = (BaseType) symbolTable.get(line);
-                    if (bt == null) {
-                        if (line.startsWith("!")) {
-                            FunctionType ft = new FunctionType(line);
-                            ft.setName(line);
-                            symbolTable.put(ft.getName(),ft);
-                            curType = ft;
-                        } else {
-                            StructType stp = new StructType(line);
-                            stp.setName(line);
-                            curType = stp;
-                            symbolTable.put(stp.getName(),stp);
-                        }
-                    }
-                }
-
-            }
-            in.close();
-        }
-        catch (Exception e) {
-            e.printStackTrace();
-        }
-
-    }
-    private void makeSizer(String outputDir) {
-        if (wide) {
-            sizerFileName = "sizer.64.c";
-        } else {
-            sizerFileName = "sizer.32.c";
-        }
-        File fp = new File(outputDir, sizerFileName);
-        writeNativeSizer(fp.getAbsolutePath());
-    }
-    private boolean readSizeInfo(String sizeInfo) {
-        try {
-            File f = new File(sizeInfo+".32");
-            boolean res = true;
-            FileInputStream fis = null;
-            if (f.exists()) {
-                fis = new FileInputStream(f);
-                res = readSizeInfo(fis, false);
-                fis.close();
-            }
-            f = new File(sizeInfo+".64");
-            if (f.exists()) {
-                fis = new FileInputStream(f);
-                res &= readSizeInfo(fis, true);
-                fis.close();
-            }
-            return res;
-        } catch (Exception e) {
-            e.printStackTrace();
-            return false;
-        }
-    }
-
-    private void startGeneration(String outputDir, String sizeInfo) {
-        if (readSizeInfo(sizeInfo))
-        {
-            writeJavaWrapperClass(outputDir);
-        }
-        else {
-            System.out.println("Error calculating offsets");
-        }
-    }
-
-    public static void main(String[] args) {
-
-        if (args.length < 4) {
-            System.out.println("Usage:\nWrapperGenerator <output_dir> <xlibtypes.txt> <action> [<platform> | <sizes info file>]");
-            System.out.println("Where <action>: gen, sizer");
-            System.out.println("      <platform>: 32, 64");
-            System.exit(1);
-        }
-
-        WrapperGenerator xparser = new WrapperGenerator(args[0], args[1]);
-        if (args[2].equals("sizer")) {
-            xparser.wide = args[3].equals("64");
-            xparser.makeSizer(args[0]);
-        } else if (args[2].equals("gen")) {
-            xparser.startGeneration(args[0], args[3]);
-        }
-    }
-
-}
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/functions.txt	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-!XGetWindowProperty|int
-    w                long
-    property         Atom
-    long_offset      long
-    long_length      long
-    delete           Bool
-    req_type         Atom
-    actual_type      Atom out
-    actual_format    int out
-    number_of_items  long out
-    bytes_after      long out
-    data             pointer out free
-!XQueryTree|int
-    w                long
-    root             long out
-    parent           long out
-    children         pointer out free
-    nchildren        int out
-!XTranslateCoordinates|int
-    scr_w            long
-    dest_w           long 
-    src_x            int
-    src_y            int
-    dest_x           int out
-    dest_y           int out
-    child            long out
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.32	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1016 +0,0 @@
-long	4
-int	4
-short	2
-ptr	4
-Bool	4
-Atom	4
-Window	4
-XExtData.number	0
-XExtData.next	4
-XExtData.free_private	8
-XExtData.private_data	12
-XExtData	16
-XIMStringConversionCallbackStruct.position	0
-XIMStringConversionCallbackStruct.direction	4
-XIMStringConversionCallbackStruct.operation	8
-XIMStringConversionCallbackStruct.factor	10
-XIMStringConversionCallbackStruct.text	12
-XIMStringConversionCallbackStruct	16
-XkbNewKeyboardNotifyEvent.type	0
-XkbNewKeyboardNotifyEvent.serial	4
-XkbNewKeyboardNotifyEvent.send_event	8
-XkbNewKeyboardNotifyEvent.display	12
-XkbNewKeyboardNotifyEvent.time	16
-XkbNewKeyboardNotifyEvent.xkb_type	20
-XkbNewKeyboardNotifyEvent.device	24
-XkbNewKeyboardNotifyEvent.old_device	28
-XkbNewKeyboardNotifyEvent.min_key_code	32
-XkbNewKeyboardNotifyEvent.max_key_code	36
-XkbNewKeyboardNotifyEvent.old_min_key_code	40
-XkbNewKeyboardNotifyEvent.old_max_key_code	44
-XkbNewKeyboardNotifyEvent.changed	48
-XkbNewKeyboardNotifyEvent.req_major	52
-XkbNewKeyboardNotifyEvent.req_minor	53
-XkbNewKeyboardNotifyEvent	56
-XTimeCoord.time	0
-XTimeCoord.x	4
-XTimeCoord.y	6
-XTimeCoord	8
-XkbCompatMapNotifyEvent.type	0
-XkbCompatMapNotifyEvent.serial	4
-XkbCompatMapNotifyEvent.send_event	8
-XkbCompatMapNotifyEvent.display	12
-XkbCompatMapNotifyEvent.time	16
-XkbCompatMapNotifyEvent.xkb_type	20
-XkbCompatMapNotifyEvent.device	24
-XkbCompatMapNotifyEvent.changed_groups	28
-XkbCompatMapNotifyEvent.first_si	32
-XkbCompatMapNotifyEvent.num_si	36
-XkbCompatMapNotifyEvent.num_total_si	40
-XkbCompatMapNotifyEvent	44
-XIMStatusDrawCallbackStruct.type	0
-XIMStatusDrawCallbackStruct.data	4
-XIMStatusDrawCallbackStruct	8
-XKeyboardControl.key_click_percent	0
-XKeyboardControl.bell_percent	4
-XKeyboardControl.bell_pitch	8
-XKeyboardControl.bell_duration	12
-XKeyboardControl.led	16
-XKeyboardControl.led_mode	20
-XKeyboardControl.key	24
-XKeyboardControl.auto_repeat_mode	28
-XKeyboardControl	32
-XSelectionClearEvent.type	0
-XSelectionClearEvent.serial	4
-XSelectionClearEvent.send_event	8
-XSelectionClearEvent.display	12
-XSelectionClearEvent.window	16
-XSelectionClearEvent.selection	20
-XSelectionClearEvent.time	24
-XSelectionClearEvent	28
-XWindowChanges.x	0
-XWindowChanges.y	4
-XWindowChanges.width	8
-XWindowChanges.height	12
-XWindowChanges.border_width	16
-XWindowChanges.sibling	20
-XWindowChanges.stack_mode	24
-XWindowChanges	28
-XIMPreeditCaretCallbackStruct.position	0
-XIMPreeditCaretCallbackStruct.direction	4
-XIMPreeditCaretCallbackStruct.style	8
-XIMPreeditCaretCallbackStruct	12
-XOMCharSetList.charset_count	0
-XOMCharSetList.charset_list	4
-XOMCharSetList	8
-XOMFontInfo.num_font	0
-XOMFontInfo.font_struct_list	4
-XOMFontInfo.font_name_list	8
-XOMFontInfo	12
-AwtScreenData.numConfigs	0
-AwtScreenData.root	4
-AwtScreenData.whitepixel	8
-AwtScreenData.blackpixel	12
-AwtScreenData.defaultConfig	16
-AwtScreenData.configs	20
-AwtScreenData	24
-XIMHotKeyTrigger.keysym	0
-XIMHotKeyTrigger.modifier	4
-XIMHotKeyTrigger.modifier_mask	8
-XIMHotKeyTrigger	12
-XCirculateEvent.type	0
-XCirculateEvent.serial	4
-XCirculateEvent.send_event	8
-XCirculateEvent.display	12
-XCirculateEvent.event	16
-XCirculateEvent.window	20
-XCirculateEvent.place	24
-XCirculateEvent	28
-Screen.ext_data	0
-Screen.display	4
-Screen.root	8
-Screen.width	12
-Screen.height	16
-Screen.mwidth	20
-Screen.mheight	24
-Screen.ndepths	28
-Screen.depths	32
-Screen.root_depth	36
-Screen.root_visual	40
-Screen.default_gc	44
-Screen.cmap	48
-Screen.white_pixel	52
-Screen.black_pixel	56
-Screen.max_maps	60
-Screen.min_maps	64
-Screen.backing_store	68
-Screen.save_unders	72
-Screen.root_input_mask	76
-Screen	80
-XMapRequestEvent.type	0
-XMapRequestEvent.serial	4
-XMapRequestEvent.send_event	8
-XMapRequestEvent.display	12
-XMapRequestEvent.parent	16
-XMapRequestEvent.window	20
-XMapRequestEvent	24
-XIMText.length	0
-XIMText.feedback	4
-XIMText.encoding_is_wchar	8
-XIMText.string	12
-XIMText	16
-XGraphicsExposeEvent.type	0
-XGraphicsExposeEvent.serial	4
-XGraphicsExposeEvent.send_event	8
-XGraphicsExposeEvent.display	12
-XGraphicsExposeEvent.drawable	16
-XGraphicsExposeEvent.x	20
-XGraphicsExposeEvent.y	24
-XGraphicsExposeEvent.width	28
-XGraphicsExposeEvent.height	32
-XGraphicsExposeEvent.count	36
-XGraphicsExposeEvent.major_code	40
-XGraphicsExposeEvent.minor_code	44
-XGraphicsExposeEvent	48
-XEvent.type	0
-XEvent.xany	0
-XEvent.xkey	0
-XEvent.xbutton	0
-XEvent.xmotion	0
-XEvent.xcrossing	0
-XEvent.xfocus	0
-XEvent.xexpose	0
-XEvent.xgraphicsexpose	0
-XEvent.xnoexpose	0
-XEvent.xvisibility	0
-XEvent.xcreatewindow	0
-XEvent.xdestroywindow	0
-XEvent.xunmap	0
-XEvent.xmap	0
-XEvent.xmaprequest	0
-XEvent.xreparent	0
-XEvent.xconfigure	0
-XEvent.xgravity	0
-XEvent.xresizerequest	0
-XEvent.xconfigurerequest	0
-XEvent.xcirculate	0
-XEvent.xcirculaterequest	0
-XEvent.xproperty	0
-XEvent.xselectionclear	0
-XEvent.xselectionrequest	0
-XEvent.xselection	0
-XEvent.xcolormap	0
-XEvent.xclient	0
-XEvent.xmapping	0
-XEvent.xerror	0
-XEvent.xkeymap	0
-XEvent.pad	0
-XEvent	96
-XRenderDirectFormat.red	0
-XRenderDirectFormat.redMask	2
-XRenderDirectFormat.green	4
-XRenderDirectFormat.greenMask	6
-XRenderDirectFormat.blue	8
-XRenderDirectFormat.blueMask	10
-XRenderDirectFormat.alpha	12
-XRenderDirectFormat.alphaMask	14
-XRenderDirectFormat	16
-ColorData.awt_Colors	0
-ColorData.awt_numICMcolors	4
-ColorData.awt_icmLUT	8
-ColorData.awt_icmLUT2Colors	12
-ColorData.img_grays	16
-ColorData.img_clr_tbl	20
-ColorData.img_oda_red	24
-ColorData.img_oda_green	28
-ColorData.img_oda_blue	32
-ColorData.pGrayInverseLutData	36
-ColorData.screendata	40
-ColorData	44
-XFontStruct.ext_data	0
-XFontStruct.fid	4
-XFontStruct.direction	8
-XFontStruct.min_char_or_byte2	12
-XFontStruct.max_char_or_byte2	16
-XFontStruct.min_byte1	20
-XFontStruct.max_byte1	24
-XFontStruct.all_chars_exist	28
-XFontStruct.n_properties	36
-XFontStruct.properties	40
-XFontStruct.min_bounds	44
-XFontStruct.max_bounds	56
-XFontStruct.per_char	68
-XFontStruct.ascent	72
-XFontStruct.descent	76
-XFontStruct	80
-XExtCodes.extension	0
-XExtCodes.major_opcode	4
-XExtCodes.first_event	8
-XExtCodes.first_error	12
-XExtCodes	16
-XFontSetExtents.max_ink_extent	0
-XFontSetExtents.max_logical_extent	8
-XFontSetExtents	16
-XSelectionEvent.type	0
-XSelectionEvent.serial	4
-XSelectionEvent.send_event	8
-XSelectionEvent.display	12
-XSelectionEvent.requestor	16
-XSelectionEvent.selection	20
-XSelectionEvent.target	24
-XSelectionEvent.property	28
-XSelectionEvent.time	32
-XSelectionEvent	36
-XArc.x	0
-XArc.y	2
-XArc.width	4
-XArc.height	6
-XArc.angle1	8
-XArc.angle2	10
-XArc	12
-XErrorEvent.type	0
-XErrorEvent.display	4
-XErrorEvent.resourceid	8
-XErrorEvent.serial	12
-XErrorEvent.error_code	16
-XErrorEvent.request_code	17
-XErrorEvent.minor_code	18
-XErrorEvent	20
-XConfigureRequestEvent.type	0
-XConfigureRequestEvent.serial	4
-XConfigureRequestEvent.send_event	8
-XConfigureRequestEvent.display	12
-XConfigureRequestEvent.parent	16
-XConfigureRequestEvent.window	20
-XConfigureRequestEvent.x	24
-XConfigureRequestEvent.y	28
-XConfigureRequestEvent.width	32
-XConfigureRequestEvent.height	36
-XConfigureRequestEvent.border_width	40
-XConfigureRequestEvent.above	44
-XConfigureRequestEvent.detail	48
-XConfigureRequestEvent.value_mask	52
-XConfigureRequestEvent	56
-ScreenFormat.ext_data	0
-ScreenFormat.depth	4
-ScreenFormat.bits_per_pixel	8
-ScreenFormat.scanline_pad	12
-ScreenFormat	16
-XButtonEvent.type	0
-XButtonEvent.serial	4
-XButtonEvent.send_event	8
-XButtonEvent.display	12
-XButtonEvent.window	16
-XButtonEvent.root	20
-XButtonEvent.subwindow	24
-XButtonEvent.time	28
-XButtonEvent.x	32
-XButtonEvent.y	36
-XButtonEvent.x_root	40
-XButtonEvent.y_root	44
-XButtonEvent.state	48
-XButtonEvent.button	52
-XButtonEvent.same_screen	56
-XButtonEvent	60
-XFontProp.name	0
-XFontProp.card32	4
-XFontProp	8
-XIMValuesList.count_values	0
-XIMValuesList.supported_values	4
-XIMValuesList	8
-XKeymapEvent.type	0
-XKeymapEvent.serial	4
-XKeymapEvent.send_event	8
-XKeymapEvent.display	12
-XKeymapEvent.window	16
-XKeymapEvent.key_vector	20
-XKeymapEvent	52
-XTextItem16.chars	0
-XTextItem16.nchars	4
-XTextItem16.delta	8
-XTextItem16.font	12
-XTextItem16	16
-XIMPreeditDrawCallbackStruct.caret	0
-XIMPreeditDrawCallbackStruct.chg_first	4
-XIMPreeditDrawCallbackStruct.chg_length	8
-XIMPreeditDrawCallbackStruct.text	12
-XIMPreeditDrawCallbackStruct	16
-XVisualInfo.visual	0
-XVisualInfo.visualid	4
-XVisualInfo.screen	8
-XVisualInfo.depth	12
-XVisualInfo.class	16
-XVisualInfo.red_mask	20
-XVisualInfo.green_mask	24
-XVisualInfo.blue_mask	28
-XVisualInfo.colormap_size	32
-XVisualInfo.bits_per_rgb	36
-XVisualInfo	40
-XkbControlsNotifyEvent.type	0
-XkbControlsNotifyEvent.serial	4
-XkbControlsNotifyEvent.send_event	8
-XkbControlsNotifyEvent.display	12
-XkbControlsNotifyEvent.time	16
-XkbControlsNotifyEvent.xkb_type	20
-XkbControlsNotifyEvent.device	24
-XkbControlsNotifyEvent.changed_ctrls	28
-XkbControlsNotifyEvent.enabled_ctrls	32
-XkbControlsNotifyEvent.enabled_ctrl_changes	36
-XkbControlsNotifyEvent.num_groups	40
-XkbControlsNotifyEvent.keycode	44
-XkbControlsNotifyEvent.event_type	45
-XkbControlsNotifyEvent.req_major	46
-XkbControlsNotifyEvent.req_minor	47
-XkbControlsNotifyEvent	48
-PropMwmHints.flags	0
-PropMwmHints.functions	4
-PropMwmHints.decorations	8
-PropMwmHints.inputMode	12
-PropMwmHints.status	16
-PropMwmHints	20
-XClientMessageEvent.type	0
-XClientMessageEvent.serial	4
-XClientMessageEvent.send_event	8
-XClientMessageEvent.display	12
-XClientMessageEvent.window	16
-XClientMessageEvent.message_type	20
-XClientMessageEvent.format	24
-XClientMessageEvent.data	28
-XClientMessageEvent	48
-XAnyEvent.type	0
-XAnyEvent.serial	4
-XAnyEvent.send_event	8
-XAnyEvent.display	12
-XAnyEvent.window	16
-XAnyEvent	20
-XkbIndicatorNotifyEvent.type	0
-XkbIndicatorNotifyEvent.serial	4
-XkbIndicatorNotifyEvent.send_event	8
-XkbIndicatorNotifyEvent.display	12
-XkbIndicatorNotifyEvent.time	16
-XkbIndicatorNotifyEvent.xkb_type	20
-XkbIndicatorNotifyEvent.device	24
-XkbIndicatorNotifyEvent.changed	28
-XkbIndicatorNotifyEvent.state	32
-XkbIndicatorNotifyEvent	36
-XIMPreeditStateNotifyCallbackStruct.state	0
-XIMPreeditStateNotifyCallbackStruct	4
-XkbAnyEvent.type	0
-XkbAnyEvent.serial	4
-XkbAnyEvent.send_event	8
-XkbAnyEvent.display	12
-XkbAnyEvent.time	16
-XkbAnyEvent.xkb_type	20
-XkbAnyEvent.device	24
-XkbAnyEvent	28
-XMotionEvent.type	0
-XMotionEvent.serial	4
-XMotionEvent.send_event	8
-XMotionEvent.display	12
-XMotionEvent.window	16
-XMotionEvent.root	20
-XMotionEvent.subwindow	24
-XMotionEvent.time	28
-XMotionEvent.x	32
-XMotionEvent.y	36
-XMotionEvent.x_root	40
-XMotionEvent.y_root	44
-XMotionEvent.state	48
-XMotionEvent.is_hint	52
-XMotionEvent.same_screen	56
-XMotionEvent	60
-XIMHotKeyTriggers.num_hot_key	0
-XIMHotKeyTriggers.key	4
-XIMHotKeyTriggers	8
-XIMStyles.count_styles	0
-XIMStyles.supported_styles	4
-XIMStyles	8
-XkbExtensionDeviceNotifyEvent.type	0
-XkbExtensionDeviceNotifyEvent.serial	4
-XkbExtensionDeviceNotifyEvent.send_event	8
-XkbExtensionDeviceNotifyEvent.display	12
-XkbExtensionDeviceNotifyEvent.time	16
-XkbExtensionDeviceNotifyEvent.xkb_type	20
-XkbExtensionDeviceNotifyEvent.device	24
-XkbExtensionDeviceNotifyEvent.reason	28
-XkbExtensionDeviceNotifyEvent.supported	32
-XkbExtensionDeviceNotifyEvent.unsupported	36
-XkbExtensionDeviceNotifyEvent.first_btn	40
-XkbExtensionDeviceNotifyEvent.num_btns	44
-XkbExtensionDeviceNotifyEvent.leds_defined	48
-XkbExtensionDeviceNotifyEvent.led_state	52
-XkbExtensionDeviceNotifyEvent.led_class	56
-XkbExtensionDeviceNotifyEvent.led_id	60
-XkbExtensionDeviceNotifyEvent	64
-XwcTextItem.chars	0
-XwcTextItem.nchars	4
-XwcTextItem.delta	8
-XwcTextItem.font_set	12
-XwcTextItem	16
-XClassHint.res_name	0
-XClassHint.res_class	4
-XClassHint	8
-XChar2b.byte1	0
-XChar2b.byte2	1
-XChar2b	2
-XSetWindowAttributes.background_pixmap	0
-XSetWindowAttributes.background_pixel	4
-XSetWindowAttributes.border_pixmap	8
-XSetWindowAttributes.border_pixel	12
-XSetWindowAttributes.bit_gravity	16
-XSetWindowAttributes.win_gravity	20
-XSetWindowAttributes.backing_store	24
-XSetWindowAttributes.backing_planes	28
-XSetWindowAttributes.backing_pixel	32
-XSetWindowAttributes.save_under	36
-XSetWindowAttributes.event_mask	40
-XSetWindowAttributes.do_not_propagate_mask	44
-XSetWindowAttributes.override_redirect	48
-XSetWindowAttributes.colormap	52
-XSetWindowAttributes.cursor	56
-XSetWindowAttributes	60
-XRenderPictFormat.id	0
-XRenderPictFormat.type	4
-XRenderPictFormat.depth	8
-XRenderPictFormat.direct	12
-XRenderPictFormat.colormap	28
-XRenderPictFormat	32
-XReparentEvent.type	0
-XReparentEvent.serial	4
-XReparentEvent.send_event	8
-XReparentEvent.display	12
-XReparentEvent.event	16
-XReparentEvent.window	20
-XReparentEvent.parent	24
-XReparentEvent.x	28
-XReparentEvent.y	32
-XReparentEvent.override_redirect	36
-XReparentEvent	40
-XCirculateRequestEvent.type	0
-XCirculateRequestEvent.serial	4
-XCirculateRequestEvent.send_event	8
-XCirculateRequestEvent.display	12
-XCirculateRequestEvent.parent	16
-XCirculateRequestEvent.window	20
-XCirculateRequestEvent.place	24
-XCirculateRequestEvent	28
-XImage.width	0
-XImage.height	4
-XImage.xoffset	8
-XImage.format	12
-XImage.data	16
-XImage.byte_order	20
-XImage.bitmap_unit	24
-XImage.bitmap_bit_order	28
-XImage.bitmap_pad	32
-XImage.depth	36
-XImage.bytes_per_line	40
-XImage.bits_per_pixel	44
-XImage.red_mask	48
-XImage.green_mask	52
-XImage.blue_mask	56
-XImage.obdata	60
-XImage.f.create_image	64
-XImage.f.destroy_image	68
-XImage.f.get_pixel	72
-XImage.f.put_pixel	76
-XImage.f.sub_image	80
-XImage.f.add_pixel	84
-XImage	88
-XKeyEvent.type	0
-XKeyEvent.serial	4
-XKeyEvent.send_event	8
-XKeyEvent.display	12
-XKeyEvent.window	16
-XKeyEvent.root	20
-XKeyEvent.subwindow	24
-XKeyEvent.time	28
-XKeyEvent.x	32
-XKeyEvent.y	36
-XKeyEvent.x_root	40
-XKeyEvent.y_root	44
-XKeyEvent.state	48
-XKeyEvent.keycode	52
-XKeyEvent.same_screen	56
-XKeyEvent	60
-XkbActionMessageEvent.type	0
-XkbActionMessageEvent.serial	4
-XkbActionMessageEvent.send_event	8
-XkbActionMessageEvent.display	12
-XkbActionMessageEvent.time	16
-XkbActionMessageEvent.xkb_type	20
-XkbActionMessageEvent.device	24
-XkbActionMessageEvent.keycode	28
-XkbActionMessageEvent.press	32
-XkbActionMessageEvent.key_event_follows	36
-XkbActionMessageEvent.group	40
-XkbActionMessageEvent.mods	44
-XkbActionMessageEvent.message	48
-XkbActionMessageEvent	56
-XdbeSwapInfo.swap_window	0
-XdbeSwapInfo.swap_action	4
-XdbeSwapInfo	8
-XTextItem.chars	0
-XTextItem.nchars	4
-XTextItem.delta	8
-XTextItem.font	12
-XTextItem	16
-XModifierKeymap.max_keypermod	0
-XModifierKeymap.modifiermap	4
-XModifierKeymap	8
-XCharStruct.lbearing	0
-XCharStruct.rbearing	2
-XCharStruct.width	4
-XCharStruct.ascent	6
-XCharStruct.descent	8
-XCharStruct.attributes	10
-XCharStruct	12
-XGravityEvent.type	0
-XGravityEvent.serial	4
-XGravityEvent.send_event	8
-XGravityEvent.display	12
-XGravityEvent.event	16
-XGravityEvent.window	20
-XGravityEvent.x	24
-XGravityEvent.y	28
-XGravityEvent	32
-Visual.ext_data	0
-Visual.visualid	4
-Visual.class	8
-Visual.red_mask	12
-Visual.green_mask	16
-Visual.blue_mask	20
-Visual.bits_per_rgb	24
-Visual.map_entries	28
-Visual	32
-XOMOrientation.num_orientation	0
-XOMOrientation.orientation	4
-XOMOrientation	8
-XkbAccessXNotifyEvent.type	0
-XkbAccessXNotifyEvent.serial	4
-XkbAccessXNotifyEvent.send_event	8
-XkbAccessXNotifyEvent.display	12
-XkbAccessXNotifyEvent.time	16
-XkbAccessXNotifyEvent.xkb_type	20
-XkbAccessXNotifyEvent.device	24
-XkbAccessXNotifyEvent.detail	28
-XkbAccessXNotifyEvent.keycode	32
-XkbAccessXNotifyEvent.sk_delay	36
-XkbAccessXNotifyEvent.debounce_delay	40
-XkbAccessXNotifyEvent	44
-XWindowAttributes.x	0
-XWindowAttributes.y	4
-XWindowAttributes.width	8
-XWindowAttributes.height	12
-XWindowAttributes.border_width	16
-XWindowAttributes.depth	20
-XWindowAttributes.visual	24
-XWindowAttributes.root	28
-XWindowAttributes.class	32
-XWindowAttributes.bit_gravity	36
-XWindowAttributes.win_gravity	40
-XWindowAttributes.backing_store	44
-XWindowAttributes.backing_planes	48
-XWindowAttributes.backing_pixel	52
-XWindowAttributes.save_under	56
-XWindowAttributes.colormap	60
-XWindowAttributes.map_installed	64
-XWindowAttributes.map_state	68
-XWindowAttributes.all_event_masks	72
-XWindowAttributes.your_event_mask	76
-XWindowAttributes.do_not_propagate_mask	80
-XWindowAttributes.override_redirect	84
-XWindowAttributes.screen	88
-XWindowAttributes	92
-XmbTextItem.chars	0
-XmbTextItem.nchars	4
-XmbTextItem.delta	8
-XmbTextItem.font_set	12
-XmbTextItem	16
-XMappingEvent.type	0
-XMappingEvent.serial	4
-XMappingEvent.send_event	8
-XMappingEvent.display	12
-XMappingEvent.window	16
-XMappingEvent.request	20
-XMappingEvent.first_keycode	24
-XMappingEvent.count	28
-XMappingEvent	32
-XSizeHints.flags	0
-XSizeHints.x	4
-XSizeHints.y	8
-XSizeHints.width	12
-XSizeHints.height	16
-XSizeHints.min_width	20
-XSizeHints.min_height	24
-XSizeHints.max_width	28
-XSizeHints.max_height	32
-XSizeHints.width_inc	36
-XSizeHints.height_inc	40
-XSizeHints.min_aspect.x	44
-XSizeHints.min_aspect.y	48
-XSizeHints.max_aspect.x	52
-XSizeHints.max_aspect.y	56
-XSizeHints.base_width	60
-XSizeHints.base_height	64
-XSizeHints.win_gravity	68
-XSizeHints	72
-XUnmapEvent.type	0
-XUnmapEvent.serial	4
-XUnmapEvent.send_event	8
-XUnmapEvent.display	12
-XUnmapEvent.event	16
-XUnmapEvent.window	20
-XUnmapEvent.from_configure	24
-XUnmapEvent	28
-awtImageData.Depth	0
-awtImageData.wsImageFormat	4
-awtImageData.clrdata	16
-awtImageData.convert	48
-awtImageData	304
-XkbStateNotifyEvent.type	0
-XkbStateNotifyEvent.serial	4
-XkbStateNotifyEvent.send_event	8
-XkbStateNotifyEvent.display	12
-XkbStateNotifyEvent.time	16
-XkbStateNotifyEvent.xkb_type	20
-XkbStateNotifyEvent.device	24
-XkbStateNotifyEvent.changed	28
-XkbStateNotifyEvent.group	32
-XkbStateNotifyEvent.base_group	36
-XkbStateNotifyEvent.latched_group	40
-XkbStateNotifyEvent.locked_group	44
-XkbStateNotifyEvent.mods	48
-XkbStateNotifyEvent.base_mods	52
-XkbStateNotifyEvent.latched_mods	56
-XkbStateNotifyEvent.locked_mods	60
-XkbStateNotifyEvent.compat_state	64
-XkbStateNotifyEvent.grab_mods	68
-XkbStateNotifyEvent.compat_grab_mods	69
-XkbStateNotifyEvent.lookup_mods	70
-XkbStateNotifyEvent.compat_lookup_mods	71
-XkbStateNotifyEvent.ptr_buttons	72
-XkbStateNotifyEvent.keycode	76
-XkbStateNotifyEvent.event_type	77
-XkbStateNotifyEvent.req_major	78
-XkbStateNotifyEvent.req_minor	79
-XkbStateNotifyEvent	80
-XExposeEvent.type	0
-XExposeEvent.serial	4
-XExposeEvent.send_event	8
-XExposeEvent.display	12
-XExposeEvent.window	16
-XExposeEvent.x	20
-XExposeEvent.y	24
-XExposeEvent.width	28
-XExposeEvent.height	32
-XExposeEvent.count	36
-XExposeEvent	40
-XkbMapNotifyEvent.type	0
-XkbMapNotifyEvent.serial	4
-XkbMapNotifyEvent.send_event	8
-XkbMapNotifyEvent.display	12
-XkbMapNotifyEvent.time	16
-XkbMapNotifyEvent.xkb_type	20
-XkbMapNotifyEvent.device	24
-XkbMapNotifyEvent.changed	28
-XkbMapNotifyEvent.flags	32
-XkbMapNotifyEvent.first_type	36
-XkbMapNotifyEvent.num_types	40
-XkbMapNotifyEvent.min_key_code	44
-XkbMapNotifyEvent.max_key_code	45
-XkbMapNotifyEvent.first_key_sym	46
-XkbMapNotifyEvent.first_key_act	47
-XkbMapNotifyEvent.first_key_behavior	48
-XkbMapNotifyEvent.first_key_explicit	49
-XkbMapNotifyEvent.first_modmap_key	50
-XkbMapNotifyEvent.first_vmodmap_key	51
-XkbMapNotifyEvent.num_key_syms	52
-XkbMapNotifyEvent.num_key_acts	56
-XkbMapNotifyEvent.num_key_behaviors	60
-XkbMapNotifyEvent.num_key_explicit	64
-XkbMapNotifyEvent.num_modmap_keys	68
-XkbMapNotifyEvent.num_vmodmap_keys	72
-XkbMapNotifyEvent.vmods	76
-XkbMapNotifyEvent	80
-XGCValues.function	0
-XGCValues.plane_mask	4
-XGCValues.foreground	8
-XGCValues.background	12
-XGCValues.line_width	16
-XGCValues.line_style	20
-XGCValues.cap_style	24
-XGCValues.join_style	28
-XGCValues.fill_style	32
-XGCValues.fill_rule	36
-XGCValues.arc_mode	40
-XGCValues.tile	44
-XGCValues.stipple	48
-XGCValues.ts_x_origin	52
-XGCValues.ts_y_origin	56
-XGCValues.font	60
-XGCValues.subwindow_mode	64
-XGCValues.graphics_exposures	68
-XGCValues.clip_x_origin	72
-XGCValues.clip_y_origin	76
-XGCValues.clip_mask	80
-XGCValues.dash_offset	84
-XGCValues.dashes	88
-XGCValues	92
-XFocusChangeEvent.type	0
-XFocusChangeEvent.serial	4
-XFocusChangeEvent.send_event	8
-XFocusChangeEvent.display	12
-XFocusChangeEvent.window	16
-XFocusChangeEvent.mode	20
-XFocusChangeEvent.detail	24
-XFocusChangeEvent	28
-XPixmapFormatValues.depth	0
-XPixmapFormatValues.bits_per_pixel	4
-XPixmapFormatValues.scanline_pad	8
-XPixmapFormatValues	12
-XMapEvent.type	0
-XMapEvent.serial	4
-XMapEvent.send_event	8
-XMapEvent.display	12
-XMapEvent.event	16
-XMapEvent.window	20
-XMapEvent.override_redirect	24
-XMapEvent	28
-XkbBellNotifyEvent.type	0
-XkbBellNotifyEvent.serial	4
-XkbBellNotifyEvent.send_event	8
-XkbBellNotifyEvent.display	12
-XkbBellNotifyEvent.time	16
-XkbBellNotifyEvent.xkb_type	20
-XkbBellNotifyEvent.device	24
-XkbBellNotifyEvent.percent	28
-XkbBellNotifyEvent.pitch	32
-XkbBellNotifyEvent.duration	36
-XkbBellNotifyEvent.bell_class	40
-XkbBellNotifyEvent.bell_id	44
-XkbBellNotifyEvent.name	48
-XkbBellNotifyEvent.window	52
-XkbBellNotifyEvent.event_only	56
-XkbBellNotifyEvent	60
-XIMStringConversionText.length	0
-XIMStringConversionText.feedback	4
-XIMStringConversionText.encoding_is_wchar	8
-XIMStringConversionText.string	12
-XIMStringConversionText	16
-XKeyboardState.key_click_percent	0
-XKeyboardState.bell_percent	4
-XKeyboardState.bell_pitch	8
-XKeyboardState.bell_duration	12
-XKeyboardState.led_mask	16
-XKeyboardState.global_auto_repeat	20
-XKeyboardState.auto_repeats	24
-XKeyboardState	56
-XkbEvent.type	0
-XkbEvent.any	0
-XkbEvent.new_kbd	0
-XkbEvent.map	0
-XkbEvent.state	0
-XkbEvent.ctrls	0
-XkbEvent.indicators	0
-XkbEvent.names	0
-XkbEvent.compat	0
-XkbEvent.bell	0
-XkbEvent.message	0
-XkbEvent.accessx	0
-XkbEvent.device	0
-XkbEvent.core	0
-XkbEvent	96
-XPoint.x	0
-XPoint.y	2
-XPoint	4
-XSegment.x1	0
-XSegment.y1	2
-XSegment.x2	4
-XSegment.y2	6
-XSegment	8
-XIconSize.min_width	0
-XIconSize.min_height	4
-XIconSize.max_width	8
-XIconSize.max_height	12
-XIconSize.width_inc	16
-XIconSize.height_inc	20
-XIconSize	24
-XIMCallback.client_data	0
-XIMCallback.callback	4
-XIMCallback	8
-XConfigureEvent.type	0
-XConfigureEvent.serial	4
-XConfigureEvent.send_event	8
-XConfigureEvent.display	12
-XConfigureEvent.event	16
-XConfigureEvent.window	20
-XConfigureEvent.x	24
-XConfigureEvent.y	28
-XConfigureEvent.width	32
-XConfigureEvent.height	36
-XConfigureEvent.border_width	40
-XConfigureEvent.above	44
-XConfigureEvent.override_redirect	48
-XConfigureEvent	52
-XRectangle.x	0
-XRectangle.y	2
-XRectangle.width	4
-XRectangle.height	6
-XRectangle	8
-XkbNamesNotifyEvent.type	0
-XkbNamesNotifyEvent.serial	4
-XkbNamesNotifyEvent.send_event	8
-XkbNamesNotifyEvent.display	12
-XkbNamesNotifyEvent.time	16
-XkbNamesNotifyEvent.xkb_type	20
-XkbNamesNotifyEvent.device	24
-XkbNamesNotifyEvent.changed	28
-XkbNamesNotifyEvent.first_type	32
-XkbNamesNotifyEvent.num_types	36
-XkbNamesNotifyEvent.first_lvl	40
-XkbNamesNotifyEvent.num_lvls	44
-XkbNamesNotifyEvent.num_aliases	48
-XkbNamesNotifyEvent.num_radio_groups	52
-XkbNamesNotifyEvent.changed_vmods	56
-XkbNamesNotifyEvent.changed_groups	60
-XkbNamesNotifyEvent.changed_indicators	64
-XkbNamesNotifyEvent.first_key	68
-XkbNamesNotifyEvent.num_keys	72
-XkbNamesNotifyEvent	76
-XCreateWindowEvent.type	0
-XCreateWindowEvent.serial	4
-XCreateWindowEvent.send_event	8
-XCreateWindowEvent.display	12
-XCreateWindowEvent.parent	16
-XCreateWindowEvent.window	20
-XCreateWindowEvent.x	24
-XCreateWindowEvent.y	28
-XCreateWindowEvent.width	32
-XCreateWindowEvent.height	36
-XCreateWindowEvent.border_width	40
-XCreateWindowEvent.override_redirect	44
-XCreateWindowEvent	48
-XVisibilityEvent.type	0
-XVisibilityEvent.serial	4
-XVisibilityEvent.send_event	8
-XVisibilityEvent.display	12
-XVisibilityEvent.window	16
-XVisibilityEvent.state	20
-XVisibilityEvent	24
-XWMHints.flags	0
-XWMHints.initial_state	8
-XWMHints.icon_pixmap	12
-XWMHints.icon_window	16
-XWMHints.icon_x	20
-XWMHints.icon_y	24
-XWMHints.icon_mask	28
-XWMHints.input	4
-XWMHints.window_group	32
-XWMHints	36
-XCrossingEvent.type	0
-XCrossingEvent.serial	4
-XCrossingEvent.send_event	8
-XCrossingEvent.display	12
-XCrossingEvent.window	16
-XCrossingEvent.root	20
-XCrossingEvent.subwindow	24
-XCrossingEvent.time	28
-XCrossingEvent.x	32
-XCrossingEvent.y	36
-XCrossingEvent.x_root	40
-XCrossingEvent.y_root	44
-XCrossingEvent.mode	48
-XCrossingEvent.detail	52
-XCrossingEvent.same_screen	56
-XCrossingEvent.focus	60
-XCrossingEvent.state	64
-XCrossingEvent	68
-XSelectionRequestEvent.type	0
-XSelectionRequestEvent.serial	4
-XSelectionRequestEvent.send_event	8
-XSelectionRequestEvent.display	12
-XSelectionRequestEvent.owner	16
-XSelectionRequestEvent.requestor	20
-XSelectionRequestEvent.selection	24
-XSelectionRequestEvent.target	28
-XSelectionRequestEvent.property	32
-XSelectionRequestEvent.time	36
-XSelectionRequestEvent	40
-XNoExposeEvent.type	0
-XNoExposeEvent.serial	4
-XNoExposeEvent.send_event	8
-XNoExposeEvent.display	12
-XNoExposeEvent.drawable	16
-XNoExposeEvent.major_code	20
-XNoExposeEvent.minor_code	24
-XNoExposeEvent	28
-XHostAddress.family	0
-XHostAddress.length	4
-XHostAddress.address	8
-XHostAddress	12
-XColormapEvent.type	0
-XColormapEvent.serial	4
-XColormapEvent.send_event	8
-XColormapEvent.display	12
-XColormapEvent.window	16
-XColormapEvent.colormap	20
-XColormapEvent.new	24
-XColormapEvent.state	28
-XColormapEvent	32
-ColorEntry.r	0
-ColorEntry.g	1
-ColorEntry.b	2
-ColorEntry.flags	3
-ColorEntry	4
-XResizeRequestEvent.type	0
-XResizeRequestEvent.serial	4
-XResizeRequestEvent.send_event	8
-XResizeRequestEvent.display	12
-XResizeRequestEvent.window	16
-XResizeRequestEvent.width	20
-XResizeRequestEvent.height	24
-XResizeRequestEvent	28
-Depth.depth	0
-Depth.nvisuals	4
-Depth.visuals	8
-Depth	12
-XPropertyEvent.type	0
-XPropertyEvent.serial	4
-XPropertyEvent.send_event	8
-XPropertyEvent.display	12
-XPropertyEvent.window	16
-XPropertyEvent.atom	20
-XPropertyEvent.time	24
-XPropertyEvent.state	28
-XPropertyEvent	32
-XDestroyWindowEvent.type	0
-XDestroyWindowEvent.serial	4
-XDestroyWindowEvent.send_event	8
-XDestroyWindowEvent.display	12
-XDestroyWindowEvent.event	16
-XDestroyWindowEvent.window	20
-XDestroyWindowEvent	24
-XStandardColormap.colormap	0
-XStandardColormap.red_max	4
-XStandardColormap.red_mult	8
-XStandardColormap.green_max	12
-XStandardColormap.green_mult	16
-XStandardColormap.blue_max	20
-XStandardColormap.blue_mult	24
-XStandardColormap.base_pixel	28
-XStandardColormap.visualid	32
-XStandardColormap.killid	36
-XStandardColormap	40
-XComposeStatus.compose_ptr	0
-XComposeStatus.chars_matched	4
-XComposeStatus	8
-AwtGraphicsConfigData.awt_depth	0
-AwtGraphicsConfigData.awt_cmap	4
-AwtGraphicsConfigData.awt_visInfo	8
-AwtGraphicsConfigData.awt_num_colors	48
-AwtGraphicsConfigData.awtImage	52
-AwtGraphicsConfigData.AwtColorMatch	56
-AwtGraphicsConfigData.monoImage	60
-AwtGraphicsConfigData.monoPixmap	64
-AwtGraphicsConfigData.monoPixmapWidth	68
-AwtGraphicsConfigData.monoPixmapHeight	72
-AwtGraphicsConfigData.monoPixmapGC	76
-AwtGraphicsConfigData.pixelStride	80
-AwtGraphicsConfigData.color_data	84
-AwtGraphicsConfigData.glxInfo	88
-AwtGraphicsConfigData.isTranslucencySupported	92
-AwtGraphicsConfigData.renderPictFormat	96
-AwtGraphicsConfigData	128
-XColor.pixel	0
-XColor.red	4
-XColor.green	6
-XColor.blue	8
-XColor.flags	10
-XColor.pad	11
-XColor	12
-XTextProperty.value	0
-XTextProperty.encoding	4
-XTextProperty.format	8
-XTextProperty.nitems	12
-XTextProperty	16
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1016 +0,0 @@
-long	8
-int	4
-short	2
-ptr	8
-Bool	4
-Atom	8
-Window	8
-XExtData.number	0
-XExtData.next	8
-XExtData.free_private	16
-XExtData.private_data	24
-XExtData	32
-XIMStringConversionCallbackStruct.position	0
-XIMStringConversionCallbackStruct.direction	4
-XIMStringConversionCallbackStruct.operation	8
-XIMStringConversionCallbackStruct.factor	10
-XIMStringConversionCallbackStruct.text	16
-XIMStringConversionCallbackStruct	24
-XkbNewKeyboardNotifyEvent.type	0
-XkbNewKeyboardNotifyEvent.serial	8
-XkbNewKeyboardNotifyEvent.send_event	16
-XkbNewKeyboardNotifyEvent.display	24
-XkbNewKeyboardNotifyEvent.time	32
-XkbNewKeyboardNotifyEvent.xkb_type	40
-XkbNewKeyboardNotifyEvent.device	44
-XkbNewKeyboardNotifyEvent.old_device	48
-XkbNewKeyboardNotifyEvent.min_key_code	52
-XkbNewKeyboardNotifyEvent.max_key_code	56
-XkbNewKeyboardNotifyEvent.old_min_key_code	60
-XkbNewKeyboardNotifyEvent.old_max_key_code	64
-XkbNewKeyboardNotifyEvent.changed	68
-XkbNewKeyboardNotifyEvent.req_major	72
-XkbNewKeyboardNotifyEvent.req_minor	73
-XkbNewKeyboardNotifyEvent	80
-XTimeCoord.time	0
-XTimeCoord.x	8
-XTimeCoord.y	10
-XTimeCoord	16
-XkbCompatMapNotifyEvent.type	0
-XkbCompatMapNotifyEvent.serial	8
-XkbCompatMapNotifyEvent.send_event	16
-XkbCompatMapNotifyEvent.display	24
-XkbCompatMapNotifyEvent.time	32
-XkbCompatMapNotifyEvent.xkb_type	40
-XkbCompatMapNotifyEvent.device	44
-XkbCompatMapNotifyEvent.changed_groups	48
-XkbCompatMapNotifyEvent.first_si	52
-XkbCompatMapNotifyEvent.num_si	56
-XkbCompatMapNotifyEvent.num_total_si	60
-XkbCompatMapNotifyEvent	64
-XIMStatusDrawCallbackStruct.type	0
-XIMStatusDrawCallbackStruct.data	8
-XIMStatusDrawCallbackStruct	16
-XKeyboardControl.key_click_percent	0
-XKeyboardControl.bell_percent	4
-XKeyboardControl.bell_pitch	8
-XKeyboardControl.bell_duration	12
-XKeyboardControl.led	16
-XKeyboardControl.led_mode	20
-XKeyboardControl.key	24
-XKeyboardControl.auto_repeat_mode	28
-XKeyboardControl	32
-XSelectionClearEvent.type	0
-XSelectionClearEvent.serial	8
-XSelectionClearEvent.send_event	16
-XSelectionClearEvent.display	24
-XSelectionClearEvent.window	32
-XSelectionClearEvent.selection	40
-XSelectionClearEvent.time	48
-XSelectionClearEvent	56
-XWindowChanges.x	0
-XWindowChanges.y	4
-XWindowChanges.width	8
-XWindowChanges.height	12
-XWindowChanges.border_width	16
-XWindowChanges.sibling	24
-XWindowChanges.stack_mode	32
-XWindowChanges	40
-XIMPreeditCaretCallbackStruct.position	0
-XIMPreeditCaretCallbackStruct.direction	4
-XIMPreeditCaretCallbackStruct.style	8
-XIMPreeditCaretCallbackStruct	12
-XOMCharSetList.charset_count	0
-XOMCharSetList.charset_list	8
-XOMCharSetList	16
-XOMFontInfo.num_font	0
-XOMFontInfo.font_struct_list	8
-XOMFontInfo.font_name_list	16
-XOMFontInfo	24
-AwtScreenData.numConfigs	0
-AwtScreenData.root	8
-AwtScreenData.whitepixel	16
-AwtScreenData.blackpixel	24
-AwtScreenData.defaultConfig	32
-AwtScreenData.configs	40
-AwtScreenData	48
-XIMHotKeyTrigger.keysym	0
-XIMHotKeyTrigger.modifier	8
-XIMHotKeyTrigger.modifier_mask	12
-XIMHotKeyTrigger	16
-XCirculateEvent.type	0
-XCirculateEvent.serial	8
-XCirculateEvent.send_event	16
-XCirculateEvent.display	24
-XCirculateEvent.event	32
-XCirculateEvent.window	40
-XCirculateEvent.place	48
-XCirculateEvent	56
-Screen.ext_data	0
-Screen.display	8
-Screen.root	16
-Screen.width	24
-Screen.height	28
-Screen.mwidth	32
-Screen.mheight	36
-Screen.ndepths	40
-Screen.depths	48
-Screen.root_depth	56
-Screen.root_visual	64
-Screen.default_gc	72
-Screen.cmap	80
-Screen.white_pixel	88
-Screen.black_pixel	96
-Screen.max_maps	104
-Screen.min_maps	108
-Screen.backing_store	112
-Screen.save_unders	116
-Screen.root_input_mask	120
-Screen	128
-XMapRequestEvent.type	0
-XMapRequestEvent.serial	8
-XMapRequestEvent.send_event	16
-XMapRequestEvent.display	24
-XMapRequestEvent.parent	32
-XMapRequestEvent.window	40
-XMapRequestEvent	48
-XIMText.length	0
-XIMText.feedback	8
-XIMText.encoding_is_wchar	16
-XIMText.string	24
-XIMText	32
-XGraphicsExposeEvent.type	0
-XGraphicsExposeEvent.serial	8
-XGraphicsExposeEvent.send_event	16
-XGraphicsExposeEvent.display	24
-XGraphicsExposeEvent.drawable	32
-XGraphicsExposeEvent.x	40
-XGraphicsExposeEvent.y	44
-XGraphicsExposeEvent.width	48
-XGraphicsExposeEvent.height	52
-XGraphicsExposeEvent.count	56
-XGraphicsExposeEvent.major_code	60
-XGraphicsExposeEvent.minor_code	64
-XGraphicsExposeEvent	72
-XEvent.type	0
-XEvent.xany	0
-XEvent.xkey	0
-XEvent.xbutton	0
-XEvent.xmotion	0
-XEvent.xcrossing	0
-XEvent.xfocus	0
-XEvent.xexpose	0
-XEvent.xgraphicsexpose	0
-XEvent.xnoexpose	0
-XEvent.xvisibility	0
-XEvent.xcreatewindow	0
-XEvent.xdestroywindow	0
-XEvent.xunmap	0
-XEvent.xmap	0
-XEvent.xmaprequest	0
-XEvent.xreparent	0
-XEvent.xconfigure	0
-XEvent.xgravity	0
-XEvent.xresizerequest	0
-XEvent.xconfigurerequest	0
-XEvent.xcirculate	0
-XEvent.xcirculaterequest	0
-XEvent.xproperty	0
-XEvent.xselectionclear	0
-XEvent.xselectionrequest	0
-XEvent.xselection	0
-XEvent.xcolormap	0
-XEvent.xclient	0
-XEvent.xmapping	0
-XEvent.xerror	0
-XEvent.xkeymap	0
-XEvent.pad	0
-XEvent	192
-XRenderDirectFormat.red	0
-XRenderDirectFormat.redMask	2
-XRenderDirectFormat.green	4
-XRenderDirectFormat.greenMask	6
-XRenderDirectFormat.blue	8
-XRenderDirectFormat.blueMask	10
-XRenderDirectFormat.alpha	12
-XRenderDirectFormat.alphaMask	14
-XRenderDirectFormat	16
-ColorData.awt_Colors	0
-ColorData.awt_numICMcolors	8
-ColorData.awt_icmLUT	16
-ColorData.awt_icmLUT2Colors	24
-ColorData.img_grays	32
-ColorData.img_clr_tbl	40
-ColorData.img_oda_red	48
-ColorData.img_oda_green	56
-ColorData.img_oda_blue	64
-ColorData.pGrayInverseLutData	72
-ColorData.screendata	80
-ColorData	88
-XFontStruct.ext_data	0
-XFontStruct.fid	8
-XFontStruct.direction	16
-XFontStruct.min_char_or_byte2	20
-XFontStruct.max_char_or_byte2	24
-XFontStruct.min_byte1	28
-XFontStruct.max_byte1	32
-XFontStruct.all_chars_exist	36
-XFontStruct.n_properties	44
-XFontStruct.properties	48
-XFontStruct.min_bounds	56
-XFontStruct.max_bounds	68
-XFontStruct.per_char	80
-XFontStruct.ascent	88
-XFontStruct.descent	92
-XFontStruct	96
-XExtCodes.extension	0
-XExtCodes.major_opcode	4
-XExtCodes.first_event	8
-XExtCodes.first_error	12
-XExtCodes	16
-XFontSetExtents.max_ink_extent	0
-XFontSetExtents.max_logical_extent	8
-XFontSetExtents	16
-XSelectionEvent.type	0
-XSelectionEvent.serial	8
-XSelectionEvent.send_event	16
-XSelectionEvent.display	24
-XSelectionEvent.requestor	32
-XSelectionEvent.selection	40
-XSelectionEvent.target	48
-XSelectionEvent.property	56
-XSelectionEvent.time	64
-XSelectionEvent	72
-XArc.x	0
-XArc.y	2
-XArc.width	4
-XArc.height	6
-XArc.angle1	8
-XArc.angle2	10
-XArc	12
-XErrorEvent.type	0
-XErrorEvent.display	8
-XErrorEvent.resourceid	16
-XErrorEvent.serial	24
-XErrorEvent.error_code	32
-XErrorEvent.request_code	33
-XErrorEvent.minor_code	34
-XErrorEvent	40
-XConfigureRequestEvent.type	0
-XConfigureRequestEvent.serial	8
-XConfigureRequestEvent.send_event	16
-XConfigureRequestEvent.display	24
-XConfigureRequestEvent.parent	32
-XConfigureRequestEvent.window	40
-XConfigureRequestEvent.x	48
-XConfigureRequestEvent.y	52
-XConfigureRequestEvent.width	56
-XConfigureRequestEvent.height	60
-XConfigureRequestEvent.border_width	64
-XConfigureRequestEvent.above	72
-XConfigureRequestEvent.detail	80
-XConfigureRequestEvent.value_mask	88
-XConfigureRequestEvent	96
-ScreenFormat.ext_data	0
-ScreenFormat.depth	8
-ScreenFormat.bits_per_pixel	12
-ScreenFormat.scanline_pad	16
-ScreenFormat	24
-XButtonEvent.type	0
-XButtonEvent.serial	8
-XButtonEvent.send_event	16
-XButtonEvent.display	24
-XButtonEvent.window	32
-XButtonEvent.root	40
-XButtonEvent.subwindow	48
-XButtonEvent.time	56
-XButtonEvent.x	64
-XButtonEvent.y	68
-XButtonEvent.x_root	72
-XButtonEvent.y_root	76
-XButtonEvent.state	80
-XButtonEvent.button	84
-XButtonEvent.same_screen	88
-XButtonEvent	96
-XFontProp.name	0
-XFontProp.card32	8
-XFontProp	16
-XIMValuesList.count_values	0
-XIMValuesList.supported_values	8
-XIMValuesList	16
-XKeymapEvent.type	0
-XKeymapEvent.serial	8
-XKeymapEvent.send_event	16
-XKeymapEvent.display	24
-XKeymapEvent.window	32
-XKeymapEvent.key_vector	40
-XKeymapEvent	72
-XTextItem16.chars	0
-XTextItem16.nchars	8
-XTextItem16.delta	12
-XTextItem16.font	16
-XTextItem16	24
-XIMPreeditDrawCallbackStruct.caret	0
-XIMPreeditDrawCallbackStruct.chg_first	4
-XIMPreeditDrawCallbackStruct.chg_length	8
-XIMPreeditDrawCallbackStruct.text	16
-XIMPreeditDrawCallbackStruct	24
-XVisualInfo.visual	0
-XVisualInfo.visualid	8
-XVisualInfo.screen	16
-XVisualInfo.depth	20
-XVisualInfo.class	24
-XVisualInfo.red_mask	32
-XVisualInfo.green_mask	40
-XVisualInfo.blue_mask	48
-XVisualInfo.colormap_size	56
-XVisualInfo.bits_per_rgb	60
-XVisualInfo	64
-XkbControlsNotifyEvent.type	0
-XkbControlsNotifyEvent.serial	8
-XkbControlsNotifyEvent.send_event	16
-XkbControlsNotifyEvent.display	24
-XkbControlsNotifyEvent.time	32
-XkbControlsNotifyEvent.xkb_type	40
-XkbControlsNotifyEvent.device	44
-XkbControlsNotifyEvent.changed_ctrls	48
-XkbControlsNotifyEvent.enabled_ctrls	52
-XkbControlsNotifyEvent.enabled_ctrl_changes	56
-XkbControlsNotifyEvent.num_groups	60
-XkbControlsNotifyEvent.keycode	64
-XkbControlsNotifyEvent.event_type	65
-XkbControlsNotifyEvent.req_major	66
-XkbControlsNotifyEvent.req_minor	67
-XkbControlsNotifyEvent	72
-PropMwmHints.flags	0
-PropMwmHints.functions	8
-PropMwmHints.decorations	16
-PropMwmHints.inputMode	24
-PropMwmHints.status	32
-PropMwmHints	40
-XClientMessageEvent.type	0
-XClientMessageEvent.serial	8
-XClientMessageEvent.send_event	16
-XClientMessageEvent.display	24
-XClientMessageEvent.window	32
-XClientMessageEvent.message_type	40
-XClientMessageEvent.format	48
-XClientMessageEvent.data	56
-XClientMessageEvent	96
-XAnyEvent.type	0
-XAnyEvent.serial	8
-XAnyEvent.send_event	16
-XAnyEvent.display	24
-XAnyEvent.window	32
-XAnyEvent	40
-XkbIndicatorNotifyEvent.type	0
-XkbIndicatorNotifyEvent.serial	8
-XkbIndicatorNotifyEvent.send_event	16
-XkbIndicatorNotifyEvent.display	24
-XkbIndicatorNotifyEvent.time	32
-XkbIndicatorNotifyEvent.xkb_type	40
-XkbIndicatorNotifyEvent.device	44
-XkbIndicatorNotifyEvent.changed	48
-XkbIndicatorNotifyEvent.state	52
-XkbIndicatorNotifyEvent	56
-XIMPreeditStateNotifyCallbackStruct.state	0
-XIMPreeditStateNotifyCallbackStruct	8
-XkbAnyEvent.type	0
-XkbAnyEvent.serial	8
-XkbAnyEvent.send_event	16
-XkbAnyEvent.display	24
-XkbAnyEvent.time	32
-XkbAnyEvent.xkb_type	40
-XkbAnyEvent.device	44
-XkbAnyEvent	48
-XMotionEvent.type	0
-XMotionEvent.serial	8
-XMotionEvent.send_event	16
-XMotionEvent.display	24
-XMotionEvent.window	32
-XMotionEvent.root	40
-XMotionEvent.subwindow	48
-XMotionEvent.time	56
-XMotionEvent.x	64
-XMotionEvent.y	68
-XMotionEvent.x_root	72
-XMotionEvent.y_root	76
-XMotionEvent.state	80
-XMotionEvent.is_hint	84
-XMotionEvent.same_screen	88
-XMotionEvent	96
-XIMHotKeyTriggers.num_hot_key	0
-XIMHotKeyTriggers.key	8
-XIMHotKeyTriggers	16
-XIMStyles.count_styles	0
-XIMStyles.supported_styles	8
-XIMStyles	16
-XkbExtensionDeviceNotifyEvent.type	0
-XkbExtensionDeviceNotifyEvent.serial	8
-XkbExtensionDeviceNotifyEvent.send_event	16
-XkbExtensionDeviceNotifyEvent.display	24
-XkbExtensionDeviceNotifyEvent.time	32
-XkbExtensionDeviceNotifyEvent.xkb_type	40
-XkbExtensionDeviceNotifyEvent.device	44
-XkbExtensionDeviceNotifyEvent.reason	48
-XkbExtensionDeviceNotifyEvent.supported	52
-XkbExtensionDeviceNotifyEvent.unsupported	56
-XkbExtensionDeviceNotifyEvent.first_btn	60
-XkbExtensionDeviceNotifyEvent.num_btns	64
-XkbExtensionDeviceNotifyEvent.leds_defined	68
-XkbExtensionDeviceNotifyEvent.led_state	72
-XkbExtensionDeviceNotifyEvent.led_class	76
-XkbExtensionDeviceNotifyEvent.led_id	80
-XkbExtensionDeviceNotifyEvent	88
-XwcTextItem.chars	0
-XwcTextItem.nchars	8
-XwcTextItem.delta	12
-XwcTextItem.font_set	16
-XwcTextItem	24
-XClassHint.res_name	0
-XClassHint.res_class	8
-XClassHint	16
-XChar2b.byte1	0
-XChar2b.byte2	1
-XChar2b	2
-XSetWindowAttributes.background_pixmap	0
-XSetWindowAttributes.background_pixel	8
-XSetWindowAttributes.border_pixmap	16
-XSetWindowAttributes.border_pixel	24
-XSetWindowAttributes.bit_gravity	32
-XSetWindowAttributes.win_gravity	36
-XSetWindowAttributes.backing_store	40
-XSetWindowAttributes.backing_planes	48
-XSetWindowAttributes.backing_pixel	56
-XSetWindowAttributes.save_under	64
-XSetWindowAttributes.event_mask	72
-XSetWindowAttributes.do_not_propagate_mask	80
-XSetWindowAttributes.override_redirect	88
-XSetWindowAttributes.colormap	96
-XSetWindowAttributes.cursor	104
-XSetWindowAttributes	112
-XRenderPictFormat.id	0
-XRenderPictFormat.type	8
-XRenderPictFormat.depth	12
-XRenderPictFormat.direct	16
-XRenderPictFormat.colormap	32
-XRenderPictFormat	40
-XReparentEvent.type	0
-XReparentEvent.serial	8
-XReparentEvent.send_event	16
-XReparentEvent.display	24
-XReparentEvent.event	32
-XReparentEvent.window	40
-XReparentEvent.parent	48
-XReparentEvent.x	56
-XReparentEvent.y	60
-XReparentEvent.override_redirect	64
-XReparentEvent	72
-XCirculateRequestEvent.type	0
-XCirculateRequestEvent.serial	8
-XCirculateRequestEvent.send_event	16
-XCirculateRequestEvent.display	24
-XCirculateRequestEvent.parent	32
-XCirculateRequestEvent.window	40
-XCirculateRequestEvent.place	48
-XCirculateRequestEvent	56
-XImage.width	0
-XImage.height	4
-XImage.xoffset	8
-XImage.format	12
-XImage.data	16
-XImage.byte_order	24
-XImage.bitmap_unit	28
-XImage.bitmap_bit_order	32
-XImage.bitmap_pad	36
-XImage.depth	40
-XImage.bytes_per_line	44
-XImage.bits_per_pixel	48
-XImage.red_mask	56
-XImage.green_mask	64
-XImage.blue_mask	72
-XImage.obdata	80
-XImage.f.create_image	88
-XImage.f.destroy_image	96
-XImage.f.get_pixel	104
-XImage.f.put_pixel	112
-XImage.f.sub_image	120
-XImage.f.add_pixel	128
-XImage	136
-XKeyEvent.type	0
-XKeyEvent.serial	8
-XKeyEvent.send_event	16
-XKeyEvent.display	24
-XKeyEvent.window	32
-XKeyEvent.root	40
-XKeyEvent.subwindow	48
-XKeyEvent.time	56
-XKeyEvent.x	64
-XKeyEvent.y	68
-XKeyEvent.x_root	72
-XKeyEvent.y_root	76
-XKeyEvent.state	80
-XKeyEvent.keycode	84
-XKeyEvent.same_screen	88
-XKeyEvent	96
-XkbActionMessageEvent.type	0
-XkbActionMessageEvent.serial	8
-XkbActionMessageEvent.send_event	16
-XkbActionMessageEvent.display	24
-XkbActionMessageEvent.time	32
-XkbActionMessageEvent.xkb_type	40
-XkbActionMessageEvent.device	44
-XkbActionMessageEvent.keycode	48
-XkbActionMessageEvent.press	52
-XkbActionMessageEvent.key_event_follows	56
-XkbActionMessageEvent.group	60
-XkbActionMessageEvent.mods	64
-XkbActionMessageEvent.message	68
-XkbActionMessageEvent	80
-XdbeSwapInfo.swap_window	0
-XdbeSwapInfo.swap_action	8
-XdbeSwapInfo	16
-XTextItem.chars	0
-XTextItem.nchars	8
-XTextItem.delta	12
-XTextItem.font	16
-XTextItem	24
-XModifierKeymap.max_keypermod	0
-XModifierKeymap.modifiermap	8
-XModifierKeymap	16
-XCharStruct.lbearing	0
-XCharStruct.rbearing	2
-XCharStruct.width	4
-XCharStruct.ascent	6
-XCharStruct.descent	8
-XCharStruct.attributes	10
-XCharStruct	12
-XGravityEvent.type	0
-XGravityEvent.serial	8
-XGravityEvent.send_event	16
-XGravityEvent.display	24
-XGravityEvent.event	32
-XGravityEvent.window	40
-XGravityEvent.x	48
-XGravityEvent.y	52
-XGravityEvent	56
-Visual.ext_data	0
-Visual.visualid	8
-Visual.class	16
-Visual.red_mask	24
-Visual.green_mask	32
-Visual.blue_mask	40
-Visual.bits_per_rgb	48
-Visual.map_entries	52
-Visual	56
-XOMOrientation.num_orientation	0
-XOMOrientation.orientation	8
-XOMOrientation	16
-XkbAccessXNotifyEvent.type	0
-XkbAccessXNotifyEvent.serial	8
-XkbAccessXNotifyEvent.send_event	16
-XkbAccessXNotifyEvent.display	24
-XkbAccessXNotifyEvent.time	32
-XkbAccessXNotifyEvent.xkb_type	40
-XkbAccessXNotifyEvent.device	44
-XkbAccessXNotifyEvent.detail	48
-XkbAccessXNotifyEvent.keycode	52
-XkbAccessXNotifyEvent.sk_delay	56
-XkbAccessXNotifyEvent.debounce_delay	60
-XkbAccessXNotifyEvent	64
-XWindowAttributes.x	0
-XWindowAttributes.y	4
-XWindowAttributes.width	8
-XWindowAttributes.height	12
-XWindowAttributes.border_width	16
-XWindowAttributes.depth	20
-XWindowAttributes.visual	24
-XWindowAttributes.root	32
-XWindowAttributes.class	40
-XWindowAttributes.bit_gravity	44
-XWindowAttributes.win_gravity	48
-XWindowAttributes.backing_store	52
-XWindowAttributes.backing_planes	56
-XWindowAttributes.backing_pixel	64
-XWindowAttributes.save_under	72
-XWindowAttributes.colormap	80
-XWindowAttributes.map_installed	88
-XWindowAttributes.map_state	92
-XWindowAttributes.all_event_masks	96
-XWindowAttributes.your_event_mask	104
-XWindowAttributes.do_not_propagate_mask	112
-XWindowAttributes.override_redirect	120
-XWindowAttributes.screen	128
-XWindowAttributes	136
-XmbTextItem.chars	0
-XmbTextItem.nchars	8
-XmbTextItem.delta	12
-XmbTextItem.font_set	16
-XmbTextItem	24
-XMappingEvent.type	0
-XMappingEvent.serial	8
-XMappingEvent.send_event	16
-XMappingEvent.display	24
-XMappingEvent.window	32
-XMappingEvent.request	40
-XMappingEvent.first_keycode	44
-XMappingEvent.count	48
-XMappingEvent	56
-XSizeHints.flags	0
-XSizeHints.x	8
-XSizeHints.y	12
-XSizeHints.width	16
-XSizeHints.height	20
-XSizeHints.min_width	24
-XSizeHints.min_height	28
-XSizeHints.max_width	32
-XSizeHints.max_height	36
-XSizeHints.width_inc	40
-XSizeHints.height_inc	44
-XSizeHints.min_aspect.x	48
-XSizeHints.min_aspect.y	52
-XSizeHints.max_aspect.x	56
-XSizeHints.max_aspect.y	60
-XSizeHints.base_width	64
-XSizeHints.base_height	68
-XSizeHints.win_gravity	72
-XSizeHints	80
-XUnmapEvent.type	0
-XUnmapEvent.serial	8
-XUnmapEvent.send_event	16
-XUnmapEvent.display	24
-XUnmapEvent.event	32
-XUnmapEvent.window	40
-XUnmapEvent.from_configure	48
-XUnmapEvent	56
-awtImageData.Depth	0
-awtImageData.wsImageFormat	4
-awtImageData.clrdata	16
-awtImageData.convert	48
-awtImageData	560
-XkbStateNotifyEvent.type	0
-XkbStateNotifyEvent.serial	8
-XkbStateNotifyEvent.send_event	16
-XkbStateNotifyEvent.display	24
-XkbStateNotifyEvent.time	32
-XkbStateNotifyEvent.xkb_type	40
-XkbStateNotifyEvent.device	44
-XkbStateNotifyEvent.changed	48
-XkbStateNotifyEvent.group	52
-XkbStateNotifyEvent.base_group	56
-XkbStateNotifyEvent.latched_group	60
-XkbStateNotifyEvent.locked_group	64
-XkbStateNotifyEvent.mods	68
-XkbStateNotifyEvent.base_mods	72
-XkbStateNotifyEvent.latched_mods	76
-XkbStateNotifyEvent.locked_mods	80
-XkbStateNotifyEvent.compat_state	84
-XkbStateNotifyEvent.grab_mods	88
-XkbStateNotifyEvent.compat_grab_mods	89
-XkbStateNotifyEvent.lookup_mods	90
-XkbStateNotifyEvent.compat_lookup_mods	91
-XkbStateNotifyEvent.ptr_buttons	92
-XkbStateNotifyEvent.keycode	96
-XkbStateNotifyEvent.event_type	97
-XkbStateNotifyEvent.req_major	98
-XkbStateNotifyEvent.req_minor	99
-XkbStateNotifyEvent	104
-XExposeEvent.type	0
-XExposeEvent.serial	8
-XExposeEvent.send_event	16
-XExposeEvent.display	24
-XExposeEvent.window	32
-XExposeEvent.x	40
-XExposeEvent.y	44
-XExposeEvent.width	48
-XExposeEvent.height	52
-XExposeEvent.count	56
-XExposeEvent	64
-XkbMapNotifyEvent.type	0
-XkbMapNotifyEvent.serial	8
-XkbMapNotifyEvent.send_event	16
-XkbMapNotifyEvent.display	24
-XkbMapNotifyEvent.time	32
-XkbMapNotifyEvent.xkb_type	40
-XkbMapNotifyEvent.device	44
-XkbMapNotifyEvent.changed	48
-XkbMapNotifyEvent.flags	52
-XkbMapNotifyEvent.first_type	56
-XkbMapNotifyEvent.num_types	60
-XkbMapNotifyEvent.min_key_code	64
-XkbMapNotifyEvent.max_key_code	65
-XkbMapNotifyEvent.first_key_sym	66
-XkbMapNotifyEvent.first_key_act	67
-XkbMapNotifyEvent.first_key_behavior	68
-XkbMapNotifyEvent.first_key_explicit	69
-XkbMapNotifyEvent.first_modmap_key	70
-XkbMapNotifyEvent.first_vmodmap_key	71
-XkbMapNotifyEvent.num_key_syms	72
-XkbMapNotifyEvent.num_key_acts	76
-XkbMapNotifyEvent.num_key_behaviors	80
-XkbMapNotifyEvent.num_key_explicit	84
-XkbMapNotifyEvent.num_modmap_keys	88
-XkbMapNotifyEvent.num_vmodmap_keys	92
-XkbMapNotifyEvent.vmods	96
-XkbMapNotifyEvent	104
-XGCValues.function	0
-XGCValues.plane_mask	8
-XGCValues.foreground	16
-XGCValues.background	24
-XGCValues.line_width	32
-XGCValues.line_style	36
-XGCValues.cap_style	40
-XGCValues.join_style	44
-XGCValues.fill_style	48
-XGCValues.fill_rule	52
-XGCValues.arc_mode	56
-XGCValues.tile	64
-XGCValues.stipple	72
-XGCValues.ts_x_origin	80
-XGCValues.ts_y_origin	84
-XGCValues.font	88
-XGCValues.subwindow_mode	96
-XGCValues.graphics_exposures	100
-XGCValues.clip_x_origin	104
-XGCValues.clip_y_origin	108
-XGCValues.clip_mask	112
-XGCValues.dash_offset	120
-XGCValues.dashes	124
-XGCValues	128
-XFocusChangeEvent.type	0
-XFocusChangeEvent.serial	8
-XFocusChangeEvent.send_event	16
-XFocusChangeEvent.display	24
-XFocusChangeEvent.window	32
-XFocusChangeEvent.mode	40
-XFocusChangeEvent.detail	44
-XFocusChangeEvent	48
-XPixmapFormatValues.depth	0
-XPixmapFormatValues.bits_per_pixel	4
-XPixmapFormatValues.scanline_pad	8
-XPixmapFormatValues	12
-XMapEvent.type	0
-XMapEvent.serial	8
-XMapEvent.send_event	16
-XMapEvent.display	24
-XMapEvent.event	32
-XMapEvent.window	40
-XMapEvent.override_redirect	48
-XMapEvent	56
-XkbBellNotifyEvent.type	0
-XkbBellNotifyEvent.serial	8
-XkbBellNotifyEvent.send_event	16
-XkbBellNotifyEvent.display	24
-XkbBellNotifyEvent.time	32
-XkbBellNotifyEvent.xkb_type	40
-XkbBellNotifyEvent.device	44
-XkbBellNotifyEvent.percent	48
-XkbBellNotifyEvent.pitch	52
-XkbBellNotifyEvent.duration	56
-XkbBellNotifyEvent.bell_class	60
-XkbBellNotifyEvent.bell_id	64
-XkbBellNotifyEvent.name	72
-XkbBellNotifyEvent.window	80
-XkbBellNotifyEvent.event_only	88
-XkbBellNotifyEvent	96
-XIMStringConversionText.length	0
-XIMStringConversionText.feedback	8
-XIMStringConversionText.encoding_is_wchar	16
-XIMStringConversionText.string	24
-XIMStringConversionText	32
-XKeyboardState.key_click_percent	0
-XKeyboardState.bell_percent	4
-XKeyboardState.bell_pitch	8
-XKeyboardState.bell_duration	12
-XKeyboardState.led_mask	16
-XKeyboardState.global_auto_repeat	24
-XKeyboardState.auto_repeats	28
-XKeyboardState	64
-XkbEvent.type	0
-XkbEvent.any	0
-XkbEvent.new_kbd	0
-XkbEvent.map	0
-XkbEvent.state	0
-XkbEvent.ctrls	0
-XkbEvent.indicators	0
-XkbEvent.names	0
-XkbEvent.compat	0
-XkbEvent.bell	0
-XkbEvent.message	0
-XkbEvent.accessx	0
-XkbEvent.device	0
-XkbEvent.core	0
-XkbEvent	192
-XPoint.x	0
-XPoint.y	2
-XPoint	4
-XSegment.x1	0
-XSegment.y1	2
-XSegment.x2	4
-XSegment.y2	6
-XSegment	8
-XIconSize.min_width	0
-XIconSize.min_height	4
-XIconSize.max_width	8
-XIconSize.max_height	12
-XIconSize.width_inc	16
-XIconSize.height_inc	20
-XIconSize	24
-XIMCallback.client_data	0
-XIMCallback.callback	8
-XIMCallback	16
-XConfigureEvent.type	0
-XConfigureEvent.serial	8
-XConfigureEvent.send_event	16
-XConfigureEvent.display	24
-XConfigureEvent.event	32
-XConfigureEvent.window	40
-XConfigureEvent.x	48
-XConfigureEvent.y	52
-XConfigureEvent.width	56
-XConfigureEvent.height	60
-XConfigureEvent.border_width	64
-XConfigureEvent.above	72
-XConfigureEvent.override_redirect	80
-XConfigureEvent	88
-XRectangle.x	0
-XRectangle.y	2
-XRectangle.width	4
-XRectangle.height	6
-XRectangle	8
-XkbNamesNotifyEvent.type	0
-XkbNamesNotifyEvent.serial	8
-XkbNamesNotifyEvent.send_event	16
-XkbNamesNotifyEvent.display	24
-XkbNamesNotifyEvent.time	32
-XkbNamesNotifyEvent.xkb_type	40
-XkbNamesNotifyEvent.device	44
-XkbNamesNotifyEvent.changed	48
-XkbNamesNotifyEvent.first_type	52
-XkbNamesNotifyEvent.num_types	56
-XkbNamesNotifyEvent.first_lvl	60
-XkbNamesNotifyEvent.num_lvls	64
-XkbNamesNotifyEvent.num_aliases	68
-XkbNamesNotifyEvent.num_radio_groups	72
-XkbNamesNotifyEvent.changed_vmods	76
-XkbNamesNotifyEvent.changed_groups	80
-XkbNamesNotifyEvent.changed_indicators	84
-XkbNamesNotifyEvent.first_key	88
-XkbNamesNotifyEvent.num_keys	92
-XkbNamesNotifyEvent	96
-XCreateWindowEvent.type	0
-XCreateWindowEvent.serial	8
-XCreateWindowEvent.send_event	16
-XCreateWindowEvent.display	24
-XCreateWindowEvent.parent	32
-XCreateWindowEvent.window	40
-XCreateWindowEvent.x	48
-XCreateWindowEvent.y	52
-XCreateWindowEvent.width	56
-XCreateWindowEvent.height	60
-XCreateWindowEvent.border_width	64
-XCreateWindowEvent.override_redirect	68
-XCreateWindowEvent	72
-XVisibilityEvent.type	0
-XVisibilityEvent.serial	8
-XVisibilityEvent.send_event	16
-XVisibilityEvent.display	24
-XVisibilityEvent.window	32
-XVisibilityEvent.state	40
-XVisibilityEvent	48
-XWMHints.flags	0
-XWMHints.initial_state	12
-XWMHints.icon_pixmap	16
-XWMHints.icon_window	24
-XWMHints.icon_x	32
-XWMHints.icon_y	36
-XWMHints.icon_mask	40
-XWMHints.input	8
-XWMHints.window_group	48
-XWMHints	56
-XCrossingEvent.type	0
-XCrossingEvent.serial	8
-XCrossingEvent.send_event	16
-XCrossingEvent.display	24
-XCrossingEvent.window	32
-XCrossingEvent.root	40
-XCrossingEvent.subwindow	48
-XCrossingEvent.time	56
-XCrossingEvent.x	64
-XCrossingEvent.y	68
-XCrossingEvent.x_root	72
-XCrossingEvent.y_root	76
-XCrossingEvent.mode	80
-XCrossingEvent.detail	84
-XCrossingEvent.same_screen	88
-XCrossingEvent.focus	92
-XCrossingEvent.state	96
-XCrossingEvent	104
-XSelectionRequestEvent.type	0
-XSelectionRequestEvent.serial	8
-XSelectionRequestEvent.send_event	16
-XSelectionRequestEvent.display	24
-XSelectionRequestEvent.owner	32
-XSelectionRequestEvent.requestor	40
-XSelectionRequestEvent.selection	48
-XSelectionRequestEvent.target	56
-XSelectionRequestEvent.property	64
-XSelectionRequestEvent.time	72
-XSelectionRequestEvent	80
-XNoExposeEvent.type	0
-XNoExposeEvent.serial	8
-XNoExposeEvent.send_event	16
-XNoExposeEvent.display	24
-XNoExposeEvent.drawable	32
-XNoExposeEvent.major_code	40
-XNoExposeEvent.minor_code	44
-XNoExposeEvent	48
-XHostAddress.family	0
-XHostAddress.length	4
-XHostAddress.address	8
-XHostAddress	16
-XColormapEvent.type	0
-XColormapEvent.serial	8
-XColormapEvent.send_event	16
-XColormapEvent.display	24
-XColormapEvent.window	32
-XColormapEvent.colormap	40
-XColormapEvent.new	48
-XColormapEvent.state	52
-XColormapEvent	56
-ColorEntry.r	0
-ColorEntry.g	1
-ColorEntry.b	2
-ColorEntry.flags	3
-ColorEntry	4
-XResizeRequestEvent.type	0
-XResizeRequestEvent.serial	8
-XResizeRequestEvent.send_event	16
-XResizeRequestEvent.display	24
-XResizeRequestEvent.window	32
-XResizeRequestEvent.width	40
-XResizeRequestEvent.height	44
-XResizeRequestEvent	48
-Depth.depth	0
-Depth.nvisuals	4
-Depth.visuals	8
-Depth	16
-XPropertyEvent.type	0
-XPropertyEvent.serial	8
-XPropertyEvent.send_event	16
-XPropertyEvent.display	24
-XPropertyEvent.window	32
-XPropertyEvent.atom	40
-XPropertyEvent.time	48
-XPropertyEvent.state	56
-XPropertyEvent	64
-XDestroyWindowEvent.type	0
-XDestroyWindowEvent.serial	8
-XDestroyWindowEvent.send_event	16
-XDestroyWindowEvent.display	24
-XDestroyWindowEvent.event	32
-XDestroyWindowEvent.window	40
-XDestroyWindowEvent	48
-XStandardColormap.colormap	0
-XStandardColormap.red_max	8
-XStandardColormap.red_mult	16
-XStandardColormap.green_max	24
-XStandardColormap.green_mult	32
-XStandardColormap.blue_max	40
-XStandardColormap.blue_mult	48
-XStandardColormap.base_pixel	56
-XStandardColormap.visualid	64
-XStandardColormap.killid	72
-XStandardColormap	80
-XComposeStatus.compose_ptr	0
-XComposeStatus.chars_matched	8
-XComposeStatus	16
-AwtGraphicsConfigData.awt_depth	0
-AwtGraphicsConfigData.awt_cmap	8
-AwtGraphicsConfigData.awt_visInfo	16
-AwtGraphicsConfigData.awt_num_colors	80
-AwtGraphicsConfigData.awtImage	88
-AwtGraphicsConfigData.AwtColorMatch	96
-AwtGraphicsConfigData.monoImage	104
-AwtGraphicsConfigData.monoPixmap	112
-AwtGraphicsConfigData.monoPixmapWidth	120
-AwtGraphicsConfigData.monoPixmapHeight	124
-AwtGraphicsConfigData.monoPixmapGC	128
-AwtGraphicsConfigData.pixelStride	136
-AwtGraphicsConfigData.color_data	144
-AwtGraphicsConfigData.glxInfo	152
-AwtGraphicsConfigData.isTranslucencySupported	160
-AwtGraphicsConfigData.renderPictFormat	168
-AwtGraphicsConfigData	208
-XColor.pixel	0
-XColor.red	8
-XColor.green	10
-XColor.blue	12
-XColor.flags	14
-XColor.pad	15
-XColor	16
-XTextProperty.value	0
-XTextProperty.encoding	8
-XTextProperty.format	16
-XTextProperty.nitems	24
-XTextProperty	32
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1016 +0,0 @@
-long	8
-int	4
-short	2
-ptr	8
-Bool	4
-Atom	8
-Window	8
-XExtData.number	0
-XExtData.next	8
-XExtData.free_private	16
-XExtData.private_data	24
-XExtData	32
-XIMStringConversionCallbackStruct.position	0
-XIMStringConversionCallbackStruct.direction	4
-XIMStringConversionCallbackStruct.operation	8
-XIMStringConversionCallbackStruct.factor	10
-XIMStringConversionCallbackStruct.text	16
-XIMStringConversionCallbackStruct	24
-XkbNewKeyboardNotifyEvent.type	0
-XkbNewKeyboardNotifyEvent.serial	8
-XkbNewKeyboardNotifyEvent.send_event	16
-XkbNewKeyboardNotifyEvent.display	24
-XkbNewKeyboardNotifyEvent.time	32
-XkbNewKeyboardNotifyEvent.xkb_type	40
-XkbNewKeyboardNotifyEvent.device	44
-XkbNewKeyboardNotifyEvent.old_device	48
-XkbNewKeyboardNotifyEvent.min_key_code	52
-XkbNewKeyboardNotifyEvent.max_key_code	56
-XkbNewKeyboardNotifyEvent.old_min_key_code	60
-XkbNewKeyboardNotifyEvent.old_max_key_code	64
-XkbNewKeyboardNotifyEvent.changed	68
-XkbNewKeyboardNotifyEvent.req_major	72
-XkbNewKeyboardNotifyEvent.req_minor	73
-XkbNewKeyboardNotifyEvent	80
-XTimeCoord.time	0
-XTimeCoord.x	8
-XTimeCoord.y	10
-XTimeCoord	16
-XkbCompatMapNotifyEvent.type	0
-XkbCompatMapNotifyEvent.serial	8
-XkbCompatMapNotifyEvent.send_event	16
-XkbCompatMapNotifyEvent.display	24
-XkbCompatMapNotifyEvent.time	32
-XkbCompatMapNotifyEvent.xkb_type	40
-XkbCompatMapNotifyEvent.device	44
-XkbCompatMapNotifyEvent.changed_groups	48
-XkbCompatMapNotifyEvent.first_si	52
-XkbCompatMapNotifyEvent.num_si	56
-XkbCompatMapNotifyEvent.num_total_si	60
-XkbCompatMapNotifyEvent	64
-XIMStatusDrawCallbackStruct.type	0
-XIMStatusDrawCallbackStruct.data	8
-XIMStatusDrawCallbackStruct	16
-XKeyboardControl.key_click_percent	0
-XKeyboardControl.bell_percent	4
-XKeyboardControl.bell_pitch	8
-XKeyboardControl.bell_duration	12
-XKeyboardControl.led	16
-XKeyboardControl.led_mode	20
-XKeyboardControl.key	24
-XKeyboardControl.auto_repeat_mode	28
-XKeyboardControl	32
-XSelectionClearEvent.type	0
-XSelectionClearEvent.serial	8
-XSelectionClearEvent.send_event	16
-XSelectionClearEvent.display	24
-XSelectionClearEvent.window	32
-XSelectionClearEvent.selection	40
-XSelectionClearEvent.time	48
-XSelectionClearEvent	56
-XWindowChanges.x	0
-XWindowChanges.y	4
-XWindowChanges.width	8
-XWindowChanges.height	12
-XWindowChanges.border_width	16
-XWindowChanges.sibling	24
-XWindowChanges.stack_mode	32
-XWindowChanges	40
-XIMPreeditCaretCallbackStruct.position	0
-XIMPreeditCaretCallbackStruct.direction	4
-XIMPreeditCaretCallbackStruct.style	8
-XIMPreeditCaretCallbackStruct	12
-XOMCharSetList.charset_count	0
-XOMCharSetList.charset_list	8
-XOMCharSetList	16
-XOMFontInfo.num_font	0
-XOMFontInfo.font_struct_list	8
-XOMFontInfo.font_name_list	16
-XOMFontInfo	24
-AwtScreenData.numConfigs	0
-AwtScreenData.root	8
-AwtScreenData.whitepixel	16
-AwtScreenData.blackpixel	24
-AwtScreenData.defaultConfig	32
-AwtScreenData.configs	40
-AwtScreenData	48
-XIMHotKeyTrigger.keysym	0
-XIMHotKeyTrigger.modifier	8
-XIMHotKeyTrigger.modifier_mask	12
-XIMHotKeyTrigger	16
-XCirculateEvent.type	0
-XCirculateEvent.serial	8
-XCirculateEvent.send_event	16
-XCirculateEvent.display	24
-XCirculateEvent.event	32
-XCirculateEvent.window	40
-XCirculateEvent.place	48
-XCirculateEvent	56
-Screen.ext_data	0
-Screen.display	8
-Screen.root	16
-Screen.width	24
-Screen.height	28
-Screen.mwidth	32
-Screen.mheight	36
-Screen.ndepths	40
-Screen.depths	48
-Screen.root_depth	56
-Screen.root_visual	64
-Screen.default_gc	72
-Screen.cmap	80
-Screen.white_pixel	88
-Screen.black_pixel	96
-Screen.max_maps	104
-Screen.min_maps	108
-Screen.backing_store	112
-Screen.save_unders	116
-Screen.root_input_mask	120
-Screen	128
-XMapRequestEvent.type	0
-XMapRequestEvent.serial	8
-XMapRequestEvent.send_event	16
-XMapRequestEvent.display	24
-XMapRequestEvent.parent	32
-XMapRequestEvent.window	40
-XMapRequestEvent	48
-XIMText.length	0
-XIMText.feedback	8
-XIMText.encoding_is_wchar	16
-XIMText.string	24
-XIMText	32
-XGraphicsExposeEvent.type	0
-XGraphicsExposeEvent.serial	8
-XGraphicsExposeEvent.send_event	16
-XGraphicsExposeEvent.display	24
-XGraphicsExposeEvent.drawable	32
-XGraphicsExposeEvent.x	40
-XGraphicsExposeEvent.y	44
-XGraphicsExposeEvent.width	48
-XGraphicsExposeEvent.height	52
-XGraphicsExposeEvent.count	56
-XGraphicsExposeEvent.major_code	60
-XGraphicsExposeEvent.minor_code	64
-XGraphicsExposeEvent	72
-XEvent.type	0
-XEvent.xany	0
-XEvent.xkey	0
-XEvent.xbutton	0
-XEvent.xmotion	0
-XEvent.xcrossing	0
-XEvent.xfocus	0
-XEvent.xexpose	0
-XEvent.xgraphicsexpose	0
-XEvent.xnoexpose	0
-XEvent.xvisibility	0
-XEvent.xcreatewindow	0
-XEvent.xdestroywindow	0
-XEvent.xunmap	0
-XEvent.xmap	0
-XEvent.xmaprequest	0
-XEvent.xreparent	0
-XEvent.xconfigure	0
-XEvent.xgravity	0
-XEvent.xresizerequest	0
-XEvent.xconfigurerequest	0
-XEvent.xcirculate	0
-XEvent.xcirculaterequest	0
-XEvent.xproperty	0
-XEvent.xselectionclear	0
-XEvent.xselectionrequest	0
-XEvent.xselection	0
-XEvent.xcolormap	0
-XEvent.xclient	0
-XEvent.xmapping	0
-XEvent.xerror	0
-XEvent.xkeymap	0
-XEvent.pad	0
-XEvent	192
-XRenderDirectFormat.red	0
-XRenderDirectFormat.redMask	2
-XRenderDirectFormat.green	4
-XRenderDirectFormat.greenMask	6
-XRenderDirectFormat.blue	8
-XRenderDirectFormat.blueMask	10
-XRenderDirectFormat.alpha	12
-XRenderDirectFormat.alphaMask	14
-XRenderDirectFormat	16
-ColorData.awt_Colors	0
-ColorData.awt_numICMcolors	8
-ColorData.awt_icmLUT	16
-ColorData.awt_icmLUT2Colors	24
-ColorData.img_grays	32
-ColorData.img_clr_tbl	40
-ColorData.img_oda_red	48
-ColorData.img_oda_green	56
-ColorData.img_oda_blue	64
-ColorData.pGrayInverseLutData	72
-ColorData.screendata	80
-ColorData	88
-XFontStruct.ext_data	0
-XFontStruct.fid	8
-XFontStruct.direction	16
-XFontStruct.min_char_or_byte2	20
-XFontStruct.max_char_or_byte2	24
-XFontStruct.min_byte1	28
-XFontStruct.max_byte1	32
-XFontStruct.all_chars_exist	36
-XFontStruct.n_properties	44
-XFontStruct.properties	48
-XFontStruct.min_bounds	56
-XFontStruct.max_bounds	68
-XFontStruct.per_char	80
-XFontStruct.ascent	88
-XFontStruct.descent	92
-XFontStruct	96
-XExtCodes.extension	0
-XExtCodes.major_opcode	4
-XExtCodes.first_event	8
-XExtCodes.first_error	12
-XExtCodes	16
-XFontSetExtents.max_ink_extent	0
-XFontSetExtents.max_logical_extent	8
-XFontSetExtents	16
-XSelectionEvent.type	0
-XSelectionEvent.serial	8
-XSelectionEvent.send_event	16
-XSelectionEvent.display	24
-XSelectionEvent.requestor	32
-XSelectionEvent.selection	40
-XSelectionEvent.target	48
-XSelectionEvent.property	56
-XSelectionEvent.time	64
-XSelectionEvent	72
-XArc.x	0
-XArc.y	2
-XArc.width	4
-XArc.height	6
-XArc.angle1	8
-XArc.angle2	10
-XArc	12
-XErrorEvent.type	0
-XErrorEvent.display	8
-XErrorEvent.resourceid	16
-XErrorEvent.serial	24
-XErrorEvent.error_code	32
-XErrorEvent.request_code	33
-XErrorEvent.minor_code	34
-XErrorEvent	40
-XConfigureRequestEvent.type	0
-XConfigureRequestEvent.serial	8
-XConfigureRequestEvent.send_event	16
-XConfigureRequestEvent.display	24
-XConfigureRequestEvent.parent	32
-XConfigureRequestEvent.window	40
-XConfigureRequestEvent.x	48
-XConfigureRequestEvent.y	52
-XConfigureRequestEvent.width	56
-XConfigureRequestEvent.height	60
-XConfigureRequestEvent.border_width	64
-XConfigureRequestEvent.above	72
-XConfigureRequestEvent.detail	80
-XConfigureRequestEvent.value_mask	88
-XConfigureRequestEvent	96
-ScreenFormat.ext_data	0
-ScreenFormat.depth	8
-ScreenFormat.bits_per_pixel	12
-ScreenFormat.scanline_pad	16
-ScreenFormat	24
-XButtonEvent.type	0
-XButtonEvent.serial	8
-XButtonEvent.send_event	16
-XButtonEvent.display	24
-XButtonEvent.window	32
-XButtonEvent.root	40
-XButtonEvent.subwindow	48
-XButtonEvent.time	56
-XButtonEvent.x	64
-XButtonEvent.y	68
-XButtonEvent.x_root	72
-XButtonEvent.y_root	76
-XButtonEvent.state	80
-XButtonEvent.button	84
-XButtonEvent.same_screen	88
-XButtonEvent	96
-XFontProp.name	0
-XFontProp.card32	8
-XFontProp	16
-XIMValuesList.count_values	0
-XIMValuesList.supported_values	8
-XIMValuesList	16
-XKeymapEvent.type	0
-XKeymapEvent.serial	8
-XKeymapEvent.send_event	16
-XKeymapEvent.display	24
-XKeymapEvent.window	32
-XKeymapEvent.key_vector	40
-XKeymapEvent	72
-XTextItem16.chars	0
-XTextItem16.nchars	8
-XTextItem16.delta	12
-XTextItem16.font	16
-XTextItem16	24
-XIMPreeditDrawCallbackStruct.caret	0
-XIMPreeditDrawCallbackStruct.chg_first	4
-XIMPreeditDrawCallbackStruct.chg_length	8
-XIMPreeditDrawCallbackStruct.text	16
-XIMPreeditDrawCallbackStruct	24
-XVisualInfo.visual	0
-XVisualInfo.visualid	8
-XVisualInfo.screen	16
-XVisualInfo.depth	20
-XVisualInfo.class	24
-XVisualInfo.red_mask	32
-XVisualInfo.green_mask	40
-XVisualInfo.blue_mask	48
-XVisualInfo.colormap_size	56
-XVisualInfo.bits_per_rgb	60
-XVisualInfo	64
-XkbControlsNotifyEvent.type	0
-XkbControlsNotifyEvent.serial	8
-XkbControlsNotifyEvent.send_event	16
-XkbControlsNotifyEvent.display	24
-XkbControlsNotifyEvent.time	32
-XkbControlsNotifyEvent.xkb_type	40
-XkbControlsNotifyEvent.device	44
-XkbControlsNotifyEvent.changed_ctrls	48
-XkbControlsNotifyEvent.enabled_ctrls	52
-XkbControlsNotifyEvent.enabled_ctrl_changes	56
-XkbControlsNotifyEvent.num_groups	60
-XkbControlsNotifyEvent.keycode	64
-XkbControlsNotifyEvent.event_type	65
-XkbControlsNotifyEvent.req_major	66
-XkbControlsNotifyEvent.req_minor	67
-XkbControlsNotifyEvent	72
-PropMwmHints.flags	0
-PropMwmHints.functions	8
-PropMwmHints.decorations	16
-PropMwmHints.inputMode	24
-PropMwmHints.status	32
-PropMwmHints	40
-XClientMessageEvent.type	0
-XClientMessageEvent.serial	8
-XClientMessageEvent.send_event	16
-XClientMessageEvent.display	24
-XClientMessageEvent.window	32
-XClientMessageEvent.message_type	40
-XClientMessageEvent.format	48
-XClientMessageEvent.data	56
-XClientMessageEvent	96
-XAnyEvent.type	0
-XAnyEvent.serial	8
-XAnyEvent.send_event	16
-XAnyEvent.display	24
-XAnyEvent.window	32
-XAnyEvent	40
-XkbIndicatorNotifyEvent.type	0
-XkbIndicatorNotifyEvent.serial	8
-XkbIndicatorNotifyEvent.send_event	16
-XkbIndicatorNotifyEvent.display	24
-XkbIndicatorNotifyEvent.time	32
-XkbIndicatorNotifyEvent.xkb_type	40
-XkbIndicatorNotifyEvent.device	44
-XkbIndicatorNotifyEvent.changed	48
-XkbIndicatorNotifyEvent.state	52
-XkbIndicatorNotifyEvent	56
-XIMPreeditStateNotifyCallbackStruct.state	0
-XIMPreeditStateNotifyCallbackStruct	8
-XkbAnyEvent.type	0
-XkbAnyEvent.serial	8
-XkbAnyEvent.send_event	16
-XkbAnyEvent.display	24
-XkbAnyEvent.time	32
-XkbAnyEvent.xkb_type	40
-XkbAnyEvent.device	44
-XkbAnyEvent	48
-XMotionEvent.type	0
-XMotionEvent.serial	8
-XMotionEvent.send_event	16
-XMotionEvent.display	24
-XMotionEvent.window	32
-XMotionEvent.root	40
-XMotionEvent.subwindow	48
-XMotionEvent.time	56
-XMotionEvent.x	64
-XMotionEvent.y	68
-XMotionEvent.x_root	72
-XMotionEvent.y_root	76
-XMotionEvent.state	80
-XMotionEvent.is_hint	84
-XMotionEvent.same_screen	88
-XMotionEvent	96
-XIMHotKeyTriggers.num_hot_key	0
-XIMHotKeyTriggers.key	8
-XIMHotKeyTriggers	16
-XIMStyles.count_styles	0
-XIMStyles.supported_styles	8
-XIMStyles	16
-XkbExtensionDeviceNotifyEvent.type	0
-XkbExtensionDeviceNotifyEvent.serial	8
-XkbExtensionDeviceNotifyEvent.send_event	16
-XkbExtensionDeviceNotifyEvent.display	24
-XkbExtensionDeviceNotifyEvent.time	32
-XkbExtensionDeviceNotifyEvent.xkb_type	40
-XkbExtensionDeviceNotifyEvent.device	44
-XkbExtensionDeviceNotifyEvent.reason	48
-XkbExtensionDeviceNotifyEvent.supported	52
-XkbExtensionDeviceNotifyEvent.unsupported	56
-XkbExtensionDeviceNotifyEvent.first_btn	60
-XkbExtensionDeviceNotifyEvent.num_btns	64
-XkbExtensionDeviceNotifyEvent.leds_defined	68
-XkbExtensionDeviceNotifyEvent.led_state	72
-XkbExtensionDeviceNotifyEvent.led_class	76
-XkbExtensionDeviceNotifyEvent.led_id	80
-XkbExtensionDeviceNotifyEvent	88
-XwcTextItem.chars	0
-XwcTextItem.nchars	8
-XwcTextItem.delta	12
-XwcTextItem.font_set	16
-XwcTextItem	24
-XClassHint.res_name	0
-XClassHint.res_class	8
-XClassHint	16
-XChar2b.byte1	0
-XChar2b.byte2	1
-XChar2b	2
-XSetWindowAttributes.background_pixmap	0
-XSetWindowAttributes.background_pixel	8
-XSetWindowAttributes.border_pixmap	16
-XSetWindowAttributes.border_pixel	24
-XSetWindowAttributes.bit_gravity	32
-XSetWindowAttributes.win_gravity	36
-XSetWindowAttributes.backing_store	40
-XSetWindowAttributes.backing_planes	48
-XSetWindowAttributes.backing_pixel	56
-XSetWindowAttributes.save_under	64
-XSetWindowAttributes.event_mask	72
-XSetWindowAttributes.do_not_propagate_mask	80
-XSetWindowAttributes.override_redirect	88
-XSetWindowAttributes.colormap	96
-XSetWindowAttributes.cursor	104
-XSetWindowAttributes	112
-XRenderPictFormat.id	0
-XRenderPictFormat.type	8
-XRenderPictFormat.depth	12
-XRenderPictFormat.direct	16
-XRenderPictFormat.colormap	32
-XRenderPictFormat	40
-XReparentEvent.type	0
-XReparentEvent.serial	8
-XReparentEvent.send_event	16
-XReparentEvent.display	24
-XReparentEvent.event	32
-XReparentEvent.window	40
-XReparentEvent.parent	48
-XReparentEvent.x	56
-XReparentEvent.y	60
-XReparentEvent.override_redirect	64
-XReparentEvent	72
-XCirculateRequestEvent.type	0
-XCirculateRequestEvent.serial	8
-XCirculateRequestEvent.send_event	16
-XCirculateRequestEvent.display	24
-XCirculateRequestEvent.parent	32
-XCirculateRequestEvent.window	40
-XCirculateRequestEvent.place	48
-XCirculateRequestEvent	56
-XImage.width	0
-XImage.height	4
-XImage.xoffset	8
-XImage.format	12
-XImage.data	16
-XImage.byte_order	24
-XImage.bitmap_unit	28
-XImage.bitmap_bit_order	32
-XImage.bitmap_pad	36
-XImage.depth	40
-XImage.bytes_per_line	44
-XImage.bits_per_pixel	48
-XImage.red_mask	56
-XImage.green_mask	64
-XImage.blue_mask	72
-XImage.obdata	80
-XImage.f.create_image	88
-XImage.f.destroy_image	96
-XImage.f.get_pixel	104
-XImage.f.put_pixel	112
-XImage.f.sub_image	120
-XImage.f.add_pixel	128
-XImage	136
-XKeyEvent.type	0
-XKeyEvent.serial	8
-XKeyEvent.send_event	16
-XKeyEvent.display	24
-XKeyEvent.window	32
-XKeyEvent.root	40
-XKeyEvent.subwindow	48
-XKeyEvent.time	56
-XKeyEvent.x	64
-XKeyEvent.y	68
-XKeyEvent.x_root	72
-XKeyEvent.y_root	76
-XKeyEvent.state	80
-XKeyEvent.keycode	84
-XKeyEvent.same_screen	88
-XKeyEvent	96
-XkbActionMessageEvent.type	0
-XkbActionMessageEvent.serial	8
-XkbActionMessageEvent.send_event	16
-XkbActionMessageEvent.display	24
-XkbActionMessageEvent.time	32
-XkbActionMessageEvent.xkb_type	40
-XkbActionMessageEvent.device	44
-XkbActionMessageEvent.keycode	48
-XkbActionMessageEvent.press	52
-XkbActionMessageEvent.key_event_follows	56
-XkbActionMessageEvent.group	60
-XkbActionMessageEvent.mods	64
-XkbActionMessageEvent.message	68
-XkbActionMessageEvent	80
-XdbeSwapInfo.swap_window	0
-XdbeSwapInfo.swap_action	8
-XdbeSwapInfo	16
-XTextItem.chars	0
-XTextItem.nchars	8
-XTextItem.delta	12
-XTextItem.font	16
-XTextItem	24
-XModifierKeymap.max_keypermod	0
-XModifierKeymap.modifiermap	8
-XModifierKeymap	16
-XCharStruct.lbearing	0
-XCharStruct.rbearing	2
-XCharStruct.width	4
-XCharStruct.ascent	6
-XCharStruct.descent	8
-XCharStruct.attributes	10
-XCharStruct	12
-XGravityEvent.type	0
-XGravityEvent.serial	8
-XGravityEvent.send_event	16
-XGravityEvent.display	24
-XGravityEvent.event	32
-XGravityEvent.window	40
-XGravityEvent.x	48
-XGravityEvent.y	52
-XGravityEvent	56
-Visual.ext_data	0
-Visual.visualid	8
-Visual.class	16
-Visual.red_mask	24
-Visual.green_mask	32
-Visual.blue_mask	40
-Visual.bits_per_rgb	48
-Visual.map_entries	52
-Visual	56
-XOMOrientation.num_orientation	0
-XOMOrientation.orientation	8
-XOMOrientation	16
-XkbAccessXNotifyEvent.type	0
-XkbAccessXNotifyEvent.serial	8
-XkbAccessXNotifyEvent.send_event	16
-XkbAccessXNotifyEvent.display	24
-XkbAccessXNotifyEvent.time	32
-XkbAccessXNotifyEvent.xkb_type	40
-XkbAccessXNotifyEvent.device	44
-XkbAccessXNotifyEvent.detail	48
-XkbAccessXNotifyEvent.keycode	52
-XkbAccessXNotifyEvent.sk_delay	56
-XkbAccessXNotifyEvent.debounce_delay	60
-XkbAccessXNotifyEvent	64
-XWindowAttributes.x	0
-XWindowAttributes.y	4
-XWindowAttributes.width	8
-XWindowAttributes.height	12
-XWindowAttributes.border_width	16
-XWindowAttributes.depth	20
-XWindowAttributes.visual	24
-XWindowAttributes.root	32
-XWindowAttributes.class	40
-XWindowAttributes.bit_gravity	44
-XWindowAttributes.win_gravity	48
-XWindowAttributes.backing_store	52
-XWindowAttributes.backing_planes	56
-XWindowAttributes.backing_pixel	64
-XWindowAttributes.save_under	72
-XWindowAttributes.colormap	80
-XWindowAttributes.map_installed	88
-XWindowAttributes.map_state	92
-XWindowAttributes.all_event_masks	96
-XWindowAttributes.your_event_mask	104
-XWindowAttributes.do_not_propagate_mask	112
-XWindowAttributes.override_redirect	120
-XWindowAttributes.screen	128
-XWindowAttributes	136
-XmbTextItem.chars	0
-XmbTextItem.nchars	8
-XmbTextItem.delta	12
-XmbTextItem.font_set	16
-XmbTextItem	24
-XMappingEvent.type	0
-XMappingEvent.serial	8
-XMappingEvent.send_event	16
-XMappingEvent.display	24
-XMappingEvent.window	32
-XMappingEvent.request	40
-XMappingEvent.first_keycode	44
-XMappingEvent.count	48
-XMappingEvent	56
-XSizeHints.flags	0
-XSizeHints.x	8
-XSizeHints.y	12
-XSizeHints.width	16
-XSizeHints.height	20
-XSizeHints.min_width	24
-XSizeHints.min_height	28
-XSizeHints.max_width	32
-XSizeHints.max_height	36
-XSizeHints.width_inc	40
-XSizeHints.height_inc	44
-XSizeHints.min_aspect.x	48
-XSizeHints.min_aspect.y	52
-XSizeHints.max_aspect.x	56
-XSizeHints.max_aspect.y	60
-XSizeHints.base_width	64
-XSizeHints.base_height	68
-XSizeHints.win_gravity	72
-XSizeHints	80
-XUnmapEvent.type	0
-XUnmapEvent.serial	8
-XUnmapEvent.send_event	16
-XUnmapEvent.display	24
-XUnmapEvent.event	32
-XUnmapEvent.window	40
-XUnmapEvent.from_configure	48
-XUnmapEvent	56
-awtImageData.Depth	0
-awtImageData.wsImageFormat	4
-awtImageData.clrdata	16
-awtImageData.convert	48
-awtImageData	560
-XkbStateNotifyEvent.type	0
-XkbStateNotifyEvent.serial	8
-XkbStateNotifyEvent.send_event	16
-XkbStateNotifyEvent.display	24
-XkbStateNotifyEvent.time	32
-XkbStateNotifyEvent.xkb_type	40
-XkbStateNotifyEvent.device	44
-XkbStateNotifyEvent.changed	48
-XkbStateNotifyEvent.group	52
-XkbStateNotifyEvent.base_group	56
-XkbStateNotifyEvent.latched_group	60
-XkbStateNotifyEvent.locked_group	64
-XkbStateNotifyEvent.mods	68
-XkbStateNotifyEvent.base_mods	72
-XkbStateNotifyEvent.latched_mods	76
-XkbStateNotifyEvent.locked_mods	80
-XkbStateNotifyEvent.compat_state	84
-XkbStateNotifyEvent.grab_mods	88
-XkbStateNotifyEvent.compat_grab_mods	89
-XkbStateNotifyEvent.lookup_mods	90
-XkbStateNotifyEvent.compat_lookup_mods	91
-XkbStateNotifyEvent.ptr_buttons	92
-XkbStateNotifyEvent.keycode	96
-XkbStateNotifyEvent.event_type	97
-XkbStateNotifyEvent.req_major	98
-XkbStateNotifyEvent.req_minor	99
-XkbStateNotifyEvent	104
-XExposeEvent.type	0
-XExposeEvent.serial	8
-XExposeEvent.send_event	16
-XExposeEvent.display	24
-XExposeEvent.window	32
-XExposeEvent.x	40
-XExposeEvent.y	44
-XExposeEvent.width	48
-XExposeEvent.height	52
-XExposeEvent.count	56
-XExposeEvent	64
-XkbMapNotifyEvent.type	0
-XkbMapNotifyEvent.serial	8
-XkbMapNotifyEvent.send_event	16
-XkbMapNotifyEvent.display	24
-XkbMapNotifyEvent.time	32
-XkbMapNotifyEvent.xkb_type	40
-XkbMapNotifyEvent.device	44
-XkbMapNotifyEvent.changed	48
-XkbMapNotifyEvent.flags	52
-XkbMapNotifyEvent.first_type	56
-XkbMapNotifyEvent.num_types	60
-XkbMapNotifyEvent.min_key_code	64
-XkbMapNotifyEvent.max_key_code	65
-XkbMapNotifyEvent.first_key_sym	66
-XkbMapNotifyEvent.first_key_act	67
-XkbMapNotifyEvent.first_key_behavior	68
-XkbMapNotifyEvent.first_key_explicit	69
-XkbMapNotifyEvent.first_modmap_key	70
-XkbMapNotifyEvent.first_vmodmap_key	71
-XkbMapNotifyEvent.num_key_syms	72
-XkbMapNotifyEvent.num_key_acts	76
-XkbMapNotifyEvent.num_key_behaviors	80
-XkbMapNotifyEvent.num_key_explicit	84
-XkbMapNotifyEvent.num_modmap_keys	88
-XkbMapNotifyEvent.num_vmodmap_keys	92
-XkbMapNotifyEvent.vmods	96
-XkbMapNotifyEvent	104
-XGCValues.function	0
-XGCValues.plane_mask	8
-XGCValues.foreground	16
-XGCValues.background	24
-XGCValues.line_width	32
-XGCValues.line_style	36
-XGCValues.cap_style	40
-XGCValues.join_style	44
-XGCValues.fill_style	48
-XGCValues.fill_rule	52
-XGCValues.arc_mode	56
-XGCValues.tile	64
-XGCValues.stipple	72
-XGCValues.ts_x_origin	80
-XGCValues.ts_y_origin	84
-XGCValues.font	88
-XGCValues.subwindow_mode	96
-XGCValues.graphics_exposures	100
-XGCValues.clip_x_origin	104
-XGCValues.clip_y_origin	108
-XGCValues.clip_mask	112
-XGCValues.dash_offset	120
-XGCValues.dashes	124
-XGCValues	128
-XFocusChangeEvent.type	0
-XFocusChangeEvent.serial	8
-XFocusChangeEvent.send_event	16
-XFocusChangeEvent.display	24
-XFocusChangeEvent.window	32
-XFocusChangeEvent.mode	40
-XFocusChangeEvent.detail	44
-XFocusChangeEvent	48
-XPixmapFormatValues.depth	0
-XPixmapFormatValues.bits_per_pixel	4
-XPixmapFormatValues.scanline_pad	8
-XPixmapFormatValues	12
-XMapEvent.type	0
-XMapEvent.serial	8
-XMapEvent.send_event	16
-XMapEvent.display	24
-XMapEvent.event	32
-XMapEvent.window	40
-XMapEvent.override_redirect	48
-XMapEvent	56
-XkbBellNotifyEvent.type	0
-XkbBellNotifyEvent.serial	8
-XkbBellNotifyEvent.send_event	16
-XkbBellNotifyEvent.display	24
-XkbBellNotifyEvent.time	32
-XkbBellNotifyEvent.xkb_type	40
-XkbBellNotifyEvent.device	44
-XkbBellNotifyEvent.percent	48
-XkbBellNotifyEvent.pitch	52
-XkbBellNotifyEvent.duration	56
-XkbBellNotifyEvent.bell_class	60
-XkbBellNotifyEvent.bell_id	64
-XkbBellNotifyEvent.name	72
-XkbBellNotifyEvent.window	80
-XkbBellNotifyEvent.event_only	88
-XkbBellNotifyEvent	96
-XIMStringConversionText.length	0
-XIMStringConversionText.feedback	8
-XIMStringConversionText.encoding_is_wchar	16
-XIMStringConversionText.string	24
-XIMStringConversionText	32
-XKeyboardState.key_click_percent	0
-XKeyboardState.bell_percent	4
-XKeyboardState.bell_pitch	8
-XKeyboardState.bell_duration	12
-XKeyboardState.led_mask	16
-XKeyboardState.global_auto_repeat	24
-XKeyboardState.auto_repeats	28
-XKeyboardState	64
-XkbEvent.type	0
-XkbEvent.any	0
-XkbEvent.new_kbd	0
-XkbEvent.map	0
-XkbEvent.state	0
-XkbEvent.ctrls	0
-XkbEvent.indicators	0
-XkbEvent.names	0
-XkbEvent.compat	0
-XkbEvent.bell	0
-XkbEvent.message	0
-XkbEvent.accessx	0
-XkbEvent.device	0
-XkbEvent.core	0
-XkbEvent	192
-XPoint.x	0
-XPoint.y	2
-XPoint	4
-XSegment.x1	0
-XSegment.y1	2
-XSegment.x2	4
-XSegment.y2	6
-XSegment	8
-XIconSize.min_width	0
-XIconSize.min_height	4
-XIconSize.max_width	8
-XIconSize.max_height	12
-XIconSize.width_inc	16
-XIconSize.height_inc	20
-XIconSize	24
-XIMCallback.client_data	0
-XIMCallback.callback	8
-XIMCallback	16
-XConfigureEvent.type	0
-XConfigureEvent.serial	8
-XConfigureEvent.send_event	16
-XConfigureEvent.display	24
-XConfigureEvent.event	32
-XConfigureEvent.window	40
-XConfigureEvent.x	48
-XConfigureEvent.y	52
-XConfigureEvent.width	56
-XConfigureEvent.height	60
-XConfigureEvent.border_width	64
-XConfigureEvent.above	72
-XConfigureEvent.override_redirect	80
-XConfigureEvent	88
-XRectangle.x	0
-XRectangle.y	2
-XRectangle.width	4
-XRectangle.height	6
-XRectangle	8
-XkbNamesNotifyEvent.type	0
-XkbNamesNotifyEvent.serial	8
-XkbNamesNotifyEvent.send_event	16
-XkbNamesNotifyEvent.display	24
-XkbNamesNotifyEvent.time	32
-XkbNamesNotifyEvent.xkb_type	40
-XkbNamesNotifyEvent.device	44
-XkbNamesNotifyEvent.changed	48
-XkbNamesNotifyEvent.first_type	52
-XkbNamesNotifyEvent.num_types	56
-XkbNamesNotifyEvent.first_lvl	60
-XkbNamesNotifyEvent.num_lvls	64
-XkbNamesNotifyEvent.num_aliases	68
-XkbNamesNotifyEvent.num_radio_groups	72
-XkbNamesNotifyEvent.changed_vmods	76
-XkbNamesNotifyEvent.changed_groups	80
-XkbNamesNotifyEvent.changed_indicators	84
-XkbNamesNotifyEvent.first_key	88
-XkbNamesNotifyEvent.num_keys	92
-XkbNamesNotifyEvent	96
-XCreateWindowEvent.type	0
-XCreateWindowEvent.serial	8
-XCreateWindowEvent.send_event	16
-XCreateWindowEvent.display	24
-XCreateWindowEvent.parent	32
-XCreateWindowEvent.window	40
-XCreateWindowEvent.x	48
-XCreateWindowEvent.y	52
-XCreateWindowEvent.width	56
-XCreateWindowEvent.height	60
-XCreateWindowEvent.border_width	64
-XCreateWindowEvent.override_redirect	68
-XCreateWindowEvent	72
-XVisibilityEvent.type	0
-XVisibilityEvent.serial	8
-XVisibilityEvent.send_event	16
-XVisibilityEvent.display	24
-XVisibilityEvent.window	32
-XVisibilityEvent.state	40
-XVisibilityEvent	48
-XWMHints.flags	0
-XWMHints.initial_state	12
-XWMHints.icon_pixmap	16
-XWMHints.icon_window	24
-XWMHints.icon_x	32
-XWMHints.icon_y	36
-XWMHints.icon_mask	40
-XWMHints.input	8
-XWMHints.window_group	48
-XWMHints	56
-XCrossingEvent.type	0
-XCrossingEvent.serial	8
-XCrossingEvent.send_event	16
-XCrossingEvent.display	24
-XCrossingEvent.window	32
-XCrossingEvent.root	40
-XCrossingEvent.subwindow	48
-XCrossingEvent.time	56
-XCrossingEvent.x	64
-XCrossingEvent.y	68
-XCrossingEvent.x_root	72
-XCrossingEvent.y_root	76
-XCrossingEvent.mode	80
-XCrossingEvent.detail	84
-XCrossingEvent.same_screen	88
-XCrossingEvent.focus	92
-XCrossingEvent.state	96
-XCrossingEvent	104
-XSelectionRequestEvent.type	0
-XSelectionRequestEvent.serial	8
-XSelectionRequestEvent.send_event	16
-XSelectionRequestEvent.display	24
-XSelectionRequestEvent.owner	32
-XSelectionRequestEvent.requestor	40
-XSelectionRequestEvent.selection	48
-XSelectionRequestEvent.target	56
-XSelectionRequestEvent.property	64
-XSelectionRequestEvent.time	72
-XSelectionRequestEvent	80
-XNoExposeEvent.type	0
-XNoExposeEvent.serial	8
-XNoExposeEvent.send_event	16
-XNoExposeEvent.display	24
-XNoExposeEvent.drawable	32
-XNoExposeEvent.major_code	40
-XNoExposeEvent.minor_code	44
-XNoExposeEvent	48
-XHostAddress.family	0
-XHostAddress.length	4
-XHostAddress.address	8
-XHostAddress	16
-XColormapEvent.type	0
-XColormapEvent.serial	8
-XColormapEvent.send_event	16
-XColormapEvent.display	24
-XColormapEvent.window	32
-XColormapEvent.colormap	40
-XColormapEvent.new	48
-XColormapEvent.state	52
-XColormapEvent	56
-ColorEntry.r	0
-ColorEntry.g	1
-ColorEntry.b	2
-ColorEntry.flags	3
-ColorEntry	4
-XResizeRequestEvent.type	0
-XResizeRequestEvent.serial	8
-XResizeRequestEvent.send_event	16
-XResizeRequestEvent.display	24
-XResizeRequestEvent.window	32
-XResizeRequestEvent.width	40
-XResizeRequestEvent.height	44
-XResizeRequestEvent	48
-Depth.depth	0
-Depth.nvisuals	4
-Depth.visuals	8
-Depth	16
-XPropertyEvent.type	0
-XPropertyEvent.serial	8
-XPropertyEvent.send_event	16
-XPropertyEvent.display	24
-XPropertyEvent.window	32
-XPropertyEvent.atom	40
-XPropertyEvent.time	48
-XPropertyEvent.state	56
-XPropertyEvent	64
-XDestroyWindowEvent.type	0
-XDestroyWindowEvent.serial	8
-XDestroyWindowEvent.send_event	16
-XDestroyWindowEvent.display	24
-XDestroyWindowEvent.event	32
-XDestroyWindowEvent.window	40
-XDestroyWindowEvent	48
-XStandardColormap.colormap	0
-XStandardColormap.red_max	8
-XStandardColormap.red_mult	16
-XStandardColormap.green_max	24
-XStandardColormap.green_mult	32
-XStandardColormap.blue_max	40
-XStandardColormap.blue_mult	48
-XStandardColormap.base_pixel	56
-XStandardColormap.visualid	64
-XStandardColormap.killid	72
-XStandardColormap	80
-XComposeStatus.compose_ptr	0
-XComposeStatus.chars_matched	8
-XComposeStatus	16
-AwtGraphicsConfigData.awt_depth	0
-AwtGraphicsConfigData.awt_cmap	8
-AwtGraphicsConfigData.awt_visInfo	16
-AwtGraphicsConfigData.awt_num_colors	80
-AwtGraphicsConfigData.awtImage	88
-AwtGraphicsConfigData.AwtColorMatch	96
-AwtGraphicsConfigData.monoImage	104
-AwtGraphicsConfigData.monoPixmap	112
-AwtGraphicsConfigData.monoPixmapWidth	120
-AwtGraphicsConfigData.monoPixmapHeight	124
-AwtGraphicsConfigData.monoPixmapGC	128
-AwtGraphicsConfigData.pixelStride	136
-AwtGraphicsConfigData.color_data	144
-AwtGraphicsConfigData.glxInfo	152
-AwtGraphicsConfigData.isTranslucencySupported	160
-AwtGraphicsConfigData.renderPictFormat	168
-AwtGraphicsConfigData	208
-XColor.pixel	0
-XColor.red	8
-XColor.green	10
-XColor.blue	12
-XColor.flags	14
-XColor.pad	15
-XColor	16
-XTextProperty.value	0
-XTextProperty.encoding	8
-XTextProperty.format	16
-XTextProperty.nitems	24
-XTextProperty	32
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1040 +0,0 @@
-//
-//
-// This file is used for automated generation of java classes to wrap native structures.
-// The detail on format of this file see WrapperGenerator.java
-//
-// WARNING: if you modified this file, you need to regenerate sizes.64-solaris-i386
-//
-
-XExtData
-    number	int
-    next pointer XExtData
-    free_private pointer
-    private_data	pointer
-XIMText
-    length	short
-    feedback	pointer
-    encoding_is_wchar	Bool
-    string pointer
-XSetWindowAttributes
-    background_pixmap	long
-    background_pixel	long
-    border_pixmap	long
-    border_pixel	long
-    bit_gravity         int
-    win_gravity         int
-    backing_store	int
-    backing_planes	long
-    backing_pixel	long
-    save_under          Bool
-    event_mask          long
-    do_not_propagate_mask	long
-    override_redirect	Bool
-    colormap            long
-    cursor              long
-Visual
-    ext_data    pointer XExtData
-    visualid	long
-    class	int
-    red_mask	long
-    green_mask	long
-    blue_mask	long
-    bits_per_rgb	int
-    map_entries	int
-Depth
-    depth	int
-    nvisuals	int
-    visuals   pointer Visual
-XClassHint
-    res_name	pointer
-    res_class	pointer
-XIMPreeditCaretCallbackStruct
-    position	int
-    direction int
-    style     int
-XmbTextItem
-    chars	pointer byte
-    nchars	int
-    delta	int
-    font_set    pointer
-XStandardColormap
-    colormap    long
-    red_max	long
-    red_mult	long
-    green_max	long
-    green_mult	long
-    blue_max	long
-    blue_mult	long
-    base_pixel	long
-    visualid    long
-    killid      long
-XIMCallback
-    client_data	pointer
-    callback    pointer
-XKeyboardState
-    key_click_percent	int
-    bell_percent	int
-    bell_pitch          int
-    bell_duration	int
-    led_mask            long
-    global_auto_repeat	int
-    auto_repeats	array byte 32
-XCirculateEvent
-    type	int
-    serial	long
-    send_event	Bool
-    display long
-    event	long
-    window	long
-    place	int
-XWMHints
-    flags	long
-    initial_state	int
-    icon_pixmap pointer
-    icon_window long
-    icon_x	int
-    icon_y	int
-    icon_mask long
-    input	Bool
-    window_group long
-XCrossingEvent
-    type	int
-    serial	long
-    send_event	Bool
-    display     long
-    window	long
-    root	long
-    subwindow	long
-    time	ulong
-    x	int
-    y	int
-    x_root	int
-    y_root	int
-    mode	int
-    detail	int
-    same_screen	Bool
-    focus	Bool
-    state	int
-XIMStringConversionText
-    length	short
-    feedback	pointer
-    encoding_is_wchar	Bool
-    string      pointer
-XKeymapEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    key_vector	array byte 32
-XDestroyWindowEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    event	long
-    window	long
-XComposeStatus
-    compose_ptr	pointer
-    chars_matched	int
-XTextItem
-    chars	pointer
-    nchars	int
-    delta	int
-    font	long
-XIMStringConversionCallbackStruct
-    position	short
-    direction     int
-    operation	short
-    factor	short
-    text          pointer XIMStringConversionText
-XOMFontInfo
-    num_font	int
-    font_struct_list pointer
-    font_name_list	pointer
-XClientMessageEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    message_type	Atom
-    format	int
-    data        array long 5
-XMapRequestEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    parent	long
-    window	long
-XSelectionEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    requestor	long
-    selection	Atom
-    target	Atom
-    property	Atom
-    time	ulong
-XVisibilityEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    state	int
-XConfigureRequestEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    parent	long
-    window	long
-    x	int
-    y	int
-    width	int
-    height	int
-    border_width	int
-    above	long
-    detail	int
-    value_mask	long
-Screen
-    ext_data pointer XExtData
-    display pointer
-    root	long
-    width	int
-    height	int
-    mwidth	int
-    mheight	int
-    ndepths	int
-    depths pointer Depth
-    root_depth	int
-    root_visual pointer Visual
-    default_gc  long
-    cmap	long
-    white_pixel	long
-    black_pixel	long
-    max_maps	int
-    min_maps	int
-    backing_store	int
-    save_unders	Bool
-    root_input_mask	long
-XTextProperty
-    value	pointer byte
-    encoding    long
-    format	int
-    nitems	long
-XWindowChanges
-    x	int
-    y	int
-    width	int
-    height	int
-    border_width	int
-    sibling	long
-    stack_mode	int
-XVisualInfo
-    visual      pointer
-    visualid    long
-    screen	int
-    depth	int
-    class	int
-    red_mask	long
-    green_mask	long
-    blue_mask	long
-    colormap_size	int
-    bits_per_rgb	int
-XRenderDirectFormat
-    red         short
-    redMask     short
-    green       short
-    greenMask   short
-    blue        short
-    blueMask    short
-    alpha       short
-    alphaMask   short
-XRenderPictFormat
-    id          long
-    type        int
-    depth       int
-    direct      struct XRenderDirectFormat
-    colormap    long
-XIMHotKeyTrigger
-    keysym	long
-    modifier	int
-    modifier_mask	int
-XIMHotKeyTriggers
-    num_hot_key	int
-    key         pointer XIMHotKeyTrigger
-XIMStyles
-    count_styles	short
-    supported_styles	pointer long
-XIMStatusDrawCallbackStruct
-    type        int
-    data        long
-XWindowAttributes
-    x	int
-    y	int
-    width	int
-    height	int
-    border_width	int
-    depth	int
-    visual      pointer Visual
-    root	long
-    class	int
-    bit_gravity	int
-    win_gravity	int
-    backing_store	int
-    backing_planes	long
-    backing_pixel	long
-    save_under	Bool
-    colormap	long
-    map_installed	Bool
-    map_state	int
-    all_event_masks	long
-    your_event_mask	long
-    do_not_propagate_mask	long
-    override_redirect	Bool
-    screen pointer Screen
-XExtCodes
-    extension	int
-    major_opcode	int
-    first_event	int
-    first_error	int
-XPropertyEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    atom	Atom
-    time	ulong
-    state	int
-
-XSizeHints
-    flags	long
-    x           int
-    y           int
-    width	int
-    height	int
-    min_width	int
-    min_height	int
-    max_width	int
-    max_height	int
-    width_inc	int
-    height_inc	int
-    min_aspect.x int
-    min_aspect.y int
-    max_aspect.x int
-    max_aspect.y int
-    base_width   int
-    base_height  int
-    win_gravity  int
-XIconSize
-    min_width	int
-    min_height	int
-    max_width	int
-    max_height	int
-    width_inc	int
-    height_inc	int
-XwcTextItem
-    chars	pointer
-    nchars	int
-    delta	int
-    font_set    pointer
-XIMPreeditDrawCallbackStruct
-    caret	int
-    chg_first	int
-    chg_length	int
-    text        pointer XIMText
-XErrorEvent
-    type	int
-    display     long
-    resourceid	long
-    serial	long
-    error_code	byte
-    request_code	byte
-    minor_code	byte
-XSelectionClearEvent
-    type	int
-    serial	long
-    send_event	Bool
-    display long
-    window	long
-    selection	Atom
-    time	ulong
-XKeyboardControl
-    key_click_percent	int
-    bell_percent	int
-    bell_pitch	int
-    bell_duration	int
-    led	int
-    led_mode	int
-    key	int
-    auto_repeat_mode	int
-XAnyEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-XTimeCoord
-    time	ulong
-    x	short
-    y	short
-XGravityEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    event	long
-    window	long
-    x           int
-    y           int
-XCharStruct
-    lbearing	short
-    rbearing	short
-    width	short
-    ascent	short
-    descent	short
-    attributes	short
-XArc
-    x	short
-    y	short
-    width	short
-    height	short
-    angle1	short
-    angle2	short
-XPoint
-    x	short
-    y	short
-ScreenFormat
-    ext_data pointer XExtData
-    depth	int
-    bits_per_pixel	int
-    scanline_pad	int
-XFocusChangeEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    mode	int
-    detail	int
-XResizeRequestEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    width	int
-    height	int
-
-XRectangle
-    x	short
-    y	short
-    width	short
-    height	short
-
-XMappingEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    request	int
-    first_keycode	int
-    count	int
-XSegment
-    x1	short
-    y1	short
-    x2	short
-    y2	short
-XColor
-    pixel	long
-    red         short
-    green	short
-    blue	short
-    flags	byte
-    pad         byte
-XKeyEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    root	long
-    subwindow	long
-    time	ulong
-    x	int
-    y	int
-    x_root	int
-    y_root	int
-    state	int
-    keycode	int
-    same_screen	Bool
-XReparentEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    event	long
-    window	long
-    parent	long
-    x           int
-    y           int
-    override_redirect	Bool
-XMotionEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    root	long
-    subwindow	long
-    time	ulong
-    x	int
-    y	int
-    x_root	int
-    y_root	int
-    state	int
-    is_hint	byte
-    same_screen	Bool
-XButtonEvent
-    type	int
-    serial	long
-    send_event Bool
-    display     long
-    window	long
-    root	long
-    subwindow	long
-    time	ulong
-    x	int
-    y	int
-    x_root	int
-    y_root	int
-    state	int
-    button	int
-    same_screen	Bool
-XHostAddress
-    family	int
-    length	int
-    address	pointer
-XOMCharSetList
-    charset_count	int
-    charset_list	pointer
-XNoExposeEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    drawable	long
-    major_code	int
-    minor_code	int
-XSelectionRequestEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    owner	long
-    requestor	long
-    selection	Atom
-    target	Atom
-    property	Atom
-    time	ulong
-XGCValues
-    function	int
-    plane_mask	long
-    foreground	long
-    background	long
-    line_width	int
-    line_style	int
-    cap_style	int
-    join_style	int
-    fill_style	int
-    fill_rule	int
-    arc_mode	int
-    tile	long
-    stipple	long
-    ts_x_origin	int
-    ts_y_origin	int
-    font	long
-    subwindow_mode	int
-    graphics_exposures	Bool
-    clip_x_origin	int
-    clip_y_origin	int
-    clip_mask	long
-    dash_offset	int
-    dashes	byte
-XImage
-    width	int
-    height	int
-    xoffset	int
-    format	int
-    data	pointer byte
-    byte_order	int
-    bitmap_unit	int
-    bitmap_bit_order	int
-    bitmap_pad	int
-    depth	int
-    bytes_per_line	int
-    bits_per_pixel	int
-    red_mask	long
-    green_mask	long
-    blue_mask	long
-    obdata	pointer
-    f.create_image pointer
-    f.destroy_image pointer
-    f.get_pixel pointer
-    f.put_pixel pointer
-    f.sub_image pointer
-    f.add_pixel pointer
-XIMValuesList
-    count_values	short
-    supported_values	pointer
-XColormapEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    colormap	long
-    new         Bool
-    state	int
-XIMPreeditStateNotifyCallbackStruct
-    state	long
-XCreateWindowEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    parent	long
-    window	long
-    x	int
-    y	int
-    width	int
-    height	int
-    border_width	int
-    override_redirect	Bool
-XConfigureEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    event	long
-    window	long
-    x	int
-    y	int
-    width	int
-    height	int
-    border_width	int
-    above	long
-    override_redirect	Bool
-XFontProp
-    name	long
-    card32	long
-XModifierKeymap
-    max_keypermod	int
-    modifiermap	pointer
-XCirculateRequestEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    parent	long
-    window	long
-    place	int
-XChar2b
-    byte1 byte
-    byte2 byte
-XTextItem16
-    chars       pointer XChar2b
-    nchars	int
-    delta	int
-    font	long
-XOMOrientation
-    num_orientation	int
-    orientation         pointer int
-XGraphicsExposeEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    drawable	long
-    x           int
-    y           int
-    width	int
-    height	int
-    count	int
-    major_code	int
-    minor_code	int
-XFontStruct
-    ext_data            pointer XExtData
-    fid                 long
-    direction           int
-    min_char_or_byte2   int
-    max_char_or_byte2   int
-    min_byte1           int
-    max_byte1           int
-    all_chars_exist	Bool
-    n_properties	int
-    properties          pointer XFontProp
-    min_bounds          struct XCharStruct
-    max_bounds          struct XCharStruct
-    per_char            pointer XCharStruct
-    ascent              int
-    descent             int
-XMapEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    event	long
-    window	long
-    override_redirect	int
-XExposeEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    window	long
-    x	int
-    y	int
-    width	int
-    height	int
-    count	int
-
-XFontSetExtents
-    max_ink_extent struct XRectangle
-    max_logical_extent struct XRectangle
-
-XUnmapEvent
-    type	int
-    serial	long
-    send_event  Bool
-    display     long
-    event	long
-    window	long
-    from_configure	Bool
-PropMwmHints
-    flags       long
-    functions   long
-    decorations long
-    inputMode   long
-    status      long
-XPixmapFormatValues
-    depth int
-    bits_per_pixel int
-    scanline_pad int
-awtImageData
-    Depth int
-    wsImageFormat struct XPixmapFormatValues
-    clrdata pointer
-    convert array pointer 32
-ColorEntry
-    r byte
-    g byte
-    b byte
-    flags byte
-ColorData
-    awt_Colors pointer ColorEntry
-    awt_numICMcolors int
-    awt_icmLUT pointer int
-    awt_icmLUT2Colors pointer byte
-    img_grays pointer byte
-    img_clr_tbl pointer byte
-    img_oda_red pointer byte
-    img_oda_green pointer byte
-    img_oda_blue pointer byte
-    pGrayInverseLutData pointer int
-    screendata int
-
-AwtGraphicsConfigData
-    awt_depth int
-    awt_cmap long
-    awt_visInfo struct XVisualInfo
-    awt_num_colors int
-    awtImage pointer awtImageData
-    AwtColorMatch pointer
-    monoImage pointer
-    monoPixmap long
-    monoPixmapWidth int
-    monoPixmapHeight int
-    monoPixmapGC long
-    pixelStride int
-    color_data pointer ColorData
-    glxInfo pointer
-    isTranslucencySupported int
-    renderPictFormat struct XRenderPictFormat
-
-AwtScreenData
-    numConfigs int
-    root long
-    whitepixel long
-    blackpixel long
-    defaultConfig pointer AwtGraphicsConfigData
-    configs pointer      // AwtGraphicsConfigDataPtr *configs;
-
-XdbeSwapInfo
-    swap_window long
-    swap_action int
-
-XEvent
-   type int
-   xany struct XAnyEvent
-   xkey struct XKeyEvent
-   xbutton struct XButtonEvent
-   xmotion struct XMotionEvent
-   xcrossing struct XCrossingEvent
-   xfocus struct XFocusChangeEvent
-   xexpose struct XExposeEvent
-   xgraphicsexpose struct XGraphicsExposeEvent
-   xnoexpose struct XNoExposeEvent
-   xvisibility struct XVisibilityEvent
-   xcreatewindow struct XCreateWindowEvent
-   xdestroywindow struct XDestroyWindowEvent
-   xunmap struct XUnmapEvent
-   xmap struct XMapEvent
-   xmaprequest struct XMapRequestEvent
-   xreparent struct XReparentEvent
-   xconfigure struct XConfigureEvent
-   xgravity struct XGravityEvent
-   xresizerequest struct XResizeRequestEvent
-   xconfigurerequest struct XConfigureRequestEvent
-   xcirculate struct XCirculateEvent
-   xcirculaterequest struct XCirculateRequestEvent
-   xproperty struct XPropertyEvent
-   xselectionclear struct XSelectionClearEvent
-   xselectionrequest struct XSelectionRequestEvent
-   xselection struct XSelectionEvent
-   xcolormap struct XColormapEvent
-   xclient struct XClientMessageEvent
-   xmapping struct XMappingEvent
-   xerror struct XErrorEvent
-   xkeymap struct XKeymapEvent
-   pad array long 24
-
-XkbAnyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-
-XkbNewKeyboardNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    old_device  int
-    min_key_code  int
-    max_key_code  int
-    old_min_key_code  int
-    old_max_key_code  int
-    changed  int
-    req_major  byte
-    req_minor  byte
-
-XkbMapNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    changed  int
-    flags  int
-    first_type  int
-    num_types  int
-    min_key_code  int
-    max_key_code  int
-    first_key_sym  int
-    first_key_act  int
-    first_key_behavior  int
-    first_key_explicit  int
-    first_modmap_key  int
-    first_vmodmap_key  int
-    num_key_syms  int
-    num_key_acts  int
-    num_key_behaviors  int
-    num_key_explicit  int
-    num_modmap_keys  int
-    num_vmodmap_keys  int
-    vmods  int
-
-XkbStateNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    changed  int
-    group  int
-    base_group  int
-    latched_group  int
-    locked_group  int
-    mods  int
-    base_mods  int
-    latched_mods  int
-    locked_mods  int
-    compat_state  int
-    grab_mods  byte
-    compat_grab_mods  byte
-    lookup_mods  byte
-    compat_lookup_mods  byte
-    ptr_buttons  int
-    keycode  int
-    event_type  byte
-    req_major  byte
-    req_minor  byte
-
-XkbControlsNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    changed_ctrls  int
-    enabled_ctrls  int
-    enabled_ctrl_changes  int
-    num_groups  int
-    keycode  int
-    event_type  byte
-    req_major  byte
-    req_minor  byte
-
-XkbIndicatorNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    changed  int
-    state  int
-
-XkbNamesNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    changed  int
-    first_type  int
-    num_types  int
-    first_lvl  int
-    num_lvls  int
-    num_aliases  int
-    num_radio_groups  int
-    changed_vmods  int
-    changed_groups  int
-    changed_indicators  int
-    first_key  int
-    num_keys  int
-
-
-XkbCompatMapNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    changed_groups  int
-    first_si  int
-    num_si  int
-    num_total_si  int
-
-XkbBellNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    percent  int
-    pitch  int
-    duration  int
-    bell_class  int
-    bell_id  int
-    name  Atom
-    window  long
-    event_only  Bool
-
-XkbActionMessageEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    keycode  int
-    press  Bool
-    key_event_follows  Bool
-    group  int
-    mods  int
-    message array byte 7 //XkbActionMessageLength+1
-
-XkbAccessXNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    detail  int
-    keycode  int
-    sk_delay  int
-    debounce_delay  int
-
-XkbExtensionDeviceNotifyEvent
-    type  int
-    serial  ulong
-    send_event  Bool
-    display  long
-    time  ulong
-    xkb_type  int
-    device  int
-    reason  int
-    supported  int
-    unsupported  int
-    first_btn  int
-    num_btns  int
-    leds_defined  int
-    led_state  int
-    led_class  int
-    led_id  int
-
-XkbEvent
-    type  int
-    any  struct XkbAnyEvent
-    new_kbd  struct XkbNewKeyboardNotifyEvent
-    map  struct XkbMapNotifyEvent
-    state  struct XkbStateNotifyEvent
-    ctrls  struct XkbControlsNotifyEvent
-    indicators  struct XkbIndicatorNotifyEvent
-    names  struct XkbNamesNotifyEvent
-    compat  struct XkbCompatMapNotifyEvent
-    bell  struct XkbBellNotifyEvent
-    message  struct XkbActionMessageEvent
-    accessx  struct XkbAccessXNotifyEvent
-    device  struct XkbExtensionDeviceNotifyEvent
-    core  struct XEvent
--- a/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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');
--- a/jdk/src/solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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;
 }
--- a/jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
- * 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
- * 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 <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/acl.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-/**
- * Generates sun.nio.fs.SolarisConstants
- */
-
-static void out(char* s) {
-    printf("%s\n", s);
-}
-
-static void emit(char* name, int value) {
-    printf("    static final int %s = %d;\n", name, value);
-}
-
-static void emitX(char* name, int value) {
-    printf("    static final int %s = 0x%x;\n", name, value);
-}
-
-#define DEF(X) emit(#X, X);
-#define DEFX(X) emitX(#X, X);
-
-int main(int argc, const char* argv[]) {
-    out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT                                  ");
-    out("package sun.nio.fs;                                                            ");
-    out("class SolarisConstants {                                                       ");
-    out("    private SolarisConstants() { }                                             ");
-
-    // extended attributes
-    DEFX(O_XATTR);
-    DEF(_PC_XATTR_ENABLED);
-
-    // ACL configuration
-    DEF(_PC_ACL_ENABLED);
-    DEFX(_ACL_ACE_ENABLED);
-
-    // ACL commands
-    DEFX(ACE_GETACL);
-    DEFX(ACE_SETACL);
-
-    // ACL mask/flags/types
-    emitX("ACE_ACCESS_ALLOWED_ACE_TYPE",        0x0000);
-    emitX("ACE_ACCESS_DENIED_ACE_TYPE",         0x0001);
-    emitX("ACE_SYSTEM_AUDIT_ACE_TYPE",          0x0002);
-    emitX("ACE_SYSTEM_ALARM_ACE_TYPE",          0x0003);
-    emitX("ACE_READ_DATA",                      0x00000001);
-    emitX("ACE_LIST_DIRECTORY",                 0x00000001);
-    emitX("ACE_WRITE_DATA",                     0x00000002);
-    emitX("ACE_ADD_FILE",                       0x00000002);
-    emitX("ACE_APPEND_DATA",                    0x00000004);
-    emitX("ACE_ADD_SUBDIRECTORY",               0x00000004);
-    emitX("ACE_READ_NAMED_ATTRS",               0x00000008);
-    emitX("ACE_WRITE_NAMED_ATTRS",              0x00000010);
-    emitX("ACE_EXECUTE",                        0x00000020);
-    emitX("ACE_DELETE_CHILD",                   0x00000040);
-    emitX("ACE_READ_ATTRIBUTES",                0x00000080);
-    emitX("ACE_WRITE_ATTRIBUTES",               0x00000100);
-    emitX("ACE_DELETE",                         0x00010000);
-    emitX("ACE_READ_ACL",                       0x00020000);
-    emitX("ACE_WRITE_ACL",                      0x00040000);
-    emitX("ACE_WRITE_OWNER",                    0x00080000);
-    emitX("ACE_SYNCHRONIZE",                    0x00100000);
-    emitX("ACE_FILE_INHERIT_ACE",               0x0001);
-    emitX("ACE_DIRECTORY_INHERIT_ACE",          0x0002);
-    emitX("ACE_NO_PROPAGATE_INHERIT_ACE",       0x0004);
-    emitX("ACE_INHERIT_ONLY_ACE",               0x0008);
-    emitX("ACE_SUCCESSFUL_ACCESS_ACE_FLAG",     0x0010);
-    emitX("ACE_FAILED_ACCESS_ACE_FLAG",         0x0020);
-    emitX("ACE_IDENTIFIER_GROUP",               0x0040);
-    emitX("ACE_OWNER",                          0x1000);
-    emitX("ACE_GROUP",                          0x2000);
-    emitX("ACE_EVERYONE",                       0x4000);
-
-    out("}                                                                              ");
-    return 0;
-}
--- a/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
- * 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
- * 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 <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-/**
- * Generates sun.nio.fs.UnixConstants
- */
-
-static void out(char* s) {
-    printf("%s\n", s);
-}
-
-static void emit(char* name, int value) {
-    printf("    static final int %s = %d;\n", name, value);
-}
-
-static void emitX(char* name, int value) {
-    printf("    static final int %s = 0x%x;\n", name, value);
-}
-
-#define DEF(X) emit(#X, X);
-#define DEFX(X) emitX(#X, X);
-
-int main(int argc, const char* argv[]) {
-    out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT                                  ");
-    out("package sun.nio.fs;                                                            ");
-    out("class UnixConstants {                                                          ");
-    out("    private UnixConstants() { }                                                ");
-
-    // open flags
-    DEF(O_RDONLY);
-    DEF(O_WRONLY);
-    DEF(O_RDWR);
-    DEFX(O_APPEND);
-    DEFX(O_CREAT);
-    DEFX(O_EXCL);
-    DEFX(O_TRUNC);
-    DEFX(O_SYNC);
-#ifndef O_DSYNC
-    // At least FreeBSD doesn't define O_DSYNC
-    emit("O_DSYNC", O_SYNC);
-#else
-    DEFX(O_DSYNC);
-#endif
-#ifdef O_NOFOLLOW
-    DEFX(O_NOFOLLOW);
-#else
-    // not supported (dummy values will not be used at runtime).
-    emitX("O_NOFOLLOW", 0x0);
-#endif
-
-    // mode masks
-    emitX("S_IAMB",
-         (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH));
-    DEF(S_IRUSR);
-    DEF(S_IWUSR);
-    DEF(S_IXUSR);
-    DEF(S_IRGRP);
-    DEF(S_IWGRP);
-    DEF(S_IXGRP);
-    DEF(S_IROTH);
-    DEF(S_IWOTH);
-    DEF(S_IXOTH);
-    DEFX(S_IFMT);
-    DEFX(S_IFREG);
-    DEFX(S_IFDIR);
-    DEFX(S_IFLNK);
-    DEFX(S_IFCHR);
-    DEFX(S_IFBLK);
-    DEFX(S_IFIFO);
-
-    // access modes
-    DEF(R_OK);
-    DEF(W_OK);
-    DEF(X_OK);
-    DEF(F_OK);
-
-    // errors
-    DEF(ENOENT);
-    DEF(EACCES);
-    DEF(EEXIST);
-    DEF(ENOTDIR);
-    DEF(EINVAL);
-    DEF(EXDEV);
-    DEF(EISDIR);
-    DEF(ENOTEMPTY);
-    DEF(ENOSPC);
-    DEF(EAGAIN);
-    DEF(ENOSYS);
-    DEF(ELOOP);
-    DEF(EROFS);
-#ifndef ENODATA
-    // Only used in Linux java source, provide any value so it compiles
-    emit("ENODATA", ELAST);
-#else
-    DEF(ENODATA);
-#endif
-    DEF(ERANGE);
-    DEF(EMFILE);
-
-    // flags used with openat/unlinkat/etc.
-#if defined(AT_SYMLINK_NOFOLLOW) && defined(AT_REMOVEDIR)
-    DEFX(AT_SYMLINK_NOFOLLOW)
-    DEFX(AT_REMOVEDIR);
-#else
-    // not supported (dummy values will not be used at runtime).
-    emitX("AT_SYMLINK_NOFOLLOW", 0x0);
-    emitX("AT_REMOVEDIR", 0x0);
-#endif
-
-    out("}                                                                              ");
-
-    return 0;
-}
--- a/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
--- a/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/src/windows/native/common/jdk_util_md.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/windows/native/common/jdk_util_md.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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, "\\");
--- a/jdk/src/windows/native/java/io/WinNTFileSystem_md.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/windows/native/java/io/WinNTFileSystem_md.c	Thu Feb 20 16:27:08 2014 -0800
@@ -360,7 +360,6 @@
                                                   jobject file)
 {
     jint rv = 0;
-    jint pathlen;
 
     WCHAR *pathbuf = fileToNTPath(env, file, ids.path);
     if (pathbuf == NULL)
--- a/jdk/src/windows/native/java/lang/ProcessImpl_md.c	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/src/windows/native/java/lang/ProcessImpl_md.c	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
--- a/jdk/test/com/sun/corba/5036554/TestCorbaBug.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/com/sun/corba/5036554/TestCorbaBug.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/com/sun/jndi/dns/Parser.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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;
+        }
+    }
+}
--- a/jdk/test/com/sun/net/httpserver/bugs/6725892/Test.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/com/sun/net/httpserver/bugs/6725892/Test.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
--- a/jdk/test/demo/jvmti/hprof/CpuOldTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/CpuOldTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/CpuSamplesTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/CpuSamplesTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/CpuTimesDefineClassTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/CpuTimesDefineClassTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/CpuTimesTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/CpuTimesTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/HeapAllTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/HeapAllTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/HeapBinaryFormatTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/HeapBinaryFormatTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/HeapDumpTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/HeapDumpTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/HeapSitesTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/HeapSitesTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/MonitorTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/MonitorTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/OptionsTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/OptionsTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/demo/jvmti/hprof/StackMapTableTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/demo/jvmti/hprof/StackMapTableTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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 */
--- a/jdk/test/java/awt/FontClass/CreateFont/DeleteFont.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/awt/FontClass/CreateFont/DeleteFont.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/test/java/awt/JAWT/JAWT.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/awt/JAWT/JAWT.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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 $?
 
--- a/jdk/test/java/awt/PrintJob/Text/stringwidth.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/awt/PrintJob/Text/stringwidth.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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,
--- a/jdk/test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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}"
--- a/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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=$?
--- a/jdk/test/java/net/Authenticator/B4769350.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/net/Authenticator/B4769350.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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();
 
--- a/jdk/test/java/net/URLPermission/nstest/lookup.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/net/URLPermission/nstest/lookup.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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}
--- a/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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
 }
 
--- a/jdk/test/java/rmi/MarshalledObject/compare/NullReference.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/rmi/MarshalledObject/compare/NullReference.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/rmi/activation/Activatable/shutdownGracefully/ShutdownGracefully.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
-        }
-
-        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;
+        } catch (Exception e) {
+            System.err.println("Exception thrown:" + e);
+            exception = e;
+        } finally {
+            if (rmid != null)
+                rmid.destroy();
         }
-        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());
     }
 }
--- a/jdk/test/java/rmi/server/Unmarshal/PrimitiveClasses.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/rmi/server/Unmarshal/PrimitiveClasses.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
  */
 
--- a/jdk/test/java/rmi/testlibrary/JavaVM.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/rmi/testlibrary/JavaVM.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
@@ -173,6 +174,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 {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/security/cert/CertPathBuilder/akiExt/AKISerialNumber.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
+    }
+}
--- a/jdk/test/java/util/Locale/LocaleProviders.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/util/Locale/LocaleProviders.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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]);
+        }
+    }
 }
--- a/jdk/test/java/util/Locale/LocaleProviders.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/util/Locale/LocaleProviders.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/test/java/util/regex/RegExTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/java/util/regex/RegExTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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.*;
--- a/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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=$?
--- a/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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=$?
--- a/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/test/javax/print/PrintSE/PrintSE.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/javax/print/PrintSE/PrintSE.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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 $?
--- a/jdk/test/javax/rmi/ssl/SocketFactoryTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/javax/rmi/ssl/SocketFactoryTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1097Test.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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());
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1243Test.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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());
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/CalendarDuration1416Test.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
+    }
+}
Binary file jdk/test/javax/xml/jaxp/datatype/8033980/JDK6_Duration.ser has changed
Binary file jdk/test/javax/xml/jaxp/datatype/8033980/JDK6_XMLGregorianCalendar.ser has changed
Binary file jdk/test/javax/xml/jaxp/datatype/8033980/JDK7_Duration.ser has changed
Binary file jdk/test/javax/xml/jaxp/datatype/8033980/JDK7_XMLGregorianCalendar.ser has changed
Binary file jdk/test/javax/xml/jaxp/datatype/8033980/JDK8_Duration.ser has changed
Binary file jdk/test/javax/xml/jaxp/datatype/8033980/JDK8_XMLGregorianCalendar.ser has changed
Binary file jdk/test/javax/xml/jaxp/datatype/8033980/JDK9_Duration.ser has changed
Binary file jdk/test/javax/xml/jaxp/datatype/8033980/JDK9_XMLGregorianCalendar.ser has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/xml/jaxp/datatype/8033980/SerializationTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/xml/jaxp/parsers/8027359/FragmentScannerBufferLimitTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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) + " ... ]");
+        }
+    }
+}
--- a/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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!"
--- a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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;
@@ -255,26 +256,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 +369,7 @@
         ));
         pbArgs.addAll(Arrays.asList(args));
         pbArgs.add("JMXStartStopDoSomething");
+
         ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
             pbArgs.toArray(new String[pbArgs.size()])
         );
@@ -596,14 +595,16 @@
             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.port=" + ss.getLocalPort(),
                 "jmxremote.rmi.port=" + port2,
                 "jmxremote.authenticate=false",
                 "jmxremote.ssl=false");
@@ -616,7 +617,7 @@
                                     "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 +628,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 ****");
 
@@ -654,7 +655,7 @@
         // 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 ****");
 
@@ -690,7 +691,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 ****");
 
@@ -725,7 +726,7 @@
         // 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 ****");
 
@@ -800,7 +801,7 @@
         // 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 ****");
 
         String agent = TEST_JDK + "/jre/lib/management-agent.jar";
         if (!new File(agent).exists()) {
--- a/jdk/test/sun/misc/ClassLoaderUtil/Test.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -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");
-        }
-    }
-}
--- a/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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,
--- a/jdk/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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
--- a/jdk/test/sun/rmi/log/ReliableLog/SnapshotSize.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/rmi/log/ReliableLog/SnapshotSize.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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;
--- a/jdk/test/sun/rmi/rmic/classpath/RMICClassPathTest.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/rmi/rmic/classpath/RMICClassPathTest.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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();
 
--- a/jdk/test/sun/security/krb5/ConfPlusProp.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
- * 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
- * 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 6857795
- * @bug 6858589
- * @bug 6972005
- * @compile -XDignore.symbol.file ConfPlusProp.java
- * @run main/othervm ConfPlusProp
- * @summary krb5.conf ignored if system properties on realm and kdc are provided
- */
-
-import sun.security.krb5.Config;
-
-public class ConfPlusProp {
-    Config config;
-    public static void main(String[] args) throws Exception {
-        new ConfPlusProp().run();
-    }
-
-    void refresh() throws Exception {
-        Config.refresh();
-        config = Config.getInstance();
-    }
-
-    void checkDefaultRealm(String r) throws Exception {
-        try {
-            if (!config.getDefaultRealm().equals(r)) {
-                throw new AssertionError("Default realm error");
-            }
-        } catch (Exception e) {
-            if (r != null) throw e;
-        }
-    }
-
-    void check(String r, String k) throws Exception {
-        try {
-            if (!config.getKDCList(r).equals(k)) {
-                throw new AssertionError(r + " kdc not " + k);
-            }
-        } catch (Exception e) {
-            if (k != null) throw e;
-        }
-    }
-
-    void run() throws Exception {
-
-        // No prop, only conf
-
-        // Point to a file with existing default_realm
-        System.setProperty("java.security.krb5.conf",
-                System.getProperty("test.src", ".") +"/confplusprop.conf");
-        refresh();
-
-        checkDefaultRealm("R1");
-        check("R1", "k1");
-        check("R2", "old");
-        check("R3", null);
-        if (!config.get("libdefaults", "forwardable").equals("well")) {
-            throw new Exception("Extra config error");
-        }
-
-        // Point to a file with no libdefaults
-        System.setProperty("java.security.krb5.conf",
-                System.getProperty("test.src", ".") +"/confplusprop2.conf");
-        refresh();
-
-        checkDefaultRealm(null);
-        check("R1", "k12");
-        check("R2", "old");
-        check("R3", null);
-
-        int version = System.getProperty("java.version").charAt(2) - '0';
-        System.out.println("JDK version is " + version);
-
-        // Zero-config is supported since 1.7
-        if (version >= 7) {
-            // Point to a non-existing file
-            System.setProperty("java.security.krb5.conf", "i-am-not-a file");
-            refresh();
-
-            // Default realm might come from DNS
-            //checkDefaultRealm(null);
-            check("R1", null);
-            check("R2", null);
-            check("R3", null);
-            if (config.get("libdefaults", "forwardable") != null) {
-                throw new Exception("Extra config error");
-            }
-        }
-
-        // Add prop
-        System.setProperty("java.security.krb5.realm", "R2");
-        System.setProperty("java.security.krb5.kdc", "k2");
-
-        // Point to a file with existing default_realm
-        System.setProperty("java.security.krb5.conf",
-                System.getProperty("test.src", ".") +"/confplusprop.conf");
-        refresh();
-
-        checkDefaultRealm("R2");
-        check("R1", "k1");
-        check("R2", "k2");
-        check("R3", "k2");
-        if (!config.get("libdefaults", "forwardable").equals("well")) {
-            throw new Exception("Extra config error");
-        }
-
-        // Point to a file with no libdefaults
-        System.setProperty("java.security.krb5.conf",
-                System.getProperty("test.src", ".") +"/confplusprop2.conf");
-        refresh();
-
-        checkDefaultRealm("R2");
-        check("R1", "k12");
-        check("R2", "k2");
-        check("R3", "k2");
-
-        // Point to a non-existing file
-        System.setProperty("java.security.krb5.conf", "i-am-not-a file");
-        refresh();
-
-        checkDefaultRealm("R2");
-        check("R1", "k2");
-        check("R2", "k2");
-        check("R3", "k2");
-        if (config.get("libdefaults", "forwardable") != null) {
-            throw new Exception("Extra config error");
-        }
-    }
-}
--- a/jdk/test/sun/security/krb5/ConfigWithQuotations.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * 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
- * 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 6714845
- * @run main/othervm ConfigWithQuotations
- * @summary Quotes in Kerberos configuration file are included in the values
- */
-
-import sun.security.krb5.Config;
-
-public class ConfigWithQuotations {
-    public static void main(String[] args) throws Exception {
-        // This config file is generated using Kerberos.app on a Mac
-        System.setProperty("java.security.krb5.conf",
-                System.getProperty("test.src", ".") +"/edu.mit.Kerberos");
-        Config config = Config.getInstance();
-
-        System.out.println(config);
-
-        if (!config.getDefaultRealm().equals("MAC.LOCAL")) {
-            throw new Exception("Realm error");
-        }
-        if (!config.getKDCList("MAC.LOCAL").equals("kdc.mac.local:88")) {
-            throw new Exception("KDC error");
-        }
-    }
-}
--- a/jdk/test/sun/security/krb5/DnsFallback.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
- * 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
- * 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 6673164
- * @bug 6552334
- * @run main/othervm DnsFallback
- * @summary fix dns_fallback parse error, and use dns by default
- */
-
-import java.io.*;
-import java.lang.reflect.Method;
-import sun.security.krb5.Config;
-
-public class DnsFallback {
-
-    static Method useDNS_Realm;
-
-    public static void main(String[] args) throws Exception {
-
-        useDNS_Realm = Config.class.getDeclaredMethod("useDNS_Realm");
-        useDNS_Realm.setAccessible(true);
-
-
-        // for 6673164
-        check("true", "true", true);
-        check("false", "true", false);
-        check("true", "false", true);
-        check("false", "false", false);
-        check("true", null, true);
-        check("false", null, false);
-        check(null, "true", true);
-        check(null, "false", false);
-
-        // for 6552334
-        check(null, null, true);
-    }
-
-    static void check(String realm, String fallback, boolean output)
-            throws Exception {
-
-        try (PrintStream ps =
-                new PrintStream(new FileOutputStream("dnsfallback.conf"))) {
-            ps.println("[libdefaults]\n");
-            if (realm != null) {
-                ps.println("dns_lookup_realm=" + realm);
-            }
-            if (fallback != null) {
-                ps.println("dns_fallback=" + fallback);
-            }
-        }
-
-        System.setProperty("java.security.krb5.conf", "dnsfallback.conf");
-        Config.refresh();
-        System.out.println("Testing " + realm + ", " + fallback + ", " + output);
-
-        if (!useDNS_Realm.invoke(Config.getInstance()).equals(output)) {
-            throw new Exception("Fail");
-        }
-    }
-}
-
--- a/jdk/test/sun/security/krb5/ParseCAPaths.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
- * 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
- * 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 6789935 8012615
- * @run main/othervm ParseCAPaths
- * @summary cross-realm capath search error
- */
-
-import java.util.Arrays;
-import sun.security.krb5.Realm;
-
-public class ParseCAPaths {
-    static Exception failed = null;
-    public static void main(String[] args) throws Exception {
-        System.setProperty("java.security.krb5.conf",
-                System.getProperty("test.src", ".") +"/krb5-capaths.conf");
-
-        // MIT
-        check("ANL.GOV", "TEST.ANL.GOV", "ANL.GOV");
-        check("ANL.GOV", "ES.NET", "ANL.GOV");
-        check("ANL.GOV", "PNL.GOV", "ANL.GOV", "ES.NET");
-        check("ANL.GOV", "NERSC.GOV", "ANL.GOV", "ES.NET");
-        check("NERSC.GOV", "TEST.ANL.GOV", "NERSC.GOV", "ES.NET", "ANL.GOV");
-
-        // RedHat
-        // 3.6.2.1. Configuring a Shared Hierarchy of Names
-        check("AA.EXAMPLE.COM", "BB.EXAMPLE.COM",
-                "AA.EXAMPLE.COM", "EXAMPLE.COM");
-        check("SITE1.SALES.EXAMPLE.COM", "EVERYWHERE.EXAMPLE.COM",
-                "SITE1.SALES.EXAMPLE.COM", "SALES.EXAMPLE.COM",
-                "EXAMPLE.COM");
-        check("DEVEL.EXAMPLE.COM", "PROD.EXAMPLE.ORG",
-                "DEVEL.EXAMPLE.COM", "EXAMPLE.COM", "COM",
-                "ORG", "EXAMPLE.ORG");
-        // 3.6.2.2. Configuring Paths in krb5.conf
-        check("A.EXAMPLE.COM", "B.EXAMPLE.COM", "A.EXAMPLE.COM");
-        check("A.EXAMPLE.COM", "C.EXAMPLE.COM",
-                "A.EXAMPLE.COM", "B.EXAMPLE.COM");
-        check("A.EXAMPLE.COM", "D.EXAMPLE.COM",
-                "A.EXAMPLE.COM", "B.EXAMPLE.COM", "C.EXAMPLE.COM");
-
-        // The original JDK example
-        check("TIVOLI.COM", "IBM.COM", "TIVOLI.COM", "LDAPCENTRAL.NET",
-            "IBM_LDAPCENTRAL.COM", "MOONLITE.ORG");
-
-        // Hierachical
-        check("N1.N.COM", "N2.N.COM", "N1.N.COM", "N.COM");
-        check("N1.N.COM", "N2.N3.COM", "N1.N.COM", "N.COM",
-                "COM", "N3.COM");
-        check("N1.COM", "N2.COM", "N1.COM", "COM");
-        check("N1", "N2", "N1");
-        check("N1.COM", "N2.ORG", "N1.COM", "COM", "ORG");
-        check("N1.N.COM", "N.COM", "N1.N.COM");
-        check("X.N1.N.COM", "N.COM", "X.N1.N.COM", "N1.N.COM");
-        check("N.COM", "N1.N.COM", "N.COM");
-        check("N.COM", "X.N1.N.COM", "N.COM", "N1.N.COM");
-        check("A.B.C", "D.E.F", "A.B.C", "B.C", "C", "F", "E.F");
-
-        // Full path
-        check("A1.COM", "A2.COM", "A1.COM");
-        check("A1.COM", "A3.COM", "A1.COM", "A2.COM");
-        check("A1.COM", "A4.COM", "A1.COM", "A2.COM", "A3.COM");
-
-        // Shortest path
-        check("B1.COM", "B2.COM", "B1.COM");
-        check("B1.COM", "B3.COM", "B1.COM", "B2.COM");
-        check("B1.COM", "B4.COM", "B1.COM", "B2.COM", "B3.COM");
-
-        // Missing is "."
-        check("C1.COM", "C2.COM", "C1.COM", "COM");
-        check("C1.COM", "C3.COM", "C1.COM", "C2.COM");
-
-        // cRealm = .
-        check("D1.COM", "D2.COM", "D1.COM");
-
-        // Bad cases
-        check("E1.COM", "E2.COM", "E1.COM");
-        check("E1.COM", "E3.COM", "E1.COM", "E4.COM");
-        check("G1.COM", "G3.COM", "G1.COM", "G2.COM");
-        check("I1.COM", "I4.COM", "I1.COM", "I5.COM");
-
-        // 7019384
-        check("A9.PRAGUE.XXX.CZ", "SERVIS.XXX.CZ",
-                "A9.PRAGUE.XXX.CZ", "PRAGUE.XXX.CZ", "ROOT.XXX.CZ");
-
-        if (failed != null) {
-            throw failed;
-        }
-    }
-
-    static void check(String from, String to, String... paths) {
-        try {
-            check2(from, to, paths);
-        } catch (Exception e) {
-            System.out.println("         " + e.getMessage());
-            failed = e;
-        }
-    }
-
-    static void check2(String from, String to, String... paths)
-            throws Exception {
-        System.out.println(from + " -> " + to);
-        System.out.println("    expected: " + Arrays.toString(paths));
-        String[] result = Realm.getRealmsList(from, to);
-        if (result == null || result.length == 0) {
-            throw new Exception("There is always a valid path.");
-        } else if(result.length != paths.length) {
-            throw new Exception("Length of path not correct");
-        } else {
-            for (int i=0; i<result.length; i++) {
-                if (!result[i].equals(paths[i])) {
-                    System.out.println("    result:   " + Arrays.toString(result));
-                    throw new Exception("Path not same");
-                }
-            }
-        }
-    }
-}
--- a/jdk/test/sun/security/krb5/ParseConfig.java	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * 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
- * 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 6319046
- * @compile -XDignore.symbol.file ParseConfig.java
- * @run main/othervm ParseConfig
- * @summary Problem with parsing krb5.conf
- */
-
-import sun.security.krb5.Config;
-
-public class ParseConfig {
-    public static void main(String[] args) throws Exception {
-        System.setProperty("java.security.krb5.conf", System.getProperty("test.src", ".") +"/krb5.conf");
-        Config config = Config.getInstance();
-        config.listTable();
-
-        String sample = "kdc.example.com kdc2.example.com";
-        for ( int i = 0; i < 4; i++ ) {
-            String expected = config.getAll("realms", "EXAMPLE_" + i + ".COM", "kdc");
-            if (!sample.equals(expected)) {
-                throw new Exception("krb5.conf: unexpected kdc value \"" +
-                        expected + "\"");
-            }
-        }
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/ConfPlusProp.java	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,151 @@
+/*
+ * 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
+ * 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 6857795
+ * @bug 6858589
+ * @bug 6972005
+ * @compile -XDignore.symbol.file ConfPlusProp.java
+ * @run main/othervm ConfPlusProp
+ * @summary krb5.conf ignored if system properties on realm and kdc are provided
+ */
+
+import sun.security.krb5.Config;
+
+public class ConfPlusProp {
+    Config config;
+    public static void main(String[] args) throws Exception {
+        new ConfPlusProp().run();
+    }
+
+    void refresh() throws Exception {
+        Config.refresh();
+        config = Config.getInstance();
+    }
+
+    void checkDefaultRealm(String r) throws Exception {
+        try {
+            if (!config.getDefaultRealm().equals(r)) {
+                throw new AssertionError("Default realm error");
+            }
+        } catch (Exception e) {
+            if (r != null) throw e;
+        }
+    }
+
+    void check(String r, String k) throws Exception {
+        try {
+            if (!config.getKDCList(r).equals(k)) {
+                throw new AssertionError(r + " kdc not " + k);
+            }
+        } catch (Exception e) {
+            if (k != null) throw e;
+        }
+    }
+
+    void run() throws Exception {
+
+        // No prop, only conf
+
+        // Point to a file with existing default_realm
+        System.setProperty("java.security.krb5.conf",
+                System.getProperty("test.src", ".") +"/confplusprop.conf");
+        refresh();
+
+        checkDefaultRealm("R1");
+        check("R1", "k1");
+        check("R2", "old");
+        check("R3", null);
+        if (!config.get("libdefaults", "forwardable").equals("well")) {
+            throw new Exception("Extra config error");
+        }
+
+        // Point to a file with no libdefaults
+        System.setProperty("java.security.krb5.conf",
+                System.getProperty("test.src", ".") +"/confplusprop2.conf");
+        refresh();
+
+        checkDefaultRealm(null);
+        check("R1", "k12");
+        check("R2", "old");
+        check("R3", null);
+
+        int version = System.getProperty("java.version").charAt(2) - '0';
+        System.out.println("JDK version is " + version);
+
+        // Zero-config is supported since 1.7
+        if (version >= 7) {
+            // Point to a non-existing file
+            System.setProperty("java.security.krb5.conf", "i-am-not-a file");
+            refresh();
+
+            // Default realm might come from DNS
+            //checkDefaultRealm(null);
+            check("R1", null);
+            check("R2", null);
+            check("R3", null);
+            if (config.get("libdefaults", "forwardable") != null) {
+                throw new Exception("Extra config error");
+            }
+        }
+
+        // Add prop
+        System.setProperty("java.security.krb5.realm", "R2");
+        System.setProperty("java.security.krb5.kdc", "k2");
+
+        // Point to a file with existing default_realm
+        System.setProperty("java.security.krb5.conf",
+                System.getProperty("test.src", ".") +"/confplusprop.conf");
+        refresh();
+
+        checkDefaultRealm("R2");
+        check("R1", "k1");
+        check("R2", "k2");
+        check("R3", "k2");
+        if (!config.get("libdefaults", "forwardable").equals("well")) {
+            throw new Exception("Extra config error");
+        }
+
+        // Point to a file with no libdefaults
+        System.setProperty("java.security.krb5.conf",
+                System.getProperty("test.src", ".") +"/confplusprop2.conf");
+        refresh();
+
+        checkDefaultRealm("R2");
+        check("R1", "k12");
+        check("R2", "k2");
+        check("R3", "k2");
+
+        // Point to a non-existing file
+        System.setProperty("java.security.krb5.conf", "i-am-not-a file");
+        refresh();
+
+        checkDefaultRealm("R2");
+        check("R1", "k2");
+        check("R2", "k2");
+        check("R3", "k2");
+        if (config.get("libdefaults", "forwardable") != null) {
+            throw new Exception("Extra config error");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/ConfigWithQuotations.java	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,48 @@
+/*
+ * 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
+ * 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 6714845
+ * @run main/othervm ConfigWithQuotations
+ * @summary Quotes in Kerberos configuration file are included in the values
+ */
+
+import sun.security.krb5.Config;
+
+public class ConfigWithQuotations {
+    public static void main(String[] args) throws Exception {
+        // This config file is generated using Kerberos.app on a Mac
+        System.setProperty("java.security.krb5.conf",
+                System.getProperty("test.src", ".") +"/edu.mit.Kerberos");
+        Config config = Config.getInstance();
+
+        System.out.println(config);
+
+        if (!config.getDefaultRealm().equals("MAC.LOCAL")) {
+            throw new Exception("Realm error");
+        }
+        if (!config.getKDCList("MAC.LOCAL").equals("kdc.mac.local:88")) {
+            throw new Exception("KDC error");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/DnsFallback.java	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,82 @@
+/*
+ * 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
+ * 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 6673164
+ * @bug 6552334
+ * @run main/othervm DnsFallback
+ * @summary fix dns_fallback parse error, and use dns by default
+ */
+
+import java.io.*;
+import java.lang.reflect.Method;
+import sun.security.krb5.Config;
+
+public class DnsFallback {
+
+    static Method useDNS_Realm;
+
+    public static void main(String[] args) throws Exception {
+
+        useDNS_Realm = Config.class.getDeclaredMethod("useDNS_Realm");
+        useDNS_Realm.setAccessible(true);
+
+
+        // for 6673164
+        check("true", "true", true);
+        check("false", "true", false);
+        check("true", "false", true);
+        check("false", "false", false);
+        check("true", null, true);
+        check("false", null, false);
+        check(null, "true", true);
+        check(null, "false", false);
+
+        // for 6552334
+        check(null, null, true);
+    }
+
+    static void check(String realm, String fallback, boolean output)
+            throws Exception {
+
+        try (PrintStream ps =
+                new PrintStream(new FileOutputStream("dnsfallback.conf"))) {
+            ps.println("[libdefaults]\n");
+            if (realm != null) {
+                ps.println("dns_lookup_realm=" + realm);
+            }
+            if (fallback != null) {
+                ps.println("dns_fallback=" + fallback);
+            }
+        }
+
+        System.setProperty("java.security.krb5.conf", "dnsfallback.conf");
+        Config.refresh();
+        System.out.println("Testing " + realm + ", " + fallback + ", " + output);
+
+        if (!useDNS_Realm.invoke(Config.getInstance()).equals(output)) {
+            throw new Exception("Fail");
+        }
+    }
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/ParseCAPaths.java	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,139 @@
+/*
+ * 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
+ * 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 6789935 8012615
+ * @run main/othervm ParseCAPaths
+ * @summary cross-realm capath search error
+ */
+
+import java.util.Arrays;
+import sun.security.krb5.Realm;
+
+public class ParseCAPaths {
+    static Exception failed = null;
+    public static void main(String[] args) throws Exception {
+        System.setProperty("java.security.krb5.conf",
+                System.getProperty("test.src", ".") +"/krb5-capaths.conf");
+
+        // MIT
+        check("ANL.GOV", "TEST.ANL.GOV", "ANL.GOV");
+        check("ANL.GOV", "ES.NET", "ANL.GOV");
+        check("ANL.GOV", "PNL.GOV", "ANL.GOV", "ES.NET");
+        check("ANL.GOV", "NERSC.GOV", "ANL.GOV", "ES.NET");
+        check("NERSC.GOV", "TEST.ANL.GOV", "NERSC.GOV", "ES.NET", "ANL.GOV");
+
+        // RedHat
+        // 3.6.2.1. Configuring a Shared Hierarchy of Names
+        check("AA.EXAMPLE.COM", "BB.EXAMPLE.COM",
+                "AA.EXAMPLE.COM", "EXAMPLE.COM");
+        check("SITE1.SALES.EXAMPLE.COM", "EVERYWHERE.EXAMPLE.COM",
+                "SITE1.SALES.EXAMPLE.COM", "SALES.EXAMPLE.COM",
+                "EXAMPLE.COM");
+        check("DEVEL.EXAMPLE.COM", "PROD.EXAMPLE.ORG",
+                "DEVEL.EXAMPLE.COM", "EXAMPLE.COM", "COM",
+                "ORG", "EXAMPLE.ORG");
+        // 3.6.2.2. Configuring Paths in krb5.conf
+        check("A.EXAMPLE.COM", "B.EXAMPLE.COM", "A.EXAMPLE.COM");
+        check("A.EXAMPLE.COM", "C.EXAMPLE.COM",
+                "A.EXAMPLE.COM", "B.EXAMPLE.COM");
+        check("A.EXAMPLE.COM", "D.EXAMPLE.COM",
+                "A.EXAMPLE.COM", "B.EXAMPLE.COM", "C.EXAMPLE.COM");
+
+        // The original JDK example
+        check("TIVOLI.COM", "IBM.COM", "TIVOLI.COM", "LDAPCENTRAL.NET",
+            "IBM_LDAPCENTRAL.COM", "MOONLITE.ORG");
+
+        // Hierachical
+        check("N1.N.COM", "N2.N.COM", "N1.N.COM", "N.COM");
+        check("N1.N.COM", "N2.N3.COM", "N1.N.COM", "N.COM",
+                "COM", "N3.COM");
+        check("N1.COM", "N2.COM", "N1.COM", "COM");
+        check("N1", "N2", "N1");
+        check("N1.COM", "N2.ORG", "N1.COM", "COM", "ORG");
+        check("N1.N.COM", "N.COM", "N1.N.COM");
+        check("X.N1.N.COM", "N.COM", "X.N1.N.COM", "N1.N.COM");
+        check("N.COM", "N1.N.COM", "N.COM");
+        check("N.COM", "X.N1.N.COM", "N.COM", "N1.N.COM");
+        check("A.B.C", "D.E.F", "A.B.C", "B.C", "C", "F", "E.F");
+
+        // Full path
+        check("A1.COM", "A2.COM", "A1.COM");
+        check("A1.COM", "A3.COM", "A1.COM", "A2.COM");
+        check("A1.COM", "A4.COM", "A1.COM", "A2.COM", "A3.COM");
+
+        // Shortest path
+        check("B1.COM", "B2.COM", "B1.COM");
+        check("B1.COM", "B3.COM", "B1.COM", "B2.COM");
+        check("B1.COM", "B4.COM", "B1.COM", "B2.COM", "B3.COM");
+
+        // Missing is "."
+        check("C1.COM", "C2.COM", "C1.COM", "COM");
+        check("C1.COM", "C3.COM", "C1.COM", "C2.COM");
+
+        // cRealm = .
+        check("D1.COM", "D2.COM", "D1.COM");
+
+        // Bad cases
+        check("E1.COM", "E2.COM", "E1.COM");
+        check("E1.COM", "E3.COM", "E1.COM", "E4.COM");
+        check("G1.COM", "G3.COM", "G1.COM", "G2.COM");
+        check("I1.COM", "I4.COM", "I1.COM", "I5.COM");
+
+        // 7019384
+        check("A9.PRAGUE.XXX.CZ", "SERVIS.XXX.CZ",
+                "A9.PRAGUE.XXX.CZ", "PRAGUE.XXX.CZ", "ROOT.XXX.CZ");
+
+        if (failed != null) {
+            throw failed;
+        }
+    }
+
+    static void check(String from, String to, String... paths) {
+        try {
+            check2(from, to, paths);
+        } catch (Exception e) {
+            System.out.println("         " + e.getMessage());
+            failed = e;
+        }
+    }
+
+    static void check2(String from, String to, String... paths)
+            throws Exception {
+        System.out.println(from + " -> " + to);
+        System.out.println("    expected: " + Arrays.toString(paths));
+        String[] result = Realm.getRealmsList(from, to);
+        if (result == null || result.length == 0) {
+            throw new Exception("There is always a valid path.");
+        } else if(result.length != paths.length) {
+            throw new Exception("Length of path not correct");
+        } else {
+            for (int i=0; i<result.length; i++) {
+                if (!result[i].equals(paths[i])) {
+                    System.out.println("    result:   " + Arrays.toString(result));
+                    throw new Exception("Path not same");
+                }
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/ParseConfig.java	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,48 @@
+/*
+ * 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
+ * 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 6319046
+ * @compile -XDignore.symbol.file ParseConfig.java
+ * @run main/othervm ParseConfig
+ * @summary Problem with parsing krb5.conf
+ */
+
+import sun.security.krb5.Config;
+
+public class ParseConfig {
+    public static void main(String[] args) throws Exception {
+        System.setProperty("java.security.krb5.conf", System.getProperty("test.src", ".") +"/krb5.conf");
+        Config config = Config.getInstance();
+        config.listTable();
+
+        String sample = "kdc.example.com kdc2.example.com";
+        for ( int i = 0; i < 4; i++ ) {
+            String expected = config.getAll("realms", "EXAMPLE_" + i + ".COM", "kdc");
+            if (!sample.equals(expected)) {
+                throw new Exception("krb5.conf: unexpected kdc value \"" +
+                        expected + "\"");
+            }
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/confplusprop.conf	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,12 @@
+[libdefaults]
+default_realm = R1
+forwardable = well
+dns_lookup_realm = false
+
+[realms]
+R1 = {
+   kdc = k1
+}
+R2 = {
+   kdc = old
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/confplusprop2.conf	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,10 @@
+[libdefaults]
+dns_lookup_realm = false
+
+[realms]
+R1 = {
+   kdc = k12
+}
+R2 = {
+   kdc = old
+}
--- a/jdk/test/sun/security/krb5/config/dns.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/security/krb5/config/dns.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/edu.mit.Kerberos	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,15 @@
+[domain_realm]
+
+[libdefaults]
+	default_realm = "MAC.LOCAL"
+	dns_fallback = "no"
+
+[logging]
+	admin_server = "FILE:/var/log/krb5kdc/kadmin.log"
+	kdc = "FILE:/var/log/krb5kdc/kdc.log"
+
+[realms]
+	MAC.LOCAL = {
+		kdc = "kdc.mac.local:88"
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/krb5-capaths.conf	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,102 @@
+[capaths]
+
+# http://web.mit.edu/kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/capaths.html
+
+ANL.GOV = {
+    TEST.ANL.GOV = .
+    PNL.GOV = ES.NET
+    NERSC.GOV = ES.NET
+    ES.NET = .
+}
+TEST.ANL.GOV = {
+    ANL.GOV = .
+}
+PNL.GOV = {
+    ANL.GOV = ES.NET
+}
+#NERSC.GOV = {
+#    ANL.GOV = ES.NET
+#}
+ES.NET = {
+    ANL.GOV = .
+}
+NERSC.GOV = {
+    ANL.GOV = ES.NET
+    TEST.ANL.GOV = ES.NET
+    TEST.ANL.GOV = ANL.GOV
+    PNL.GOV = ES.NET
+    ES.NET = .
+}
+
+# The original JDK example
+
+TIVOLI.COM = {
+    IBM.COM = IBM_LDAPCENTRAL.COM MOONLITE.ORG
+    IBM_LDAPCENTRAL.COM = LDAPCENTRAL.NET
+    LDAPCENTRAL.NET = .
+}
+
+# https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Smart_Cards/Setting_Up_Cross_Realm_Authentication.html
+
+A.EXAMPLE.COM = {
+    B.EXAMPLE.COM = .
+    C.EXAMPLE.COM = B.EXAMPLE.COM
+    D.EXAMPLE.COM = B.EXAMPLE.COM
+    D.EXAMPLE.COM = C.EXAMPLE.COM
+}
+
+# Full path
+
+A1.COM = {
+    A2.COM = .
+    A3.COM = A2.COM
+    A4.COM = A2.COM
+    A4.COM = A3.COM
+}
+
+# Shortest path
+
+B1.COM = {
+    B2.COM = .
+    B3.COM = B2.COM
+    B4.COM = B3.COM
+}
+
+# If no sRealm key, fallback to hierarchy
+
+C1.COM = {
+    C3.COM = C2.COM
+}
+
+# cRealm is "."
+
+D1.COM = {
+    D2.COM=D1.COM
+}
+
+# Bad cases
+
+E1.COM = {
+    E2.COM = E2.COM
+    E3.COM = E4.COM
+    E3.COM = .
+}
+
+G1.COM = {
+    G2.COM = G3.COM
+    G3.COM = G2.COM
+}
+
+I1.COM = {
+    I2.COM = I3.COM
+    I3.COM = I2.COM
+    I4.COM = I5.COM
+}
+
+# 7019384
+
+A9.PRAGUE.XXX.CZ = {
+    PRAGUE.XXX.CZ = .
+    ROOT.XXX.CZ = PRAGUE.XXX.CZ
+    SERVIS.XXX.CZ = ROOT.XXX.CZ
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/config/krb5.conf	Thu Feb 20 16:27:08 2014 -0800
@@ -0,0 +1,29 @@
+[realms]
+   EXAMPLE_0.COM = {
+      kdc = kdc.example.com
+      kdc = kdc2.example.com
+   }
+
+   EXAMPLE_1.COM =
+   {
+      kdc = kdc.example.com
+      kdc = kdc2.example.com
+   }
+
+   EXAMPLE_2.COM = {
+	kdc = kdc.example.com
+	kdc = kdc2.example.com
+	inner = {
+		aaa = nnn
+	}
+   }
+
+   EXAMPLE_3.COM = {
+	kdc = kdc.example.com
+	kdc = kdc2.example.com
+	inner =
+	{
+		aaa = nnn
+	}
+   }
+
--- a/jdk/test/sun/security/krb5/confplusprop.conf	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-[libdefaults]
-default_realm = R1
-forwardable = well
-dns_lookup_realm = false
-
-[realms]
-R1 = {
-   kdc = k1
-}
-R2 = {
-   kdc = old
-}
--- a/jdk/test/sun/security/krb5/confplusprop2.conf	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-[libdefaults]
-dns_lookup_realm = false
-
-[realms]
-R1 = {
-   kdc = k12
-}
-R2 = {
-   kdc = old
-}
--- a/jdk/test/sun/security/krb5/edu.mit.Kerberos	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-[domain_realm]
-
-[libdefaults]
-	default_realm = "MAC.LOCAL"
-	dns_fallback = "no"
-
-[logging]
-	admin_server = "FILE:/var/log/krb5kdc/kadmin.log"
-	kdc = "FILE:/var/log/krb5kdc/kdc.log"
-
-[realms]
-	MAC.LOCAL = {
-		kdc = "kdc.mac.local:88"
-	}
-
--- a/jdk/test/sun/security/krb5/krb5-capaths.conf	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-[capaths]
-
-# http://web.mit.edu/kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-admin/capaths.html
-
-ANL.GOV = {
-    TEST.ANL.GOV = .
-    PNL.GOV = ES.NET
-    NERSC.GOV = ES.NET
-    ES.NET = .
-}
-TEST.ANL.GOV = {
-    ANL.GOV = .
-}
-PNL.GOV = {
-    ANL.GOV = ES.NET
-}
-#NERSC.GOV = {
-#    ANL.GOV = ES.NET
-#}
-ES.NET = {
-    ANL.GOV = .
-}
-NERSC.GOV = {
-    ANL.GOV = ES.NET
-    TEST.ANL.GOV = ES.NET
-    TEST.ANL.GOV = ANL.GOV
-    PNL.GOV = ES.NET
-    ES.NET = .
-}
-
-# The original JDK example
-
-TIVOLI.COM = {
-    IBM.COM = IBM_LDAPCENTRAL.COM MOONLITE.ORG
-    IBM_LDAPCENTRAL.COM = LDAPCENTRAL.NET
-    LDAPCENTRAL.NET = .
-}
-
-# https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Smart_Cards/Setting_Up_Cross_Realm_Authentication.html
-
-A.EXAMPLE.COM = {
-    B.EXAMPLE.COM = .
-    C.EXAMPLE.COM = B.EXAMPLE.COM
-    D.EXAMPLE.COM = B.EXAMPLE.COM
-    D.EXAMPLE.COM = C.EXAMPLE.COM
-}
-
-# Full path
-
-A1.COM = {
-    A2.COM = .
-    A3.COM = A2.COM
-    A4.COM = A2.COM
-    A4.COM = A3.COM
-}
-
-# Shortest path
-
-B1.COM = {
-    B2.COM = .
-    B3.COM = B2.COM
-    B4.COM = B3.COM
-}
-
-# If no sRealm key, fallback to hierarchy
-
-C1.COM = {
-    C3.COM = C2.COM
-}
-
-# cRealm is "."
-
-D1.COM = {
-    D2.COM=D1.COM
-}
-
-# Bad cases
-
-E1.COM = {
-    E2.COM = E2.COM
-    E3.COM = E4.COM
-    E3.COM = .
-}
-
-G1.COM = {
-    G2.COM = G3.COM
-    G3.COM = G2.COM
-}
-
-I1.COM = {
-    I2.COM = I3.COM
-    I3.COM = I2.COM
-    I4.COM = I5.COM
-}
-
-# 7019384
-
-A9.PRAGUE.XXX.CZ = {
-    PRAGUE.XXX.CZ = .
-    ROOT.XXX.CZ = PRAGUE.XXX.CZ
-    SERVIS.XXX.CZ = ROOT.XXX.CZ
-}
--- a/jdk/test/sun/security/krb5/krb5.conf	Thu Feb 20 16:23:45 2014 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-[realms]
-   EXAMPLE_0.COM = {
-      kdc = kdc.example.com
-      kdc = kdc2.example.com
-   }
-
-   EXAMPLE_1.COM =
-   {
-      kdc = kdc.example.com
-      kdc = kdc2.example.com
-   }
-
-   EXAMPLE_2.COM = {
-	kdc = kdc.example.com
-	kdc = kdc2.example.com
-	inner = {
-		aaa = nnn
-	}
-   }
-
-   EXAMPLE_3.COM = {
-	kdc = kdc.example.com
-	kdc = kdc2.example.com
-	inner =
-	{
-		aaa = nnn
-	}
-   }
-
--- a/jdk/test/sun/security/tools/keytool/autotest.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/security/tools/keytool/autotest.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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=$?
--- a/jdk/test/sun/tools/jconsole/ResourceCheckTest.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/tools/jconsole/ResourceCheckTest.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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" ];
--- a/jdk/test/sun/tools/native2ascii/NativeErrors.java	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/tools/native2ascii/NativeErrors.java	Thu Feb 20 16:27:08 2014 -0800
@@ -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");
-    }
-
-
-    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();
-        }
-        //System.out.println("received: " + errorReceived);
-        //System.out.println("expected: " + errorExpected);
-        if (!errorReceived.endsWith(errorExpected))
-            throw new RuntimeException("Native2ascii bad arg error broken.");
+        checkResult(executeCmd(path1, path2), "err.cannot.write");
     }
 
-    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;
+    private static String executeCmd(String... toolArgs) throws Throwable {
+        JDKToolLauncher cmd = JDKToolLauncher.createUsingTestJDK("native2ascii");
+        for (String s : toolArgs) {
+            cmd.addToolArg(s);
+        }
+        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();
     }
 
-    /*
-     * 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";
+    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);
         }
-        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);
+        // 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.");
         }
-        return path;
     }
 
 }
--- a/jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh	Thu Feb 20 16:23:45 2014 -0800
+++ b/jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh	Thu Feb 20 16:27:08 2014 -0800
@@ -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" ];