changeset 2814:654318363866

Merge
author yan
date Thu, 14 May 2009 00:17:25 -0700
parents 05d460e4a182 c33e7d38c921
children 871a18365b14
files hotspot/make/jprt.config jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/XSLTProcessorApplet.java jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/package.html jdk/src/share/native/sun/java2d/pipe/RenderBuffer.c
diffstat 360 files changed, 62318 insertions(+), 38384 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Tue May 12 15:21:55 2009 +0900
+++ b/.hgtags	Thu May 14 00:17:25 2009 -0700
@@ -31,3 +31,5 @@
 15096652c4d48dfb9fc0b2cb135304db94c65ba0 jdk7-b54
 c8b275d62d6b0a980c510e839b70292245863e85 jdk7-b55
 a8134c4ee2cf451cf9b5e1609f39d83ecd53acc5 jdk7-b56
+b44f05654c26fcd1f995e712992f9b07ffd7c0c6 jdk7-b57
+d60a9ce3c3eabf28f5d50ae839d18be04a551bc2 jdk7-b58
--- a/.hgtags-top-repo	Tue May 12 15:21:55 2009 +0900
+++ b/.hgtags-top-repo	Thu May 14 00:17:25 2009 -0700
@@ -31,3 +31,5 @@
 2ef382b1bbd58a68e668391c6145a4b2066c5b96 jdk7-b54
 aea0ace7a1e43619800931d42bbf69c579361c2d jdk7-b55
 ba12117a5e6c918578d6b2a8c693232a33289024 jdk7-b56
+ffd09e767dfa6d21466183a400f72cf62d53297f jdk7-b57
+59b497130f82ec809c245ffb5e521e3a5fabf8af jdk7-b58
--- a/corba/.hgtags	Tue May 12 15:21:55 2009 +0900
+++ b/corba/.hgtags	Thu May 14 00:17:25 2009 -0700
@@ -31,3 +31,5 @@
 8130ac858d6789d5853d23044ba4a992afda574a jdk7-b54
 7a869f16ba83060c34b77620406cfa89d1cd7084 jdk7-b55
 553a664b807bb3a3c93f3b5a3c20ff0a90e08371 jdk7-b56
+972c6157fae57850694675da82fd58a17930db0a jdk7-b57
+2e3b8edab3ef55406494d3dd562e06882e6fc15e jdk7-b58
--- a/corba/make/com/sun/corba/se/sources/Makefile	Tue May 12 15:21:55 2009 +0900
+++ b/corba/make/com/sun/corba/se/sources/Makefile	Thu May 14 00:17:25 2009 -0700
@@ -46,6 +46,8 @@
 include $(CORBA_JMK_DIRECTORY)com_sun_corba_se_PortableActivationIDL.jmk
 include $(CORBA_JMK_DIRECTORY)com_sun_corba_se_impl_logging.jmk
 
+FILES_java += com/sun/corba/se/org/omg/CORBA/ORB.java
+
 #
 # Dirs
 #
--- a/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -202,6 +202,10 @@
     private IDLNameTranslatorImpl(Class[] interfaces)
     {
 
+        SecurityManager s = System.getSecurityManager();
+        if (s != null) {
+            s.checkPermission(new DynamicAccessPermission("access"));
+        }
         try {
             IDLTypesUtil idlTypesUtil = new IDLTypesUtil();
             for (int ctr=0; ctr<interfaces.length; ctr++)
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/first.set	Thu May 14 00:17:25 2009 -0700
@@ -1,11 +1,35 @@
+/*
+ * Copyright 1999 Sun Microsystems, Inc.  All Rights Reserved.
+ * 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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
 /*
  *    COMPONENT_NAME:  idl.parser
- *                                                 
+ *
  *    ORIGINS: 27
  *
- *    THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM                        
  *    5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
- *                                        
+ *
  */
 
 CORBA IDL
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/follow.set	Thu May 14 00:17:25 2009 -0700
@@ -1,11 +1,35 @@
+/*
+ * Copyright 1999 Sun Microsystems, Inc.  All Rights Reserved.
+ * 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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
 /*
  *    COMPONENT_NAME:  idl.parser
- *                                                 
+ *
  *    ORIGINS: 27
  *
- *    THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM                        
  *    5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
- *                                        
+ *
  */
 
 CORBA IDL
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar.idl	Thu May 14 00:17:25 2009 -0700
@@ -1,14 +1,38 @@
+/*
+ * Copyright 1999 Sun Microsystems, Inc.  All Rights Reserved.
+ * 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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
 /*
  *    COMPONENT_NAME:  idl.parser
- *                                                 
+ *
  *    ORIGINS: 27
  *
- *    THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM                        
  *    5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
- *                                        
+ *
  */
 
-CORBA 2.3 IDL 
+CORBA 2.3 IDL
 ---------------
 
 (1) <specification>	<definition><specification'>
@@ -83,7 +107,7 @@
 
 (16) <vad>		e
 			<export> <vad>
-		
+
 (17) <value_dcl>	<value_header> "{" <value_element> <ve> "}"
 
 (17) <ve>		e
@@ -91,9 +115,9 @@
 
 (18) <value_header>	"custom" "valuetype" <id> <value_inheritance_spec>
 			"valuetype" <id> <value_inheritance_spec>
-			"custom" "valuetype" <id> 
-			"valuetype" <id> 
-			
+			"custom" "valuetype" <id>
+			"valuetype" <id>
+
 (19) <value_inheritance_spec>	<opt_inherits> <opt_supports>
 
 (19) <opt_inherits>	e
@@ -107,7 +131,7 @@
 			"supports" <interface_name> <interface_name_list>
 
 (19) <interface_name_list>  e
-			"," <interface_name> <interface_name_list> 
+			"," <interface_name> <interface_name_list>
 
 (20) <value_name>	<scoped_name>
 
@@ -121,7 +145,7 @@
 (23) <init_dcl>		"factory" <id> "(" ")"
 			"factory" <id> "(" <init_param_dcls> ")"
 
-(24) <init_param_dcls>	<init_param_decl> 
+(24) <init_param_dcls>	<init_param_decl>
 			<init_param_decl> "," <init_param_dcls>
 
 (25) <init_param_dcl>	<init_param_attribute> <param_type_spec> <simple_declarator>
@@ -349,7 +373,7 @@
 
 (87) <op_dcl''>		e
 			<context_expr>
-			<raises_expr> 
+			<raises_expr>
 			<raises_expr> <context_expr>
 
 (88) <op_attribute>	"oneway"
@@ -386,7 +410,7 @@
 			<wide_string_type>
 			<scoped_name>
 
-(96) <fixed_pt_type>	"fixed" "<" <positive_int_const> "," <positive_int_const> ">" 
+(96) <fixed_pt_type>	"fixed" "<" <positive_int_const> "," <positive_int_const> ">"
 
 (97) <fixed_pt_const_type> "fixed"
 
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/grammar3.idl	Thu May 14 00:17:25 2009 -0700
@@ -1,11 +1,35 @@
+/*
+ * Copyright 1999 Sun Microsystems, Inc.  All Rights Reserved.
+ * 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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
 /*
  *    COMPONENT_NAME:  idl.parser
- *                                                 
+ *
  *    ORIGINS: 27
  *
- *    THIS PRODUCT CONTAINS RESTRICTED MATERIALS OF IBM                        
  *    5639-D57, (C) COPYRIGHT International Business Machines Corp., 1997, 1998
- *                                        
+ *
  */
 
 (1) <specification>	<imports> <definition> <specification'> // CORBA3
@@ -98,7 +122,7 @@
 
 (16) <vad>		e
 			<export> <vad>
-		
+
 (17) <value_dcl>	<value_header> "{" <value_element> <ve> "}"
 
 (17) <ve>		e
@@ -106,9 +130,9 @@
 
 (18) <value_header>	"custom" "valuetype" <id> <value_inheritance_spec>
 			"valuetype" <id> <value_inheritance_spec>
-			"custom" "valuetype" <id> 
-			"valuetype" <id> 
-			
+			"custom" "valuetype" <id>
+			"valuetype" <id>
+
 (19) <value_inheritance_spec>	<opt_inherits> <opt_supports>
 
 (19) <opt_inherits>	e
@@ -122,7 +146,7 @@
 			"supports" <interface_name> <interface_name_list>
 
 (19) <interface_name_list>  e
-			"," <interface_name> <interface_name_list> 
+			"," <interface_name> <interface_name_list>
 
 (20) <value_name>	<scoped_name>
 
@@ -136,7 +160,7 @@
 (23) <init_dcl>		"factory" <id> "(" ")"
 			"factory" <id> "(" <init_param_dcls> ")"
 
-(24) <init_param_dcls>	<init_param_dcl> 
+(24) <init_param_dcls>	<init_param_dcl>
 			<init_param_dcl> "," <init_param_dcls>
 
 (25) <init_param_dcl>	<init_param_attribute> <param_type_spec> <simple_declarator>
@@ -351,7 +375,7 @@
 (85) <readonly_attr_spec>   <readonly_attr_header> <readonly_attr_declarator>	// CORBA3
 
 (85) <readonly_attr_header> "readonly" "attribute" <param_type_spec>	// CORBA3
-			
+
 (85) <readonly_attr_declarator> <simple_declarator> <get_excep_expr>	// CORBA3
 			<simple_declarator> <sds>   // CORBA3
 
@@ -389,7 +413,7 @@
 
 (87) <op_dcl''>		e
 			<context_expr>
-			<raises_expr> 
+			<raises_expr>
 			<raises_expr> <context_expr>
 
 (88) <op_attribute>	"oneway"
@@ -426,7 +450,7 @@
 			<wide_string_type>
 			<scoped_name>
 
-(96) <fixed_pt_type>	"fixed" "<" <positive_int_const> "," <positive_int_const> ">" 
+(96) <fixed_pt_type>	"fixed" "<" <positive_int_const> "," <positive_int_const> ">"
 
 (97) <fixed_pt_const_type> "fixed"
 
@@ -450,7 +474,7 @@
 
 (204) <snames>		e
 			"," <scoped_name> <snames>
-			
+
 (205) <component_inheritance_spec> ":" <scoped_name>
 
 (206) <component_body>	<component_export> <ces>
@@ -458,8 +482,8 @@
 (206) <ces>		e
 			<component_export> <ces>
 
-(207) <component_export>    <provides_dcl> ";" 
-			<uses_dcl> ";" 
+(207) <component_export>    <provides_dcl> ";"
+			<uses_dcl> ";"
 			<emits_dcl> ";"
 			<publishes_dcl> ";"
 			<consumes_dcl> ";"
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl.prp	Thu May 14 00:17:25 2009 -0700
@@ -1,3 +1,28 @@
+#
+# Copyright 1999-2004 Sun Microsystems, Inc.  All Rights Reserved.
+# 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.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
 #
 # COMPONENT_NAME:  idl.parser
 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp	Thu May 14 00:17:25 2009 -0700
@@ -1,3 +1,28 @@
+#
+# Copyright 1999-2005 Sun Microsystems, Inc.  All Rights Reserved.
+# 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.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
 #
 # COMPONENT_NAME:  idl.parser
 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp	Thu May 14 00:17:25 2009 -0700
@@ -1,3 +1,28 @@
+#
+# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# 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.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
 #
 # COMPONENT_NAME:  idl.parser
 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable.prp	Thu May 14 00:17:25 2009 -0700
@@ -1,3 +1,28 @@
+#
+# Copyright 1999-2004 Sun Microsystems, Inc.  All Rights Reserved.
+# 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.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
 #
 # COMPONENT_NAME: idl.toJava
 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp	Thu May 14 00:17:25 2009 -0700
@@ -1,3 +1,28 @@
+#
+# Copyright 2001-2005 Sun Microsystems, Inc.  All Rights Reserved.
+# 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.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
 #
 # COMPONENT_NAME: idl.toJava
 #
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp	Tue May 12 15:21:55 2009 +0900
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp	Thu May 14 00:17:25 2009 -0700
@@ -1,3 +1,28 @@
+#
+# Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
+# 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.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
 #
 # COMPONENT_NAME: idl.toJava
 #
--- a/hotspot/.hgtags	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/.hgtags	Thu May 14 00:17:25 2009 -0700
@@ -31,3 +31,5 @@
 fafab5d5349c7c066d677538db67a1ee0fb33bd2 jdk7-b54
 f8e839c086152da70d6ec5913ba6f9f509282e8d jdk7-b55
 a3fd9e40ff2e854f6169eb6d09d491a28634d04f jdk7-b56
+f4cbf78110c726919f46b59a3b054c54c7e889b4 jdk7-b57
+53d9bf689e80fcc76b221bbe6c5d58e08b80cbc6 jdk7-b58
--- a/hotspot/agent/src/os/linux/Makefile	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/agent/src/os/linux/Makefile	Thu May 14 00:17:25 2009 -0700
@@ -60,6 +60,14 @@
   LFLAGS_LIBSA = -Xlinker --version-script=mapfile
 endif
 
+# If this is a --hash-style=gnu system, use --hash-style=both
+#   The gnu .hash section won't work on some Linux systems like SuSE 10.
+_HAS_HASH_STYLE_GNU:=$(shell $(CC) -dumpspecs | grep -- '--hash-style=gnu')
+ifneq ($(_HAS_HASH_STYLE_GNU),)
+  LDFLAGS_HASH_STYLE = -Wl,--hash-style=both
+endif
+LFLAGS_LIBSA += $(LDFLAGS_HASH_STYLE)
+
 $(LIBSA): $(OBJS) mapfile
 	if [ ! -d $(ARCH) ] ; then mkdir $(ARCH) ; fi
 	$(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS)
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/HotSpotTypeDataBase.java	Thu May 14 00:17:25 2009 -0700
@@ -306,8 +306,6 @@
 
       entryAddr = entryAddr.addOffsetTo(intConstantEntryArrayStride);
     } while (nameAddr != null);
-      String symbol = "heapOopSize"; // global int constant and value is initialized at runtime.
-      addIntConstant(symbol, (int)lookupInProcess(symbol).getCIntegerAt(0, 4, false));
   }
 
   private void readVMLongConstants() {
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Thu May 14 00:17:25 2009 -0700
@@ -318,11 +318,17 @@
     logMinObjAlignmentInBytes = db.lookupIntConstant("LogMinObjAlignmentInBytes").intValue();
     heapWordSize = db.lookupIntConstant("HeapWordSize").intValue();
     oopSize  = db.lookupIntConstant("oopSize").intValue();
-    heapOopSize  = db.lookupIntConstant("heapOopSize").intValue();
 
     intxType = db.lookupType("intx");
     uintxType = db.lookupType("uintx");
     boolType = (CIntegerType) db.lookupType("bool");
+
+    if (isCompressedOopsEnabled()) {
+      // Size info for oops within java objects is fixed
+      heapOopSize = (int)getIntSize();
+    } else {
+      heapOopSize = (int)getOopSize();
+    }
   }
 
   /** This could be used by a reflective runtime system */
@@ -343,13 +349,12 @@
     }
     soleInstance = new VM(db, debugger, debugger.getMachineDescription().isBigEndian());
 
-    debugger.putHeapConst(soleInstance.getHeapOopSize(), Universe.getNarrowOopBase(),
-                          Universe.getNarrowOopShift());
-
     for (Iterator iter = vmInitializedObservers.iterator(); iter.hasNext(); ) {
       ((Observer) iter.next()).update(null, null);
     }
 
+    debugger.putHeapConst(soleInstance.getHeapOopSize(), Universe.getNarrowOopBase(),
+                          Universe.getNarrowOopShift());
   }
 
   /** This is used by the debugging system */
--- a/hotspot/make/hotspot_version	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/make/hotspot_version	Thu May 14 00:17:25 2009 -0700
@@ -35,7 +35,7 @@
 
 HS_MAJOR_VER=16
 HS_MINOR_VER=0
-HS_BUILD_NUMBER=02
+HS_BUILD_NUMBER=03
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=7
--- a/hotspot/make/jprt.config	Tue May 12 15:21:55 2009 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,275 +0,0 @@
-#!echo "This is not a shell script"
-#
-# Copyright 2006-2008 Sun Microsystems, Inc.  All Rights Reserved.
-# 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-# CA 95054 USA or visit www.sun.com if you need additional information or
-# have any questions.
-#  
-#
-
-#############################################################################
-# Error
-error() # message
-{
-  echo "ERROR: $1"
-  exit 6
-}
-# Directory must exist
-dirMustExist() # dir name
-{
-  if [ ! -d "$1" ] ; then
-    error "Directory for $2 does not exist: $1"
-  fi
-}
-# File must exist
-fileMustExist() # dir name
-{
-  if [ ! -f "$1" ] ; then
-    error "File for $2 does not exist: $1"
-  fi
-}
-#############################################################################
-
-# Should be set by JPRT as the 3 basic inputs
-bootdir="${ALT_BOOTDIR}"
-slashjava="${ALT_SLASH_JAVA}"
-jdk_import="${ALT_JDK_IMPORT_PATH}"
-
-# Check input
-dirMustExist "${bootdir}"    ALT_BOOTDIR
-dirMustExist "${slashjava}"  ALT_SLASH_JAVA
-dirMustExist "${jdk_import}" ALT_JDK_IMPORT_PATH
-
-# Uses 'uname -s', but only expect SunOS or Linux, assume Windows otherwise.
-osname=`uname -s`
-if [ "${osname}" = SunOS ] ; then
-   
-    # SOLARIS: Sparc or X86
-    osarch=`uname -p`
-    if [ "${osarch}" = sparc ] ; then
-	solaris_arch=sparc
-    else
-	solaris_arch=i386
-    fi
-
-    if [ "${JPRT_SOLARIS_COMPILER_NAME}" != "" ] ; then
-        compiler_name=${JPRT_SOLARIS_COMPILER_NAME}
-    else
-        if [ "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6"      -o \
-             "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6u10"   -o \
-             "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6u14"   -o \
-             "${JPRT_JOB_PRODUCT_RELEASE}" = "jdk6perf" ] ; then
-            # All jdk6 builds use SS11
-            compiler_name=SS11
-        else
-	    compiler_name=SS12
-        fi
-    fi
-    
-    # Get into path (make sure it matches ALT setting)
-    compiler_path=${slashjava}/devtools/${solaris_arch}/SUNWspro/${compiler_name}/bin
-    dirMustExist "${compiler_path}" COMPILER_PATH
-    path4sdk=${compiler_path}
-
-    # Add basic solaris system paths
-    path4sdk=${path4sdk}:/usr/ccs/bin:/usr/ccs/lib:/usr/bin:/bin:/usr/sfw/bin
-
-    # Get the previous JDK to be used to bootstrap the build
-    path4sdk=${bootdir}/bin:${path4sdk}
-
-    # Find GNU make
-    make=/usr/sfw/bin/gmake
-    if [ ! -f ${make} ] ; then
-	make=/opt/sfw/bin/gmake
-	if [ ! -f ${make} ] ; then
-	    make=${slashjava}/devtools/${solaris_arch}/bin/gnumake
-        fi 
-    fi
-    fileMustExist "${make}" make
-
-    # File creation mask
-    umask 002
-
-elif [ "${osname}" = Linux ] ; then
-   
-    # LINUX: X86, AMD64
-    osarch=`uname -m`
-    if [ "${osarch}" = i686 ] ; then
-	linux_arch=i586
-    elif [ "${osarch}" = x86_64 ] ; then
-	linux_arch=amd64
-    fi
-
-    # Get the compilers into path (make sure it matches ALT setting)
-    compiler_path=/usr/bin
-    dirMustExist "${compiler_path}" COMPILER_PATH
-    path4sdk=${compiler_path}
-    
-    # Add basic paths
-    path4sdk=${path4sdk}:/usr/bin:/bin:/usr/sbin:/sbin
-
-    # Get the previous JDK to be used to bootstrap the build
-    path4sdk=${bootdir}/bin:${path4sdk}
-    
-    # Find GNU make
-    make=/usr/bin/make
-    fileMustExist "${make}" make
-
-    umask 002
-
-else
-
-    # Windows: Differs on CYGWIN vs. MKS, and the compiler available.
-    #   Also, blanks in pathnames gives GNU make headaches, so anything placed
-    #   in any ALT_* variable should be the short windows dosname.
-   
-    # WINDOWS: Install and use MKS or CYGWIN (should have already been done)
-    #   Assumption here is that you are in a shell window via MKS or cygwin.
-    #   MKS install should have defined the environment variable ROOTDIR.
-    #   We also need to figure out which one we have: X86, AMD64
-    if [ "`echo ${PROCESSOR_IDENTIFIER} | fgrep AMD64`" != "" ] ; then
-	windows_arch=amd64
-    else
-	windows_arch=i586
-    fi
-    
-    # We need to determine if we are running a CYGWIN shell or an MKS shell
-    #    (if uname isn't available, then it will be unix_toolset=unknown)
-    unix_toolset=unknown
-    if [ "`uname -a | fgrep Cygwin`" = "" -a -d "${ROOTDIR}" ] ; then
-        # We kind of assume ROOTDIR is where MKS is and it's ok
-        unix_toolset=MKS
-        mkshome=`dosname -s "${ROOTDIR}"`
-	# Utility to convert to short pathnames without spaces
-	dosname="${mkshome}/mksnt/dosname -s"
-        # Most unix utilities are in the mksnt directory of ROOTDIR
-        unixcommand_path="${mkshome}/mksnt"
-        path4sdk="${unixcommand_path}"
-        dirMustExist "${unixcommand_path}" UNIXCOMMAND_PATH
-	devtools_path="${slashjava}/devtools/win32/bin"
-	path4sdk="${devtools_path};${path4sdk}"
-        dirMustExist "${devtools_path}" DEVTOOLS_PATH
-        # Find GNU make
-        make="${devtools_path}/gnumake.exe"
-        fileMustExist "${make}" make
-    elif [ "`uname -a | fgrep Cygwin`" != "" -a -f /bin/cygpath ] ; then
-        # For CYGWIN, uname will have "Cygwin" in it, and /bin/cygpath should exist
-        unix_toolset=CYGWIN
-	# Utility to convert to short pathnames without spaces
-	dosname="/usr/bin/cygpath -a -m -s"
-        # Most unix utilities are in the /usr/bin
-        unixcommand_path="/usr/bin"
-        path4sdk="${unixcommand_path}"
-        dirMustExist "${unixcommand_path}" UNIXCOMMAND_PATH
-        # Find GNU make
-        make="${unixcommand_path}/make.exe"
-        fileMustExist "${make}" make
-    else
-      echo "WARNING: Cannot figure out if this is MKS or CYGWIN"
-    fi
-
-    # WINDOWS: Compiler setup (nasty part)
-    #   NOTE: You can use vcvars32.bat to set PATH, LIB, and INCLUDE.
-    #   NOTE: CYGWIN has a link.exe too, make sure the compilers are first
-    if [ "${windows_arch}" = i586 ] ; then
-        # 32bit Windows compiler settings
-        # VisualStudio .NET 2003 VC++ 7.1 (VS71COMNTOOLS should be defined)
-        vs_root=`${dosname} "${VS71COMNTOOLS}/../.."`
-        # Fill in PATH, LIB, and INCLUDE (unset all others to make sure)
-        vc7_root="${vs_root}/Vc7"
-        compiler_path="${vc7_root}/bin"
-        platform_sdk="${vc7_root}/PlatformSDK"
-        # LIB and INCLUDE must use ; as a separator
-        include4sdk="${vc7_root}/atlmfc/include"
-        include4sdk="${include4sdk};${vc7_root}/include"
-        include4sdk="${include4sdk};${platform_sdk}/include/prerelease"
-        include4sdk="${include4sdk};${platform_sdk}/include"
-        include4sdk="${include4sdk};${vs_root}/SDK/v1.1/include"
-        lib4sdk="${vc7_root}/atlmfc/lib"
-        lib4sdk="${lib4sdk};${vc7_root}/lib"
-        lib4sdk="${lib4sdk};${platform_sdk}/lib/prerelease"
-        lib4sdk="${lib4sdk};${platform_sdk}/lib"
-        lib4sdk="${lib4sdk};${vs_root}/SDK/v1.1/lib"
-        # Search path and DLL locating path
-        #   WARNING: CYGWIN has a link.exe too, make sure compilers are first
-        path4sdk="${vs_root}/Common7/Tools/bin;${path4sdk}"
-	path4sdk="${vs_root}/SDK/v1.1/bin;${path4sdk}"
-        path4sdk="${vs_root}/Common7/Tools;${path4sdk}"
-	path4sdk="${vs_root}/Common7/Tools/bin/prerelease;${path4sdk}"
-        path4sdk="${vs_root}/Common7/IDE;${path4sdk}"
-	path4sdk="${compiler_path};${path4sdk}"
-    elif [ "${windows_arch}" = amd64 ] ; then
-        # AMD64 64bit Windows compiler settings
-	if [ "${MSSDK}" != "" ] ; then
-	    platform_sdk="${MSSDK}"
-	else
-	    platform_sdk=`${dosname} "C:/Program Files/Microsoft Platform SDK/"`
-	fi
-	compiler_path="${platform_sdk}/Bin/win64/x86/AMD64"
-        # LIB and INCLUDE must use ; as a separator
-        include4sdk="${platform_sdk}/Include"
-	include4sdk="${include4sdk};${platform_sdk}/Include/crt/sys"
-	include4sdk="${include4sdk};${platform_sdk}/Include/mfc"
-	include4sdk="${include4sdk};${platform_sdk}/Include/atl"
-	include4sdk="${include4sdk};${platform_sdk}/Include/crt"
-        lib4sdk="${platform_sdk}/Lib/AMD64"
-        lib4sdk="${lib4sdk};${platform_sdk}/Lib/AMD64/atlmfc"
-        # Search path and DLL locating path
-        #   WARNING: CYGWIN has a link.exe too, make sure compilers are first
-        path4sdk="${platform_sdk}/bin;${path4sdk}"
-        path4sdk="${compiler_path};${path4sdk}"
-    fi
-    # Export LIB and INCLUDE
-    unset lib
-    unset Lib
-    LIB="${lib4sdk}"
-    export LIB
-    unset include
-    unset Include
-    INCLUDE="${include4sdk}"
-    export INCLUDE
-    # Set the ALT variable
-    dirMustExist "${compiler_path}" COMPILER_PATH
-    
-    # WINDOWS: Get the previous JDK to be used to bootstrap the build
-    path4sdk="${bootdir}/bin;${path4sdk}"
-
-    # Turn all \\ into /, remove duplicates and trailing /
-    slash_path="`echo ${path4sdk} | sed -e 's@\\\\@/@g' -e 's@//@/@g' -e 's@/$@@' -e 's@/;@;@g'`"
-    
-    # For windows, it's hard to know where the system is, so we just add this
-    #    to PATH.
-    path4sdk="${slash_path};${PATH}"
-    
-    # Convert path4sdk to cygwin style
-    if [ "${unix_toolset}" = CYGWIN ] ; then
-	path4sdk="`/usr/bin/cygpath -p ${path4sdk}`"
-    fi
-
-fi
-
-# Export PATH setting
-PATH="${path4sdk}"
-export PATH
-
-# Unset certain vars
-unset LD_LIBRARY_PATH
-unset LD_LIBRARY_PATH_32
-unset LD_LIBRARY_PATH_64
-
--- a/hotspot/make/jprt.properties	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/make/jprt.properties	Thu May 14 00:17:25 2009 -0700
@@ -70,10 +70,33 @@
 jprt.my.solaris.x64.jdk6u14=solaris_x64_5.10
 jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
 
-jprt.my.linux.i586=linux_i586
-jprt.my.linux.x64=linux_x64
-jprt.my.windows.i586=windows_i586
-jprt.my.windows.x64=windows_x64
+jprt.my.linux.i586.jdk7=linux_i586_2.6
+jprt.my.linux.i586.jdk6=linux_i586_2.4
+jprt.my.linux.i586.jdk6perf=linux_i586_2.4
+jprt.my.linux.i586.jdk6u10=linux_i586_2.4
+jprt.my.linux.i586.jdk6u14=linux_i586_2.4
+jprt.my.linux.i586=${jprt.my.linux.i586.${jprt.tools.default.release}}
+
+jprt.my.linux.x64.jdk7=linux_x64_2.6
+jprt.my.linux.x64.jdk6=linux_x64_2.4
+jprt.my.linux.x64.jdk6perf=linux_x64_2.4
+jprt.my.linux.x64.jdk6u10=linux_x64_2.4
+jprt.my.linux.x64.jdk6u14=linux_x64_2.4
+jprt.my.linux.x64=${jprt.my.linux.x64.${jprt.tools.default.release}}
+
+jprt.my.windows.i586.jdk7=windows_i586_5.0
+jprt.my.windows.i586.jdk6=windows_i586_5.0
+jprt.my.windows.i586.jdk6perf=windows_i586_5.0
+jprt.my.windows.i586.jdk6u10=windows_i586_5.0
+jprt.my.windows.i586.jdk6u14=windows_i586_5.0
+jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}}
+
+jprt.my.windows.x64.jdk7=windows_x64_5.2
+jprt.my.windows.x64.jdk6=windows_x64_5.2
+jprt.my.windows.x64.jdk6perf=windows_x64_5.2
+jprt.my.windows.x64.jdk6u10=windows_x64_5.2
+jprt.my.windows.x64.jdk6u14=windows_x64_5.2
+jprt.my.windows.x64=${jprt.my.windows.x64.${jprt.tools.default.release}}
 
 # Standard list of jprt build targets for this source tree
 
--- a/hotspot/make/linux/makefiles/gcc.make	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/make/linux/makefiles/gcc.make	Thu May 14 00:17:25 2009 -0700
@@ -113,6 +113,11 @@
 
 OPT_CFLAGS/NOOPT=-O0
 
+# 6835796. Problem in GCC 4.3.0 with mulnode.o optimized compilation. 
+ifneq "$(shell expr \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) = 3 \) \))" "0"
+OPT_CFLAGS/mulnode.o += -O0
+endif
+
 #------------------------------------------------------------------------
 # Linker flags
 
--- a/hotspot/make/linux/makefiles/jsig.make	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/make/linux/makefiles/jsig.make	Thu May 14 00:17:25 2009 -0700
@@ -39,7 +39,7 @@
 # cause problems with interposing. See CR: 6466665
 # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
 
-LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT
+LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE)
 
 $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
 	@echo Making signal interposition lib...
--- a/hotspot/make/linux/makefiles/saproc.make	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/make/linux/makefiles/saproc.make	Thu May 14 00:17:25 2009 -0700
@@ -51,7 +51,7 @@
 	   $(MAKE) -f vm.make $(LIBSAPROC); \
 	fi
 
-SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE))
+SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
 
 $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
 	$(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
--- a/hotspot/src/os/linux/vm/os_linux.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/os/linux/vm/os_linux.cpp	Thu May 14 00:17:25 2009 -0700
@@ -2314,7 +2314,8 @@
 void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) { }
 
 void os::free_memory(char *addr, size_t bytes) {
-  uncommit_memory(addr, bytes);
+  ::mmap(addr, bytes, PROT_READ | PROT_WRITE,
+         MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
 }
 
 void os::numa_make_global(char *addr, size_t bytes) {
@@ -2361,6 +2362,19 @@
 extern "C" void numa_warn(int number, char *where, ...) { }
 extern "C" void numa_error(char *where) { }
 
+
+// If we are running with libnuma version > 2, then we should
+// be trying to use symbols with versions 1.1
+// If we are running with earlier version, which did not have symbol versions,
+// we should use the base version.
+void* os::Linux::libnuma_dlsym(void* handle, const char *name) {
+  void *f = dlvsym(handle, name, "libnuma_1.1");
+  if (f == NULL) {
+    f = dlsym(handle, name);
+  }
+  return f;
+}
+
 bool os::Linux::libnuma_init() {
   // sched_getcpu() should be in libc.
   set_sched_getcpu(CAST_TO_FN_PTR(sched_getcpu_func_t,
@@ -2370,19 +2384,19 @@
     void *handle = dlopen("libnuma.so.1", RTLD_LAZY);
     if (handle != NULL) {
       set_numa_node_to_cpus(CAST_TO_FN_PTR(numa_node_to_cpus_func_t,
-                                           dlsym(handle, "numa_node_to_cpus")));
+                                           libnuma_dlsym(handle, "numa_node_to_cpus")));
       set_numa_max_node(CAST_TO_FN_PTR(numa_max_node_func_t,
-                                       dlsym(handle, "numa_max_node")));
+                                       libnuma_dlsym(handle, "numa_max_node")));
       set_numa_available(CAST_TO_FN_PTR(numa_available_func_t,
-                                        dlsym(handle, "numa_available")));
+                                        libnuma_dlsym(handle, "numa_available")));
       set_numa_tonode_memory(CAST_TO_FN_PTR(numa_tonode_memory_func_t,
-                                            dlsym(handle, "numa_tonode_memory")));
+                                            libnuma_dlsym(handle, "numa_tonode_memory")));
       set_numa_interleave_memory(CAST_TO_FN_PTR(numa_interleave_memory_func_t,
-                                            dlsym(handle, "numa_interleave_memory")));
+                                            libnuma_dlsym(handle, "numa_interleave_memory")));
 
 
       if (numa_available() != -1) {
-        set_numa_all_nodes((unsigned long*)dlsym(handle, "numa_all_nodes"));
+        set_numa_all_nodes((unsigned long*)libnuma_dlsym(handle, "numa_all_nodes"));
         // Create a cpu -> node mapping
         _cpu_to_node = new (ResourceObj::C_HEAP) GrowableArray<int>(0, true);
         rebuild_cpu_to_node_map();
--- a/hotspot/src/os/linux/vm/os_linux.hpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/os/linux/vm/os_linux.hpp	Thu May 14 00:17:25 2009 -0700
@@ -147,7 +147,7 @@
 
   static void libpthread_init();
   static bool libnuma_init();
-
+  static void* libnuma_dlsym(void* handle, const char* name);
   // Minimum stack size a thread can be created with (allowing
   // the VM to completely create the thread and enter user code)
   static size_t min_stack_allowed;
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1RefineThread.cpp	Thu May 14 00:17:25 2009 -0700
@@ -53,7 +53,9 @@
     ResourceMark rm;
     HandleMark   hm;
 
-    if (TraceG1Refine) gclog_or_tty->print_cr("G1-Refine starting pass");
+    if (G1TraceConcurrentRefinement) {
+      gclog_or_tty->print_cr("G1-Refine starting pass");
+    }
     _sts.join();
     bool no_sleep = _cg1r->refine();
     _sts.leave();
@@ -207,9 +209,9 @@
 
 
 void ConcurrentG1RefineThread::yield() {
-  if (TraceG1Refine) gclog_or_tty->print_cr("G1-Refine-yield");
+  if (G1TraceConcurrentRefinement) gclog_or_tty->print_cr("G1-Refine-yield");
   _sts.yield("G1 refine");
-  if (TraceG1Refine) gclog_or_tty->print_cr("G1-Refine-yield-end");
+  if (G1TraceConcurrentRefinement) gclog_or_tty->print_cr("G1-Refine-yield-end");
 }
 
 void ConcurrentG1RefineThread::stop() {
@@ -230,7 +232,7 @@
       Terminator_lock->wait();
     }
   }
-  if (TraceG1Refine) gclog_or_tty->print_cr("G1-Refine-stop");
+  if (G1TraceConcurrentRefinement) gclog_or_tty->print_cr("G1-Refine-stop");
 }
 
 void ConcurrentG1RefineThread::print() {
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp	Thu May 14 00:17:25 2009 -0700
@@ -448,8 +448,8 @@
     gclog_or_tty->print_cr("[global] init, heap start = "PTR_FORMAT", "
                            "heap end = "PTR_FORMAT, _heap_start, _heap_end);
 
-  _markStack.allocate(G1CMStackSize);
-  _regionStack.allocate(G1CMRegionStackSize);
+  _markStack.allocate(G1MarkStackSize);
+  _regionStack.allocate(G1MarkRegionStackSize);
 
   // Create & start a ConcurrentMark thread.
   if (G1ConcMark) {
@@ -499,20 +499,21 @@
     _marking_task_overhead    = 1.0;
   } else {
     if (ParallelMarkingThreads > 0) {
-      // notice that ParallelMarkingThreads overwrites G1MarkingOverheadPerc
+      // notice that ParallelMarkingThreads overwrites G1MarkingOverheadPercent
       // if both are set
 
       _parallel_marking_threads = ParallelMarkingThreads;
       _sleep_factor             = 0.0;
       _marking_task_overhead    = 1.0;
-    } else if (G1MarkingOverheadPerc > 0) {
+    } else if (G1MarkingOverheadPercent > 0) {
       // we will calculate the number of parallel marking threads
       // based on a target overhead with respect to the soft real-time
       // goal
 
-      double marking_overhead = (double) G1MarkingOverheadPerc / 100.0;
+      double marking_overhead = (double) G1MarkingOverheadPercent / 100.0;
       double overall_cm_overhead =
-        (double) G1MaxPauseTimeMS * marking_overhead / (double) G1TimeSliceMS;
+        (double) MaxGCPauseMillis * marking_overhead /
+        (double) GCPauseIntervalMillis;
       double cpu_ratio = 1.0 / (double) os::processor_count();
       double marking_thread_num = ceil(overall_cm_overhead / cpu_ratio);
       double marking_task_overhead =
@@ -1747,7 +1748,7 @@
   g1h->increment_total_collections();
 
 #ifndef PRODUCT
-  if (G1VerifyConcMark) {
+  if (VerifyDuringGC) {
     G1CollectedHeap::heap()->prepare_for_verify();
     G1CollectedHeap::heap()->verify(true,false);
   }
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp	Thu May 14 00:17:25 2009 -0700
@@ -136,9 +136,6 @@
         iter++;
         if (!cm()->has_aborted()) {
           _cm->markFromRoots();
-        } else {
-          if (TraceConcurrentMark)
-            gclog_or_tty->print_cr("CM-skip-mark-from-roots");
         }
 
         double mark_end_time = os::elapsedVTime();
@@ -163,9 +160,6 @@
           sprintf(verbose_str, "GC remark");
           VM_CGC_Operation op(&final_cl, verbose_str);
           VMThread::execute(&op);
-        } else {
-          if (TraceConcurrentMark)
-            gclog_or_tty->print_cr("CM-skip-remark");
         }
         if (cm()->restart_for_overflow() &&
             G1TraceMarkStackOverflow) {
@@ -208,8 +202,6 @@
                                    count_end_sec - count_start_sec);
           }
         }
-      } else {
-        if (TraceConcurrentMark) gclog_or_tty->print_cr("CM-skip-end-game");
       }
       double end_time = os::elapsedVTime();
       _vtime_count_accum += (end_time - counting_start_time);
@@ -230,7 +222,6 @@
         VM_CGC_Operation op(&cl_cl, verbose_str);
         VMThread::execute(&op);
       } else {
-        if (TraceConcurrentMark) gclog_or_tty->print_cr("CM-skip-cleanup");
         G1CollectedHeap::heap()->set_marking_complete();
       }
 
@@ -287,9 +278,7 @@
 
 
 void ConcurrentMarkThread::yield() {
-  if (TraceConcurrentMark) gclog_or_tty->print_cr("CM-yield");
   _sts.yield("Concurrent Mark");
-  if (TraceConcurrentMark) gclog_or_tty->print_cr("CM-yield-end");
 }
 
 void ConcurrentMarkThread::stop() {
@@ -299,7 +288,6 @@
   while (!_has_terminated) {
     Terminator_lock->wait();
   }
-  if (TraceConcurrentMark) gclog_or_tty->print_cr("CM-stop");
 }
 
 void ConcurrentMarkThread::print() {
@@ -314,12 +302,10 @@
   // below while the world is otherwise stopped.
   MutexLockerEx x(CGC_lock, Mutex::_no_safepoint_check_flag);
   while (!started()) {
-    if (TraceConcurrentMark) gclog_or_tty->print_cr("CM-sleeping");
     CGC_lock->wait(Mutex::_no_safepoint_check_flag);
   }
   set_in_progress();
   clear_started();
-  if (TraceConcurrentMark) gclog_or_tty->print_cr("CM-starting");
 }
 
 // Note: this method, although exported by the ConcurrentMarkSweepThread,
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Thu May 14 00:17:25 2009 -0700
@@ -528,7 +528,7 @@
            res->zero_fill_state() == HeapRegion::Allocated)),
          "Non-young alloc Regions must be zero filled (and non-H)");
 
-  if (G1TraceRegions) {
+  if (G1PrintRegions) {
     if (res != NULL) {
       gclog_or_tty->print_cr("new alloc region %d:["PTR_FORMAT", "PTR_FORMAT"], "
                              "top "PTR_FORMAT,
@@ -2282,13 +2282,13 @@
     // to that.
     g1_policy()->print_tracing_info();
   }
-  if (SummarizeG1RSStats) {
+  if (G1SummarizeRSetStats) {
     g1_rem_set()->print_summary_info();
   }
-  if (SummarizeG1ConcMark) {
+  if (G1SummarizeConcurrentMark) {
     concurrent_mark()->print_summary_info();
   }
-  if (SummarizeG1ZFStats) {
+  if (G1SummarizeZFStats) {
     ConcurrentZFThread::print_summary_info();
   }
   g1_policy()->print_yg_surv_rate_info();
@@ -3255,7 +3255,7 @@
   HeapRegion* r = heap_region_containing(old);
   if (!r->evacuation_failed()) {
     r->set_evacuation_failed(true);
-    if (G1TraceRegions) {
+    if (G1PrintRegions) {
       gclog_or_tty->print("evacuation failed in heap region "PTR_FORMAT" "
                           "["PTR_FORMAT","PTR_FORMAT")\n",
                           r, r->bottom(), r->end());
@@ -3466,7 +3466,7 @@
   }
 
   static size_t gclab_word_size() {
-    return ParallelGCG1AllocBufferSize / HeapWordSize;
+    return G1ParallelGCAllocBufferSize / HeapWordSize;
   }
 
   static size_t bitmap_size_in_bits() {
@@ -3616,7 +3616,7 @@
 
 public:
   G1ParGCAllocBuffer() :
-    ParGCAllocBuffer(ParallelGCG1AllocBufferSize / HeapWordSize),
+    ParGCAllocBuffer(G1ParallelGCAllocBufferSize / HeapWordSize),
     _during_marking(G1CollectedHeap::heap()->mark_in_progress()),
     _bitmap(G1CollectedHeap::heap()->reserved_region().start()),
     _retired(false)
@@ -3812,14 +3812,14 @@
 
     HeapWord* obj = NULL;
     if (word_sz * 100 <
-        (size_t)(ParallelGCG1AllocBufferSize / HeapWordSize) *
+        (size_t)(G1ParallelGCAllocBufferSize / HeapWordSize) *
                                                   ParallelGCBufferWastePct) {
       G1ParGCAllocBuffer* alloc_buf = alloc_buffer(purpose);
       add_to_alloc_buffer_waste(alloc_buf->words_remaining());
       alloc_buf->retire(false, false);
 
       HeapWord* buf =
-        _g1h->par_allocate_during_gc(purpose, ParallelGCG1AllocBufferSize / HeapWordSize);
+        _g1h->par_allocate_during_gc(purpose, G1ParallelGCAllocBufferSize / HeapWordSize);
       if (buf == NULL) return NULL; // Let caller handle allocation failure.
       // Otherwise.
       alloc_buf->set_buf(buf);
@@ -4331,7 +4331,7 @@
       _g1h->g1_policy()->record_obj_copy_time(i, elapsed_ms-term_ms);
       _g1h->g1_policy()->record_termination_time(i, term_ms);
     }
-    if (G1UseSurvivorSpace) {
+    if (G1UseSurvivorSpaces) {
       _g1h->g1_policy()->record_thread_age_table(pss.age_table());
     }
     _g1h->update_surviving_young_words(pss.surviving_young_words()+1);
@@ -4435,28 +4435,6 @@
 
   // XXX What should this be doing in the parallel case?
   g1_policy()->record_collection_pause_end_CH_strong_roots();
-  if (G1VerifyRemSet) {
-    // :::: FIXME ::::
-    // The stupid remembered set doesn't know how to filter out dead
-    // objects, which the smart one does, and so when it is created
-    // and then compared the number of entries in each differs and
-    // the verification code fails.
-    guarantee(false, "verification code is broken, see note");
-
-    // Let's make sure that the current rem set agrees with the stupidest
-    // one possible!
-    bool refs_enabled = ref_processor()->discovery_enabled();
-    if (refs_enabled) ref_processor()->disable_discovery();
-    StupidG1RemSet stupid(this);
-    count_closure.n = 0;
-    stupid.oops_into_collection_set_do(&count_closure, worker_i);
-    int stupid_n = count_closure.n;
-    count_closure.n = 0;
-    g1_rem_set()->oops_into_collection_set_do(&count_closure, worker_i);
-    guarantee(count_closure.n == stupid_n, "Old and new rem sets differ.");
-    gclog_or_tty->print_cr("\nFound %d pointers in heap RS.", count_closure.n);
-    if (refs_enabled) ref_processor()->enable_discovery();
-  }
   if (scan_so != NULL) {
     scan_scan_only_set(scan_so, worker_i);
   }
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp	Thu May 14 00:17:25 2009 -0700
@@ -37,8 +37,9 @@
 inline HeapRegion*
 G1CollectedHeap::heap_region_containing_raw(const void* addr) const {
   assert(_g1_reserved.contains(addr), "invariant");
-  size_t index = ((intptr_t) addr - (intptr_t) _g1_reserved.start())
-                                              >> HeapRegion::LogOfHRGrainBytes;
+  size_t index = pointer_delta(addr, _g1_reserved.start(), 1)
+                                        >> HeapRegion::LogOfHRGrainBytes;
+
   HeapRegion* res = _hrs->at(index);
   assert(res == _hrs->addr_to_region(addr), "sanity");
   return res;
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Thu May 14 00:17:25 2009 -0700
@@ -136,7 +136,7 @@
   _scanned_cards_seq(new TruncatedSeq(TruncatedSeqLength)),
   _rs_lengths_seq(new TruncatedSeq(TruncatedSeqLength)),
 
-  _pause_time_target_ms((double) G1MaxPauseTimeMS),
+  _pause_time_target_ms((double) MaxGCPauseMillis),
 
   // </NEW PREDICTION>
 
@@ -220,7 +220,7 @@
   _par_last_termination_times_ms = new double[_parallel_gc_threads];
 
   // start conservatively
-  _expensive_region_limit_ms = 0.5 * (double) G1MaxPauseTimeMS;
+  _expensive_region_limit_ms = 0.5 * (double) MaxGCPauseMillis;
 
   // <NEW PREDICTION>
 
@@ -249,12 +249,12 @@
 
   // </NEW PREDICTION>
 
-  double time_slice  = (double) G1TimeSliceMS / 1000.0;
-  double max_gc_time = (double) G1MaxPauseTimeMS / 1000.0;
+  double time_slice  = (double) GCPauseIntervalMillis / 1000.0;
+  double max_gc_time = (double) MaxGCPauseMillis / 1000.0;
   guarantee(max_gc_time < time_slice,
             "Max GC time should not be greater than the time slice");
   _mmu_tracker = new G1MMUTrackerQueue(time_slice, max_gc_time);
-  _sigma = (double) G1ConfidencePerc / 100.0;
+  _sigma = (double) G1ConfidencePercent / 100.0;
 
   // start conservatively (around 50ms is about right)
   _concurrent_mark_init_times_ms->add(0.05);
@@ -262,7 +262,7 @@
   _concurrent_mark_cleanup_times_ms->add(0.20);
   _tenuring_threshold = MaxTenuringThreshold;
 
-  if (G1UseSurvivorSpace) {
+  if (G1UseSurvivorSpaces) {
     // if G1FixedSurvivorSpaceSize is 0 which means the size is not
     // fixed, then _max_survivor_regions will be calculated at
     // calculate_young_list_target_config during initialization
@@ -451,7 +451,7 @@
   guarantee( adaptive_young_list_length(), "pre-condition" );
 
   double start_time_sec = os::elapsedTime();
-  size_t min_reserve_perc = MAX2((size_t)2, (size_t)G1MinReservePerc);
+  size_t min_reserve_perc = MAX2((size_t)2, (size_t)G1MinReservePercent);
   min_reserve_perc = MIN2((size_t) 50, min_reserve_perc);
   size_t reserve_regions =
     (size_t) ((double) min_reserve_perc * (double) _g1->n_regions() / 100.0);
@@ -1109,7 +1109,7 @@
   _short_lived_surv_rate_group->record_scan_only_prefix(short_lived_so_length);
   tag_scan_only(short_lived_so_length);
 
-  if (G1UseSurvivorSpace) {
+  if (G1UseSurvivorSpaces) {
     _survivors_age_table.clear();
   }
 
@@ -1826,11 +1826,11 @@
     _rs_lengths_seq->add((double) _max_rs_lengths);
 
     double expensive_region_limit_ms =
-      (double) G1MaxPauseTimeMS - predict_constant_other_time_ms();
+      (double) MaxGCPauseMillis - predict_constant_other_time_ms();
     if (expensive_region_limit_ms < 0.0) {
       // this means that the other time was predicted to be longer than
       // than the max pause time
-      expensive_region_limit_ms = (double) G1MaxPauseTimeMS;
+      expensive_region_limit_ms = (double) MaxGCPauseMillis;
     }
     _expensive_region_limit_ms = expensive_region_limit_ms;
 
@@ -2093,24 +2093,24 @@
 }
 
 double G1CollectorPolicy::recent_avg_time_for_pauses_ms() {
-  if (_recent_pause_times_ms->num() == 0) return (double) G1MaxPauseTimeMS;
+  if (_recent_pause_times_ms->num() == 0) return (double) MaxGCPauseMillis;
   else return _recent_pause_times_ms->avg();
 }
 
 double G1CollectorPolicy::recent_avg_time_for_CH_strong_ms() {
   if (_recent_CH_strong_roots_times_ms->num() == 0)
-    return (double)G1MaxPauseTimeMS/3.0;
+    return (double)MaxGCPauseMillis/3.0;
   else return _recent_CH_strong_roots_times_ms->avg();
 }
 
 double G1CollectorPolicy::recent_avg_time_for_G1_strong_ms() {
   if (_recent_G1_strong_roots_times_ms->num() == 0)
-    return (double)G1MaxPauseTimeMS/3.0;
+    return (double)MaxGCPauseMillis/3.0;
   else return _recent_G1_strong_roots_times_ms->avg();
 }
 
 double G1CollectorPolicy::recent_avg_time_for_evac_ms() {
-  if (_recent_evac_times_ms->num() == 0) return (double)G1MaxPauseTimeMS/3.0;
+  if (_recent_evac_times_ms->num() == 0) return (double)MaxGCPauseMillis/3.0;
   else return _recent_evac_times_ms->avg();
 }
 
@@ -2197,17 +2197,18 @@
 }
 
 size_t G1CollectorPolicy::expansion_amount() {
-  if ((int)(recent_avg_pause_time_ratio() * 100.0) > G1GCPct) {
-    // We will double the existing space, or take G1ExpandByPctOfAvail % of
-    // the available expansion space, whichever is smaller, bounded below
-    // by a minimum expansion (unless that's all that's left.)
+  if ((int)(recent_avg_pause_time_ratio() * 100.0) > G1GCPercent) {
+    // We will double the existing space, or take
+    // G1ExpandByPercentOfAvailable % of the available expansion
+    // space, whichever is smaller, bounded below by a minimum
+    // expansion (unless that's all that's left.)
     const size_t min_expand_bytes = 1*M;
     size_t reserved_bytes = _g1->g1_reserved_obj_bytes();
     size_t committed_bytes = _g1->capacity();
     size_t uncommitted_bytes = reserved_bytes - committed_bytes;
     size_t expand_bytes;
     size_t expand_bytes_via_pct =
-      uncommitted_bytes * G1ExpandByPctOfAvail / 100;
+      uncommitted_bytes * G1ExpandByPercentOfAvailable / 100;
     expand_bytes = MIN2(expand_bytes_via_pct, committed_bytes);
     expand_bytes = MAX2(expand_bytes, min_expand_bytes);
     expand_bytes = MIN2(expand_bytes, uncommitted_bytes);
@@ -2591,7 +2592,7 @@
 // Calculates survivor space parameters.
 void G1CollectorPolicy::calculate_survivors_policy()
 {
-  if (!G1UseSurvivorSpace) {
+  if (!G1UseSurvivorSpaces) {
     return;
   }
   if (G1FixedSurvivorSpaceSize == 0) {
@@ -2851,7 +2852,7 @@
 // estimate of the number of live bytes.
 void G1CollectorPolicy::
 add_to_collection_set(HeapRegion* hr) {
-  if (G1TraceRegions) {
+  if (G1PrintRegions) {
     gclog_or_tty->print_cr("added region to cset %d:["PTR_FORMAT", "PTR_FORMAT"], "
                   "top "PTR_FORMAT", young %s",
                   hr->hrs_index(), hr->bottom(), hr->end(),
--- a/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp	Thu May 14 00:17:25 2009 -0700
@@ -57,7 +57,7 @@
 
   mark_sweep_phase1(marked_for_unloading, clear_all_softrefs);
 
-  if (G1VerifyConcMark) {
+  if (VerifyDuringGC) {
       G1CollectedHeap* g1h = G1CollectedHeap::heap();
       g1h->checkConcurrentMark();
   }
--- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp	Thu May 14 00:17:25 2009 -0700
@@ -180,6 +180,7 @@
   CardTableModRefBS *_ct_bs;
   int _worker_i;
   bool _try_claimed;
+  size_t _min_skip_distance, _max_skip_distance;
 public:
   ScanRSClosure(OopsInHeapRegionClosure* oc, int worker_i) :
     _oc(oc),
@@ -191,6 +192,8 @@
     _g1h = G1CollectedHeap::heap();
     _bot_shared = _g1h->bot_shared();
     _ct_bs = (CardTableModRefBS*) (_g1h->barrier_set());
+    _min_skip_distance = 16;
+    _max_skip_distance = 2 * _g1h->n_par_threads() * _min_skip_distance;
   }
 
   void set_try_claimed() { _try_claimed = true; }
@@ -245,9 +248,13 @@
     HeapRegionRemSetIterator* iter = _g1h->rem_set_iterator(_worker_i);
     hrrs->init_iterator(iter);
     size_t card_index;
+    size_t skip_distance = 0, current_card = 0, jump_to_card = 0;
     while (iter->has_next(card_index)) {
+      if (current_card < jump_to_card) {
+        ++current_card;
+        continue;
+      }
       HeapWord* card_start = _g1h->bot_shared()->address_for_index(card_index);
-
 #if 0
       gclog_or_tty->print("Rem set iteration yielded card [" PTR_FORMAT ", " PTR_FORMAT ").\n",
                           card_start, card_start + CardTableModRefBS::card_size_in_words);
@@ -257,20 +264,28 @@
       assert(card_region != NULL, "Yielding cards not in the heap?");
       _cards++;
 
-      if (!card_region->in_collection_set()) {
-        // If the card is dirty, then we will scan it during updateRS.
-        if (!_ct_bs->is_card_claimed(card_index) &&
-            !_ct_bs->is_card_dirty(card_index)) {
-          assert(_ct_bs->is_card_clean(card_index) ||
-                 _ct_bs->is_card_claimed(card_index) ||
-                 _ct_bs->is_card_deferred(card_index),
-                 "Card is either clean, claimed or deferred");
-          if (_ct_bs->claim_card(card_index))
+       // If the card is dirty, then we will scan it during updateRS.
+      if (!card_region->in_collection_set() && !_ct_bs->is_card_dirty(card_index)) {
+          if (!_ct_bs->is_card_claimed(card_index) && _ct_bs->claim_card(card_index)) {
             scanCard(card_index, card_region);
-        }
+          } else if (_try_claimed) {
+            if (jump_to_card == 0 || jump_to_card != current_card) {
+              // We did some useful work in the previous iteration.
+              // Decrease the distance.
+              skip_distance = MAX2(skip_distance >> 1, _min_skip_distance);
+            } else {
+              // Previous iteration resulted in a claim failure.
+              // Increase the distance.
+              skip_distance = MIN2(skip_distance << 1, _max_skip_distance);
+            }
+            jump_to_card = current_card + skip_distance;
+          }
       }
+      ++current_card;
     }
-    hrrs->set_iter_complete();
+    if (!_try_claimed) {
+      hrrs->set_iter_complete();
+    }
     return false;
   }
   // Set all cards back to clean.
@@ -508,7 +523,7 @@
     // and they are causing failures. When we resolve said race
     // conditions, we'll revert back to parallel remembered set
     // updating and scanning. See CRs 6677707 and 6677708.
-    if (G1EnableParallelRSetUpdating || (worker_i == 0)) {
+    if (G1ParallelRSetUpdatingEnabled || (worker_i == 0)) {
       updateRS(worker_i);
       scanNewRefsRS(oc, worker_i);
     } else {
@@ -517,7 +532,7 @@
       _g1p->record_update_rs_time(worker_i, 0.0);
       _g1p->record_scan_new_refs_time(worker_i, 0.0);
     }
-    if (G1EnableParallelRSetScanning || (worker_i == 0)) {
+    if (G1ParallelRSetScanningEnabled || (worker_i == 0)) {
       scanRS(oc, worker_i);
     } else {
       _g1p->record_scan_rs_start_time(worker_i, os::elapsedTime());
--- a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp	Thu May 14 00:17:25 2009 -0700
@@ -28,87 +28,65 @@
 
 #define G1_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct, manageable, product_rw) \
                                                                             \
-  product(intx, ParallelGCG1AllocBufferSize, 8*K,                           \
+  product(intx, G1ParallelGCAllocBufferSize, 8*K,                           \
           "Size of parallel G1 allocation buffers in to-space.")            \
                                                                             \
-  product(intx, G1TimeSliceMS, 500,                                         \
-          "Time slice for MMU specification")                               \
-                                                                            \
-  product(intx, G1MaxPauseTimeMS, 200,                                      \
-          "Max GC time per MMU time slice")                                 \
-                                                                            \
-  product(intx, G1ConfidencePerc, 50,                                       \
+  product(intx, G1ConfidencePercent, 50,                                    \
           "Confidence level for MMU/pause predictions")                     \
                                                                             \
-  product(intx, G1MarkingOverheadPerc, 0,                                   \
+  develop(intx, G1MarkingOverheadPercent, 0,                                   \
           "Overhead of concurrent marking")                                 \
                                                                             \
-  product(bool, G1AccountConcurrentOverhead, false,                         \
+  develop(bool, G1AccountConcurrentOverhead, false,                         \
           "Whether soft real-time compliance in G1 will take into account"  \
           "concurrent overhead")                                            \
                                                                             \
   product(intx, G1YoungGenSize, 0,                                          \
           "Size of the G1 young generation, 0 is the adaptive policy")      \
                                                                             \
-  product(bool, G1Gen, true,                                                \
+  develop(bool, G1Gen, true,                                                \
           "If true, it will enable the generational G1")                    \
                                                                             \
-  develop(intx, G1GCPct, 10,                                                \
+  develop(intx, G1GCPercent, 10,                                                \
           "The desired percent time spent on GC")                           \
                                                                             \
-  product(intx, G1PolicyVerbose, 0,                                         \
+  develop(intx, G1PolicyVerbose, 0,                                         \
           "The verbosity level on G1 policy decisions")                     \
                                                                             \
   develop(bool, G1UseHRIntoRS, true,                                        \
           "Determines whether the 'advanced' HR Into rem set is used.")     \
                                                                             \
-  product(bool, G1VerifyRemSet, false,                                      \
-          "If true, verify the rem set functioning at each GC")             \
-                                                                            \
-  product(bool, G1VerifyConcMark, false,                                    \
-          "If true, verify the conc marking code at full GC time")          \
-                                                                            \
   develop(intx, G1MarkingVerboseLevel, 0,                                   \
           "Level (0-4) of verboseness of the marking code")                 \
                                                                             \
-  develop(bool, G1VerifyConcMarkPrintReachable, true,                       \
+  develop(bool, G1VerifyConcMarkPrintReachable, false,                      \
           "If conc mark verification fails, print reachable objects")       \
                                                                             \
   develop(bool, G1TraceMarkStackOverflow, false,                            \
           "If true, extra debugging code for CM restart for ovflw.")        \
                                                                             \
-  product(bool, G1VerifyMarkingInEvac, false,                               \
-          "If true, verify marking info during evacuation")                 \
-                                                                            \
   develop(intx, G1PausesBtwnConcMark, -1,                                   \
           "If positive, fixed number of pauses between conc markings")      \
                                                                             \
-  product(intx, G1EfficiencyPctCausesMark, 80,                              \
-          "The cum gc efficiency since mark fall-off that causes "          \
-          "new marking")                                                    \
-                                                                            \
-  product(bool, TraceConcurrentMark, false,                                 \
-          "Trace concurrent mark")                                          \
-                                                                            \
-  product(bool, SummarizeG1ConcMark, false,                                 \
+  diagnostic(bool, G1SummarizeConcurrentMark, false,                        \
           "Summarize concurrent mark info")                                 \
                                                                             \
-  product(bool, SummarizeG1RSStats, false,                                  \
+  diagnostic(bool, G1SummarizeRSetStats, false,                             \
           "Summarize remembered set processing info")                       \
                                                                             \
-  product(bool, SummarizeG1ZFStats, false,                                  \
+  diagnostic(bool, G1SummarizeZFStats, false,                               \
           "Summarize zero-filling info")                                    \
                                                                             \
-  product(bool, TraceG1Refine, false,                                       \
+  develop(bool, G1TraceConcurrentRefinement, false,                         \
           "Trace G1 concurrent refinement")                                 \
                                                                             \
   develop(bool, G1ConcMark, true,                                           \
           "If true, run concurrent marking for G1")                         \
                                                                             \
-  product(intx, G1CMStackSize, 2 * 1024 * 1024,                             \
+  product(intx, G1MarkStackSize, 2 * 1024 * 1024,                           \
           "Size of the mark stack for concurrent marking.")                 \
                                                                             \
-  product(intx, G1CMRegionStackSize, 1024 * 1024,                           \
+  product(intx, G1MarkRegionStackSize, 1024 * 1024,                         \
           "Size of the region stack for concurrent marking.")               \
                                                                             \
   develop(bool, G1ConcRefine, true,                                         \
@@ -121,7 +99,7 @@
           "Number of heap regions of alloc ahead of starting collection "   \
           "pause to start concurrent refinement (initially)")               \
                                                                             \
-  product(bool, G1SmoothConcRefine, true,                                   \
+  develop(bool, G1SmoothConcRefine, true,                                   \
           "Attempts to smooth out the overhead of concurrent refinement")   \
                                                                             \
   develop(bool, G1ConcZeroFill, true,                                       \
@@ -157,7 +135,7 @@
   develop(bool, G1SATBPrintStubs, false,                                    \
           "If true, print generated stubs for the SATB barrier")            \
                                                                             \
-  product(intx, G1ExpandByPctOfAvail, 20,                                   \
+  product(intx, G1ExpandByPercentOfAvailable, 20,                           \
           "When expanding, % of uncommitted space to claim.")               \
                                                                             \
   develop(bool, G1RSBarrierRegionFilter, true,                              \
@@ -179,18 +157,9 @@
           "If true, verify that no dirty cards remain after RS log "        \
           "processing.")                                                    \
                                                                             \
-  product(intx, G1MinPausesBetweenMarks, 2,                                 \
-          "Number of inefficient pauses necessary to trigger marking.")     \
-                                                                            \
-  product(intx, G1InefficientPausePct, 80,                                  \
-          "Threshold of an 'inefficient' pauses (as % of cum efficiency.")  \
-                                                                            \
   develop(bool, G1RSCountHisto, false,                                      \
           "If true, print a histogram of RS occupancies after each pause")  \
                                                                             \
-  product(bool, G1TraceFileOverwrite, false,                                \
-          "Allow the trace file to be overwritten")                         \
-                                                                            \
   develop(intx, G1PrintRegionLivenessInfo, 0,                               \
           "When > 0, print the occupancies of the <n> best and worst"       \
           "regions.")                                                       \
@@ -198,9 +167,6 @@
   develop(bool, G1PrintParCleanupStats, false,                              \
           "When true, print extra stats about parallel cleanup.")           \
                                                                             \
-  product(bool, G1DoAgeCohortChecks, false,                                 \
-          "When true, check well-formedness of age cohort structures.")     \
-                                                                            \
   develop(bool, G1DisablePreBarrier, false,                                 \
           "Disable generation of pre-barrier (i.e., marking barrier)   ")   \
                                                                             \
@@ -214,17 +180,17 @@
   develop(intx, G1ConcRSLogCacheSize, 10,                                   \
           "Log base 2 of the length of conc RS hot-card cache.")            \
                                                                             \
-  product(bool, G1ConcRSCountTraversals, false,                             \
+  develop(bool, G1ConcRSCountTraversals, false,                             \
           "If true, gather data about the number of times CR traverses "    \
           "cards ")                                                         \
                                                                             \
-  product(intx, G1ConcRSHotCardLimit, 4,                                    \
+  develop(intx, G1ConcRSHotCardLimit, 4,                                    \
           "The threshold that defines (>=) a hot card.")                    \
                                                                             \
   develop(bool, G1PrintOopAppls, false,                                     \
           "When true, print applications of closures to external locs.")    \
                                                                             \
-  product(intx, G1LogRSRegionEntries, 7,                                    \
+  develop(intx, G1LogRSRegionEntries, 7,                                    \
           "Log_2 of max number of regions for which we keep bitmaps.")      \
                                                                             \
   develop(bool, G1RecordHRRSOops, false,                                    \
@@ -254,11 +220,11 @@
           "It determines whether the system will calculate an optimum "     \
           "scan-only set.")                                                 \
                                                                             \
-  product(intx, G1MinReservePerc, 10,                                       \
+  product(intx, G1MinReservePercent, 10,                                    \
           "It determines the minimum reserve we should have in the heap "   \
           "to minimize the probability of promotion failure.")              \
                                                                             \
-  product(bool, G1TraceRegions, false,                                      \
+  diagnostic(bool, G1PrintRegions, false,                                   \
           "If set G1 will print information on which regions are being "    \
           "allocated and which are reclaimed.")                             \
                                                                             \
@@ -268,24 +234,24 @@
   develop(bool, G1HRRSFlushLogBuffersOnVerify, false,                       \
           "Forces flushing of log buffers before verification.")            \
                                                                             \
-  product(bool, G1UseSurvivorSpace, true,                                   \
+  product(bool, G1UseSurvivorSpaces, true,                                  \
           "When true, use survivor space.")                                 \
                                                                             \
-  product(bool, G1FixedTenuringThreshold, false,                            \
+  develop(bool, G1FixedTenuringThreshold, false,                            \
           "When set, G1 will not adjust the tenuring threshold")            \
                                                                             \
-  product(bool, G1FixedEdenSize, false,                                     \
+  develop(bool, G1FixedEdenSize, false,                                     \
           "When set, G1 will not allocate unused survivor space regions")   \
                                                                             \
-  product(uintx, G1FixedSurvivorSpaceSize, 0,                               \
+  develop(uintx, G1FixedSurvivorSpaceSize, 0,                               \
           "If non-0 is the size of the G1 survivor space, "                 \
           "otherwise SurvivorRatio is used to determine the size")          \
                                                                             \
-  experimental(bool, G1EnableParallelRSetUpdating, false,                   \
+  experimental(bool, G1ParallelRSetUpdatingEnabled, false,                  \
           "Enables the parallelization of remembered set updating "         \
           "during evacuation pauses")                                       \
                                                                             \
-  experimental(bool, G1EnableParallelRSetScanning, false,                   \
+  experimental(bool, G1ParallelRSetScanningEnabled, false,                  \
           "Enables the parallelization of remembered set scanning "         \
           "during evacuation pauses")
 
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp	Thu May 14 00:17:25 2009 -0700
@@ -160,12 +160,6 @@
     if (!g1h->is_obj_dead(cur_oop, hr)) {
       // Bottom lies entirely below top, so we can call the
       // non-memRegion version of oop_iterate below.
-#ifndef PRODUCT
-      if (G1VerifyMarkingInEvac) {
-        VerifyLiveClosure vl_cl(g1h);
-        cur_oop->oop_iterate(&vl_cl);
-      }
-#endif
       cur_oop->oop_iterate(cl);
     }
     cur = next_obj;
@@ -197,12 +191,6 @@
   // or it was allocated after marking finished, then we add it. Otherwise
   // we can safely ignore the object.
   if (!g1h->is_obj_dead(oop(bottom), _hr)) {
-#ifndef PRODUCT
-    if (G1VerifyMarkingInEvac) {
-      VerifyLiveClosure vl_cl(g1h);
-      oop(bottom)->oop_iterate(&vl_cl, mr);
-    }
-#endif
     oop_size = oop(bottom)->oop_iterate(cl2, mr);
   } else {
     oop_size = oop(bottom)->size();
@@ -232,12 +220,6 @@
 
     // Last object. Need to do dead-obj filtering here too.
     if (!g1h->is_obj_dead(oop(bottom), _hr)) {
-#ifndef PRODUCT
-      if (G1VerifyMarkingInEvac) {
-        VerifyLiveClosure vl_cl(g1h);
-        oop(bottom)->oop_iterate(&vl_cl, mr);
-      }
-#endif
       oop(bottom)->oop_iterate(cl2, mr);
     }
   }
@@ -713,12 +695,12 @@
     G1CollectedHeap::heap()->print();
     gclog_or_tty->print_cr("");
   }
-  if (G1VerifyConcMark &&
+  if (VerifyDuringGC &&
       G1VerifyConcMarkPrintReachable &&
       vl_cl.failures()) {
     g1->concurrent_mark()->print_prev_bitmap_reachable();
   }
-  guarantee(!vl_cl.failures(), "should not have had any failures");
+  guarantee(!vl_cl.failures(), "region verification failed");
   guarantee(p == top(), "end of last object must match end of space");
 }
 
--- a/hotspot/src/share/vm/opto/connode.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/opto/connode.cpp	Thu May 14 00:17:25 2009 -0700
@@ -128,6 +128,10 @@
       // Swapped Cmp is OK
       (phase->eqv(cmp->in(2),f) &&
        phase->eqv(cmp->in(1),t)) ) {
+    // Give up this identity check for floating points because it may choose incorrect
+    // value around 0.0 and -0.0
+    if ( cmp->Opcode()==Op_CmpF || cmp->Opcode()==Op_CmpD )
+      return NULL;
     // Check for "(t==f)?t:f;" and replace with "f"
     if( b->_test._test == BoolTest::eq )
       return f;
--- a/hotspot/src/share/vm/opto/divnode.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/opto/divnode.cpp	Thu May 14 00:17:25 2009 -0700
@@ -298,8 +298,10 @@
 
   // 6732154: Construct both w1 and w2 before transforming, so t
   // doesn't go dead prematurely.
+  // 6837011: We need to transform w2 before w1 because the
+  // transformation of w1 could return t.
+  w2 = phase->transform(w2);
   w1 = phase->transform(w1);
-  w2 = phase->transform(w2);
 
   // w1 = u0*v1 + w1;
   Node* u0v1 = phase->transform(new (phase->C, 3) MulLNode(u0, v1));
--- a/hotspot/src/share/vm/runtime/arguments.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/runtime/arguments.cpp	Thu May 14 00:17:25 2009 -0700
@@ -1288,10 +1288,14 @@
                      Abstract_VM_Version::parallel_worker_threads());
   if (ParallelGCThreads == 0) {
     FLAG_SET_DEFAULT(ParallelGCThreads,
-                     Abstract_VM_Version::parallel_worker_threads
-());
+                     Abstract_VM_Version::parallel_worker_threads());
   }
   no_shared_spaces();
+
+  // Set the maximum pause time goal to be a reasonable default.
+  if (FLAG_IS_DEFAULT(MaxGCPauseMillis)) {
+    FLAG_SET_DEFAULT(MaxGCPauseMillis, 200);
+  }
 }
 
 void Arguments::set_server_heap_size() {
--- a/hotspot/src/share/vm/runtime/dtraceJSDT.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/runtime/dtraceJSDT.cpp	Thu May 14 00:17:25 2009 -0700
@@ -60,6 +60,11 @@
       methodHandle h_method =
         methodHandle(THREAD, JNIHandles::resolve_jmethod_id(probe->method));
       nmethod* nm = AdapterHandlerLibrary::create_dtrace_nmethod(h_method);
+      if (nm == NULL) {
+        delete probes;
+        THROW_MSG_0(vmSymbols::java_lang_RuntimeException(),
+          "Unable to register DTrace probes (CodeCache: no room for DTrace nmethods).");
+      }
       h_method()->set_not_compilable(CompLevel_highest_tier);
       h_method()->set_code(h_method, nm);
       probes->nmethod_at_put(count++, nm);
--- a/hotspot/src/share/vm/runtime/globals.hpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/runtime/globals.hpp	Thu May 14 00:17:25 2009 -0700
@@ -1819,7 +1819,11 @@
           "Decay factor to TenuredGenerationSizeIncrement")                 \
                                                                             \
   product(uintx, MaxGCPauseMillis, max_uintx,                               \
-          "Adaptive size policy maximum GC pause time goal in msec")        \
+          "Adaptive size policy maximum GC pause time goal in msec, "       \
+          "or (G1 Only) the max. GC time per MMU time slice")               \
+                                                                            \
+  product(intx, GCPauseIntervalMillis, 500,                                 \
+          "Time slice for MMU specification")                               \
                                                                             \
   product(uintx, MaxGCMinorPauseMillis, max_uintx,                          \
           "Adaptive size policy maximum GC minor pause time goal in msec")  \
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp	Thu May 14 00:17:25 2009 -0700
@@ -1776,7 +1776,14 @@
 GrowableArray<uint64_t>* AdapterHandlerLibrary::_fingerprints = NULL;
 GrowableArray<AdapterHandlerEntry* >* AdapterHandlerLibrary::_handlers = NULL;
 const int AdapterHandlerLibrary_size = 16*K;
-u_char                   AdapterHandlerLibrary::_buffer[AdapterHandlerLibrary_size + 32];
+BufferBlob* AdapterHandlerLibrary::_buffer = NULL;
+
+BufferBlob* AdapterHandlerLibrary::buffer_blob() {
+  // Should be called only when AdapterHandlerLibrary_lock is active.
+  if (_buffer == NULL) // Initialize lazily
+      _buffer = BufferBlob::create("adapters", AdapterHandlerLibrary_size);
+  return _buffer;
+}
 
 void AdapterHandlerLibrary::initialize() {
   if (_fingerprints != NULL) return;
@@ -1812,7 +1819,9 @@
   assert(ic_miss != NULL, "must have handler");
 
   int result;
+  NOT_PRODUCT(int code_size);
   BufferBlob *B = NULL;
+  AdapterHandlerEntry* entry = NULL;
   uint64_t fingerprint;
   {
     MutexLocker mu(AdapterHandlerLibrary_lock);
@@ -1850,42 +1859,45 @@
 
     // Create I2C & C2I handlers
     ResourceMark rm;
-    // Improve alignment slightly
-    u_char *buf = (u_char*)(((intptr_t)_buffer + CodeEntryAlignment-1) & ~(CodeEntryAlignment-1));
-    CodeBuffer buffer(buf, AdapterHandlerLibrary_size);
-    short buffer_locs[20];
-    buffer.insts()->initialize_shared_locs((relocInfo*)buffer_locs,
-                                           sizeof(buffer_locs)/sizeof(relocInfo));
-    MacroAssembler _masm(&buffer);
 
-    // Fill in the signature array, for the calling-convention call.
-    int total_args_passed = method->size_of_parameters(); // All args on stack
+    BufferBlob*  buf = buffer_blob(); // the temporary code buffer in CodeCache
+    if (buf != NULL) {
+      CodeBuffer buffer(buf->instructions_begin(), buf->instructions_size());
+      short buffer_locs[20];
+      buffer.insts()->initialize_shared_locs((relocInfo*)buffer_locs,
+                                             sizeof(buffer_locs)/sizeof(relocInfo));
+      MacroAssembler _masm(&buffer);
 
-    BasicType* sig_bt = NEW_RESOURCE_ARRAY(BasicType,total_args_passed);
-    VMRegPair  * regs   = NEW_RESOURCE_ARRAY(VMRegPair  ,total_args_passed);
-    int i=0;
-    if( !method->is_static() )  // Pass in receiver first
-      sig_bt[i++] = T_OBJECT;
-    for( SignatureStream ss(method->signature()); !ss.at_return_type(); ss.next()) {
-      sig_bt[i++] = ss.type();  // Collect remaining bits of signature
-      if( ss.type() == T_LONG || ss.type() == T_DOUBLE )
-        sig_bt[i++] = T_VOID;   // Longs & doubles take 2 Java slots
+      // Fill in the signature array, for the calling-convention call.
+      int total_args_passed = method->size_of_parameters(); // All args on stack
+
+      BasicType* sig_bt = NEW_RESOURCE_ARRAY(BasicType,total_args_passed);
+      VMRegPair  * regs   = NEW_RESOURCE_ARRAY(VMRegPair  ,total_args_passed);
+      int i=0;
+      if( !method->is_static() )  // Pass in receiver first
+        sig_bt[i++] = T_OBJECT;
+      for( SignatureStream ss(method->signature()); !ss.at_return_type(); ss.next()) {
+        sig_bt[i++] = ss.type();  // Collect remaining bits of signature
+        if( ss.type() == T_LONG || ss.type() == T_DOUBLE )
+          sig_bt[i++] = T_VOID;   // Longs & doubles take 2 Java slots
+      }
+      assert( i==total_args_passed, "" );
+
+      // Now get the re-packed compiled-Java layout.
+      int comp_args_on_stack;
+
+      // Get a description of the compiled java calling convention and the largest used (VMReg) stack slot usage
+      comp_args_on_stack = SharedRuntime::java_calling_convention(sig_bt, regs, total_args_passed, false);
+
+      entry = SharedRuntime::generate_i2c2i_adapters(&_masm,
+                                                     total_args_passed,
+                                                     comp_args_on_stack,
+                                                     sig_bt,
+                                                     regs);
+
+      B = BufferBlob::create(AdapterHandlerEntry::name, &buffer);
+      NOT_PRODUCT(code_size = buffer.code_size());
     }
-    assert( i==total_args_passed, "" );
-
-    // Now get the re-packed compiled-Java layout.
-    int comp_args_on_stack;
-
-    // Get a description of the compiled java calling convention and the largest used (VMReg) stack slot usage
-    comp_args_on_stack = SharedRuntime::java_calling_convention(sig_bt, regs, total_args_passed, false);
-
-    AdapterHandlerEntry* entry = SharedRuntime::generate_i2c2i_adapters(&_masm,
-                                                                        total_args_passed,
-                                                                        comp_args_on_stack,
-                                                                        sig_bt,
-                                                                        regs);
-
-    B = BufferBlob::create(AdapterHandlerEntry::name, &buffer);
     if (B == NULL) {
       // CodeCache is full, disable compilation
       // Ought to log this but compile log is only per compile thread
@@ -1912,9 +1924,9 @@
       tty->cr();
       tty->print_cr("i2c argument handler #%d for: %s %s (fingerprint = 0x%llx, %d bytes generated)",
                     _handlers->length(), (method->is_static() ? "static" : "receiver"),
-                    method->signature()->as_C_string(), fingerprint, buffer.code_size() );
+                    method->signature()->as_C_string(), fingerprint, code_size );
       tty->print_cr("c2i argument handler starts at %p",entry->get_c2i_entry());
-      Disassembler::decode(entry->get_i2c_entry(), entry->get_i2c_entry() + buffer.code_size());
+      Disassembler::decode(entry->get_i2c_entry(), entry->get_i2c_entry() + code_size);
     }
 #endif
 
@@ -1982,42 +1994,44 @@
       return nm;
     }
 
-    // Improve alignment slightly
-    u_char* buf = (u_char*)(((intptr_t)_buffer + CodeEntryAlignment-1) & ~(CodeEntryAlignment-1));
-    CodeBuffer buffer(buf, AdapterHandlerLibrary_size);
-    // Need a few relocation entries
-    double locs_buf[20];
-    buffer.insts()->initialize_shared_locs((relocInfo*)locs_buf, sizeof(locs_buf) / sizeof(relocInfo));
-    MacroAssembler _masm(&buffer);
+    ResourceMark rm;
 
-    // Fill in the signature array, for the calling-convention call.
-    int total_args_passed = method->size_of_parameters();
+    BufferBlob*  buf = buffer_blob(); // the temporary code buffer in CodeCache
+    if (buf != NULL) {
+      CodeBuffer buffer(buf->instructions_begin(), buf->instructions_size());
+      double locs_buf[20];
+      buffer.insts()->initialize_shared_locs((relocInfo*)locs_buf, sizeof(locs_buf) / sizeof(relocInfo));
+      MacroAssembler _masm(&buffer);
 
-    BasicType* sig_bt = NEW_RESOURCE_ARRAY(BasicType,total_args_passed);
-    VMRegPair  * regs   = NEW_RESOURCE_ARRAY(VMRegPair  ,total_args_passed);
-    int i=0;
-    if( !method->is_static() )  // Pass in receiver first
-      sig_bt[i++] = T_OBJECT;
-    SignatureStream ss(method->signature());
-    for( ; !ss.at_return_type(); ss.next()) {
-      sig_bt[i++] = ss.type();  // Collect remaining bits of signature
-      if( ss.type() == T_LONG || ss.type() == T_DOUBLE )
-        sig_bt[i++] = T_VOID;   // Longs & doubles take 2 Java slots
+      // Fill in the signature array, for the calling-convention call.
+      int total_args_passed = method->size_of_parameters();
+
+      BasicType* sig_bt = NEW_RESOURCE_ARRAY(BasicType,total_args_passed);
+      VMRegPair*   regs = NEW_RESOURCE_ARRAY(VMRegPair,total_args_passed);
+      int i=0;
+      if( !method->is_static() )  // Pass in receiver first
+        sig_bt[i++] = T_OBJECT;
+      SignatureStream ss(method->signature());
+      for( ; !ss.at_return_type(); ss.next()) {
+        sig_bt[i++] = ss.type();  // Collect remaining bits of signature
+        if( ss.type() == T_LONG || ss.type() == T_DOUBLE )
+          sig_bt[i++] = T_VOID;   // Longs & doubles take 2 Java slots
+      }
+      assert( i==total_args_passed, "" );
+      BasicType ret_type = ss.type();
+
+      // Now get the compiled-Java layout as input arguments
+      int comp_args_on_stack;
+      comp_args_on_stack = SharedRuntime::java_calling_convention(sig_bt, regs, total_args_passed, false);
+
+      // Generate the compiled-to-native wrapper code
+      nm = SharedRuntime::generate_native_wrapper(&_masm,
+                                                  method,
+                                                  total_args_passed,
+                                                  comp_args_on_stack,
+                                                  sig_bt,regs,
+                                                  ret_type);
     }
-    assert( i==total_args_passed, "" );
-    BasicType ret_type = ss.type();
-
-    // Now get the compiled-Java layout as input arguments
-    int comp_args_on_stack;
-    comp_args_on_stack = SharedRuntime::java_calling_convention(sig_bt, regs, total_args_passed, false);
-
-    // Generate the compiled-to-native wrapper code
-    nm = SharedRuntime::generate_native_wrapper(&_masm,
-                                                method,
-                                                total_args_passed,
-                                                comp_args_on_stack,
-                                                sig_bt,regs,
-                                                ret_type);
   }
 
   // Must unlock before calling set_code
@@ -2077,18 +2091,20 @@
       return nm;
     }
 
-    // Improve alignment slightly
-    u_char* buf = (u_char*)
-        (((intptr_t)_buffer + CodeEntryAlignment-1) & ~(CodeEntryAlignment-1));
-    CodeBuffer buffer(buf, AdapterHandlerLibrary_size);
-    // Need a few relocation entries
-    double locs_buf[20];
-    buffer.insts()->initialize_shared_locs(
+    ResourceMark rm;
+
+    BufferBlob*  buf = buffer_blob(); // the temporary code buffer in CodeCache
+    if (buf != NULL) {
+      CodeBuffer buffer(buf->instructions_begin(), buf->instructions_size());
+      // Need a few relocation entries
+      double locs_buf[20];
+      buffer.insts()->initialize_shared_locs(
         (relocInfo*)locs_buf, sizeof(locs_buf) / sizeof(relocInfo));
-    MacroAssembler _masm(&buffer);
+      MacroAssembler _masm(&buffer);
 
-    // Generate the compiled-to-native wrapper code
-    nm = SharedRuntime::generate_dtrace_nmethod(&_masm, method);
+      // Generate the compiled-to-native wrapper code
+      nm = SharedRuntime::generate_dtrace_nmethod(&_masm, method);
+    }
   }
   return nm;
 }
--- a/hotspot/src/share/vm/runtime/sharedRuntime.hpp	Tue May 12 15:21:55 2009 +0900
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.hpp	Thu May 14 00:17:25 2009 -0700
@@ -557,12 +557,13 @@
 
 class AdapterHandlerLibrary: public AllStatic {
  private:
-  static u_char                   _buffer[];  // the temporary code buffer
+  static BufferBlob* _buffer; // the temporary code buffer in CodeCache
   static GrowableArray<uint64_t>* _fingerprints; // the fingerprint collection
   static GrowableArray<AdapterHandlerEntry*> * _handlers; // the corresponding handlers
   enum {
     AbstractMethodHandler = 1 // special handler for abstract methods
   };
+  static BufferBlob* buffer_blob();
   static void initialize();
   static int get_create_adapter_index(methodHandle method);
   static address get_i2c_entry( int index ) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/6837011/Test6837011.java	Thu May 14 00:17:25 2009 -0700
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * @test
+ * @bug 6837011
+ * @summary SIGSEGV in PhaseIdealLoop in 32bit jvm
+ *
+ * @run main/othervm -Xcomp -XX:CompileOnly=Test6837011.main Test6837011
+ */
+
+public class Test6837011 {
+    static boolean var_3 = true;
+
+    public static void main(String[] args) {
+        double var_5;
+        char var_7 = 1;
+        double var_11 = 0;
+
+        do {
+            var_11++;
+            var_5 = (var_7 /= ( var_3 ? ~1L : 3 ) );
+        } while (var_11 < 1);
+    }
+}
--- a/jaxp/.hgtags	Tue May 12 15:21:55 2009 +0900
+++ b/jaxp/.hgtags	Thu May 14 00:17:25 2009 -0700
@@ -31,3 +31,5 @@
 946a9f0c493261fa6a010dc33e61b9b535ba80c1 jdk7-b54
 039945fba683ee6773a721e2bd4e449f6133769a jdk7-b55
 c197c6801271c60f9c9f5d18fcc95b59e76dcd54 jdk7-b56
+e4851e9f7be26fc52a628be06ffa8aaea0919bd7 jdk7-b57
+13bf67d8c6341b841d268985cabaf747f2652bc8 jdk7-b58
--- a/jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/XSLTProcessorApplet.java	Tue May 12 15:21:55 2009 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,792 +0,0 @@
-/*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
- */
-/*
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/*
- * $Id: XSLTProcessorApplet.java,v 1.2.4.1 2005/09/15 02:20:05 jeffsuttor Exp $
- */
-package com.sun.org.apache.xalan.internal.client;
-
-import java.applet.Applet;
-import java.awt.Graphics;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Hashtable;
-import java.util.Enumeration;
-
-import javax.xml.transform.Templates;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import com.sun.org.apache.xalan.internal.res.XSLMessages;
-import com.sun.org.apache.xalan.internal.res.XSLTErrorResources;
-
-/**
- * Provides applet host for the XSLT processor. To perform transformations on an HTML client:
- * <ol>
- * <li>Use an &lt;applet&gt; tag to embed this applet in the HTML client.</li>
- * <li>Use the DocumentURL and StyleURL PARAM tags or the {@link #setDocumentURL} and
- * {@link #setStyleURL} methods to specify the XML source document and XSL stylesheet.</li>
- * <li>Call the {@link #getHtmlText} method (or one of the transformToHtml() methods)
- * to perform the transformation and return the result as a String.</li>
- * </ol>
- *
- * This class extends Applet which ultimately causes this class to implement Serializable.
- * This is a serious restriction on this class. All fields that are not transient and not
- * static are written-out/read-in during serialization. So even private fields essentially
- * become part of the API. Developers need to take care when modifying fields.
- * @xsl.usage general
- */
-public class XSLTProcessorApplet extends Applet
-{
-
-  /**
-   * The stylesheet processor.
-   * This field is now transient because a
-   * javax.xml.transform.TransformerFactory from JAXP
-   * makes no claims to be serializable.
-   */
-  transient TransformerFactory m_tfactory = null;
-
-  /**
-   * @serial
-   */
-  private String m_styleURL;
-
-  /**
-   * @serial
-   */
-  private String m_documentURL;
-
-  // Parameter names.  To change a name of a parameter, you need only make
-  // a single change.  Simply modify the value of the parameter string below.
-  //--------------------------------------------------------------------------
-
-  /**
-   * @serial
-   */
-  private final String PARAM_styleURL = "styleURL";
-
-  /**
-   * @serial
-   */
-  private final String PARAM_documentURL = "documentURL";
-
-
-  // We'll keep the DOM trees around, so tell which trees
-  // are cached.
-
-  /**
-   * @serial
-   */
-  private String m_styleURLOfCached = null;
-
-  /**
-   * @serial
-   */
-  private String m_documentURLOfCached = null;
-
-  /**
-   * Save this for use on the worker thread; may not be necessary.
-   * @serial
-   */
-  private URL m_codeBase = null;
-
-  /**
-   * @serial
-   */
-  private String m_treeURL = null;
-
-  /**
-   * DocumentBase URL
-   * @serial
-   */
-  private URL m_documentBase = null;
-
-  /**
-   * Thread stuff for the trusted worker thread.
-   */
-  transient private Thread m_callThread = null;
-
-  /**
-   */
-  transient private TrustedAgent m_trustedAgent = null;
-
-  /**
-   * Thread for running TrustedAgent.
-   */
-  transient private Thread m_trustedWorker = null;
-
-  /**
-   * Where the worker thread puts the HTML text.
-   */
-  transient private String m_htmlText = null;
-
-  /**
-   * Where the worker thread puts the document/stylesheet text.
-   */
-  transient private String m_sourceText = null;
-
-  /**
-   * Stylesheet attribute name and value that the caller can set.
-   */
-  transient private String m_nameOfIDAttrOfElemToModify = null;
-
-  /**
-   */
-  transient private String m_elemIdToModify = null;
-
-  /**
-   */
-  transient private String m_attrNameToSet = null;
-
-  /**
-   */
-  transient private String m_attrValueToSet = null;
-
-  /**
-   * The XSLTProcessorApplet constructor takes no arguments.
-   */
-  public XSLTProcessorApplet(){}
-
-  /**
-   * Get basic information about the applet
-   * @return A String with the applet name and author.
-   */
-  public String getAppletInfo()
-  {
-    return "Name: XSLTProcessorApplet\r\n" + "Author: Scott Boag";
-  }
-
-  /**
-   * Get descriptions of the applet parameters.
-   * @return A two-dimensional array of Strings with Name, Type, and Description
-   * for each parameter.
-   */
-  public String[][] getParameterInfo()
-  {
-
-    String[][] info =
-    {
-      { PARAM_styleURL, "String", "URL to an XSL stylesheet" },
-      { PARAM_documentURL, "String", "URL to an XML document" },
-    };
-
-    return info;
-  }
-
-  /**
-   * Standard applet initialization.
-   */
-  public void init()
-  {
-
-    // PARAMETER SUPPORT
-    //          The following code retrieves the value of each parameter
-    // specified with the <PARAM> tag and stores it in a member
-    // variable.
-    //----------------------------------------------------------------------
-    String param;
-
-    // styleURL: Parameter description
-    //----------------------------------------------------------------------
-    param = getParameter(PARAM_styleURL);
-
-    // stylesheet parameters
-    m_parameters = new Hashtable();
-
-    if (param != null)
-      setStyleURL(param);
-
-    // documentURL: Parameter description
-    //----------------------------------------------------------------------
-    param = getParameter(PARAM_documentURL);
-
-    if (param != null)
-      setDocumentURL(param);
-
-    m_codeBase = this.getCodeBase();
-    m_documentBase = this.getDocumentBase();
-
-    // If you use a ResourceWizard-generated "control creator" class to
-    // arrange controls in your applet, you may want to call its
-    // CreateControls() method from within this method. Remove the following
-    // call to resize() before adding the call to CreateControls();
-    // CreateControls() does its own resizing.
-    //----------------------------------------------------------------------
-    resize(320, 240);
-  }
-
-    /**
-   *  Automatically called when the HTML client containing the applet loads.
-   *  This method starts execution of the applet thread.
-   */
-  public void start()
-  {
-      //check if user code's on the stack before invoking the worker thread
-     boolean passed = false;
-     try {
-       java.security.AccessController.checkPermission(new java.security.AllPermission());
-     } catch (SecurityException se) {
-         //expected
-         passed = true;
-     }
-     if (!passed) {
-         throw new SecurityException("The XSLTProcessorApplet class must be extended and its method start() overridden.");
-     }
-
-    m_trustedAgent = new TrustedAgent();
-    Thread currentThread = Thread.currentThread();
-    m_trustedWorker = new Thread(currentThread.getThreadGroup(),
-                                 m_trustedAgent);
-    m_trustedWorker.start();
-    try
-    {
-      m_tfactory = TransformerFactory.newInstance();
-      this.showStatus("Causing Transformer and Parser to Load and JIT...");
-
-      // Prime the pump so that subsequent transforms are faster.
-      StringReader xmlbuf = new StringReader("<?xml version='1.0'?><foo/>");
-      StringReader xslbuf = new StringReader(
-        "<?xml version='1.0'?><xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'><xsl:template match='foo'><out/></xsl:template></xsl:stylesheet>");
-      PrintWriter pw = new PrintWriter(new StringWriter());
-
-      synchronized (m_tfactory)
-      {
-        Templates templates = m_tfactory.newTemplates(new StreamSource(xslbuf));
-        Transformer transformer = templates.newTransformer();
-        transformer.transform(new StreamSource(xmlbuf), new StreamResult(pw));
-      }
-      System.out.println("Primed the pump!");
-      this.showStatus("Ready to go!");
-    }
-    catch (Exception e)
-    {
-      this.showStatus("Could not prime the pump!");
-      System.out.println("Could not prime the pump!");
-      e.printStackTrace();
-    }
-  }
-
-  /**
-   * Do not call; this applet contains no UI or visual components.
-   *
-   */
-  public void paint(Graphics g){}
-
-  /**
-   * Automatically called when the HTML page containing the applet is no longer
-   * on the screen. Stops execution of the applet thread.
-   */
-  public void stop()
-  {
-    if (null != m_trustedWorker)
-    {
-      m_trustedWorker.stop();
-
-      // m_trustedWorker.destroy();
-      m_trustedWorker = null;
-    }
-
-    m_styleURLOfCached = null;
-    m_documentURLOfCached = null;
-  }
-
-  /**
-   * Cleanup; called when applet is terminated and unloaded.
-   */
-  public void destroy()
-  {
-    if (null != m_trustedWorker)
-    {
-      m_trustedWorker.stop();
-
-      // m_trustedWorker.destroy();
-      m_trustedWorker = null;
-    }
-    m_styleURLOfCached = null;
-    m_documentURLOfCached = null;
-  }
-
-  /**
-   * Set the URL to the XSL stylesheet that will be used
-   * to transform the input XML.  No processing is done yet.
-   * @param urlString valid URL string for XSL stylesheet.
-   */
-  public void setStyleURL(String urlString)
-  {
-    m_styleURL = urlString;
-  }
-
-  /**
-   * Set the URL to the XML document that will be transformed
-   * with the XSL stylesheet.  No processing is done yet.
-   * @param urlString valid URL string for XML document.
-   */
-  public void setDocumentURL(String urlString)
-  {
-    m_documentURL = urlString;
-  }
-
-  /**
-   * The processor keeps a cache of the source and
-   * style trees, so call this method if they have changed
-   * or you want to do garbage collection.
-   */
-  public void freeCache()
-  {
-    m_styleURLOfCached = null;
-    m_documentURLOfCached = null;
-  }
-
-  /**
-   * Set an attribute in the stylesheet, which gives the ability
-   * to have some dynamic selection control.
-   * @param nameOfIDAttrOfElemToModify The name of an attribute to search for a unique id.
-   * @param elemId The unique ID to look for.
-   * @param attrName Once the element is found, the name of the attribute to set.
-   * @param value The value to set the attribute to.
-   */
-  public void setStyleSheetAttribute(String nameOfIDAttrOfElemToModify,
-                                     String elemId, String attrName,
-                                     String value)
-  {
-    m_nameOfIDAttrOfElemToModify = nameOfIDAttrOfElemToModify;
-    m_elemIdToModify = elemId;
-    m_attrNameToSet = attrName;
-    m_attrValueToSet = value;
-  }
-
-
-  /**
-   * Stylesheet parameter key/value pair stored in a hashtable
-   */
-  transient Hashtable m_parameters;
-
-  /**
-   * Submit a stylesheet parameter.
-   *
-   * @param key stylesheet parameter key
-   * @param expr the parameter expression to be submitted.
-   * @see javax.xml.transform.Transformer#setParameter(String,Object)
-   */
-  public void setStylesheetParam(String key, String expr)
-  {
-    m_parameters.put(key, expr);
-  }
-
-  /**
-   * Given a String containing markup, escape the markup so it
-   * can be displayed in the browser.
-   *
-   * @param s String to escape
-   *
-   * The escaped string.
-   */
-  public String escapeString(String s)
-  {
-    StringBuffer sb = new StringBuffer();
-    int length = s.length();
-
-    for (int i = 0; i < length; i++)
-    {
-      char ch = s.charAt(i);
-
-      if ('<' == ch)
-      {
-        sb.append("&lt;");
-      }
-      else if ('>' == ch)
-      {
-        sb.append("&gt;");
-      }
-      else if ('&' == ch)
-      {
-        sb.append("&amp;");
-      }
-      else if (0xd800 <= ch && ch < 0xdc00)
-      {
-        // UTF-16 surrogate
-        int next;
-
-        if (i + 1 >= length)
-        {
-          throw new RuntimeException(
-            XSLMessages.createMessage(
-              XSLTErrorResources.ER_INVALID_UTF16_SURROGATE,
-              new Object[]{ Integer.toHexString(ch) }));  //"Invalid UTF-16 surrogate detected: "
-
-          //+Integer.toHexString(ch)+ " ?");
-        }
-        else
-        {
-          next = s.charAt(++i);
-
-          if (!(0xdc00 <= next && next < 0xe000))
-            throw new RuntimeException(
-              XSLMessages.createMessage(
-                XSLTErrorResources.ER_INVALID_UTF16_SURROGATE,
-                new Object[]{
-                  Integer.toHexString(ch) + " "
-                  + Integer.toHexString(next) }));  //"Invalid UTF-16 surrogate detected: "
-
-          //+Integer.toHexString(ch)+" "+Integer.toHexString(next));
-          next = ((ch - 0xd800) << 10) + next - 0xdc00 + 0x00010000;
-        }
-        sb.append("&#x");
-        sb.append(Integer.toHexString(next));
-        sb.append(";");
-      }
-      else
-      {
-        sb.append(ch);
-      }
-    }
-    return sb.toString();
-  }
-
-  /**
-   * Assuming the stylesheet URL and the input XML URL have been set,
-   * perform the transformation and return the result as a String.
-   *
-   * @return A string that contains the contents pointed to by the URL.
-   *
-   */
-  public String getHtmlText()
-  {
-    m_trustedAgent.m_getData = true;
-    m_callThread = Thread.currentThread();
-    try
-    {
-      synchronized (m_callThread)
-      {
-        m_callThread.wait();
-      }
-    }
-    catch (InterruptedException ie)
-    {
-      System.out.println(ie.getMessage());
-    }
-    return m_htmlText;
-  }
-
-  /**
-   * Get an XML document (or stylesheet)
-   *
-   * @param treeURL valid URL string for the document.
-   *
-   * @return document
-   *
-   * @throws IOException
-   */
-  public String getTreeAsText(String treeURL) throws IOException
-  {
-    m_treeURL = treeURL;
-    m_trustedAgent.m_getData = true;
-    m_trustedAgent.m_getSource = true;
-    m_callThread = Thread.currentThread();
-    try
-    {
-      synchronized (m_callThread)
-      {
-        m_callThread.wait();
-      }
-    }
-    catch (InterruptedException ie)
-    {
-      System.out.println(ie.getMessage());
-    }
-    return m_sourceText;
-  }
-
-  /**
-   * Use a Transformer to copy the source document
-   * to a StreamResult.
-   *
-   * @return the document as a string
-   */
-  private String getSource() throws TransformerException
-  {
-    StringWriter osw = new StringWriter();
-    PrintWriter pw = new PrintWriter(osw, false);
-    String text = "";
-    try
-    {
-      URL docURL = new URL(m_documentBase, m_treeURL);
-      synchronized (m_tfactory)
-      {
-        Transformer transformer = m_tfactory.newTransformer();
-        StreamSource source = new StreamSource(docURL.toString());
-        StreamResult result = new StreamResult(pw);
-        transformer.transform(source, result);
-        text = osw.toString();
-      }
-    }
-    catch (MalformedURLException e)
-    {
-      e.printStackTrace();
-      throw new RuntimeException(e.getMessage());
-    }
-    catch (Exception any_error)
-    {
-      any_error.printStackTrace();
-    }
-    return text;
-  }
-
-  /**
-   * Get the XML source Tree as a text string suitable
-   * for display in a browser.  Note that this is for display of the
-   * XML itself, not for rendering of HTML by the browser.
-   *
-   * @return XML source document as a string.
-   * @throws Exception thrown if tree can not be converted.
-   */
-  public String getSourceTreeAsText() throws Exception
-  {
-    return getTreeAsText(m_documentURL);
-  }
-
-  /**
-   * Get the XSL style Tree as a text string suitable
-   * for display in a browser.  Note that this is for display of the
-   * XML itself, not for rendering of HTML by the browser.
-   *
-   * @return The XSL stylesheet as a string.
-   * @throws Exception thrown if tree can not be converted.
-   */
-  public String getStyleTreeAsText() throws Exception
-  {
-    return getTreeAsText(m_styleURL);
-  }
-
-  /**
-   * Get the HTML result Tree as a text string suitable
-   * for display in a browser.  Note that this is for display of the
-   * XML itself, not for rendering of HTML by the browser.
-   *
-   * @return Transformation result as unmarked text.
-   * @throws Exception thrown if tree can not be converted.
-   */
-  public String getResultTreeAsText() throws Exception
-  {
-    return escapeString(getHtmlText());
-  }
-
-  /**
-   * Process a document and a stylesheet and return
-   * the transformation result.  If one of these is null, the
-   * existing value (of a previous transformation) is not affected.
-   *
-   * @param doc URL string to XML document
-   * @param style URL string to XSL stylesheet
-   *
-   * @return HTML transformation result
-   */
-  public String transformToHtml(String doc, String style)
-  {
-
-    if (null != doc)
-    {
-      m_documentURL = doc;
-    }
-
-    if (null != style)
-    {
-      m_styleURL = style;
-    }
-
-    return getHtmlText();
-  }
-
-  /**
-   * Process a document and a stylesheet and return
-   * the transformation result. Use the xsl:stylesheet PI to find the
-   * document, if one exists.
-   *
-   * @param doc  URL string to XML document containing an xsl:stylesheet PI.
-   *
-   * @return HTML transformation result
-   */
-  public String transformToHtml(String doc)
-  {
-
-    if (null != doc)
-    {
-      m_documentURL = doc;
-    }
-
-    m_styleURL = null;
-
-    return getHtmlText();
-  }
-
-
-  /**
-   * Process the transformation.
-   *
-   * @return The transformation result as a string.
-   *
-   * @throws TransformerException
-   */
-  private String processTransformation() throws TransformerException
-  {
-    String htmlData = null;
-    this.showStatus("Waiting for Transformer and Parser to finish loading and JITing...");
-
-    synchronized (m_tfactory)
-    {
-     URL documentURL = null;
-      URL styleURL = null;
-      StringWriter osw = new StringWriter();
-      PrintWriter pw = new PrintWriter(osw, false);
-      StreamResult result = new StreamResult(pw);
-
-      this.showStatus("Begin Transformation...");
-      try
-      {
-        documentURL = new URL(m_codeBase, m_documentURL);
-        StreamSource xmlSource = new StreamSource(documentURL.toString());
-
-        styleURL = new URL(m_codeBase, m_styleURL);
-        StreamSource xslSource = new StreamSource(styleURL.toString());
-
-        Transformer transformer = m_tfactory.newTransformer(xslSource);
-
-
-        Enumeration m_keys = m_parameters.keys();
-        while (m_keys.hasMoreElements()){
-          Object key = m_keys.nextElement();
-          Object expression = m_parameters.get(key);
-          transformer.setParameter((String) key, expression);
-        }
-        transformer.transform(xmlSource, result);
-      }
-      catch (TransformerConfigurationException tfe)
-      {
-        tfe.printStackTrace();
-        throw new RuntimeException(tfe.getMessage());
-      }
-      catch (MalformedURLException e)
-      {
-        e.printStackTrace();
-        throw new RuntimeException(e.getMessage());
-      }
-
-      this.showStatus("Transformation Done!");
-      htmlData = osw.toString();
-    }
-    return htmlData;
-  }
-
-  /**
-   * This class maintains a worker thread that that is
-   * trusted and can do things like access data.  You need
-   * this because the thread that is called by the browser
-   * is not trusted and can't access data from the URLs.
-   */
-  class TrustedAgent implements Runnable
-  {
-
-    /**
-     * Specifies whether the worker thread should perform a transformation.
-     */
-    public boolean m_getData = false;
-
-    /**
-     * Specifies whether the worker thread should get an XML document or XSL stylesheet.
-     */
-    public boolean m_getSource = false;
-
-    /**
-     * The real work is done from here.
-     *
-     */
-    public void run()
-    {
-      while (true)
-      {
-        m_trustedWorker.yield();
-
-        if (m_getData)  // Perform a transformation or get a document.
-        {
-          try
-          {
-            m_getData = false;
-            m_htmlText = null;
-            m_sourceText = null;
-            if (m_getSource)  // Get a document.
-            {
-              m_getSource = false;
-              m_sourceText = getSource();
-            }
-            else              // Perform a transformation.
-              m_htmlText = processTransformation();
-          }
-          catch (Exception e)
-          {
-            e.printStackTrace();
-          }
-          finally
-          {
-            synchronized (m_callThread)
-            {
-              m_callThread.notify();
-            }
-          }
-        }
-        else
-        {
-          try
-          {
-            m_trustedWorker.sleep(50);
-          }
-          catch (InterruptedException ie)
-          {
-            ie.printStackTrace();
-          }
-        }
-      }
-    }
-  }
-
-  // For compatiblity with old serialized objects
-  // We will change non-serialized fields and change methods
-  // and not have this break us.
-  private static final long serialVersionUID=4618876841979251422L;
-
-  // For compatibility when de-serializing old objects
-  private void readObject(java.io.ObjectInputStream inStream) throws IOException, ClassNotFoundException
-  {
-      inStream.defaultReadObject();
-
-      // Needed assignment of non-serialized fields
-
-      // A TransformerFactory is not guaranteed to be serializable,
-      // so we create one here
-      m_tfactory = TransformerFactory.newInstance();
-  }
-}
--- a/jaxp/src/share/classes/com/sun/org/apache/xalan/internal/client/package.html	Tue May 12 15:21:55 2009 +0900
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-<!--
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
--->
-<!--
- * Copyright 2000-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
--->
-<!-- $Id: package.html,v 1.1.2.1 2005/08/01 02:11:22 jeffsuttor Exp $ -->
-<html>
-  <title>Xalan Client Package.</title>
-  <body>
-    <p>Implementation of Xalan applet.<p>
- </body>
-</html>
-
-
--- a/jaxws/.hgtags	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/.hgtags	Thu May 14 00:17:25 2009 -0700
@@ -31,3 +31,5 @@
 50ea00dc5f143fe00025233e704903c37f8464aa jdk7-b54
 e0eebd978b830c09e7862cff3f77a914c15651c9 jdk7-b55
 0f7fbf85f7a1d9c027a863b9955c623352ed1292 jdk7-b56
+68257a5eb19afc11aee7eb19f7250f9b9eec7c05 jdk7-b57
+5fb4fbea81c3609916da00417fdd15dbd9e39e97 jdk7-b58
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JClassContainer.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JClassContainer.java	Thu May 14 00:17:25 2009 -0700
@@ -145,6 +145,7 @@
      *      newly created Annotation Type Declaration
      * @exception JClassAlreadyExistsException
      *      When the specified class/interface was already created.
+
      */
     public JDefinedClass _annotationTypeDeclaration(String name) throws JClassAlreadyExistsException;
 
@@ -156,6 +157,7 @@
      *      newly created Enum
      * @exception JClassAlreadyExistsException
      *      When the specified class/interface was already created.
+
      */
     public JDefinedClass _enum (String name) throws JClassAlreadyExistsException;
 
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JDefinedClass.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JDefinedClass.java	Thu May 14 00:17:25 2009 -0700
@@ -428,6 +428,7 @@
      *      newly created Annotation Type Declaration
      * @exception JClassAlreadyExistsException
      *      When the specified class/interface was already created.
+
      */
     public JDefinedClass _annotationTypeDeclaration(String name) throws JClassAlreadyExistsException {
         return _class (JMod.PUBLIC,name,ClassType.ANNOTATION_TYPE_DECL);
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JForEach.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JForEach.java	Thu May 14 00:17:25 2009 -0700
@@ -33,17 +33,17 @@
  */
 public final class JForEach implements JStatement {
 
-    private final JType type;
-    private final String var;
-    private JBlock body = null; // lazily created
-    private final JExpression collection;
+        private final JType type;
+        private final String var;
+        private JBlock body = null; // lazily created
+        private final JExpression collection;
     private final JVar loopVar;
 
-    public JForEach(JType vartype, String variable, JExpression collection) {
+        public JForEach(JType vartype, String variable, JExpression collection) {
 
-        this.type = vartype;
-        this.var = variable;
-        this.collection = collection;
+                this.type = vartype;
+                this.var = variable;
+                this.collection = collection;
         loopVar = new JVar(JMods.forVar(JMod.NONE), type, var, collection);
     }
 
@@ -51,24 +51,24 @@
     /**
      * Returns a reference to the loop variable.
      */
-    public JVar var() {
-        return loopVar;
-    }
+        public JVar var() {
+                return loopVar;
+        }
 
-    public JBlock body() {
-        if (body == null)
-            body = new JBlock();
-        return body;
-    }
+        public JBlock body() {
+                if (body == null)
+                        body = new JBlock();
+                return body;
+        }
 
-    public void state(JFormatter f) {
-        f.p("for (");
-        f.g(type).id(var).p(": ").g(collection);
-        f.p(')');
-        if (body != null)
-            f.g(body).nl();
-        else
-            f.p(';').nl();
-    }
+        public void state(JFormatter f) {
+                f.p("for (");
+                f.g(type).id(var).p(": ").g(collection);
+                f.p(')');
+                if (body != null)
+                        f.g(body).nl();
+                else
+                        f.p(';').nl();
+        }
 
 }
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JMethod.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JMethod.java	Thu May 14 00:17:25 2009 -0700
@@ -38,49 +38,49 @@
  */
 public class JMethod extends JGenerifiableImpl implements JDeclaration, JAnnotatable {
 
-    /**
-     * Modifiers for this method
-     */
-    private JMods mods;
+        /**
+         * Modifiers for this method
+         */
+        private JMods mods;
 
-    /**
-     * Return type for this method
-     */
-    private JType type = null;
+        /**
+         * Return type for this method
+         */
+        private JType type = null;
 
-    /**
-     * Name of this method
-     */
-    private String name = null;
+        /**
+         * Name of this method
+         */
+        private String name = null;
 
-    /**
-     * List of parameters for this method's declaration
-     */
-    private final List<JVar> params = new ArrayList<JVar>();
+        /**
+         * List of parameters for this method's declaration
+         */
+        private final List<JVar> params = new ArrayList<JVar>();
 
-    /**
-     * Set of exceptions that this method may throw.
+        /**
+         * Set of exceptions that this method may throw.
      * A set instance lazily created.
-     */
-    private Set<JClass> _throws;
+         */
+        private Set<JClass> _throws;
 
-    /**
-     * JBlock of statements that makes up the body this method
-     */
-    private JBlock body = null;
+        /**
+         * JBlock of statements that makes up the body this method
+         */
+        private JBlock body = null;
 
-    private JDefinedClass outer;
+        private JDefinedClass outer;
 
-    /**
-     * javadoc comments for this JMethod
-     */
-    private JDocComment jdoc = null;
+        /**
+         * javadoc comments for this JMethod
+         */
+        private JDocComment jdoc = null;
 
-    /**
-     * Variable parameter for this method's varargs declaration
-     * introduced in J2SE 1.5
-     */
-    private JVar varParam = null;
+        /**
+         * Variable parameter for this method's varargs declaration
+         * introduced in J2SE 1.5
+         */
+        private JVar varParam = null;
 
     /**
      * Annotations on this variable. Lazily created.
@@ -88,9 +88,9 @@
     private List<JAnnotationUse> annotations = null;
 
 
-    private boolean isConstructor() {
-        return type == null;
-    }
+        private boolean isConstructor() {
+                return type == null;
+        }
 
     /** To set the default value for the
      *  annotation member
@@ -98,40 +98,40 @@
     private JExpression defaultValue = null;
 
 
-    /**
-     * JMethod constructor
-     *
-     * @param mods
-     *        Modifiers for this method's declaration
-     *
-     * @param type
-     *        Return type for the method
-     *
-     * @param name
-     *        Name of this method
-     */
-    JMethod(JDefinedClass outer, int mods, JType type, String name) {
-        this.mods = JMods.forMethod(mods);
-        this.type = type;
-        this.name = name;
-        this.outer = outer;
-    }
+        /**
+         * JMethod constructor
+         *
+         * @param mods
+         *        Modifiers for this method's declaration
+         *
+         * @param type
+         *        Return type for the method
+         *
+         * @param name
+         *        Name of this method
+         */
+        JMethod(JDefinedClass outer, int mods, JType type, String name) {
+                this.mods = JMods.forMethod(mods);
+                this.type = type;
+                this.name = name;
+                this.outer = outer;
+        }
 
-    /**
-     * Constructor constructor
-     *
-     * @param mods
-     *        Modifiers for this constructor's declaration
-     *
-     * @param _class
-     *        JClass containing this constructor
-     */
-    JMethod(int mods, JDefinedClass _class) {
-        this.mods = JMods.forMethod(mods);
-        this.type = null;
-        this.name = _class.name();
-        this.outer = _class;
-    }
+        /**
+         * Constructor constructor
+         *
+         * @param mods
+         *        Modifiers for this constructor's declaration
+         *
+         * @param _class
+         *        JClass containing this constructor
+         */
+        JMethod(int mods, JDefinedClass _class) {
+                this.mods = JMods.forMethod(mods);
+                this.type = null;
+                this.name = _class.name();
+                this.outer = _class;
+        }
 
     private Set<JClass> getThrows() {
         if(_throws==null)
@@ -139,56 +139,56 @@
         return _throws;
     }
 
-    /**
-     * Add an exception to the list of exceptions that this
-     * method may throw.
-     *
-     * @param exception
-     *        Name of an exception that this method may throw
-     */
-    public JMethod _throws(JClass exception) {
+        /**
+         * Add an exception to the list of exceptions that this
+         * method may throw.
+         *
+         * @param exception
+         *        Name of an exception that this method may throw
+         */
+        public JMethod _throws(JClass exception) {
         getThrows().add(exception);
-        return this;
-    }
+                return this;
+        }
 
-    public JMethod _throws(Class exception) {
-        return _throws(outer.owner().ref(exception));
-    }
+        public JMethod _throws(Class exception) {
+                return _throws(outer.owner().ref(exception));
+        }
 
-    /**
-     * Add the specified variable to the list of parameters
-     * for this method signature.
-     *
-     * @param type
-     *        JType of the parameter being added
-     *
-     * @param name
-     *        Name of the parameter being added
-     *
-     * @return New parameter variable
-     */
-    public JVar param(int mods, JType type, String name) {
-        JVar v = new JVar(JMods.forVar(mods), type, name, null);
-        params.add(v);
-        return v;
-    }
+        /**
+         * Add the specified variable to the list of parameters
+         * for this method signature.
+         *
+         * @param type
+         *        JType of the parameter being added
+         *
+         * @param name
+         *        Name of the parameter being added
+         *
+         * @return New parameter variable
+         */
+        public JVar param(int mods, JType type, String name) {
+                JVar v = new JVar(JMods.forVar(mods), type, name, null);
+                params.add(v);
+                return v;
+        }
 
-    public JVar param(JType type, String name) {
-        return param(JMod.NONE, type, name);
-    }
+        public JVar param(JType type, String name) {
+                return param(JMod.NONE, type, name);
+        }
 
-    public JVar param(int mods, Class type, String name) {
-        return param(mods, outer.owner()._ref(type), name);
-    }
+        public JVar param(int mods, Class type, String name) {
+                return param(mods, outer.owner()._ref(type), name);
+        }
 
-    public JVar param(Class type, String name) {
-        return param(outer.owner()._ref(type), name);
-    }
+        public JVar param(Class type, String name) {
+                return param(outer.owner()._ref(type), name);
+        }
 
-    /**
-     * @see #varParam(JType, String)
-     */
-    public JVar varParam(Class type, String name) {
+        /**
+         * @see #varParam(JType, String)
+         */
+        public JVar varParam(Class type, String name) {
         return varParam(outer.owner()._ref(type),name);
     }
 
@@ -210,25 +210,25 @@
      *      method signature.
      */
     public JVar varParam(JType type, String name) {
-        if (!hasVarArgs()) {
+                if (!hasVarArgs()) {
 
             varParam =
-                new JVar(
-                    JMods.forVar(JMod.NONE),
-                    type.array(),
-                    name,
-                    null);
-            return varParam;
-        } else {
-            throw new IllegalStateException(
-                "Cannot have two varargs in a method,\n"
-                    + "Check if varParam method of JMethod is"
-                    + " invoked more than once");
+                                new JVar(
+                                        JMods.forVar(JMod.NONE),
+                                        type.array(),
+                                        name,
+                                        null);
+                        return varParam;
+                } else {
+                        throw new IllegalStateException(
+                                "Cannot have two varargs in a method,\n"
+                                        + "Check if varParam method of JMethod is"
+                                        + " invoked more than once");
+
+                }
 
         }
 
-    }
-
     /**
      * Adds an annotation to this variable.
      * @param clazz
@@ -256,17 +256,17 @@
         return TypedAnnotationWriter.create(clazz,this);
     }
 
-    /**
-     * Check if there are any varargs declared
-     * for this method signature.
-     */
-    public boolean hasVarArgs() {
-        return this.varParam!=null;
-    }
+        /**
+         * Check if there are any varargs declared
+         * for this method signature.
+         */
+        public boolean hasVarArgs() {
+                return this.varParam!=null;
+        }
 
-    public String name() {
-        return name;
-    }
+        public String name() {
+                return name;
+        }
 
     /**
      * Changes the name of the method.
@@ -276,11 +276,11 @@
     }
 
     /**
-     * Returns the return type.
-     */
-    public JType type() {
-        return type;
-    }
+         * Returns the return type.
+         */
+        public JType type() {
+                return type;
+        }
 
     /**
      * Overrides the return type.
@@ -290,72 +290,72 @@
     }
 
     /**
-     * Returns all the parameter types in an array.
-     * @return
-     *      If there's no parameter, an empty array will be returned.
-     */
-    public JType[] listParamTypes() {
-        JType[] r = new JType[params.size()];
-        for (int i = 0; i < r.length; i++)
-            r[i] = params.get(i).type();
-        return r;
-    }
+         * Returns all the parameter types in an array.
+         * @return
+         *      If there's no parameter, an empty array will be returned.
+         */
+        public JType[] listParamTypes() {
+                JType[] r = new JType[params.size()];
+                for (int i = 0; i < r.length; i++)
+                        r[i] = params.get(i).type();
+                return r;
+        }
 
-    /**
-     * Returns  the varags parameter type.
-     * @return
-     * If there's no vararg parameter type, null will be returned.
-     */
-    public JType listVarParamType() {
-        if (varParam != null)
-            return varParam.type();
-        else
-            return null;
-    }
+        /**
+         * Returns  the varags parameter type.
+         * @return
+         * If there's no vararg parameter type, null will be returned.
+         */
+        public JType listVarParamType() {
+                if (varParam != null)
+                        return varParam.type();
+                else
+                        return null;
+        }
 
-    /**
-     * Returns all the parameters in an array.
-     * @return
-     *      If there's no parameter, an empty array will be returned.
-     */
-    public JVar[] listParams() {
-        return params.toArray(new JVar[params.size()]);
-    }
+        /**
+         * Returns all the parameters in an array.
+         * @return
+         *      If there's no parameter, an empty array will be returned.
+         */
+        public JVar[] listParams() {
+                return params.toArray(new JVar[params.size()]);
+        }
 
-    /**
-     * Returns the variable parameter
-     * @return
-     *      If there's no parameter, null will be returned.
-     */
-    public JVar listVarParam() {
-        return varParam;
-    }
+        /**
+         * Returns the variable parameter
+         * @return
+         *      If there's no parameter, null will be returned.
+         */
+        public JVar listVarParam() {
+                return varParam;
+        }
 
-    /**
-     * Returns true if the method has the specified signature.
-     */
-    public boolean hasSignature(JType[] argTypes) {
-        JVar[] p = listParams();
-        if (p.length != argTypes.length)
-            return false;
+        /**
+         * Returns true if the method has the specified signature.
+         */
+        public boolean hasSignature(JType[] argTypes) {
+                JVar[] p = listParams();
+                if (p.length != argTypes.length)
+                        return false;
 
-        for (int i = 0; i < p.length; i++)
-            if (!p[i].type().equals(argTypes[i]))
-                return false;
+                for (int i = 0; i < p.length; i++)
+                        if (!p[i].type().equals(argTypes[i]))
+                                return false;
 
-        return true;
-    }
+                return true;
+        }
 
-    /**
-     * Get the block that makes up body of this method
-     *
-     * @return Body of method
-     */
-    public JBlock body() {
-        if (body == null)
-            body = new JBlock();
-        return body;
-    }
+        /**
+         * Get the block that makes up body of this method
+         *
+         * @return Body of method
+         */
+        public JBlock body() {
+                if (body == null)
+                        body = new JBlock();
+                return body;
+        }
 
     /**
      * Specify the default value for this annotation member
@@ -367,37 +367,37 @@
         this.defaultValue = value;
     }
 
-    /**
-     * Creates, if necessary, and returns the class javadoc for this
-     * JDefinedClass
-     *
-     * @return JDocComment containing javadocs for this class
-     */
-    public JDocComment javadoc() {
-        if (jdoc == null)
-            jdoc = new JDocComment(owner());
-        return jdoc;
-    }
+        /**
+         * Creates, if necessary, and returns the class javadoc for this
+         * JDefinedClass
+         *
+         * @return JDocComment containing javadocs for this class
+         */
+        public JDocComment javadoc() {
+                if (jdoc == null)
+                        jdoc = new JDocComment(owner());
+                return jdoc;
+        }
 
-    public void declare(JFormatter f) {
-        if (jdoc != null)
-            f.g(jdoc);
+        public void declare(JFormatter f) {
+                if (jdoc != null)
+                        f.g(jdoc);
 
         if (annotations != null){
             for (JAnnotationUse a : annotations)
                 f.g(a).nl();
         }
 
-        // declare the generics parameters
-        super.declare(f);
+                // declare the generics parameters
+                super.declare(f);
 
-        f.g(mods);
-        if (!isConstructor())
-            f.g(type);
-        f.id(name).p('(').i();
+                f.g(mods);
+                if (!isConstructor())
+                        f.g(type);
+                f.id(name).p('(').i();
         // when parameters are printed in new lines, we want them to be indented.
         // there's a good chance no newlines happen, too, but just in case it does.
-        boolean first = true;
+                boolean first = true;
         for (JVar var : params) {
             if (!first)
                 f.p(',');
@@ -406,33 +406,33 @@
             f.b(var);
             first = false;
         }
-        if (hasVarArgs()) {
-            if (!first)
-                f.p(',');
-            f.g(varParam.type().elementType());
-            f.p("... ");
-            f.id(varParam.name());
-        }
+                if (hasVarArgs()) {
+                        if (!first)
+                                f.p(',');
+                        f.g(varParam.type().elementType());
+                        f.p("... ");
+                        f.id(varParam.name());
+                }
 
-        f.o().p(')');
-        if (_throws!=null && !_throws.isEmpty()) {
-            f.nl().i().p("throws").g(_throws).nl().o();
-        }
+                f.o().p(')');
+                if (_throws!=null && !_throws.isEmpty()) {
+                        f.nl().i().p("throws").g(_throws).nl().o();
+                }
 
         if (defaultValue != null) {
             f.p("default ");
             f.g(defaultValue);
         }
-        if (body != null) {
-            f.s(body);
-        } else if (
-            !outer.isInterface() && !outer.isAnnotationTypeDeclaration() && !mods.isAbstract() && !mods.isNative()) {
-            // Print an empty body for non-native, non-abstract methods
-            f.s(new JBlock());
-        } else {
-            f.p(';').nl();
+                if (body != null) {
+                        f.s(body);
+                } else if (
+                        !outer.isInterface() && !outer.isAnnotationTypeDeclaration() && !mods.isAbstract() && !mods.isNative()) {
+                        // Print an empty body for non-native, non-abstract methods
+                        f.s(new JBlock());
+                } else {
+                        f.p(';').nl();
+                }
         }
-    }
 
     /**
      * @return
@@ -447,10 +447,10 @@
      * @deprecated use {@link #mods()}
      */
     public JMods getMods() {
-        return mods;
-    }
+                return mods;
+        }
 
-    protected JCodeModel owner() {
-        return outer.owner();
-    }
+        protected JCodeModel owner() {
+                return outer.owner();
+        }
 }
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/JMods.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/JMods.java	Thu May 14 00:17:25 2009 -0700
@@ -41,17 +41,17 @@
         = JMod.FINAL;
 
     private static int FIELD
-    = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED
-       | JMod.STATIC | JMod.FINAL
-       | JMod.TRANSIENT | JMod.VOLATILE);
+        = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED
+           | JMod.STATIC | JMod.FINAL
+           | JMod.TRANSIENT | JMod.VOLATILE);
 
     private static int METHOD
-    = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED | JMod.FINAL
-       | JMod.ABSTRACT | JMod.STATIC | JMod.NATIVE | JMod.SYNCHRONIZED);
+        = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED | JMod.FINAL
+           | JMod.ABSTRACT | JMod.STATIC | JMod.NATIVE | JMod.SYNCHRONIZED);
 
     private static int CLASS
-    = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED
-       | JMod.STATIC | JMod.FINAL | JMod.ABSTRACT );
+        = (JMod.PUBLIC | JMod.PRIVATE | JMod.PROTECTED
+           | JMod.STATIC | JMod.FINAL | JMod.ABSTRACT );
 
     private static int INTERFACE = JMod.PUBLIC;
 
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/util/SingleByteEncoder.java	Thu May 14 00:17:25 2009 -0700
@@ -24,7 +24,7 @@
  */
 
 /*
- * @(#)SingleByteEncoder.java       1.14 03/01/23
+ * @(#)SingleByteEncoder.java   1.14 03/01/23
  */
 
 package com.sun.codemodel.internal.util;
@@ -51,109 +51,109 @@
     private final Surrogate.Parser sgp = new Surrogate.Parser();
 
     protected SingleByteEncoder(Charset cs,
-                            short[] index1, String index2,
-                            int mask1, int mask2, int shift)
+                                short[] index1, String index2,
+                                int mask1, int mask2, int shift)
     {
-       super(cs, 1.0f, 1.0f);
-       this.index1 = index1;
-       this.index2 = index2;
-       this.mask1 = mask1;
-       this.mask2 = mask2;
-       this.shift = shift;
+        super(cs, 1.0f, 1.0f);
+        this.index1 = index1;
+        this.index2 = index2;
+        this.mask1 = mask1;
+        this.mask2 = mask2;
+        this.shift = shift;
     }
 
     public boolean canEncode(char c) {
-       char testEncode;
-       testEncode = index2.charAt(index1[(c & mask1) >> shift]
-                               + (c & mask2));
-       if (testEncode == '\u0000')
-           return false;
-       else
-           return true;
+        char testEncode;
+        testEncode = index2.charAt(index1[(c & mask1) >> shift]
+                                   + (c & mask2));
+        if (testEncode == '\u0000')
+            return false;
+        else
+            return true;
     }
 
     private CoderResult encodeArrayLoop(CharBuffer src, ByteBuffer dst) {
-       char[] sa = src.array();
-       int sp = src.arrayOffset() + src.position();
-       int sl = src.arrayOffset() + src.limit();
-       sp = (sp <= sl ? sp : sl);
-       byte[] da = dst.array();
-       int dp = dst.arrayOffset() + dst.position();
-       int dl = dst.arrayOffset() + dst.limit();
-       dp = (dp <= dl ? dp : dl);
+        char[] sa = src.array();
+        int sp = src.arrayOffset() + src.position();
+        int sl = src.arrayOffset() + src.limit();
+        sp = (sp <= sl ? sp : sl);
+        byte[] da = dst.array();
+        int dp = dst.arrayOffset() + dst.position();
+        int dl = dst.arrayOffset() + dst.limit();
+        dp = (dp <= dl ? dp : dl);
 
-       try {
-           while (sp < sl) {
-              char c = sa[sp];
-              if (Surrogate.is(c)) {
-                  if (sgp.parse(c, sa, sp, sl) < 0)
-                     return sgp.error();
-                  return sgp.unmappableResult();
-              }
-              if (c >= '\uFFFE')
-                  return CoderResult.unmappableForLength(1);
-              if (dl - dp < 1)
-                  return CoderResult.OVERFLOW;
+        try {
+            while (sp < sl) {
+                char c = sa[sp];
+                if (Surrogate.is(c)) {
+                    if (sgp.parse(c, sa, sp, sl) < 0)
+                        return sgp.error();
+                    return sgp.unmappableResult();
+                }
+                if (c >= '\uFFFE')
+                    return CoderResult.unmappableForLength(1);
+                if (dl - dp < 1)
+                    return CoderResult.OVERFLOW;
 
-              char e = index2.charAt(index1[(c & mask1) >> shift]
-                                   + (c & mask2));
+                char e = index2.charAt(index1[(c & mask1) >> shift]
+                                       + (c & mask2));
 
-              // If output byte is zero because input char is zero
-              // then character is mappable, o.w. fail
-              if (e == '\u0000' && c != '\u0000')
-                  return CoderResult.unmappableForLength(1);
+                // If output byte is zero because input char is zero
+                // then character is mappable, o.w. fail
+                if (e == '\u0000' && c != '\u0000')
+                    return CoderResult.unmappableForLength(1);
 
-              sp++;
-              da[dp++] = (byte)e;
-           }
-           return CoderResult.UNDERFLOW;
-       } finally {
-           src.position(sp - src.arrayOffset());
-           dst.position(dp - dst.arrayOffset());
-       }
+                sp++;
+                da[dp++] = (byte)e;
+            }
+            return CoderResult.UNDERFLOW;
+        } finally {
+            src.position(sp - src.arrayOffset());
+            dst.position(dp - dst.arrayOffset());
+        }
     }
 
     private CoderResult encodeBufferLoop(CharBuffer src, ByteBuffer dst) {
-       int mark = src.position();
-       try {
-           while (src.hasRemaining()) {
-              char c = src.get();
-              if (Surrogate.is(c)) {
-                  if (sgp.parse(c, src) < 0)
-                     return sgp.error();
-                  return sgp.unmappableResult();
-              }
-              if (c >= '\uFFFE')
-                  return CoderResult.unmappableForLength(1);
-              if (!dst.hasRemaining())
-                  return CoderResult.OVERFLOW;
+        int mark = src.position();
+        try {
+            while (src.hasRemaining()) {
+                char c = src.get();
+                if (Surrogate.is(c)) {
+                    if (sgp.parse(c, src) < 0)
+                        return sgp.error();
+                    return sgp.unmappableResult();
+                }
+                if (c >= '\uFFFE')
+                    return CoderResult.unmappableForLength(1);
+                if (!dst.hasRemaining())
+                    return CoderResult.OVERFLOW;
 
-              char e = index2.charAt(index1[(c & mask1) >> shift]
-                                   + (c & mask2));
+                char e = index2.charAt(index1[(c & mask1) >> shift]
+                                       + (c & mask2));
 
-              // If output byte is zero because input char is zero
-              // then character is mappable, o.w. fail
-              if (e == '\u0000' && c != '\u0000')
-                  return CoderResult.unmappableForLength(1);
+                // If output byte is zero because input char is zero
+                // then character is mappable, o.w. fail
+                if (e == '\u0000' && c != '\u0000')
+                    return CoderResult.unmappableForLength(1);
 
-              mark++;
-              dst.put((byte)e);
-           }
-           return CoderResult.UNDERFLOW;
-       } finally {
-           src.position(mark);
-       }
+                mark++;
+                dst.put((byte)e);
+            }
+            return CoderResult.UNDERFLOW;
+        } finally {
+            src.position(mark);
+        }
     }
 
     protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) {
-       if (true && src.hasArray() && dst.hasArray())
-           return encodeArrayLoop(src, dst);
-       else
-           return encodeBufferLoop(src, dst);
+        if (true && src.hasArray() && dst.hasArray())
+            return encodeArrayLoop(src, dst);
+        else
+            return encodeBufferLoop(src, dst);
     }
 
     public byte encode(char inputChar) {
-       return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] +
-              (inputChar & mask2));
+        return (byte)index2.charAt(index1[(inputChar & mask1) >> shift] +
+                (inputChar & mask2));
     }
 }
--- a/jaxws/src/share/classes/com/sun/codemodel/internal/util/Surrogate.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/codemodel/internal/util/Surrogate.java	Thu May 14 00:17:25 2009 -0700
@@ -112,7 +112,7 @@
 
         public Parser() { }
 
-        private int character;                // UCS-4
+        private int character;          // UCS-4
         private CoderResult error = CoderResult.UNDERFLOW;
         private boolean isPair;
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/client/p2p/HttpSOAPConnection.java	Thu May 14 00:17:25 2009 -0700
@@ -55,12 +55,19 @@
  */
 public class HttpSOAPConnection extends SOAPConnection {
 
-    protected static Logger log =
+    public static final String vmVendor = System.getProperty("java.vendor.url");
+    private static final String sunVmVendor = "http://java.sun.com/";
+    private static final String ibmVmVendor = "http://www.ibm.com/";
+    private static final boolean isSunVM = sunVmVendor.equals(vmVendor) ? true: false;
+    private static final boolean isIBMVM = ibmVmVendor.equals(vmVendor) ? true : false;
+    private static final String JAXM_URLENDPOINT="javax.xml.messaging.URLEndpoint";
+
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.HTTP_CONN_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.client.p2p.LocalStrings");
 
-    public static String defaultProxyHost = null;
-    public static int defaultProxyPort = -1;
+    public static final String defaultProxyHost = null;
+    public static  final int defaultProxyPort = -1;
 
     MessageFactory messageFactory = null;
 
@@ -72,6 +79,9 @@
 
         try {
             messageFactory = MessageFactory.newInstance(SOAPConstants.DYNAMIC_SOAP_PROTOCOL);
+        } catch (NoSuchMethodError ex) {
+                    //fallback to default SOAP 1.1 in this case for backward compatibility
+                    messageFactory = MessageFactory.newInstance();
         } catch (Exception ex) {
             log.log(Level.SEVERE, "SAAJ0001.p2p.cannot.create.msg.factory", ex);
             throw new SOAPExceptionImpl("Unable to create message factory", ex);
@@ -96,13 +106,18 @@
         }
 
         Class urlEndpointClass = null;
+        ClassLoader loader = Thread.currentThread().getContextClassLoader();
 
         try {
-            urlEndpointClass = Class.forName("javax.xml.messaging.URLEndpoint");
-        } catch (Exception ex) {
-            //Do nothing. URLEndpoint is available only when JAXM is there.
-            log.finest("SAAJ0090.p2p.endpoint.available.only.for.JAXM");
-        }
+                if (loader != null) {
+                        urlEndpointClass = loader.loadClass(JAXM_URLENDPOINT);
+                } else {
+                        urlEndpointClass = Class.forName(JAXM_URLENDPOINT);
+                    }
+                } catch (ClassNotFoundException ex) {
+                    //Do nothing. URLEndpoint is available only when JAXM is there.
+                    log.finest("SAAJ0090.p2p.endpoint.available.only.for.JAXM");
+                }
 
         if (urlEndpointClass != null) {
             if (urlEndpointClass.isInstance(endPoint)) {
@@ -639,10 +654,23 @@
 
         return ret;
     }
+    //private static String SSL_PKG = "com.sun.net.ssl.internal.www.protocol";
+    //private static String SSL_PROVIDER =
+              //  "com.sun.net.ssl.internal.ssl.Provider";
+    private static final String SSL_PKG;
+    private static  final String SSL_PROVIDER;
 
-    private static String SSL_PKG = "com.sun.net.ssl.internal.www.protocol";
-    private static String SSL_PROVIDER =
-        "com.sun.net.ssl.internal.ssl.Provider";
+
+    static {
+                if (isIBMVM) {
+                    SSL_PKG ="com.ibm.net.ssl.internal.www.protocol";
+                    SSL_PROVIDER ="com.ibm.net.ssl.internal.ssl.Provider";
+                } else {
+                    //if not IBM VM default to Sun.
+                    SSL_PKG = "com.sun.net.ssl.internal.www.protocol";
+                    SSL_PROVIDER ="com.sun.net.ssl.internal.ssl.Provider";
+                }
+            }
     private void initHttps() {
         //if(!setHttps) {
         String pkgs = System.getProperty("java.protocol.handler.pkgs");
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/AttachmentPartImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -70,7 +70,7 @@
  */
 public class AttachmentPartImpl extends AttachmentPart {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/EnvelopeFactory.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: EnvelopeFactory.java,v 1.24 2006/01/27 12:49:26 vj135062 Exp $
- * $Revision: 1.24 $
- * $Date: 2006/01/27 12:49:26 $
+ *
+ *
+ *
  */
 
 
@@ -55,7 +55,7 @@
  */
 public class EnvelopeFactory {
 
-    protected static Logger
+    protected static final Logger
         log = Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
         "com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ImageDataContentHandler.java	Thu May 14 00:17:25 2009 -0700
@@ -49,7 +49,7 @@
 public class ImageDataContentHandler extends Component
     implements DataContentHandler {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageFactoryImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: MessageFactoryImpl.java,v 1.23 2006/01/27 12:49:27 vj135062 Exp $
- * $Revision: 1.23 $
- * $Date: 2006/01/27 12:49:27 $
+ *
+ *
+ *
  */
 
 
@@ -54,15 +54,15 @@
  */
 public class MessageFactoryImpl extends MessageFactory {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
 
-    protected static OutputStream listener;
+    protected  OutputStream listener;
 
     protected boolean lazyAttachments = false;
 
-    public static OutputStream listen(OutputStream newListener) {
+    public  OutputStream listen(OutputStream newListener) {
         OutputStream oldListener = listener;
         listener = newListener;
         return oldListener;
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/MessageImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: MessageImpl.java,v 1.5 2006/12/12 10:16:33 kumarjayanti Exp $
- * $Revision: 1.5 $
- * $Date: 2006/12/12 10:16:33 $
+ *
+ *
+ *
  */
 
 
@@ -69,7 +69,7 @@
     public static final String CONTENT_ID             = "Content-ID";
     public static final String CONTENT_LOCATION       = "Content-Location";
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SAAJMetaFactoryImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -37,7 +37,7 @@
 
 public class SAAJMetaFactoryImpl extends SAAJMetaFactory {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPDocumentImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: SOAPDocumentImpl.java,v 1.15 2006/01/27 12:49:29 vj135062 Exp $
+ *
  */
 
 
@@ -45,7 +45,7 @@
 
 public class SOAPDocumentImpl extends DocumentImpl implements SOAPDocument {
 
-    protected static Logger log =
+    protected static final  Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPFactoryImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: SOAPFactoryImpl.java,v 1.21 2006/01/27 12:49:29 vj135062 Exp $
- * $Revision: 1.21 $
- * $Date: 2006/01/27 12:49:29 $
+ *
+ *
+ *
  */
 
 
@@ -50,7 +50,7 @@
 
 public abstract class SOAPFactoryImpl extends SOAPFactory {
 
-    protected static Logger
+    protected static final Logger
         log = Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
                                "com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/SOAPPartImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: SOAPPartImpl.java,v 1.1.1.1 2006/01/27 13:10:55 kumarjayanti Exp $
- * $Revision: 1.1.1.1 $
- * $Date: 2006/01/27 13:10:55 $
+ *
+ *
+ *
  */
 
 
@@ -59,7 +59,7 @@
  * @author Anil Vijendran (anil@sun.com)
  */
 public abstract class SOAPPartImpl extends SOAPPart implements SOAPDocument {
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CDATAImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: CDATAImpl.java,v 1.19 2006/01/27 12:49:34 vj135062 Exp $
- * $Revision: 1.19 $
- * $Date: 2006/01/27 12:49:34 $
+ *
+ *
+ *
  */
 
 
@@ -43,7 +43,7 @@
     extends com.sun.org.apache.xerces.internal.dom.CDATASectionImpl
     implements javax.xml.soap.Text {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/CommentImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: CommentImpl.java,v 1.17 2006/01/27 12:49:34 vj135062 Exp $
- * $Revision: 1.17 $
- * $Date: 2006/01/27 12:49:34 $
+ *
+ *
+ *
  */
 
 
@@ -47,7 +47,7 @@
     extends com.sun.org.apache.xerces.internal.dom.CommentImpl
     implements javax.xml.soap.Text, org.w3c.dom.Comment {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings");
     protected static ResourceBundle rb =
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: ElementImpl.java,v 1.6 2006/11/16 16:01:14 kumarjayanti Exp $
- * $Revision: 1.6 $
- * $Date: 2006/11/16 16:01:14 $
+ *
+ *
+ *
  */
 
 
@@ -60,7 +60,7 @@
 
     protected QName elementQName;
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/TextImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: TextImpl.java,v 1.19 2006/01/27 12:49:36 vj135062 Exp $
- * $Revision: 1.19 $
- * $Date: 2006/01/27 12:49:36 $
+ *
+ *
+ *
  */
 
 
@@ -43,7 +43,7 @@
     extends com.sun.org.apache.xerces.internal.dom.TextImpl
     implements javax.xml.soap.Text, org.w3c.dom.Text {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_IMPL_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.impl.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/name/NameImpl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,9 +23,9 @@
  * have any questions.
  */
 /*
- * $Id: NameImpl.java,v 1.48 2006/01/27 12:49:38 vj135062 Exp $
- * $Revision: 1.48 $
- * $Date: 2006/01/27 12:49:38 $
+ *
+ *
+ *
  */
 
 
@@ -63,7 +63,7 @@
     protected String prefix = "";
     private String qualifiedName = null;
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.NAMING_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.name.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Fault1_1Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: Fault1_1Impl.java,v 1.1.1.1 2006/01/27 13:10:57 kumarjayanti Exp $
+ *
  */
 
 
@@ -57,7 +57,7 @@
 
 public class Fault1_1Impl extends FaultImpl {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(
             LogDomainConstants.SOAP_VER1_1_DOMAIN,
             "com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Header1_1Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: Header1_1Impl.java,v 1.29 2006/01/27 12:49:41 vj135062 Exp $
+ *
  */
 
 
@@ -50,7 +50,7 @@
 
 public class Header1_1Impl extends HeaderImpl {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_VER1_1_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/HeaderElement1_1Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: HeaderElement1_1Impl.java,v 1.29 2006/01/27 12:49:41 vj135062 Exp $
+ *
  */
 
 
@@ -49,7 +49,7 @@
 
 public class HeaderElement1_1Impl extends HeaderElementImpl {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_VER1_1_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/Message1_1Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: Message1_1Impl.java,v 1.24 2006/01/27 12:49:41 vj135062 Exp $
+ *
  */
 
 
@@ -48,7 +48,7 @@
 
 public class Message1_1Impl extends MessageImpl implements SOAPConstants {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_VER1_1_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_1/SOAPPart1_1Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: SOAPPart1_1Impl.java,v 1.1.1.1 2006/01/27 13:10:57 kumarjayanti Exp $
+ *
  */
 
 
@@ -48,7 +48,7 @@
 
 public class SOAPPart1_1Impl extends SOAPPartImpl implements SOAPConstants {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(LogDomainConstants.SOAP_VER1_1_DOMAIN,
                          "com.sun.xml.internal.messaging.saaj.soap.ver1_1.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Body1_2Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: Body1_2Impl.java,v 1.32 2006/01/27 12:49:44 vj135062 Exp $
+ *
  */
 
 
@@ -50,7 +50,7 @@
 
 public class Body1_2Impl extends BodyImpl {
 
-    protected static Logger log =
+    protected static  final Logger log =
         Logger.getLogger(Body1_2Impl.class.getName(),
                          "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Detail1_2Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: Detail1_2Impl.java,v 1.24 2006/01/27 12:49:45 vj135062 Exp $
+ *
  */
 
 
@@ -47,7 +47,7 @@
 
 public class Detail1_2Impl extends DetailImpl {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(Detail1_2Impl.class.getName(),
                          "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Envelope1_2Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: Envelope1_2Impl.java,v 1.26 2006/01/27 12:49:47 vj135062 Exp $
+ *
  */
 
 
@@ -47,7 +47,7 @@
 
 public class Envelope1_2Impl extends EnvelopeImpl {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(Envelope1_2Impl.class.getName(),
                          "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Fault1_2Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: Fault1_2Impl.java,v 1.1.1.1 2006/01/27 13:10:57 kumarjayanti Exp $
+ *
  */
 
 
@@ -51,7 +51,7 @@
 
 public class Fault1_2Impl extends FaultImpl {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(
             LogDomainConstants.SOAP_VER1_2_DOMAIN,
             "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/Header1_2Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: Header1_2Impl.java,v 1.36 2006/01/27 12:49:48 vj135062 Exp $
+ *
  */
 
 
@@ -53,7 +53,7 @@
 
 public class Header1_2Impl extends HeaderImpl {
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(
             LogDomainConstants.SOAP_VER1_2_DOMAIN,
             "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/HeaderElement1_2Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: HeaderElement1_2Impl.java,v 1.29 2006/01/27 12:49:48 vj135062 Exp $
+ *
  */
 
 
@@ -47,7 +47,7 @@
 
 public class HeaderElement1_2Impl extends HeaderElementImpl {
 
-    private static Logger log =
+    private static final Logger log =
         Logger.getLogger(HeaderElement1_2Impl.class.getName(),
                          "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/soap/ver1_2/SOAPPart1_2Impl.java	Thu May 14 00:17:25 2009 -0700
@@ -23,7 +23,7 @@
  * have any questions.
  */
 /*
- * $Id: SOAPPart1_2Impl.java,v 1.1.1.1 2006/01/27 13:10:57 kumarjayanti Exp $
+ *
  */
 
 
@@ -47,7 +47,7 @@
 
 public class SOAPPart1_2Impl extends SOAPPartImpl implements SOAPConstants{
 
-    protected static Logger log =
+    protected static final Logger log =
         Logger.getLogger(SOAPPart1_2Impl.class.getName(),
                          "com.sun.xml.internal.messaging.saaj.soap.ver1_2.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java	Thu May 14 00:17:25 2009 -0700
@@ -45,12 +45,12 @@
  * because they are not legal in SOAP.  If the user of this class sets a
  * LexicalHandler, then it forwards events to that handler.
  *
- * $Id: RejectDoctypeSaxFilter.java,v 1.13 2006/01/27 12:49:52 vj135062 Exp $
+ *
  * @author Edwin Goei
  */
 
 public class RejectDoctypeSaxFilter extends XMLFilterImpl implements XMLReader, LexicalHandler{
-    protected static Logger log =
+    protected static final Logger log =
     Logger.getLogger(LogDomainConstants.UTIL_DOMAIN,
     "com.sun.xml.internal.messaging.saaj.util.LocalStrings");
 
--- a/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java	Thu May 14 00:17:25 2009 -0700
@@ -62,20 +62,22 @@
 public class EfficientStreamingTransformer
     extends javax.xml.transform.Transformer {
 
-  static final String version;
-  static final String vendor;
+  //static final String version;
+  //static final String vendor;
 
-  protected static TransformerFactory transformerFactory = TransformerFactory.newInstance();
+  protected static final TransformerFactory transformerFactory = TransformerFactory.newInstance();
 
-  static {
-        version = System.getProperty("java.vm.version");
-        vendor = System.getProperty("java.vm.vendor");
-        if (vendor.startsWith("Sun") &&
-            (version.startsWith("1.4") || version.startsWith("1.3"))) {
-            transformerFactory =
-                new com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl();
-        }
-  }
+   //removing support for Java 1.4 and 1.3 : CR6658158
+    /*static {
+    version = System.getProperty("java.vm.version");
+    vendor = System.getProperty("java.vm.vendor");
+    if (vendor.startsWith("Sun") &&
+    (version.startsWith("1.4") || version.startsWith("1.3"))) {
+    transformerFactory =
+    new com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl();
+    }
+}
+*/
 
     /**
      * TransformerFactory instance.
--- a/jaxws/src/share/classes/com/sun/xml/internal/txw2/DatatypeWriter.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/txw2/DatatypeWriter.java	Thu May 14 00:17:25 2009 -0700
@@ -25,6 +25,9 @@
 
 package com.sun.xml.internal.txw2;
 
+import java.util.AbstractList;
+import java.util.Collections;
+import java.util.List;
 import javax.xml.namespace.QName;
 
 /**
@@ -53,50 +56,60 @@
      */
     void print(DT dt, NamespaceResolver resolver, StringBuilder buf);
 
+    static final List<DatatypeWriter<?>> BUILTIN = Collections.unmodifiableList(new AbstractList() {
 
-    static final DatatypeWriter<?>[] BUILDIN = new DatatypeWriter<?>[] {
-        new DatatypeWriter<String>() {
-            public Class<String> getType() {
-                return String.class;
+        private DatatypeWriter<?>[] BUILTIN_ARRAY = new DatatypeWriter<?>[] {
+            new DatatypeWriter<String>() {
+                public Class<String> getType() {
+                    return String.class;
+                }
+                public void print(String s, NamespaceResolver resolver, StringBuilder buf) {
+                    buf.append(s);
+                }
+            },
+            new DatatypeWriter<Integer>() {
+                public Class<Integer> getType() {
+                    return Integer.class;
+                }
+                public void print(Integer i, NamespaceResolver resolver, StringBuilder buf) {
+                    buf.append(i);
+                }
+            },
+            new DatatypeWriter<Float>() {
+                public Class<Float> getType() {
+                    return Float.class;
+                }
+                public void print(Float f, NamespaceResolver resolver, StringBuilder buf) {
+                    buf.append(f);
+                }
+            },
+            new DatatypeWriter<Double>() {
+                public Class<Double> getType() {
+                    return Double.class;
+                }
+                public void print(Double d, NamespaceResolver resolver, StringBuilder buf) {
+                    buf.append(d);
+                }
+            },
+            new DatatypeWriter<QName>() {
+                public Class<QName> getType() {
+                    return QName.class;
+                }
+                public void print(QName qn, NamespaceResolver resolver, StringBuilder buf) {
+                    String p = resolver.getPrefix(qn.getNamespaceURI());
+                    if(p.length()!=0)
+                        buf.append(p).append(':');
+                    buf.append(qn.getLocalPart());
+                }
             }
-            public void print(String s, NamespaceResolver resolver, StringBuilder buf) {
-                buf.append(s);
-            }
-        },
-        new DatatypeWriter<Integer>() {
-            public Class<Integer> getType() {
-                return Integer.class;
-            }
-            public void print(Integer i, NamespaceResolver resolver, StringBuilder buf) {
-                buf.append(i);
-            }
-        },
-        new DatatypeWriter<Float>() {
-            public Class<Float> getType() {
-                return Float.class;
-            }
-            public void print(Float f, NamespaceResolver resolver, StringBuilder buf) {
-                buf.append(f);
-            }
-        },
-        new DatatypeWriter<Double>() {
-            public Class<Double> getType() {
-                return Double.class;
-            }
-            public void print(Double d, NamespaceResolver resolver, StringBuilder buf) {
-                buf.append(d);
-            }
-        },
-        new DatatypeWriter<QName>() {
-            public Class<QName> getType() {
-                return QName.class;
-            }
-            public void print(QName qn, NamespaceResolver resolver, StringBuilder buf) {
-                String p = resolver.getPrefix(qn.getNamespaceURI());
-                if(p.length()!=0)
-                    buf.append(p).append(':');
-                buf.append(qn.getLocalPart());
-            }
+        };
+
+        public DatatypeWriter<?> get(int n) {
+          return BUILTIN_ARRAY[n];
         }
-    };
+
+        public int size() {
+          return BUILTIN_ARRAY.length;
+        }
+      });
 }
--- a/jaxws/src/share/classes/com/sun/xml/internal/txw2/Document.java	Tue May 12 15:21:55 2009 +0900
+++ b/jaxws/src/share/classes/com/sun/xml/internal/txw2/Document.java	Thu May 14 00:17:25 2009 -0700
@@ -76,7 +76,7 @@
 
     Document(XmlSerializer out) {
         this.out = out;
-        for( DatatypeWriter dw : DatatypeWriter.BUILDIN )
+        for( DatatypeWriter dw : DatatypeWriter.BUILTIN )
             datatypeWriters.put(dw.getType(),dw);
     }
 
--- a/jdk/.hgtags	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/.hgtags	Thu May 14 00:17:25 2009 -0700
@@ -31,3 +31,5 @@
 d1c43d1f5676a24ba86221ac7cad5694f3a9afda jdk7-b54
 522bb5aa17e0c0cff00b1ed7d1b51bc4db2cfef9 jdk7-b55
 7fd3bc37afe36f8f6165ba679db1229716db822a jdk7-b56
+d5a1223e961891564de25c39fba6f2442d0fb045 jdk7-b57
+9ba256e2e5c161b89e638390f998baa175ec9abe jdk7-b58
--- a/jdk/make/common/Release.gmk	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/make/common/Release.gmk	Thu May 14 00:17:25 2009 -0700
@@ -52,6 +52,9 @@
                         com.sun.java.swing.plaf.motif    \
                         com.sun.java.swing.plaf.gtk
 
+# This is a stopgap until 6839872 is fixed.
+EXCLUDE_PROPWARN_PKGS += sun.dyn
+
 # 64-bit solaris has a few special cases. We define the variable
 # SOLARIS64 for use in this Makefile to easily test those cases
 ifeq ($(PLATFORM), solaris)
--- a/jdk/make/docs/CORE_PKGS.gmk	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/make/docs/CORE_PKGS.gmk	Thu May 14 00:17:25 2009 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright 2001-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 2001-2008 Sun Microsystems, Inc.  All Rights Reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -55,6 +55,7 @@
 # This is a list of regular expressions. So foo.* matches "foo" and "foo.bar".
 #
 ACTIVE_JSR_PKGS= \
+  java.dyn \
   java.sql  \
   javax.activation  \
   javax.annotation.*  \
@@ -96,6 +97,7 @@
   java.awt.print                                 \
   java.beans                                     \
   java.beans.beancontext                         \
+  java.dyn                                       \
   java.io                                        \
   java.lang                                      \
   java.lang.annotation                           \
--- a/jdk/make/java/Makefile	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/make/java/Makefile	Thu May 14 00:17:25 2009 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright 1995-2006 Sun Microsystems, Inc.  All Rights Reserved.
+# Copyright 1995-2009 Sun Microsystems, Inc.  All Rights Reserved.
 # 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 @@
 # Others
 #    Note: java_crw_demo java_hprof_demo are demos but must be delivered built in sdk
 SUBDIRS += security npt java_crw_demo java_hprof_demo \
-	    math awt util text applet net nio \
+	    math awt util text applet net nio dyn \
 	    sql rmi jar beans logging management instrument
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/java/dyn/Makefile	Thu May 14 00:17:25 2009 -0700
@@ -0,0 +1,44 @@
+#
+# Copyright 2008-2009 Sun Microsystems, Inc.  All Rights Reserved.
+# 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.  Sun designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+# CA 95054 USA or visit www.sun.com if you need additional information or
+# have any questions.
+#
+
+BUILDDIR = ../..
+
+PACKAGE = java.dyn
+PRODUCT = java
+include $(BUILDDIR)/common/Defs.gmk
+
+AUTO_FILES_JAVA_DIRS = java/dyn sun/dyn
+
+# The sources built here use new language syntax to generate
+# method handle calls.  Let's be sure we are using that format.
+#LANGUAGE_VERSION = -source 7
+#CLASS_VERSION = -target 7
+
+# Actually, it will be less disruptive to compile with the same
+# -target option as the rest of the system, and just turn on
+# the specific compiler option we need here:
+OTHER_JAVACFLAGS = -XDinvokedynamic
+
+include $(BUILDDIR)/common/Classes.gmk
--- a/jdk/make/sun/awt/FILES_c_unix.gmk	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/make/sun/awt/FILES_c_unix.gmk	Thu May 14 00:17:25 2009 -0700
@@ -125,7 +125,6 @@
         FourByteAbgrPre.c \
 	BufferedMaskBlit.c \
 	BufferedRenderPipe.c \
-	RenderBuffer.c \
 	ShapeSpanIterator.c \
 	SpanClipRenderer.c \
 	awt_ImageRep.c \
--- a/jdk/make/sun/awt/FILES_c_windows.gmk	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/make/sun/awt/FILES_c_windows.gmk	Thu May 14 00:17:25 2009 -0700
@@ -70,7 +70,6 @@
         FourByteAbgrPre.c \
 	BufferedMaskBlit.c \
 	BufferedRenderPipe.c \
-	RenderBuffer.c \
 	ShapeSpanIterator.c \
 	SpanClipRenderer.c \
 	SurfaceData.c \
--- a/jdk/make/sun/awt/mapfile-vers	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/make/sun/awt/mapfile-vers	Thu May 14 00:17:25 2009 -0700
@@ -65,7 +65,6 @@
 		Java_sun_awt_image_ShortComponentRaster_initIDs;
                 Java_sun_java2d_pipe_BufferedMaskBlit_enqueueTile;
                 Java_sun_java2d_pipe_BufferedRenderPipe_fillSpans;
-                Java_sun_java2d_pipe_RenderBuffer_copyFromArray;
 		Java_sun_java2d_pipe_SpanClipRenderer_eraseTile;
 		Java_sun_java2d_pipe_SpanClipRenderer_fillTile;
                 Java_sun_java2d_pipe_ShapeSpanIterator_addSegment;
--- a/jdk/make/sun/awt/mapfile-vers-linux	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/make/sun/awt/mapfile-vers-linux	Thu May 14 00:17:25 2009 -0700
@@ -117,7 +117,6 @@
 		Java_sun_java2d_loops_MaskBlit_MaskBlit;
 		Java_sun_java2d_loops_MaskFill_MaskFill;
                 Java_sun_java2d_pipe_BufferedRenderPipe_fillSpans;
-                Java_sun_java2d_pipe_RenderBuffer_copyFromArray;
 		Java_sun_java2d_pipe_SpanClipRenderer_initIDs;
 		sun_awt_image_GifImageDecoder_initIDs;
 
--- a/jdk/src/linux/doc/man/appletviewer.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/appletviewer.1	Thu May 14 00:17:25 2009 -0700
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+." Copyright 2002-2006 Sun Microsystems, Inc.  All Rights Reserved.
 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 ."
 ." This code is free software; you can redistribute it and/or modify it
@@ -20,20 +18,21 @@
 ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 ." CA 95054 USA or visit www.sun.com if you need additional information or
 ." have any questions.
-." 
-." `
-.TH appletviewer 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH appletviewer 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
 
 .LP
-.SH NAME
+.SH "Name"
 appletviewer \- The Java Applet Viewer
 .LP
+.RS 3
 
 .LP
 .LP
 The \f3appletviewer\fP command allows you to run applets outside of a web browser.
 .LP
+.RE
 .SH "SYNOPSIS"
 .LP
 
@@ -59,15 +58,18 @@
 .LP
 
 .LP
+.RS 3
 .TP 3
 \-debug 
-Starts the applet viewer in the Java debugger, \f3jdb\fP, thus allowing you to debug the applets in the document. 
+Starts the applet viewer in the Java debugger, jdb(1), thus allowing you to debug the applets in the document. 
 .TP 3
 \-encoding \  \ encoding name 
 Specify the input HTML file encoding name. 
 .TP 3
 \-Jjavaoption 
 Passes through the string \f2javaoption\fP as a single argument to the Java interpreter which runs the appletviewer. The argument should not contain spaces. Multiple argument words must all begin with the prefix \f3\-J\fP, which is stripped. This is useful for adjusting the compiler's execution environment or memory usage. 
+.RE
+
 .LP
 .LP
 
--- a/jdk/src/linux/doc/man/apt.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/apt.1	Thu May 14 00:17:25 2009 -0700
@@ -1,5 +1,3 @@
-.'" t
-."
 ." Copyright 2004-2006 Sun Microsystems, Inc.  All Rights Reserved.
 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 ."
@@ -20,10 +18,9 @@
 ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 ." CA 95054 USA or visit www.sun.com if you need additional information or
 ." have any questions.
-." 
-." `
-.TH apt 1 "05 Aug 2006"
-." Generated by html2roff
+."
+.TH apt 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
 
 .LP
 .SH "NAME"
@@ -41,12 +38,15 @@
 .LP
 Options may be in any order. For a discussion of parameters which apply to a specific option, see OPTIONS below.
 .LP
+.RS 3
 .TP 3
 sourcefiles 
 Zero or more source files to be processed. 
 .TP 3
 @files 
 One or more files that list source files or other options 
+.RE
+
 .LP
 .SH "DESCRIPTION"
 .LP
@@ -60,19 +60,19 @@
 .fi
 http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html
 .LP
+.RS 3
 .TP 3
 Note: 
-\f2The functionality of \fP\f2apt\fP has been subsumed by the annotation\-processing infrastructure that is now part of the \f2javac\fP tool [
-.na
-\f2Solaris and Linux\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [Windows] and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation\-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the \f2javac\fP tool. 
+\f2The functionality of \fP\f2apt\fP has been subsumed by the annotation\-processing infrastructure that is now part of the \f2javac(1)\fP tool and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation\-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the \f2javac\fP tool. 
+.RE
+
 .LP
 .SH "OPTIONS"
 .LP
 .SS 
 apt specific options
 .LP
+.RS 3
 .TP 3
 \-s dir 
 Specify the directory root under which processor\-generated source files will be placed; files are placed in subdirectories based on package namespace. 
@@ -91,17 +91,21 @@
 .TP 3
 \-factory classname 
 Name of annotation processor factory to use; bypasses default discovery process 
+.RE
+
 .LP
 .SS 
 Options shared with javac
 .LP
+.RS 3
 .TP 3
 \-d dir 
 Specify where to place processor and javac generated class files 
 .TP 3
-\-cp path or \-classpath
-path 
+\-cp path or \-classpath path 
 Specify where to find user class files and annotation processor factories. If \f2\-factorypath\fP is given, the classpath is not searched for factories. 
+.RE
+
 .LP
 .LP
 Consult the javac(1) man page for information on \f2javac\fP options.
@@ -115,24 +119,11 @@
 .LP
 .RS 3
 .TP 2
-*
-javac: [
-.na
-\f2Solaris and Linux\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [Windows] 
-.TP 2
-*
-java: [
-.na
-\f2Solaris\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [
-.na
-\f2Linux\fP @
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html] [Windows] 
+o
+javac(1), java(1) 
 .RE
 
 .LP
+
+.LP
  
--- a/jdk/src/linux/doc/man/extcheck.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/extcheck.1	Thu May 14 00:17:25 2009 -0700
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+." Copyright 2002-2006 Sun Microsystems, Inc.  All Rights Reserved.
 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 ."
 ." This code is free software; you can redistribute it and/or modify it
@@ -21,19 +19,20 @@
 ." CA 95054 USA or visit www.sun.com if you need additional information or
 ." have any questions.
 ."
-." `
-.TH extcheck 1 "05 Aug 2006"
-." Generated by html2roff
+.TH extcheck 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
 
 .LP
-.SH NAME
+.SH "Name"
 extcheck \- A utility to detect jar conflicts
 .LP
+.RS 3
 
 .LP
 .LP
 \f3extcheck\fP detects version conflicts between a target jar file and currently installed extension jar files.
 .LP
+.RE
 .SH "SYNOPSIS"
 .LP
 
@@ -67,19 +66,22 @@
 .LP
 
 .LP
+.RS 3
 .TP 3
 \-verbose 
 Lists Jar files in the extension directory as they are checked. Additionally, manifest attributes of the target jar file and any conflicting jar files are also reported. 
 .TP 3
 \-Joption 
-Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java application launcher. For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. 
+Pass \f2option\fP to the Java virtual machine, where \f2option\fP is one of the options described on the reference page for the java(1). For example, \f3\-J\-Xms48m\fP sets the startup memory to 48 megabytes. 
+.RE
+
 .LP
 .SH "SEE ALSO"
 .LP
 
 .LP
 .LP
-jar
+jar(1)
 .LP
 
 .LP
--- a/jdk/src/linux/doc/man/idlj.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/idlj.1	Thu May 14 00:17:25 2009 -0700
@@ -1,5 +1,3 @@
-.'" t
-."
 ." Copyright 2001-2006 Sun Microsystems, Inc.  All Rights Reserved.
 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 ."
@@ -21,12 +19,11 @@
 ." CA 95054 USA or visit www.sun.com if you need additional information or
 ." have any questions.
 ."
-." `
-.TH idlj 1 "07 Aug 2006"
-." Generated by html2man
+.TH idlj 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
 
 .LP
-.SH NAME
+.SH "Name"
 idlj \- The IDL\-to\-Java Compiler
 .LP
 .RS 3
@@ -54,7 +51,11 @@
 .LP
 
 .LP
-The IDL\-to\-Java Compiler generates the Java bindings for a given IDL file.\  For binding details, see the OMG IDL to Java Language Language Mapping Specification. Some previous releases of the IDL\-to\-Java compiler were named \f2idltojava\fP. 
+The IDL\-to\-Java Compiler generates the Java bindings for a given IDL file.\  For binding details, see the 
+.na
+\f2OMG IDL to Java Language Language Mapping Specification\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html. Some previous releases of the IDL\-to\-Java compiler were named \f2idltojava\fP. 
 .SS 
 Emitting Client and Server Bindings
 .LP
@@ -78,10 +79,18 @@
 The default server\-side model is the \f2Portable Servant Inheritance Model\fP. Given an interface \f2My\fP defined in \f2My.idl\fP, the file \f2MyPOA.java\fP is generated. You must provide the implementation for \f2My\fP and it must inherit from \f2MyPOA\fP.
 .LP
 .LP
-\f2MyPOA.java\fP is a stream\-based skeleton that extends \f2org.omg.PortableServer.Servant\fP and implements the \f2InvokeHandler\fP interface and the operations interface associated with the IDL interface the skeleton implements.
+\f2MyPOA.java\fP is a stream\-based skeleton that extends 
+.na
+\f2org.omg.PortableServer.Servant\fP @
+.fi
+http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html and implements the \f2InvokeHandler\fP interface and the operations interface associated with the IDL interface the skeleton implements.
 .LP
 .LP
-The \f2PortableServer\fP module for the Portable Object Adapter (POA) defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior.
+The \f2PortableServer\fP module for the 
+.na
+\f2Portable Object Adapter (POA)\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html defines the native \f2Servant\fP type. In the Java programming language, the \f2Servant\fP type is mapped to the Java \f2org.omg.PortableServer.Servant\fP class. It serves as the base class for all POA servant implementations and provides a number of methods that may be invoked by the application programmer, as well as methods which are invoked by the POA itself and may be overridden by the user to control aspects of servant behavior.
 .LP
 .LP
 Another option for the Inheritance Model is to use the \f2\-oldImplBase\fP flag in order to generate server\-side bindings that are compatible with versions of the Java programming language prior to J2SE 1.4. Note that using the \f2\-oldImplBase\fP flag is non\-standard: these APIs are being deprecated. You would use this flag ONLY for compatibility with existing servers written in J2SE 1.3. In that case, you would need to modify an existing MAKEFILE to add the \f2\-oldImplBase\fP flag to the \f2idlj\fP compiler, otherwise POA\-based server\-side mappings will be generated. To generate server\-side bindings that are backwards compatible:
@@ -203,7 +212,11 @@
 .LP
 Since this form of include can become irritatingly long, another means of indicating to the compiler where to search for included files is provided. This technique is similar to the idea of an environment variable. Create a file named \f2idl.config\fP in a directory that is listed in your CLASSPATH. Inside of \f2idl.config\fP, provide a line with the following form:  \f2includes=/includes;/moreIncludes\fP
 .LP
-The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, read the CLASSPATH\ (Solaris) or CLASSPATH\ (Windows) documentation.
+The compiler will find this file and read in the includes list. Note that in this example the separator character between the two directories is a semicolon (;). This separator character is platform dependent. On the Windows platform, use a semicolon, on the Unix platform, use a colon, etc. For more information on \f2includes\fP, see the 
+.na
+\f2Setting the Classpath\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general.
 .RE
 .SS 
 Emitting Bindings for Include Files
--- a/jdk/src/linux/doc/man/ja/appletviewer.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/ja/appletviewer.1	Thu May 14 00:17:25 2009 -0700
@@ -1,6 +1,4 @@
-.'" t
-."
-." Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
+." Copyright 2002-2006 Sun Microsystems, Inc.  All Rights Reserved.
 ." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 ."
 ." This code is free software; you can redistribute it and/or modify it
@@ -20,55 +18,58 @@
 ." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 ." CA 95054 USA or visit www.sun.com if you need additional information or
 ." have any questions.
-." 
-." `
-.TH appletviewer 1 "2006 ǯ 9  4 " "Java SE 6" "桼ޥ"
-." Generated by html2roff
+."
+.TH appletviewer 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
 
 .LP
-.SH ̾
-appletviewer \- Java ץåȥӥ塼
+.SH "名前"
+appletviewer \- Java アプレットビューア
+.LP
+.RS 3
+
+.LP
+.LP
+\f3appletviewer\fP コマンドは Web ブラウザの外でアプレットを実行させます。
+.LP
+.RE
+.SH "形式"
 .LP
 
 .LP
 .LP
-\f3appletviewer\fP ޥɤ Web ֥饦γǥץåȤ¹Ԥޤ
+\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ...
 .LP
-.SH ""
+.SH "説明"
 .LP
 
 .LP
 .LP
-\f4appletviewer\fP \f2[\fP \f2options\fP \f2] \fP\f2urls\fP ...
+\f3appletviewer\fP コマンドは \f2urls\fP に指定されたドキュメントあるいはリソースと接続して、そのドキュメントが参照するそれぞれのアプレットを独自のウィンドウで表示します。注: \f2urls\fP によって参照されたドキュメントが、\f2OBJECT\fP、\f2EMBED\fP、または \f2APPLET\fP タグでどのアプレットも参照していない場合、\f3appletviewer\fP は何も行いません。\f3appletviewer\fP でサポートされる HTML タグの詳細については、
+.na
+\f2「アプレットビューアのタグ」\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.htmlを参照してください。
 .LP
-.SH "ǽ"
+.LP
+\f3注:\fP \f3appletviewer\fP は、RFC2396 で規定されたエスケープ機構に従って符号化された URL を必要とします。サポートされるのは、符号化された URL だけです。ただし、ファイル名については、RFC2396 に指定された方法で符号化を解除しておく必要があります。
+.LP
+.SH "オプション"
 .LP
 
 .LP
-.LP
-\f3appletviewer\fP ޥɤ \f2urls\fP ˻ꤵ줿ɥȤ뤤ϥ꥽³ơΥɥȤȤ뤽줾ΥץåȤȼΥɥɽޤ:\f2urls\fP ˤäƻȤ줿ɥȤ\f2OBJECT\fP\f2EMBED\fPޤ \f2APPLET\fP ǤɤΥץåȤ⻲ȤƤʤ硢\f3appletviewer\fP ϲԤޤ\f3appletviewer\fP ǥݡȤ HTML ξܺ٤ˤĤƤϡ
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/appletviewertags.html
-
-.na
-\f2AppletViewer Tags\fPפ򻲾ȤƤ
-.LP
-.LP
-\f3:\fP \f3appletviewer\fP ϡRFC2396 ǵꤵ줿׵˽ä沽줿 URL ɬפȤޤݡȤΤϡ沽줿 URL Ǥե̾ˤĤƤϡRFC2396 ˻ꤵ줿ˡ沽Ƥɬפޤ
-.LP
-.SH "ץ"
-.LP
-
-.LP
+.RS 3
 .TP 3
 \-debug 
-Java ǥХå \f3jdb\fP ǥץåȥӥ塼򳫻Ϥޤ ˤꡢɥΥץåȤǥХå뤳ȤǤޤ 
+Java デバッガ jdb(1) でアプレットビューアを開始します。 これにより、ドキュメント中のアプレットをデバッグすることができます。 
 .TP 3
 \-encoding \  \ encoding name 
- HTML եΥ󥳡ǥ̾ꤷޤ 
+入力 HTML ファイルのエンコーディング名を指定します。 
 .TP 3
 \-Jjavaoption 
-ʸ \f2javaoption\fP ϡappletviewer ¹Ԥ Java 󥿥ץ꥿ 1 ĤΰȤϤޤ˶ʸޤƤϤޤʣΰϡưΤ٤ƤƬ \f3\-J\fP ǻϤ뤳Ȥˤʬɬפޤϡѥμ¹ԴĶޤϥѤͭǤ 
+文字列 \f2javaoption\fP は、appletviewer を実行する Java インタプリタに 1 つの引数として渡されます。引数にスペースを含めてはいけません。複数の引数は、各引数のすべてを接頭辞 \f3\-J\fP で始めることにより区分する必要があります。これは、コンパイラの実行環境、またはメモリーの利用に有効です。 
+.RE
+
 .LP
 .LP
 
--- a/jdk/src/linux/doc/man/ja/apt.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/ja/apt.1	Thu May 14 00:17:25 2009 -0700
@@ -1,179 +1,126 @@
-'\" t
-.\"
-.\" Copyright 2004-2006 Sun Microsystems, Inc.  All Rights Reserved.
-.\" 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" 
-.\"
-.\" 
-.TH apt 1 "2006 ǯ 9  4 " "Java SE 6" "桼ޥ"
-.SH "̾"
-apt \- ġ
-.\"
-.SH ""
-.B apt 
-.BI [\-classpath " classpath"]
-.BI [\-sourcepath " sourcepath"]
-.BI [\-d " directory"]
-.BI [\-s " directory"]
-.BI [\-factorypath " path"]
-.BI [\-factory " class"]
-.B [\-print]
-.B [\-nocompile]
-.B [\-Akey[=val] ...]
-.BI [javac option]
-.BI sourcefiles
-.BI [@files]
-.SH "ѥ᡼" 
-ץǤդνǻѤǤޤΥץŬѤ
-ѥ᡼ˤĤƤϡҤΡ֥ץפ򻲾ȤƤ
-.if t .TP 20
-.if n .TP 15
-.I sourcefiles
- 0 İʾΥե롣
-.if t .TP 20
-.if n .TP 15
-.I @files
-եޤϤ¾ΥץꥹȤ 1 İʾΥե롣
-.SH "ǽ"

-.B apt 
-ˤϡץ뤿ΰϢ
-ե쥯 API ȥե饹ȥ饯㥵ݡȤޤޤƤޤ
-.B apt 
-Υե쥯 API Ǥϡץ๽¤Υӥ塼
-ӥɻΥ١ɤ߼ѤȤѰդƤޤ
-Υե쥯 API ϡηɲøˡ
-Java(TM) ץߥ󥰸ηƥ
-狼䤹ǥ벽Ǥ褦߷פޤ
-Ϥˡ
-.B apt 
-ץå¹ԤޤץåǤϡ
-ΥɤӤ¾Υեޤ
-ˡꥸʥΥեեξ򥳥ѥ뤷
-ȯưפˤޤġä뤿Υե쥯 API 
-¾ API ϡ
-.B com.sun.mirror 
-Υ֥ѥåǤ
+." Copyright  Sun Microsystems, Inc.  All Rights Reserved.
+." 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH apt 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
 .LP
-.B apt 
-ˤġˡȳȯˤĤƤξܺ٤ϡ
-http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html
-ΡGetting Started with aptפ򻲾ȤƤ
+.SH "NAME"
 .LP
+.LP
+\f2apt\fP \- 注釈処理ツール
+.LP
+.SH "形式"
+.LP
+.LP
+\f2apt [\-classpath \fP\f2classpath\fP] [\-sourcepath \f2sourcepath\fP] [\-d \f2directory\fP] [\-s \f2directory\fP] [\-factorypath \f2path\fP] [\-factory \f2class\fP] [\-print] [\-nocompile] [\-A\f2key\fP[\f2=val\fP] ...][\f2javac option\fP] sourcefiles [@files]
+.LP
+.SH "パラメータ"
+.LP
+.LP
+オプションは順不同です。特定のオプションに適用されるパラメータについては、下記の「オプション」を参照してください。
+.LP
+.RS 3
 .TP 3
-: 
-\f2apt\fP\f2 εǽ\fPɸե饹ȥ饯Ȥ߹ޤޤɸΥե饹ȥ饯ϡǤ \f2javac\fP ġ [
+sourcefiles 
+ゼロ、1 つ、または複数の処理対象のソースファイル 
+.TP 3
+@files 
+ソースファイルまたは他のオプションを一覧表示する 1 つまたは複数のファイル 
+.RE
+
+.LP
+.SH "説明"
+.LP
+.LP
+注釈処理ツール \f2apt\fP は、新しいリフレクト API とサポートインフラストラクチャーから構成され、プログラム注釈を処理します。\f2apt\fP リフレクト API は、 構築時のソースベースで、プログラム構造に関する読み取り専用ビューを提供します。これらのリフレクト API は、総称を追加した後に、Java(TM) プログラミング言語の型システムを正しくモデル化するように設計されています。最初に、\f2apt\fP は、新しいソースコードと他のファイルを作成する注釈プロセッサを実行します。次に、\f2apt\fP は、元のソースファイルと生成したソースファイルの両方をコンパイルするため、開発が楽になります。ツールとのインタフェースに使用されるリフレクト API などの API は、\f2com.sun.mirror\fP のサブパッケージです。
+.LP
+.LP
+ツールの機能に関する詳細と、\f2apt\fP を使用した開発方法については、
 .na
-\f2Solaris  Linux\fP ξ: 
+\f4「\fP\f4apt\fP\f3 入門」\fP @
 .fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] [
-.na
-\f2Windows\fP ξ: 
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] ΰȤʤꡢ٤Ƥ Java ѥǻѤǤ褦ɸಽƤޤοե饹ȥ饯ϡJava ץåȥեΰȤʤäǥ API ˰¸Ƥޤץåγȯϡο API  \f2javac\fP ġ˴ŤƹԤȤ򤪴ᤷޤ
+http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.htmlを参照してください。
 .LP
-.SH "ץ"
-.SS apt ͭΥץ
-.if t .TP 20
-.if n .TP 15
-.BI \-s " dir"
-ץå륽ե뤬֤ǥ쥯ȥ롼Ȥ
-ꤷޤեϥѥåΥ͡ॹڡ˽äơ
-֥ǥ쥯ȥ֤ޤ
-.if t .TP 20
-.if n .TP 15
-.BI \-nocompile
-ե򥯥饹ե˥ѥ뤷ޤ
-.if t .TP 20
-.if n .TP 15
-.BI \-print
-ꤷΥƥɽϤޤ
-䥳ѥϼ¹Ԥޤ
-.if t .TP 20
-.if n .TP 15
-.BI \-A[key[=val]]
-ץåϤ륪ץ
-.B apt 
-ϡΥץľܲᤷޤ󤬡̤Υץå
-ˤäƻѲǽˤʤޤ
-.if t .TP 20
-.if n .TP 15
-.BI \-factorypath " path" 
-ץåեȥ򸡺ꤷޤ
-ΥץѤ硢եȥθ
-饹ѥϻѤޤ
-.if t .TP 20
-.if n .TP 15
-.BI \-factory " classname"
-Ѥץåեȥ̾
-ǥեȤθнϥХѥޤ
-.SS javac ȶͭ륪ץ
-.if t .TP 20
-.if n .TP 15
-.BI \-d " dir"
-ץå 
-.B javac 
-饹ե֤ꤷޤ
-.if t .TP 20
-.if n .TP 15
-.BI \-cp " path " \fLޤ\fP \fL\-classpath " path"
-桼饹ե뤪ץåեȥ򸡺
-ꤷޤ
-.B \-factorypath 
-ꤷ硢եȥθ˥饹ѥϻѤޤ
+.RS 3
+.TP 3
+注: 
+\f2apt\fP の機能は、\f2javac(1)\fP ツールの一部となった注釈処理インフラストラクチャーに組み込まれ、すべての Java コンパイラで使用できるように標準化されました。この新しいインフラストラクチャーは、言語モデルおよび Java プラットフォームの一部となった注釈処理 API に依存します。注釈プロセッサの開発は、新しい API および \f2javac\fP ツールに基づいて行うようお勧めします。 
+.RE
+
 .LP
-javac ΥץˤĤƤϡ
-.BR javac(1) 
-Υޥ˥奢ڡ򻲾ȤƤ
-.SH ջ
+.SH "オプション"
 .LP
-\f2apt\fP εǽϡ\f2javac\fP 󶡤褦ˤʤäɸե饹ȥ饯Ȥ߹ޤޤ\f2apt\fP ȤδϢ API ΥݡȤϡJDK ξΥ꡼Ǥڤǽޤ
+.SS 
+apt 固有のオプション
 .LP
-.SH "Ϣ"
+.RS 3
+.TP 3
+\-s dir 
+プロセッサの生成するソースファイルを置くディレクトリルートを指定します。 ファイルは、パッケージの名前空間に基づいてサブディレクトリに置かれます。 
+.TP 3
+\-nocompile 
+ソースファイルをクラスファイルにコンパイルしません。 
+.TP 3
+\-print 
+指定したタイプのテキスト表現を出力します。 注釈処理またはコンパイルは行いません。 
+.TP 3
+\-A[key[=val]] 
+注釈プロセッサへ渡すオプションです。 このオプションは、\f2apt\fP が直接解釈するのではなく、それぞれのプロセッサによって使用できるように変えられます。 
+.TP 3
+\-factorypath path 
+注釈プロセッサファクトリを検索する場所を指定します。 このオプションを使用する場合、クラスパスのファクトリは検索されません。 
+.TP 3
+\-factory classname 
+使用する注釈プロセッサファクトリの名前です。 デフォルトの検出プロセスを省略します。 
+.RE
+
+.LP
+.SS 
+javac と共用するオプション
+.LP
+.RS 3
+.TP 3
+\-d dir 
+プロセッサと javac 生成のクラスファイルを置く場所を指定します。 
+.TP 3
+\-cp path or \-classpath path 
+ユーザークラスファイルと注釈プロセッサファクトリを検索する場所を指定します。\f2\-factorypath\fP が指定されている場合、クラスパスのファクトリは検索されません。 
+.RE
+
+.LP
+.LP
+\f2javac\fP オプションの詳細については、javac(1) のマニュアルページを参照してください。
+.LP
+.SH "注"
+.LP
+.LP
+\f2apt\fP の機能は、\f2javac\fP により提供される標準注釈処理インフラストラクチャーに組み込まれました。今後の JDK リリースでは、\f2apt\fP および関連する API のサポートが中止する可能性があります。
+.LP
+.SH "関連項目"
 .LP
 .RS 3
 .TP 2
-*
-javac: [
-.na
-\f2Solaris  Linux\fP ξ: 
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html] 
-[ \f2Windows\fP ξ: 
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html] 
-.TP 2
-*
-java: [
-.na
-\f2Solaris\fP ξ: 
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html] [
-.na
-\f2Linux\fP ξ: 
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html] 
-[ \f2Windows\fP ξ: 
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/java.html] 
+o
+javac(1), java(1) 
 .RE
 
 .LP
--- a/jdk/src/linux/doc/man/ja/extcheck.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/ja/extcheck.1	Thu May 14 00:17:25 2009 -0700
@@ -1,109 +1,88 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
-.\" 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\" `
-'\"macro stdmacro
-.TH extcheck 1 "2006 ǯ 9  4 " "Java SE 6" "桼ޥ"
-.SH "̾"
-extcheck \- jar ζ縡Х桼ƥƥ
+." Copyright 2002-2006 Sun Microsystems, Inc.  All Rights Reserved.
+." 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH extcheck 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+extcheck \- jar の競合検出ユーティリティー
+.LP
+.RS 3
+
+.LP
+.LP
+\f3extcheck\fP は、ターゲットの jar ファイルと現在インストールされている拡張機能の jar ファイル間のバージョンの競合を検出します。
+.LP
+.RE
+.SH "形式"
 .LP
 
 .LP
+.nf
+\f3
+.fl
+extcheck [ \-verbose ] targetfile.jar
+.fl
+\fP
+.fi
+
 .LP
-\f3extcheck\fP ϡåȤ jar եȸߥ󥹥ȡ뤵Ƥĥǽ jar ե֤ΥСζ򸡽Фޤ
+.SH "説明"
 .LP
-.SH ""
-.B extcheck 
-[ 
-.B \-verbose 
-] 
-.B targetfile.jar
-.SH "ǽ"
-.IX "jar conflict detection utility" "" "jar conflict detection utility \(em \fLextcheck\fP"
-.IX "extcheck" "" "\fLextcheck\fP \(em jar conflict detection utility"
-.B extcheck 
-桼ƥƥϡꤵ줿
-.B jar
-եΥȥ뤪ӥС Java(TM) SDK 
-եȥ˥󥹥ȡ뤵Ƥĥǽȶ礷Ƥʤ

-ĥǽ򥤥󥹥ȡ뤹ˡΥ桼ƥƥȤäơ
-СƱ
-꿷ĥǽǤ˥󥹥ȡ뤵ƤʤɤĴ٤
-ȤǤޤ
+
 .LP
-.B extcheck
-桼ƥƥϡ
-.I targetfile.jar
-եΥޥ˥եΥإå
-.I Specification-title 
- 
-.I Specification-version
-򡢳ĥǽǥ쥯ȥ˸ߥ󥹥ȡ뤵Ƥ뤹٤Ƥ jar 
-եбإåӤޤ
-ǥեȤǤϡĥǽǥ쥯ȥϡ
-.I jre/lib/ext

-.B extcheck 
-桼ƥƥϡ
-.I java.lang.Package.isCompatibleWith
-᥽åɤƱͤˡǥСֹӤޤ
 .LP
-礬Фʤ硢꥿󥳡ɤ
-.I 0 Ǥ
+\f3extcheck\fP ユーティリティーは、指定された Jar ファイルのタイトルおよびバージョンが Java(TM) 2 SDK にインストールされている拡張機能と競合していないかをチェックします。拡張機能をインストールする前に、このユーティリティーを使って、バージョンが同じか、より新しい拡張機能がすでにインストールされていないかどうかを調べることができます。
 .LP
-ĥǽǥ쥯ȥ 
-.B jar 
-եΥޥ˥եȤˡƱ 
-.I Specification-title
-ƱޤϤ꿷 
-.I Specification-version 
-ֹ椬硢Ǥʤ顼
-ɤ֤ޤ
-.I targetfile.jar 
-Υޥ˥եȤ 
-.I Specification-title 

-.I Specification-version 
-°ʤ⡢Ǥʤ顼ɤ֤ޤ
-.SH "ץ"
-ʲΥץ󤬻Ǥޤ
-.TP 15
-.B -verbose
-ĥǽǥ쥯ȥ
-.B jar
-ե򡢸˰ɽޤޤå 
-.B jar
-եΥޥ˥եȤ°Ӷ礹
-.B jar
-եˤĤƤ𤷤ޤ
-.TP 15
-.BI \-J "option"
-.I option
- Java ۥޥϤޤǡ
-.I option
-ϡJava ץꥱưץ java(1) Υޥ˥奢ڡ
-Ƥ륪ץ 1 ĤǤȤС-J-Xms48m
-ϡư˻Ѥ 48M ХȤꤷޤ
-.SH "Ϣ"
-.BR jar (1)
+.LP
+\f3extcheck\fP ユーティリティーは、\f2targetfile.jar\fP ファイルのマニフェスト内のヘッダー \f2Specification\-title\fP および \f2Specification\-version\fP を、拡張機能ディレクトリ内に現在インストールされているすべての Jar ファイル内の対応するヘッダーと比較します。デフォルトでは、拡張機能ディレクトリは、\f2jre/lib/ext\fP です。\f3extcheck\fP ユーティリティーは、\f2java.lang.Package.isCompatibleWith\fP メソッドと同様の方法でバージョン番号を比較します。
+.LP
+.LP
+競合が検出されない場合のリターンコードは \f20\fP です。
+.LP
+.LP
+拡張機能ディレクトリ内のいずれかの jar ファイルのマニフェストに、同一の \f2Specification\-title\fP、および同一またはより新しい \f2Specification\-version\fP 番号がある場合は、ゼロでないエラーコードが返されます。\f2targetfile.jar\fP のマニフェストに \f2Specification\-title\fP または \f2Specification\-version\fP 属性がない場合も、ゼロでないエラーコードが返されます。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-verbose 
+拡張機能ディレクトリ内の Jar ファイルを、チェック時に一覧表示します。また、ターゲット jar ファイルのマニフェストの属性、および競合する jar ファイルについても報告します。 
+.TP 3
+\-Joption 
+Java 仮想マシンに \f2option\fP を渡します。 \f2option\fP には、java(1)のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f3\-J\-Xms48m\fP と指定すると、スタートアップメモリーは 48M バイトに設定されます。 
+.RE
+
+.LP
+.SH "関連項目"
+.LP
+
+.LP
+.LP
+jar(1)
+.LP
+
+.LP
+ 
--- a/jdk/src/linux/doc/man/ja/idlj.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/ja/idlj.1	Thu May 14 00:17:25 2009 -0700
@@ -1,203 +1,112 @@
-'\" t
-.\"
-.\" Copyright 2001-2006 Sun Microsystems, Inc.  All Rights Reserved.
-.\" 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" 
-.\"
-.\" 
-.TH idlj 1 "2006 ǯ 9  4 " "Java SE 6" "桼ޥ"
-.SH "̾"
-idlj - IDL-to-Java ѥ
-.LP
-.B idlj
-ϡꤵ줿 IDL ե뤫 Java Хǥ󥰤ޤ
-.SH ""
-.B idlj
-[
-.IB options
-]
-.B idl-file
-.LP
-.BR idl-file
-ˤϡInterface Definition Language (IDL) ǼƤ
-ե̾ꤷޤ
-.BR Options
-ǤդνǻǤޤ
-.BR idl-file
-˻ꤹɬפޤ
-.SH "ǽ"
-IDL-to-Java ѥϡꤵ줿 IDL եФ Java 
-Хǥ󥰤ޤ
-Хǥ󥰤ξܺ٤ϡ\f2OMG IDL to Java Language Language Mapping Specification\fP
-.fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html) 
-򻲾ȤƤ
-IDL-to-Java ѥε꡼Τʤˤϡ
-.BR idltojava Ȥ̾դƤΤޤ
-.SH "饤ȥХǥ󥰤ȥХХǥ󥰤ȯ"
+." Copyright 2001-2006 Sun Microsystems, Inc.  All Rights Reserved.
+." 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH idlj 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
 
 .LP
-.BR My.idl
-Ȥ̾ IDL եФ Java Хǥ󥰤
-ˤϡΤ褦˻ꤷޤ
+.SH "名前"
+idlj \- IDL\-to\-Java コンパイラ
 .LP
-.RS
-.ft 3
+.RS 3
+
+.LP
+\f3idlj\fP は、指定された IDL ファイルから Java バインディングを生成します。
+.RE
+.SH "形式"
+.LP
+
+.LP
 .nf
-idlj My.idl
+\f3
+.fl
+idlj [ \fP\f3options\fP\f3 ] \fP\f4idl\-file\fP\f3
+.fl
+\fP
 .fi
-.ft 1
-.RE
+
 .LP
-饤¦ΥХǥ󥰤嵭Υޥɤϡ
-Τ褦ˤǤޤ
 .LP
-.RS
-.ft 3
-.nf
-idlj -fclient My.idl
+\f2idl\-file\fP は、インタフェース定義言語 (IDL) による定義が入ったファイルの名前です。\f2options\fP の順番は任意ですが、\f2idl\-file\fP よりも前に指定しなければなりません。
+.LP
+.SH "説明"
+.LP
+
+.LP
+IDL\-to\-Java コンパイラは、指定された IDL ファイルについて Java バインディングを生成します。 バインディングの詳細は、
+.na
+\f2OMG IDL to Java Language Mapping Specification\fP @
 .fi
-.ft 1
-.RE
+http://java.sun.com/javase/6/docs/technotes/guides/idl/mapping/jidlMapping.html を参照してください。IDL\-to\-Java コンパイラの以前のリリースの中には、\f2idltojava\fP という名前だったものがあります。 
+.SS 
+クライアントバインディングおよびサーバーバインディングの発行
 .LP
-饤¦ΥХǥ󥰤ˤϡ¦Υȥ
-ޤƤޤ󡣥󥿥եФƥ¦ΥХǥ
-ˤϡΤ褦˻ꤷޤ
+.RS 3
+
 .LP
-.RS
-.ft 3
-.nf
-idlj -fserver My.idl
+My.idl という名前の IDL ファイルに対して Java バインディングを生成するには、次のコマンドを実行します。 \f2idlj My.idl\fP
+.LP
+これにより、クライアント側のバインディングが生成されます。 このコマンドは、次のコマンドと等価です。 \f2idlj \fP\f4\-fclient\fP\f2 My.idl\fP
+.LP
+クライアント側のバインディングには、サーバー側のスケルトンは組み込まれていません。インタフェースに対してサーバー側のバインディングを生成するには、次のコマンドを実行します。 \f2idlj \fP\f4\-fserver\fP\f2 My.idl\fP
+.LP
+サーバー側のバインディングには、クライアント側のバインディングに加えて、スケルトンが組み込まれてています。 これらは、すべて \f2POA\fP (継承モデル) クラスです。クライアント側とサーバー側の両方のバインディングを生成する場合は、次のコマンド (どれも等価) のうちの 1 つを使用します。 \f2idlj \fP\f4\-fclient \-fserver\fP\f2 My.idl\fP
+.br
+\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP
+.LP
+.LP
+サーバー側のモデルとしては、2 つのモデルが可能です。それは、継承モデルと、Tie 委譲モデルです。
+.LP
+.LP
+デフォルトのサーバー側のモデルは、「移殖可能サーバント継承モデル」です。\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2MyPOA.java\fP というファイルが生成されます。\f2My\fP に対してその実装を提供し、この実装は \f2_MyPOA\fP から継承する必要があります。
+.LP
+.LP
+\f2MyPOA.java\fP は 
+.na
+\f2org.omg.PortableServer.Servant\fP @
 .fi
-.ft 1
-.RE
+http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html を拡張するストリームベースのスケルトンで、スケルトンが実装する IDL インタフェースに関連付けられている \f2InvokeHandler\fP インタフェースとオペレーションインタフェースを実装します。
 .LP
-¦ΥХǥ󥰤ˤϡ饤¦ΥХǥ󥰤Τۤ
-˥ȥ󤬼ޤƤޤϤ٤ơPOA (Ѿǥ) 
-饹Ǥ饤¦ȥ¦ξΥХǥ󥰤
-ˤϡʲޥɤΤɤ餫ѤƤ
-.LP
-.RS
-.ft 3
-.nf
-idlj -fclient -fserver My.idl
-.br
-idlj -fall My.idl
-.fi
-.ft 1
-.RE
-.LP
-¦ǥȤƤϡѾǥ Tie Ѿǥ 2 
-ѤǤޤ
-.LP
-ǥեȤΥ¦ǥϡݡ֥륵ХȷѾǥǤ
-.BR My.idl
-ǥ󥿥ե My Ƥȡե 
-.BR MyPOA.java ޤ桼ϡ
-.BR My ФƤμ󶡤ɬפޤμϡ
-.BR MyPOA ѾʤФʤޤ
-.LP
-.BR MyPOA.java ϡ
-.na
-\f2org.omg.PortableServer.Servant\fP 
-.fi
-(http://java.sun.com/javase/6/docs/api/org/omg/PortableServer/Servant.html) 
-ĥ륹ȥ꡼١ΥȥǤꡢΥȥ󤬼 
-IDL 󥿥ե˴Ϣ
-.BR InvokeHandler
-󥿥եȥڥ졼󥤥󥿥եޤ
 .LP
 .na
-\f2Portable Object Adapter (POA)\fP
+\f2Portable Object Adapter (POA)\fP @
 .fi
-(http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html) 
-.BR PortableServer 
-⥸塼ϡͥƥ Servant ޤJava ץߥ󥰸Ǥϡ
-.BR Servant
-ϡJava 
-.BR org.omg.PortableServer.Servant
-饹˥ޥåפޤ
-Ϥ٤Ƥ
-.BR POA
-Хȼδ쥯饹ȤƵǽץꥱȯԤƤӽФ
-¿Υ᥽åɤ󶡤ޤޤPOA ΤƤӽФꡢХư
-椹뤿˥桼񤭤Ǥ᥽åɤ󶡤ޤ
+http://java.sun.com/javase/6/docs/technotes/guides/idl/POA.html の \f2PortableServer\fP モジュールは、ネイティブの \f2Servant\fP 型を定義します。Java プログラミング言語では、\f2Servant\fP 型は、Java の \f2org.omg.PortableServer.Servant\fP クラスにマッピングされています。これはあらゆる POA サーバント実装の基底クラスとなり多数のメソッドを提供します。 これらのメソッドはアプリケーションプログラマが呼び出すだけではなく、POA 自身からも呼び出され、場合によってはサーバントの動作を制御するためにユーザーがオーバーライドすることもあります。
 .LP
-ѾǥˤϡJ2SE 1.4 ΥС Java ץߥ󥰸
-ȸߴΤ륵¦Хǥ󥰤뤿
-.BR -oldImplBase
-ե饰ѤȤץ⤢ޤ
-\f2\-oldImplBase\fP ե饰λѤɸǤ뤳ȤդƤ API Ϥޤʤ侩ȤʤޤΥե饰ѤΤϡJ2SE 1.3 ǵҤ줿¸ΥФȤθߴݤɬפˤƤξ硢¸ MAKEFILE ѹ\f2\-oldImplBase\fP ե饰 \f2idlj\fP ѥɲäɬפޤʤȡPOA ١Υ¦ޥåԥ󥰤Ƥޤޤ
-̸ߴݻ¦
-Хǥ󥰤ˤϡΤ褦˻ꤷޤ
 .LP
-.RS
-.ft 3
-.nf
-idlj -fclient -fserver -oldImplBase My.idl
+継承モデルのもう 1 つのオプションは、\f2\-oldImplBase\fP フラグを使用して、J2SE 1.4 より前のバージョンの Java プログラミング言語と互換性のあるサーバー側バインディングを生成することです。ただし、\f2\-oldImplBase\fP フラグを使用するのは、標準的な手法ではありません。これらの API は推奨されていません。このフラグを使用するのは、J2SE 1.3 で記述された既存のサーバーとの互換性を保つ場合だけです。その場合、既存の MAKEFILE を変更して \f2idlj\fP コンパイラに \f2\-oldImplBase\fP フラグを追加する必要があります。 フラグを追加しない場合、POA ベースのサーバー側マッピングが生成されます。下位互換性のあるサーバー側バインディングを生成するには、次のコマンドを使用します。
+.LP
+\f2idlj \fP\f4\-fclient \-fserver\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP
 .br
-idlj -fall -oldImplBase My.idl
-.fi
-.ft 1
-.RE
+\f2idlj \fP\f4\-fall\fP\f2 \fP\f4\-oldImplBase\fP\f2 My.idl\fP
 .LP
-.BR My.idl
-ǥ󥿥ե My Ƥȡե 
-.I _MyImpleBase.java
-ޤ桼ϡ
-.BR My
-ФƤμ󶡤ɬפޤμ¾ڤϡ
-.I _MyImplBase
- ѾʤФʤޤ
+\f2My.idl\fP 内で \f2My\fP インタフェースが定義されている場合は、\f2_MyImplBase.java\fP というファイルが生成されます。\f2My\fP に対してその実装を提供し、この実装は \f2_MyImplBase\fP から継承しなければなりません。  
 .LP
-⤦Υ¦ǥϡTie ǥȸƤФޤϡ
-ѾǥǤTie ǥ Tie ȥȥƱˤ
-Ǥʤᡢ̡ɬפޤΥ
-ޥɤϡTie ǥФƥХǥ󥰤ޤ
+もう 1 つのサーバー側モデルは、Tie モデルと呼ばれるものです。このサーバー側モデルは、委譲モデルです。Tie とスケルトンを同時に生成することはできないため、それらは別々に生成しなければなりません。次のコマンドによって、Tie モデル用のバインディングが生成されます。
 .LP
-.RS
-.ft 3
-.nf
-idlj -fall My.idl
+\f2idlj \fP\f4\-fall\fP\f2 My.idl\fP
 .br
-idlj -fallTIE My.idl
-.fi
-.ft 1
-.RE
+\f2idlj \fP\f4\-fallTIE\fP\f2 My.idl\fP
 .LP
-󥿥ե 
-.BR My
-ξ硢2 ĤΥޥɤ 
-.BR MyPOATie.java
- ޤ
-.BR MyPOATie
-Υ󥹥ȥ饯ϡdelegate ޤ
-ǤϥǥեȤ POA ǥѤƤΤǡ󥹥ȥ饯 \f2poa\fP ɬפȤޤ
-桼ϡdelegate 
-ФƼ󶡤ɬפޤ󥿥ե 
-.BR MyOperations
-ѾФ褯ۤΥ饹ѾɬפϤޤ
-μ ORB ȶ˻Ѥˤϡ
-.BR MyPOATie 
-˼åפɬפޤ򼨤ޤ
+\f2My\fP というインタフェースの場合、上記の 2 番目のコマンドにより、\f2MyPOATie.java\fP が生成されます。\f2MyPOATie\fP のコンストラクタは、\f2delegate\fP を取ります。この例では、デフォルトの POA モデルを使用しているため、コンストラクタにも \f2poa\fP が必要です。\f2delegate\fP に対して実装を提供しなければなりませんが、この実装は \f2MyOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2MyPOATie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。  
 .nf
 \f3
 .fl
@@ -205,7 +114,7 @@
 .fl
 
 .fl
-    // rootpoa ؤλȤPOAManager ͭˤޤ
+    // Get reference to rootpoa & activate the POAManager
 .fl
     POA rootpoa = (POA)orb.resolve_initial_references("RootPOA");
 .fl
@@ -213,7 +122,7 @@
 .fl
 
 .fl
-    // ХȤ ORB Ͽޤ
+    // create servant and register it with the ORB
 .fl
     MyServant myDelegate = new MyServant();
 .fl
@@ -221,13 +130,13 @@
 .fl
 
 .fl
-    // Tie ޤХȤ delegate ˤʤޤ
+    // create a tie, with servant being the delegate.
 .fl
     MyPOATie tie = new MyPOATie(myDelegate, rootpoa);
 .fl
 
 .fl
-    // Tie  objectRef ޤ
+    // obtain the objectRef for the tie
 .fl
     My ref = tie._this(orb);
 .fl
@@ -235,45 +144,16 @@
 .fi
 
 .LP
-ۤμѾʤФʤʤϡɸηѾǥ
- Tie ǥѤ뤳ȤǤޤJava Ǥդο
-󥿥եѾǧƤޤ饹ηѾ˻ѤǤ
-åȤ 1 ĤǤѾǥѤȡΥåȤ
-ͭޤTie ǥѤȡåȤ桼ȤλѤ
-˲Ǥޤ٥δܻȤ
-ޤĤޤꡢ᥽åɤƤӽФȡ;ʬʥ᥽åɸ
-ӽФ 1 ȯޤ
+他の実装から継承しなければならない場合、標準の継承モデルではなく Tie モデルを使用することがあります。Java の場合は、インタフェースの継承の個数に制限はありませんが、クラスの継承に使用できるスロットは 1 つだけです。継承モデルを使用した場合は、そのスロットが占有されます。Tie モデルを使用した場合は、そのスロットが使用されず、ユーザーが独自の目的で使用することができます。ただし、間接参照のレベルが 1 つ導入されるという欠点があります。つまり、メソッドを呼び出すときに余分なメソッド呼び出しが発生します。 
 .LP
-1.4  J2SE С IDL-to-Java 
-ޥåԥ󥰤ΥСȸߴ륵¦ Tie ǥХǥ󥰤
-ˤϡΤ褦˻ꤷޤ
+IDL のバージョンから J2SE 1.4 より前のバージョンの Java 言語へのマッピングと互換性のある、サーバー側の Tie モデルのバインディングを生成するには、次のコマンドを使用します。
 .LP
-.RS
-.ft 3
-.nf
-idlj -oldImplBase -fall My.idl
+\f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fall\fP\f2 My.idl\fP
 .br
-idlj -oldImplBase -fallTIE My.idl
-.fi
-.ft 1
-.RE
+\f2idlj \fP\f4\-oldImplBase\fP\f2 \fP\f4\-fallTIE\fP\f2 My.idl\fP
 .LP
-󥿥ե
-.BR My
-ξ硢Υޥɤ
-.I My_Tie.java

-.I My_Tie
-Υ󥹥ȥ饯ϡ
-.BR impl
-ޤ桼ϡ
-.BR impl
-ФƼ󶡤ɬפޤ󥿥ե 
-.BR HelloOperations
-ѾФ褯ۤΥ饹ѾɬפϤޤ
-μ ORB ȶ˻Ѥˤϡ
-.BR My_Tie
- ˼åפɬפޤ򼨤ޤ
+.LP
+\f2My\fP というインタフェースの場合、これにより \f2My_Tie.java\fP が生成されます。\f2My_Tie\fP のコンストラクタは、\f2impl\fP を取ります。\f2impl\fP に対して実装を提供しなければなりませんが、その実装は \f2HelloOperations\fP インタフェースから継承する必要があるだけで、その他のクラスから継承する必要はありません。しかし、この実装を ORB と一緒に使用するには、\f2My_Tie\fP 内で実装をラップしなければなりません。たとえば、次のようにします。
 .LP
 .nf
 \f3
@@ -282,7 +162,7 @@
 .fl
 
 .fl
-    // ХȤ ORB Ͽޤ
+    // create servant and register it with the ORB
 .fl
     MyServant myDelegate = new MyServant();
 .fl
@@ -290,13 +170,13 @@
 .fl
 
 .fl
-    // Tie ޤХȤ delegate ˤʤޤ
+    // create a tie, with servant being the delegate.
 .fl
     MyPOATie tie = new MyPOATie(myDelegate);
 .fl
 
 .fl
-    // Tie  objectRef ޤ
+    // obtain the objectRef for the tie
 .fl
     My ref = tie._this(orb);
 .fl
@@ -304,451 +184,235 @@
 .fi
 
 .LP
-.SH "ȯԤ줿եؾλ"
-.br
-ȯԤ줿ե򸽺ߤΥǥ쥯ȥʳΥǥ쥯ȥ¸ϡ
-Τ褦˥ѥƤӽФƤ
+.RE
+.SS 
+発行されたファイルの代替位置の指定
 .LP
-.RS
-.ft 3
-.nf
-idlj -td /altdir My.idl
-.fi
-.ft 1
-.RE
-.LP
-󥿥ե 
-.BR My
-ξ硢Хǥ󥰤
-.BR ./My.java
- ǤϤʤ 
-.BR /altdir/My.java
-ʤɤФȯԤޤ
-.SH "󥯥롼ɥեؾλ"
-.BR My.idl
-ˤۤ idl ե롢
-.BR MyOther.idl 
-ޤƤ硢ѥ 
-.BR MyOther.idl 
-ǥ쥯ȥ¸ߤȸʤޤȤС
-.BR MyOther.idl 
- 
-.BR /includes
-¸ߤϡΥޥɤǥѥƤӽФޤ
-.LP
-.RS
-.ft 3
-.nf
-idlj -i /includes My.idl
-.fi
-.ft 1 
-.RE
-.LP
-.BR ȤСMy.idl 
-.BR /moreIncludes
-¸ߤ
-.BR Another.idl 
-ǤϡΥޥɤǥѥƤӽФޤ
-.LP
-.RS
-.ft 3
-.nf
-idlj -i /includes -i /moreIncludes My.idl
-.fi
-.ft 1 
-.RE
-.LP
-ηǥեȡޥɤĹʤ뤳Ȥޤ
-Τᡢ󥯥롼ɥեθ򥳥ѥΤ餻ˡ
-̤ѰդƤޤˡϡĶѿγǰ˻Ƥޤޤ
-CLASSPATH ˥ꥹȤƤǥ쥯ȥˡ
-.BR idl.config
-Ȥ̾Υեޤơ
-.BR idl.config
-˼ηιԤ 1 ĺޤ
-.LP
-.RS
-.ft 3
-.nf
-includes=/includes;/moreIncludes
-.fi
-.ft 1 
-.RE
-.LP
-ѥϤΥե򸫤Ĥ󥯥롼ɥꥹȤɤ߹ߤޤ
-Ǥ 2 ĤΥǥ쥯ȥ֤ζڤʸϥߥ (;) Ǥ뤳
-դƤ
-ζڤʸϥץåȥեˤäưۤʤޤWindows ץåȥեǤϥߥѤUNIX ץåȥեǤϥѤ롢ʤɤΤ褦ˤʤޤ
-󥯥롼ɤξ
-٤ϡ
-.na
-\f2CLASSPATH\ Υɥ (Solaris: 
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) 
-(Windows: 
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html) 
-򻲾ȤƤ
-.SH "󥯥롼ɥեФХǥ󥰤ȯ"
-ǥեȤǤϡޥɹ idl եƤ륤󥿥ե
-¤ΤʤɤФƤΤߡJava Хǥ󥰤ޤ󥯥롼
-եƤ륿פ Java Хǥ󥰤ޤ
-Ȥơ 2 Ĥ idl եͤƤߤޤ礦
-.TP
-.B My.idl
-.LP
-.RS
-#include <MyOther.idl> 
-.br
-interface My 
-.br
-{ 
-.br
-}; 
-.RE
-.TP
-.B MyOther.idl
-.LP
-.RS
-interface MyOther 
-.br
-{ 
-.br
-};
-.RE
-.LP
-Υޥɤϡ
-.BR My
-Ф Java Хǥ󥰤ޤ
-.LP
-.RS
-.ft 3
-.nf
-idlj My.idl
-.fi
-.ft 1
-.RE
-.LP
-.BR My.idl
-Ƥ뤹٤ƤΥס 
-.BR My.idl
-˼ޤƤե (Ǥ 
-.BR MyOther.idl
-) Ƥ뤹٤ƤΥפˤϡ
-ΥޥɤѤƤ
-.LP
-.RS
-.ft 3
-.nf
-idlj -emitAll My.idl 
-.fi
-.ft 1
-.RE
-.LP
-ΥǥեȤε§ˤĤƤϡդɬפޤ
-Х륹פ˽и 
-.BR #include
-ʸϡҤɤ˽ޤ 
-.BR #include
-ʸϡݡʸȸʤȤǤޤΰϤߥ
-и #include ʸϡ̾ 
-.BR #include
-ʸȤưޤĤޤꡢ󥯥롼ɥեΥɤ
-ꥸʥե˽иƤ뤫Τ褦˰졢
-Ф Java Хǥ󥰤ȯԤޤ򼨤ޤ
-.TP
-.B My.idl
-.LP
-.RS
-#include <MyOther.idl> 
-.br
-interface My 
-.br
-{ 
-.br
-  #include <Embedded.idl> 
-.br
-}; 
-.RE
-.TP
-.B MyOther.idl
-.LP
-.RS
-interface MyOther 
-.br
-{ 
-.br
-}; 
-.RE
-.TP
-.B Embedded.idl
-.LP
-.RS
-enum E {one, two, three};
-.RE
-.LP
-Υޥɤ¹Ԥȡ
-.LP
-.RS
-.ft 3
-.nf
-idlj My.idl
-.fi
-.ft 1
-.RE
-.LP
-ʲ Java եΥꥹȤޤ
-.LP
-.B ./MyHolder.java\fP
-.br
-.B ./MyHelper.java\fP
-.br
-.B ./_MyStub.java\fP
-.br
-.B ./MyPackage\fP
-.br
-.B ./MyPackage/EHolder.java\fP
-.br
-.B ./MyPackage/EHelper.java\fP
-.br
-.B ./MyPackage/E.java\fP
-.br
-.B ./My.java\fP
-.LP
-.BR MyOther.java
-ʤȤդƤϡݡȤ
-.BR #include
-Ƥ뤿Ǥ̾
-.BR #include
-줿 
-.BR E.java

-.BR Embedded.idl
-ϥ󥿥ե My Υ˼ޤƤ뤿ᡢ
-.BR My
-Υ (Ĥޤ 
-.BR MyPackage
-) ޤ
-.LP
-嵭 
-.BI -emitAll
-ե饰ѤƤϡ٤ƤΥ󥯥롼ɥե
-Ƥ뤹٤ƤΥפȯԤޤ
-.SH "ѥåƬ"
-ʤ IDL ե ABC Ȥ̾δȤ˶̳Ƥ
-ꤷƤ
-.TP
-.B Widgets. idl
-module Widgets 
-.br
-{ 
-.br
-  interface W1 {...}; 
-.br
-  interface W2 {...}; 
-.br
-}; 
-.LP
-ΥեФ IDL-to-Java ѥ¹Ԥȡѥå
-Widgets  W1  W2 Ф Java Хǥ󥰤ޤ
-ȳǤϡȤΥѥå 
-.BR com.<company name>
-Ȥ̾Υѥå֤ʤФʤʤȵꤵƤޤ
-Τᡢ 
-.BR Widgets
-ѥåΤޤޤǤԽʬǤ˽ˤϡ
-.BR com.abc.Widgets
-ǤʤФʤޤ
-.BR Widgets
-⥸塼ˤΥѥåƬ֤ˤϡΥޥɤ
-¹ԤƤ
-.LP
-.RS
-.ft 3
-.nf
-idlj -pkgPrefix Widgets com.abc Widgets.idl
-.fi
-.ft 1
-.RE
-.LP
-.BR Widgets.idl 
-Ǥ IDL ե뤬¸ߤϡΥޥˤ 
-.BI \-pkgPrefix 
-ե饰ꤹɬפޤΥե饰ꤷʤȡIDL ե
-.BR com.abc.Widgets
-ѥåǤϤʤ 
-.BR Widgets
-ѥå򸡺ޤ
-.LP
-ƬɬפȤ뤳Υѥ忸ߤϡҤ 
-.BR idl.config
-ե֤ñǤ礦ƥѥåƬԤϡν񼰤ǵҤޤ
-.LP
-.RS
-.ft 3
-.nf
-PkgPrefix.<type>=<prefix>
-.fi
-.ft 1
-.RE
-.LP
-ν񼰤˽ȡ嵭ιԤϼΤ褦ˤʤޤ
-.LP
-.RS
-.ft 3
-.nf
-PkgPrefix.Widgets=com.abc
-.fi
-.ft 1
-.RE
-.LP
-ΥץѤƤ⡢ݥȥ ID ˤϱƶͿޤ
-.SH "ѥΥܥ"
-Хǥ˥ǥХåɤʤɤ IDL ե
-˥ѥѤΥܥ뤬ƤʤȤϡΥܥ
-ɬפ뤳ȤޤΥޥ
-.LP
-.RS
-.ft 3
-.nf
-idlj -d MYDEF My.idl
-.fi
-.ft 1
-.RE
-.LP
-ϡMy.idl  
-.BR #define
-.BR MYDEF
-ȤԤޤΤƱǤ
-.SH "¸ΥХǥ󥰤ݻ"
-Java Хǥ󥰥ե뤬¸ߤϡ
-.BI \-keep 
-ե饰Ѥƥѥˤ񤭤ɻߤǤޤǥեȤǤϡ
-¸ߤ뤫ɤˤ餺٤ƤΥե뤬ޤ
-ե򥫥ޥ (ޥϤƤۤŬڤǤʤ¤侩
-ޤ) Ƥϡ
-.BI \-keep 
-ץΩޤΥޥ
-.LP
-.RS
-.ft 3
-.nf
-idlj -keep My.idl
-.fi
-.ft 1
-.RE
-.LP
-ϡޤ¸ߤƤʤ٤ƤΥ饤¦Хǥ󥰤ȯԤޤ
-.SH "ѥοĽɽ"
-IDL-to-Java ѥϡμ¹ʳǥơå
-ޤܺ (verbose) ⡼ɤˤˤϡ
-.BR -v
-ץѤƤ
-.LP
-.RS
-.ft 3
-.nf
-idlj -v My.idl
-.fi
-.ft 1
-.RE
-.LP
-ǥեȤǤϡѥϾܺ٥⡼ɤưޤ
-.SH "Сɽ"
-IDL-to-Java ѥΥӥɥСɽˤϡޥɹԤ
-.BI \-version
-ץꤷƤ
-.LP
-.RS
-.ft 3
-.nf
-idlj -version 
-.fi
-.ft 1
-.RE
-.LP
-ѥ餬ХǥˡСɽޤ
-ޥɹԤ˻ꤵ뤽¾Υץ̵뤵ޤ
-.SH "ץ"
-.TP
-.BI \-d " symbol"
-ϡIDL ե˼ιԤꤹΤƱǤ
-.LP
-.RS
-.ft 3
-.nf
-#define symbol
-.fi
-.ft 1
-.RE
-.TP
-.BI \-emitAll
-.BR #include
-ե˻ꤵƤΤޤᡢ٤ƤΥפȯԤޤ
-.TP
-.BI \-fside
-ȯԤХǥ󥰤ޤ
-.BI side
-ˤϡ
-.BR client
-
-.BR server
-
-.BR serverTIE
-
-.BR all
-
-.BR allTIE
-Τ줫 1 Ĥꤷޤ
-.BR -fserverTIE
- 
-.BR -fallTIE
-ץꤹȡѾǥ륹ȥȯԤޤ
-ե饰ꤷʤϡ
-.BR -fclient
-ȸʤޤ
-.TP
-.BI \-i " include-path"
-ǥեȤǤϡߤΥǥ쥯ȥǥ󥯥롼ɥե뤬
-ޤΥץѤȡۤΥǥ쥯ȥ
-ɲäǤޤ 
-.TP
-.BI \-keep
-ե뤬¸ߤ硢¸ե񤭤ޤ
-ǥեȤǤϡ¸ե뤬񤭤ޤ
-.TP
-.BI \-noWarn
-ٹåɽʤ褦ˤޤ
-.TP
-.BI \-oldImplBase
-1.4  JDK ORB ȸߴΤ륹ȥޤ
-ǥեȤǤϡPOA ѾǥΥ¦Хǥ󥰤ޤ
-Υץϡ
-.BR ImplBase
-Ѿǥ륯饹Ǥ륵¦Хǥ󥰤뤳Ȥˤäơ
-С Java ץߥ󥰸Ȥβ̸ߴ󶡤ޤ
-.TP
-.BI \-pkgPrefix " type prefix"
-ե륹פ 
-.BI type 
-Ф줿硢ΥפФ뤹٤ƤΥեˤĤơ
- Java ѥå̾
-.BI prefix 
-ȤƬդޤ
-.BI type 
-ϡȥåץ٥⥸塼ñ̾⥸塼γ줿 
-IDL פñ̾Ǥ
-.TP
-.BI \-pkgTranslate " type package"
-μ̻ǥ⥸塼̾ \f2type\fP Ĥä硢줿 Java ѥåΤ٤ƤΥեФơμ̻Υ⥸塼̾ \f2package\fP ֤ޤ
-.BR pkgPrefix 
-ѹ˹Ԥ뤳ȤդƤ
-.BI type 
-ϥȥåץ٥⥸塼ñ̾⥸塼γ줿 IDL פ
-ñ̾Τ줫ǤꡢѥåΥե͡Τ˰פɬפޤ
+.RS 3
 
 .LP
-μ̻Ҥ˰פѴ 2 İʾ師Ĥä硢äȤĹפ򤵤ޤȤС򼡤Τ褦˻ꤷȤޤ
+発行されたファイルをカレントディレクトリ以外のディレクトリに置くには、次のようなコマンドでコンパイラを呼び出します。 
+.RS 3
+
+.LP
+\f2idlj \fP\f4\-td /altdir\fP\f2 My.idl\fP
+.RE
+\f2My\fP インタフェースの場合、バインディングは、\f2./My.java\fP ではなく、\f2/altdir/My.java\fP などに発行されます。
+.RE
+.SS 
+インクルードファイルの代替位置の指定
+.LP
+.RS 3
+
+.LP
+\f2My.idl\fP にもう 1 つの IDL ファイル \f2MyOther.idl\fP がインクルードされている場合、コンパイラは、ローカルディレクトリに \f2MyOther.idl\fP があるものと想定します。もしそのファイルが、たとえば \f2/includes\fP にある場合は、次のようなコマンドでコンパイラを呼び出します。 \f2idlj \fP\f4\-i /includes\fP\f2 My.idl\fP
+.LP
+また、もし \f2My.idl\fP に、たとえば \f2/moreIncludes\fP にある \f2Another.idl\fP もインクルードされているのであれば、次のようなコマンドでコンパイラを呼び出します。 \f2idlj \fP\f4\-i /includes \-i /moreIncludes\fP\f2 My.idl\fP
+.LP
+このような形式でインクルードを指定すると、コマンドが長くて複雑になります。 そこで、インクルードファイルを検索する場所をコンパイラに指示するための別の方法が用意されています。この方法は、環境変数の考え方と似ています。CLASSPATH にリストされているディレクトリ内に \f2idl.config\fP という名前のファイルを作成します。その \f2idl.config\fP の中に、次のような形式の行を入れます。  \f2includes=/includes;/moreIncludes\fP
+.LP
+コンパイラは、このファイルを検索し、インクルードリストを読み込みます。この例では、ディレクトリの間の区切り文字はセミコロン (;) になっています。この区切り文字は、プラットフォームによって異なります。たとえば、Windows プラットフォームではセミコロンですが、Unix プラットフォームではコロンです。 \f2インクルード\fPの詳細については、
+.na
+\f2CLASSPATH の設定\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/tools/index.html#general を参照してください。
+.RE
+.SS 
+インクルードファイルに対するバインディングの発行
+.LP
+.RS 3
+
+.LP
+デフォルトでは、コマンド行に指定した IDL ファイルで定義されているインタフェースや構造体などについてのみ、Java バインディングが生成されます。インクルードされたファイルで定義されている型については、Java バインディングは生成されません。たとえば、次の 2 つの IDL ファイルについて考えてみましょう。   \f4My.idl\fP
+.LP
+\f2#include <MyOther.idl>\fP
+.br
+\f2interface My\fP
+.br
+\f2{\fP
+.br
+\f2};\fP
+.br
+\f4MyOther.idl\fP 
+.LP
+\f2interface MyOther\fP
+.br
+\f2{\fP
+.br
+\f2};\fP\  
+.LP
+次のコマンドでは、\f2My\fP に対する Java バインディングだけが生成されます。 \f2idlj My.idl\fP
+.LP
+\f2My.idl\fP で定義されている型と、\f2My.idl\fP にインクルードされたファイル (この例では \f2MyOther.idl\fP) で定義されている型すべてについて Java バインディングを生成するには、次のコマンドを使用します。 \f2idlj \fP\f4\-emitAll\fP\f2 My.idl\fP
+.LP
+このデフォルトの規則に関して注意しなければならないことがあります。グローバルスコープに指定した \f2#include\fP 文は、前述のとおりに処理されます。これらの \f2#include\fP 文は、インポート文と見なすことができます。それに対して、他の定義に囲まれたスコープ内に指定した \f2#include\fP 文は、本当の意味での \f2#include\fP 文として処理されます。 つまり、インクルードされたファイルにあるコードが、元のファイルにそのまま指定されているかのように処理され、それに対して Java バインディングが発行されます。次に例を示します。   \f4My.idl\fP
+.LP
+\f2#include <MyOther.idl>\fP
+.br
+\f2interface My\fP
+.br
+\f2{\fP
+.br
+\f2\  #include <Embedded.idl>\fP
+.br
+\f2};\ \fP  \f4MyOther.idl\fP
+.LP
+\f2interface MyOther\fP
+.br
+\f2{\fP
+.br
+\f2};\ \fP  \f4Embedded.idl\fP
+.LP
+\f2enum E {one, two, three};\fP\  
+.LP
+このとき、次のコマンドを実行すると、 \f2idlj My.idl\fP
+.LP
+次のような一連の Java ファイルが生成されます。 \f2./MyHolder.java\fP
+.br
+\f2./MyHelper.java\fP
+.br
+\f2./_MyStub.java\fP
+.br
+\f2./MyPackage\fP
+.br
+\f2./MyPackage/EHolder.java\fP
+.br
+\f2./MyPackage/EHelper.java\fP
+.br
+\f2./MyPackage/E.java\fP
+.br
+\f2./My.java\fP
+.LP
+インポート文と見なされる \f2#include\fP に定義されているため、\f2MyOther.java\fP は生成されません。ただし、本当の意味での \f2#include\fP で定義されているため、\f2E.java\fP は生成されます。さらに、\f2Embedded.idl\fP が \f2My\fP インタフェースのスコープ内にインクルードされていたため、\f2My\fP のスコープ内 (つまり、\f2MyPackage\fP 内) に生成されています。 
+.LP
+上記の例で \f2\-emitAll\fP フラグを使用すれば、インクルードされたすべてのファイルにあるすべての型が発行されます。
+.LP
+.RE
+.SS 
+パッケージの接頭辞の挿入
+.LP
+.RS 3
+
+.LP
+ABC という名前の会社のために作業していて、次のような IDL ファイルを構築したとしましょう。   
+.br
+\f4Widgets.idl\fP 
+.LP
+\f2module Widgets\fP
+.br
+\f2{\fP
+.br
+\f2\  interface W1 {...};\fP
+.br
+\f2\  interface W2 {...};\fP
+.br
+\f2};\fP\  
+.LP
+このファイルに対して IDL\-to\-Java コンパイラを実行すると、\f2W1\fP および \f2W2\fP に対する Java バインディングが \f2Widgets\fP パッケージ内に生成されます。しかし、業界の慣例によると、会社のパッケージは、\f2com.<会社名>\fP という名前のパッケージ内に置くことになっています。そのため、\f2Widgets\fP パッケージでは不十分です。慣例に従うには、パッケージを \f2com.abc.Widgets\fP にする必要があります。このパッケージ接頭辞を \f2Widgets\fP モジュールに付加するには、次のコマンドを実行します。 \f2idlj \fP\f4\-pkgPrefix Widgets com.abc\fP\f2 Widgets.idl\fP
+.LP
+\f2Widgets.idl\fP をインクルードしている IDL ファイルがある場合は、そのコマンドにも \f2\-pkgPrefix\fP フラグが必要です。このフラグを指定しないと、その IDL ファイルは、\f2com.abc.Widgets\fP パッケージではなく、\f2Widgets\fP パッケージを検索することになります。 
+.LP
+接頭辞が必要なパッケージがいくつもある場合は、前述の \f2idl.config\fP ファイルで接頭辞を指定するのが簡単です。パッケージの接頭辞を指定する行は、それぞれ次の形式で記述します。
+.LP
+\f2PkgPrefix.<type>=<prefix>\fP
+.LP
+したがって、上記の例の場合は、次のように記述します。  \f2PkgPrefix.Widgets=com.abc\fP
+.LP
+.LP
+このオプションを使用しても、リポジトリ ID は影響を受けません。
+.LP
+.RE
+.SS 
+コンパイル前のシンボルの定義
+.LP
+.RS 3
+
+.LP
+コンパイル用のシンボルが IDL ファイル内で定義されていない場合は、そのシンボルを定義する必要があります。 これは、たとえば、バインディング内にデバッグコードを組み入れるときに使用します。次のコマンドは、 \f2idlj \fP\f4\-d\fP\f2 MYDEF My.idl\fP
+.LP
+\f2My.idl\fP 内に \f2#define MYDEF\fP という行を指定した場合と等価です。
+.RE
+.SS 
+既存のバインディングの保持
+.LP
+.RS 3
+
+.LP
+Java バインディングファイルがすでに存在する場合は、\f2\-keep\fP フラグを指定すると、コンパイラによる上書きを回避できます。デフォルトでは、すでに存在するかどうかにかかわらず、すべてのファイルが生成されます。これらのファイルをカスタマイズした場合 (ただし、それらの内容が正確であるとき以外はカスタマイズは避ける)、\f2\-keep\fP オプションは有用です。次のコマンドは、 \f2idlj \fP\f4\-keep\fP\f2 My.idl\fP
+.LP
+クライアント側のバインディングで、まだ存在しないものをすべて発行します。
+.RE
+.SS 
+コンパイルの進捗状況の表示
+.LP
+.RS 3
+
+.LP
+IDL\-to\-Java コンパイラは、実行の各段階で状態メッセージを生成します。「冗長」モード (メッセージが多いモード) にするには、\f2\-v\fP オプションを使用します。 \f2idlj \fP\f4\-v\fP\f2 My.idl\fP
+.LP
+デフォルトでは、コンパイラは冗長モードでは実行されません。
+.RE
+.SS 
+バージョン情報の表示
+.LP
+.RS 3
+
+.LP
+.LP
+IDL\-to\-Java コンパイラのビルドバージョンを表示するには、コマンド行で \f2\-version\fP オプションを指定します。
+.LP
+.LP
+\f2idlj \-version\fP
+.LP
+.LP
+バージョン情報は、コンパイラによって生成されたバインディング内にも書き込まれています。このオプションをコマンド行に指定すると、それ以外のオプションを指定しても、すべて無視されます。
+.LP
+.RE
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+\-d symbol 
+このオプションは、IDL ファイルに次のような行を追加した場合と等価です。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+#define \fP\f4symbol\fP\f3
+.fl
+\fP
+.fi
+.RE
+.TP 3
+\-emitAll 
+\f2#include\fP ファイル内で定義されているものも含めて、すべての型を発行します。 
+.TP 3
+\-fside 
+発行するバインディングを定義します。 \f2side\fP は、\f2client\fP、\f2server\fP、\f2serverTIE\fP、\f2all\fP、\f2allTIE\fP のどちらかです。\f2\-fserverTIE\fP または \f2\-fallTIE\fP オプションを指定すると、委譲モデルスケルトンが発行されます。このフラグを指定しなかった場合は、\f2\-fclient\fP が指定されたものと見なされます。 
+.TP 3
+\-i include\-path 
+デフォルトでは、インクルードファイルはカレントディレクトリから検索されます。このオプションを指定すると、ほかのディレクトリを追加できます。 
+.TP 3
+\-keep 
+生成されるファイルがすでに存在している場合は、そのファイルが上書きされません。デフォルトでは、上書きされます。 
+.TP 3
+\-noWarn 
+警告メッセージを表示しないようにします。 
+.TP 3
+\-oldImplBase 
+v1.4 より前の JDK ORB と互換性のあるスケルトンを生成します。デフォルトでは、POA 継承モデルのサーバー側バインディングが生成されます。このオプションを指定すると、\f2ImplBase\fP 継承モデルのクラスであるサーバー側バインディングが生成されるので、古いバージョンの Java プログラミング言語との下位互換性が得られます。 
+.TP 3
+\-pkgPrefix type prefix 
+\f2type\fP がファイルスコープで検出された場合は、その型に対して生成されるすべてのファイルについて、生成される Java パッケージ名に \f2prefix\fP という接頭辞が付加されます。\f2type\fP は、トップレベルモジュールの単純名か、どのモジュールよりも外側で定義された IDL 型の単純名のどちらかです。 
+.TP 3
+\-pkgTranslate type package 
+識別子の中にモジュール名 \f2type\fP が検出されると、生成される Java パッケージ内のすべてのファイルについて、識別子の中のその名前が \f2package\fP で置き換えられます。最初に \f2pkgPrefix\fP を変更します。\f2type\fP は、トップレベルのモジュール、またはすべてのモジュールの外部で定義された IDL 型の単純名です。 そして、完全なパッケージ名に正確に一致しなければなりません。 
+.LP
+1 つの識別子の中で複数の変換がマッチする場合は、もっとも長いマッチが選ばれます。たとえば、次のような引数が指定されている場合は、 
 .nf
 \f3
 .fl
@@ -757,7 +421,7 @@
 \fP
 .fi
 .LP
-ΤȤѴ¹Ԥޤ
+次のような変換が実施されます。 
 .nf
 \f3
 .fl
@@ -772,102 +436,74 @@
 \fP
 .fi
 .LP
-Υѥå̾ѴǤޤ
+次のパッケージ名を変換することはできません。 
 .RS 3
 .TP 2
-*
+o
 \f2org\fP 
 .TP 2
-*
-\f2org.omg\fP ޤ \f2org.omg\fP Υ֥ѥå
+o
+\f2org.omg\fP、または \f2org.omg\fP のサブパッケージ 
 .RE
 .LP
-ΥѥåѴߤȡѥԲǽʥɤޤ
-Υѥå 
-.BR \-pkgTranslate
-θκǽΰȤƻѤȡ顼Ȥưޤ
+これらのパッケージ名を変換しようとすると、互換性のないコードが生成されます。 そして、\f2\-pkgTranslate\fP のあとの最初の引数としてそれらのパッケージを使用すると、エラーとして扱われます。  
+.TP 3
+\-skeletonName xxx%yyy 
+\f2xxx%yyy\fP が、スケルトンに名前を付けるパターンとして使用されます。デフォルトは、次のとおりです。 
+.RS 3
+.TP 2
+o
+\f2POA\fP 基底クラスの場合は「%POA」(\f2\-fserver\fP または \f2\-fall\fP) 
+.TP 2
+o
+\f2oldImplBase\fP クラスの場合は「_%ImplBase」(\f2\-oldImplBase\fP かつ (\f2\-fserver\fP または \f2\-fall\fP)) 
 .RE
-.TP
-.BI \-skeletonName " xxx%yyy"
-.BI xxx%yyy
-򥹥ȥ̾դΥѥȤƻѤޤǥեȤϼΤȤǤ
+.TP 3
+\-td dir 
+出力ディレクトリとして、カレントディレクトリではなく、\f2dir\fP が使用されます。 
+.TP 3
+\-tieName xxx%yyy 
+このパターンに従って Tie に名前が付けられます。デフォルトは、次のとおりです。 
+.RS 3
+.TP 2
+o
+\f2POA\fP Tie 基底クラスの場合は「%POATie」(\f2\-fserverTie\fP または \f2\-fallTie\fP) 
+.TP 2
+o
+\f2oldImplBase\fP Tie クラスの場合は「%_Tie」(\f2\-oldImplBase\fP かつ (\f2\-fserverTie\fP または \f2\-fallTie\fP)) 
+.RE
+.TP 3
+\-verbose 
+冗長モードになります。 
+.TP 3
+\-version 
+バージョン情報を表示して終了します。 
+.RE
+
 .LP
-.RS
-.TP 2
-\(bu POA 쥯饹 
-(
-.BR \-fserver

-.BR \-fall
-) ξ硢%POA
-.TP 2
-\(bu 
-.BR \-oldImplBase
-饹 (
-.BR \-oldImplBase

-.BR \-fserver

-.BR \-fall
-) ξ硢_%ImplBase
-.RE
-.TP
-.BI \-td " dir"
-ϥǥ쥯ȥȤơߤΥǥ쥯ȥǤϤʤ
-.BI dir
-Ѥޤ
-.TP
-.BI \-tieName " xxx%yyy"
-ѥ˱ Tie ̾դޤǥեȤϼΤȤǤ
-.LP
-.RS
-.TP 2
-\(bu POA Tie 쥯饹 (
-.BR \-fserverTie

-.BR \-fallTie
-) ξ硢%POATie
-.TP 2
-\(bu 
-.BR oldImplBase Tie
-饹 (
-.BR \-oldImplBase

-.BR \-fserverTie

-.BR \-fallTie
-Τ줫) ξ硢%_Tie
-.RE
-.TP
-.BI \-nowarn, \-verbose
-ܺ٥⡼ɤˤޤ
-.TP
-.BI \-version
-Сɽƽλޤ
-.LP
-ץξܺ٤ϡֵǽפ򻲾ȤƤ
-.SH "»"
-.LP
-.TP 2
-\(bu Х륹ǥפ줿̻Ҥϡ
-IDL ץߥƥַ (
-.BR Object 

-.BR ValueBase
-) ƱڥǤäƤϤʤޤ󡣤ϡܥơ֥뤬
-̻ҤѤƤǤ˥ɤƤ뤿Ǥľȡ
-񤭤뤳Ȥˤʤޤ (¤ϱ³Ū
-ŬѤ븫)
-.TP 2
-\(bu IDL  fixed ϥݡȤƤޤ
-.SH "Τ"
+各オプションの詳細については、「説明」のセクションを参照してください。 
+.SH "制約"
 .LP
 
 .LP
 .RS 3
 .TP 2
-*
-Х뼱̻ҤΥݡȤޤ󡣥ݡȤƤʤƤӽФ㳰ȯޤθϤ餯 \f2ServerDelegate\fP DSI  \f2NullPointerException\fP Ǥ
+o
+グローバルスコープ内のエスケープされた識別子は、IDL プリミティブ型の \f2Object\fP または \f2ValueBase\fP と同じ綴りであってはなりません。これらの識別子については、シンボルテーブルが事前にロードされており、これらの識別子の再定義を許可すると元の定義が上書きされてしまいます。これは、おそらく恒久的な制約です。 
+.TP 2
+o
+\f2fixed\fP という IDL 型はサポートされていません。 
+.RE
+
+.LP
+.SH "既知の問題点"
+.LP
+
+.LP
+.RS 3
+.TP 2
+o
+グローバル識別子についてインポートが生成されません。予期されないローカル impl を呼び出すと、例外を受け取ります。 しかし、その原因は、\f2ServerDelegate\fP DSI コード内の \f2NullPointerException\fP にあるようです。 
 .RE
 
 .LP
--- a/jdk/src/linux/doc/man/ja/jar.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/ja/jar.1	Thu May 14 00:17:25 2009 -0700
@@ -1,234 +1,141 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
-.\" 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\"
-.\" `
-.TH jar 1 "2006 ǯ 9  4 " "Java SE 6" "桼ޥ"
-.SH "̾"
-jar \- Java ֥ġ
+." Copyright 2004-2006 Sun Microsystems, Inc.  All Rights Reserved.
+." 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jar 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
 .LP
-\f3jar\fP ʣΥե 1 Ĥ Java Archive (JAR) ե˷礷ޤ
-.\" 
-.\"  This document was created by saving an HTML file as text
-.\"  from the JavaSoft web site:
-.\" 
-.\" http://java.sun.com/j2se/1.5/docs/tooldocs/tools.html
-.\" 
-.\"  and adding appropriate troff macros.  Because the JavaSoft web site 
-.\"  man pages can change without notice, it may be helpful to diff
-.\"  files to identify changes other than new functionality. 
-.\" 
-.SH ""
+.SH "名前"
+jar \- Java ARchive ツール
+.LP
+\f3jar\fP は複数のファイルを 1 つの JAR アーカイブファイルに結合します。 
+.RS 3
+.TP 2
+o
+形式 
+.TP 2
+o
+説明 
+.TP 2
+o
+オプション 
+.TP 2
+o
+コマンド行引数ファイル 
+.TP 2
+o
+例 
+.TP 2
+o
+関連項目 
+.RE
+
+.LP
+.SH "形式"
 .LP
 
 .LP
+.RS 3
 .TP 3
-jar եκ 
+JAR ファイルの作成 
 \f4jar c\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP 
 .TP 3
-jar եι 
+JAR ファイルの更新 
 \f4jar u\fP\f2[v0Mmfe] [\fP\f2manifest\fP\f2] [\fP\f2jarfile\fP\f2] [\fP\f2entrypoint\fP\f2] [\-C\fP \f2dir\fP\f2]\fP \f2inputfiles\fP \f2[\-J\fP\f2option\fP\f2]\fP 
 .TP 3
-jar ե 
+JAR ファイルの抽出 
 \f4jar x\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP 
 .TP 3
-jar եƤΰ
+JAR ファイルの内容の表形式による一覧表示 
 \f4jar t\fP\f2[vf] [\fP\f2jarfile\fP\f2] [\fP\f2inputfiles\fP\f2] [\-J\fP\f2option\fP\f2]\fP 
 .TP 3
-jar ե˥ǥåɲ
+JAR ファイルへのインデックスの追加 
 \f4jar i\fP \f2jarfile\fP \f2[\-J\fP\f2option\fP\f2]\fP 
+.RE
+
 .LP
 .LP
-ѥ᡼
+説明
 .LP
 .RS 3
 
 .LP
+.RS 3
 .TP 3
 cuxtiv0Mmfe 
-.I jar 
-ޥɤ椹륪ץ
+\f2jar\fP コマンドを制御するオプション 
 .TP 3
- jarfile 
- (c) (u) (x)ޤϱƤΰ (t) 
-jar եǤ
-.I \-f 
-ץȥե̾
-.I jarfile 
-ФˤʤäƤޤ
-Ѥϡξ˻Ѥޤ
-.I f 
- 
-.I jarfile 
-άȡɸϤjar եפ
-Ѥ줿 (x  t ξ)ɸϤˤΡjar եפ
-줿ꤷޤ (c  u ξ)
+jarfile 
+作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、または内容の一覧表示 (\f2t\fP) の対象となる JAR ファイル。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f2f\fP と \f2jarfile\fP を省略すると、標準入力から「JAR ファイル」が取得されるか (x および t の場合)、標準出力へ「JAR ファイル」が送信されます(c および u の場合)。 
 .TP 3
-
 inputfiles 
-.I jar ե
-˷ (c  u ξ)ޤ 
-.I jar ե
- (x ξ) ޤϰɽ (t ξ) ե
-ޤϥǥ쥯ȥꡣʸǶڤޤ
-٤ƤΥǥ쥯ȥϺƵŪ˽ޤ
-ץ 0 () Ѥʤϡե뤬̤ޤ
+\f2jarfile\fP に結合されるか (c および u の場合)、\f2jarfile\fP から抽出 (x の場合) または一覧表示 (t の場合) される、空白で区切られたファイルまたはディレクトリ。すべてのディレクトリは再帰的に処理されます。このファイルは、オプション \f2O\fP (ゼロ) を使用しないかぎり圧縮されます。 
 .TP 3
- manifest 
-jar ե MANIFEST.MF ˴ޤ褦Ȥ̾:ͥڥޤޤƤ
-¸ manifest եǤ
-.I \-m 

-.I manifest 
-Υե̾ФˤʤäƤޤ
-Ѥϡξ˻Ѥޤ

-.B m 
- 
-.B f 
- 
-.B e 
-νиϡ
-.I manifest 
- 
-.I jarfile 
- 
-.I entrypoint 
-νиȰפɬפޤ
+manifest 
+\f2name\fP\f2:\fP\f2value\fP のペアが、JAR ファイルの MANIFEST.MF に含まれている既存のマニフェストファイル。\f2\-m\fP オプションとファイル名 \f2manifest\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。 
 .TP 3
-
 entrypoint 
-¹Բǽ JAR ե˥Хɥ뤵줿ɥ󥢥ץꥱΥץꥱ󥨥ȥݥȤȤꤹ륯饹̾
-.I \-e
-ץ entrypoint ФˤʤäƤޤɤ餫ꤹξȤꤹɬפޤʸ 
-.I m
-
-.I f
-
-.I e
-νи 
-.I manifest
-
-.I jarfile
-
-.I entrypoint
-νиȰפɬפޤ 
+実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして設定するクラスの名前。\f2\-e\fP オプションと entrypoint は対になっています。 どちらかを指定する場合は両方とも指定する必要があります。\f3m\fP、\f3f\fP、および \f3e\fP の出現順序は、\f2manifest\fP、\f2jarfile\fP、\f2entrypoint\fP の出現順序と一致する必要があります。 
 .TP 3
 \-C\ dir 
-³ϥեν桢
-ǥ쥯ȥ 
-.I dir 
-˰Ūѹޤ

-.I \-C " dir" 
-ϥեΥåȤѤǤޤ
+これに続く \f2inputfiles\fP 引数を処理する間、ディレクトリを \f2dir\fP へ一時的に変更します。\f2\-C\ \fP\f2dir\fP \f2inputfiles\fP のセットは複数使用できます。 
 .TP 3
 \-Joption 
-Java Runtime Environment Ϥ륪ץ
-(
-.I \-J 
-
-.I option 
-δ֤ˤ϶ʸʤǤ)
-.SH "ǽ"
-.IX "Java archive tool" "" "Java archive tool \(em \fLjar\fP"
-.IX "jar" "" "\fLjar\fP \(em Java archive tool"
-.B jar

-Java 
-ץꥱ
-1
-ĤǡʣĤΥե
-1

-JAR
-֥ե礷ޤޤ
-jar Ūʥֺ
-ӰѤΥġǤ⤢ꡢ̤
-.SM ZIP

-.I ZLIB
+Java 実行環境へ渡されるオプション。\f2\-J\fP と \f2option\fP の間には空白を入れないでください。 
+.RE
+
+.LP
+.RE
+.SH "説明"
+.LP
+
+.LP
+\f3jar\fP ツールは、複数のファイルを 1 つの JAR アーカイブファイルに結合します。 \f3jar\fP は、ZIP および 
+.na
+\f2ZLIB\fP @
 .fi
- (http://www.gzip.org/zlib/) 
-ǹԤޤ
-
-.B jar
-ġμŪϡĤ
-Java
-ץåȤ䥢ץꥱ
-1
-ĤΥ֤礹뤳ȤǤ
-ץåȤ䥢ץꥱΥݡͥȡȤ
-饹ե롢᡼ɤʤɤñΥ֤
-ޤȤȡ֥饦Τ褦
-Java
-Ȥ˥ɤȤˡ٤
-HTTP
-ȥ󥶥ǺѤߤޤݡͥȤȤ
-³ɬפޤ
-ˤɻ֤ṳ̂Ǥޤ

-.B jar
-ϥեΰ̤ԤΤǡɤ®ˤʤޤ
-ˡեθġΥȥФƥץåȤκԤ
-̾ǤΤǡβǤޤ
-.B jar
-ġιʸϡ
-.I tar
-ޥɤιʸȤۤƱǤ
-.B jar
-֤ϡ̤Ƥ뤫ɤˤ餺
-饹ѥ
+http://www.gzip.org/zlib/ 圧縮形式をベースにした、汎用のアーカイブおよび圧縮ツールです。ただし \f3jar\fP ツールの主な目的は、いくつかの Java アプレットやアプリケーションを 1 個のアーカイブに統合することです。アプレットやアプリケーションのコンポーネント (ファイル、イメージ、およびサウンド) が 1 つのアーカイブに結合されていると、Java エージェント (ブラウザなど) は、それらのコンポーネントを 1 回の HTTP トランザクションでダウンロードすることができ、コンポーネントごとに新しい接続を必要とすることがありません。これによって、ダウンロードの回数が大幅に減ります。 また、\f3jar\fP はファイルを圧縮するので、ダウンロード時間も短くなります。また、ファイル内の個々のエントリにアプレット作成者による署名を書き込めるので、配布元の認証が可能になります。jar ツールの構文は、\f2tar\fP コマンドの構文とほぼ同じです。\f3JAR\fP アーカイブは、圧縮されているかどうかにかかわらず、クラスパスのエントリとして使用できます。 
+.LP
+複数のファイルを JAR ファイルへ結合する一般的な使用法は次のとおりです。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% jar cf myFile.jar *.class
+.fl
+\fP
 .fi
- (http://java.sun.com/javase/6/docs/technotes/tools/solaris/classpath.html) 
-ȥȤƻѤǤޤ
+.RE
+
 .LP
-ʣΥե jar ե礹ɸŪʻȤϼΤȤǤ
+この例では、現在のディレクトリにあるクラス (.class) ファイルがすべて、\f2myFile.jar\fP という名前のファイルに格納されます。jar ツールは自動的に、\f2META\-INF/MANIFEST.MF\fP という名前のマニフェストファイルエントリを生成します。これは常に、JAR ファイルの最初のエントリになります。マニフェストファイルは、アーカイブに関するメタ情報を宣言し、そのデータを \f2name\ :\ value\fP ペアとして格納します。jar ツールがマニフェストファイル内にメタ情報を格納する方法の詳細については、「
+.na
+\f2JAR file specification\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest」を参照してください。 
 .LP
-.RS
-.ft 3
-.nf
-% jar cf myFile.jar *.class
-.fi
-.ft 1
-.RE
-.LP
-ǤϡߤΥǥ쥯ȥΤ٤ƤΥ饹ե뤬
-.I myFile.jar
-Ȥ̾Υե֤ޤ
-jar ġϼưŪˡ
-.I META\-INF/MANIFEST.MF
-Ȥ̾Υޥ˥եȥե륨ȥޤϾˡJAR եκǽΥȥˤʤޤޥ˥եȥեϡ֤˴ؤ᥿Υǡ
-.I name : value
-ڥȤƳǼޤjar ġ뤬ޥ˥եȥե˥᥿Ǽˡξܺ٤ˤĤƤϡ
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest
-
-.na
-JAR file specificationפ򻲾ȤƤ 
-.LP
-¸Υޥ˥եȥե˳Ǽ줿 
-.I name : value
-ڥ JAR ե˴ޤɬפˤϡΥե򼡤Τ褦 \f2\-m\fP ץȤäƻꤷޤ
+既存のマニフェストファイル内に格納された \f2name\ :\ value\fP ペアを JAR ファイルに含める必要がある場合には、そのファイルを次のように \f2\-m\fP オプションを使って指定します。
 .LP
 .RS 3
 
@@ -243,295 +150,206 @@
 .RE
 
 .LP
-¸Υޥ˥եȥեϲʸǽäƤɬפޤ\  ޥ˥եȥե뤬ʸǽäƤʤ硢\f3jar\fP ϤκǸιԤϤޤ
+既存のマニフェストファイルは改行文字で終わっている必要があります。 マニフェストファイルが改行文字で終わっていない場合、\f3jar\fP はその最後の行を解析しません。
 .br
 
 .LP
 .br
 
 .LP
-\f3:\ \fP ޥɹԤ 
-.I cmf
-ǤϤʤ 
-.I cfm
-ꤵ줿 jar ޥ (m  \-f ץν֤դˤ) ξ硢\f3jar\fP ޥɹԤˤޤ jar ֤̾ꤷ³ƥޥ˥եȥե̾ꤹɬפޤ򼨤ޤ 
+\f3注:\ \fPコマンド行に \f2cmf\fP ではなく \f2cfm\fP が指定された jar コマンド (m と \-f オプションの順番を逆にする) の場合、\f3jar\fP コマンド行にまず JAR アーカイブの名前を指定し、続いてマニフェストファイルの名前を指定する必要があります。 次に例を示します。 
+.RS 3
+
 .LP
-.RS 5
-.B % jar cfm myFile.jar myManifestFile *.class
+.nf
+\f3
+.fl
+% jar cfm myFile.jar myManifestFile *.class
+.fl
+\fP
+.fi
+.RE
+
+.LP
+マニフェストは、RFC822 ASCII 形式で規定されたテキスト形式であるため、マニフェストファイルの内容を簡単に表示および編集できます。 
+.LP
+JAR ファイルからファイルを抽出する場合は、\f2x\fP を使用します。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% jar xf myFile.jar
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+jar ファイルから個別のファイルを抽出する場合は、そのファイル名を指定します。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% jar xf myFile.jar foo bar
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+Java 2 SDK のバージョン 1.3 以降から、\f2jar\fP ユーティリティーで 
+.na
+\f2JarIndex\fP @
+.fi
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex がサポートされています。 JarIndex を使用すると、アプリケーションのクラスローダーで JAR ファイルからクラスがロードされるときの効率が向上します。アプリケーションまたはアプレットが複数の JAR ファイルにバンドルされている場合は、クラスがロードされるときに、必要な JAR ファイル以外のダウンロードおよびオープンは行われません。このパフォーマンスの最適化は、新しい \f2\-i\fP オプションを指定して \f2jar\fP を実行すると有効になります。このオプションを使うと、指定した JAR メインファイルとそのメインファイルが依存しているすべての JAR ファイルについて、パッケージ位置情報が生成されます。 メインファイルが依存している JAR ファイルは、JAR メインファイルのマニフェストの \f2Class\-Path\fP 属性に指定しておく必要があります。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% jar i main.jar
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+この例では、\f2INDEX.LIST\fP ファイルが \f2main.jar\fP の \f2META\-INF\fP ディレクトリに挿入されます。
+.br
+.br
+このファイルに格納されている情報を使用して、アプリケーションのクラスローダーは、効率的にクラスをロードします。 インデックスファイルに位置情報を格納する方法の詳細は、 「\f2JarIndex\fP 仕様」を参照してください。
+.br
+.br
+ディレクトリをコピーするには、まず \f2dir1\fP 内のファイルを圧縮して標準出力に出力し、続いて標準入力から \f2dir2\fP に抽出します (両方の \f2jar\fP コマンドから \f2\-f\fP オプションを省く)。 次に例を示します。
+.LP
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% (cd dir1; jar c .) | (cd dir2; jar x)
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+\f2jar\fP を使って JAR ファイルや JAR ファイルマニフェストを操作するコマンドサンプルを確認するには、「例」を参照してください。また、「
+.na
+\f2Java Tutorial\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/jar」の JAR コースも参照してください。
+.LP
+.SH "オプション"
+.LP
+
+.LP
+.RS 3
+.TP 3
+c 
+\f2jarfile\fP の名前で新しいアーカイブファイルを作成するか (\f2f\fP が指定されている場合)、標準出力で作成します (\f2f\fP と \f2jarfile\fP が省略されている場合)。\f2inputfiles\fP で指定されたファイルとディレクトリを、このアーカイブに追加します。 
+.TP 3
+u 
+\f2inputfiles\fP で指定されたファイルとディレクトリを追加することにより、既存のファイル \f2jarfile\fP を更新します (\f2f\fP が指定されている場合)。 例を示します。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar uf foo.jar foo.class
+.fl
+\fP
+.fi
+.RE
+上のコマンドは、ファイル \f2foo.class\fP を既存の JAR ファイル \f2foo.jar\fP に追加します。次の例に示すように、\f2\-u\fP オプションは、マニフェストエントリも更新できます。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar umf manifest foo.jar
+.fl
+\fP
+.fi
+.RE
+\f2foo.jar\fP マニフェストをマニフェスト内の \f2name:value\fP ペアで更新します。 
+.TP 3
+x 
+\f2jarfile\fP から (\f2f\fP が指定されている場合)、または標準入力から (\f2f\fP と \f2jarfile\fP が省略されている場合)、ファイルとディレクトリを抽出します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが抽出されます。指定されていなければ、すべてのファイルとディレクトリが抽出されます。抽出されたファイルの日時は、アーカイブ内で設定されたものです。 
+.TP 3
+t 
+\f2jarfile\fP から (\f2f\fP が指定されている場合)、または標準入力から (\f2f\fP と \f2jarfile\fP が省略されている場合)、内容を表形式で一覧表示します。\f2inputfiles\fP が指定されている場合は、その指定したファイルとディレクトリだけが一覧表示されます。指定されていなければ、すべてのファイルとディレクトリが一覧表示されます。 
+.TP 3
+i 
+指定された \f2jarfile\fP と、それに依存する JAR ファイルについて、インデックス情報を生成します。例を示します。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+jar i foo.jar
+.fl
+\fP
+.fi
 .RE
 .LP
-manifest  RFC822 
-.SM ASCII 
-˴ŤƥȷѤ뤿ᡢmanifest եƤ
-ñɽӽǤޤ
+上のコマンドは、\f2foo.jar\fP 内に \f2INDEX.LIST\fP ファイルを生成します。 このファイルには、\f2foo.jar\fP と、\f2foo.jar\fP の \f2Class\-Path\fP 属性に指定されたすべての JAR ファイルに入っている各パッケージの位置情報が書き込まれています。 インデックスの例を参照してください。   
+.TP 3
+f 
+作成 (\f2c\fP)、更新 (\f2u\fP)、抽出 (\f2x\fP)、インデックス追加 (\f2i\fP)、または表示 (\f2t\fP) 対象のファイル \f2jarfile\fP を指定します。\f2f\fP オプションとファイル名 \f2jarfile\fP とがペアになります。 つまり、片方を記述すれば、もう一方も記述する必要があります。\f2f\fP と \f2jarfile\fP を省略すると、標準入力から JAR ファイル名が使用されたり (x および t の場合)、標準出力に jar ファイルが 送信されたりします (c および u の場合)。 
+.TP 3
+v 
+詳細な出力を標準出力に生成します。あとで例を示します。 
+.TP 3
+0 
+(ゼロ) ZIP による圧縮を使用せずに、保存します。 
+.TP 3
+M 
+マニフェストファイルエントリを作成しません (c および u の場合)。 または、マニフェストファイルエントリが存在する場合にそれを削除します (u の場合)。 
+.TP 3
+m 
+\f2META\-INF/MANIFEST.MF\fP のファイルで指定したマニフェストファイル \f2manifest\fP の \f2name :value\fP の属性ペアを組み込みます。すでに同じ名前で存在しない限り、 \f2jar\fP はその \f2name\ :\ value\fP ペアを追加します。同じ名前で存在する場合は、\f2jar\fP はその値を更新します。 
 .LP
-jar ե뤫եФϡ
-.I x 
-Ѥޤ򼨤ޤ
+コマンド行で、\f3m\fP と \f3f\fP の文字は、\f2manifest\fP と \f2jarfile\fP の入力順序と同じ順序で記述する必要があります。たとえば、次のようにして使います。 
+.RS 3
+
 .LP
-.RS 5
-% jar xf myFile.jar
+.nf
+\f3
+.fl
+jar cmf myManifestFile myFile.jar *.class
+.fl
+\fP
+.fi
 .RE
+デフォルトのマニフェストには含まれないマニフェストに、特別な目的の \f2name\ :\ value\fP の属性ペアを追加できます。たとえば、ベンダー情報、バージョン情報、パッケージシーリング、または JAR にバンドルされたアプリケーションを実行するための属性を追加できます。\f4\-m\fP オプションの使用例については、「Java Tutorial」 にある「
+.na
+\f2JAR Files\fP @
+.fi
+http://java.sun.com/docs/books/tutorial/jar/」コースを参照してください。 
 .LP
-jar ե뤫̤ΥեФϡ
-Υե̾ꤷޤ
-.LP
-.RS 5
-% jar xf myFile.jar foo bar
-.RE
-.LP
-JDK ΥС 1.3 顢jar 桼ƥƥ 
-.fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index

-.I JarIndex
-פ򥵥ݡȤ褦ˤʤޤ
-ˤꡢ
-ץꥱΥ饹ϡjar ե뤫
-饹®ɤ߹褦ˤʤޤ
-ץꥱޤϥץåȤʣ jar ե
-Хɥ뤵Ƥ硢ɬפ jar ե
-ɤƳ졢饹ɤ߹ޤޤ
-Υѥեޥ󥹤κŬϡ
-.I jar
- 
-.I \-i
-ץѤƼ¹Ԥͭˤʤޤ
-ꤷ
-ᥤ jar ե뤪ӤΥե뤬¸Ƥ
-٤Ƥ jar եΥѥå־ޤ
-ξϡᥤ jar ե manifest  
-.I Class-Path 

-ꤹɬפޤ
-.LP
-.RS 5
-% jar i main.jar
-.RE
-.LP
-Ǥϡ
-.I INDEX.LIST 
-ե뤬 
-.I main.jar 
-
-.I META-INF ǥ쥯ȥɲäޤ
-ץꥱΥ饹ǤϡΥե˳Ǽ줿
-Ѥơ饹Υɤ®ޤ
-ǥåե˰־Ǽˡξܺ٤ϡ
-JarIndex ͡פ򻲾ȤƤ
-.br
-.br
-ǥ쥯ȥ򥳥ԡˤϡޤ 
-.I dir1
-Υե򰵽̤ɸϤ˽Ϥ³ɸϤ 
-.I dir2
-Фޤ (ξ 
-.I jar
-ޥɤ
-.I \-f
-ץʤ)򼨤ޤ
-.LP
-.RS 5
-% (cd dir1; jar c .) | (cd dir2; jar x)
-.RE
-.LP
-.I jar
-Ȥä JAR ե JAR եޥ˥եȤ륳ޥɥץǧˤϡפ򻲾ȤƤޤ
-.fi
-http://java.sun.com/docs/books/tutorial/jar
-
-.na
-Java Tutorialפ JAR ⻲ȤƤ
-.SH "ץ"
-.if t .TP 10
-.if n .TP 5
-.B c
-Υ֥ե 
-.I jarfile 
-Ȥ̾ (
-.I f 
-ꤷ)ޤɸϾ (
-.I f 
- 
-.I jarfile 
-ά) ޤ
-֤ˤϥեǻꤷե뤪ӥǥ쥯ȥ꤬ɲäޤ
-.if t .TP 10
-.if n .TP 5
-.B u

-.I jarfile 
-(
-.I f 
-ꤷ) 򹹿ޤ
-ΤȤ 
-.I jarfile 
-ˤϥեǻꤵ줿ե뤪ӥǥ쥯ȥ꤬ɲäޤʲ򼨤ޤ
-.LP
-.RS 5
-% jar uf foo.jar foo.class
-.RE
-.LP
-Ǥϡե 
-.I foo.class 
-¸ jar ե 
-.I foo.jar 
-ɲäޤ
-.I u 
-ץǤϡޥ˥եȤΥȥ򹹿뤳ȤǤޤʲ򼨤ޤ
-.LP
-.RS 5
-% jar umf manifest foo.jar
-.RE
-.LP
-.I foo.jar 
-ޥ˥եȤޥ˥ե̾:ͥڥǹޤ
-.if t .TP 10
-.if n .TP 5
-.B x
-ե뤪ӥǥ쥯ȥ 
-.I jarfile 
-(
-.I f 
-ꤷ)
-ޤɸ (
-.I f 
- 
-.I jarfile 
-ά) Фޤ
-ϥեꤷ硢ϥեǻꤵ줿ե뤪ӥǥ쥯ȥ
-Фޤꤷʤϡ٤ƤΥե뤪ӥǥ쥯ȥ꤬Фޤ
-Ф줿եϡꤵ줿ΤǤ
-.if t .TP 10
-.if n .TP 5
-.B t
-.I jarfile 
-(
-.I f 
-ꤷ)ޤɸ (
-.I f 
- 
-.I jarfile 
-ά) ƤꥹȤޤϥեꤷ硢
-ϥեǻꤵ줿ե뤪ӥǥ쥯ȥ
-ꥹȤޤꤷʤϡ٤ƤΥե뤪ӥǥ쥯ȥ꤬ꥹȤޤ
-.if t .TP 10
-.if n .TP 5
-.B i
-ꤵ줿 
-.I jarfile 
-ӴϢŤƤ jar ե
-ǥåޤ򼨤ޤ 
-.LP
-.RS 5
-% jar i foo.jar
-.RE
-.LP
-.I foo.jar
- 
-.I INDEX.LIST 
-ե뤬ޤ
-Υեˤϡ
-.I foo.jar 
-γƥѥå 
-.I foo.jar 
- 
-.I Class-Path 
-°˻ꤵƤ뤹٤Ƥ jar ե
-־󤬽񤭹ޤƤޤ
-ǥå򻲾ȤƤ
-.if t .TP 10
-.if n .TP 5
-.B f
- (c) (u) (x)ǥå(i)
-ޤɽ (t)  
-.I jarfile 
-ꤷޤ
-.I \-f 

-.I jarfile 
-Υե̾ФˤʤäƤޤ
-Ѥϡξ˻Ѥޤ
-.I f 
- 
-.I jarfile 
-άȡɸϤ jar ե̾
-Ѥ줿 (x  t ξ)ɸϤ jar ե뤬
-줿ꤷޤ (c  u ξ)
-.if t .TP 10
-.if n .TP 5
-.B v
-ɸϤ˾ܺ٤ʽϤޤ򼨤ޤ
-.if t .TP 10
-.if n .TP 5
-.B 0
-ZIP ̤Ѥ˳Ǽޤ
-.if t .TP 10
-.if n .TP 5
-.B M
-manifest ե륨ȥޤ (c  u ξ)ޤ
-Ǥ¸ߤ manifest ե륨ȥޤ (u ξ) 
-.if t .TP 10
-.if n .TP 5
-.B m
-ꤷޥ˥եȥե 
-.I manifest 
-
-̾:°ե
-.I META-INF/MANIFEST.MF 
-˼ߤޤ
-ǤƱ̾¸ߤʤ¤ꡢ
-.I jar
-Ϥ̾:ͥڥɲäޤƱ̾¸ߤϡ
-jar
-Ϥͤ򹹿ޤ
-.LP
-ޥɹԤǤϡʸ 
-.B m 
- 
-.B f 

-.I manifest 
- 
-.I jarfile
-иΤ
-ƱǻѤޤ򼨤ޤ
-.LP
-.RS 5
-% jar cmf myManifestFile myFile.jar *.class
-.RE
-.LP
-manifest եˤϡǥեȤΥޥ˥եȤ˴ޤޤƤʤ
-Ѥ̾:°ڥɲäǤޤ
-ȤС
-٥󡢥С󡢥ѥå󥰡
-ޤ JAR ˥Хɥ뤵줿ץꥱ¹Ԥ뤿°
-ɲäǤޤ
-.B -m 
-ץλˤĤƤϡJava Tutorial
-.fi
-http://java.sun.com/docs/books/tutorial/jar/

-.na
-
-.I JAR Files
-ץ򻲾ȤƤ
 .TP 3
 e 
-¹Բǽ JAR ե˥Хɥ뤵줿ɥ󥢥ץꥱΥץꥱ󥨥ȥݥȤȤơ
-.I entrypoint
-ꤷޤΥץѤȡޥ˥եȥե 
-.I Main\-Class
-°ͤޤϾ񤭤ޤΥץϡJAR եκޤϹ˻ѤǤޤΥץȤСޥ˥եȥեԽޤϺ뤳ȤʤˡץꥱΥȥݥȤǤޤ
+実行可能 JAR ファイル内にバンドルされたスタンドアロンアプリケーションのアプリケーションエントリポイントとして、\f2entrypoint\fP を設定します。このオプションを使用すると、マニフェストファイル内の \f2Main\-Class\fP 属性値が作成または上書きされます。 このオプションは、JAR ファイルの作成中または更新中に使用できます。 このオプションを使えば、マニフェストファイルを編集または作成することなしに、アプリケーションのエントリポイントを指定できます。
 .br
 .br
-ȤСΥޥɤ 
-.I Main.jar
-ޤκݡޥ˥եȥե 
-.I Main\-Class
-°ͤ 
-.I Main
-ꤵޤ 
+たとえば、次のコマンドは \f2Main.jar\fP を作成しますが、その際、マニフェストファイル内の \f2Main\-Class\fP 属性値は \f2Main\fP に設定されます。 
 .RS 3
 
 .LP
@@ -544,7 +362,7 @@
 .fi
 .RE
 .LP
-Υޥɤ¹Ԥ java 󥿥फľܤΥץꥱưǤޤ 
+次のコマンドを実行すると java ランタイムから直接このアプリケーションを起動できます。 
 .RS 3
 
 .LP
@@ -556,11 +374,7 @@
 \fP
 .fi
 .RE
-ȥݥȤΥ饹̾Υѥå¸ߤƤ硢ȥݥȤζڤʸȤƥɥå (.) ޤϥå (/) ѤǤޤȤС
-.I Main.class
- 
-.I foo
-Ȥ̾Υѥå¸ߤƤ硢Τ褦ˤƥȥݥȤǤޤ 
+エントリポイントのクラス名が特定のパッケージ内に存在している場合、エントリポイントの区切り文字としてドット (「.」) またはスラッシュ (「/」) を使用できます。たとえば、\f2Main.class\fP が \f2foo\fP という名前のパッケージ内に存在している場合、次のようにしてエントリポイントを指定できます。 
 .RS 3
 
 .LP
@@ -572,7 +386,7 @@
 \fP
 .fi
 .RE

+または 
 .RS 3
 
 .LP
@@ -584,36 +398,14 @@
 \fP
 .fi
 .RE
-\f3:\ \fP 
-.I \-m

-.I \-e
-ץξƱ˻ꤹ硢ꤵ줿ޥ˥եȤˤ 
-.I Main\-Class
-°ޤޤƤȡ
-.I Main.class
-λ꤬ޤˤʤäƥ顼ȯJAR κޤϹ۾ェλޤ 
-.if t .TP 10
-.if n .TP 5
-.B \-C \ dir 
-.B jar 
-ޥɤμ¹˰Ū˥ǥ쥯ȥѹޤ (
-.I cd " dir"
-)
-ΤȤ³ϥեޤ
-ưϡUNIX  
-.I tar 
-桼ƥƥ 
-.I \-C 

-Ʊͤưˤʤޤ
-ȤСΥޥɤϡ
-.I classes 
-ǥ쥯ȥ˰ưΥǥ쥯ȥ꤫ 
-.I bar.classes 
-
-.I foo.jar 
-ɲäޤ
+\f3注:\ \fP \f2\-m\fP オプションと \f2\-e\fP オプションの両方を同時に指定する場合、指定されたマニフェストにも \f2Main\-Class\fP 属性が含まれていると、\f2Main.class\fP の指定があいまいになってエラーが発生し、JAR の作成または更新処理が異常終了します。 
+.LP
+.TP 3
+\-C \ dir 
+\f2jar\fP コマンドの実行中に後続の \f2inputfiles\fP 引数を処理するときに、一時的にディレクトリを変更します (\f2cd\fP\ \f2dir\fP)。この処理は、UNIX の \f2tar\fP ユーティリティーの \f2\-C\fP オプションの機能に類似しています。
+.br
+.br
+たとえば、次のコマンドは、\f2classes\fP ディレクトリに移動し、そのディレクトリから \f2bar.class\fP を \f2foo.jar\fP に追加します。 
 .RS 3
 
 .LP
@@ -625,20 +417,7 @@
 \fP
 .fi
 .RE
-ΥޥɤǤϡ
-.I classes 
-ǥ쥯ȥ˰ư
-.I classes 
-ǥ쥯ȥΤ٤ƤΥե
-.I foo.jar 
-ɲäޤ (jar եˤ classes ǥ쥯ȥޤ)
-˸Υǥ쥯ȥäƤ顢
-.I bin 
-ǥ쥯ȥ˰ư
-.I xyz.class 
- 
-.I foo.jar 
-ɲäޤ
+次のコマンドでは、\f2classes\fP ディレクトリに移動し、\f2classes\fP ディレクトリ内のすべてのファイルを \f2foo.jar\fP に追加します (jar ファイルには classes ディレクトリを作成しません)。 次に元のディレクトリに戻ってから、\f2bin\fP ディレクトリに移動し、\f2xyz.class\fP を \f2foo.jar\fP に追加します。 
 .RS 3
 
 .LP
@@ -650,276 +429,294 @@
 \fP
 .fi
 .RE
-.I classes
-˥ե 
-.I bar1
- 
-.I bar2
-硢
-.I jar tf foo.jar
-¹Ԥȡjar եƤΤ褦ɽޤ
+\f2classes\fP に \f2bar1\fP と \f2bar2\fP が保持されている場合、\f2jar tf foo.jar\fP を使用すると、JAR ファイルには次の要素が含められます。 
+.RS 3
+
 .LP
-.if t .RS 15
-.if n .RS 8
-.ft 3
 .nf
-META-INF/
-META-INF/MANIFEST.MF
+\f3
+.fl
+META\-INF/
+.fl
+META\-INF/MANIFEST.MF
+.fl
 bar1
+.fl
 bar2
+.fl
 xyz.class
+.fl
+\fP
 .fi
-.ft 1
-.RE
-.if t .TP 10
-.if n .TP 5
-.B \-Joption
-.I option
- Java Runtime Environment Ϥޤ

-.I option
-ϡJava ץꥱưץΥޥ˥奢ڡ
-.fi
- (http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html#options) 
-Ƥ륪ץ 1 ĤǤ

-.B \-J-Xms48m
-ϡ 48M ХȤꤷޤ
-.I \-J
-ܤˤ벾ۥޥ˥ץϤȤϡ̤εǤ
-.SH "ޥɹ԰ե"
-.B jar 
-ޥɹԤûޤϴñˤ뤿ˡ
-.I jar 
-ޥɤΰ (
-.I \-J 
-ץ) ޤե 1 İʾǤޤ
-ˤꡢǤդĹ 
-.B jar 
-ޥɤǤ
-ڥ졼ƥ󥰥ƥˤ륳ޥɹԤ¤
-Ǥޤ
-.LP
-եˤϡץȥե̾ޤ뤳ȤǤޤ
-եΰ϶ʸڤޤϲԶڤˤޤ
-եΥե̾ϡեΰ֤ФƤǤϤʤ
-ߤΥǥ쥯ȥФŪ˻ꤷޤ
-̾ϥڥ졼ƥ󥰥ƥॷˤäŸ磻ɥ (*) 
-Ÿޤ󡣥եƵŪ˲᤹뤿 @ ʸϻѤǤޤ
-.I \-J 
-ץϡưץϤ뤿ᡢݡȤƤޤ
-ưץǤϰեѤǤʤǤ
-.LP
-.I jar 
-μ¹ԻưեΥѥ̾Ƭ @ ʸդϤޤ
-.I jar 
-Ƭʸ @ դи뤿Ӥˡ
-ΥեƤꥹȤŸޤ
-.br
-.br
-Ǥϡ
-.I find
-ޥɤϤ줿ե̾ 
-.I classes.list
-˳ǼƤޤ 
-.LP
-.RS 5
-% find . -name '*.class' -print > classes.list
 .RE
 .LP
-θ塢ե빽ʸȤä
-.I jar
-˥ꥹȤϤȡ
-.I Classes.list
- 
-.I jar
-ޥɤ¹ԤǤޤ
+.TP 3
+\-Joption 
+Java 実行環境に \f2option\fP を渡します。 \f2option\fP には、「Java アプリケーション起動ツール」のリファレンスページに記載されているオプションを 1 つ指定します。たとえば、\f4\-J\-Xmx48M\fP と指定すると、最大メモリーは 48M バイトに設定されます。\f2\-J\fP を使って背後の実行環境にオプションを渡すことはよく行われています。 
+.RE
+
 .LP
-.RS 5
-% jar cf my.jar @classes.list
-.RE
+.SH "コマンド行引数ファイル"
 .LP
-եϥѥǤޤХѥҤ줿ե
-٤ƤΥե̾ϡϤ줿ѥФŪǤϤʤ
-ߤκȥǥ쥯ȥŪȤʤޤ򼨤ޤ
+
 .LP
-.RS 5
-% jar @path1/classes.list
-.RE
-.SH ""
-ǥ쥯ȥΥե򤹤٤ƥ֤ɲä򼨤ޤ 
-(֤Ǥ¸ߤϡƤ񤭤ޤ)
-ܺ٤󤹤 (
-.I \-v
-ץ)
-ǽʤɡ
-Υե˴ؤƾܤޤ
-.RS 
+jar のコマンド行を短くしたり簡潔にしたりするために、\f2jar\fP コマンドに対する引数 (\f2\-J\fP オプションを除く) を含む 1 つ以上のファイルを指定することができます。これにより、任意の長さの jar コマンドを作成でき、オペレーティングシステムによるコマンド行の制限から解放されます。 
+.LP
+引数ファイルにはオプションとファイル名を含めることができます。ファイル内の各引数は、スペースまたは改行で区切ります。引数ファイル内のファイル名は、現在のディレクトリから見た相対パスになります。 引数ファイルの位置から見た相対パスではありません。ワイルドカード (*) は、通常ならばオペレーティングシステムシェルによってあらゆる文字に解釈されますが、この場合はそのようには解釈されません。引数ファイル内の引数で \f2@\fP 文字を使用して、複数のファイルを再帰的に解釈することはサポートされていません。また、\f2\-J\fP オプションもサポートされていません。 このオプションは起動ツールに渡されますが、起動ツールでは引数ファイルをサポートしていないからです。
+.LP
+.LP
+\f2jar\fP を実行するときに、各引数ファイルのパスとファイル名の先頭に \f2@\fP 文字を付けて渡します。\f2jar\fP は、\f2@\fP 文字で始まる引数を見つけると、そのファイルの内容を展開して引数リストに挿入します。
+.br
+.br
+次の例では、\f2find\fP コマンドから出力されたファイル名を \f2classes.list\fP 内に格納しています。 
+.LP
+.RS 3
+
+.LP
+.nf
 \f3
-.nf
-% ls
-1.au          Animator.class    monkey.jpg
-2.au          Wave.class        spacemusic.au
-3.au          at_work.gif
-.LP
-% jar cvf bundle.jar *
-added manifest
-adding: 1.au(in = 2324) (out= 67)(deflated 97%)
-adding: 2.au(in = 6970) (out= 90)(deflated 98%)
-adding: 3.au(in = 11616) (out= 108)(deflated 99%)
-adding: Animator.class(in = 2266) (out= 66)(deflated 97%)
-adding: Wave.class(in = 3778) (out= 81)(deflated 97%)
-adding: at_work.gif(in = 6621) (out= 89)(deflated 98%)
-adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%)
-adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%)
-\f1
+.fl
+% find \fP\f3.\fP \-name '*.class' \-print > classes.list
+.fl
 .fi
 .RE
-᡼ǥե롢ӥ饹ѤΥ֥ǥ쥯ȥ꤬
-Ǥ¸ߤ硢ñ 
-.B jar 
-ե˷Ǥޤ
-.RS 
+
+.LP
+.LP
+その後、引数ファイル構文を使って \f2jar\fP にリストを渡すと、\f2Classes.list\fP で \f2jar\fP コマンドを実行できます。
+.LP
+.RS 3
+
+.LP
+.nf
 \f3
+.fl
+% jar cf my.jar @classes.list
+.fl
+\fP
+.fi
+.RE
+
+.LP
+引数ファイルはパスを指定できますが、相対パスが記述された引数ファイル内のすべてのファイル名は、渡されたパスに対して相対的ではなく、現在の作業ディレクトリに相対的となります。 次に例を示します。 
+.RS 3
+
+.LP
 .nf
-% ls -F
+\f3
+.fl
+% jar @path1/classes.list
+.fl
+\fP
+.fi
+.RE
+
+.LP
+.LP
+
+.LP
+.SH "例"
+.LP
+
+.LP
+特定のディレクトリ内のすべてのファイルをアーカイブに追加する (そのアーカイブがすでに存在する場合は、その内容を上書きする) には、次のようにします。\f2\-v\fP オプションを使用して情報を詳細に列挙するように指定すると、サイズや最新の更新日など、アーカイブ内のファイルについての詳細情報が表示されます。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% ls
+.fl
+1.au          Animator.class    monkey.jpg
+.fl
+2.au          Wave.class        spacemusic.au
+.fl
+3.au          at_work.gif
+.fl
+
+.fl
+% jar cvf bundle.jar *
+.fl
+added manifest
+.fl
+adding: 1.au(in = 2324) (out= 67)(deflated 97%)
+.fl
+adding: 2.au(in = 6970) (out= 90)(deflated 98%)
+.fl
+adding: 3.au(in = 11616) (out= 108)(deflated 99%)
+.fl
+adding: Animator.class(in = 2266) (out= 66)(deflated 97%)
+.fl
+adding: Wave.class(in = 3778) (out= 81)(deflated 97%)
+.fl
+adding: at_work.gif(in = 6621) (out= 89)(deflated 98%)
+.fl
+adding: monkey.jpg(in = 7667) (out= 91)(deflated 98%)
+.fl
+adding: spacemusic.au(in = 3079) (out= 73)(deflated 97%)
+.fl
+\fP
+.fi
+.RE
+
+.LP
+すでに画像、オーディオファイル、およびクラス用のサブディレクトリに分けている場合は、これらを単一の JAR ファイルに結合できます。 
+.RS 3
+
+.LP
+.nf
+\f3
+.fl
+% ls \-F
+.fl
 audio/ classes/ images/
+.fl
 
+.fl
 % jar cvf bundle.jar audio classes images
+.fl
 added manifest
+.fl
 adding: audio/(in = 0) (out= 0)(stored 0%)
+.fl
 adding: audio/1.au(in = 2324) (out= 67)(deflated 97%)
+.fl
 adding: audio/2.au(in = 6970) (out= 90)(deflated 98%)
+.fl
 adding: audio/3.au(in = 11616) (out= 108)(deflated 99%)
+.fl
 adding: audio/spacemusic.au(in = 3079) (out= 73)(deflated 97%)
+.fl
 adding: classes/(in = 0) (out= 0)(stored 0%)
+.fl
 adding: classes/Animator.class(in = 2266) (out= 66)(deflated 97%)
+.fl
 adding: classes/Wave.class(in = 3778) (out= 81)(deflated 97%)
+.fl
 adding: images/(in = 0) (out= 0)(stored 0%)
+.fl
 adding: images/monkey.jpg(in = 7667) (out= 91)(deflated 98%)
+.fl
 adding: images/at_work.gif(in = 6621) (out= 89)(deflated 98%)
+.fl
 
-% ls -F
+.fl
+% ls \-F
+.fl
 audio/ bundle.jar classes/ images/
+.fl
+\fP
 .fi
-\f1
 .RE
-Ǥϡ
-.I t 
-ץꤷơjar եΥȥ̾ɽޤ
-.RS 
+
+.LP
+JAR ファイルのエントリ名を表示するには、「\f2t\fP」オプションを使用します。 
+.RS 3
+
+.LP
+.nf
 \f3
-.nf
+.fl
 % jar tf bundle.jar
-META-INF/
-META-INF/MANIFEST.MF
+.fl
+META\-INF/
+.fl
+META\-INF/MANIFEST.MF
+.fl
 audio/1.au
+.fl
 audio/2.au
+.fl
 audio/3.au
+.fl
 audio/spacemusic.au
+.fl
 classes/Animator.class
+.fl
 classes/Wave.class
+.fl
 images/monkey.jpg
+.fl
 images/at_work.gif
+.fl
+\fP
 .fi
-\f1
 .RE
-饹ɤ߹ߤ®뤿 jar ե˥ǥåե
-ɲäϡ
-.I i
-ץѤƤ
+
+.LP
+.LP
+クラスロードを高速にするためにインデックスファイルを JAR ファイルに追加するには、「\f2i\fP」オプションを使用します。
 .br
 .br
-:
+例:
 .br
 
 .LP
 .RS 3
 
 .LP
-Ȥгץꥱ¸Ƥ륯饹 
-.I main.jar
-
-.I buy.jar
-
- 
-.I sell.jar 
-Ȥ 3 Ĥ jar ե
-ʬ䤷Ȥޤ
-.I main.jar 
-Υޥ˥եȤ 
-.I Class-Path
-°˼Τ褦˻ꤷ硢 
+たとえば、株取引アプリケーション用の相互依存したクラスを、\f2main.jar\fP、\f2buy.jar\fP、および \f2sell.jar\fP という 3 つの JAR ファイルに分割したとします。
+.br
+
 .LP
-.RS 5
-Class-Path: buy.jar sell.jar
+.br
+
+.LP
+\f2main.jar\fP のマニフェストの \f2Class\-path\fP 属性に次のように指定した場合、 
+.nf
+\f3
+.fl
+Class\-Path: buy.jar sell.jar
+.fl
+\fP
+.fi
+
+.LP
+\f2\-i\fP オプションを使用すれば、アプリケーションのクラスの 読み込みを高速化できます。 
+.nf
+\f3
+.fl
+% jar i main.jar
+.fl
+\fP
+.fi
+
+.LP
+\f2INDEX.LIST\fP ファイルが \f2META\-INF\fP ディレクトリに挿入されます。この結果、アプリケーションのクラスローダーによってクラスまたは リソースの検索が行われるときに、適切な jar ファイルがダウンロードされます。
 .RE
-.LP
-.I -i 
-ץѤСץꥱΥ饹
-ɤ߹ߤ®Ǥޤ
-.LP
-.RS 5
-% jar i main.jar
-.RE
-.LP
-.I INDEX.LIST 
-ե뤬 
-.I META-INF 
-ǥ쥯ȥɲäޤ
-η̡ץꥱΥ饹ˤäƥ饹ޤ
-꥽θԤȤˡŬڤ jar ե뤬ɤޤ 
-.SH "Ϣ"
+.SH "関連項目"
 .LP
 
 .LP
+.na
+\f2「JAR ファイルの概要」\fP @
 .fi
 http://java.sun.com/javase/6/docs/technotes/guides/jar/jarGuide.html
-
-.na
-
-.I The Jar Overview
-
 .br
 
 .LP
+.na
+\f2「JAR ファイルの仕様」\fP @
 .fi
 http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html
-
-.na
-
-.I The Jar File Specification
-
 .br
 
 .LP
+.na
+\f2「Jar インデックス」\fP @
 .fi
-http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Index
-
-.na
-
-.I The JarIndex Spec
-
+http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JARIndex
 .br
 
 .LP
+.na
+\f2「Jar チュートリアル」\fP @
 .fi
-http://java.sun.com/docs/books/tutorial/jar
-
-.na
-
-.I Jar Tutorial
-
-(Java եȥ Web ) 
+http://java.sun.com/docs/books/tutorial/jar (Java Software の Web サイト内)
 .br
 
 .LP
-.fi
-http://java.sun.com/javase/6/docs/technotes/tools/share/pack200.html
-
-.na
-
-.I pack200 Reference Page
-
+pack200(1) 
 .LP
  
--- a/jdk/src/linux/doc/man/ja/jarsigner.1	Tue May 12 15:21:55 2009 +0900
+++ b/jdk/src/linux/doc/man/ja/jarsigner.1	Thu May 14 00:17:25 2009 -0700
@@ -1,431 +1,827 @@
-'\" t
-.\"
-.\" Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
-.\" 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-.\" CA 95054 USA or visit www.sun.com if you need additional information or
-.\" have any questions.
-.\" 
-.\"
-.TH jarsigner 1 "2006 ǯ 9  4 " "Java SE 6" "桼ޥ"
-.SH "̾"
-jarsigner \- JAR ̾Ӹڥġ
+." Copyright 2004-2006 Sun Microsystems, Inc.  All Rights Reserved.
+." 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+." CA 95054 USA or visit www.sun.com if you need additional information or
+." have any questions.
+."
+.TH jarsigner 1 "04 May 2009"
+." Generated from HTML by html2man (author: Eric Armstrong)
+
+.LP
+.SH "名前"
+jarsigner \- JAR 署名および検証ツール
 .LP
 .RS 3
 
 .LP
 .LP
-Java ARchive (JAR) եν̾̾դ JAR եν̾򸡾ڤޤ
+Java ARchive (JAR) ファイルの署名を生成し、署名付き JAR ファイルの署名を検証します。
 .LP
 .RE
-.SH ""
-.B jarsigner 
-[ 
-.BI options
-]  
-jar-file alias
-.br
-.B jarsigner
-.BI \-verify
-[
-.BI options 
-]
-jar-file 
-.SH ""
-.IX "JAR signing and verification tool " "" "JAR signing and verification tool  \(em \fLjarsigner\fP"
-.IX "jarsigner" "" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.B jarsigner 
-ġϡ 2 ĤŪǻѤޤ
-.TP 5
-1. 
-Java ARchive (JAR) ե˽̾դ
-.TP 5
-2. 
-̾դ JAR եν̾ȴ򸡾ڤ
+.SH "形式"
 .LP
-JAR ǽȤȡ饹ե롢᡼ɡӤ¾Υǥǡ
-ñΥե˥ѥåǤΤǡե®ưפۤǤޤ
-ȯԤϡ
-.B jar 
-Ȥ̾ΥġȤä JAR եǤޤŪʴС
-٤Ƥ ZIP ե JAR եȤߤʤȤǤޤ
-.LP
-֥ǥ̾פϡʤ餫Υǡ (ֽ̾פоݤȤʤǡ) ȡƥƥ
-(͡Ҥʤ) Ȥ˴ŤƷ׻ӥåǤ񤭤ν̾Ʊ͡
-ǥ̾ˤ¿ޤ
-.TP 2
-\(bu
-̾˻Ȥ줿ФˤʤȤäƷ׻ԤȤǡ
-ǥ̾ʪɤ򸡾ڤǤ
-.TP 2
-\(bu
-¾ͤΤʤ¤ꡢǥ̾ε¤ԲǽǤ
-.TP 2
-\(bu
-ǥ̾ϡν̾դǡоݤȤΤǤꡢۤΥǡ
-̾ȤƵǽ뤳ȤϤʤ
-.TP 2
-\(bu
-̾դΥǡѹǤʤǡѹ줿ϡν̾ˤäƥǡ
-ʪǤϤʤȤڤ
-.LP
-եФƥƥƥν̾ˤϡޤΥƥƥ
-Υڥɬפޤޤǧڤ 1 İʾξ
-ɬפǤ־פȤϡ륨ƥƥΥǥ̾դʸΤȤǤ
-ˤϡۤΤ륨ƥƥθ̤ͤäƤ뤳Ȥ񤫤

-.LP
-.B jarsigner 
-ϡ֥ȥפ˴ޤޤ븰ȾȤäơJAR եΥǥ̾
-ޤȥϡȡ˴Ϣդ줿 X.509 Ϣ
-줿ǡ١ǤϢϡбǧڤޤ
-ȥκȴˤϡ
-.B keytool
-桼ƥƥȤޤ
-.LP
-.B jarsigner 
-ϡƥƥȤäƽ̾ޤ̾դ JAR եˤϡ
-ȥξΥԡޤޤƤޤϡJAR եν̾˻Ȥ
-줿бξΥԡǤ
-.B jarsigner 
-ϡ̾դ JAR եΥǥ̾򡢥ե (ν֥̾åե) ˴
-ޤƤȤäƸڤ뤳ȤǤޤ
-.LP
-J2SE 5.0 ʹߤ \f3jarsigner\fP ϡॹפޤ̾Ǥ褦ˤʤޤΤᡢƥ/ǥץ (Java Plug\-in ʤ) ϡ̾դξ񤬤ޤͭǤ JAR եν̾Ԥ줿ɤǧǤޤˡΥॹ׾򥢥ץꥱ󤬼뤿 API J2SE 5.0 ɲäޤ
-.LP
-Ǥϡ
-.B jarsigner 
-ǽ̾ǤΤϡJDK  
-.B jar
-ġǺ줿 JAR ե롢ޤ ZIP եǤJAR ե ZIP եƱǤJAR եˤ
-.B META-INF/MANIFEST.MF 
-ե뤬ޤޤƤۤʤޤ
-.B META-INF/MANIFEST.MF
-եϡ
-.B jarsigner 
- ZIP ե˽̾դȤ˼ưŪ˺ޤ
-.LP
-ǥեȤǤϡ
-.B jarsigner
- JAR եˡֽ̾פդޤ
-̾դ JAR եָڡפϡ
-.I -verify 
-ץꤷޤ
-.SS 
-JDK 1.1 Ȥθߴ
-.LP
-.IX "jarsigner" "Compatibility with JDK 1.1" "\fLjarsigner\fP \(em JAR signing and verification tool "
-.B keytool

-.B jarsigner 
-ġϡJDK 1.1 󶡤Ƥ
-.B javakey
-ġ֤ΤǤοġ
-.B javakey
-¿εǽƤꡢȥѥɤݸ뵡ǽ䡢
-̾Ǥʤ̾򸡾ڤ뵡ǽäƤޤ
-.LP
-ȥƥϡ
-.B javakey 
-ƴƤǥƥƥǡ١ΤǤȥȡJDK 1.1  
-.B javakey 
-ȤäƤǡ١Ȥδ֤ˤϲ̸ߴϤޤ󡣤Τ褦
-ȤϲǽǤ
-.TP 2
-\(bu
-.B keytool
-
-.I -identitydb 
-ޥɤȤȡǥƥƥǡ١ξ򥭡ȥ˥ݡȤǤޤ
-.TP 2
-\(bu
 
-.B jarsigner

-.B javakey
-Ȥäƽ̾줿 JAR ե˽̾դ뤳ȤǤޤ
-.TP 2
-\(bu
-.B jarsigner 

-.B javakey
-Ȥäƽ̾줿 JAR ե򸡾ڤǤޤäơ
-.B jarsigner
-ϡJDK 1.2 ΥȥǤϤʤ JDK 1.1 Υǥƥƥǡ١ν̾
-̾ǧоݤ˽ԤȤǤޤ
-.LP 
-ɽϡJDK 1.1.x ǽ̾줿 JAR ե뤬Java 2 ץåȥեǤɤΤ褦˰뤫
-Ƥޤ
 .LP
 .nf
-.ft 3
-                      1.1 ǡ
-         1.1 ǡ   ١   ݥꥷ
-JAR      ١   1.2    ե      
-ե   ǥ   ȥ˥   ǥ   Ϳ
-Υ   ƥƥ   ݡȤ   ƥƥ/    ø 
-                      뿮Ǥ   ̾ø  
-                      륢ǥ   Ϳ
-                      ƥƥ(4)
+\f3
+.fl
+\fP\f3jarsigner\fP [ options ] jar\-file alias
+.fl
+\f3jarsigner\fP \-verify [ options ] jar\-file 
+.fl
+.fi
 
-̾դ                                         ٤ƤΥɤ
-JAR          x         x          x           Ϳ
-                                                 ǥեȤ
-                                                 ø
-												   
-̾Τʤ                                       ٤ƤΥɤ
-JAR          x         x          x           Ϳ
-                                                 ǥեȤ
-                                                 ø
+.LP
+.SH "説明"
+.LP
 
-̾դ                                         ٤ƤΥɤ
-JAR          x                   x           Ϳ
-                                                 ǥեȤ
-                                                 ø
+.LP
+.LP
+\f3jarsigner\fP ツールは、次の 2 つの目的で使用します。
+.LP
+.RS 3
+.TP 3
+1.
+Java ARchive (JAR) ファイルに署名を付ける 
+.TP 3
+2.
+署名付き JAR ファイルの署名と整合性を検証する 
+.RE
 
-̾դ                                         ٤ƤΥɤ
-JAR          /  x          x           Ϳ
-              ʤ                             ǥեȤ
-                                                 ø (3)
+.LP
+.LP
+JAR 機能を使うと、クラスファイル、イメージ、サウンド、およびその他のデジタルデータを単一のファイルにパッケージ化できるので、ファイルを迅速かつ容易に配布できます。開発者は、jar(1) という名前のツールを使って JAR ファイルを作成できます。技術的な観点から言えば、すべての ZIP ファイルも JAR ファイルとみなすことができます。 ただし、\f3jar\fP によって作成された JAR ファイル、または \f3jarsigner\fP によって処理された JAR ファイルには、META\-INF/MANIFEST.MF ファイルが含まれています。
+.LP
+.LP
+「デジタル署名」は、なんらかのデータ (「署名」の対象となるデータ) と、エンティティー (人、会社など) の非公開鍵とに基づいて計算されるビット列です。手書きの署名同様、デジタル署名には多くの利点があります。
+.LP
+.RS 3
+.TP 2
+o
+署名の生成に使われた非公開鍵と対になる公開鍵を使って計算を行うことで、デジタル署名が本物かどうかを検証できる 
+.TP 2
+o
+非公開鍵が他人に知られない限り、デジタル署名の偽造は不可能である 
+.TP 2
+o
+デジタル署名は、その署名が付いたデータだけを対象とするものであり、ほかのデータの署名として機能することはない 
+.TP 2
+o
+署名付きのデータは変更できない。 データが変更された場合は、その署名によってデータが本物ではないことが検証される 
+.RE
 
-̾դ                                         ٤ƤΥɤ
-JAR          /  x                     Ϳ
-              ʤ                             ǥեȤ
-                                                 ø (1,3)
-
-̾դ                                         ٤ƤΥɤ
-JAR          x                              Ϳ
-                                                 ǥեȤ
-                                                 øȥݥꥷ
-                                                 ե
-                                                 Ϳ
-                                                 ø
-												   
-̾դ                                         ٤ƤΥɤ
-JAR          /                         Ϳ
-              Ǥ                             ǥեȤ
-                                                 øȥݥꥷ
-                                                 ե
-                                                 Ϳ
-                                                 ø (2)
-
-̾դ                                         ٤Ƥ
-JAR          /    x          x           ø
-              Ǥ 
-̾դ                                         ٤Ƥ
-JAR          /              x           ø (1)
-              Ǥ
-̾դ                                         ٤Ƥ
-JAR          /    x                     ø (1)
-              Ǥ
-.fi
-.ft 1
 .LP
-:
-.TP 5
-1. 
-ݥꥷե˥ǥƥƥ/̾ˤĤƤθڤ硢
-򥭡ȥ˥ݡȤơݥꥷե꤬Ϳ줿
-øȿǤ褦ˤɬפޤ
-.TP 5
-2. 
-ݥꥷե/ȥȤ߹碌ϡǥƥƥǡ١
-οǤ륢ǥƥƥͥ褵ޤ
-.TP 5
-3. 
-Java 2 ץåȥեǤϡǤʤǥƥƥ̵뤵ޤ
-.TP 5
-4. 
-JDK ȥ˥ݡȤǤΤϡǤ륢ǥƥƥǤ
-.SS 
-ȥ̾
 .LP
-.IX "jarsigner" "Keystore Aliases" "\fLjarsigner\fP \(em JAR signing and verification tool "
+ファイルに対してエンティティーの署名を生成するには、まず、エンティティーは、そのエンティティーに関連する公開鍵と非公開鍵のペアを持つ必要があります。 また、公開鍵を認証する 1 つまたは複数の証明書も必要です。「証明書」とは、あるエンティティーが発行したデジタル署名付きの文書で、別なエンティティーの公開鍵が特定の値であることを証明しています。
 .LP
-ȥΤ٤ƤΥȥϡդΡ̾פ𤷤ƥޤ
 .LP
-.B jarsigner 
-Ȥä JAR ե˽̾դȤϡ̾ɬפ
-ޤ७ȥȥ̾ꤹɬפޤȤСϡ
-working ǥ쥯ȥ
-.B mystore
-Ȥ̾Υȥ˴ޤޤ̾ 
-.B duke 
-˴Ϣդ줿Ȥäơ
-.BR MyJARFile.jar
-Ȥ̾ JAR ե˽̾դޤϥեϻꤵƤʤ
-Τǡ
-.BR MyJARFile.jar 
-Ͻ̾դ JAR եˤäƾ񤭤ޤ
+\f3jarsigner\fP は、「キーストア」に含まれる鍵と証明書情報を使って、JAR ファイルのデジタル署名を生成します。キーストアは、非公開鍵と、非公開鍵に関連付けられた X.509 証明書チェーンが収められたデータベースです。キーストアの作成と管理には、keytool(1) ユーティリティーを使います。
 .LP
-.ft 3
-.nf
-jarsigner -keystore /working/mystore -storepass 
-   myspass -keypass dukekeypasswd MyJARFile.jar duke
-.fi
-.ft 1
 .LP
-ȥϥѥɤݸƤΤǡȥΥѥ (Ǥ 
-.BR myspass
-) ꤹɬפޤޥɹԤǥȥΥѥɤꤷʤäϡѥɤϤޤƱͤˡ⥭ȥǥѥɤˤäݸƤΤǡΥѥ (Ǥ 
-.BR dukekeypasswd 
-) ꤹɬפޤޥɹԤΥѥɤꤷƤ餺ΥѥȤȥΥѥɤȰäƤϡΥѥɤϤޤ
+\f3jarsigner\fP は、エンティティーの非公開鍵を使って署名を生成します。署名付き JAR ファイルには、ファイルの署名に使用する非公開鍵に対応する公開鍵を保存するキーストアからとった証明書のコピーも含まれています。 \f3jarsigner\fP は、署名付き JAR ファイルのデジタル署名を、ファイル内 (の署名ブロックファイル) に含まれている証明書を使って検証することができます。
+.LP
+.LP
+5.0 以降では、\f3jarsigner\fP はタイムスタンプを含む署名を生成するので、システムやデプロイヤ (Java Plug\-in を含む) はJAR ファイルが署名証明書の有効期間中に署名されたかどうかをチェックできます。さらに、5.0 で追加された API を使用して、アプリケーションはタイムスタンプ情報を取得できます。
+.LP
+.LP
+現時点では、\f3jarsigner\fP で署名できるのは、JDK の jar(1) ツールで作成された JAR ファイル、または ZIP ファイルだけです。JAR ファイルは ZIP ファイルと同じですが、JAR ファイルには META\-INF/MANIFEST.MF ファイルが含まれている点が異なります。META\-INF/MANIFEST.MF ファイルは、\f3jarsigner\fP が ZIP ファイルに署名を付けるときに自動的に作成されます。
+.LP
+.LP
+デフォルトでは、\f3jarsigner\fP は JAR (または ZIP) ファイルに「署名」を付けます。署名付き JAR ファイルを「検証」する場合は、\f2\-verify\fP オプションを指定します。
 .LP
 .SS 
-ȥξ
+JDK 1.1 との互換性
 .LP
-.IX "jarsigner" "Keystore Location" "\fLjarsigner\fP \(em JAR signing and verification tool "
+.RS 3
+
 .LP
-.B jarsigner 
-ˤϡѤ륭ȥ̾Ⱦꤹ 
-.I -keystore
-ץ󤬤ޤȥϡǥեȤǤϥ桼Υۡǥ쥯ȥ 
-.I .keystore 
-Ȥ̾Υե˳Ǽޤ桼Υۡǥ쥯ȥϡ
-.I user.home
-ƥץѥƥˤäƷޤޤ
 .LP
-.I \-keystore