[SCM] jigsaw packaging branch, master, updated. f70383b26fd5257c9a104dc8240ee4ff2e3287aa

Guillaume Mazoyer gmazoyer-guest at alioth.debian.org
Tue Aug 23 19:15:53 UTC 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "jigsaw packaging".

The branch, master has been updated
       via  f70383b26fd5257c9a104dc8240ee4ff2e3287aa (commit)
      from  e395a48ce8b3a15417bb418d6a3dfc8b3a690cd0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f70383b26fd5257c9a104dc8240ee4ff2e3287aa
Author: Mandy Chung <mandy.chung at oracle.com>
Date:   Tue Aug 23 18:58:34 2011 +0200

    Sync with upstream JDK8 b01.

-----------------------------------------------------------------------

Summary of changes:
 .hg/branchheads.cache                              |    4 +-
 .hg/dirstate                                       |  Bin 1159 -> 1159 bytes
 .hg/store/00changelog.i                            |  Bin 69528 -> 70608 bytes
 .hg/store/00manifest.i                             |  Bin 83083 -> 85557 bytes
 .hg/store/data/make/jprt.properties.i              |  Bin 5256 -> 6060 bytes
 .hg/store/data/make/sanity-rules.gmk.i             |  Bin 4599 -> 4817 bytes
 .hg/store/data/~2ehgtags.i                         |  Bin 20217 -> 20657 bytes
 .hg/store/undo                                     |  Bin 115 -> 127 bytes
 .hg/undo.desc                                      |    2 +-
 .hg/undo.dirstate                                  |  Bin 1159 -> 1159 bytes
 .hgtags                                            |    1 +
 corba/.hg/branchheads.cache                        |    4 +-
 corba/.hg/dirstate                                 |  Bin 109369 -> 109369 bytes
 corba/.hg/store/00changelog.i                      |  Bin 81735 -> 82262 bytes
 corba/.hg/store/00manifest.d                       |  Bin 249681 -> 250277 bytes
 corba/.hg/store/00manifest.i                       |  Bin 20032 -> 20224 bytes
 corba/.hg/store/data/make/jprt.properties.i        |  Bin 2124 -> 2416 bytes
 corba/.hg/store/data/~2ehgtags.i                   |  Bin 20226 -> 20668 bytes
 corba/.hg/store/undo                               |  Bin 214 -> 113 bytes
 corba/.hg/undo.desc                                |    2 +-
 corba/.hg/undo.dirstate                            |  Bin 109369 -> 109369 bytes
 corba/.hgtags                                      |    1 +
 corba/make/jprt.properties                         |   15 +-
 hotspot/.hg/branchheads.cache                      |    4 +-
 hotspot/.hg/dirstate                               |  Bin 273890 -> 273890 bytes
 hotspot/.hg/store/00changelog.d                    |  Bin 618288 -> 618472 bytes
 hotspot/.hg/store/00changelog.i                    |  Bin 167616 -> 167744 bytes
 hotspot/.hg/store/00manifest.d                     |  Bin 5975971 -> 5981187 bytes
 hotspot/.hg/store/00manifest.i                     |  Bin 167616 -> 167744 bytes
 hotspot/.hg/store/data/~2ehgtags.i                 |  Bin 31012 -> 31543 bytes
 hotspot/.hg/store/undo                             |  Bin 11691 -> 104 bytes
 hotspot/.hg/undo.desc                              |    2 +-
 hotspot/.hg/undo.dirstate                          |  Bin 273030 -> 273890 bytes
 hotspot/.hgtags                                    |    1 +
 jaxp/.hg/branchheads.cache                         |    4 +-
 jaxp/.hg/dirstate                                  |  Bin 625 -> 625 bytes
 jaxp/.hg/store/00changelog.i                       |  Bin 95943 -> 96470 bytes
 jaxp/.hg/store/00manifest.i                        |  Bin 114781 -> 115249 bytes
 jaxp/.hg/store/data/make/jprt.properties.i         |  Bin 2260 -> 2552 bytes
 jaxp/.hg/store/data/~2ehgtags.i                    |  Bin 20542 -> 20983 bytes
 jaxp/.hg/store/undo                                |  Bin 144 -> 94 bytes
 jaxp/.hg/undo.desc                                 |    2 +-
 jaxp/.hg/undo.dirstate                             |  Bin 625 -> 625 bytes
 jaxp/.hgtags                                       |    1 +
 jaxp/make/jprt.properties                          |   15 +-
 jaxws/.hg/branchheads.cache                        |    4 +-
 jaxws/.hg/dirstate                                 |  Bin 627 -> 627 bytes
 jaxws/.hg/store/00changelog.d                      |  Bin 131154 -> 131487 bytes
 jaxws/.hg/store/00changelog.i                      |  Bin 16320 -> 16512 bytes
 jaxws/.hg/store/00manifest.d                       |  Bin 412026 -> 412302 bytes
 jaxws/.hg/store/00manifest.i                       |  Bin 16064 -> 16256 bytes
 jaxws/.hg/store/data/make/jprt.properties.i        |  Bin 2545 -> 2837 bytes
 jaxws/.hg/store/data/~2ehgtags.i                   |  Bin 20541 -> 20982 bytes
 jaxws/.hg/store/undo                               |  Bin 206 -> 134 bytes
 jaxws/.hg/undo.desc                                |    2 +-
 jaxws/.hg/undo.dirstate                            |  Bin 627 -> 627 bytes
 jaxws/.hgtags                                      |    1 +
 jaxws/make/jprt.properties                         |   15 +-
 jdk/.hg/branchheads.cache                          |    4 +-
 jdk/.hg/dirstate                                   |  Bin 1390092 -> 1389715 bytes
 jdk/.hg/store/00changelog.d                        |  Bin 1292178 -> 1307396 bytes
 jdk/.hg/store/00changelog.i                        |  Bin 296256 -> 300928 bytes
 jdk/.hg/store/00manifest.d                         |  Bin 24575994 -> 24643788 bytes
 jdk/.hg/store/00manifest.i                         |  Bin 295744 -> 300352 bytes
 .../store/data/make/com/sun/java/pack/_makefile.i  |  Bin 6473 -> 6878 bytes
 jdk/.hg/store/data/make/com/sun/nio/_makefile.i    |  Bin 1503 -> 1724 bytes
 .../store/data/make/com/sun/nio/sctp/_makefile.i   |  Bin 2313 -> 2492 bytes
 .../store/data/make/common/shared/_defs-java.gmk.i |  Bin 9263 -> 10357 bytes
 .../data/make/common/shared/_defs-versions.gmk.i   |  Bin 5934 -> 6042 bytes
 .../data/make/java/fdlibm/_f_i_l_e_s__c.gmk.i      |  Bin 1436 -> 1559 bytes
 jdk/.hg/store/data/make/java/java/_makefile.i      |  Bin 8295 -> 8692 bytes
 jdk/.hg/store/data/make/java/math/_makefile.i      |  Bin 1292 -> 1495 bytes
 jdk/.hg/store/data/make/java/nio/_makefile.i       |  Bin 10653 -> 10938 bytes
 jdk/.hg/store/data/make/java/sun__nio/_makefile.i  |  Bin 1611 -> 1854 bytes
 jdk/.hg/store/data/make/jprt.properties.i          |  Bin 5696 -> 6438 bytes
 jdk/.hg/store/data/make/sun/nio/_makefile.i        |  Bin 4807 -> 5028 bytes
 jdk/.hg/store/data/make/sun/nio/cs/_makefile.i     |  Bin 3844 -> 4111 bytes
 .../store/data/make/sun/security/ec/_makefile.i    |  Bin 5102 -> 5410 bytes
 .../data/make/sun/security/mscapi/_makefile.i      |  Bin 6726 -> 7171 bytes
 jdk/.hg/store/data/make/tools/_makefile.i          |  Bin 3411 -> 3548 bytes
 .../tools/buildmetaindex/_build_meta_index.java.i  |  Bin 5018 -> 5459 bytes
 .../compileproperties/_compile_properties.java.i   |  Bin 4324 -> 4611 bytes
 .../tools/src/build/tools/dirdiff/_dir_diff.java.i |  Bin 3098 -> 3305 bytes
 .../build/tools/dtdbuilder/_d_t_d_builder.java.i   |  Bin 3239 -> 3743 bytes
 .../tools/dtdbuilder/_d_t_d_input_stream.java.i    |  Bin 2473 -> 2731 bytes
 .../build/tools/dtdbuilder/_d_t_d_parser.java.i    |  Bin 5867 -> 6554 bytes
 .../build/tools/dtdbuilder/_public_mapping.java.i  |  Bin 1985 -> 2221 bytes
 .../generatebreakiteratordata/_char_set.java.i     |  Bin 7070 -> 7457 bytes
 ..._dictionary_based_break_iterator_builder.java.i |  Bin 2189 -> 2498 bytes
 .../_generate_break_iterator_data.java.i           |  Bin 2597 -> 2834 bytes
 .../_rule_based_break_iterator_builder.java.i      |  Bin 24310 -> 26318 bytes
 .../_supplementary_character_data.java.i           |  Bin 2499 -> 2734 bytes
 .../generatecharacter/_generate_character.java.i   |  Bin 23234 -> 23430 bytes
 .../generatecharacter/_special_case_map.java.i     |  Bin 3885 -> 5015 bytes
 .../tools/generatecharacter/_unicode_spec.java.i   |  Bin 6722 -> 7113 bytes
 .../_generate_currency_data.java.i                 |  Bin 4667 -> 4921 bytes
 .../tools/src/build/tools/hasher/_hasher.java.i    |  Bin 3875 -> 4459 bytes
 .../src/build/tools/jarsplit/_jar_split.java.i     |  Bin 2367 -> 2796 bytes
 .../make/tools/src/build/tools/javazic/_gen.java.i |  Bin 3714 -> 4007 bytes
 .../tools/src/build/tools/javazic/_gen_doc.java.i  |  Bin 6922 -> 7267 bytes
 .../tools/src/build/tools/javazic/_main.java.i     |  Bin 2786 -> 2954 bytes
 .../tools/src/build/tools/javazic/_mappings.java.i |  Bin 2537 -> 2705 bytes
 .../tools/src/build/tools/javazic/_simple.java.i   |  Bin 2825 -> 3238 bytes
 .../tools/src/build/tools/javazic/_time.java.i     |  Bin 3199 -> 3430 bytes
 .../tools/src/build/tools/javazic/_zoneinfo.java.i |  Bin 5454 -> 5767 bytes
 .../tools/jdwpgen/_abstract_command_node.java.i    |  Bin 1410 -> 1636 bytes
 .../tools/jdwpgen/_abstract_group_node.java.i      |  Bin 1760 -> 1984 bytes
 .../tools/jdwpgen/_abstract_named_node.java.i      |  Bin 1860 -> 2167 bytes
 .../tools/jdwpgen/_abstract_type_list_node.java.i  |  Bin 1914 -> 2255 bytes
 .../tools/src/build/tools/jdwpgen/_alt_node.java.i |  Bin 2037 -> 2258 bytes
 .../build/tools/jdwpgen/_command_set_node.java.i   |  Bin 1631 -> 1878 bytes
 .../build/tools/jdwpgen/_constant_set_node.java.i  |  Bin 2370 -> 2683 bytes
 .../src/build/tools/jdwpgen/_error_set_node.java.i |  Bin 1599 -> 1848 bytes
 .../tools/src/build/tools/jdwpgen/_node.java.i     |  Bin 2483 -> 2871 bytes
 .../tools/src/build/tools/jdwpgen/_out_node.java.i |  Bin 1943 -> 2176 bytes
 .../src/build/tools/jdwpgen/_root_node.java.i      |  Bin 1540 -> 1774 bytes
 .../src/build/tools/jdwpgen/_select_node.java.i    |  Bin 2192 -> 2470 bytes
 .../tools/makeclasslist/_make_classlist.java.i     |  Bin 2505 -> 2873 bytes
 .../tools/stripproperties/_strip_properties.java.i |  Bin 3324 -> 3549 bytes
 jdk/.hg/store/data/src/share/bin/jli__util.h.i     |  Bin 2020 -> 2140 bytes
 .../plaf/motif/_motif_file_chooser_u_i.java.i      |  Bin 6910 -> 7356 bytes
 .../plaf/windows/_windows_file_chooser_u_i.java.i  |  Bin 13933 -> 14304 bytes
 .../swing/plaf/windows/_windows_tree_u_i.java.i    |  Bin 2940 -> 3288 bytes
 .../com/sun/java/util/jar/pack/_attribute.java.i   |  Bin 17483 -> 17825 bytes
 .../sun/java/util/jar/pack/_band_structure.java.i  |  Bin 26683 -> 26936 bytes
 .../sun/java/util/jar/pack/_class_reader.java.i    |  Bin 7120 -> 7481 bytes
 .../sun/java/util/jar/pack/_class_writer.java.i    |  Bin 3928 -> 4164 bytes
 .../com/sun/java/util/jar/pack/_code.java.i        |  Bin 5508 -> 5714 bytes
 .../com/sun/java/util/jar/pack/_coding.java.i      |  Bin 10907 -> 11159 bytes
 .../sun/java/util/jar/pack/_constant_pool.java.i   |  Bin 11727 -> 12258 bytes
 .../com/sun/java/util/jar/pack/_constants.java.i   |  Bin 5894 -> 6172 bytes
 .../com/sun/java/util/jar/pack/_fixups.java.i      |  Bin 6592 -> 7127 bytes
 .../com/sun/java/util/jar/pack/_instruction.java.i |  Bin 7577 -> 7797 bytes
 .../sun/java/util/jar/pack/_native_unpack.java.i   |  Bin 5559 -> 5668 bytes
 .../com/sun/java/util/jar/pack/_package.java.i     |  Bin 16406 -> 17095 bytes
 .../sun/java/util/jar/pack/_package_reader.java.i  |  Bin 21949 -> 22370 bytes
 .../sun/java/util/jar/pack/_package_writer.java.i  |  Bin 20329 -> 21039 bytes
 .../com/sun/java/util/jar/pack/_packer_impl.java.i |  Bin 10169 -> 10441 bytes
 .../com/sun/java/util/jar/pack/_prop_map.java.i    |  Bin 5739 -> 6580 bytes
 .../com/sun/java/util/jar/pack/_t_l_globals.java.i |  Bin 1344 -> 1545 bytes
 .../sun/java/util/jar/pack/_unpacker_impl.java.i   |  Bin 5902 -> 6030 bytes
 .../com/sun/java/util/jar/pack/_utils.java.i       |  Bin 6015 -> 6186 bytes
 .../share/classes/com/sun/jndi/ldap/_filter.java.i |  Bin 7976 -> 8520 bytes
 .../java/awt/_scroll_pane_adjustable.java.i        |  Bin 4224 -> 4464 bytes
 .../data/src/share/classes/java/lang/_class.java.i |  Bin 31302 -> 32433 bytes
 .../data/src/share/classes/java/lang/_math.java.i  |  Bin 10801 -> 11883 bytes
 .../share/classes/java/lang/_strict_math.java.i    |  Bin 11374 -> 11696 bytes
 .../classes/java/lang/reflect/_constructor.java.i  |  Bin 9838 -> 11178 bytes
 .../classes/java/lang/reflect/_executable.java.i   |  Bin 0 -> 4010 bytes
 .../share/classes/java/lang/reflect/_method.java.i |  Bin 10168 -> 11321 bytes
 .../share/classes/java/net/_datagram_socket.java.i |  Bin 12603 -> 12719 bytes
 .../share/classes/java/net/_server_socket.java.i   |  Bin 9171 -> 9247 bytes
 .../classes/java/net/_socket_permission.java.i     |  Bin 15780 -> 16029 bytes
 .../classes/java/nio/_x-_buffer.java.template.i    |  Bin 14147 -> 14359 bytes
 .../nio/channels/_asynchronous_file_channel.java.i |  Bin 11030 -> 11187 bytes
 .../classes/java/nio/channels/_file_channel.java.i |  Bin 13057 -> 13214 bytes
 .../share/classes/java/nio/charset/_charset.java.i |  Bin 12793 -> 13202 bytes
 .../share/classes/java/security/_key_store.java.i  |  Bin 13466 -> 13651 bytes
 .../classes/java/security/cert/_x509_c_r_l.java.i  |  Bin 5359 -> 5592 bytes
 .../java/security/cert/_x509_certificate.java.i    |  Bin 7459 -> 7689 bytes
 .../java/security/cert/_x509_extension.java.i      |  Bin 3018 -> 3303 bytes
 .../classes/javax/swing/_repaint_manager.java.i    |  Bin 18112 -> 18325 bytes
 .../swing/plaf/basic/_basic_combo_popup.java.i     |  Bin 10386 -> 10548 bytes
 .../plaf/basic/_basic_file_chooser_u_i.java.i      |  Bin 13346 -> 13476 bytes
 .../swing/plaf/metal/_metal_look_and_feel.java.i   |  Bin 19591 -> 19753 bytes
 .../swing/plaf/synth/_synth_combo_box_u_i.java.i   |  Bin 10476 -> 10705 bytes
 .../javax/swing/text/html/_form_view.java.i        |  Bin 8951 -> 9110 bytes
 .../javax/swing/text/html/_h_t_m_l_document.java.i |  Bin 34292 -> 34483 bytes
 .../javax/swing/text/html/_h_t_m_l_writer.java.i   |  Bin 10245 -> 10452 bytes
 .../swing/text/html/_option_combo_box_model.java.i |  Bin 1551 -> 1714 bytes
 .../swing/text/html/_option_list_model.java.i      |  Bin 6322 -> 6493 bytes
 .../share/classes/sun/awt/_a_w_t_accessor.java.i   |  Bin 9410 -> 9865 bytes
 .../sun/java2d/pipe/_rendering_engine.java.i       |  Bin 6880 -> 7024 bytes
 .../classes/sun/launcher/_launcher_helper.java.i   |  Bin 27035 -> 28943 bytes
 .../sun/launcher/resources/launcher.properties.i   |  Bin 6023 -> 6513 bytes
 .../sun/net/httpserver/_server_config.java.i       |  Bin 3099 -> 3832 bytes
 .../classes/sun/net/httpserver/_server_impl.java.i |  Bin 10979 -> 11181 bytes
 .../classes/sun/net/www/http/_http_client.java.i   |  Bin 13365 -> 13678 bytes
 .../protocol/http/_http_u_r_l_connection.java.i    |  Bin 45848 -> 45999 bytes
 .../sun/nio/ch/_datagram_socket_adaptor.java.i     |  Bin 5208 -> 5391 bytes
 .../src/share/classes/sun/nio/ch/_reflect.java.i   |  Bin 2459 -> 2905 bytes
 .../share/classes/sun/nio/ch/_selector_impl.java.i |  Bin 2918 -> 3209 bytes
 .../data/src/share/classes/sun/nio/ch/_util.java.i |  Bin 7104 -> 7548 bytes
 .../sun/nio/cs/_fast_charset_provider.java.i       |  Bin 2160 -> 2454 bytes
 .../classes/sun/nio/cs/_stream_decoder.java.i      |  Bin 4029 -> 4224 bytes
 .../classes/sun/nio/cs/_thread_local_coders.java.i |  Bin 1892 -> 2135 bytes
 .../data/src/share/classes/sun/nio/fs/_util.java.i |  Bin 2639 -> 2743 bytes
 .../_not_implemented_exception.java.i              |  Bin 1214 -> 1486 bytes
 .../sun/reflect/misc/_constructor_util.java.i      |  Bin 1298 -> 1540 bytes
 .../classes/sun/reflect/misc/_field_util.java.i    |  Bin 1322 -> 1580 bytes
 .../classes/sun/reflect/misc/_method_util.java.i   |  Bin 5947 -> 6749 bytes
 .../classes/sun/reflect/misc/_reflect_util.java.i  |  Bin 2113 -> 2497 bytes
 .../sun/security/krb5/_principal_name.java.i       |  Bin 7698 -> 7774 bytes
 .../sun/security/ssl/_s_s_l_context_impl.java.i    |  Bin 9129 -> 9718 bytes
 .../sun/security/ssl/_s_s_l_socket_impl.java.i     |  Bin 28253 -> 28455 bytes
 .../ssl/_trust_manager_factory_impl.java.i         |  Bin 3569 -> 4368 bytes
 .../classes/sun/swing/_default_layout_style.java.i |  Bin 2950 -> 3062 bytes
 .../src/share/classes/sun/swing/_file_pane.java.i  |  Bin 19308 -> 19493 bytes
 .../plaf/synth/_synth_file_chooser_u_i_impl.java.i |  Bin 11957 -> 12645 bytes
 .../swing/text/_text_component_printable.java.i    |  Bin 7516 -> 7877 bytes
 .../share/classes/sun/text/bidi/_bidi_base.java.i  |  Bin 34106 -> 34519 bytes
 .../sun/util/locale/_locale_object_cache.java.i    |  Bin 2087 -> 2284 bytes
 .../native/java/lang/fdlibm/include/fdlibm.h.i     |  Bin 3219 -> 3345 bytes
 .../native/java/lang/fdlibm/include/jfdlibm.h.i    |  Bin 1754 -> 1854 bytes
 .../sun/java2d/loops/_graphics_primitive_mgr.h.i   |  Bin 7131 -> 7325 bytes
 .../classes/sun/awt/_x11/_x_button_peer.java.i     |  Bin 3330 -> 3742 bytes
 .../classes/sun/awt/_x11/_x_checkbox_peer.java.i   |  Bin 5414 -> 5836 bytes
 .../classes/sun/awt/_x11/_x_choice_peer.java.i     |  Bin 11442 -> 11756 bytes
 .../classes/sun/awt/_x11/_x_component_peer.java.i  |  Bin 20117 -> 20370 bytes
 .../classes/sun/awt/_x11/_x_label_peer.java.i      |  Bin 2019 -> 2148 bytes
 .../classes/sun/awt/_x11/_x_list_peer.java.i       |  Bin 19156 -> 19439 bytes
 .../classes/sun/awt/_x11/_x_menu_bar_peer.java.i   |  Bin 5637 -> 5753 bytes
 .../classes/sun/awt/_x11/_x_menu_window.java.i     |  Bin 5265 -> 5407 bytes
 .../classes/sun/awt/_x11/_x_panel_peer.java.i      |  Bin 2536 -> 2761 bytes
 .../classes/sun/awt/_x11/_x_repaint_area.java.i    |  Bin 1539 -> 1706 bytes
 .../sun/awt/_x11/_x_scroll_pane_peer.java.i        |  Bin 5704 -> 6521 bytes
 .../classes/sun/awt/_x11/_x_scrollbar_peer.java.i  |  Bin 2981 -> 3151 bytes
 .../classes/sun/awt/_x11/_x_text_area_peer.java.i  |  Bin 12903 -> 13218 bytes
 .../classes/sun/awt/_x11/_x_text_field_peer.java.i |  Bin 6357 -> 6498 bytes
 .../classes/sun/awt/_x11/_x_warning_window.java.i  |  Bin 6279 -> 6565 bytes
 .../solaris/classes/sun/awt/_x11/_x_window.java.i  |  Bin 23877 -> 24140 bytes
 .../classes/sun/font/_font_config_manager.java.i   |  Bin 6418 -> 6642 bytes
 .../classes/sun/nio/ch/_sctp_channel_impl.java.i   |  Bin 10200 -> 10606 bytes
 .../sun/nio/ch/_sctp_multi_channel_impl.java.i     |  Bin 9596 -> 9976 bytes
 .../solaris/classes/sun/nio/ch/_sctp_net.java.i    |  Bin 4205 -> 4528 bytes
 .../sun/nio/ch/_sctp_server_channel_impl.java.i    |  Bin 4905 -> 5134 bytes
 .../sun/awt/windows/_w_menu_item_peer.java.i       |  Bin 3449 -> 3600 bytes
 .../sun/awt/windows/_w_scroll_pane_peer.java.i     |  Bin 4103 -> 4302 bytes
 .../classes/sun/nio/ch/_pending_io_cache.java.i    |  Bin 2846 -> 2956 bytes
 .../_windows_asynchronous_file_channel_impl.java.i |  Bin 7303 -> 7512 bytes
 ...windows_asynchronous_socket_channel_impl.java.i |  Bin 8249 -> 8479 bytes
 .../windows/native/sun/windows/awt___choice.cpp.i  |  Bin 10031 -> 10107 bytes
 .../native/sun/windows/awt___component.cpp.i       |  Bin 73589 -> 73717 bytes
 .../windows/native/sun/windows/awt___menu.cpp.i    |  Bin 3465 -> 3952 bytes
 .../src/windows/native/sun/windows/awt___menu.h.i  |  Bin 1915 -> 2070 bytes
 .../native/sun/windows/awt___menu_bar.cpp.i        |  Bin 3117 -> 3395 bytes
 .../windows/native/sun/windows/awt___menu_bar.h.i  |  Bin 1743 -> 1853 bytes
 .../native/sun/windows/awt___menu_item.cpp.i       |  Bin 9255 -> 10649 bytes
 .../windows/native/sun/windows/awt___menu_item.h.i |  Bin 2775 -> 2959 bytes
 .../native/sun/windows/awt___print_job.cpp.i       |  Bin 34953 -> 35102 bytes
 .../native/sun/windows/awt___scroll_pane.cpp.i     |  Bin 7024 -> 7100 bytes
 .../windows/native/sun/windows/awt___toolkit.cpp.i |  Bin 29419 -> 29648 bytes
 jdk/.hg/store/data/test/_problem_list.txt.i        |  Bin 34963 -> 35405 bytes
 .../provider/_cipher/_d_e_s/_padding_test.java.i   |  Bin 2665 -> 3626 bytes
 .../data/test/com/sun/jdi/_shell_scaffold.sh.i     |  Bin 13635 -> 13757 bytes
 .../com/sun/jndi/ldap/_invalid_ldap_filters.java.i |  Bin 3634 -> 3990 bytes
 .../data/test/com/sun/net/httpserver/_test1.java.i |  Bin 2927 -> 3166 bytes
 .../security/exceptions/_locale_test.java.i        |  Bin 1299 -> 1569 bytes
 jdk/.hg/store/data/test/demo/zipfs/basic.sh.i      |  Bin 2110 -> 2212 bytes
 .../_choice_mouse_wheel_test.java.i                |  Bin 0 -> 1866 bytes
 .../awt/_component/_paint_all/_paint_all.java.i    |  Bin 0 -> 2087 bytes
 .../_menu_bar_set_font/_menu_bar_set_font.java.i   |  Bin 0 -> 1796 bytes
 .../java/beans/_x_m_l_decoder/_test6341798.java.i  |  Bin 1721 -> 2006 bytes
 .../java/io/path_names/win32/bug6344646.java.i     |  Bin 1267 -> 1729 bytes
 .../test/java/lang/instrument/_manifest_test.sh.i  |  Bin 3130 -> 3582 bytes
 .../java/lang/reflect/_constructor/_equals.java.i  |  Bin 0 -> 1095 bytes
 .../test/java/net/_cookie_handler/_b6791927.java.i |  Bin 1343 -> 1847 bytes
 .../java/net/_socket_permission/_wildcard.java.i   |  Bin 0 -> 931 bytes
 .../_set_if_modified_since.java.i                  |  Bin 1945 -> 2193 bytes
 .../coders/_check_s_j_i_s_mapping_prop.sh.i        |  Bin 1749 -> 1848 bytes
 .../data/test/java/nio/charset/spi/basic.sh.i      |  Bin 2107 -> 2400 bytes
 .../data/test/java/text/_bidi/_bug7042148.java.i   |  Bin 0 -> 1335 bytes
 .../data/test/java/text/_bidi/_bug7051769.java.i   |  Bin 0 -> 1303 bytes
 .../test/java/util/_locale/_locale_category.java.i |  Bin 1788 -> 2277 bytes
 .../test/java/util/_locale/_locale_category.sh.i   |  Bin 737 -> 836 bytes
 .../_currency_name_provider_test.java.i            |  Bin 2105 -> 2372 bytes
 .../_time_zone_name_provider_test.java.i           |  Bin 2642 -> 2961 bytes
 .../java/util/_resource_bundle/_bug6190861.java.i  |  Bin 1493 -> 2030 bytes
 .../_resource_bundle/_control/_bug6530694.java.i   |  Bin 1297 -> 1557 bytes
 .../_resource_bundle/_control/_stress_test.java.i  |  Bin 3317 -> 3884 bytes
 .../java/util/_resource_bundle/_test4314141.java.i |  Bin 1922 -> 2194 bytes
 .../java/util/_resource_bundle/_test4318520.java.i |  Bin 1293 -> 1561 bytes
 .../concurrent/_executors/_auto_shutdown.java.i    |  Bin 2565 -> 2769 bytes
 .../java/util/concurrent/_phaser/_arrive.java.i    |  Bin 1977 -> 2232 bytes
 .../test/java/util/jar/_jar_file/_turk_cert.java.i |  Bin 1428 -> 1929 bytes
 .../data/test/javax/crypto/_cipher/_turkish.java.i |  Bin 1260 -> 1649 bytes
 .../swing/_group_layout/7071166/bug7071166.java.i  |  Bin 0 -> 1325 bytes
 .../swing/_j_color_chooser/_test6524757.java.i     |  Bin 3878 -> 4252 bytes
 .../org/openjdk/jigsaw/cli/timestamp-test.sh.i     |  Bin 1490 -> 1605 bytes
 .../data/test/sun/security/krb5/auto/_k_d_c.java.i |  Bin 19565 -> 20094 bytes
 .../krb5/auto/_principal_name_equals.java.i        |  Bin 0 -> 1122 bytes
 .../_https_proxy_stack_overflow.java.i             |  Bin 0 -> 1594 bytes
 .../security/tools/keytool/_key_tool_test.java.i   |  Bin 14989 -> 15833 bytes
 .../text/resources/_collator/_bug4248694.java.i    |  Bin 1441 -> 2106 bytes
 .../text/resources/_collator/_bug4804273.java.i    |  Bin 1695 -> 2620 bytes
 .../text/resources/_collator/_bug4848897.java.i    |  Bin 1418 -> 2064 bytes
 .../sun/text/resources/_format/_bug4651568.java.i  |  Bin 1332 -> 1873 bytes
 .../sun/util/resources/_locale/_bug4965260.java.i  |  Bin 1504 -> 2249 bytes
 .../util/resources/_time_zone/_bug4640234.java.i   |  Bin 3277 -> 5546 bytes
 .../store/data/test/tools/launcher/_arrrghs.java.i |  Bin 8623 -> 8950 bytes
 .../data/test/tools/launcher/_test_helper.java.i   |  Bin 6021 -> 6420 bytes
 jdk/.hg/store/data/~2ehgtags.i                     |  Bin 22024 -> 22515 bytes
 jdk/.hg/store/fncache                              |   11 +
 jdk/.hg/store/undo                                 |  Bin 13920 -> 14507 bytes
 jdk/.hg/undo.desc                                  |    2 +-
 jdk/.hg/undo.dirstate                              |  Bin 1389122 -> 1390092 bytes
 jdk/.hgtags                                        |    1 +
 jdk/make/com/sun/java/pack/Makefile                |    2 +
 jdk/make/com/sun/nio/Makefile                      |    4 +-
 jdk/make/com/sun/nio/sctp/Makefile                 |    1 -
 jdk/make/common/shared/Defs-java.gmk               |   21 +-
 jdk/make/common/shared/Defs-versions.gmk           |    2 +-
 jdk/make/java/fdlibm/FILES_c.gmk                   |   18 -
 jdk/make/java/java/Makefile                        |    2 +
 jdk/make/java/math/Makefile                        |    4 +-
 jdk/make/java/nio/Makefile                         |    3 +-
 jdk/make/java/sun_nio/Makefile                     |    6 +-
 jdk/make/jprt.properties                           |   66 ++--
 jdk/make/sun/nio/Makefile                          |    4 +-
 jdk/make/sun/nio/cs/Makefile                       |    4 +-
 jdk/make/sun/security/ec/Makefile                  |    2 +-
 jdk/make/sun/security/mscapi/Makefile              |    2 +
 jdk/make/tools/Makefile                            |    2 +
 .../build/tools/buildmetaindex/BuildMetaIndex.java |   24 +-
 .../tools/compileproperties/CompileProperties.java |   11 +-
 .../tools/src/build/tools/dirdiff/DirDiff.java     |    4 +-
 .../src/build/tools/dtdbuilder/DTDBuilder.java     |   34 +-
 .../src/build/tools/dtdbuilder/DTDInputStream.java |    6 +-
 .../src/build/tools/dtdbuilder/DTDParser.java      |   44 ++-
 .../src/build/tools/dtdbuilder/PublicMapping.java  |    6 +-
 .../tools/generatebreakiteratordata/CharSet.java   |   16 +-
 .../DictionaryBasedBreakIteratorBuilder.java       |    8 +-
 .../GenerateBreakIteratorData.java                 |    6 +-
 .../RuleBasedBreakIteratorBuilder.java             |  201 +++++----
 .../SupplementaryCharacterData.java                |    6 +-
 .../tools/generatecharacter/GenerateCharacter.java |    4 +-
 .../tools/generatecharacter/SpecialCaseMap.java    |  143 ++++---
 .../build/tools/generatecharacter/UnicodeSpec.java |   22 +-
 .../generatecurrencydata/GenerateCurrencyData.java |    6 +-
 jdk/make/tools/src/build/tools/hasher/Hasher.java  |   38 +-
 .../tools/src/build/tools/jarsplit/JarSplit.java   |    5 +-
 jdk/make/tools/src/build/tools/javazic/Gen.java    |   14 +-
 jdk/make/tools/src/build/tools/javazic/GenDoc.java |   16 +-
 jdk/make/tools/src/build/tools/javazic/Main.java   |    3 +-
 .../tools/src/build/tools/javazic/Mappings.java    |    5 +-
 jdk/make/tools/src/build/tools/javazic/Simple.java |   25 +-
 jdk/make/tools/src/build/tools/javazic/Time.java   |   10 +-
 .../tools/src/build/tools/javazic/Zoneinfo.java    |   18 +-
 .../build/tools/jdwpgen/AbstractCommandNode.java   |    7 +-
 .../src/build/tools/jdwpgen/AbstractGroupNode.java |    7 +-
 .../src/build/tools/jdwpgen/AbstractNamedNode.java |   14 +-
 .../build/tools/jdwpgen/AbstractTypeListNode.java  |   26 +-
 .../tools/src/build/tools/jdwpgen/AltNode.java     |    4 +-
 .../src/build/tools/jdwpgen/CommandSetNode.java    |   11 +-
 .../src/build/tools/jdwpgen/ConstantSetNode.java   |   13 +-
 .../src/build/tools/jdwpgen/ErrorSetNode.java      |    9 +-
 jdk/make/tools/src/build/tools/jdwpgen/Node.java   |   27 +-
 .../tools/src/build/tools/jdwpgen/OutNode.java     |   14 +-
 .../tools/src/build/tools/jdwpgen/RootNode.java    |   10 +-
 .../tools/src/build/tools/jdwpgen/SelectNode.java  |   10 +-
 .../build/tools/makeclasslist/MakeClasslist.java   |   15 +-
 .../tools/stripproperties/StripProperties.java     |    4 +-
 jdk/src/share/bin/jli_util.h                       |    3 +
 .../java/swing/plaf/motif/MotifFileChooserUI.java  |   27 +-
 .../swing/plaf/windows/WindowsFileChooserUI.java   |   17 +-
 .../sun/java/swing/plaf/windows/WindowsTreeUI.java |   27 +-
 .../com/sun/java/util/jar/pack/Attribute.java      |   14 +-
 .../com/sun/java/util/jar/pack/BandStructure.java  |    6 +-
 .../com/sun/java/util/jar/pack/ClassReader.java    |   12 +-
 .../com/sun/java/util/jar/pack/ClassWriter.java    |    8 +-
 .../classes/com/sun/java/util/jar/pack/Code.java   |    4 +-
 .../classes/com/sun/java/util/jar/pack/Coding.java |    7 +-
 .../com/sun/java/util/jar/pack/ConstantPool.java   |   34 +-
 .../com/sun/java/util/jar/pack/Constants.java      |   12 +-
 .../classes/com/sun/java/util/jar/pack/Fixups.java |   41 +--
 .../com/sun/java/util/jar/pack/Instruction.java    |    4 +-
 .../com/sun/java/util/jar/pack/NativeUnpack.java   |    2 +-
 .../com/sun/java/util/jar/pack/Package.java        |   58 +--
 .../com/sun/java/util/jar/pack/PackageReader.java  |   29 +-
 .../com/sun/java/util/jar/pack/PackageWriter.java  |   38 +-
 .../com/sun/java/util/jar/pack/PackerImpl.java     |   11 +-
 .../com/sun/java/util/jar/pack/PropMap.java        |   61 ++--
 .../com/sun/java/util/jar/pack/TLGlobals.java      |    4 +-
 .../com/sun/java/util/jar/pack/UnpackerImpl.java   |    3 +-
 .../classes/com/sun/java/util/jar/pack/Utils.java  |    4 +-
 .../share/classes/com/sun/jndi/ldap/Filter.java    |   30 +-
 .../classes/java/awt/ScrollPaneAdjustable.java     |    8 +
 jdk/src/share/classes/java/lang/Class.java         |   22 +-
 jdk/src/share/classes/java/lang/Math.java          |   76 ++--
 jdk/src/share/classes/java/lang/StrictMath.java    |   20 +-
 .../classes/java/lang/reflect/Constructor.java     |  366 +++++------------
 .../classes/java/lang/reflect/Executable.java      |  396 +++++++++++++++++
 .../share/classes/java/lang/reflect/Method.java    |  356 +++++------------
 jdk/src/share/classes/java/net/DatagramSocket.java |    8 +-
 jdk/src/share/classes/java/net/ServerSocket.java   |    1 -
 .../share/classes/java/net/SocketPermission.java   |   10 +-
 .../share/classes/java/nio/X-Buffer.java.template  |    6 +-
 .../java/nio/channels/AsynchronousFileChannel.java |    1 +
 .../classes/java/nio/channels/FileChannel.java     |    1 +
 .../share/classes/java/nio/charset/Charset.java    |   25 +-
 jdk/src/share/classes/java/security/KeyStore.java  |   16 +-
 .../share/classes/java/security/cert/X509CRL.java  |   10 +-
 .../java/security/cert/X509Certificate.java        |   10 +-
 .../classes/java/security/cert/X509Extension.java  |   19 +-
 .../share/classes/javax/swing/RepaintManager.java  |    5 +
 .../javax/swing/plaf/basic/BasicComboPopup.java    |    3 +-
 .../javax/swing/plaf/basic/BasicFileChooserUI.java |    5 +-
 .../javax/swing/plaf/metal/MetalLookAndFeel.java   |    2 +-
 .../javax/swing/plaf/synth/SynthComboBoxUI.java    |    4 +-
 .../classes/javax/swing/text/html/FormView.java    |    4 +-
 .../javax/swing/text/html/HTMLDocument.java        |    8 +-
 .../classes/javax/swing/text/html/HTMLWriter.java  |    8 +-
 .../javax/swing/text/html/OptionComboBoxModel.java |    3 +-
 .../javax/swing/text/html/OptionListModel.java     |    3 +-
 jdk/src/share/classes/sun/awt/AWTAccessor.java     |   36 ++-
 .../classes/sun/java2d/pipe/RenderingEngine.java   |    6 +-
 .../share/classes/sun/launcher/LauncherHelper.java |    6 +-
 .../sun/launcher/resources/launcher.properties     |    2 +-
 .../classes/sun/net/httpserver/ServerConfig.java   |   84 ++--
 .../classes/sun/net/httpserver/ServerImpl.java     |    9 +-
 .../share/classes/sun/net/www/http/HttpClient.java |   18 +-
 .../net/www/protocol/http/HttpURLConnection.java   |   11 +-
 .../classes/sun/nio/ch/DatagramSocketAdaptor.java  |    4 +-
 jdk/src/share/classes/sun/nio/ch/Reflect.java      |   34 +-
 jdk/src/share/classes/sun/nio/ch/SelectorImpl.java |   12 +-
 jdk/src/share/classes/sun/nio/ch/Util.java         |   48 +--
 .../classes/sun/nio/cs/FastCharsetProvider.java    |   13 +-
 .../share/classes/sun/nio/cs/StreamDecoder.java    |    3 +-
 .../classes/sun/nio/cs/ThreadLocalCoders.java      |    7 +-
 jdk/src/share/classes/sun/nio/fs/Util.java         |    2 +
 .../reflectiveObjects/NotImplementedException.java |    6 +-
 .../classes/sun/reflect/misc/ConstructorUtil.java  |    6 +-
 .../share/classes/sun/reflect/misc/FieldUtil.java  |    8 +-
 .../share/classes/sun/reflect/misc/MethodUtil.java |   34 +-
 .../classes/sun/reflect/misc/ReflectUtil.java      |   18 +-
 .../classes/sun/security/krb5/PrincipalName.java   |    6 -
 .../classes/sun/security/ssl/SSLContextImpl.java   |   68 ++--
 .../classes/sun/security/ssl/SSLSocketImpl.java    |    3 +-
 .../sun/security/ssl/TrustManagerFactoryImpl.java  |  117 +++---
 .../classes/sun/swing/DefaultLayoutStyle.java      |    4 +-
 jdk/src/share/classes/sun/swing/FilePane.java      |    4 +-
 .../swing/plaf/synth/SynthFileChooserUIImpl.java   |   44 +-
 .../sun/swing/text/TextComponentPrintable.java     |   27 +-
 jdk/src/share/classes/sun/text/bidi/BidiBase.java  |   24 +-
 .../classes/sun/util/locale/LocaleObjectCache.java |   14 +-
 .../share/native/java/lang/fdlibm/include/fdlibm.h |   34 +--
 .../native/java/lang/fdlibm/include/jfdlibm.h      |   11 -
 .../native/sun/java2d/loops/GraphicsPrimitiveMgr.h |    6 +-
 .../solaris/classes/sun/awt/X11/XButtonPeer.java   |   43 +--
 .../solaris/classes/sun/awt/X11/XCheckboxPeer.java |   57 ++--
 .../solaris/classes/sun/awt/X11/XChoicePeer.java   |   24 +-
 .../classes/sun/awt/X11/XComponentPeer.java        |   21 +-
 .../solaris/classes/sun/awt/X11/XLabelPeer.java    |    3 +-
 jdk/src/solaris/classes/sun/awt/X11/XListPeer.java |   23 +-
 .../solaris/classes/sun/awt/X11/XMenuBarPeer.java  |    2 +-
 .../solaris/classes/sun/awt/X11/XMenuWindow.java   |    4 +-
 .../solaris/classes/sun/awt/X11/XPanelPeer.java    |   11 +-
 .../solaris/classes/sun/awt/X11/XRepaintArea.java  |    8 +-
 .../classes/sun/awt/X11/XScrollPanePeer.java       |  123 +++---
 .../classes/sun/awt/X11/XScrollbarPeer.java        |   12 +-
 .../solaris/classes/sun/awt/X11/XTextAreaPeer.java |   11 +-
 .../classes/sun/awt/X11/XTextFieldPeer.java        |    5 +-
 .../classes/sun/awt/X11/XWarningWindow.java        |   29 +-
 jdk/src/solaris/classes/sun/awt/X11/XWindow.java   |   17 +-
 .../classes/sun/font/FontConfigManager.java        |    5 +
 .../classes/sun/nio/ch/SctpChannelImpl.java        |   22 +-
 .../classes/sun/nio/ch/SctpMultiChannelImpl.java   |   16 +-
 jdk/src/solaris/classes/sun/nio/ch/SctpNet.java    |   20 +-
 .../classes/sun/nio/ch/SctpServerChannelImpl.java  |    5 +-
 .../classes/sun/awt/windows/WMenuItemPeer.java     |    6 +-
 .../classes/sun/awt/windows/WScrollPanePeer.java   |    9 +-
 .../windows/classes/sun/nio/ch/PendingIoCache.java |    1 +
 .../nio/ch/WindowsAsynchronousFileChannelImpl.java |    6 +-
 .../ch/WindowsAsynchronousSocketChannelImpl.java   |    8 +-
 jdk/src/windows/native/sun/windows/awt_Choice.cpp  |    6 -
 .../windows/native/sun/windows/awt_Component.cpp   |    1 +
 jdk/src/windows/native/sun/windows/awt_Menu.cpp    |   35 ++
 jdk/src/windows/native/sun/windows/awt_Menu.h      |    3 +
 jdk/src/windows/native/sun/windows/awt_MenuBar.cpp |   12 +-
 jdk/src/windows/native/sun/windows/awt_MenuBar.h   |    1 +
 .../windows/native/sun/windows/awt_MenuItem.cpp    |  191 ++++++----
 jdk/src/windows/native/sun/windows/awt_MenuItem.h  |    5 +-
 .../windows/native/sun/windows/awt_PrintJob.cpp    |    2 +-
 .../windows/native/sun/windows/awt_ScrollPane.cpp  |   25 --
 jdk/src/windows/native/sun/windows/awt_Toolkit.cpp |    7 +-
 jdk/test/ProblemList.txt                           |   36 +-
 .../crypto/provider/Cipher/DES/PaddingTest.java    |  132 +++----
 jdk/test/com/sun/jdi/ShellScaffold.sh              |    3 +-
 jdk/test/com/sun/jndi/ldap/InvalidLdapFilters.java |    9 +-
 jdk/test/com/sun/net/httpserver/Test1.java         |    5 +
 .../internal/security/exceptions/LocaleTest.java   |   10 +-
 jdk/test/demo/zipfs/basic.sh                       |    2 +-
 .../ChoiceMouseWheelTest/ChoiceMouseWheelTest.java |  149 +++++++
 jdk/test/java/awt/Component/PaintAll/PaintAll.java |  301 +++++++++++++
 .../awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java |  129 ++++++
 jdk/test/java/beans/XMLDecoder/Test6341798.java    |   12 +-
 jdk/test/java/io/pathNames/win32/bug6344646.java   |   27 +-
 jdk/test/java/lang/instrument/ManifestTest.sh      |   23 +-
 jdk/test/java/lang/reflect/Constructor/Equals.java |   60 +++
 jdk/test/java/net/CookieHandler/B6791927.java      |   27 +-
 jdk/test/java/net/SocketPermission/Wildcard.java   |   45 ++
 .../java/net/URLConnection/SetIfModifiedSince.java |    7 +-
 .../nio/charset/coders/CheckSJISMappingProp.sh     |    2 +-
 jdk/test/java/nio/charset/spi/basic.sh             |   22 +-
 jdk/test/java/text/Bidi/Bug7042148.java            |   92 ++++
 jdk/test/java/text/Bidi/Bug7051769.java            |   72 ++++
 jdk/test/java/util/Locale/LocaleCategory.java      |   55 ++-
 jdk/test/java/util/Locale/LocaleCategory.sh        |    2 +-
 .../PluggableLocale/CurrencyNameProviderTest.java  |   10 +-
 .../PluggableLocale/TimeZoneNameProviderTest.java  |   10 +-
 jdk/test/java/util/ResourceBundle/Bug6190861.java  |   39 +-
 .../util/ResourceBundle/Control/Bug6530694.java    |   10 +-
 .../util/ResourceBundle/Control/StressTest.java    |   56 ++-
 jdk/test/java/util/ResourceBundle/Test4314141.java |   12 +-
 jdk/test/java/util/ResourceBundle/Test4318520.java |   12 +-
 .../util/concurrent/Executors/AutoShutdown.java    |    5 +
 jdk/test/java/util/concurrent/Phaser/Arrive.java   |   11 +-
 jdk/test/java/util/jar/JarFile/TurkCert.java       |   30 +-
 jdk/test/javax/crypto/Cipher/Turkish.java          |   24 +-
 .../swing/GroupLayout/7071166/bug7071166.java      |   75 ++++
 .../javax/swing/JColorChooser/Test6524757.java     |   26 +-
 jdk/test/org/openjdk/jigsaw/cli/timestamp-test.sh  |    2 +-
 jdk/test/sun/security/krb5/auto/KDC.java           |   40 ++-
 .../security/krb5/auto/PrincipalNameEquals.java    |   58 +++
 .../HttpsProxyStackOverflow.java                   |  113 +++++
 .../sun/security/tools/keytool/KeyToolTest.java    |   86 ++--
 .../sun/text/resources/Collator/Bug4248694.java    |   68 ++--
 .../sun/text/resources/Collator/Bug4804273.java    |  145 ++++---
 .../sun/text/resources/Collator/Bug4848897.java    |   63 ++--
 jdk/test/sun/text/resources/Format/Bug4651568.java |   44 ++-
 jdk/test/sun/util/resources/Locale/Bug4965260.java |   88 ++--
 .../sun/util/resources/TimeZone/Bug4640234.java    |  444 ++++++++++----------
 jdk/test/tools/launcher/Arrrghs.java               |   13 +-
 jdk/test/tools/launcher/TestHelper.java            |   28 +-
 make/jprt.properties                               |   74 ++--
 make/sanity-rules.gmk                              |   45 +--
 526 files changed, 4292 insertions(+), 3008 deletions(-)

diff --git a/.hg/branchheads.cache b/.hg/branchheads.cache
index a6da308..3e14f5e 100644
--- a/.hg/branchheads.cache
+++ b/.hg/branchheads.cache
@@ -1,2 +1,2 @@
-1d8f11f6d50cfb9ce79d59fa55c2806801890683 376
-1d8f11f6d50cfb9ce79d59fa55c2806801890683 default
+db00b7627ab109c4661eeeece24f99dbd5717f39 382
+db00b7627ab109c4661eeeece24f99dbd5717f39 default
diff --git a/.hg/dirstate b/.hg/dirstate
index 24a7a71..209e2be 100644
Binary files a/.hg/dirstate and b/.hg/dirstate differ
diff --git a/.hg/store/00changelog.i b/.hg/store/00changelog.i
index cbce3ec..d5b2dc5 100644
Binary files a/.hg/store/00changelog.i and b/.hg/store/00changelog.i differ
diff --git a/.hg/store/00manifest.i b/.hg/store/00manifest.i
index 19f6b00..a3a95a4 100644
Binary files a/.hg/store/00manifest.i and b/.hg/store/00manifest.i differ
diff --git a/.hg/store/data/make/jprt.properties.i b/.hg/store/data/make/jprt.properties.i
index 733aa05..06401ec 100644
Binary files a/.hg/store/data/make/jprt.properties.i and b/.hg/store/data/make/jprt.properties.i differ
diff --git a/.hg/store/data/make/sanity-rules.gmk.i b/.hg/store/data/make/sanity-rules.gmk.i
index 680449f..1d10fdd 100644
Binary files a/.hg/store/data/make/sanity-rules.gmk.i and b/.hg/store/data/make/sanity-rules.gmk.i differ
diff --git a/.hg/store/data/~2ehgtags.i b/.hg/store/data/~2ehgtags.i
index f69e731..4240d52 100644
Binary files a/.hg/store/data/~2ehgtags.i and b/.hg/store/data/~2ehgtags.i differ
diff --git a/.hg/store/undo b/.hg/store/undo
index 25e2f7a..04c8da8 100644
Binary files a/.hg/store/undo and b/.hg/store/undo differ
diff --git a/.hg/undo.desc b/.hg/undo.desc
index 341dc19..33091ab 100644
--- a/.hg/undo.desc
+++ b/.hg/undo.desc
@@ -1,3 +1,3 @@
-365
+377
 pull
 http://hg.openjdk.java.net/jigsaw/jigsaw
diff --git a/.hg/undo.dirstate b/.hg/undo.dirstate
index 006fe32..24a7a71 100644
Binary files a/.hg/undo.dirstate and b/.hg/undo.dirstate differ
diff --git a/.hgtags b/.hgtags
index d9482da..c21575d 100644
--- a/.hgtags
+++ b/.hgtags
@@ -128,3 +128,4 @@ cfbbdb77eac0397b03eb99ee2e07ea00e0a7b81e jdk7-b142
 55e9ebf032186c333e5964ed044419830ac02693 jdk7-b145
 2d38c2a79c144c30cd04d143d83ee7ec6af40771 jdk7-b146
 d91364304d7c4ecd34caffdba2b840aeb0d10b51 jdk7-b147
+f42e3d9394b40a423d345b8da22687b5462e5f25 jdk8-b01
diff --git a/corba/.hg/branchheads.cache b/corba/.hg/branchheads.cache
index 85564f1..39561a7 100644
--- a/corba/.hg/branchheads.cache
+++ b/corba/.hg/branchheads.cache
@@ -1,2 +1,2 @@
-cffbf4b1a66ad4fbb4624e26dc195aacd54f4e01 314
-cffbf4b1a66ad4fbb4624e26dc195aacd54f4e01 default
+49d8f5c0eb8086ee7fa3d74b90fdce3a5cb68ce8 317
+49d8f5c0eb8086ee7fa3d74b90fdce3a5cb68ce8 default
diff --git a/corba/.hg/dirstate b/corba/.hg/dirstate
index ec9bcbd..3f88c70 100644
Binary files a/corba/.hg/dirstate and b/corba/.hg/dirstate differ
diff --git a/corba/.hg/store/00changelog.i b/corba/.hg/store/00changelog.i
index 8f6349c..3bad6c3 100644
Binary files a/corba/.hg/store/00changelog.i and b/corba/.hg/store/00changelog.i differ
diff --git a/corba/.hg/store/00manifest.d b/corba/.hg/store/00manifest.d
index 6d3c2c5..f5a066d 100644
Binary files a/corba/.hg/store/00manifest.d and b/corba/.hg/store/00manifest.d differ
diff --git a/corba/.hg/store/00manifest.i b/corba/.hg/store/00manifest.i
index 5dbcacc..93f0ebf 100644
Binary files a/corba/.hg/store/00manifest.i and b/corba/.hg/store/00manifest.i differ
diff --git a/corba/.hg/store/data/make/jprt.properties.i b/corba/.hg/store/data/make/jprt.properties.i
index ec7b9c8..a8a815a 100644
Binary files a/corba/.hg/store/data/make/jprt.properties.i and b/corba/.hg/store/data/make/jprt.properties.i differ
diff --git a/corba/.hg/store/data/~2ehgtags.i b/corba/.hg/store/data/~2ehgtags.i
index 5eedb77..62035ae 100644
Binary files a/corba/.hg/store/data/~2ehgtags.i and b/corba/.hg/store/data/~2ehgtags.i differ
diff --git a/corba/.hg/store/undo b/corba/.hg/store/undo
index 29986f7..b9cb2ed 100644
Binary files a/corba/.hg/store/undo and b/corba/.hg/store/undo differ
diff --git a/corba/.hg/undo.desc b/corba/.hg/undo.desc
index 63c781f..a83c94a 100644
--- a/corba/.hg/undo.desc
+++ b/corba/.hg/undo.desc
@@ -1,3 +1,3 @@
-301
+315
 pull
 http://hg.openjdk.java.net/jigsaw/jigsaw/corba
diff --git a/corba/.hg/undo.dirstate b/corba/.hg/undo.dirstate
index b751aee..ec9bcbd 100644
Binary files a/corba/.hg/undo.dirstate and b/corba/.hg/undo.dirstate differ
diff --git a/corba/.hgtags b/corba/.hgtags
index 11196a8..7a529a0 100644
--- a/corba/.hgtags
+++ b/corba/.hgtags
@@ -128,3 +128,4 @@ a2f340a048c88d10cbedc0504f5cf03d39925a40 jdk7-b142
 77ec0541aa2aa4da27e9e385a118a2e51e7fca24 jdk7-b145
 770227a4087e4e401fe87ccd19738440111c3948 jdk7-b146
 73323cb3396260d93e0ab731fd2d431096ceed0f jdk7-b147
+949fb60ca830364571e7c4c9964e6b351ca929ec jdk8-b01
diff --git a/corba/make/jprt.properties b/corba/make/jprt.properties
index c95c9d0..cb67b3c 100644
--- a/corba/make/jprt.properties
+++ b/corba/make/jprt.properties
@@ -25,12 +25,23 @@
 
 # Properties for jprt
 
-# Use whatever release that the submitted job requests
-jprt.tools.default.release=${jprt.submit.release}
+# The release to build
+jprt.tools.default.release=jdk8
 
 # The different build flavors we want, we override here so we just get these 2
 jprt.build.flavors=product,fastdebug
 
+# Standard list of jprt build targets for this source tree
+jprt.build.targets= 						\
+    solaris_sparc_5.10-{product|fastdebug}, 			\
+    solaris_sparcv9_5.10-{product|fastdebug}, 			\
+    solaris_i586_5.10-{product|fastdebug}, 			\
+    solaris_x64_5.10-{product|fastdebug}, 			\
+    linux_i586_2.6-{product|fastdebug}, 			\
+    linux_x64_2.6-{product|fastdebug}, 				\
+    windows_i586_5.1-{product|fastdebug}, 			\
+    windows_x64_5.2-{product|fastdebug}
+
 # Directories to be excluded from the source bundles
 jprt.bundle.exclude.src.dirs=build dist webrev
 
diff --git a/hotspot/.hg/branchheads.cache b/hotspot/.hg/branchheads.cache
index bade6db..bb3d9e4 100644
--- a/hotspot/.hg/branchheads.cache
+++ b/hotspot/.hg/branchheads.cache
@@ -1,2 +1,2 @@
-168df94d47af993c15ddd11803a4e7b2c9bb7873 2618
-168df94d47af993c15ddd11803a4e7b2c9bb7873 default
+86a8aa7fc8433e601232be80c73dfdf94c66ced2 2620
+86a8aa7fc8433e601232be80c73dfdf94c66ced2 default
diff --git a/hotspot/.hg/dirstate b/hotspot/.hg/dirstate
index 3f2517a..556ad91 100644
Binary files a/hotspot/.hg/dirstate and b/hotspot/.hg/dirstate differ
diff --git a/hotspot/.hg/store/00changelog.d b/hotspot/.hg/store/00changelog.d
index 814d0af..7d9f198 100644
Binary files a/hotspot/.hg/store/00changelog.d and b/hotspot/.hg/store/00changelog.d differ
diff --git a/hotspot/.hg/store/00changelog.i b/hotspot/.hg/store/00changelog.i
index 419f65c..48a9cca 100644
Binary files a/hotspot/.hg/store/00changelog.i and b/hotspot/.hg/store/00changelog.i differ
diff --git a/hotspot/.hg/store/00manifest.d b/hotspot/.hg/store/00manifest.d
index 1459d26..c6cfd5b 100644
Binary files a/hotspot/.hg/store/00manifest.d and b/hotspot/.hg/store/00manifest.d differ
diff --git a/hotspot/.hg/store/00manifest.i b/hotspot/.hg/store/00manifest.i
index bc8e506..dd8d7a4 100644
Binary files a/hotspot/.hg/store/00manifest.i and b/hotspot/.hg/store/00manifest.i differ
diff --git a/hotspot/.hg/store/data/~2ehgtags.i b/hotspot/.hg/store/data/~2ehgtags.i
index 03b3411..16181db 100644
Binary files a/hotspot/.hg/store/data/~2ehgtags.i and b/hotspot/.hg/store/data/~2ehgtags.i differ
diff --git a/hotspot/.hg/store/undo b/hotspot/.hg/store/undo
index 89f0e49..4cc67b3 100644
Binary files a/hotspot/.hg/store/undo and b/hotspot/.hg/store/undo differ
diff --git a/hotspot/.hg/undo.desc b/hotspot/.hg/undo.desc
index 9780d46..499e4e4 100644
--- a/hotspot/.hg/undo.desc
+++ b/hotspot/.hg/undo.desc
@@ -1,3 +1,3 @@
-2535
+2619
 pull
 http://hg.openjdk.java.net/jigsaw/jigsaw/hotspot
diff --git a/hotspot/.hg/undo.dirstate b/hotspot/.hg/undo.dirstate
index f81b0c9..3f2517a 100644
Binary files a/hotspot/.hg/undo.dirstate and b/hotspot/.hg/undo.dirstate differ
diff --git a/hotspot/.hgtags b/hotspot/.hgtags
index db5f0b4..7364a6b 100644
--- a/hotspot/.hgtags
+++ b/hotspot/.hgtags
@@ -182,3 +182,4 @@ d283b82966712b353fa307845a1316da42a355f4 hs21-b10
 c149193c768b8b7233da4c3a3fdc0756b975848e hs21-b13
 c149193c768b8b7233da4c3a3fdc0756b975848e jdk7-b143
 fe189d4a44e9e8f0c7d78fcbd1c63701745752ca jdk7-b144
+0cc8a70952c368e06de2adab1f2649a408f5e577 jdk8-b01
diff --git a/jaxp/.hg/branchheads.cache b/jaxp/.hg/branchheads.cache
index 805016a..6330931 100644
--- a/jaxp/.hg/branchheads.cache
+++ b/jaxp/.hg/branchheads.cache
@@ -1,2 +1,2 @@
-cf83abcfb2d550ab104e80c101227fdde4ad7449 259
-cf83abcfb2d550ab104e80c101227fdde4ad7449 default
+3649eea6acec8f6e96fb5b0bcec9749ce38ae97a 262
+3649eea6acec8f6e96fb5b0bcec9749ce38ae97a default
diff --git a/jaxp/.hg/dirstate b/jaxp/.hg/dirstate
index 6606670..64a8045 100644
Binary files a/jaxp/.hg/dirstate and b/jaxp/.hg/dirstate differ
diff --git a/jaxp/.hg/store/00changelog.i b/jaxp/.hg/store/00changelog.i
index c06dafa..43c4d67 100644
Binary files a/jaxp/.hg/store/00changelog.i and b/jaxp/.hg/store/00changelog.i differ
diff --git a/jaxp/.hg/store/00manifest.i b/jaxp/.hg/store/00manifest.i
index ea1bf1a..9c38872 100644
Binary files a/jaxp/.hg/store/00manifest.i and b/jaxp/.hg/store/00manifest.i differ
diff --git a/jaxp/.hg/store/data/make/jprt.properties.i b/jaxp/.hg/store/data/make/jprt.properties.i
index 892f572..d9d7ee5 100644
Binary files a/jaxp/.hg/store/data/make/jprt.properties.i and b/jaxp/.hg/store/data/make/jprt.properties.i differ
diff --git a/jaxp/.hg/store/data/~2ehgtags.i b/jaxp/.hg/store/data/~2ehgtags.i
index 6c31ad2..75efbd0 100644
Binary files a/jaxp/.hg/store/data/~2ehgtags.i and b/jaxp/.hg/store/data/~2ehgtags.i differ
diff --git a/jaxp/.hg/store/undo b/jaxp/.hg/store/undo
index 09e76b2..72f5163 100644
Binary files a/jaxp/.hg/store/undo and b/jaxp/.hg/store/undo differ
diff --git a/jaxp/.hg/undo.desc b/jaxp/.hg/undo.desc
index 33f3419..ef5e6a5 100644
--- a/jaxp/.hg/undo.desc
+++ b/jaxp/.hg/undo.desc
@@ -1,3 +1,3 @@
-246
+260
 pull
 http://hg.openjdk.java.net/jigsaw/jigsaw/jaxp
diff --git a/jaxp/.hg/undo.dirstate b/jaxp/.hg/undo.dirstate
index a6345e7..6606670 100644
Binary files a/jaxp/.hg/undo.dirstate and b/jaxp/.hg/undo.dirstate differ
diff --git a/jaxp/.hgtags b/jaxp/.hgtags
index 803cb73..feae202 100644
--- a/jaxp/.hgtags
+++ b/jaxp/.hgtags
@@ -128,3 +128,4 @@ e1b5ef243445bf836d095fd44866e1771ef99374 jdk7-b141
 10ca7570f47f2ae4132648f7e8da1a05f1a98a15 jdk7-b145
 bcd31fa1e3c6f51b4fdd427ef905188cdac57164 jdk7-b146
 fc268cd1dd5d2e903ccd4b0275e1f9c2461ed30c jdk7-b147
+4f0fcb812767594fe9de509f946b56942db5a2f0 jdk8-b01
diff --git a/jaxp/make/jprt.properties b/jaxp/make/jprt.properties
index c95c9d0..cb67b3c 100644
--- a/jaxp/make/jprt.properties
+++ b/jaxp/make/jprt.properties
@@ -25,12 +25,23 @@
 
 # Properties for jprt
 
-# Use whatever release that the submitted job requests
-jprt.tools.default.release=${jprt.submit.release}
+# The release to build
+jprt.tools.default.release=jdk8
 
 # The different build flavors we want, we override here so we just get these 2
 jprt.build.flavors=product,fastdebug
 
+# Standard list of jprt build targets for this source tree
+jprt.build.targets= 						\
+    solaris_sparc_5.10-{product|fastdebug}, 			\
+    solaris_sparcv9_5.10-{product|fastdebug}, 			\
+    solaris_i586_5.10-{product|fastdebug}, 			\
+    solaris_x64_5.10-{product|fastdebug}, 			\
+    linux_i586_2.6-{product|fastdebug}, 			\
+    linux_x64_2.6-{product|fastdebug}, 				\
+    windows_i586_5.1-{product|fastdebug}, 			\
+    windows_x64_5.2-{product|fastdebug}
+
 # Directories to be excluded from the source bundles
 jprt.bundle.exclude.src.dirs=build dist webrev
 
diff --git a/jaxws/.hg/branchheads.cache b/jaxws/.hg/branchheads.cache
index 8cab570..d0202a6 100644
--- a/jaxws/.hg/branchheads.cache
+++ b/jaxws/.hg/branchheads.cache
@@ -1,2 +1,2 @@
-d04925491f726013199d544385ef512309e015bb 254
-d04925491f726013199d544385ef512309e015bb default
+3dcdb71369724aa6ac23c9a6605c2026bda0dd49 257
+3dcdb71369724aa6ac23c9a6605c2026bda0dd49 default
diff --git a/jaxws/.hg/dirstate b/jaxws/.hg/dirstate
index 5ad3c95..ab1b9d2 100644
Binary files a/jaxws/.hg/dirstate and b/jaxws/.hg/dirstate differ
diff --git a/jaxws/.hg/store/00changelog.d b/jaxws/.hg/store/00changelog.d
index b8a5f1d..52a9ce7 100644
Binary files a/jaxws/.hg/store/00changelog.d and b/jaxws/.hg/store/00changelog.d differ
diff --git a/jaxws/.hg/store/00changelog.i b/jaxws/.hg/store/00changelog.i
index 1371d02..d3c41b8 100644
Binary files a/jaxws/.hg/store/00changelog.i and b/jaxws/.hg/store/00changelog.i differ
diff --git a/jaxws/.hg/store/00manifest.d b/jaxws/.hg/store/00manifest.d
index 98213a8..aa08dcc 100644
Binary files a/jaxws/.hg/store/00manifest.d and b/jaxws/.hg/store/00manifest.d differ
diff --git a/jaxws/.hg/store/00manifest.i b/jaxws/.hg/store/00manifest.i
index 99cbdf5..292f7b1 100644
Binary files a/jaxws/.hg/store/00manifest.i and b/jaxws/.hg/store/00manifest.i differ
diff --git a/jaxws/.hg/store/data/make/jprt.properties.i b/jaxws/.hg/store/data/make/jprt.properties.i
index 9fe1b1b..a4883c8 100644
Binary files a/jaxws/.hg/store/data/make/jprt.properties.i and b/jaxws/.hg/store/data/make/jprt.properties.i differ
diff --git a/jaxws/.hg/store/data/~2ehgtags.i b/jaxws/.hg/store/data/~2ehgtags.i
index f714cbc..6d3c4da 100644
Binary files a/jaxws/.hg/store/data/~2ehgtags.i and b/jaxws/.hg/store/data/~2ehgtags.i differ
diff --git a/jaxws/.hg/store/undo b/jaxws/.hg/store/undo
index 8dbd2d4..f8430b1 100644
Binary files a/jaxws/.hg/store/undo and b/jaxws/.hg/store/undo differ
diff --git a/jaxws/.hg/undo.desc b/jaxws/.hg/undo.desc
index 6956a5d..a41afc9 100644
--- a/jaxws/.hg/undo.desc
+++ b/jaxws/.hg/undo.desc
@@ -1,3 +1,3 @@
-232
+255
 pull
 http://hg.openjdk.java.net/jigsaw/jigsaw/jaxws
diff --git a/jaxws/.hg/undo.dirstate b/jaxws/.hg/undo.dirstate
index 8992bcb..5ad3c95 100644
Binary files a/jaxws/.hg/undo.dirstate and b/jaxws/.hg/undo.dirstate differ
diff --git a/jaxws/.hgtags b/jaxws/.hgtags
index 848eaf1..4734c0b 100644
--- a/jaxws/.hgtags
+++ b/jaxws/.hgtags
@@ -128,3 +128,4 @@ c025078c8362076503bb83b8e4da14ba7b347940 jdk7-b139
 42bfba80beb7d3260b7b135b9a39202b512eb8c2 jdk7-b145
 05469dd4c3662c454f8a019e492543add60795cc jdk7-b146
 d13b1f877bb5ed8dceb2f7ec10365d1db5f70b2d jdk7-b147
+64df57a1edeca74388bd62f0a87d056db981fbdf jdk8-b01
diff --git a/jaxws/make/jprt.properties b/jaxws/make/jprt.properties
index c95c9d0..cb67b3c 100644
--- a/jaxws/make/jprt.properties
+++ b/jaxws/make/jprt.properties
@@ -25,12 +25,23 @@
 
 # Properties for jprt
 
-# Use whatever release that the submitted job requests
-jprt.tools.default.release=${jprt.submit.release}
+# The release to build
+jprt.tools.default.release=jdk8
 
 # The different build flavors we want, we override here so we just get these 2
 jprt.build.flavors=product,fastdebug
 
+# Standard list of jprt build targets for this source tree
+jprt.build.targets= 						\
+    solaris_sparc_5.10-{product|fastdebug}, 			\
+    solaris_sparcv9_5.10-{product|fastdebug}, 			\
+    solaris_i586_5.10-{product|fastdebug}, 			\
+    solaris_x64_5.10-{product|fastdebug}, 			\
+    linux_i586_2.6-{product|fastdebug}, 			\
+    linux_x64_2.6-{product|fastdebug}, 				\
+    windows_i586_5.1-{product|fastdebug}, 			\
+    windows_x64_5.2-{product|fastdebug}
+
 # Directories to be excluded from the source bundles
 jprt.bundle.exclude.src.dirs=build dist webrev
 
diff --git a/jdk/.hg/branchheads.cache b/jdk/.hg/branchheads.cache
index f0cb3df..f6751c3 100644
--- a/jdk/.hg/branchheads.cache
+++ b/jdk/.hg/branchheads.cache
@@ -1,2 +1,2 @@
-d1771ab0a90a20e585c7d6ed60ce52cbf59559c3 4628
-d1771ab0a90a20e585c7d6ed60ce52cbf59559c3 default
+ed4c673a9e2fe055512aa28acab433899e11b596 4701
+ed4c673a9e2fe055512aa28acab433899e11b596 default
diff --git a/jdk/.hg/dirstate b/jdk/.hg/dirstate
index ea2c614..76ee247 100644
Binary files a/jdk/.hg/dirstate and b/jdk/.hg/dirstate differ
diff --git a/jdk/.hg/store/00changelog.d b/jdk/.hg/store/00changelog.d
index c252cfe..03b62e5 100644
Binary files a/jdk/.hg/store/00changelog.d and b/jdk/.hg/store/00changelog.d differ
diff --git a/jdk/.hg/store/00changelog.i b/jdk/.hg/store/00changelog.i
index 3b8b7ed..e2e350a 100644
Binary files a/jdk/.hg/store/00changelog.i and b/jdk/.hg/store/00changelog.i differ
diff --git a/jdk/.hg/store/00manifest.d b/jdk/.hg/store/00manifest.d
index e1fc557..9f9ebf5 100644
Binary files a/jdk/.hg/store/00manifest.d and b/jdk/.hg/store/00manifest.d differ
diff --git a/jdk/.hg/store/00manifest.i b/jdk/.hg/store/00manifest.i
index 1c4b99f..240f7e4 100644
Binary files a/jdk/.hg/store/00manifest.i and b/jdk/.hg/store/00manifest.i differ
diff --git a/jdk/.hg/store/data/make/com/sun/java/pack/_makefile.i b/jdk/.hg/store/data/make/com/sun/java/pack/_makefile.i
index 8b8a787..e8c5ccd 100644
Binary files a/jdk/.hg/store/data/make/com/sun/java/pack/_makefile.i and b/jdk/.hg/store/data/make/com/sun/java/pack/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/sun/nio/_makefile.i b/jdk/.hg/store/data/make/com/sun/nio/_makefile.i
index 39f9ab6..9f3a22e 100644
Binary files a/jdk/.hg/store/data/make/com/sun/nio/_makefile.i and b/jdk/.hg/store/data/make/com/sun/nio/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/com/sun/nio/sctp/_makefile.i b/jdk/.hg/store/data/make/com/sun/nio/sctp/_makefile.i
index ce64d33..b8a344a 100644
Binary files a/jdk/.hg/store/data/make/com/sun/nio/sctp/_makefile.i and b/jdk/.hg/store/data/make/com/sun/nio/sctp/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/common/shared/_defs-java.gmk.i b/jdk/.hg/store/data/make/common/shared/_defs-java.gmk.i
index d089b7c..38f3a82 100644
Binary files a/jdk/.hg/store/data/make/common/shared/_defs-java.gmk.i and b/jdk/.hg/store/data/make/common/shared/_defs-java.gmk.i differ
diff --git a/jdk/.hg/store/data/make/common/shared/_defs-versions.gmk.i b/jdk/.hg/store/data/make/common/shared/_defs-versions.gmk.i
index d5efba9..0c5cd3f 100644
Binary files a/jdk/.hg/store/data/make/common/shared/_defs-versions.gmk.i and b/jdk/.hg/store/data/make/common/shared/_defs-versions.gmk.i differ
diff --git a/jdk/.hg/store/data/make/java/fdlibm/_f_i_l_e_s__c.gmk.i b/jdk/.hg/store/data/make/java/fdlibm/_f_i_l_e_s__c.gmk.i
index ba055f1..4902011 100644
Binary files a/jdk/.hg/store/data/make/java/fdlibm/_f_i_l_e_s__c.gmk.i and b/jdk/.hg/store/data/make/java/fdlibm/_f_i_l_e_s__c.gmk.i differ
diff --git a/jdk/.hg/store/data/make/java/java/_makefile.i b/jdk/.hg/store/data/make/java/java/_makefile.i
index d2bb0a5..ff913cd 100644
Binary files a/jdk/.hg/store/data/make/java/java/_makefile.i and b/jdk/.hg/store/data/make/java/java/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/java/math/_makefile.i b/jdk/.hg/store/data/make/java/math/_makefile.i
index 04c47a4..ca667d4 100644
Binary files a/jdk/.hg/store/data/make/java/math/_makefile.i and b/jdk/.hg/store/data/make/java/math/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/java/nio/_makefile.i b/jdk/.hg/store/data/make/java/nio/_makefile.i
index 6f04df0..49e69b3 100644
Binary files a/jdk/.hg/store/data/make/java/nio/_makefile.i and b/jdk/.hg/store/data/make/java/nio/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/java/sun__nio/_makefile.i b/jdk/.hg/store/data/make/java/sun__nio/_makefile.i
index a87a9a1..ea9addf 100644
Binary files a/jdk/.hg/store/data/make/java/sun__nio/_makefile.i and b/jdk/.hg/store/data/make/java/sun__nio/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/jprt.properties.i b/jdk/.hg/store/data/make/jprt.properties.i
index 2c9e9de..ec28199 100644
Binary files a/jdk/.hg/store/data/make/jprt.properties.i and b/jdk/.hg/store/data/make/jprt.properties.i differ
diff --git a/jdk/.hg/store/data/make/sun/nio/_makefile.i b/jdk/.hg/store/data/make/sun/nio/_makefile.i
index 9eae2dd..56d29af 100644
Binary files a/jdk/.hg/store/data/make/sun/nio/_makefile.i and b/jdk/.hg/store/data/make/sun/nio/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/sun/nio/cs/_makefile.i b/jdk/.hg/store/data/make/sun/nio/cs/_makefile.i
index 126556e..049f10f 100644
Binary files a/jdk/.hg/store/data/make/sun/nio/cs/_makefile.i and b/jdk/.hg/store/data/make/sun/nio/cs/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/sun/security/ec/_makefile.i b/jdk/.hg/store/data/make/sun/security/ec/_makefile.i
index 041291b..6b717ef 100644
Binary files a/jdk/.hg/store/data/make/sun/security/ec/_makefile.i and b/jdk/.hg/store/data/make/sun/security/ec/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/sun/security/mscapi/_makefile.i b/jdk/.hg/store/data/make/sun/security/mscapi/_makefile.i
index cf988e2..4614f47 100644
Binary files a/jdk/.hg/store/data/make/sun/security/mscapi/_makefile.i and b/jdk/.hg/store/data/make/sun/security/mscapi/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/tools/_makefile.i b/jdk/.hg/store/data/make/tools/_makefile.i
index 129f08b..9778437 100644
Binary files a/jdk/.hg/store/data/make/tools/_makefile.i and b/jdk/.hg/store/data/make/tools/_makefile.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/buildmetaindex/_build_meta_index.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/buildmetaindex/_build_meta_index.java.i
index 2365eda..c304770 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/buildmetaindex/_build_meta_index.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/buildmetaindex/_build_meta_index.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/compileproperties/_compile_properties.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/compileproperties/_compile_properties.java.i
index be059aa..fea12bf 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/compileproperties/_compile_properties.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/compileproperties/_compile_properties.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/dirdiff/_dir_diff.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/dirdiff/_dir_diff.java.i
index 54706b3..217f1f9 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/dirdiff/_dir_diff.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/dirdiff/_dir_diff.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_builder.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_builder.java.i
index 6d137fb..9247699 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_builder.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_builder.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_input_stream.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_input_stream.java.i
index b51b56d..b1bbc87 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_input_stream.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_input_stream.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_parser.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_parser.java.i
index 6cae38a..2b7c59a 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_parser.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_d_t_d_parser.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_public_mapping.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_public_mapping.java.i
index 7c2de25..b143fc3 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_public_mapping.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/dtdbuilder/_public_mapping.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_char_set.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_char_set.java.i
index 16bf335..11f6204 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_char_set.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_char_set.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_dictionary_based_break_iterator_builder.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_dictionary_based_break_iterator_builder.java.i
index 1900c1d..62cc02d 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_dictionary_based_break_iterator_builder.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_dictionary_based_break_iterator_builder.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_generate_break_iterator_data.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_generate_break_iterator_data.java.i
index a810d1c..fffd4a6 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_generate_break_iterator_data.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_generate_break_iterator_data.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_rule_based_break_iterator_builder.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_rule_based_break_iterator_builder.java.i
index 731037a..52d3222 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_rule_based_break_iterator_builder.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_rule_based_break_iterator_builder.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_supplementary_character_data.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_supplementary_character_data.java.i
index 590bf9c..e53043a 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_supplementary_character_data.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/generatebreakiteratordata/_supplementary_character_data.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_generate_character.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_generate_character.java.i
index 5b8a362..7b63ed5 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_generate_character.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_generate_character.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_special_case_map.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_special_case_map.java.i
index fe72494..2fc6632 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_special_case_map.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_special_case_map.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_unicode_spec.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_unicode_spec.java.i
index d7cc647..e92e151 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_unicode_spec.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/generatecharacter/_unicode_spec.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/generatecurrencydata/_generate_currency_data.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/generatecurrencydata/_generate_currency_data.java.i
index 0e06dd2..208b95f 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/generatecurrencydata/_generate_currency_data.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/generatecurrencydata/_generate_currency_data.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/hasher/_hasher.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/hasher/_hasher.java.i
index ff50812..67d45ee 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/hasher/_hasher.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/hasher/_hasher.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jarsplit/_jar_split.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jarsplit/_jar_split.java.i
index 237907f..132665b 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jarsplit/_jar_split.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jarsplit/_jar_split.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_gen.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_gen.java.i
index fcf2a99..68f77a9 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_gen.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_gen.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_gen_doc.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_gen_doc.java.i
index ab1573d..368d585 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_gen_doc.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_gen_doc.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_main.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_main.java.i
index 63f2db0..c8d6e72 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_main.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_main.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_mappings.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_mappings.java.i
index 32f8ba7..9a27894 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_mappings.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_mappings.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_simple.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_simple.java.i
index 7a0fe82..5a93138 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_simple.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_simple.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_time.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_time.java.i
index 9a021ce..206c2af 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_time.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_time.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_zoneinfo.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_zoneinfo.java.i
index a0f6867..a40389e 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_zoneinfo.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/javazic/_zoneinfo.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_command_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_command_node.java.i
index 90e28a1..cd10fe2 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_command_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_command_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_group_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_group_node.java.i
index 3d83283..9508916 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_group_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_group_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_named_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_named_node.java.i
index a336b40..5443805 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_named_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_named_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_type_list_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_type_list_node.java.i
index e7258e9..f57ef73 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_type_list_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_abstract_type_list_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_alt_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_alt_node.java.i
index d0dc952..711d4a7 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_alt_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_alt_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_command_set_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_command_set_node.java.i
index 725c42d..025ce28 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_command_set_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_command_set_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_constant_set_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_constant_set_node.java.i
index 78627b8..983133e 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_constant_set_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_constant_set_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_error_set_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_error_set_node.java.i
index 240a13f..d7c0bdb 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_error_set_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_error_set_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_node.java.i
index 4eb8e62..02c5970 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_out_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_out_node.java.i
index 74c97bc..07e1113 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_out_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_out_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_root_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_root_node.java.i
index 05c0e9d..0a20921 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_root_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_root_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_select_node.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_select_node.java.i
index 7c1c20d..40e7917 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_select_node.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/jdwpgen/_select_node.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/makeclasslist/_make_classlist.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/makeclasslist/_make_classlist.java.i
index ea1124c..da74725 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/makeclasslist/_make_classlist.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/makeclasslist/_make_classlist.java.i differ
diff --git a/jdk/.hg/store/data/make/tools/src/build/tools/stripproperties/_strip_properties.java.i b/jdk/.hg/store/data/make/tools/src/build/tools/stripproperties/_strip_properties.java.i
index b06d8da..0ac8ff6 100644
Binary files a/jdk/.hg/store/data/make/tools/src/build/tools/stripproperties/_strip_properties.java.i and b/jdk/.hg/store/data/make/tools/src/build/tools/stripproperties/_strip_properties.java.i differ
diff --git a/jdk/.hg/store/data/src/share/bin/jli__util.h.i b/jdk/.hg/store/data/src/share/bin/jli__util.h.i
index 9178d2f..1cda078 100644
Binary files a/jdk/.hg/store/data/src/share/bin/jli__util.h.i and b/jdk/.hg/store/data/src/share/bin/jli__util.h.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/motif/_motif_file_chooser_u_i.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/motif/_motif_file_chooser_u_i.java.i
index 474f241..9047f0d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/motif/_motif_file_chooser_u_i.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/motif/_motif_file_chooser_u_i.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/windows/_windows_file_chooser_u_i.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/windows/_windows_file_chooser_u_i.java.i
index 49ae80f..9a4be63 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/windows/_windows_file_chooser_u_i.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/windows/_windows_file_chooser_u_i.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/windows/_windows_tree_u_i.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/windows/_windows_tree_u_i.java.i
index 44c0600..81eae8c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/windows/_windows_tree_u_i.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/swing/plaf/windows/_windows_tree_u_i.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_attribute.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_attribute.java.i
index f365df9..463fd80 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_attribute.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_attribute.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_band_structure.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_band_structure.java.i
index c5a94e0..01d55da 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_band_structure.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_band_structure.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_class_reader.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_class_reader.java.i
index a660ecf..8b686b5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_class_reader.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_class_reader.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_class_writer.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_class_writer.java.i
index 5aa61a6..2f370f8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_class_writer.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_class_writer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_code.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_code.java.i
index 65734c3..81d7807 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_code.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_code.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_coding.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_coding.java.i
index 25f099e..4e604cd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_coding.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_coding.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_constant_pool.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_constant_pool.java.i
index fb7a2e5..a3fbf7c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_constant_pool.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_constant_pool.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_constants.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_constants.java.i
index 0aaf28f..62cd139 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_constants.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_constants.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_fixups.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_fixups.java.i
index 2f4cbbb..6bf7195 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_fixups.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_fixups.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_instruction.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_instruction.java.i
index 9f7f105..314aa3d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_instruction.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_instruction.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_native_unpack.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_native_unpack.java.i
index f2911b6..b112038 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_native_unpack.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_native_unpack.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package.java.i
index df8521a..f5cfcc4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package_reader.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package_reader.java.i
index 0a58299..fe94973 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package_reader.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package_reader.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package_writer.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package_writer.java.i
index b9ac4b3..cf6a9a0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package_writer.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_package_writer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_packer_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_packer_impl.java.i
index 61355ae..02ee7a7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_packer_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_packer_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_prop_map.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_prop_map.java.i
index f66a5bd..5d45137 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_prop_map.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_prop_map.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_t_l_globals.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_t_l_globals.java.i
index 78b9b4c..d38e487 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_t_l_globals.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_t_l_globals.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_unpacker_impl.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_unpacker_impl.java.i
index a35c4a6..bedd369 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_unpacker_impl.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_unpacker_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_utils.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_utils.java.i
index 766e428..38bf87b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_utils.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/java/util/jar/pack/_utils.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/com/sun/jndi/ldap/_filter.java.i b/jdk/.hg/store/data/src/share/classes/com/sun/jndi/ldap/_filter.java.i
index 02ed89a..9875a4a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/com/sun/jndi/ldap/_filter.java.i and b/jdk/.hg/store/data/src/share/classes/com/sun/jndi/ldap/_filter.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/awt/_scroll_pane_adjustable.java.i b/jdk/.hg/store/data/src/share/classes/java/awt/_scroll_pane_adjustable.java.i
index 3a33155..d3dd65d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/awt/_scroll_pane_adjustable.java.i and b/jdk/.hg/store/data/src/share/classes/java/awt/_scroll_pane_adjustable.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_class.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_class.java.i
index 3467570..7b9a84c 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_class.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_class.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_math.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_math.java.i
index d78dd82..4d51732 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_math.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_math.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/_strict_math.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/_strict_math.java.i
index 2e2c45f..9bb2b46 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/_strict_math.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/_strict_math.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_constructor.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_constructor.java.i
index e0d792a..c6834dd 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_constructor.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_constructor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_executable.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_executable.java.i
new file mode 100644
index 0000000..1f968a1
Binary files /dev/null and b/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_executable.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_method.java.i b/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_method.java.i
index 9c40ec3..06ddde7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_method.java.i and b/jdk/.hg/store/data/src/share/classes/java/lang/reflect/_method.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/net/_datagram_socket.java.i b/jdk/.hg/store/data/src/share/classes/java/net/_datagram_socket.java.i
index 697fc56..75adaf2 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/net/_datagram_socket.java.i and b/jdk/.hg/store/data/src/share/classes/java/net/_datagram_socket.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/net/_server_socket.java.i b/jdk/.hg/store/data/src/share/classes/java/net/_server_socket.java.i
index cb59f9f..3a6e42f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/net/_server_socket.java.i and b/jdk/.hg/store/data/src/share/classes/java/net/_server_socket.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/net/_socket_permission.java.i b/jdk/.hg/store/data/src/share/classes/java/net/_socket_permission.java.i
index dc96c21..6bc49e1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/net/_socket_permission.java.i and b/jdk/.hg/store/data/src/share/classes/java/net/_socket_permission.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/nio/_x-_buffer.java.template.i b/jdk/.hg/store/data/src/share/classes/java/nio/_x-_buffer.java.template.i
index b0f297d..1cfcc92 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/nio/_x-_buffer.java.template.i and b/jdk/.hg/store/data/src/share/classes/java/nio/_x-_buffer.java.template.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/nio/channels/_asynchronous_file_channel.java.i b/jdk/.hg/store/data/src/share/classes/java/nio/channels/_asynchronous_file_channel.java.i
index 4420940..5f32541 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/nio/channels/_asynchronous_file_channel.java.i and b/jdk/.hg/store/data/src/share/classes/java/nio/channels/_asynchronous_file_channel.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/nio/channels/_file_channel.java.i b/jdk/.hg/store/data/src/share/classes/java/nio/channels/_file_channel.java.i
index 94b9b80..51e1d77 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/nio/channels/_file_channel.java.i and b/jdk/.hg/store/data/src/share/classes/java/nio/channels/_file_channel.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/nio/charset/_charset.java.i b/jdk/.hg/store/data/src/share/classes/java/nio/charset/_charset.java.i
index d5206ae..1db143b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/nio/charset/_charset.java.i and b/jdk/.hg/store/data/src/share/classes/java/nio/charset/_charset.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/security/_key_store.java.i b/jdk/.hg/store/data/src/share/classes/java/security/_key_store.java.i
index cf4af88..99d47e6 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/security/_key_store.java.i and b/jdk/.hg/store/data/src/share/classes/java/security/_key_store.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_c_r_l.java.i b/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_c_r_l.java.i
index f8610c4..abf7644 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_c_r_l.java.i and b/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_c_r_l.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_certificate.java.i b/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_certificate.java.i
index 254e97f..eba6c13 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_certificate.java.i and b/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_certificate.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_extension.java.i b/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_extension.java.i
index 956fbd0..a3bbf0d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_extension.java.i and b/jdk/.hg/store/data/src/share/classes/java/security/cert/_x509_extension.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/_repaint_manager.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/_repaint_manager.java.i
index 011790c..deaaa76 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/_repaint_manager.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/_repaint_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_combo_popup.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_combo_popup.java.i
index ba4d84d..d9c60c3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_combo_popup.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_combo_popup.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_file_chooser_u_i.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_file_chooser_u_i.java.i
index d598632..8a91af4 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_file_chooser_u_i.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/basic/_basic_file_chooser_u_i.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/metal/_metal_look_and_feel.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/metal/_metal_look_and_feel.java.i
index 1ad9b5f..2a544f8 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/metal/_metal_look_and_feel.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/metal/_metal_look_and_feel.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/synth/_synth_combo_box_u_i.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/synth/_synth_combo_box_u_i.java.i
index 6cb6f41..3935038 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/synth/_synth_combo_box_u_i.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/plaf/synth/_synth_combo_box_u_i.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_form_view.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_form_view.java.i
index 838ee12..619f514 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_form_view.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_form_view.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_h_t_m_l_document.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_h_t_m_l_document.java.i
index 33f9ace..e36877f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_h_t_m_l_document.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_h_t_m_l_document.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_h_t_m_l_writer.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_h_t_m_l_writer.java.i
index 2a54660..cff5e44 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_h_t_m_l_writer.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_h_t_m_l_writer.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_option_combo_box_model.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_option_combo_box_model.java.i
index f567d53..65d6b4a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_option_combo_box_model.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_option_combo_box_model.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_option_list_model.java.i b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_option_list_model.java.i
index c60834d..9fc1113 100644
Binary files a/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_option_list_model.java.i and b/jdk/.hg/store/data/src/share/classes/javax/swing/text/html/_option_list_model.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/awt/_a_w_t_accessor.java.i b/jdk/.hg/store/data/src/share/classes/sun/awt/_a_w_t_accessor.java.i
index b7903e8..3b408e7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/awt/_a_w_t_accessor.java.i and b/jdk/.hg/store/data/src/share/classes/sun/awt/_a_w_t_accessor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_rendering_engine.java.i b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_rendering_engine.java.i
index 6fc59e2..867e02a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_rendering_engine.java.i and b/jdk/.hg/store/data/src/share/classes/sun/java2d/pipe/_rendering_engine.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/launcher/_launcher_helper.java.i b/jdk/.hg/store/data/src/share/classes/sun/launcher/_launcher_helper.java.i
index 10c77e5..dd24a99 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/launcher/_launcher_helper.java.i and b/jdk/.hg/store/data/src/share/classes/sun/launcher/_launcher_helper.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/launcher/resources/launcher.properties.i b/jdk/.hg/store/data/src/share/classes/sun/launcher/resources/launcher.properties.i
index 810971f..6a43539 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/launcher/resources/launcher.properties.i and b/jdk/.hg/store/data/src/share/classes/sun/launcher/resources/launcher.properties.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_config.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_config.java.i
index 1487bca..5e79d20 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_config.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_config.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_impl.java.i
index eb233f5..5b07384 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/httpserver/_server_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/http/_http_client.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/http/_http_client.java.i
index 430ad85..dae3535 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/http/_http_client.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/http/_http_client.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/http/_http_u_r_l_connection.java.i b/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/http/_http_u_r_l_connection.java.i
index 162737c..74f213d 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/http/_http_u_r_l_connection.java.i and b/jdk/.hg/store/data/src/share/classes/sun/net/www/protocol/http/_http_u_r_l_connection.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_datagram_socket_adaptor.java.i b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_datagram_socket_adaptor.java.i
index a624abc..672f0b6 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_datagram_socket_adaptor.java.i and b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_datagram_socket_adaptor.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_reflect.java.i b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_reflect.java.i
index 73a38be..56e96ce 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_reflect.java.i and b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_reflect.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_selector_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_selector_impl.java.i
index 1d6dbf9..3b6a989 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_selector_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_selector_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_util.java.i b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_util.java.i
index f1b5d1f..e104bb5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_util.java.i and b/jdk/.hg/store/data/src/share/classes/sun/nio/ch/_util.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_fast_charset_provider.java.i b/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_fast_charset_provider.java.i
index 9e32852..87e69f7 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_fast_charset_provider.java.i and b/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_fast_charset_provider.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_stream_decoder.java.i b/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_stream_decoder.java.i
index 4e5a6e6..a71cb3b 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_stream_decoder.java.i and b/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_stream_decoder.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_thread_local_coders.java.i b/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_thread_local_coders.java.i
index b52c100..f9f5e1e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_thread_local_coders.java.i and b/jdk/.hg/store/data/src/share/classes/sun/nio/cs/_thread_local_coders.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/nio/fs/_util.java.i b/jdk/.hg/store/data/src/share/classes/sun/nio/fs/_util.java.i
index db45735..9a15eb5 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/nio/fs/_util.java.i and b/jdk/.hg/store/data/src/share/classes/sun/nio/fs/_util.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/reflect/generics/reflective_objects/_not_implemented_exception.java.i b/jdk/.hg/store/data/src/share/classes/sun/reflect/generics/reflective_objects/_not_implemented_exception.java.i
index 62b1645..0b03e67 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/reflect/generics/reflective_objects/_not_implemented_exception.java.i and b/jdk/.hg/store/data/src/share/classes/sun/reflect/generics/reflective_objects/_not_implemented_exception.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_constructor_util.java.i b/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_constructor_util.java.i
index 3de480b..a19ab93 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_constructor_util.java.i and b/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_constructor_util.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_field_util.java.i b/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_field_util.java.i
index 79b175d..0d290b0 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_field_util.java.i and b/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_field_util.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_method_util.java.i b/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_method_util.java.i
index cdc3f84..247c16e 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_method_util.java.i and b/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_method_util.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_reflect_util.java.i b/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_reflect_util.java.i
index 635a697..62a775a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_reflect_util.java.i and b/jdk/.hg/store/data/src/share/classes/sun/reflect/misc/_reflect_util.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/_principal_name.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/_principal_name.java.i
index 78acb8c..6d50da1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/krb5/_principal_name.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/krb5/_principal_name.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_context_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_context_impl.java.i
index f9825c7..fd45f5f 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_context_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_context_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_socket_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_socket_impl.java.i
index 06984d8..3ebf4ce 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_socket_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_s_s_l_socket_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_trust_manager_factory_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_trust_manager_factory_impl.java.i
index 71e8cce..7cfd721 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_trust_manager_factory_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/security/ssl/_trust_manager_factory_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/swing/_default_layout_style.java.i b/jdk/.hg/store/data/src/share/classes/sun/swing/_default_layout_style.java.i
index 2cc5cf9..c34d4a3 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/swing/_default_layout_style.java.i and b/jdk/.hg/store/data/src/share/classes/sun/swing/_default_layout_style.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/swing/_file_pane.java.i b/jdk/.hg/store/data/src/share/classes/sun/swing/_file_pane.java.i
index fa5946d..93eaed1 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/swing/_file_pane.java.i and b/jdk/.hg/store/data/src/share/classes/sun/swing/_file_pane.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/swing/plaf/synth/_synth_file_chooser_u_i_impl.java.i b/jdk/.hg/store/data/src/share/classes/sun/swing/plaf/synth/_synth_file_chooser_u_i_impl.java.i
index 7270368..df3130a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/swing/plaf/synth/_synth_file_chooser_u_i_impl.java.i and b/jdk/.hg/store/data/src/share/classes/sun/swing/plaf/synth/_synth_file_chooser_u_i_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/swing/text/_text_component_printable.java.i b/jdk/.hg/store/data/src/share/classes/sun/swing/text/_text_component_printable.java.i
index 872f788..0905ccb 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/swing/text/_text_component_printable.java.i and b/jdk/.hg/store/data/src/share/classes/sun/swing/text/_text_component_printable.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/text/bidi/_bidi_base.java.i b/jdk/.hg/store/data/src/share/classes/sun/text/bidi/_bidi_base.java.i
index e8493cb..d3f4f97 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/text/bidi/_bidi_base.java.i and b/jdk/.hg/store/data/src/share/classes/sun/text/bidi/_bidi_base.java.i differ
diff --git a/jdk/.hg/store/data/src/share/classes/sun/util/locale/_locale_object_cache.java.i b/jdk/.hg/store/data/src/share/classes/sun/util/locale/_locale_object_cache.java.i
index 8dcee00..02de71a 100644
Binary files a/jdk/.hg/store/data/src/share/classes/sun/util/locale/_locale_object_cache.java.i and b/jdk/.hg/store/data/src/share/classes/sun/util/locale/_locale_object_cache.java.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/lang/fdlibm/include/fdlibm.h.i b/jdk/.hg/store/data/src/share/native/java/lang/fdlibm/include/fdlibm.h.i
index 691058d..ca8eaed 100644
Binary files a/jdk/.hg/store/data/src/share/native/java/lang/fdlibm/include/fdlibm.h.i and b/jdk/.hg/store/data/src/share/native/java/lang/fdlibm/include/fdlibm.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/java/lang/fdlibm/include/jfdlibm.h.i b/jdk/.hg/store/data/src/share/native/java/lang/fdlibm/include/jfdlibm.h.i
index b0d78a3..c78e3cf 100644
Binary files a/jdk/.hg/store/data/src/share/native/java/lang/fdlibm/include/jfdlibm.h.i and b/jdk/.hg/store/data/src/share/native/java/lang/fdlibm/include/jfdlibm.h.i differ
diff --git a/jdk/.hg/store/data/src/share/native/sun/java2d/loops/_graphics_primitive_mgr.h.i b/jdk/.hg/store/data/src/share/native/sun/java2d/loops/_graphics_primitive_mgr.h.i
index 55f5214..90a29f4 100644
Binary files a/jdk/.hg/store/data/src/share/native/sun/java2d/loops/_graphics_primitive_mgr.h.i and b/jdk/.hg/store/data/src/share/native/sun/java2d/loops/_graphics_primitive_mgr.h.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_button_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_button_peer.java.i
index 1d2e9ca..99b9520 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_button_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_button_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_checkbox_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_checkbox_peer.java.i
index 3304d67..f81214c 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_checkbox_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_checkbox_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_choice_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_choice_peer.java.i
index e43be20..d572751 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_choice_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_choice_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_component_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_component_peer.java.i
index c6b1b89..205f434 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_component_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_component_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_label_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_label_peer.java.i
index b336290..845e09d 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_label_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_label_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_list_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_list_peer.java.i
index c354d30..4241155 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_list_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_list_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_menu_bar_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_menu_bar_peer.java.i
index 5c97013..e59bfe4 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_menu_bar_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_menu_bar_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_menu_window.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_menu_window.java.i
index ace4059..a73a474 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_menu_window.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_menu_window.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_panel_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_panel_peer.java.i
index 651fdd8..4d8e530 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_panel_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_panel_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_repaint_area.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_repaint_area.java.i
index be9321e..7b025b8 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_repaint_area.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_repaint_area.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_scroll_pane_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_scroll_pane_peer.java.i
index 4796f07..3e75890 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_scroll_pane_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_scroll_pane_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_scrollbar_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_scrollbar_peer.java.i
index 05cfca3..9b582a5 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_scrollbar_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_scrollbar_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_text_area_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_text_area_peer.java.i
index 6112fdb..3a948b0 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_text_area_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_text_area_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_text_field_peer.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_text_field_peer.java.i
index 9f6c9fc..ab779ae 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_text_field_peer.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_text_field_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_warning_window.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_warning_window.java.i
index a759612..c92b4ab 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_warning_window.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_warning_window.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_window.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_window.java.i
index 93cc996..07a97ac 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_window.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/awt/_x11/_x_window.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/font/_font_config_manager.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/font/_font_config_manager.java.i
index e3f5483..f5626e8 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/font/_font_config_manager.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/font/_font_config_manager.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_channel_impl.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_channel_impl.java.i
index cff9d30..b591fb3 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_channel_impl.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_channel_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_multi_channel_impl.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_multi_channel_impl.java.i
index 5ea9fd8..0c3c3fb 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_multi_channel_impl.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_multi_channel_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_net.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_net.java.i
index a00d835..5860a1a 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_net.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_net.java.i differ
diff --git a/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_server_channel_impl.java.i b/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_server_channel_impl.java.i
index 314ba07..c6bffbf 100644
Binary files a/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_server_channel_impl.java.i and b/jdk/.hg/store/data/src/solaris/classes/sun/nio/ch/_sctp_server_channel_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_menu_item_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_menu_item_peer.java.i
index d41d7ec..427d77c 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_menu_item_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_menu_item_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_scroll_pane_peer.java.i b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_scroll_pane_peer.java.i
index ade4e4c..a8121c6 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_scroll_pane_peer.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/awt/windows/_w_scroll_pane_peer.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_pending_io_cache.java.i b/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_pending_io_cache.java.i
index b73e8f1..abdd2bd 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_pending_io_cache.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_pending_io_cache.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_windows_asynchronous_file_channel_impl.java.i b/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_windows_asynchronous_file_channel_impl.java.i
index e21388e..f8fd43a 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_windows_asynchronous_file_channel_impl.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_windows_asynchronous_file_channel_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_windows_asynchronous_socket_channel_impl.java.i b/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_windows_asynchronous_socket_channel_impl.java.i
index 037f309..6aea09d 100644
Binary files a/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_windows_asynchronous_socket_channel_impl.java.i and b/jdk/.hg/store/data/src/windows/classes/sun/nio/ch/_windows_asynchronous_socket_channel_impl.java.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___choice.cpp.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___choice.cpp.i
index 14d8eb6..b299720 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___choice.cpp.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___choice.cpp.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___component.cpp.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___component.cpp.i
index e0385ec..06e6c8f 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___component.cpp.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___component.cpp.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu.cpp.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu.cpp.i
index c09aeff..9be5c90 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu.cpp.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu.cpp.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu.h.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu.h.i
index 06e9ea5..1119192 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu.h.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu.h.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_bar.cpp.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_bar.cpp.i
index 570ad37..fac083e 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_bar.cpp.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_bar.cpp.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_bar.h.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_bar.h.i
index a2d6a1e..65c8cd9 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_bar.h.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_bar.h.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_item.cpp.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_item.cpp.i
index 6f66cd9..594e9ec 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_item.cpp.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_item.cpp.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_item.h.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_item.h.i
index f869ac2..aa91e99 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_item.h.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___menu_item.h.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___print_job.cpp.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___print_job.cpp.i
index 325c107..c3c6e6a 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___print_job.cpp.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___print_job.cpp.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___scroll_pane.cpp.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___scroll_pane.cpp.i
index c0d85fd..99f5229 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___scroll_pane.cpp.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___scroll_pane.cpp.i differ
diff --git a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___toolkit.cpp.i b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___toolkit.cpp.i
index 3d1b903..67e2069 100644
Binary files a/jdk/.hg/store/data/src/windows/native/sun/windows/awt___toolkit.cpp.i and b/jdk/.hg/store/data/src/windows/native/sun/windows/awt___toolkit.cpp.i differ
diff --git a/jdk/.hg/store/data/test/_problem_list.txt.i b/jdk/.hg/store/data/test/_problem_list.txt.i
index 7d19524..5ebe51c 100644
Binary files a/jdk/.hg/store/data/test/_problem_list.txt.i and b/jdk/.hg/store/data/test/_problem_list.txt.i differ
diff --git a/jdk/.hg/store/data/test/com/sun/crypto/provider/_cipher/_d_e_s/_padding_test.java.i b/jdk/.hg/store/data/test/com/sun/crypto/provider/_cipher/_d_e_s/_padding_test.java.i
index f2dc63f..54d0cda 100644
Binary files a/jdk/.hg/store/data/test/com/sun/crypto/provider/_cipher/_d_e_s/_padding_test.java.i and b/jdk/.hg/store/data/test/com/sun/crypto/provider/_cipher/_d_e_s/_padding_test.java.i differ
diff --git a/jdk/.hg/store/data/test/com/sun/jdi/_shell_scaffold.sh.i b/jdk/.hg/store/data/test/com/sun/jdi/_shell_scaffold.sh.i
index 89a7ede..1ad4cd2 100644
Binary files a/jdk/.hg/store/data/test/com/sun/jdi/_shell_scaffold.sh.i and b/jdk/.hg/store/data/test/com/sun/jdi/_shell_scaffold.sh.i differ
diff --git a/jdk/.hg/store/data/test/com/sun/jndi/ldap/_invalid_ldap_filters.java.i b/jdk/.hg/store/data/test/com/sun/jndi/ldap/_invalid_ldap_filters.java.i
index 2268c91..d485afb 100644
Binary files a/jdk/.hg/store/data/test/com/sun/jndi/ldap/_invalid_ldap_filters.java.i and b/jdk/.hg/store/data/test/com/sun/jndi/ldap/_invalid_ldap_filters.java.i differ
diff --git a/jdk/.hg/store/data/test/com/sun/net/httpserver/_test1.java.i b/jdk/.hg/store/data/test/com/sun/net/httpserver/_test1.java.i
index 5570728..4551e88 100644
Binary files a/jdk/.hg/store/data/test/com/sun/net/httpserver/_test1.java.i and b/jdk/.hg/store/data/test/com/sun/net/httpserver/_test1.java.i differ
diff --git a/jdk/.hg/store/data/test/com/sun/org/apache/xml/internal/security/exceptions/_locale_test.java.i b/jdk/.hg/store/data/test/com/sun/org/apache/xml/internal/security/exceptions/_locale_test.java.i
index ffe7833..4568514 100644
Binary files a/jdk/.hg/store/data/test/com/sun/org/apache/xml/internal/security/exceptions/_locale_test.java.i and b/jdk/.hg/store/data/test/com/sun/org/apache/xml/internal/security/exceptions/_locale_test.java.i differ
diff --git a/jdk/.hg/store/data/test/demo/zipfs/basic.sh.i b/jdk/.hg/store/data/test/demo/zipfs/basic.sh.i
index 9dd4981..e29354f 100644
Binary files a/jdk/.hg/store/data/test/demo/zipfs/basic.sh.i and b/jdk/.hg/store/data/test/demo/zipfs/basic.sh.i differ
diff --git a/jdk/.hg/store/data/test/java/awt/_choice/_choice_mouse_wheel_test/_choice_mouse_wheel_test.java.i b/jdk/.hg/store/data/test/java/awt/_choice/_choice_mouse_wheel_test/_choice_mouse_wheel_test.java.i
new file mode 100644
index 0000000..6ac97f2
Binary files /dev/null and b/jdk/.hg/store/data/test/java/awt/_choice/_choice_mouse_wheel_test/_choice_mouse_wheel_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/awt/_component/_paint_all/_paint_all.java.i b/jdk/.hg/store/data/test/java/awt/_component/_paint_all/_paint_all.java.i
new file mode 100644
index 0000000..5e93c70
Binary files /dev/null and b/jdk/.hg/store/data/test/java/awt/_component/_paint_all/_paint_all.java.i differ
diff --git a/jdk/.hg/store/data/test/java/awt/_menu_bar/_menu_bar_set_font/_menu_bar_set_font.java.i b/jdk/.hg/store/data/test/java/awt/_menu_bar/_menu_bar_set_font/_menu_bar_set_font.java.i
new file mode 100644
index 0000000..1249608
Binary files /dev/null and b/jdk/.hg/store/data/test/java/awt/_menu_bar/_menu_bar_set_font/_menu_bar_set_font.java.i differ
diff --git a/jdk/.hg/store/data/test/java/beans/_x_m_l_decoder/_test6341798.java.i b/jdk/.hg/store/data/test/java/beans/_x_m_l_decoder/_test6341798.java.i
index 8eb2e30..a09c9c0 100644
Binary files a/jdk/.hg/store/data/test/java/beans/_x_m_l_decoder/_test6341798.java.i and b/jdk/.hg/store/data/test/java/beans/_x_m_l_decoder/_test6341798.java.i differ
diff --git a/jdk/.hg/store/data/test/java/io/path_names/win32/bug6344646.java.i b/jdk/.hg/store/data/test/java/io/path_names/win32/bug6344646.java.i
index 9526137..4017f85 100644
Binary files a/jdk/.hg/store/data/test/java/io/path_names/win32/bug6344646.java.i and b/jdk/.hg/store/data/test/java/io/path_names/win32/bug6344646.java.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/instrument/_manifest_test.sh.i b/jdk/.hg/store/data/test/java/lang/instrument/_manifest_test.sh.i
index aa884ae..de5c8f7 100644
Binary files a/jdk/.hg/store/data/test/java/lang/instrument/_manifest_test.sh.i and b/jdk/.hg/store/data/test/java/lang/instrument/_manifest_test.sh.i differ
diff --git a/jdk/.hg/store/data/test/java/lang/reflect/_constructor/_equals.java.i b/jdk/.hg/store/data/test/java/lang/reflect/_constructor/_equals.java.i
new file mode 100644
index 0000000..43175c2
Binary files /dev/null and b/jdk/.hg/store/data/test/java/lang/reflect/_constructor/_equals.java.i differ
diff --git a/jdk/.hg/store/data/test/java/net/_cookie_handler/_b6791927.java.i b/jdk/.hg/store/data/test/java/net/_cookie_handler/_b6791927.java.i
index 65e2f9a..283e281 100644
Binary files a/jdk/.hg/store/data/test/java/net/_cookie_handler/_b6791927.java.i and b/jdk/.hg/store/data/test/java/net/_cookie_handler/_b6791927.java.i differ
diff --git a/jdk/.hg/store/data/test/java/net/_socket_permission/_wildcard.java.i b/jdk/.hg/store/data/test/java/net/_socket_permission/_wildcard.java.i
new file mode 100644
index 0000000..a9d478d
Binary files /dev/null and b/jdk/.hg/store/data/test/java/net/_socket_permission/_wildcard.java.i differ
diff --git a/jdk/.hg/store/data/test/java/net/_u_r_l_connection/_set_if_modified_since.java.i b/jdk/.hg/store/data/test/java/net/_u_r_l_connection/_set_if_modified_since.java.i
index c339465..9083b82 100644
Binary files a/jdk/.hg/store/data/test/java/net/_u_r_l_connection/_set_if_modified_since.java.i and b/jdk/.hg/store/data/test/java/net/_u_r_l_connection/_set_if_modified_since.java.i differ
diff --git a/jdk/.hg/store/data/test/java/nio/charset/coders/_check_s_j_i_s_mapping_prop.sh.i b/jdk/.hg/store/data/test/java/nio/charset/coders/_check_s_j_i_s_mapping_prop.sh.i
index 77cdd90..b3079c5 100644
Binary files a/jdk/.hg/store/data/test/java/nio/charset/coders/_check_s_j_i_s_mapping_prop.sh.i and b/jdk/.hg/store/data/test/java/nio/charset/coders/_check_s_j_i_s_mapping_prop.sh.i differ
diff --git a/jdk/.hg/store/data/test/java/nio/charset/spi/basic.sh.i b/jdk/.hg/store/data/test/java/nio/charset/spi/basic.sh.i
index 7680cb4..ad9d867 100644
Binary files a/jdk/.hg/store/data/test/java/nio/charset/spi/basic.sh.i and b/jdk/.hg/store/data/test/java/nio/charset/spi/basic.sh.i differ
diff --git a/jdk/.hg/store/data/test/java/text/_bidi/_bug7042148.java.i b/jdk/.hg/store/data/test/java/text/_bidi/_bug7042148.java.i
new file mode 100644
index 0000000..4e3af89
Binary files /dev/null and b/jdk/.hg/store/data/test/java/text/_bidi/_bug7042148.java.i differ
diff --git a/jdk/.hg/store/data/test/java/text/_bidi/_bug7051769.java.i b/jdk/.hg/store/data/test/java/text/_bidi/_bug7051769.java.i
new file mode 100644
index 0000000..23ce40e
Binary files /dev/null and b/jdk/.hg/store/data/test/java/text/_bidi/_bug7051769.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_locale/_locale_category.java.i b/jdk/.hg/store/data/test/java/util/_locale/_locale_category.java.i
index 1ef8805..51a0723 100644
Binary files a/jdk/.hg/store/data/test/java/util/_locale/_locale_category.java.i and b/jdk/.hg/store/data/test/java/util/_locale/_locale_category.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_locale/_locale_category.sh.i b/jdk/.hg/store/data/test/java/util/_locale/_locale_category.sh.i
index d82be12..b8fff15 100644
Binary files a/jdk/.hg/store/data/test/java/util/_locale/_locale_category.sh.i and b/jdk/.hg/store/data/test/java/util/_locale/_locale_category.sh.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_pluggable_locale/_currency_name_provider_test.java.i b/jdk/.hg/store/data/test/java/util/_pluggable_locale/_currency_name_provider_test.java.i
index d7a277a..5fadecb 100644
Binary files a/jdk/.hg/store/data/test/java/util/_pluggable_locale/_currency_name_provider_test.java.i and b/jdk/.hg/store/data/test/java/util/_pluggable_locale/_currency_name_provider_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_pluggable_locale/_time_zone_name_provider_test.java.i b/jdk/.hg/store/data/test/java/util/_pluggable_locale/_time_zone_name_provider_test.java.i
index 784e757..f7bb39e 100644
Binary files a/jdk/.hg/store/data/test/java/util/_pluggable_locale/_time_zone_name_provider_test.java.i and b/jdk/.hg/store/data/test/java/util/_pluggable_locale/_time_zone_name_provider_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_resource_bundle/_bug6190861.java.i b/jdk/.hg/store/data/test/java/util/_resource_bundle/_bug6190861.java.i
index 7bc3973..8115681 100644
Binary files a/jdk/.hg/store/data/test/java/util/_resource_bundle/_bug6190861.java.i and b/jdk/.hg/store/data/test/java/util/_resource_bundle/_bug6190861.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_resource_bundle/_control/_bug6530694.java.i b/jdk/.hg/store/data/test/java/util/_resource_bundle/_control/_bug6530694.java.i
index a4c8166..0913ef3 100644
Binary files a/jdk/.hg/store/data/test/java/util/_resource_bundle/_control/_bug6530694.java.i and b/jdk/.hg/store/data/test/java/util/_resource_bundle/_control/_bug6530694.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_resource_bundle/_control/_stress_test.java.i b/jdk/.hg/store/data/test/java/util/_resource_bundle/_control/_stress_test.java.i
index 55e4d22..dfaaea1 100644
Binary files a/jdk/.hg/store/data/test/java/util/_resource_bundle/_control/_stress_test.java.i and b/jdk/.hg/store/data/test/java/util/_resource_bundle/_control/_stress_test.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_resource_bundle/_test4314141.java.i b/jdk/.hg/store/data/test/java/util/_resource_bundle/_test4314141.java.i
index e1c4715..cf4223f 100644
Binary files a/jdk/.hg/store/data/test/java/util/_resource_bundle/_test4314141.java.i and b/jdk/.hg/store/data/test/java/util/_resource_bundle/_test4314141.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/_resource_bundle/_test4318520.java.i b/jdk/.hg/store/data/test/java/util/_resource_bundle/_test4318520.java.i
index b5e40ab..d9d6940 100644
Binary files a/jdk/.hg/store/data/test/java/util/_resource_bundle/_test4318520.java.i and b/jdk/.hg/store/data/test/java/util/_resource_bundle/_test4318520.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/concurrent/_executors/_auto_shutdown.java.i b/jdk/.hg/store/data/test/java/util/concurrent/_executors/_auto_shutdown.java.i
index f111ba0..2b1df0a 100644
Binary files a/jdk/.hg/store/data/test/java/util/concurrent/_executors/_auto_shutdown.java.i and b/jdk/.hg/store/data/test/java/util/concurrent/_executors/_auto_shutdown.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/concurrent/_phaser/_arrive.java.i b/jdk/.hg/store/data/test/java/util/concurrent/_phaser/_arrive.java.i
index 0d0fedc..3f6a903 100644
Binary files a/jdk/.hg/store/data/test/java/util/concurrent/_phaser/_arrive.java.i and b/jdk/.hg/store/data/test/java/util/concurrent/_phaser/_arrive.java.i differ
diff --git a/jdk/.hg/store/data/test/java/util/jar/_jar_file/_turk_cert.java.i b/jdk/.hg/store/data/test/java/util/jar/_jar_file/_turk_cert.java.i
index ac30716..4d013aa 100644
Binary files a/jdk/.hg/store/data/test/java/util/jar/_jar_file/_turk_cert.java.i and b/jdk/.hg/store/data/test/java/util/jar/_jar_file/_turk_cert.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/crypto/_cipher/_turkish.java.i b/jdk/.hg/store/data/test/javax/crypto/_cipher/_turkish.java.i
index ce74096..00ce4f8 100644
Binary files a/jdk/.hg/store/data/test/javax/crypto/_cipher/_turkish.java.i and b/jdk/.hg/store/data/test/javax/crypto/_cipher/_turkish.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_group_layout/7071166/bug7071166.java.i b/jdk/.hg/store/data/test/javax/swing/_group_layout/7071166/bug7071166.java.i
new file mode 100644
index 0000000..37efb79
Binary files /dev/null and b/jdk/.hg/store/data/test/javax/swing/_group_layout/7071166/bug7071166.java.i differ
diff --git a/jdk/.hg/store/data/test/javax/swing/_j_color_chooser/_test6524757.java.i b/jdk/.hg/store/data/test/javax/swing/_j_color_chooser/_test6524757.java.i
index 2ca60eb..e8aadf5 100644
Binary files a/jdk/.hg/store/data/test/javax/swing/_j_color_chooser/_test6524757.java.i and b/jdk/.hg/store/data/test/javax/swing/_j_color_chooser/_test6524757.java.i differ
diff --git a/jdk/.hg/store/data/test/org/openjdk/jigsaw/cli/timestamp-test.sh.i b/jdk/.hg/store/data/test/org/openjdk/jigsaw/cli/timestamp-test.sh.i
index dc18ba2..bb8bdc3 100644
Binary files a/jdk/.hg/store/data/test/org/openjdk/jigsaw/cli/timestamp-test.sh.i and b/jdk/.hg/store/data/test/org/openjdk/jigsaw/cli/timestamp-test.sh.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_k_d_c.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_k_d_c.java.i
index d538abe..5a423a5 100644
Binary files a/jdk/.hg/store/data/test/sun/security/krb5/auto/_k_d_c.java.i and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_k_d_c.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/krb5/auto/_principal_name_equals.java.i b/jdk/.hg/store/data/test/sun/security/krb5/auto/_principal_name_equals.java.i
new file mode 100644
index 0000000..05e1c5e
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/krb5/auto/_principal_name_equals.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/ssl/sun/net/www/protocol/https/_https_u_r_l_connection/_https_proxy_stack_overflow.java.i b/jdk/.hg/store/data/test/sun/security/ssl/sun/net/www/protocol/https/_https_u_r_l_connection/_https_proxy_stack_overflow.java.i
new file mode 100644
index 0000000..6bdfe90
Binary files /dev/null and b/jdk/.hg/store/data/test/sun/security/ssl/sun/net/www/protocol/https/_https_u_r_l_connection/_https_proxy_stack_overflow.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/security/tools/keytool/_key_tool_test.java.i b/jdk/.hg/store/data/test/sun/security/tools/keytool/_key_tool_test.java.i
index 8ce653f..fb9c359 100644
Binary files a/jdk/.hg/store/data/test/sun/security/tools/keytool/_key_tool_test.java.i and b/jdk/.hg/store/data/test/sun/security/tools/keytool/_key_tool_test.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4248694.java.i b/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4248694.java.i
index 7ba4a8d..06c612e 100644
Binary files a/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4248694.java.i and b/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4248694.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4804273.java.i b/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4804273.java.i
index 2bce69d..97ecc4e 100644
Binary files a/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4804273.java.i and b/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4804273.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4848897.java.i b/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4848897.java.i
index 7a40535..dddc750 100644
Binary files a/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4848897.java.i and b/jdk/.hg/store/data/test/sun/text/resources/_collator/_bug4848897.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/text/resources/_format/_bug4651568.java.i b/jdk/.hg/store/data/test/sun/text/resources/_format/_bug4651568.java.i
index dbff115..74330a8 100644
Binary files a/jdk/.hg/store/data/test/sun/text/resources/_format/_bug4651568.java.i and b/jdk/.hg/store/data/test/sun/text/resources/_format/_bug4651568.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/util/resources/_locale/_bug4965260.java.i b/jdk/.hg/store/data/test/sun/util/resources/_locale/_bug4965260.java.i
index dec4bc4..dc70861 100644
Binary files a/jdk/.hg/store/data/test/sun/util/resources/_locale/_bug4965260.java.i and b/jdk/.hg/store/data/test/sun/util/resources/_locale/_bug4965260.java.i differ
diff --git a/jdk/.hg/store/data/test/sun/util/resources/_time_zone/_bug4640234.java.i b/jdk/.hg/store/data/test/sun/util/resources/_time_zone/_bug4640234.java.i
index 6e8a334..0692554 100644
Binary files a/jdk/.hg/store/data/test/sun/util/resources/_time_zone/_bug4640234.java.i and b/jdk/.hg/store/data/test/sun/util/resources/_time_zone/_bug4640234.java.i differ
diff --git a/jdk/.hg/store/data/test/tools/launcher/_arrrghs.java.i b/jdk/.hg/store/data/test/tools/launcher/_arrrghs.java.i
index 7588cf3..b3eda4c 100644
Binary files a/jdk/.hg/store/data/test/tools/launcher/_arrrghs.java.i and b/jdk/.hg/store/data/test/tools/launcher/_arrrghs.java.i differ
diff --git a/jdk/.hg/store/data/test/tools/launcher/_test_helper.java.i b/jdk/.hg/store/data/test/tools/launcher/_test_helper.java.i
index dffef03..45d7cc8 100644
Binary files a/jdk/.hg/store/data/test/tools/launcher/_test_helper.java.i and b/jdk/.hg/store/data/test/tools/launcher/_test_helper.java.i differ
diff --git a/jdk/.hg/store/data/~2ehgtags.i b/jdk/.hg/store/data/~2ehgtags.i
index 2484074..bc125bd 100644
Binary files a/jdk/.hg/store/data/~2ehgtags.i and b/jdk/.hg/store/data/~2ehgtags.i differ
diff --git a/jdk/.hg/store/fncache b/jdk/.hg/store/fncache
index adcb70d..9af905d 100644
--- a/jdk/.hg/store/fncache
+++ b/jdk/.hg/store/fncache
@@ -20772,3 +20772,14 @@ data/test/sun/java2d/loops/Bug7049339.java.i
 data/test/sun/security/krb5/tools/ktmissing.sh.i
 data/test/sun/security/pkcs11/Provider/Absolute.cfg.i
 data/test/sun/security/pkcs11/Provider/Absolute.java.i
+data/src/share/classes/java/lang/reflect/Executable.java.i
+data/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java.i
+data/test/java/awt/Component/PaintAll/PaintAll.java.i
+data/test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java.i
+data/test/java/lang/reflect/Constructor/Equals.java.i
+data/test/java/net/SocketPermission/Wildcard.java.i
+data/test/java/text/Bidi/Bug7042148.java.i
+data/test/java/text/Bidi/Bug7051769.java.i
+data/test/javax/swing/GroupLayout/7071166/bug7071166.java.i
+data/test/sun/security/krb5/auto/PrincipalNameEquals.java.i
+data/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java.i
diff --git a/jdk/.hg/store/undo b/jdk/.hg/store/undo
index df88141..d3e3205 100644
Binary files a/jdk/.hg/store/undo and b/jdk/.hg/store/undo differ
diff --git a/jdk/.hg/undo.desc b/jdk/.hg/undo.desc
index 0692ffd..dc7660b 100644
--- a/jdk/.hg/undo.desc
+++ b/jdk/.hg/undo.desc
@@ -1,3 +1,3 @@
-4493
+4629
 pull
 http://hg.openjdk.java.net/jigsaw/jigsaw/jdk
diff --git a/jdk/.hg/undo.dirstate b/jdk/.hg/undo.dirstate
index 0e927cd..ea2c614 100644
Binary files a/jdk/.hg/undo.dirstate and b/jdk/.hg/undo.dirstate differ
diff --git a/jdk/.hgtags b/jdk/.hgtags
index 3d6726c..049ccc0 100644
--- a/jdk/.hgtags
+++ b/jdk/.hgtags
@@ -129,3 +129,4 @@ efbf75c24b0f31847c9c403f6dc07dc80551908d jdk7-b143
 1e04b38b3824a4a1d197ef681a302e6813e53f8b jdk7-b145
 539e576793a8e64aaf160e0d6ab0b9723cd0bef0 jdk7-b146
 f097ca2434b1412b12ab4a5c2397ce271bf681e7 jdk7-b147
+2cdbbc4a63592be7f1556fffe37b1253a77bd481 jdk8-b01
diff --git a/jdk/make/com/sun/java/pack/Makefile b/jdk/make/com/sun/java/pack/Makefile
index 506f853..3080c46 100644
--- a/jdk/make/com/sun/java/pack/Makefile
+++ b/jdk/make/com/sun/java/pack/Makefile
@@ -33,6 +33,8 @@ PACKAGE = com.sun.java.util.jar.pack
 LIBRARY = unpack
 PRODUCT = sun
 PGRM = unpack200
+JAVAC_MAX_WARNINGS=true
+JAVAC_WARNINGS_FATAL=true
 include $(BUILDDIR)/common/Defs.gmk
 
 CPLUSPLUSLIBRARY=true
diff --git a/jdk/make/com/sun/nio/Makefile b/jdk/make/com/sun/nio/Makefile
index bdff717..b3a20f0 100644
--- a/jdk/make/com/sun/nio/Makefile
+++ b/jdk/make/com/sun/nio/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -28,6 +28,8 @@
 #
 
 BUILDDIR = ../../..
+SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true
+SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true
 include $(BUILDDIR)/common/Defs.gmk
 
 SUBDIRS = sctp
diff --git a/jdk/make/com/sun/nio/sctp/Makefile b/jdk/make/com/sun/nio/sctp/Makefile
index bbecb55..bf5090a 100644
--- a/jdk/make/com/sun/nio/sctp/Makefile
+++ b/jdk/make/com/sun/nio/sctp/Makefile
@@ -32,7 +32,6 @@ MODULE  = sctp
 PACKAGE = com.sun.nio.sctp
 LIBRARY = sctp
 PRODUCT = sun
-#OTHER_JAVACFLAGS += -Xmaxwarns 1000 -Xlint
 include $(BUILDDIR)/common/Defs.gmk
 
 #
diff --git a/jdk/make/common/shared/Defs-java.gmk b/jdk/make/common/shared/Defs-java.gmk
index ffc311a..1352a80 100644
--- a/jdk/make/common/shared/Defs-java.gmk
+++ b/jdk/make/common/shared/Defs-java.gmk
@@ -111,17 +111,22 @@ ifndef DEBUG_CLASSFILES
     DEBUG_CLASSFILES = true
   endif
 endif
-SHARED_JAVACFLAGS =
+ifeq ($(JAVAC_MAX_WARNINGS), true)
+  JAVAC_LINT_OPTIONS += -Xlint:all
+endif
+
+# TODO: Workaround for CR 7063027. Remove -path eventually.
+JAVAC_LINT_OPTIONS += -Xlint:-path
+
+SHARED_JAVACFLAGS += $(JAVAC_LINT_OPTIONS)
 ifeq ($(DEBUG_CLASSFILES),true)
   SHARED_JAVACFLAGS += -g
 endif
-ifeq ($(JAVAC_MAX_WARNINGS), true)
-  SHARED_JAVACFLAGS  += -Xlint:all
-endif
 ifeq ($(JAVAC_WARNINGS_FATAL), true)
   SHARED_JAVACFLAGS  += -Werror
 endif
 
+
 #
 # Some licensees do not get the Security Source bundles.  We will
 # fall back on the prebuilt jce.jar so that we can do a best
@@ -218,16 +223,12 @@ endif
 # The javac options supplied to the boot javac is limited. This compiler
 #   should only be used to build the 'make/tools' sources, which are not
 #   class files that end up in the classes directory.
-ifeq ($(JAVAC_MAX_WARNINGS), true)
-  BOOT_JAVACFLAGS  += -Xlint:all
-endif
+BOOT_JAVACFLAGS += $(JAVAC_LINT_OPTIONS)
 ifeq ($(JAVAC_WARNINGS_FATAL), true)
   BOOT_JAVACFLAGS  += -Werror
 endif
 
-BOOT_SOURCE_LANGUAGE_VERSION = 6
-BOOT_TARGET_CLASS_VERSION = 6
-BOOT_JAVACFLAGS  += -encoding ascii -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION)
+BOOT_JAVACFLAGS  += -encoding ascii
 BOOT_JAR_JFLAGS += $(JAR_JFLAGS)
 
 BOOT_JAVACFLAGS  += $(NO_PROPRIETARY_API_WARNINGS)
diff --git a/jdk/make/common/shared/Defs-versions.gmk b/jdk/make/common/shared/Defs-versions.gmk
index 6e00b22..01aa7ee 100644
--- a/jdk/make/common/shared/Defs-versions.gmk
+++ b/jdk/make/common/shared/Defs-versions.gmk
@@ -191,7 +191,7 @@ endif
 
 # Generic
 REQUIRED_ANT_VER          = 1.7.1
-REQUIRED_BOOT_VER         = 1.6
+REQUIRED_BOOT_VER         = 1.7
 REQUIRED_FREETYPE_VERSION = 2.3.0
 REQUIRED_MAKE_VER         = 3.81
 REQUIRED_UNZIP_VER        = 5.12
diff --git a/jdk/make/java/fdlibm/FILES_c.gmk b/jdk/make/java/fdlibm/FILES_c.gmk
index 0252c0f..cc7a1ad 100644
--- a/jdk/make/java/fdlibm/FILES_c.gmk
+++ b/jdk/make/java/fdlibm/FILES_c.gmk
@@ -30,21 +30,13 @@ FILES_c = \
 	k_sin.c \
 	k_tan.c \
 	e_acos.c \
-	e_acosh.c \
 	e_asin.c \
 	e_atan2.c \
 	e_atanh.c \
 	e_cosh.c \
 	e_exp.c \
 	e_fmod.c \
-	e_gamma.c \
-	e_gamma_r.c \
 	e_hypot.c \
-	e_j0.c \
-	e_j1.c \
-	e_jn.c \
-	e_lgamma.c \
-	e_lgamma_r.c \
 	e_log.c \
 	e_log10.c \
 	e_pow.c \
@@ -54,21 +46,13 @@ FILES_c = \
 	e_sinh.c \
 	e_sqrt.c \
 	w_acos.c \
-	w_acosh.c \
 	w_asin.c \
 	w_atan2.c \
 	w_atanh.c \
 	w_cosh.c \
 	w_exp.c \
 	w_fmod.c \
-	w_gamma.c \
-	w_gamma_r.c \
 	w_hypot.c \
-	w_j0.c \
-	w_j1.c \
-	w_jn.c \
-	w_lgamma.c \
-	w_lgamma_r.c \
 	w_log.c \
 	w_log10.c \
 	w_pow.c \
@@ -76,13 +60,11 @@ FILES_c = \
 	w_scalb.c \
 	w_sinh.c \
 	w_sqrt.c \
-	s_asinh.c \
 	s_atan.c \
 	s_cbrt.c \
 	s_ceil.c \
 	s_copysign.c \
 	s_cos.c \
-	s_erf.c \
 	s_expm1.c \
 	s_fabs.c \
 	s_finite.c \
diff --git a/jdk/make/java/java/Makefile b/jdk/make/java/java/Makefile
index c03af98..40fefe8 100644
--- a/jdk/make/java/java/Makefile
+++ b/jdk/make/java/java/Makefile
@@ -33,6 +33,8 @@ MODULE  = base
 PACKAGE = java.lang
 LIBRARY = java
 PRODUCT = java
+SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true
+SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true
 include $(BUILDDIR)/common/Defs.gmk
 
 # windows compiler flags
diff --git a/jdk/make/java/math/Makefile b/jdk/make/java/math/Makefile
index cbadcca..df07e06 100644
--- a/jdk/make/java/math/Makefile
+++ b/jdk/make/java/math/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,8 @@ BUILDDIR = ../..
 
 PACKAGE = java.math
 PRODUCT = sun
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
 include $(BUILDDIR)/common/Defs.gmk
 
 #
diff --git a/jdk/make/java/nio/Makefile b/jdk/make/java/nio/Makefile
index 495b48b..7e59a5f 100644
--- a/jdk/make/java/nio/Makefile
+++ b/jdk/make/java/nio/Makefile
@@ -32,7 +32,8 @@ MODULE  = base
 PACKAGE = java.nio
 LIBRARY = nio
 PRODUCT = java
-OTHER_JAVACFLAGS += -Xmaxwarns 1000 -Xlint:serial -Werror
+JAVAC_MAX_WARNINGS = true
+JAVAC_WARNINGS_FATAL = true
 include $(BUILDDIR)/common/Defs.gmk
 
 NIO_SRC = $(SHARE_SRC)/classes/java/nio
diff --git a/jdk/make/java/sun_nio/Makefile b/jdk/make/java/sun_nio/Makefile
index a2f2f6d..ebe1546 100644
--- a/jdk/make/java/sun_nio/Makefile
+++ b/jdk/make/java/sun_nio/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -31,7 +31,9 @@ BUILDDIR = ../..
 PACKAGE = sun.nio
 PRODUCT = sun
 
-OTHER_JAVACFLAGS += -Xlint:serial,-deprecation -Werror
+JAVAC_MAX_WARNINGS = false
+JAVAC_LINT_OPTIONS = -Xlint:all,-deprecation
+JAVAC_WARNINGS_FATAL = true
 include $(BUILDDIR)/common/Defs.gmk
 
 #
diff --git a/jdk/make/jprt.properties b/jdk/make/jprt.properties
index 0bceae0..55da542 100644
--- a/jdk/make/jprt.properties
+++ b/jdk/make/jprt.properties
@@ -25,22 +25,12 @@
 
 # Properties for jprt
 
-# At submit time, the release supplied will be in jprt.submit.release
-#    and will be one of the official release names defined in jprt.
-#    jprt supports property value expansion using ${property.name} syntax.
-
-# This tells jprt what default release we want to build
-jprt.tools.default.release=${jprt.submit.release}
+# Release to build for
+jprt.tools.default.release=jdk8
 
 # The different build flavors we want, we override here so we just get these 2
 jprt.build.flavors=product,fastdebug
 
-# Define the Windows we want (temporary)
-jprt.my.windows.i586.jdk7b107=windows_i586_5.0
-jprt.my.windows.i586.jdk7temp=windows_i586_5.0
-jprt.my.windows.i586.jdk7=windows_i586_5.1
-jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}}
-
 # Standard list of jprt build targets for this source tree
 jprt.build.targets= 						\
     solaris_sparc_5.10-{product|fastdebug}, 			\
@@ -49,7 +39,7 @@ jprt.build.targets= 						\
     solaris_x64_5.10-{product|fastdebug}, 			\
     linux_i586_2.6-{product|fastdebug}, 			\
     linux_x64_2.6-{product|fastdebug}, 				\
-    ${jprt.my.windows.i586}-{product|fastdebug}, 		\
+    windows_i586_5.1-{product|fastdebug}, 			\
     windows_x64_5.2-{product|fastdebug}
 
 # User can select the test set with jprt submit "-testset name" option
@@ -63,7 +53,7 @@ jprt.vm.default.test.targets=					\
     solaris_x64_5.10-product-c2-jvm98, 				\
     linux_i586_2.6-product-{c1|c2}-jvm98, 			\
     linux_x64_2.6-product-c2-jvm98, 				\
-    ${jprt.my.windows.i586}-product-c1-jvm98, 			\
+    windows_i586_5.1-product-c1-jvm98, 				\
     windows_x64_5.2-product-c2-jvm98
 
 # Select vm testlist to use (allow for testset to be empty too)
@@ -80,7 +70,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_beans1, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_beans1, 			\
     linux_x64_2.6-product-c2-jdk_beans1, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_beans1, 		\
+    windows_i586_5.1-product-c1-jdk_beans1, 			\
     windows_x64_5.2-product-c2-jdk_beans1, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_io, 			\
@@ -89,7 +79,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_io, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_io, 			\
     linux_x64_2.6-product-c2-jdk_io, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_io, 			\
+    windows_i586_5.1-product-c1-jdk_io, 			\
     windows_x64_5.2-product-c2-jdk_io, 				\
     								\
     solaris_sparc_5.10-product-c1-jdk_jigsaw,                   \
@@ -98,7 +88,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_jigsaw,                     \
     linux_i586_2.6-product-{c1|c2}-jdk_jigsaw,                  \
     linux_x64_2.6-product-c2-jdk_jigsaw,                        \
-    ${jprt.my.windows.i586}-product-c1-jdk_jigsaw,              \
+    windows_i586_5.1-product-c1-jdk_jigsaw, 			\
     windows_x64_5.2-product-c2-jdk_jigsaw                       \
                                                                 \
     solaris_sparc_5.10-product-c1-jdk_lang, 			\
@@ -107,7 +97,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_lang, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_lang, 			\
     linux_x64_2.6-product-c2-jdk_lang, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_lang, 		\
+    windows_i586_5.1-product-c1-jdk_lang, 			\
     windows_x64_5.2-product-c2-jdk_lang, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_math, 			\
@@ -116,7 +106,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_math, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_math, 			\
     linux_x64_2.6-product-c2-jdk_math, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_math, 		\
+    windows_i586_5.1-product-c1-jdk_math, 			\
     windows_x64_5.2-product-c2-jdk_math, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_misc, 			\
@@ -125,7 +115,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_misc, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_misc, 			\
     linux_x64_2.6-product-c2-jdk_misc, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_misc, 		\
+    windows_i586_5.1-product-c1-jdk_misc, 			\
     windows_x64_5.2-product-c2-jdk_misc, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_net, 			\
@@ -134,7 +124,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_net, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_net, 			\
     linux_x64_2.6-product-c2-jdk_net, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_net, 		\
+    windows_i586_5.1-product-c1-jdk_net, 			\
     windows_x64_5.2-product-c2-jdk_net, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_nio1, 			\
@@ -143,7 +133,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_nio1, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_nio1, 			\
     linux_x64_2.6-product-c2-jdk_nio1, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_nio1, 		\
+    windows_i586_5.1-product-c1-jdk_nio1, 			\
     windows_x64_5.2-product-c2-jdk_nio1, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_nio2, 			\
@@ -152,7 +142,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_nio2, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_nio2, 			\
     linux_x64_2.6-product-c2-jdk_nio2, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_nio2, 		\
+    windows_i586_5.1-product-c1-jdk_nio2, 			\
     windows_x64_5.2-product-c2-jdk_nio2, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_nio3, 			\
@@ -161,7 +151,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_nio3, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_nio3, 			\
     linux_x64_2.6-product-c2-jdk_nio3, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_nio3, 		\
+    windows_i586_5.1-product-c1-jdk_nio3, 			\
     windows_x64_5.2-product-c2-jdk_nio3, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_security1, 		\
@@ -170,7 +160,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_security1, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_security1, 		\
     linux_x64_2.6-product-c2-jdk_security1, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_security1, 		\
+    windows_i586_5.1-product-c1-jdk_security1, 			\
     windows_x64_5.2-product-c2-jdk_security1, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_text, 			\
@@ -179,7 +169,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_text, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_text, 			\
     linux_x64_2.6-product-c2-jdk_text, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_text, 		\
+    windows_i586_5.1-product-c1-jdk_text, 			\
     windows_x64_5.2-product-c2-jdk_text, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_tools1, 			\
@@ -188,7 +178,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_tools1, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_tools1, 			\
     linux_x64_2.6-product-c2-jdk_tools1, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_tools1, 		\
+    windows_i586_5.1-product-c1-jdk_tools1, 			\
     windows_x64_5.2-product-c2-jdk_tools1, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_util, 			\
@@ -197,7 +187,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_util, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_util, 			\
     linux_x64_2.6-product-c2-jdk_util, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_util, 		\
+    windows_i586_5.1-product-c1-jdk_util, 			\
     windows_x64_5.2-product-c2-jdk_util
 
 # All jdk test targets in test/Makefile (still no fastdebug & limited c2)
@@ -211,7 +201,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_awt, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_awt, 			\
     linux_x64_2.6-product-c2-jdk_awt, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_awt, 		\
+    windows_i586_5.1-product-c1-jdk_awt, 			\
     windows_x64_5.2-product-c2-jdk_awt, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_beans2, 			\
@@ -220,7 +210,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_beans2, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_beans2, 			\
     linux_x64_2.6-product-c2-jdk_beans2, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_beans2, 		\
+    windows_i586_5.1-product-c1-jdk_beans2, 			\
     windows_x64_5.2-product-c2-jdk_beans2, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_beans3, 			\
@@ -229,7 +219,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_beans3, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_beans3, 			\
     linux_x64_2.6-product-c2-jdk_beans3, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_beans3, 		\
+    windows_i586_5.1-product-c1-jdk_beans3, 			\
     windows_x64_5.2-product-c2-jdk_beans3, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_management1, 		\
@@ -238,7 +228,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_management1, 		\
     linux_i586_2.6-product-{c1|c2}-jdk_management1, 		\
     linux_x64_2.6-product-c2-jdk_management1, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_management1, 	\
+    windows_i586_5.1-product-c1-jdk_management1, 		\
     windows_x64_5.2-product-c2-jdk_management1, 		\
     								\
     solaris_sparc_5.10-product-c1-jdk_management2, 		\
@@ -247,7 +237,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_management2, 		\
     linux_i586_2.6-product-{c1|c2}-jdk_management2, 		\
     linux_x64_2.6-product-c2-jdk_management2, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_management2, 	\
+    windows_i586_5.1-product-c1-jdk_management2, 		\
     windows_x64_5.2-product-c2-jdk_management2, 		\
     								\
     solaris_sparc_5.10-product-c1-jdk_rmi, 			\
@@ -256,7 +246,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_rmi, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_rmi, 			\
     linux_x64_2.6-product-c2-jdk_rmi, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_rmi, 		\
+    windows_i586_5.1-product-c1-jdk_rmi, 			\
     windows_x64_5.2-product-c2-jdk_rmi, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_security2, 		\
@@ -265,7 +255,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_security2, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_security2, 		\
     linux_x64_2.6-product-c2-jdk_security2, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_security2, 		\
+    windows_i586_5.1-product-c1-jdk_security2, 			\
     windows_x64_5.2-product-c2-jdk_security2, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_security3, 		\
@@ -274,7 +264,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_security3, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_security3, 		\
     linux_x64_2.6-product-c2-jdk_security3, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_security3, 		\
+    windows_i586_5.1-product-c1-jdk_security3, 			\
     windows_x64_5.2-product-c2-jdk_security3, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_swing, 			\
@@ -283,7 +273,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_swing, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_swing, 			\
     linux_x64_2.6-product-c2-jdk_swing, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_swing, 		\
+    windows_i586_5.1-product-c1-jdk_swing, 			\
     windows_x64_5.2-product-c2-jdk_swing, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_tools2, 			\
@@ -292,7 +282,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_tools2, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_tools2, 			\
     linux_x64_2.6-product-c2-jdk_tools2, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_tools2, 		\
+    windows_i586_5.1-product-c1-jdk_tools2, 			\
     windows_x64_5.2-product-c2-jdk_tools2
 
 # JCK test targets in test/Makefile (no fastdebug & limited c2, windows broken)
diff --git a/jdk/make/sun/nio/Makefile b/jdk/make/sun/nio/Makefile
index e5eb929..10b8c83 100644
--- a/jdk/make/sun/nio/Makefile
+++ b/jdk/make/sun/nio/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,8 @@
 BUILDDIR = ../..
 PACKAGE = sun.nio
 PRODUCT = sun
+SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true
+SUBDIRS_MAKEFLAGS += JAVAC_WARNINGS_FATAL=true
 include $(BUILDDIR)/common/Defs.gmk
 
 SUBDIRS = cs
diff --git a/jdk/make/sun/nio/cs/Makefile b/jdk/make/sun/nio/cs/Makefile
index 2327774..6db44cc 100644
--- a/jdk/make/sun/nio/cs/Makefile
+++ b/jdk/make/sun/nio/cs/Makefile
@@ -37,7 +37,9 @@ PRODUCT = sun
 # This re-directs all the class files to a separate location
 CLASSDESTDIR = $(TEMPDIR)/classes
 
-OTHER_JAVACFLAGS += -Xlint:serial,-deprecation -Werror
+JAVAC_MAX_WARNINGS = false
+JAVAC_LINT_OPTIONS = -Xlint:all,-deprecation
+JAVAC_WARNINGS_FATAL = true
 include $(BUILDDIR)/common/Defs.gmk
 
 #
diff --git a/jdk/make/sun/security/ec/Makefile b/jdk/make/sun/security/ec/Makefile
index 3eee0a3..4f02fd3 100644
--- a/jdk/make/sun/security/ec/Makefile
+++ b/jdk/make/sun/security/ec/Makefile
@@ -157,7 +157,7 @@ ifeq ($(NATIVE_ECC_AVAILABLE), true)
       $(PKGDIR)/ECDSASignature.java \
       $(PKGDIR)/ECKeyPairGenerator.java
 
-  JAVAHFLAGS += -classpath $(CLASSDESTDIR)
+  JAVAHFLAGS += -Xbootclasspath/p:$(CLASSDESTDIR)
 
   #
   # C and C++ files
diff --git a/jdk/make/sun/security/mscapi/Makefile b/jdk/make/sun/security/mscapi/Makefile
index d2c4873..ecc2442 100644
--- a/jdk/make/sun/security/mscapi/Makefile
+++ b/jdk/make/sun/security/mscapi/Makefile
@@ -153,6 +153,8 @@ OTHER_INCLUDES += \
 #
 # Rules
 #
+CLASSDESTDIR = $(TEMPDIR)/classes
+JAVAHFLAGS += -Xbootclasspath/p:$(CLASSDESTDIR)
 
 include $(BUILDDIR)/common/Mapfile-vers.gmk
 
diff --git a/jdk/make/tools/Makefile b/jdk/make/tools/Makefile
index 13fc5c9..ad30894 100644
--- a/jdk/make/tools/Makefile
+++ b/jdk/make/tools/Makefile
@@ -28,6 +28,8 @@
 #
 
 BUILDDIR = ..
+
+SUBDIRS_MAKEFLAGS += JAVAC_MAX_WARNINGS=true JAVAC_WARNINGS_FATAL=true
 include $(BUILDDIR)/common/Defs.gmk
 
 # Note: freetypecheck is built by Sanity.gmk if needed
diff --git a/jdk/make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java b/jdk/make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java
index ad755db..73feec3 100644
--- a/jdk/make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java
+++ b/jdk/make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -114,8 +114,8 @@ public class BuildMetaIndex {
                  */
 
                 out.println(jmi.getJarFileKind().getMarkerChar() + " " + filename);
-                for (Iterator<String> iter = index.iterator(); iter.hasNext(); ) {
-                    out.println(iter.next());
+                for (String entry : index) {
+                    out.println(entry);
                 }
 
             }
@@ -171,8 +171,7 @@ class JarMetaIndex {
      * A hashmap contains a mapping from the prefix string to
      * a hashset which contains a set of the second level of prefix string.
      */
-    private HashMap<String, HashSet<String>> knownPrefixMap = new
-        HashMap<String, HashSet<String>>();
+    private HashMap<String, HashSet<String>> knownPrefixMap = new HashMap<>();
 
     /*
      * We add maximum 5 second level entries to "sun", "java" and
@@ -195,12 +194,12 @@ class JarMetaIndex {
         if (indexSet == null) {
             synchronized(this) {
                 if (indexSet == null) {
-                    indexSet = new HashSet<String>();
-                    Enumeration entries = jar.entries();
+                    indexSet = new HashSet<>();
+                    Enumeration<JarEntry> entries = jar.entries();
                     boolean containsOnlyClass = true;
                     boolean containsOnlyResource = true;
                     while (entries.hasMoreElements()) {
-                        JarEntry entry = (JarEntry) entries.nextElement();
+                        JarEntry entry = entries.nextElement();
                         String name = entry.getName();
                         /* We only look at the non-directory entry.
                            MANIFEST file is also skipped. */
@@ -338,9 +337,7 @@ class JarMetaIndex {
         /* Iterate through the hash map, add the second level package names
          * to the indexSet if has any.
          */
-        for (Iterator<String> keysIterator = knownPrefixMap.keySet().iterator();
-             keysIterator.hasNext();) {
-            String key = keysIterator.next();
+        for (String key : knownPrefixMap.keySet()) {
             HashSet<String> pkgSetStartsWithKey = knownPrefixMap.get(key);
             int setSize = pkgSetStartsWithKey.size();
 
@@ -353,9 +350,8 @@ class JarMetaIndex {
                 /* If the set contains less than MAX_PKGS_WITH_KNOWN_PREFIX, add
                  * them to the indexSet of the MetaIndex object.
                  */
-                for (Iterator<String> secondPkgElements = pkgSetStartsWithKey.iterator();
-                     secondPkgElements.hasNext();) {
-                    indexSet.add(key + "/" + secondPkgElements.next());
+                for (String secondPkgElement : pkgSetStartsWithKey) {
+                    indexSet.add(key + "/" + secondPkgElement);
                 }
             }
         } // end the outer "for"
diff --git a/jdk/make/tools/src/build/tools/compileproperties/CompileProperties.java b/jdk/make/tools/src/build/tools/compileproperties/CompileProperties.java
index 1757657..cf9f451 100644
--- a/jdk/make/tools/src/build/tools/compileproperties/CompileProperties.java
+++ b/jdk/make/tools/src/build/tools/compileproperties/CompileProperties.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,6 @@ import java.io.Writer;
 import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Properties;
 
@@ -223,18 +222,16 @@ public class CompileProperties {
         if ( ok ) {
             String packageName = inferPackageName(propertiesPath, outputPath);
             System.out.println("inferred package name: " + packageName);
-            List<String> sortedKeys = new ArrayList<String>();
+            List<String> sortedKeys = new ArrayList<>();
             for ( Object key : p.keySet() ) {
                 sortedKeys.add((String)key);
             }
             Collections.sort(sortedKeys);
-            Iterator keys = sortedKeys.iterator();
 
             StringBuffer data = new StringBuffer();
 
-            while (keys.hasNext()) {
-                Object key = keys.next();
-                data.append("            { \"" + escape((String)key) + "\", \"" +
+            for (String key : sortedKeys) {
+                data.append("            { \"" + escape(key) + "\", \"" +
                         escape((String)p.get(key)) + "\" },\n");
             }
 
diff --git a/jdk/make/tools/src/build/tools/dirdiff/DirDiff.java b/jdk/make/tools/src/build/tools/dirdiff/DirDiff.java
index 0a15d3a..ffa10c9 100644
--- a/jdk/make/tools/src/build/tools/dirdiff/DirDiff.java
+++ b/jdk/make/tools/src/build/tools/dirdiff/DirDiff.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -164,7 +164,7 @@ public class DirDiff implements Runnable {
       }
 
       File[] currentGoldenDirs = null;
-      TreeSet goldDirSet = new TreeSet();
+      TreeSet<String> goldDirSet = new TreeSet<>();
       if (goldenDir != null) {
           currentGoldenDirs = goldenDir.listFiles();
           for (int i=0; i<currentGoldenDirs.length; i++) {
diff --git a/jdk/make/tools/src/build/tools/dtdbuilder/DTDBuilder.java b/jdk/make/tools/src/build/tools/dtdbuilder/DTDBuilder.java
index 6b10dd4..ac63aab 100644
--- a/jdk/make/tools/src/build/tools/dtdbuilder/DTDBuilder.java
+++ b/jdk/make/tools/src/build/tools/dtdbuilder/DTDBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,9 +63,9 @@ class DTDBuilder extends DTD {
     static PublicMapping mapping = null;
 
     // Hash from name to Integer
-    private Hashtable namesHash = new Hashtable();
+    private Hashtable<String, Integer> namesHash = new Hashtable<>();
     // Vector of all names
-    private Vector namesVector = new Vector();
+    private Vector<String> namesVector = new Vector<>();
 
     /**
      * Create a new DTD.
@@ -87,15 +87,15 @@ class DTDBuilder extends DTD {
         int numNames = namesVector.size();
         out.writeShort((short) (namesVector.size()));
         for (int i = 0; i < namesVector.size(); i++) {
-            String nm = (String) namesVector.elementAt(i);
+            String nm = namesVector.elementAt(i);
             out.writeUTF(nm);
         }
 
         saveEntities(out);
 
         out.writeShort((short) (elements.size()));
-        for (Enumeration e = elements.elements() ; e.hasMoreElements() ; ) {
-            saveElement(out, (Element)e.nextElement());
+        for (Enumeration<Element> e = elements.elements() ; e.hasMoreElements() ; ) {
+            saveElement(out, e.nextElement());
         }
 
         if (namesVector.size() != numNames) {
@@ -106,21 +106,21 @@ class DTDBuilder extends DTD {
     }
 
     private void buildNamesTable() {
-        for (Enumeration e = entityHash.elements() ; e.hasMoreElements() ; ) {
-            Entity ent = (Entity) e.nextElement();
+        for (Enumeration<Entity> e = entityHash.elements() ; e.hasMoreElements() ; ) {
+            Entity ent = e.nextElement();
             // Do even if not isGeneral().  That way, exclusions and inclusions
             // will definitely have their element.
             getNameId(ent.getName());
         }
-        for (Enumeration e = elements.elements() ; e.hasMoreElements() ; ) {
-            Element el = (Element) e.nextElement();
+        for (Enumeration<Element> e = elements.elements() ; e.hasMoreElements() ; ) {
+            Element el = e.nextElement();
             getNameId(el.getName());
             for (AttributeList atts = el.getAttributes() ; atts != null ; atts = atts.getNext()) {
                 getNameId(atts.getName());
                 if (atts.getValue() != null) {
                     getNameId(atts.getValue());
                 }
-                Enumeration vals = atts.getValues();
+                Enumeration<?> vals = atts.getValues();
                 while (vals != null && vals.hasMoreElements()) {
                     String s = (String) vals.nextElement();
                     getNameId(s);
@@ -133,9 +133,9 @@ class DTDBuilder extends DTD {
     // The the id of a name from the list of names
     //
     private short getNameId(String name)  {
-        Object o = namesHash.get(name);
+        Integer o = namesHash.get(name);
         if (o != null) {
-            return (short) ((Integer) o).intValue();
+            return (short) o.intValue();
         }
         int i = namesVector.size();
         namesVector.addElement(name);
@@ -149,16 +149,16 @@ class DTDBuilder extends DTD {
      */
     void saveEntities(DataOutputStream out) throws IOException {
         int num = 0;
-        for (Enumeration e = entityHash.elements() ; e.hasMoreElements() ; ) {
-            Entity ent = (Entity) e.nextElement();
+        for (Enumeration<Entity> e = entityHash.elements() ; e.hasMoreElements() ; ) {
+            Entity ent = e.nextElement();
             if (ent.isGeneral()) {
                 num++;
             }
         }
 
         out.writeShort((short) num);
-        for (Enumeration e = entityHash.elements() ; e.hasMoreElements() ; ) {
-            Entity ent = (Entity) e.nextElement();
+        for (Enumeration<Entity> e = entityHash.elements() ; e.hasMoreElements() ; ) {
+            Entity ent = e.nextElement();
             if (ent.isGeneral()) {
                 out.writeShort(getNameId(ent.getName()));
                 out.writeByte(ent.getType() & ~GENERAL);
diff --git a/jdk/make/tools/src/build/tools/dtdbuilder/DTDInputStream.java b/jdk/make/tools/src/build/tools/dtdbuilder/DTDInputStream.java
index e07c60f..79b9332 100644
--- a/jdk/make/tools/src/build/tools/dtdbuilder/DTDInputStream.java
+++ b/jdk/make/tools/src/build/tools/dtdbuilder/DTDInputStream.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,7 +48,7 @@ import java.net.URL;
 public final
 class DTDInputStream extends FilterReader implements DTDConstants {
     public DTD dtd;
-    public Stack stack = new Stack();
+    public Stack<Object> stack = new Stack<>();
     public char str[] = new char[64];
     public int replace = 0;
     public int ln = 1;
@@ -105,6 +105,7 @@ class DTDInputStream extends FilterReader implements DTDConstants {
      * parameter entities.
      * [60] 350:22
      */
+    @SuppressWarnings("fallthrough")
     public int read() throws IOException {
         switch (ch) {
           case '%': {
@@ -134,6 +135,7 @@ class DTDInputStream extends FilterReader implements DTDConstants {
             switch (ch) {
               case '\r':
                 ln++;
+                /* fall through */
               case ';':
                 ch = in.read();
                 break;
diff --git a/jdk/make/tools/src/build/tools/dtdbuilder/DTDParser.java b/jdk/make/tools/src/build/tools/dtdbuilder/DTDParser.java
index 4b76cd4..f8eb782 100644
--- a/jdk/make/tools/src/build/tools/dtdbuilder/DTDParser.java
+++ b/jdk/make/tools/src/build/tools/dtdbuilder/DTDParser.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2000, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -87,7 +87,7 @@ class DTDParser implements DTDConstants {
             return null;
         }
 
-        return MessageFormat.format(prop, args);
+        return MessageFormat.format(prop, (Object[])args);
     }
 
     /**
@@ -201,6 +201,7 @@ class DTDParser implements DTDConstants {
      * Parse identifier. Uppercase characters are automatically
      * folded to lowercase. Returns falsed if no identifier is found.
      */
+    @SuppressWarnings("fallthrough")
     boolean parseIdentifier(boolean lower) throws IOException {
         switch (ch) {
           case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
@@ -211,6 +212,7 @@ class DTDParser implements DTDConstants {
             if (lower) {
                 ch = 'a' + (ch - 'A');
             }
+            /* fall through */
 
           case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
           case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
@@ -233,6 +235,7 @@ class DTDParser implements DTDConstants {
      * Parses name token. If <code>lower</code> is true, upper case letters
      * are folded to lower case. Returns falsed if no token is found.
      */
+    @SuppressWarnings("fallthrough")
     boolean parseNameToken(boolean lower) throws IOException {
         boolean first = true;
 
@@ -246,6 +249,7 @@ class DTDParser implements DTDConstants {
                 if (lower) {
                     ch = 'a' + (ch - 'A');
                 }
+                /* fall through */
 
               case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
               case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
@@ -271,8 +275,8 @@ class DTDParser implements DTDConstants {
     /**
      * Parse a list of identifiers.
      */
-    Vector parseIdentifierList(boolean lower) throws IOException {
-        Vector elems = new Vector();
+    Vector<String> parseIdentifierList(boolean lower) throws IOException {
+        Vector<String> elems = new Vector<>();
         skipSpace();
         switch (ch) {
           case '(':
@@ -507,7 +511,7 @@ class DTDParser implements DTDConstants {
      * [116] 405:6
      */
     void parseElementDeclaration() throws IOException {
-        Vector elems = parseIdentifierList(true);
+        Vector<String> elems = parseIdentifierList(true);
         BitSet inclusions = null;
         BitSet exclusions = null;
         boolean omitStart = false;
@@ -544,26 +548,26 @@ class DTDParser implements DTDConstants {
         if ((type == MODEL) || (type == ANY)) {
             if (ch == '-') {
                 ch = in.read();
-                Vector v = parseIdentifierList(true);
+                Vector<String> v = parseIdentifierList(true);
                 exclusions = new BitSet();
-                for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
-                    exclusions.set(dtd.getElement((String)e.nextElement()).getIndex());
+                for (Enumeration<String> e = v.elements() ; e.hasMoreElements() ;) {
+                    exclusions.set(dtd.getElement(e.nextElement()).getIndex());
                 }
             }
             if (ch == '+') {
                 ch = in.read();
-                Vector v = parseIdentifierList(true);
+                Vector<String> v = parseIdentifierList(true);
                 inclusions = new BitSet();
-                for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
-                    inclusions.set(dtd.getElement((String)e.nextElement()).getIndex());
+                for (Enumeration<String> e = v.elements() ; e.hasMoreElements() ;) {
+                    inclusions.set(dtd.getElement(e.nextElement()).getIndex());
                 }
             }
         }
         expect('>');
 
         if (in.replace == 0) {
-            for (Enumeration e = elems.elements() ; e.hasMoreElements() ;) {
-                dtd.defineElement((String)e.nextElement(), type, omitStart, omitEnd, content, exclusions, inclusions, null);
+            for (Enumeration<String> e = elems.elements() ; e.hasMoreElements() ;) {
+                dtd.defineElement(e.nextElement(), type, omitStart, omitEnd, content, exclusions, inclusions, null);
             }
         }
     }
@@ -582,7 +586,7 @@ class DTDParser implements DTDConstants {
             error("invalid", "attribute value");
             return;
         }
-        atts.type = atts.name2type(getString(0));
+        atts.type = AttributeList.name2type(getString(0));
         skipParameterSpace();
         if (atts.type == NOTATION) {
             atts.values = parseIdentifierList(true);
@@ -593,6 +597,7 @@ class DTDParser implements DTDConstants {
      * Parse an attribute value specification.
      * [33] 331:1
      */
+    @SuppressWarnings("fallthrough")
     String parseAttributeValueSpecification() throws IOException {
         int delim = -1;
         switch (ch) {
@@ -627,6 +632,7 @@ class DTDParser implements DTDConstants {
                     ch = in.read();
                     return getString(0);
                 }
+                /* fall through */
 
               default:
                 addString(ch & 0xFF);
@@ -648,7 +654,7 @@ class DTDParser implements DTDConstants {
                 return;
             }
             skipParameterSpace();
-            atts.modifier = atts.name2type(getString(0));
+            atts.modifier = AttributeList.name2type(getString(0));
             if (atts.modifier != FIXED) {
                 return;
             }
@@ -663,7 +669,7 @@ class DTDParser implements DTDConstants {
      * REMIND: associated notation name
      */
     void parseAttlistDeclaration() throws IOException {
-        Vector elems = parseIdentifierList(true);
+        Vector<String> elems = parseIdentifierList(true);
         AttributeList attlist = null, atts = null;
 
         while (parseIdentifier(true)) {
@@ -685,8 +691,8 @@ class DTDParser implements DTDConstants {
         expect('>');
 
         if (in.replace == 0) {
-            for (Enumeration e = elems.elements() ; e.hasMoreElements() ;) {
-                dtd.defineAttributes((String)e.nextElement(), attlist);
+            for (Enumeration<String> e = elems.elements() ; e.hasMoreElements() ;) {
+                dtd.defineAttributes(e.nextElement(), attlist);
             }
         }
     }
@@ -810,6 +816,7 @@ class DTDParser implements DTDConstants {
     /**
      * Parse a section of the input upto EOF or ']'.
      */
+    @SuppressWarnings("fallthrough")
     void parseSection() throws IOException {
         while (true) {
             switch (ch) {
@@ -883,6 +890,7 @@ class DTDParser implements DTDConstants {
               default:
                 char str[] = {(char)ch};
                 error("invalid.arg", "character", "'" + new String(str) + "' / " + ch);
+                /* fall through */
 
               case ' ':
               case '\t':
diff --git a/jdk/make/tools/src/build/tools/dtdbuilder/PublicMapping.java b/jdk/make/tools/src/build/tools/dtdbuilder/PublicMapping.java
index 8ac955f..cbad21a 100644
--- a/jdk/make/tools/src/build/tools/dtdbuilder/PublicMapping.java
+++ b/jdk/make/tools/src/build/tools/dtdbuilder/PublicMapping.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -44,7 +44,7 @@ import java.util.Hashtable;
 final class PublicMapping {
 
     String baseStr;
-    Hashtable tab = new Hashtable();
+    Hashtable<String, String> tab = new Hashtable<>();
 
     /**
      * Create a mapping.
@@ -103,6 +103,6 @@ final class PublicMapping {
      */
     public String get(String id) {
         // System.err.println(" id = "+id);
-        return (String) tab.get(id);
+        return tab.get(id);
     }
 }
diff --git a/jdk/make/tools/src/build/tools/generatebreakiteratordata/CharSet.java b/jdk/make/tools/src/build/tools/generatebreakiteratordata/CharSet.java
index 1e63e3d..2dc948a 100644
--- a/jdk/make/tools/src/build/tools/generatebreakiteratordata/CharSet.java
+++ b/jdk/make/tools/src/build/tools/generatebreakiteratordata/CharSet.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -66,7 +66,7 @@ class CharSet {
      * A cache which is used to speed up parseString() whenever it is
      * used to parse a description that has been parsed before
      */
-    private static Hashtable expressionCache = null;
+    private static Hashtable<String, CharSet> expressionCache = null;
 
     /**
      * Builds a CharSet based on a textual description.  For the syntax of
@@ -79,7 +79,7 @@ class CharSet {
         // if "s" is in the expression cache, pull the result out
         // of the expresison cache
         if (expressionCache != null) {
-            result = (CharSet)expressionCache.get(s);
+            result = expressionCache.get(s);
         }
 
         // otherwise, use doParseString() to actually parse the string,
@@ -87,7 +87,7 @@ class CharSet {
         if (result == null) {
             result = doParseString(s);
             if (expressionCache == null) {
-                expressionCache = new Hashtable();
+                expressionCache = new Hashtable<>();
             }
             expressionCache.put(s, result);
         }
@@ -336,8 +336,8 @@ class CharSet {
      * Returns a copy of CharSet's expression cache and sets CharSet's
      * expression cache to empty.
      */
-    public static Hashtable releaseExpressionCache() {
-        Hashtable result = expressionCache;
+    public static Hashtable<String, CharSet> releaseExpressionCache() {
+        Hashtable<String, CharSet> result = expressionCache;
         expressionCache = null;
         return result;
     }
@@ -778,7 +778,7 @@ class CharSet {
      * An Enumeration that can be used to extract the character ranges
      * from a CharSet one at a time
      */
-    public class Enumeration implements java.util.Enumeration {
+    public class Enumeration implements java.util.Enumeration<int[]> {
         /**
          * Initializes a CharSet.Enumeration
          */
@@ -798,7 +798,7 @@ class CharSet {
         /**
          * Returns the next range in the CarSet
          */
-        public Object nextElement() {
+        public int[] nextElement() {
             int[] result = new int[2];
             result[0] = chars[p++];
             result[1] = chars[p++];
diff --git a/jdk/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java b/jdk/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java
index 2754006..0bf230c 100644
--- a/jdk/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java
+++ b/jdk/make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -78,12 +78,12 @@ class DictionaryBasedBreakIteratorBuilder extends RuleBasedBreakIteratorBuilder
      * contains "true" for every character category that includes a dictionary
      * character.
      */
-    protected void buildCharCategories(Vector tempRuleList) {
+    protected void buildCharCategories(Vector<String> tempRuleList) {
         super.buildCharCategories(tempRuleList);
 
         categoryFlags = new boolean[categories.size()];
         for (int i = 0; i < categories.size(); i++) {
-            CharSet cs = (CharSet)categories.elementAt(i);
+            CharSet cs = categories.elementAt(i);
             if (!(cs.intersection(dictionaryChars).empty())) {
                 categoryFlags[i] = true;
             }
@@ -95,7 +95,7 @@ class DictionaryBasedBreakIteratorBuilder extends RuleBasedBreakIteratorBuilder
     // the function above. This gives us a way to create a separate character
     // category for the dictionary characters even when
     // RuleBasedBreakIteratorBuilder isn't making a distinction.
-    protected void mungeExpressionList(Hashtable expressions) {
+    protected void mungeExpressionList(Hashtable<String, Object> expressions) {
         expressions.put(dictionaryExpression, dictionaryChars);
     }
 
diff --git a/jdk/make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java b/jdk/make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
index df652a7..a552e2d 100644
--- a/jdk/make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
+++ b/jdk/make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -91,9 +91,9 @@ public class GenerateBreakIteratorData {
         try {
             info = (ResourceBundle)Class.forName("sun.text.resources.BreakIteratorInfo" + localeName).newInstance();
 
-            Enumeration keys = info.getKeys();
+            Enumeration<String> keys = info.getKeys();
             while (keys.hasMoreElements()) {
-                String key = (String)keys.nextElement();
+                String key = keys.nextElement();
 
                 if (key.equals("CharacterData")) {
                     generateDataFile(info.getString(key),
diff --git a/jdk/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java b/jdk/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
index 9040b18..02b13ea 100644
--- a/jdk/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
+++ b/jdk/make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -110,13 +110,13 @@ class RuleBasedBreakIteratorBuilder {
      * A temporary holding place used for calculating the character categories.
      * This object contains CharSet objects.
      */
-    protected Vector categories = null;
+    protected Vector<CharSet> categories = null;
 
     /**
      * A table used to map parts of regexp text to lists of character
      * categories, rather than having to figure them out from scratch each time
      */
-    protected Hashtable expressions = null;
+    protected Hashtable<String, Object> expressions = null;
 
     /**
      * A temporary holding place for the list of ignore characters
@@ -126,32 +126,32 @@ class RuleBasedBreakIteratorBuilder {
     /**
      * A temporary holding place where the forward state table is built
      */
-    protected Vector tempStateTable = null;
+    protected Vector<short[]> tempStateTable = null;
 
     /**
      * A list of all the states that have to be filled in with transitions to
      * the next state that is created.  Used when building the state table from
      * the regular expressions.
      */
-    protected Vector decisionPointList = null;
+    protected Vector<Integer> decisionPointList = null;
 
     /**
      * A stack for holding decision point lists.  This is used to handle nested
      * parentheses and braces in regexps.
      */
-    protected Stack decisionPointStack = null;
+    protected Stack<Vector<Integer>> decisionPointStack = null;
 
     /**
      * A list of states that loop back on themselves.  Used to handle .*?
      */
-    protected Vector loopingStates = null;
+    protected Vector<Integer> loopingStates = null;
 
     /**
      * Looping states actually have to be backfilled later in the process
      * than everything else.  This is where a the list of states to backfill
      * is accumulated.  This is also used to handle .*?
      */
-    protected Vector statesToBackfill = null;
+    protected Vector<Integer> statesToBackfill = null;
 
     /**
      * A list mapping pairs of state numbers for states that are to be combined
@@ -159,7 +159,7 @@ class RuleBasedBreakIteratorBuilder {
      * in the process of making the state table deterministic to prevent
      * infinite recursion.
      */
-    protected Vector mergeList = null;
+    protected Vector<int[]> mergeList = null;
 
     /**
      * A flag that is used to indicate when the list of looping states can
@@ -198,7 +198,7 @@ class RuleBasedBreakIteratorBuilder {
      * just vectors different parts of the job off to other functions.
      */
     public RuleBasedBreakIteratorBuilder(String description) {
-        Vector tempRuleList = buildRuleList(description);
+        Vector<String> tempRuleList = buildRuleList(description);
         buildCharCategories(tempRuleList);
         buildStateTable(tempRuleList);
         buildBackwardsStateTable(tempRuleList);
@@ -213,7 +213,7 @@ class RuleBasedBreakIteratorBuilder {
      * variable names)
      * </ul>
      */
-    private Vector buildRuleList(String description) {
+    private Vector<String> buildRuleList(String description) {
         // invariants:
         // - parentheses must be balanced: ()[]{}<>
         // - nothing can be nested inside <>
@@ -240,8 +240,8 @@ class RuleBasedBreakIteratorBuilder {
         // set up a vector to contain the broken-up description (each entry in the
         // vector is a separate rule) and a stack for keeping track of opening
         // punctuation
-        Vector tempRuleList = new Vector();
-        Stack parenStack = new Stack();
+        Vector<String> tempRuleList = new Vector<>();
+        Stack<Character> parenStack = new Stack<>();
 
         int p = 0;
         int ruleStart = 0;
@@ -326,7 +326,7 @@ class RuleBasedBreakIteratorBuilder {
                     }
                     parenStack.pop();
                     if (!parenStack.empty()) {
-                        lastOpen = ((Character)(parenStack.peek())).charValue();
+                        lastOpen = parenStack.peek().charValue();
                     }
                     else {
                         lastOpen = '\u0000';
@@ -552,7 +552,8 @@ class RuleBasedBreakIteratorBuilder {
      * character category numbers everywhere a literal character or a [] expression
      * originally occurred.
      */
-    protected void buildCharCategories(Vector tempRuleList) {
+    @SuppressWarnings("fallthrough")
+    protected void buildCharCategories(Vector<String> tempRuleList) {
         int bracketLevel = 0;
         int p = 0;
         int lineNum = 0;
@@ -560,9 +561,9 @@ class RuleBasedBreakIteratorBuilder {
         // build hash table of every literal character or [] expression in the rule list
         // and use CharSet.parseString() to derive a CharSet object representing the
         // characters each refers to
-        expressions = new Hashtable();
+        expressions = new Hashtable<>();
         while (lineNum < tempRuleList.size()) {
-            String line = (String)(tempRuleList.elementAt(lineNum));
+            String line = tempRuleList.elementAt(lineNum);
             p = 0;
             while (p < line.length()) {
                 int c = line.codePointAt(p);
@@ -618,7 +619,7 @@ class RuleBasedBreakIteratorBuilder {
         CharSet.releaseExpressionCache();
 
         // create the temporary category table (which is a vector of CharSet objects)
-        categories = new Vector();
+        categories = new Vector<>();
         if (ignoreChars != null) {
             categories.addElement(ignoreChars);
         }
@@ -643,8 +644,7 @@ class RuleBasedBreakIteratorBuilder {
         // At no time should a character ever occur in more than one character category.
 
         // for each expression in the expressions list, do...
-        Enumeration iter = expressions.elements();
-        while (iter.hasMoreElements()) {
+        for (Enumeration<Object> iter = expressions.elements(); iter.hasMoreElements(); ) {
             // initialize the working char set to the chars in the current expression
             CharSet e = (CharSet)iter.nextElement();
 
@@ -653,7 +653,7 @@ class RuleBasedBreakIteratorBuilder {
 
                 // if there's overlap between the current working set of chars
                 // and the current category...
-                CharSet that = (CharSet)(categories.elementAt(j));
+                CharSet that = categories.elementAt(j);
                 if (!that.intersection(e).empty()) {
 
                     // add a new category for the characters that were in the
@@ -686,9 +686,9 @@ class RuleBasedBreakIteratorBuilder {
         // up in some other category
         CharSet allChars = new CharSet();
         for (int i = 1; i < categories.size(); i++) {
-            allChars = allChars.union((CharSet)(categories.elementAt(i)));
+            allChars = allChars.union(categories.elementAt(i));
         }
-        CharSet ignoreChars = (CharSet)(categories.elementAt(0));
+        CharSet ignoreChars = categories.elementAt(0);
         ignoreChars = ignoreChars.difference(allChars);
         categories.setElementAt(ignoreChars, 0);
 
@@ -697,9 +697,9 @@ class RuleBasedBreakIteratorBuilder {
         // character categories that expression refers to.  The String is encoded: each
         // character is a character category number (plus 0x100 to avoid confusing them
         // with syntax characters in the rule grammar)
-        iter = expressions.keys();
-        while (iter.hasMoreElements()) {
-            String key = (String)iter.nextElement();
+
+        for (Enumeration<String> iter = expressions.keys(); iter.hasMoreElements(); ) {
+            String key = iter.nextElement();
             CharSet cs = (CharSet)expressions.get(key);
             StringBuffer cats = new StringBuffer();
 
@@ -707,7 +707,7 @@ class RuleBasedBreakIteratorBuilder {
             for (int j = 0; j < categories.size(); j++) {
 
                 // if the current expression contains characters in that category...
-                CharSet temp = cs.intersection((CharSet)(categories.elementAt(j)));
+                CharSet temp = cs.intersection(categories.elementAt(j));
                 if (!temp.empty()) {
 
                     // then add the encoded category number to the String for this
@@ -732,12 +732,12 @@ class RuleBasedBreakIteratorBuilder {
 
         // for each category...
         for (int i = 0; i < categories.size(); i++) {
-            CharSet chars = (CharSet)(categories.elementAt(i));
+            CharSet chars = categories.elementAt(i);
 
             // go through the character ranges in the category one by one...
-            Enumeration enum_ = chars.getChars();
+            Enumeration<int[]> enum_ = chars.getChars();
             while (enum_.hasMoreElements()) {
-                int[] range = (int[])(enum_.nextElement());
+                int[] range = enum_.nextElement();
 
                 // and set the corresponding elements in the CompactArray accordingly
                 if (i != 0) {
@@ -782,7 +782,7 @@ class RuleBasedBreakIteratorBuilder {
         numCategories = categories.size();
     }
 
-    protected void mungeExpressionList(Hashtable expressions) {
+    protected void mungeExpressionList(Hashtable<String, Object> expressions) {
         // empty in the parent class.  This function provides a hook for subclasses
         // to mess with the character category table.
     }
@@ -792,19 +792,19 @@ class RuleBasedBreakIteratorBuilder {
      * work is done in parseRule(), which is called once for each rule in the
      * description.
      */
-    private void buildStateTable(Vector tempRuleList) {
+    private void buildStateTable(Vector<String> tempRuleList) {
         // initialize our temporary state table, and fill it with two states:
         // state 0 is a dummy state that allows state 1 to be the starting state
         // and 0 to represent "stop".  State 1 is added here to seed things
         // before we start parsing
-        tempStateTable = new Vector();
+        tempStateTable = new Vector<>();
         tempStateTable.addElement(new short[numCategories + 1]);
         tempStateTable.addElement(new short[numCategories + 1]);
 
         // call parseRule() for every rule in the rule list (except those which
         // start with !, which are actually backwards-iteration rules)
         for (int i = 0; i < tempRuleList.size(); i++) {
-            String rule = (String)tempRuleList.elementAt(i);
+            String rule = tempRuleList.elementAt(i);
             if (rule.charAt(0) != '!') {
                 parseRule(rule, true);
             }
@@ -891,10 +891,10 @@ class RuleBasedBreakIteratorBuilder {
         int lastState = currentState;
         String pendingChars = "";
 
-        decisionPointStack = new Stack();
-        decisionPointList = new Vector();
-        loopingStates = new Vector();
-        statesToBackfill = new Vector();
+        decisionPointStack = new Stack<>();
+        decisionPointList = new Vector<>();
+        loopingStates = new Vector<>();
+        statesToBackfill = new Vector<>();
 
         short[] state;
         boolean sawEarlyBreak = false;
@@ -972,8 +972,8 @@ class RuleBasedBreakIteratorBuilder {
 
                 // if the character we're on is a period, we end up down here
                 else {
-                    int rowNum = ((Integer)decisionPointList.lastElement()).intValue();
-                    state = (short[])tempStateTable.elementAt(rowNum);
+                    int rowNum = decisionPointList.lastElement().intValue();
+                    state = tempStateTable.elementAt(rowNum);
 
                     // if the period is followed by an asterisk, then just set the current
                     // state to loop back on itself
@@ -1001,7 +1001,9 @@ class RuleBasedBreakIteratorBuilder {
                     // of the current desicion point list onto the stack (this is
                     // the same thing we do on an opening brace)
                     if (p + 1 < rule.length() && rule.charAt(p + 1) == '*') {
-                        decisionPointStack.push(decisionPointList.clone());
+                        @SuppressWarnings("unchecked")
+                        Vector<Integer> clone = (Vector<Integer>)decisionPointList.clone();
+                        decisionPointStack.push(clone);
                     }
 
                     // create a new state, add it to the list of states to backfill
@@ -1040,7 +1042,9 @@ class RuleBasedBreakIteratorBuilder {
             // it, preventing it from being affected by whatever's inside the parentheses.
             // This decision point list is restored when a } is encountered.
             else if (c == '{') {
-                decisionPointStack.push(decisionPointList.clone());
+                @SuppressWarnings("unchecked")
+                Vector<Integer> clone = (Vector<Integer>)decisionPointList.clone();
+                decisionPointStack.push(clone);
             }
 
             // a } marks the end of an optional run of characters.  Pop the last decision
@@ -1053,7 +1057,7 @@ class RuleBasedBreakIteratorBuilder {
                 // on the character categories that caused us to enter this state
                 if (c == '*') {
                     for (int i = lastState + 1; i < tempStateTable.size(); i++) {
-                        Vector temp = new Vector();
+                        Vector<Integer> temp = new Vector<>();
                         temp.addElement(new Integer(i));
                         updateStateTable(temp, pendingChars, (short)(lastState + 1));
                     }
@@ -1063,7 +1067,7 @@ class RuleBasedBreakIteratorBuilder {
                 // it with the current decision point list (this causes the divergent
                 // paths through the state table to come together again on the next
                 // new state)
-                Vector temp = (Vector)decisionPointStack.pop();
+                Vector<Integer> temp = decisionPointStack.pop();
                 for (int i = 0; i < decisionPointList.size(); i++)
                     temp.addElement(decisionPointList.elementAt(i));
                 decisionPointList = temp;
@@ -1123,8 +1127,10 @@ class RuleBasedBreakIteratorBuilder {
                 // stack (this keeps track of the active decision point list before
                 // the () expression), followed by an empty decision point list
                 // (this will hold the exit points)
-                decisionPointStack.push(decisionPointList.clone());
-                decisionPointStack.push(new Vector());
+                @SuppressWarnings("unchecked")
+                Vector<Integer> clone = (Vector<Integer>)decisionPointList.clone();
+                decisionPointStack.push(clone);
+                decisionPointStack.push(new Vector<Integer>());
             }
 
             // a | separates alternative character sequences in a () expression.  When
@@ -1133,8 +1139,8 @@ class RuleBasedBreakIteratorBuilder {
             else if (c == '|') {
 
                 // pick out the top two decision point lists on the stack
-                Vector oneDown = (Vector)decisionPointStack.pop();
-                Vector twoDown = (Vector)decisionPointStack.peek();
+                Vector<Integer> oneDown = decisionPointStack.pop();
+                Vector<Integer> twoDown = decisionPointStack.peek();
                 decisionPointStack.push(oneDown);
 
                 // append the current decision point list to the list below it
@@ -1142,7 +1148,9 @@ class RuleBasedBreakIteratorBuilder {
                 // current decision point list to its state before the () expression
                 for (int i = 0; i < decisionPointList.size(); i++)
                     oneDown.addElement(decisionPointList.elementAt(i));
-                decisionPointList = (Vector)twoDown.clone();
+                @SuppressWarnings("unchecked")
+                Vector<Integer> clone = (Vector<Integer>)twoDown.clone();
+                decisionPointList = clone;
             }
 
             // a ) marks the end of a sequence of characters.  We do one of two things
@@ -1160,7 +1168,7 @@ class RuleBasedBreakIteratorBuilder {
                 // pull the exit point list off the stack, merge it with the current
                 // decision point list, and make the merged version the current
                 // decision point list
-                Vector exitPoints = (Vector)decisionPointStack.pop();
+                Vector<Integer> exitPoints = decisionPointStack.pop();
                 for (int i = 0; i < decisionPointList.size(); i++)
                     exitPoints.addElement(decisionPointList.elementAt(i));
                 decisionPointList = exitPoints;
@@ -1176,16 +1184,18 @@ class RuleBasedBreakIteratorBuilder {
 
                     // now exitPoints and decisionPointList have to point to equivalent
                     // vectors, but not the SAME vector
-                    exitPoints = (Vector)decisionPointList.clone();
+                    @SuppressWarnings("unchecked")
+                    Vector<Integer> clone = (Vector<Integer>)decisionPointList.clone();
+                    exitPoints = clone;
 
                     // pop the original decision point list off the stack
-                    Vector temp = (Vector)decisionPointStack.pop();
+                    Vector<Integer> temp = decisionPointStack.pop();
 
                     // we squirreled away the row number of our entry point list
                     // at the beginning of the original decision point list.  Fish
                     // that state number out and retrieve the entry point list
-                    int tempStateNum = ((Integer)temp.firstElement()).intValue();
-                    short[] tempState = (short[])tempStateTable.elementAt(tempStateNum);
+                    int tempStateNum = temp.firstElement().intValue();
+                    short[] tempState = tempStateTable.elementAt(tempStateNum);
 
                     // merge the original decision point list with the current
                     // decision point list
@@ -1217,8 +1227,8 @@ class RuleBasedBreakIteratorBuilder {
             else if (c == '/') {
                 sawEarlyBreak = true;
                 for (int i = 0; i < decisionPointList.size(); i++) {
-                    state = (short[])tempStateTable.elementAt(((Integer)decisionPointList.
-                                    elementAt(i)).intValue());
+                    state = tempStateTable.elementAt(decisionPointList.
+                                    elementAt(i).intValue());
                     state[numCategories] |= LOOKAHEAD_STATE_FLAG;
                 }
             }
@@ -1261,8 +1271,8 @@ class RuleBasedBreakIteratorBuilder {
         // signals that these states cause the break position to be updated to the
         // position of the slash rather than the current break position.
         for (int i = 0; i < decisionPointList.size(); i++) {
-            int rowNum = ((Integer)decisionPointList.elementAt(i)).intValue();
-            state = (short[])tempStateTable.elementAt(rowNum);
+            int rowNum = decisionPointList.elementAt(i).intValue();
+            state = tempStateTable.elementAt(rowNum);
             state[numCategories] |= END_STATE_FLAG;
             if (sawEarlyBreak) {
                 state[numCategories] |= LOOKAHEAD_STATE_FLAG;
@@ -1279,7 +1289,7 @@ class RuleBasedBreakIteratorBuilder {
      * list of the columns that need updating.
      * @param newValue Update the cells specfied above to contain this value
      */
-    private void updateStateTable(Vector rows,
+    private void updateStateTable(Vector<Integer> rows,
                                   String pendingChars,
                                   short newValue) {
         // create a dummy state that has the specified row number (newValue) in
@@ -1292,7 +1302,7 @@ class RuleBasedBreakIteratorBuilder {
         // go through the list of rows to update, and update them by calling
         // mergeStates() to merge them the the dummy state we created
         for (int i = 0; i < rows.size(); i++) {
-            mergeStates(((Integer)rows.elementAt(i)).intValue(), newValues, rows);
+            mergeStates(rows.elementAt(i).intValue(), newValues, rows);
         }
     }
 
@@ -1318,8 +1328,8 @@ class RuleBasedBreakIteratorBuilder {
      */
     private void mergeStates(int rowNum,
                              short[] newValues,
-                             Vector rowsBeingUpdated) {
-        short[] oldValues = (short[])(tempStateTable.elementAt(rowNum));
+                             Vector<Integer> rowsBeingUpdated) {
+        short[] oldValues = tempStateTable.elementAt(rowNum);
         boolean isLoopingState = loopingStates.contains(new Integer(rowNum));
 
         // for each of the cells in the rows we're reconciling, do...
@@ -1375,7 +1385,7 @@ class RuleBasedBreakIteratorBuilder {
                     // add this pair of row numbers to the merge list (create it first
                     // if we haven't created the merge list yet)
                     if (mergeList == null) {
-                        mergeList = new Vector();
+                        mergeList = new Vector<>();
                     }
                     mergeList.addElement(new int[] { oldRowNum, newRowNum, combinedRowNum });
 
@@ -1384,7 +1394,7 @@ class RuleBasedBreakIteratorBuilder {
                     // state table and update the original row (oldValues) to point
                     // to the new, merged, state
                     short[] newRow = new short[numCategories + 1];
-                    short[] oldRow = (short[])(tempStateTable.elementAt(oldRowNum));
+                    short[] oldRow = tempStateTable.elementAt(oldRowNum);
                     System.arraycopy(oldRow, 0, newRow, 0, numCategories + 1);
                     tempStateTable.addElement(newRow);
                     oldValues[i] = (short)combinedRowNum;
@@ -1408,7 +1418,7 @@ class RuleBasedBreakIteratorBuilder {
                     // now (groan) do the same thing for all the entries on the
                     // decision point stack
                     for (int k = 0; k < decisionPointStack.size(); k++) {
-                        Vector dpl = (Vector)decisionPointStack.elementAt(k);
+                        Vector<Integer> dpl = decisionPointStack.elementAt(k);
                         if ((dpl.contains(new Integer(oldRowNum))
                                 || dpl.contains(new Integer(newRowNum)))
                             && !dpl.contains(new Integer(combinedRowNum))
@@ -1420,8 +1430,8 @@ class RuleBasedBreakIteratorBuilder {
                     // FINALLY (puff puff puff), call mergeStates() recursively to copy
                     // the row referred to by newValues into the new row and resolve any
                     // conflicts that come up at that level
-                    mergeStates(combinedRowNum, (short[])(tempStateTable.elementAt(
-                                    newValues[i])), rowsBeingUpdated);
+                    mergeStates(combinedRowNum, tempStateTable.elementAt(
+                                    newValues[i]), rowsBeingUpdated);
                 }
             }
         }
@@ -1445,7 +1455,7 @@ class RuleBasedBreakIteratorBuilder {
         else {
             int[] entry;
             for (int i = 0; i < mergeList.size(); i++) {
-                entry = (int[])(mergeList.elementAt(i));
+                entry = mergeList.elementAt(i);
 
                 // we have a hit if the two row numbers match the two row numbers
                 // in the beginning of the entry (the two that combine), in either
@@ -1477,20 +1487,21 @@ class RuleBasedBreakIteratorBuilder {
      * @param endStates The list of states to treat as end states (states that
      * can exit the loop).
      */
-    private void setLoopingStates(Vector newLoopingStates, Vector endStates) {
+    private void setLoopingStates(Vector<Integer> newLoopingStates,
+                                  Vector<Integer> endStates) {
 
         // if the current list of looping states isn't empty, we have to backfill
         // values from the looping states into the states that are waiting to be
         // backfilled
         if (!loopingStates.isEmpty()) {
-            int loopingState = ((Integer)loopingStates.lastElement()).intValue();
+            int loopingState = loopingStates.lastElement().intValue();
             int rowNum;
 
             // don't backfill into an end state OR any state reachable from an end state
             // (since the search for reachable states is recursive, it's split out into
             // a separate function, eliminateBackfillStates(), below)
             for (int i = 0; i < endStates.size(); i++) {
-                eliminateBackfillStates(((Integer)endStates.elementAt(i)).intValue());
+                eliminateBackfillStates(endStates.elementAt(i).intValue());
             }
 
             // we DON'T actually backfill the states that need to be backfilled here.
@@ -1501,8 +1512,8 @@ class RuleBasedBreakIteratorBuilder {
             // for backfilling by putting the row number of the state to copy from
             // into the flag cell at the end of the row
             for (int i = 0; i < statesToBackfill.size(); i++) {
-                rowNum = ((Integer)statesToBackfill.elementAt(i)).intValue();
-                short[] state = (short[])tempStateTable.elementAt(rowNum);
+                rowNum = statesToBackfill.elementAt(i).intValue();
+                short[] state = tempStateTable.elementAt(rowNum);
                 state[numCategories] =
                     (short)((state[numCategories] & ALL_FLAGS) | loopingState);
             }
@@ -1511,7 +1522,9 @@ class RuleBasedBreakIteratorBuilder {
         }
 
         if (newLoopingStates != null) {
-            loopingStates = (Vector)newLoopingStates.clone();
+            @SuppressWarnings("unchecked")
+            Vector<Integer> clone = (Vector<Integer>)newLoopingStates.clone();
+            loopingStates = clone;
         }
     }
 
@@ -1530,7 +1543,7 @@ class RuleBasedBreakIteratorBuilder {
 
             // then go through and recursively call this function for every
             // state that the base state points to
-            short[] state = (short[])tempStateTable.elementAt(baseState);
+            short[] state = tempStateTable.elementAt(baseState);
             for (int i = 0; i < numCategories; i++) {
                 if (state[i] != 0) {
                     eliminateBackfillStates(state[i]);
@@ -1551,7 +1564,7 @@ class RuleBasedBreakIteratorBuilder {
 
         // for each state in the state table...
         for (int i = 0; i < tempStateTable.size(); i++) {
-            state = (short[])tempStateTable.elementAt(i);
+            state = tempStateTable.elementAt(i);
 
             // check the state's flag word to see if it's marked for backfilling
             // (it's marked for backfilling if any bits other than the two high-order
@@ -1563,7 +1576,7 @@ class RuleBasedBreakIteratorBuilder {
                 // load up the state to copy from (if we haven't already)
                 if (fromState != loopingStateRowNum) {
                     loopingStateRowNum = fromState;
-                    loopingState = (short[])tempStateTable.elementAt(loopingStateRowNum);
+                    loopingState = tempStateTable.elementAt(loopingStateRowNum);
                 }
 
                 // clear out the backfill part of the flag word
@@ -1594,7 +1607,7 @@ class RuleBasedBreakIteratorBuilder {
         backfillLoopingStates();
 
         int[] rowNumMap = new int[tempStateTable.size()];
-        Stack rowsToFollow = new Stack();
+        Stack<Integer> rowsToFollow = new Stack<>();
         rowsToFollow.push(new Integer(1));
         rowNumMap[1] = 1;
 
@@ -1602,8 +1615,8 @@ class RuleBasedBreakIteratorBuilder {
         // (the reachable states will have their row numbers in the row number
         // map, and the nonreachable states will have zero in the row number map)
         while (rowsToFollow.size() != 0) {
-            int rowNum = ((Integer)rowsToFollow.pop()).intValue();
-            short[] row = (short[])(tempStateTable.elementAt(rowNum));
+            int rowNum = rowsToFollow.pop().intValue();
+            short[] row = tempStateTable.elementAt(rowNum);
 
             for (int i = 0; i < numCategories; i++) {
                 if (row[i] != 0) {
@@ -1632,7 +1645,7 @@ class RuleBasedBreakIteratorBuilder {
             if (rowNumMap[i] == 0) {
                 continue;
             }
-            state1 = (short[])tempStateTable.elementAt(i);
+            state1 = tempStateTable.elementAt(i);
             for (int j = 0; j < numCategories; j++) {
                 if (state1[j] != 0) {
                     ++stateClasses[i];
@@ -1663,10 +1676,10 @@ class RuleBasedBreakIteratorBuilder {
                 for (int i = 0; i < stateClasses.length; i++) {
                     if (stateClasses[i] == currentClass) {
                         if (state1 == null) {
-                            state1 = (short[])tempStateTable.elementAt(i);
+                            state1 = tempStateTable.elementAt(i);
                         }
                         else {
-                            state2 = (short[])tempStateTable.elementAt(i);
+                            state2 = tempStateTable.elementAt(i);
                             for (int j = 0; j < state2.length; j++) {
                                 if ((j == numCategories && state1[j] != state2[j] && forward)
                                         || (j != numCategories && stateClasses[state1[j]]
@@ -1733,7 +1746,7 @@ class RuleBasedBreakIteratorBuilder {
             int p = 0;
             int p2 = 0;
             for (int i = 0; i < tempStateTable.size(); i++) {
-                short[] row = (short[])(tempStateTable.elementAt(i));
+                short[] row = tempStateTable.elementAt(i);
                 if (row == null) {
                     continue;
                 }
@@ -1752,7 +1765,7 @@ class RuleBasedBreakIteratorBuilder {
             backwardsStateTable = new short[newRowNum * numCategories];
             int p = 0;
             for (int i = 0; i < tempStateTable.size(); i++) {
-                short[] row = (short[])(tempStateTable.elementAt(i));
+                short[] row = tempStateTable.elementAt(i);
                 if (row == null) {
                     continue;
                 }
@@ -1769,12 +1782,12 @@ class RuleBasedBreakIteratorBuilder {
      * table and any additional rules (identified by the ! on the front)
      * supplied in the description
      */
-    private void buildBackwardsStateTable(Vector tempRuleList) {
+    private void buildBackwardsStateTable(Vector<String> tempRuleList) {
 
         // create the temporary state table and seed it with two rows (row 0
         // isn't used for anything, and we have to create row 1 (the initial
         // state) before we can do anything else
-        tempStateTable = new Vector();
+        tempStateTable = new Vector<>();
         tempStateTable.addElement(new short[numCategories + 1]);
         tempStateTable.addElement(new short[numCategories + 1]);
 
@@ -1786,7 +1799,7 @@ class RuleBasedBreakIteratorBuilder {
         // the same syntax as the normal break rules, but begin with '!' to distinguish
         // them from normal break rules
         for (int i = 0; i < tempRuleList.size(); i++) {
-            String rule = (String)tempRuleList.elementAt(i);
+            String rule = tempRuleList.elementAt(i);
             if (rule.charAt(0) == '!') {
                 parseRule(rule.substring(1), false);
             }
@@ -1831,7 +1844,7 @@ class RuleBasedBreakIteratorBuilder {
         for (int i = 0; i < numCategories + 1; i++)
             tempStateTable.addElement(new short[numCategories + 1]);
 
-        short[] state = (short[])tempStateTable.elementAt(backTableOffset - 1);
+        short[] state = tempStateTable.elementAt(backTableOffset - 1);
         for (int i = 0; i < numCategories; i++)
             state[i] = (short)(i + backTableOffset);
 
@@ -1855,7 +1868,7 @@ class RuleBasedBreakIteratorBuilder {
                     for (int nextColumn = 0; nextColumn < numCategories; nextColumn++) {
                         int cellValue = lookupState(nextRow, nextColumn);
                         if (cellValue != 0) {
-                            state = (short[])tempStateTable.elementAt(nextColumn +
+                            state = tempStateTable.elementAt(nextColumn +
                                             backTableOffset);
                             state[column] = (short)(column + backTableOffset);
                         }
@@ -1876,9 +1889,9 @@ class RuleBasedBreakIteratorBuilder {
             // populated that is also populated in row 1 of the rule-based
             // sub-table, copy the value from row 1 over the value in the
             // auto-generated sub-table
-            state = (short[])tempStateTable.elementAt(1);
+            state = tempStateTable.elementAt(1);
             for (int i = backTableOffset - 1; i < tempStateTable.size(); i++) {
-                short[] state2 = (short[])tempStateTable.elementAt(i);
+                short[] state2 = tempStateTable.elementAt(i);
                 for (int j = 0; j < numCategories; j++) {
                     if (state[j] != 0 && state2[j] != 0) {
                         state2[j] = state[j];
@@ -1890,9 +1903,9 @@ class RuleBasedBreakIteratorBuilder {
             // an end state, fill in all unpopulated cells with the values
             // of the corresponding cells in the first row of the auto-
             // generated sub-table.
-            state = (short[])tempStateTable.elementAt(backTableOffset - 1);
+            state = tempStateTable.elementAt(backTableOffset - 1);
             for (int i = 1; i < backTableOffset - 1; i++) {
-                short[] state2 = (short[])tempStateTable.elementAt(i);
+                short[] state2 = tempStateTable.elementAt(i);
                 if ((state2[numCategories] & END_STATE_FLAG) == 0) {
                     for (int j = 0; j < numCategories; j++) {
                         if (state2[j] == 0) {
diff --git a/jdk/make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java b/jdk/make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java
index 3501119..e9c585f 100644
--- a/jdk/make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java
+++ b/jdk/make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -128,7 +128,7 @@ final class SupplementaryCharacterData {
         int new_index = 0;
         int loop_count = dataCount - 1;
         long data = tempTable[old_index];
-        int start = (int)((long)(data>>32)) & CODEPOINT_MASK;
+        int start = (int)(data>>32) & CODEPOINT_MASK;
         int end   = (int)(data>>8) & CODEPOINT_MASK;
 
         /*
@@ -142,7 +142,7 @@ final class SupplementaryCharacterData {
         newTempTable[new_index++] = composeEntry(start, (int)data);
         for (int i = 0; i < loop_count; i++) {
             data = tempTable[++old_index];
-            int nextStart = (int)((long)(data>>32)) & CODEPOINT_MASK;
+            int nextStart = (int)(data>>32) & CODEPOINT_MASK;
 
             /*
              * If the previous end code point is not equal to the previous start
diff --git a/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java b/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java
index 2f7828b..6ae5c5e 100644
--- a/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java
+++ b/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1290,7 +1290,7 @@ OUTER:  for (int i = 0; i < n; i += m) {
                     else if (bits == 32 || bits < 8)
                         result.append(hex8((int)val));
                     else {
-                        result.append(hex16((long)val));
+                        result.append(hex16(val));
                         if (!Csyntax)
                             result.append("L");
                     }
diff --git a/jdk/make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java b/jdk/make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java
index 0493175..c96d04d 100644
--- a/jdk/make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java
+++ b/jdk/make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,7 @@ import java.lang.*;
  * <p>
  * @author John O'Conner
  */
-public class SpecialCaseMap implements Comparable {
+public class SpecialCaseMap implements Comparable<SpecialCaseMap> {
 
     SpecialCaseMap() {
         chSource = 0xFFFF;
@@ -55,7 +55,7 @@ public class SpecialCaseMap implements Comparable {
      */
 
     public static SpecialCaseMap[] readSpecFile(File file, int plane) throws FileNotFoundException {
-        ArrayList caseMaps = new ArrayList(150);
+        ArrayList<SpecialCaseMap> caseMaps = new ArrayList<>(150);
         int count = 0;
         BufferedReader f = new BufferedReader(new FileReader(file));
                 String line = null;
@@ -69,7 +69,7 @@ public class SpecialCaseMap implements Comparable {
                 SpecialCaseMap item = parse(line.trim());
                 if (item != null) {
                                 if(item.getCharSource() >> 16 < plane) continue;
-                                if((int)(item.getCharSource() >> 16) > plane) break;
+                                if(item.getCharSource() >> 16 > plane) break;
                                 caseMaps.add(item);
                 ++count;
             }
@@ -83,7 +83,7 @@ public class SpecialCaseMap implements Comparable {
 
     }
 
-    /**
+   /**
     * Given one line of a Unicode special casing data file as a String, parse the line
     * and return a SpecialCaseMap object that contains the case mapping.
     *
@@ -177,25 +177,25 @@ public class SpecialCaseMap implements Comparable {
         else return -1;
     }
 
-        /*
+    /*
      * Extracts and returns the high surrogate value from a UTF-32 code point.
      * If argument is a BMP character, then it is converted to a char and returned;
      * otherwise the high surrogate value is extracted.
      * @param codePoint a UTF-32 codePoint with value greater than 0xFFFF.
      * @return the high surrogate value that helps create <code>codePoint</code>; else
      *         the char representation of <code>codePoint</code> if it is a BMP character.
-         * @since 1.5
+     * @since 1.5
      */
-        static char getHighSurrogate(int codePoint) {
-                char high = (char)codePoint;
-                if (codePoint > 0xFFFF) {
-                    high = (char)((codePoint - 0x10000)/0x0400 + 0xD800);
-                }
-                return high;
+    static char getHighSurrogate(int codePoint) {
+        char high = (char)codePoint;
+        if (codePoint > 0xFFFF) {
+            high = (char)((codePoint - 0x10000)/0x0400 + 0xD800);
         }
+        return high;
+    }
 
 
-        /*
+    /*
      * Extracts and returns the low surrogate value from a UTF-32 code point.
      * If argument is a BMP character, then it is converted to a char and returned;
      * otherwise the high surrogate value is extracted.
@@ -204,29 +204,28 @@ public class SpecialCaseMap implements Comparable {
      *         the char representation of <code>codePoint</code> if it is a BMP character.
      * @since 1.5
      */
-        static char getLowSurrogate(int codePoint) {
-                char low = (char)codePoint;
-                if(codePoint > 0xFFFF) {
-                        low = (char)((codePoint - 0x10000)%0x0400 + 0xDC00);
-                }
-                return low;
+    static char getLowSurrogate(int codePoint) {
+        char low = (char)codePoint;
+        if(codePoint > 0xFFFF) {
+                low = (char)((codePoint - 0x10000)%0x0400 + 0xDC00);
         }
+        return low;
+    }
 
-        static String hex6(int n) {
-                String str = Integer.toHexString(n & 0xFFFFFF).toUpperCase();
-                return "000000".substring(Math.min(6, str.length())) + str;
-
-        }
+    static String hex6(int n) {
+        String str = Integer.toHexString(n & 0xFFFFFF).toUpperCase();
+        return "000000".substring(Math.min(6, str.length())) + str;
+    }
 
-        static String hex6(char[] map){
-                StringBuffer buff = new StringBuffer();
-                int x=0;
-                buff.append(hex6(map[x++]));
-                while(x<map.length) {
-                        buff.append(" " + hex6(map[x++]));
-                }
-                return buff.toString();
+    static String hex6(char[] map){
+        StringBuffer buff = new StringBuffer();
+        int x=0;
+        buff.append(hex6(map[x++]));
+        while(x<map.length) {
+            buff.append(" " + hex6(map[x++]));
         }
+        return buff.toString();
+    }
 
     void setCharSource(int ch) {
         chSource = ch;
@@ -302,56 +301,62 @@ public class SpecialCaseMap implements Comparable {
     static String CONTEXT_MODERN = "MODERN";
     static String CONTEXT_NONMODERN = "NON_MODERN";
 
-    public int compareTo(Object otherObject) {
-                SpecialCaseMap other = (SpecialCaseMap)otherObject;
-        if (chSource < other.chSource) {
+    public int compareTo(SpecialCaseMap otherObject) {
+        if (chSource < otherObject.chSource) {
             return -1;
         }
-        else if (chSource > other.chSource) {
+        else if (chSource > otherObject.chSource) {
             return 1;
         }
         else return 0;
     }
 
     public boolean equals(Object o1) {
-                boolean bEqual = false;
-                if (0 == compareTo(o1)) {
-                        bEqual = true;
-                }
+        if (this == o1) {
+            return true;
+        }
+        if (o1 == null || !(o1 instanceof SpecialCaseMap)) {
+            return false;
+        }
+        SpecialCaseMap other = (SpecialCaseMap)o1;
+        boolean bEqual = false;
+        if (0 == compareTo(other)) {
+            bEqual = true;
+        }
         return bEqual;
     }
 
-        public String toString() {
-                StringBuffer buff = new StringBuffer();
-                buff.append(hex6(getCharSource()));
-                buff.append("|" + hex6(lowerCaseMap));
-                buff.append("|" + hex6(upperCaseMap));
-                buff.append("|" + hex6(titleCaseMap));
-                buff.append("|" + context);
-                return buff.toString();
-        }
+    public String toString() {
+        StringBuffer buff = new StringBuffer();
+        buff.append(hex6(getCharSource()));
+        buff.append("|" + hex6(lowerCaseMap));
+        buff.append("|" + hex6(upperCaseMap));
+        buff.append("|" + hex6(titleCaseMap));
+        buff.append("|" + context);
+        return buff.toString();
+    }
 
-        public int hashCode() {
-                return (int)chSource;
-        }
+    public int hashCode() {
+        return chSource;
+    }
 
-        public static void main(String[] args) {
-                SpecialCaseMap[] spec = null;
-                if (args.length == 2 ) {
-                        try {
-                                File file = new File(args[0]);
-                                int plane = Integer.parseInt(args[1]);
-                                spec = SpecialCaseMap.readSpecFile(file, plane);
-                                System.out.println("SpecialCaseMap[" + spec.length + "]:");
-                                for (int x=0; x<spec.length; x++) {
-                                        System.out.println(spec[x].toString());
-                                }
-                        }
-                        catch(Exception e) {
-                                e.printStackTrace();
-                        }
+    public static void main(String[] args) {
+        SpecialCaseMap[] spec = null;
+        if (args.length == 2 ) {
+            try {
+                File file = new File(args[0]);
+                int plane = Integer.parseInt(args[1]);
+                spec = SpecialCaseMap.readSpecFile(file, plane);
+                System.out.println("SpecialCaseMap[" + spec.length + "]:");
+                for (int x=0; x<spec.length; x++) {
+                    System.out.println(spec[x].toString());
                 }
-
+            }
+            catch(Exception e) {
+                e.printStackTrace();
+            }
         }
 
+    }
+
 }
diff --git a/jdk/make/tools/src/build/tools/generatecharacter/UnicodeSpec.java b/jdk/make/tools/src/build/tools/generatecharacter/UnicodeSpec.java
index 7d85fca..2993fc9 100644
--- a/jdk/make/tools/src/build/tools/generatecharacter/UnicodeSpec.java
+++ b/jdk/make/tools/src/build/tools/generatecharacter/UnicodeSpec.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -391,31 +391,31 @@ public class UnicodeSpec {
     */
 
     public static UnicodeSpec[] readSpecFile(File file, int plane) throws FileNotFoundException {
-                ArrayList list = new ArrayList(3000);
+        ArrayList<UnicodeSpec> list = new ArrayList<>(3000);
         UnicodeSpec[] result = null;
         int count = 0;
         BufferedReader f = new BufferedReader(new FileReader(file));
-                String line = null;
+        String line = null;
         loop:
         while(true) {
             try {
                 line = f.readLine();
             }
             catch (IOException e) {
-                                break loop;
-                        }
+                break loop;
+            }
             if (line == null) break loop;
             UnicodeSpec item = parse(line.trim());
-                        int specPlane = (int)(item.getCodePoint() >>> 16);
-                        if (specPlane < plane) continue;
-                        if (specPlane > plane) break;
+            int specPlane = item.getCodePoint() >>> 16;
+            if (specPlane < plane) continue;
+            if (specPlane > plane) break;
 
             if (item != null) {
-                                list.add(item);
+                list.add(item);
             }
         }
-                result = new UnicodeSpec[list.size()];
-                list.toArray(result);
+        result = new UnicodeSpec[list.size()];
+        list.toArray(result);
         return result;
     }
 
diff --git a/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java b/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
index c05f1ba..3c6aebf 100644
--- a/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
+++ b/jdk/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -250,10 +250,10 @@ public class GenerateCurrencyData {
         return Integer.parseInt(numericCode);
     }
 
-    static HashMap specialCaseMap = new HashMap();
+    static HashMap<String, Integer> specialCaseMap = new HashMap<>();
 
     private static int makeSpecialCaseEntry(String currencyInfo) throws Exception {
-        Integer oldEntry = (Integer) specialCaseMap.get(currencyInfo);
+        Integer oldEntry = specialCaseMap.get(currencyInfo);
         if (oldEntry != null) {
             return oldEntry.intValue();
         }
diff --git a/jdk/make/tools/src/build/tools/hasher/Hasher.java b/jdk/make/tools/src/build/tools/hasher/Hasher.java
index 1e2b418..bf04197 100644
--- a/jdk/make/tools/src/build/tools/hasher/Hasher.java
+++ b/jdk/make/tools/src/build/tools/hasher/Hasher.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -51,15 +51,15 @@ public class Hasher {
 
     boolean verbose = false;
 
-    List keys = new ArrayList();        // Key strings
-    List values = new ArrayList();      // Value expressions
-    String pkg = null;                  // Package prefix for generated class
-    String cln = null;                  // Name of generated class
-    String vtype = "String";            // Value type
-    int maxBits = 11;                   // lg table size
-    int maxDepth = 3;                   // Max chain depth
-    boolean inner = false;              // Generating an inner class?
-    boolean empty = false;              // Generating an empty table?
+    List<String> keys = new ArrayList<>();      // Key strings
+    List<String> values = new ArrayList<>();    // Value expressions
+    String pkg = null;                          // Package prefix for generated class
+    String cln = null;                          // Name of generated class
+    String vtype = "String";                    // Value type
+    int maxBits = 11;                           // lg table size
+    int maxDepth = 3;                           // Max chain depth
+    boolean inner = false;                      // Generating an inner class?
+    boolean empty = false;                      // Generating an empty table?
 
     void usage() {
         err.println("usage: java Hasher [options] [[pkgName.]ClassName]");
@@ -76,9 +76,9 @@ public class Hasher {
     }
 
     Hasher(String[] args) {
-        List as = Arrays.asList(args);
-        for (Iterator i = as.iterator(); i.hasNext();) {
-            String a = (String)i.next();
+        List<String> as = Arrays.asList(args);
+        for (Iterator<String> i = as.iterator(); i.hasNext();) {
+            String a = i.next();
             if (a.equals("-e")) {
                 empty = true;
             } else if (a.equals("-i")) {
@@ -88,15 +88,15 @@ public class Hasher {
             } else if (a.equals("-md")) {
                 if (!i.hasNext())
                     usage();
-                maxDepth = Integer.parseInt((String)i.next());
+                maxDepth = Integer.parseInt(i.next());
             } else if (a.equals("-mb")) {
                 if (!i.hasNext())
                     usage();
-                maxBits = Integer.parseInt((String)i.next());
+                maxBits = Integer.parseInt(i.next());
             } else if (a.equals("-t")) {
                 if (!i.hasNext())
                     usage();
-                vtype = (String)i.next();
+                vtype = i.next();
             } else if (a.startsWith("-")) {
                 usage();
             } else {
@@ -153,8 +153,8 @@ public class Hasher {
         int nw = keys.size();
 
         for (int i = 0; i < nw; i++) {
-            String w = (String)keys.get(i);
-            String v = (String)values.get(i);
+            String w = keys.get(i);
+            String v = values.get(i);
             int h = hash(w);
             if (ht[h] == null)
                 ht[h] = new Object[] { w, v };
@@ -217,7 +217,7 @@ public class Hasher {
         if (verbose)
             err.println();
         for (int i = 0, n = keys.size(); i < n; i++) {
-            String w = (String)keys.get(i);
+            String w = keys.get(i);
             String v = get(w);
             if (verbose)
                 err.println(hash(w) + "\t" + w);
diff --git a/jdk/make/tools/src/build/tools/jarsplit/JarSplit.java b/jdk/make/tools/src/build/tools/jarsplit/JarSplit.java
index a9f91e8..4b3ece7 100644
--- a/jdk/make/tools/src/build/tools/jarsplit/JarSplit.java
+++ b/jdk/make/tools/src/build/tools/jarsplit/JarSplit.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,8 @@ public class JarSplit {
     /* classlist[0] contains class file list
      * classlist[1] contains non-class file list
      */
-    private static Vector<String>[] classlist = (Vector<String>[])(new Vector[2]);
+    @SuppressWarnings({ "unchecked", "rawtypes" })
+    private static Vector<String>[] classlist = new Vector[2];
 
     /* The 2 class list name passed as arguments. */
     private static String[] fileNamelist = new String[2];
diff --git a/jdk/make/tools/src/build/tools/javazic/Gen.java b/jdk/make/tools/src/build/tools/javazic/Gen.java
index d8078e4..8f3a8c5 100644
--- a/jdk/make/tools/src/build/tools/javazic/Gen.java
+++ b/jdk/make/tools/src/build/tools/javazic/Gen.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,14 +30,9 @@ import  java.io.File;
 import  java.io.FileOutputStream;
 import  java.io.DataOutputStream;
 import  java.io.RandomAccessFile;
-import  java.util.ArrayList;
-import  java.util.Iterator;
-import  java.util.LinkedList;
 import  java.util.List;
 import  java.util.Map;
 import  java.util.Set;
-import  java.util.TreeMap;
-import  java.util.TreeSet;
 import  sun.util.calendar.ZoneInfoFile;
 
 /**
@@ -105,14 +100,13 @@ class Gen extends BackEnd {
                     /* if DST offset is 0, this means DST isn't used.
                      * (NOT: offset's index is 0.)
                      */
-                    if ((dstoffset =
-                         ((Integer)dstOffsets.get(i)).intValue()) == -1) {
+                    if ((dstoffset = dstOffsets.get(i).intValue()) == -1) {
                         dstoffset = 0;
                     }
 
-                    dos.writeLong((((Long)transitions.get(i)).longValue() << 12)
+                    dos.writeLong((transitions.get(i).longValue() << 12)
                                   | (dstoffset << 4)
-                                  | ((Integer)offsets.get(i)).intValue());
+                                  | offsets.get(i).intValue());
 
                 }
 
diff --git a/jdk/make/tools/src/build/tools/javazic/GenDoc.java b/jdk/make/tools/src/build/tools/javazic/GenDoc.java
index d487ebd..c598b9b 100644
--- a/jdk/make/tools/src/build/tools/javazic/GenDoc.java
+++ b/jdk/make/tools/src/build/tools/javazic/GenDoc.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,12 +31,8 @@ import  java.io.File;
 import  java.io.FileReader;
 import  java.io.FileWriter;
 import  java.io.IOException;
-import  java.util.ArrayList;
-import  java.util.Calendar;
 import  java.util.Date;
 import  java.util.HashMap;
-import  java.util.Iterator;
-import  java.util.LinkedList;
 import  java.util.List;
 import  java.util.Map;
 import  java.util.Set;
@@ -189,7 +185,7 @@ class GenDoc extends BackEnd {
 
             out.write(header1 + new Date() + header3 + zonename + header4);
             out.write(body1 + "<FONT size=\"+2\"><B>" + zonename + "</B></FONT>");
-            LatitudeAndLongitude location = (LatitudeAndLongitude)mapList.get(zonename);
+            LatitudeAndLongitude location = mapList.get(zonename);
             if (location != null) {
                 int deg, min, sec;
 
@@ -608,12 +604,12 @@ class GenDoc extends BackEnd {
                        "<BR>\n\n" + "<TABLE BORDER=\"0\" WIDTH=\"100%\">\n" +
                        "<TR>\n<TD NOWRAP>\n");
 
-            Set aliasSet = a.keySet();
+            Set<String> aliasSet = a.keySet();
             len = aliasSet.size();
-            Object aliasNames[] = aliasSet.toArray();
+            String aliasNames[] = aliasSet.toArray(new String[0]);
             for (int i = 0; i < len; i++) {
-                displayNameList.put(transform((String)aliasNames[i]),
-                                    (String)aliasNames[i]);
+                displayNameList.put(transform(aliasNames[i]),
+                                    aliasNames[i]);
             }
 
             o = displayNameList.keySet().toArray();
diff --git a/jdk/make/tools/src/build/tools/javazic/Main.java b/jdk/make/tools/src/build/tools/javazic/Main.java
index 95ab91e..a91ab91 100644
--- a/jdk/make/tools/src/build/tools/javazic/Main.java
+++ b/jdk/make/tools/src/build/tools/javazic/Main.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,6 @@
 package build.tools.javazic;
 
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 /**
diff --git a/jdk/make/tools/src/build/tools/javazic/Mappings.java b/jdk/make/tools/src/build/tools/javazic/Mappings.java
index 8860220..954d3d5 100644
--- a/jdk/make/tools/src/build/tools/javazic/Mappings.java
+++ b/jdk/make/tools/src/build/tools/javazic/Mappings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,9 +26,6 @@
 package build.tools.javazic;
 
 import  java.util.ArrayList;
-import  java.util.HashMap;
-import  java.util.HashSet;
-import  java.util.Iterator;
 import  java.util.LinkedList;
 import  java.util.List;
 import  java.util.Map;
diff --git a/jdk/make/tools/src/build/tools/javazic/Simple.java b/jdk/make/tools/src/build/tools/javazic/Simple.java
index 773c616..69c7fe7 100644
--- a/jdk/make/tools/src/build/tools/javazic/Simple.java
+++ b/jdk/make/tools/src/build/tools/javazic/Simple.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,10 +29,7 @@ import  java.io.BufferedWriter;
 import  java.io.File;
 import  java.io.FileWriter;
 import  java.io.IOException;
-import  java.util.ArrayList;
 import  java.util.HashMap;
-import  java.util.Iterator;
-import  java.util.LinkedList;
 import  java.util.List;
 import  java.util.Map;
 import  java.util.Set;
@@ -51,22 +48,19 @@ class Simple extends BackEnd {
     /**
      * Zone records which are applied for given year.
      */
-    private static Map<String,ZoneRec> lastZoneRecs
-        = new HashMap<String,ZoneRec>();
+    private static Map<String,ZoneRec> lastZoneRecs = new HashMap<>();
 
     /**
      * Rule records which are applied for given year.
      */
-    private static Map<String,List<RuleRec>> lastRules
-        = new TreeMap<String,List<RuleRec>>();
+    private static Map<String,List<RuleRec>> lastRules = new TreeMap<>();
 
     /**
      * zone IDs sorted by their GMT offsets. If zone's GMT
      * offset will change in the future, its last known offset is
      * used.
      */
-    private SortedMap<Integer, Set<String>> zonesByOffset
-        = new TreeMap<Integer,  Set<String>>();
+    private SortedMap<Integer, Set<String>> zonesByOffset = new TreeMap<>();
 
     /**
      * Sets last Rule records and Zone records for given timezone to
@@ -86,7 +80,7 @@ class Simple extends BackEnd {
         int lastKnownOffset = tz.getRawOffset();
         Set<String> set = zonesByOffset.get(lastKnownOffset);
         if (set == null) {
-            set = new TreeSet<String>();
+            set = new TreeSet<>();
             zonesByOffset.put(lastKnownOffset, set);
         }
         set.add(zonename);
@@ -101,16 +95,11 @@ class Simple extends BackEnd {
      */
     int generateSrc(Mappings map) {
         try {
-            String outputDir = Main.getOutputDir();
-            File outD = new File(outputDir);
-
-            if (!outputDir.endsWith(File.separator)) {
-                outputDir += outD.separator;
-            }
+            File outD = new File(Main.getOutputDir());
             outD.mkdirs();
 
             FileWriter fw =
-                new FileWriter(outputDir + "TimeZoneData.java", false);
+                new FileWriter(new File(outD, "TimeZoneData.java"), false);
             BufferedWriter out = new BufferedWriter(fw);
 
             out.write("import java.util.SimpleTimeZone;\n\n");
diff --git a/jdk/make/tools/src/build/tools/javazic/Time.java b/jdk/make/tools/src/build/tools/javazic/Time.java
index 985682e..66458a0 100644
--- a/jdk/make/tools/src/build/tools/javazic/Time.java
+++ b/jdk/make/tools/src/build/tools/javazic/Time.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -268,16 +268,16 @@ class Time {
         if (index < time.length()) {
             char c = time.charAt(index++);
             if (c == 's') {
-                tm.setType(tm.STD);
+                tm.setType(Time.STD);
             } else if (c == 'u' || c == 'g' || c == 'z') {
-                tm.setType(tm.UTC);
+                tm.setType(Time.UTC);
             } else if (c == 'w') {
-                tm.setType(tm.WALL);
+                tm.setType(Time.WALL);
             } else {
                 Main.panic("unknown time mode: "+c);
             }
         } else {
-            tm.setType(tm.WALL);
+            tm.setType(Time.WALL);
         }
         return tm;
     }
diff --git a/jdk/make/tools/src/build/tools/javazic/Zoneinfo.java b/jdk/make/tools/src/build/tools/javazic/Zoneinfo.java
index 727fa72..5614a3c 100644
--- a/jdk/make/tools/src/build/tools/javazic/Zoneinfo.java
+++ b/jdk/make/tools/src/build/tools/javazic/Zoneinfo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,9 +29,7 @@ import java.io.BufferedReader;
 import java.io.FileReader;
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.StringTokenizer;
@@ -407,9 +405,9 @@ class Zoneinfo {
                 if (!zrec.hasUntil()) {
                     if (tz.getNTransitions() > 0) {
                         if (stdOffset == 0) {
-                            tz.setDSTType(tz.X_DST);
+                            tz.setDSTType(Timezone.X_DST);
                         } else {
-                            tz.setDSTType(tz.LAST_DST);
+                            tz.setDSTType(Timezone.LAST_DST);
                         }
                         long time = Time.getLocalTime(maxYear,
                                                       Month.JANUARY, 1, 0);
@@ -419,7 +417,7 @@ class Zoneinfo {
                                          tz.getDstOffsetIndex(stdOffset));
                         tz.addUsedRec(zrec);
                     } else {
-                        tz.setDSTType(tz.NO_DST);
+                        tz.setDSTType(Timezone.NO_DST);
                     }
                     break;
                 }
@@ -527,7 +525,7 @@ class Zoneinfo {
                         if (year == endYear && !zrec.hasUntil()) {
                             if (tz.getNTransitions() > 0) {
                                 // Assume that this Zone stopped DST
-                                tz.setDSTType(tz.X_DST);
+                                tz.setDSTType(Timezone.X_DST);
                                 long time = Time.getLocalTime(maxYear, Month.JANUARY,
                                                               1, 0);
                                 time -= zrec.getGmtOffset();
@@ -536,7 +534,7 @@ class Zoneinfo {
                                                  tz.getDstOffsetIndex(0));
                                 usedZone = true;
                             } else {
-                                tz.setDSTType(tz.NO_DST);
+                                tz.setDSTType(Timezone.NO_DST);
                             }
                         }
                     }
@@ -552,8 +550,8 @@ class Zoneinfo {
             }
         }
 
-        if (tz.getDSTType() == tz.UNDEF_DST) {
-            tz.setDSTType(tz.DST);
+        if (tz.getDSTType() == Timezone.UNDEF_DST) {
+            tz.setDSTType(Timezone.DST);
         }
         tz.optimize();
         tz.checksum();
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java b/jdk/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java
index eaef0ef..f12e7a9 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,6 @@
 
 package build.tools.jdwpgen;
 
-import java.util.*;
 import java.io.*;
 
 class AbstractCommandNode extends AbstractNamedNode {
@@ -35,8 +34,8 @@ class AbstractCommandNode extends AbstractNamedNode {
                        " Command</a> (" + nameNode.value() + ")</h5>");
         writer.println(comment());
         writer.println("<dl>");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            ((Node)it.next()).document(writer);
+        for (Node node : components) {
+            node.document(writer);
         }
         writer.println("</dl>");
     }
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java b/jdk/make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java
index 872df76..83e8d43 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,14 +25,13 @@
 
 package build.tools.jdwpgen;
 
-import java.util.*;
 import java.io.*;
 
 abstract class AbstractGroupNode extends AbstractTypeListNode {
 
     void document(PrintWriter writer) {
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            ((Node)it.next()).document(writer);
+        for (Node node : components) {
+            node.document(writer);
         }
     }
 
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java b/jdk/make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java
index 4de00d8..b5ad7ac 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,10 +38,10 @@ abstract class AbstractNamedNode extends Node {
     }
 
     void prune() {
-        Iterator it = components.iterator();
+        Iterator<Node> it = components.iterator();
 
         if (it.hasNext()) {
-            Node nameNode = (Node)it.next();
+            Node nameNode = it.next();
 
             if (nameNode instanceof NameNode) {
                 this.nameNode = (NameNode)nameNode;
@@ -64,8 +64,8 @@ abstract class AbstractNamedNode extends Node {
     void document(PrintWriter writer) {
         writer.println("<h4><a name=" + name + ">" + name +
                        " Command Set</a></h4>");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            ((Node)it.next()).document(writer);
+        for (Node node : components) {
+            node.document(writer);
         }
     }
 
@@ -90,8 +90,8 @@ abstract class AbstractNamedNode extends Node {
         writer.print("class " + javaClassName());
         writer.println(javaClassImplements() + " {");
         genJavaClassSpecifics(writer, depth+1);
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            ((Node)it.next()).genJava(writer, depth+1);
+        for (Node node : components) {
+            node.genJava(writer, depth+1);
         }
         indent(writer, depth);
         writer.println("}");
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java b/jdk/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java
index 7dc6770..b9d9907 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -40,7 +40,7 @@ abstract class AbstractTypeListNode extends AbstractNamedNode {
 
     void document(PrintWriter writer) {
         writer.println("<dt>" + name() + " Data");
-        if (components.size() == 0) {
+        if (components.isEmpty()) {
             writer.println("<dd>(None)");
         } else {
             writer.println("<dd><table border=1 cellpadding=3 cellspacing=0 width=\"90%\" summary=\"\"><tr>");
@@ -49,24 +49,24 @@ abstract class AbstractTypeListNode extends AbstractNamedNode {
             }
             writer.println("<th width=\"15%\"><th width=\"65%\">");
             writer.println("");
-            for (Iterator it = components.iterator(); it.hasNext();) {
-                ((Node)it.next()).document(writer);
+            for (Node node : components) {
+                node.document(writer);
             }
             writer.println("</table>");
         }
     }
 
     void genJavaClassBodyComponents(PrintWriter writer, int depth) {
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            TypeNode tn = (TypeNode)it.next();
+        for (Node node : components) {
+            TypeNode tn = (TypeNode)node;
 
             tn.genJavaDeclaration(writer, depth);
         }
     }
 
     void genJavaReads(PrintWriter writer, int depth) {
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            TypeNode tn = (TypeNode)it.next();
+        for (Node node : components) {
+            TypeNode tn = (TypeNode)node;
             tn.genJavaRead(writer, depth, tn.name());
         }
     }
@@ -88,7 +88,7 @@ abstract class AbstractTypeListNode extends AbstractNamedNode {
 
     String javaParams() {
         StringBuffer sb = new StringBuffer();
-        for (Iterator it = components.iterator(); it.hasNext();) {
+        for (Iterator<Node> it = components.iterator(); it.hasNext();) {
             TypeNode tn = (TypeNode)it.next();
             sb.append(tn.javaParam());
             if (it.hasNext()) {
@@ -99,8 +99,8 @@ abstract class AbstractTypeListNode extends AbstractNamedNode {
     }
 
     void genJavaWrites(PrintWriter writer, int depth) {
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            TypeNode tn = (TypeNode)it.next();
+        for (Node node : components) {
+            TypeNode tn = (TypeNode)node;
             tn.genJavaWrite(writer, depth, tn.name());
         }
     }
@@ -111,8 +111,8 @@ abstract class AbstractTypeListNode extends AbstractNamedNode {
         writer.println();
         indent(writer, depth);
         writer.println(className + "(" + javaParams() + ") {");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            TypeNode tn = (TypeNode)it.next();
+        for (Node node : components) {
+            TypeNode tn = (TypeNode)node;
             indent(writer, depth+1);
             writer.println("this." + tn.name() + " = " + tn.name() + ";");
         }
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/AltNode.java b/jdk/make/tools/src/build/tools/jdwpgen/AltNode.java
index 78843a2..d9dca77 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/AltNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/AltNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -100,7 +100,7 @@ class AltNode extends AbstractGroupNode implements TypeNode {
         indent(writer, depth+1);
         writer.print("return new " + select.name() + "(");
         writer.print("ALT_ID, new " + javaClassName() + "(");
-        for (Iterator it = components.iterator(); it.hasNext();) {
+        for (Iterator<Node> it = components.iterator(); it.hasNext();) {
             TypeNode tn = (TypeNode)it.next();
             writer.print(tn.name());
             if (it.hasNext()) {
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/CommandSetNode.java b/jdk/make/tools/src/build/tools/jdwpgen/CommandSetNode.java
index 7db81bd..6850aa3 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/CommandSetNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/CommandSetNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,6 @@
 
 package build.tools.jdwpgen;
 
-import java.util.*;
 import java.io.*;
 
 class CommandSetNode extends AbstractNamedNode {
@@ -43,8 +42,8 @@ class CommandSetNode extends AbstractNamedNode {
                        " Command Set</a> (" +
                        nameNode.value() + ")</h4>");
         writer.println(comment());
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            ((Node)it.next()).document(writer);
+        for (Node node : components) {
+            node.document(writer);
         }
     }
 
@@ -53,8 +52,8 @@ class CommandSetNode extends AbstractNamedNode {
         writer.println(name() + "</a> Command Set (" +
                        nameNode.value() + ")");
         writer.println("<ul>");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            ((Node)it.next()).documentIndex(writer);
+        for (Node node : components) {
+            node.documentIndex(writer);
         }
         writer.println("</ul>");
     }
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/ConstantSetNode.java b/jdk/make/tools/src/build/tools/jdwpgen/ConstantSetNode.java
index 6145bfd..ac3d4d9 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/ConstantSetNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/ConstantSetNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,14 +33,11 @@ class ConstantSetNode extends AbstractNamedNode {
     /**
      * The mapping between a constant and its value.
      */
-    protected static final Map<String, String> constantMap = new HashMap<String, String>();
+    protected static final Map<String, String> constantMap = new HashMap<>();
 
     void prune() {
-        List<Node> addons = new ArrayList<Node>();
+        List<Node> addons = new ArrayList<>();
 
-        for (Iterator it = components.iterator(); it.hasNext(); ) {
-            Node node = (Node)it.next();
-        }
         if (!addons.isEmpty()) {
             components.addAll(addons);
         }
@@ -63,8 +60,8 @@ class ConstantSetNode extends AbstractNamedNode {
         writer.println("<dd><table border=1 cellpadding=3 cellspacing=0 width=\"90%\" summary=\"\"><tr>");
         writer.println("<th width=\"20%\"><th width=\"5%\"><th width=\"65%\">");
         ConstantNode n;
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            n = ((ConstantNode)it.next());
+        for (Node node : components) {
+            n = (ConstantNode)node;
             writer.println("<a NAME=\"" + name + "_" + n.name + "\"></a>");
             n.document(writer);
         }
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/ErrorSetNode.java b/jdk/make/tools/src/build/tools/jdwpgen/ErrorSetNode.java
index 6e4396f..a997779 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/ErrorSetNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/ErrorSetNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,6 @@
 
 package build.tools.jdwpgen;
 
-import java.util.*;
 import java.io.*;
 
 class ErrorSetNode extends AbstractSimpleNode {
@@ -41,12 +40,12 @@ class ErrorSetNode extends AbstractSimpleNode {
     void document(PrintWriter writer) {
 
         writer.println("<dt>" + "Error Data");
-        if (components.size() == 0) {
+        if (components.isEmpty()) {
             writer.println("<dd>(None)");
         } else {
             writer.println("<dd><table border=1 cellpadding=3 cellspacing=0 width=\"90%\" summary=\"\">");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            ((Node)it.next()).document(writer);
+        for (Node node : components) {
+            node.document(writer);
         }
         writer.println("</table>");
         }
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/Node.java b/jdk/make/tools/src/build/tools/jdwpgen/Node.java
index 1ac9e32..fe46eb0 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/Node.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/Node.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@ abstract class Node {
     String kind;
     List<Node> components;
     int lineno;
-    List<String> commentList = new ArrayList<String>();
+    List<String> commentList = new ArrayList<>();
     Node parent = null;
     Context context = null;
 
@@ -50,8 +50,8 @@ abstract class Node {
     }
 
     void parentAndExtractComments() {
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            Node node = (Node)it.next();
+        for (Iterator<Node> it = components.iterator(); it.hasNext();) {
+            Node node = it.next();
             if (node instanceof CommentNode) {
                 it.remove();
                 commentList.add(((CommentNode)node).text());
@@ -63,16 +63,14 @@ abstract class Node {
     }
 
     void prune() {
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            Node node = (Node)it.next();
+        for (Node node : components) {
             node.prune();
         }
     }
 
     void constrain(Context ctx) {
         context = ctx;
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            Node node = (Node)it.next();
+        for (Node node : components) {
             constrainComponent(ctx, node);
         }
     }
@@ -109,9 +107,9 @@ abstract class Node {
         if (commentList.size() > 0) {
             indent(writer, depth);
             writer.println("/**");
-            for (Iterator it = commentList.iterator(); it.hasNext();) {
+            for (String comment : commentList) {
                 indent(writer, depth);
-                writer.println(" * " + (String)it.next());
+                writer.println(" * " + comment);
             }
             indent(writer, depth);
             writer.println(" */");
@@ -123,15 +121,13 @@ abstract class Node {
     }
 
     void genJava(PrintWriter writer, int depth) {
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            Node node = (Node)it.next();
+        for (Node node : components) {
             node.genJava(writer, depth);
         }
     }
 
     void genCInclude(PrintWriter writer) {
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            Node node = (Node)it.next();
+        for (Node node : components) {
             node.genCInclude(writer);
         }
     }
@@ -184,8 +180,7 @@ abstract class Node {
     }
 
     void genJavaPreDef(PrintWriter writer, int depth) {
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            Node node = (Node)it.next();
+        for (Node node : components) {
             node.genJavaPreDef(writer, depth);
         }
     }
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/OutNode.java b/jdk/make/tools/src/build/tools/jdwpgen/OutNode.java
index f711b25..1a0b426 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/OutNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/OutNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -48,8 +48,8 @@ class OutNode extends AbstractTypeListNode {
         indent(writer, depth);
         writer.print(
             "static " + cmdName + " process(VirtualMachineImpl vm");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            TypeNode tn = (TypeNode)it.next();
+        for (Node node : components) {
+            TypeNode tn = (TypeNode)node;
             writer.println(", ");
             indent(writer, depth+5);
             writer.print(tn.javaParam());
@@ -59,8 +59,8 @@ class OutNode extends AbstractTypeListNode {
         writer.println("throws JDWPException {");
         indent(writer, depth+1);
         writer.print("PacketStream ps = enqueueCommand(vm");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            TypeNode tn = (TypeNode)it.next();
+        for (Node node : components) {
+            TypeNode tn = (TypeNode)node;
             writer.print(", ");
             writer.print(tn.name());
         }
@@ -76,8 +76,8 @@ class OutNode extends AbstractTypeListNode {
         indent(writer, depth);
         writer.print(
             "static PacketStream enqueueCommand(VirtualMachineImpl vm");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            TypeNode tn = (TypeNode)it.next();
+        for (Node node : components) {
+            TypeNode tn = (TypeNode)node;
             writer.println(", ");
             indent(writer, depth+5);
             writer.print(tn.javaParam());
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/RootNode.java b/jdk/make/tools/src/build/tools/jdwpgen/RootNode.java
index 4388929..80ad655 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/RootNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/RootNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,11 +42,11 @@ class RootNode extends AbstractNamedNode {
     void document(PrintWriter writer) {
         writer.println("<html><head><title>" + comment() + "</title></head>");
         writer.println("<body bgcolor=\"white\">");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            ((Node)it.next()).documentIndex(writer);
+        for (Node node : components) {
+            node.documentIndex(writer);
         }
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            ((Node)it.next()).document(writer);
+        for (Node node : components) {
+            node.document(writer);
         }
         writer.println("</body></html>");
     }
diff --git a/jdk/make/tools/src/build/tools/jdwpgen/SelectNode.java b/jdk/make/tools/src/build/tools/jdwpgen/SelectNode.java
index ce660b4..506f33b 100644
--- a/jdk/make/tools/src/build/tools/jdwpgen/SelectNode.java
+++ b/jdk/make/tools/src/build/tools/jdwpgen/SelectNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 1999, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,10 +34,10 @@ class SelectNode extends AbstractGroupNode implements TypeNode {
 
     void prune() {
         super.prune();
-        Iterator it = components.iterator();
+        Iterator<Node> it = components.iterator();
 
         if (it.hasNext()) {
-            Node typeNode = (Node)it.next();
+            Node typeNode = it.next();
 
             if (typeNode instanceof ByteTypeNode ||
                       typeNode instanceof IntTypeNode) {
@@ -131,8 +131,8 @@ class SelectNode extends AbstractGroupNode implements TypeNode {
         typeNode.genJavaRead(writer, depth, typeNode.name());
         indent(writer, depth);
         writer.println("switch (" + typeNode.name() + ") {");
-        for (Iterator it = components.iterator(); it.hasNext();) {
-            AltNode alt = (AltNode)it.next();
+        for (Node node : components) {
+            AltNode alt = (AltNode)node;
             alt.genJavaReadsSelectCase(writer, depth+1, commonVar());
         }
         indent(writer, depth);
diff --git a/jdk/make/tools/src/build/tools/makeclasslist/MakeClasslist.java b/jdk/make/tools/src/build/tools/makeclasslist/MakeClasslist.java
index 3f985fd..d7d7b25 100644
--- a/jdk/make/tools/src/build/tools/makeclasslist/MakeClasslist.java
+++ b/jdk/make/tools/src/build/tools/makeclasslist/MakeClasslist.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -38,7 +38,7 @@ import java.util.jar.*;
 
 public class MakeClasslist {
   public static void main(String[] args) throws IOException {
-    List/*<String>*/ classes = new ArrayList();
+    List<String> classes = new ArrayList<>();
     String origJavaHome = System.getProperty("java.home");
     String javaHome     = origJavaHome.toLowerCase();
     if (javaHome.endsWith("jre")) {
@@ -84,10 +84,9 @@ public class MakeClasslist {
       }
     }
 
-    Set/*<String>*/  seenClasses = new HashSet();
+    Set<String> seenClasses = new HashSet<>();
 
-    for (Iterator iter = classes.iterator(); iter.hasNext(); ) {
-      String str = (String) iter.next();
+    for (String str : seenClasses) {
       if (seenClasses.add(str)) {
         System.out.println(str);
       }
@@ -109,13 +108,13 @@ public class MakeClasslist {
     // completePackage(seenClasses, rtJar, "java/lang");
   }
 
-  private static void completePackage(Set seenClasses,
+  private static void completePackage(Set<String> seenClasses,
                                       JarFile jar,
                                       String packageName) {
     int len = packageName.length();
-    Enumeration entries = jar.entries();
+    Enumeration<JarEntry> entries = jar.entries();
     while (entries.hasMoreElements()) {
-      JarEntry entry = (JarEntry) entries.nextElement();
+      JarEntry entry = entries.nextElement();
       String name = entry.getName();
       if (name.startsWith(packageName) &&
           name.endsWith(".class") &&
diff --git a/jdk/make/tools/src/build/tools/stripproperties/StripProperties.java b/jdk/make/tools/src/build/tools/stripproperties/StripProperties.java
index dcf7114..57563e2 100644
--- a/jdk/make/tools/src/build/tools/stripproperties/StripProperties.java
+++ b/jdk/make/tools/src/build/tools/stripproperties/StripProperties.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -246,7 +246,7 @@ public class StripProperties {
     throws IOException {
         BufferedWriter awriter;
         awriter = new BufferedWriter(new OutputStreamWriter(out, "8859_1"));
-        for (Enumeration e = properties.keys(); e.hasMoreElements();) {
+        for (Enumeration<Object> e = properties.keys(); e.hasMoreElements();) {
             String key = (String)e.nextElement();
             String val = (String)properties.get(key);
             key = saveConvert(key, true);
diff --git a/jdk/src/share/bin/jli_util.h b/jdk/src/share/bin/jli_util.h
index 7601e93..44a704e 100644
--- a/jdk/src/share/bin/jli_util.h
+++ b/jdk/src/share/bin/jli_util.h
@@ -27,6 +27,8 @@
 #define _JLI_UTIL_H
 
 #include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
 #include <jni.h>
 
 void *JLI_MemAlloc(size_t size);
@@ -58,6 +60,7 @@ int   JLI_StrCCmp(const char *s1, const char* s2);
 #define JLI_Snprintf                    _snprintf
 #else
 #include <unistd.h>
+#include <strings.h>
 #define JLI_StrCaseCmp(p1, p2)          strcasecmp((p1), (p2))
 #define JLI_StrNCaseCmp(p1, p2, p3)     strncasecmp((p1), (p2), (p3))
 #define JLI_Snprintf                    snprintf
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java
index 97df238..ada4992 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java
@@ -49,11 +49,11 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
 
     private FilterComboBoxModel filterComboBoxModel;
 
-    protected JList directoryList = null;
-    protected JList fileList = null;
+    protected JList<File> directoryList = null;
+    protected JList<File> fileList = null;
 
     protected JTextField pathField = null;
-    protected JComboBox filterComboBox = null;
+    protected JComboBox<FileFilter> filterComboBox = null;
     protected JTextField filenameTextField = null;
 
     private static final Dimension hstrut10 = new Dimension(10, 1);
@@ -337,7 +337,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
         align(l);
         leftPanel.add(l);
 
-        filterComboBox = new JComboBox() {
+        filterComboBox = new JComboBox<FileFilter>() {
             public Dimension getMaximumSize() {
                 Dimension d = super.getMaximumSize();
                 d.height = getPreferredSize().height;
@@ -557,7 +557,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
     }
 
     protected JScrollPane createFilesList() {
-        fileList = new JList();
+        fileList = new JList<File>();
 
         if(getFileChooser().isMultiSelectionEnabled()) {
             fileList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
@@ -576,7 +576,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
                 if (SwingUtilities.isLeftMouseButton(e) && !chooser.isMultiSelectionEnabled()) {
                     int index = SwingUtilities2.loc2IndexFileList(fileList, e.getPoint());
                     if (index >= 0) {
-                        File file = (File) fileList.getModel().getElementAt(index);
+                        File file = fileList.getModel().getElementAt(index);
                         setFileName(chooser.getName(file));
                     }
                 }
@@ -593,7 +593,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
     }
 
     protected JScrollPane createDirectoryList() {
-        directoryList = new JList();
+        directoryList = new JList<File>();
         align(directoryList);
 
         directoryList.setCellRenderer(new DirectoryCellRenderer());
@@ -658,7 +658,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
         }
     }
 
-    protected class MotifDirectoryListModel extends AbstractListModel implements ListDataListener {
+    protected class MotifDirectoryListModel extends AbstractListModel<File> implements ListDataListener {
         public MotifDirectoryListModel() {
             getModel().addListDataListener(this);
         }
@@ -667,7 +667,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
             return getModel().getDirectories().size();
         }
 
-        public Object getElementAt(int index) {
+        public File getElementAt(int index) {
             return getModel().getDirectories().elementAt(index);
         }
 
@@ -694,7 +694,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
 
     }
 
-    protected class MotifFileListModel extends AbstractListModel implements ListDataListener {
+    protected class MotifFileListModel extends AbstractListModel<File> implements ListDataListener {
         public MotifFileListModel() {
             getModel().addListDataListener(this);
         }
@@ -711,7 +711,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
             return getModel().getFiles().indexOf(o);
         }
 
-        public Object getElementAt(int index) {
+        public File getElementAt(int index) {
             return getModel().getFiles().elementAt(index);
         }
 
@@ -773,7 +773,8 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
     /**
      * Data model for a type-face selection combo-box.
      */
-    protected class FilterComboBoxModel extends AbstractListModel implements ComboBoxModel, PropertyChangeListener {
+    protected class FilterComboBoxModel extends AbstractListModel<FileFilter> implements ComboBoxModel<FileFilter>,
+            PropertyChangeListener {
         protected FileFilter[] filters;
         protected FilterComboBoxModel() {
             super();
@@ -826,7 +827,7 @@ public class MotifFileChooserUI extends BasicFileChooserUI {
             }
         }
 
-        public Object getElementAt(int index) {
+        public FileFilter getElementAt(int index) {
             if(index > getSize() - 1) {
                 // This shouldn't happen. Try to recover gracefully.
                 return getFileChooser().getFileFilter();
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java
index 4b61522..dec7d1b 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java
@@ -60,7 +60,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI {
     private JPanel centerPanel;
 
     private JLabel lookInLabel;
-    private JComboBox directoryComboBox;
+    private JComboBox<File> directoryComboBox;
     private DirectoryComboBoxModel directoryComboBoxModel;
     private ActionListener directoryComboBoxAction = new DirectoryComboBoxAction();
 
@@ -76,7 +76,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI {
     private JPanel buttonPanel;
     private JPanel bottomPanel;
 
-    private JComboBox filterComboBox;
+    private JComboBox<FileFilter> filterComboBox;
 
     private static final Dimension hstrut10 = new Dimension(10, 1);
 
@@ -245,7 +245,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI {
         topPanel.add(Box.createRigidArea(new Dimension(8,0)));
 
         // CurrentDir ComboBox
-        directoryComboBox = new JComboBox() {
+        directoryComboBox = new JComboBox<File>() {
             public Dimension getMinimumSize() {
                 Dimension d = super.getMinimumSize();
                 d.width = 60;
@@ -445,7 +445,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI {
 
         filterComboBoxModel = createFilterComboBoxModel();
         fc.addPropertyChangeListener(filterComboBoxModel);
-        filterComboBox = new JComboBox(filterComboBoxModel);
+        filterComboBox = new JComboBox<FileFilter>(filterComboBoxModel);
         ftl.setLabelFor(filterComboBox);
         filterComboBox.setRenderer(createFilterComboBoxRenderer());
         fileAndFilterPanel.add(filterComboBox);
@@ -1032,7 +1032,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI {
     /**
      * Data model for a type-face selection combo-box.
      */
-    protected class DirectoryComboBoxModel extends AbstractListModel implements ComboBoxModel {
+    protected class DirectoryComboBoxModel extends AbstractListModel<File> implements ComboBoxModel<File> {
         Vector<File> directories = new Vector<File>();
         int[] depths = null;
         File selectedDirectory = null;
@@ -1149,7 +1149,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI {
             return directories.size();
         }
 
-        public Object getElementAt(int index) {
+        public File getElementAt(int index) {
             return directories.elementAt(index);
         }
     }
@@ -1189,7 +1189,8 @@ public class WindowsFileChooserUI extends BasicFileChooserUI {
     /**
      * Data model for a type-face selection combo-box.
      */
-    protected class FilterComboBoxModel extends AbstractListModel implements ComboBoxModel, PropertyChangeListener {
+    protected class FilterComboBoxModel extends AbstractListModel<FileFilter> implements ComboBoxModel<FileFilter>,
+            PropertyChangeListener {
         protected FileFilter[] filters;
         protected FilterComboBoxModel() {
             super();
@@ -1242,7 +1243,7 @@ public class WindowsFileChooserUI extends BasicFileChooserUI {
             }
         }
 
-        public Object getElementAt(int index) {
+        public FileFilter getElementAt(int index) {
             if(index > getSize() - 1) {
                 // This shouldn't happen. Try to recover gracefully.
                 return getFileChooser().getFileFilter();
diff --git a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java
index 0b322a5..1fbc225 100644
--- a/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java
+++ b/jdk/src/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java
@@ -81,19 +81,22 @@ public class WindowsTreeUI extends BasicTreeUI {
             else {
                 Rectangle   beginRect = getPathBounds(tree, getPathForRow
                                                       (tree, beginRow));
-                Rectangle   testRect = beginRect;
-                int         beginY = beginRect.y;
-                int         maxY = beginY + visRect.height;
-
-                for(int counter = beginRow + 1; counter <= endRow; counter++) {
-                    testRect = getPathBounds(tree,
-                                             getPathForRow(tree, counter));
-                    if((testRect.y + testRect.height) > maxY)
-                        counter = endRow;
+                if (beginRect != null) {
+                    Rectangle   testRect = beginRect;
+                    int         beginY = beginRect.y;
+                    int         maxY = beginY + visRect.height;
+
+                    for(int counter = beginRow + 1; counter <= endRow; counter++) {
+                        testRect = getPathBounds(tree,
+                                                 getPathForRow(tree, counter));
+                        if(testRect != null && (testRect.y + testRect.height) > maxY) {
+                            counter = endRow;
+                        }
+                    }
+                    tree.scrollRectToVisible(new Rectangle(visRect.x, beginY, 1,
+                                                      testRect.y + testRect.height-
+                                                      beginY));
                 }
-                tree.scrollRectToVisible(new Rectangle(visRect.x, beginY, 1,
-                                                  testRect.y + testRect.height-
-                                                  beginY));
             }
         }
     }
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java
index f8d0e0c..164870e 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,7 @@ import static com.sun.java.util.jar.pack.Constants.*;
  * attribute layouts.
  * @author John Rose
  */
-class Attribute implements Comparable {
+class Attribute implements Comparable<Attribute> {
     // Attribute instance fields.
 
     Layout def;     // the name and format of this attr
@@ -99,8 +99,7 @@ class Attribute implements Comparable {
         return this == def.canon;
     }
 
-    public int compareTo(Object o) {
-        Attribute that = (Attribute) o;
+    public int compareTo(Attribute that) {
         return this.def.compareTo(that.def);
     }
 
@@ -447,7 +446,7 @@ class Attribute implements Comparable {
      *  and format.  The formats are specified in a "little language".
      */
     public static
-    class Layout implements Comparable {
+    class Layout implements Comparable<Layout> {
         int ctype;       // attribute context type, e.g., ATTR_CONTEXT_CODE
         String name;     // name of attribute
         boolean hasRefs; // this kind of attr contains CP refs?
@@ -540,8 +539,7 @@ class Attribute implements Comparable {
                     * 37 + layout.hashCode())
                     * 37 + ctype);
         }
-        public int compareTo(Object o) {
-            Layout that = (Layout) o;
+        public int compareTo(Layout that) {
             int r;
             r = this.name.compareTo(that.name);
             if (r != 0)  return r;
@@ -663,6 +661,8 @@ class Attribute implements Comparable {
 
     public static
     class FormatException extends IOException {
+        private static final long serialVersionUID = -2542243830788066513L;
+
         private int ctype;
         private String name;
         String layout;
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java
index 62378d2..8d472b9 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java
@@ -1704,7 +1704,7 @@ class BandStructure {
         for (int i = 0; i < ATTR_CONTEXT_LIMIT; i++) {
             assert(attrIndexLimit[i] == 0);
             attrIndexLimit[i] = 32;  // just for the sake of predefs.
-            attrDefs.set(i, new ArrayList<Attribute.Layout>(Collections.nCopies(
+            attrDefs.set(i, new ArrayList<>(Collections.nCopies(
                     attrIndexLimit[i], (Attribute.Layout)null)));
 
         }
@@ -1892,7 +1892,7 @@ class BandStructure {
         return testBit(archiveOptions, mask);
     }
 
-    protected List getPredefinedAttrs(int ctype) {
+    protected List<Attribute.Layout> getPredefinedAttrs(int ctype) {
         assert(attrIndexLimit[ctype] != 0);
         List<Attribute.Layout> res = new ArrayList<>(attrIndexLimit[ctype]);
         // Remove nulls and non-predefs.
@@ -2649,7 +2649,7 @@ class BandStructure {
 
     // Utilities for reallocating:
     protected static Object[] realloc(Object[] a, int len) {
-        java.lang.Class elt = a.getClass().getComponentType();
+        java.lang.Class<?> elt = a.getClass().getComponentType();
         Object[] na = (Object[]) java.lang.reflect.Array.newInstance(elt, len);
         System.arraycopy(a, 0, na, 0, Math.min(a.length, len));
         return na;
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java
index eef5d20..ce29f1f 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -52,7 +52,7 @@ class ClassReader {
     long inPos;
     DataInputStream in;
     Map<Attribute.Layout, Attribute> attrDefs;
-    Map attrCommands;
+    Map<Attribute.Layout, String> attrCommands;
     String unknownAttrCommand = "error";;
 
     ClassReader(Class cls, InputStream in) throws IOException {
@@ -82,7 +82,7 @@ class ClassReader {
         this.attrDefs = attrDefs;
     }
 
-    public void setAttrCommands(Map attrCommands) {
+    public void setAttrCommands(Map<Attribute.Layout, String> attrCommands) {
         this.attrCommands = attrCommands;
     }
 
@@ -348,8 +348,8 @@ class ClassReader {
             int length = readInt();
             // See if there is a special command that applies.
             if (attrCommands != null) {
-                Object lkey = Attribute.keyForLookup(ctype, name);
-                String cmd = (String) attrCommands.get(lkey);
+                Attribute.Layout lkey = Attribute.keyForLookup(ctype, name);
+                String cmd = attrCommands.get(lkey);
                 if (cmd != null) {
                     switch (cmd) {
                         case "pass":
@@ -483,6 +483,8 @@ class ClassReader {
     }
 
     static class ClassFormatException extends IOException {
+        private static final long serialVersionUID = -3564121733989501833L;
+
         public ClassFormatException(String message) {
             super(message);
         }
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java
index c8c5414..37424d1 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassWriter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,6 @@ import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
-import java.util.Iterator;
 import java.util.List;
 import static com.sun.java.util.jar.pack.Constants.*;
 /**
@@ -165,14 +164,13 @@ class ClassWriter {
     }
 
     void writeMembers(boolean doMethods) throws IOException {
-        List mems;
+        List<? extends Class.Member> mems;
         if (!doMethods)
             mems = cls.getFields();
         else
             mems = cls.getMethods();
         writeShort(mems.size());
-        for (Iterator i = mems.iterator(); i.hasNext(); ) {
-            Class.Member m = (Class.Member) i.next();
+        for (Class.Member m : mems) {
             writeMember(m, doMethods);
         }
     }
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/Code.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/Code.java
index 788eada..e84cdaa 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/Code.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/Code.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -125,7 +125,7 @@ class Code extends Attribute.Holder {
         return expandInstructionMap(getInsnMap());
     }
 
-    void addFixups(Collection moreFixups) {
+    void addFixups(Collection<Fixups.Fixup> moreFixups) {
         if (fixups == null) {
             fixups = new Fixups(bytes);
         }
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java
index 2f73b8e..29dcb83 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,7 +37,7 @@ import static com.sun.java.util.jar.pack.Constants.*;
  * varying degrees of length variability, and varying amounts of signed-ness.
  * @author John Rose
  */
-class Coding implements Comparable, CodingMethod, Histogram.BitMetric {
+class Coding implements Comparable<Coding>, CodingMethod, Histogram.BitMetric {
     /*
       Coding schema for single integers, parameterized by (B,H,S):
 
@@ -605,8 +605,7 @@ class Coding implements Comparable, CodingMethod, Histogram.BitMetric {
     public int byteMin(int b) { return byteMin[b-1]; }
     public int byteMax(int b) { return byteMax[b-1]; }
 
-    public int compareTo(Object x) {
-        Coding that = (Coding) x;
+    public int compareTo(Coding that) {
         int dkey = this.del - that.del;
         if (dkey == 0)
             dkey = this.B - that.B;
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
index 3b851ef..acade5b 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -72,7 +72,7 @@ class ConstantPool {
         return e;
     }
     /** Factory for literal constants (String, Integer, etc.). */
-    public static synchronized LiteralEntry getLiteralEntry(Comparable value) {
+    public static synchronized LiteralEntry getLiteralEntry(Comparable<?> value) {
         Map<Object, LiteralEntry> literalEntries = Utils.getLiteralEntries();
         LiteralEntry e = literalEntries.get(value);
         if (e == null) {
@@ -140,7 +140,7 @@ class ConstantPool {
 
     /** Entries in the constant pool. */
     public static abstract
-    class Entry implements Comparable {
+    class Entry implements Comparable<Object> {
         protected final byte tag;       // a CONSTANT_foo code
         protected int valueHash;        // cached hashCode
 
@@ -257,7 +257,7 @@ class ConstantPool {
             super(tag);
         }
 
-        public abstract Comparable literalValue();
+        public abstract Comparable<?> literalValue();
     }
 
     public static
@@ -280,15 +280,17 @@ class ConstantPool {
         public int compareTo(Object o) {
             int x = superCompareTo(o);
             if (x == 0) {
-                x = ((Comparable)value).compareTo(((NumberEntry)o).value);
+                @SuppressWarnings("unchecked")
+                Comparable<Number> compValue = (Comparable<Number>)value;
+                x = compValue.compareTo(((NumberEntry)o).value);
             }
             return x;
         }
         public Number numberValue() {
             return value;
         }
-        public Comparable literalValue() {
-            return (Comparable) value;
+        public Comparable<?> literalValue() {
+            return (Comparable<?>) value;
         }
         public String stringValue() {
             return value.toString();
@@ -319,7 +321,7 @@ class ConstantPool {
             }
             return x;
         }
-        public Comparable literalValue() {
+        public Comparable<?> literalValue() {
             return ref.stringValue();
         }
         public String stringValue() {
@@ -728,7 +730,7 @@ class ConstantPool {
 
     /** An Index is a mapping between CP entries and small integers. */
     public static final
-    class Index extends AbstractList {
+    class Index extends AbstractList<Entry> {
         protected String debugName;
         protected Entry[] cpMap;
         protected boolean flattenSigs;
@@ -758,7 +760,7 @@ class ConstantPool {
         public int size() {
             return cpMap.length;
         }
-        public Object get(int i) {
+        public Entry get(int i) {
             return cpMap[i];
         }
         public Entry getEntry(int i) {
@@ -803,13 +805,7 @@ class ConstantPool {
             assert(index >= 0);
             return index;
         }
-        public boolean contains(Object e) {
-            return findIndexOf((Entry)e) >= 0;
-        }
-        public int indexOf(Object e) {
-            return findIndexOf((Entry)e);
-        }
-        public int lastIndexOf(Object e) {
+        public int lastIndexOf(Entry e) {
             return indexOf(e);
         }
 
@@ -862,14 +858,14 @@ class ConstantPool {
                 indexValue[probe] = i;
             }
         }
-        public Object[] toArray(Object[] a) {
+        public Entry[] toArray(Entry[] a) {
             int sz = size();
             if (a.length < sz)  return super.toArray(a);
             System.arraycopy(cpMap, 0, a, 0, sz);
             if (a.length > sz)  a[sz] = null;
             return a;
         }
-        public Object[] toArray() {
+        public Entry[] toArray() {
             return toArray(new Entry[size()]);
         }
         public Object clone() {
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/Constants.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/Constants.java
index 2e4cb37..8dc6560 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/Constants.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/Constants.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -153,11 +153,11 @@ class Constants {
     public static final int NO_MODTIME = 0;  // null modtime value
 
     // some comstantly empty containers
-    public final static int[]    noInts = {};
-    public final static byte[]   noBytes = {};
-    public final static Object[] noValues = {};
-    public final static String[] noStrings = {};
-    public final static List     emptyList = Arrays.asList(noValues);
+    public final static int[]        noInts = {};
+    public final static byte[]       noBytes = {};
+    public final static Object[]     noValues = {};
+    public final static String[]     noStrings = {};
+    public final static List<Object> emptyList = Arrays.asList(noValues);
 
     // meta-coding
     public final static int
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java
index 15c5208..0c99351 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/Fixups.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -42,7 +42,7 @@ import java.util.Iterator;
  *
  * @author John Rose
  */
-final class Fixups extends AbstractCollection {
+final class Fixups extends AbstractCollection<Fixups.Fixup> {
     byte[] bytes;    // the subject of the relocations
     int head;        // desc locating first reloc
     int tail;        // desc locating last reloc
@@ -66,11 +66,11 @@ final class Fixups extends AbstractCollection {
         // If there are no bytes, all descs are kept in bigDescs.
         this((byte[])null);
     }
-    Fixups(byte[] bytes, Collection fixups) {
+    Fixups(byte[] bytes, Collection<Fixup> fixups) {
         this(bytes);
         addAll(fixups);
     }
-    Fixups(Collection fixups) {
+    Fixups(Collection<Fixup> fixups) {
         this((byte[])null);
         addAll(fixups);
     }
@@ -108,8 +108,7 @@ final class Fixups extends AbstractCollection {
     public void clear() {
         if (bytes != null) {
             // Clean the bytes:
-            for (Iterator i = iterator(); i.hasNext(); ) {
-                Fixup fx = (Fixup) i.next();
+            for (Fixup fx : this) {
                 //System.out.println("clean "+fx);
                 storeIndex(fx.location(), fx.format(), 0);
             }
@@ -124,15 +123,14 @@ final class Fixups extends AbstractCollection {
         return bytes;
     }
 
-    @SuppressWarnings("unchecked")
     public void setBytes(byte[] newBytes) {
         if (bytes == newBytes)  return;
-        ArrayList old = null;
-        assert((old = new ArrayList(this)) != null);
+        ArrayList<Fixup> old = null;
+        assert((old = new ArrayList<>(this)) != null);
         if (bytes == null || newBytes == null) {
             // One or the other representations is deficient.
             // Construct a checkpoint.
-            ArrayList save = new ArrayList(this);
+            ArrayList<Fixup> save = new ArrayList<>(this);
             clear();
             bytes = newBytes;
             addAll(save);
@@ -140,7 +138,7 @@ final class Fixups extends AbstractCollection {
             // assume newBytes is some sort of bitwise copy of the old bytes
             bytes = newBytes;
         }
-        assert(old.equals(new ArrayList(this)));
+        assert(old.equals(new ArrayList<>(this)));
     }
 
     static final int LOC_SHIFT = 1;
@@ -236,7 +234,7 @@ final class Fixups extends AbstractCollection {
 
     /** Simple and necessary tuple to present each fixup. */
     public static
-    class Fixup implements Comparable {
+    class Fixup implements Comparable<Fixup> {
         int desc;         // location and format of reloc
         Entry entry;      // which entry to plug into the bytes
         Fixup(int desc, Entry entry) {
@@ -254,9 +252,6 @@ final class Fixups extends AbstractCollection {
             // Ordering depends only on location.
             return this.location() - that.location();
         }
-        public int compareTo(Object that) {
-            return compareTo((Fixup)that);
-        }
         public boolean equals(Object x) {
             if (!(x instanceof Fixup))  return false;
             Fixup that = (Fixup) x;
@@ -268,13 +263,13 @@ final class Fixups extends AbstractCollection {
     }
 
     private
-    class Itr implements Iterator {
+    class Itr implements Iterator<Fixup> {
         int index = 0;               // index into entries
         int bigIndex = BIGSIZE+1;    // index into bigDescs
         int next = head;             // desc pointing to next fixup
         public boolean hasNext() { return index < size; }
         public void remove() { throw new UnsupportedOperationException(); }
-        public Object next() {
+        public Fixup next() {
             int thisIndex = index;
             return new Fixup(nextDesc(), entries[thisIndex]);
         }
@@ -298,7 +293,7 @@ final class Fixups extends AbstractCollection {
         }
     }
 
-    public Iterator iterator() {
+    public Iterator<Fixup> iterator() {
         return new Itr();
     }
     public void add(int location, int format, Entry entry) {
@@ -308,11 +303,8 @@ final class Fixups extends AbstractCollection {
         addDesc(f.desc, f.entry);
         return true;
     }
-    public boolean add(Object fixup) {
-        return add((Fixup) fixup);
-    }
-    @SuppressWarnings("unchecked")
-    public boolean addAll(Collection c) {
+
+    public boolean addAll(Collection<? extends Fixup> c) {
         if (c instanceof Fixups) {
             // Use knowledge of Itr structure to avoid building little structs.
             Fixups that = (Fixups) c;
@@ -453,8 +445,7 @@ final class Fixups extends AbstractCollection {
     void finishRefs(ConstantPool.Index ix) {
         if (isEmpty())
             return;
-        for (Iterator i = iterator(); i.hasNext(); ) {
-            Fixup fx = (Fixup) i.next();
+        for (Fixup fx : this) {
             int index = ix.indexOf(fx.entry);
             //System.out.println("finish "+fx+" = "+index);
             // Note that the iterator has already fetched the
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/Instruction.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/Instruction.java
index e0744e2..8d94768 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/Instruction.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/Instruction.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -657,6 +657,8 @@ class Instruction  {
         }
     }
     static class FormatException extends IOException {
+        private static final long serialVersionUID = 3175572275651367015L;
+
         FormatException(String message) {
             super(message);
         }
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
index 7339682..c097f9e 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java
@@ -292,7 +292,7 @@ class NativeUnpack {
         }
 
         ZipEntry z = new ZipEntry(name);
-        z.setTime( (long)mtime * 1000);
+        z.setTime(mtime * 1000);
 
         if (size == 0) {
             z.setMethod(ZipOutputStream.STORED);
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java
index 2a75f74..2abe545 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -188,7 +188,7 @@ class Package {
     }
 
     public final
-    class Class extends Attribute.Holder implements Comparable {
+    class Class extends Attribute.Holder implements Comparable<Class> {
         public Package getPackage() { return Package.this; }
 
         // Optional file characteristics and data source (a "class stub")
@@ -247,8 +247,7 @@ class Package {
         }
 
         // Note:  equals and hashCode are identity-based.
-        public int compareTo(Object o) {
-            Class that = (Class)o;
+        public int compareTo(Class that) {
             String n0 = this.getName();
             String n1 = that.getName();
             return n0.compareTo(n1);
@@ -488,7 +487,7 @@ class Package {
         }
 
         public abstract
-        class Member extends Attribute.Holder implements Comparable {
+        class Member extends Attribute.Holder implements Comparable<Member> {
             DescriptorEntry descriptor;
 
             protected Member(int flags, DescriptorEntry descriptor) {
@@ -549,7 +548,7 @@ class Package {
                 return descriptor.getLiteralTag();
             }
 
-            public int compareTo(Object o) {
+            public int compareTo(Member o) {
                 Field that = (Field)o;
                 return this.order - that.order;
             }
@@ -582,7 +581,7 @@ class Package {
             }
 
             // Sort methods in a canonical order (by type, then by name).
-            public int compareTo(Object o) {
+            public int compareTo(Member o) {
                 Method that = (Method)o;
                 return this.getDescriptor().compareTo(that.getDescriptor());
             }
@@ -608,11 +607,10 @@ class Package {
         public void trimToSize() {
             super.trimToSize();
             for (int isM = 0; isM <= 1; isM++) {
-                ArrayList members = (isM == 0) ? fields : methods;
+                ArrayList<? extends Member> members = (isM == 0) ? fields : methods;
                 if (members == null)  continue;
                 members.trimToSize();
-                for (Iterator i = members.iterator(); i.hasNext(); ) {
-                    Member m = (Member)i.next();
+                for (Member m : members) {
                     m.trimToSize();
                 }
             }
@@ -625,10 +623,9 @@ class Package {
             if ("InnerClass".equals(attrName))
                 innerClasses = null;
             for (int isM = 0; isM <= 1; isM++) {
-                ArrayList members = (isM == 0) ? fields : methods;
+                ArrayList<? extends Member> members = (isM == 0) ? fields : methods;
                 if (members == null)  continue;
-                for (Iterator i = members.iterator(); i.hasNext(); ) {
-                    Member m = (Member)i.next();
+                for (Member m : members) {
                     m.strip(attrName);
                 }
             }
@@ -641,10 +638,9 @@ class Package {
             refs.add(superClass);
             refs.addAll(Arrays.asList(interfaces));
             for (int isM = 0; isM <= 1; isM++) {
-                ArrayList members = (isM == 0) ? fields : methods;
+                ArrayList<? extends Member> members = (isM == 0) ? fields : methods;
                 if (members == null)  continue;
-                for (Iterator i = members.iterator(); i.hasNext(); ) {
-                    Member m = (Member)i.next();
+                for (Member m : members) {
                     boolean ok = false;
                     try {
                         m.visitRefs(mode, refs);
@@ -747,13 +743,13 @@ class Package {
         return classStubs;
     }
 
-    public final class File implements Comparable {
+    public final class File implements Comparable<File> {
         String nameString;  // true name of this file
         Utf8Entry name;
         int modtime = NO_MODTIME;
         int options = 0;  // random flag bits, such as deflate_hint
         Class stubClass;  // if this is a stub, here's the class
-        ArrayList prepend = new ArrayList();  // list of byte[]
+        ArrayList<byte[]> prepend = new ArrayList<>();  // list of byte[]
         java.io.ByteArrayOutputStream append = new ByteArrayOutputStream();
 
         File(Utf8Entry name) {
@@ -798,8 +794,7 @@ class Package {
             return nameString.hashCode();
         }
         // Simple alphabetic sort.  PackageWriter uses a better comparator.
-        public int compareTo(Object o) {
-            File that = (File)o;
+        public int compareTo(File that) {
             return this.nameString.compareTo(that.nameString);
         }
         public String toString() {
@@ -834,8 +829,7 @@ class Package {
         public long getFileLength() {
             long len = 0;
             if (prepend == null || append == null)  return 0;
-            for (Iterator i = prepend.iterator(); i.hasNext(); ) {
-                byte[] block = (byte[]) i.next();
+            for (byte[] block : prepend) {
                 len += block.length;
             }
             len += append.size();
@@ -843,8 +837,7 @@ class Package {
         }
         public void writeTo(OutputStream out) throws IOException {
             if (prepend == null || append == null)  return;
-            for (Iterator i = prepend.iterator(); i.hasNext(); ) {
-                byte[] block = (byte[]) i.next();
+            for (byte[] block : prepend) {
                 out.write(block);
             }
             append.writeTo(out);
@@ -860,8 +853,7 @@ class Package {
             InputStream in = new ByteArrayInputStream(append.toByteArray());
             if (prepend.isEmpty())  return in;
             List<InputStream> isa = new ArrayList<>(prepend.size()+1);
-            for (Iterator i = prepend.iterator(); i.hasNext(); ) {
-                byte[] bytes = (byte[]) i.next();
+            for (byte[] bytes : prepend) {
                 isa.add(new ByteArrayInputStream(bytes));
             }
             isa.add(in);
@@ -926,7 +918,7 @@ class Package {
     }
 
     static
-    class InnerClass implements Comparable {
+    class InnerClass implements Comparable<InnerClass> {
         final ClassEntry thisClass;
         final ClassEntry outerClass;
         final Utf8Entry name;
@@ -977,8 +969,7 @@ class Package {
         public int hashCode() {
             return thisClass.hashCode();
         }
-        public int compareTo(Object o) {
-            InnerClass that = (InnerClass)o;
+        public int compareTo(InnerClass that) {
             return this.thisClass.compareTo(that.thisClass);
         }
 
@@ -1108,7 +1099,7 @@ class Package {
         return ConstantPool.getUtf8Entry(s);
     }
 
-    static LiteralEntry getRefLiteral(Comparable s) {
+    static LiteralEntry getRefLiteral(Comparable<?> s) {
         return ConstantPool.getLiteralEntry(s);
     }
 
@@ -1199,7 +1190,6 @@ class Package {
     // compress better.  It also moves classes to the end of the
     // file order.  It also removes JAR directory entries, which
     // are useless.
-    @SuppressWarnings("unchecked")
     void reorderFiles(boolean keepClassOrder, boolean stripDirectories) {
         // First reorder the classes, if that is allowed.
         if (!keepClassOrder) {
@@ -1226,10 +1216,8 @@ class Package {
         // This keeps files of similar format near each other.
         // Put class files at the end, keeping their fixed order.
         // Be sure the JAR file's required manifest stays at the front. (4893051)
-        Collections.sort(files, new Comparator() {
-                public int compare(Object o0, Object o1) {
-                    File r0 = (File) o0;
-                    File r1 = (File) o1;
+        Collections.sort(files, new Comparator<File>() {
+                public int compare(File r0, File r1) {
                     // Get the file name.
                     String f0 = r0.nameString;
                     String f1 = r1.nameString;
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java
index be9b485..a6886b4 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java
@@ -750,7 +750,7 @@ class PackageReader extends BandStructure {
         file_options.readFrom(in);
         file_bits.setInputStreamFrom(in);
 
-        Iterator nextClass = pkg.getClasses().iterator();
+        Iterator<Class> nextClass = pkg.getClasses().iterator();
 
         // Compute file lengths before reading any file bits.
         long totalFileLength = 0;
@@ -790,14 +790,14 @@ class PackageReader extends BandStructure {
             pkg.addFile(file);
             if (file.isClassStub()) {
                 assert(file.getFileLength() == 0);
-                Class cls = (Class) nextClass.next();
+                Class cls = nextClass.next();
                 cls.initFile(file);
             }
         }
 
         // Do the rest of the classes.
         while (nextClass.hasNext()) {
-            Class cls = (Class) nextClass.next();
+            Class cls = nextClass.next();
             cls.initFile(null);  // implicitly initialize to a trivial one
             cls.file.modtime = pkg.default_modtime;
         }
@@ -1006,14 +1006,14 @@ class PackageReader extends BandStructure {
         if (k >= 0)
             return k;
         if (e.tag == CONSTANT_Utf8) {
-            Entry se = (Entry) utf8Signatures.get(e);
+            Entry se = utf8Signatures.get(e);
             return pkg.cp.untypedIndexOf(se);
         }
         return -1;
     }
 
     Comparator<Entry> entryOutputOrder = new Comparator<Entry>() {
-        public int compare(Entry  e0, Entry e1) {
+        public int compare(Entry e0, Entry e1) {
             int k0 = getOutputIndex(e0);
             int k1 = getOutputIndex(e1);
             if (k0 >= 0 && k1 >= 0)
@@ -1332,7 +1332,8 @@ class PackageReader extends BandStructure {
     // classes, fields, methods, and codes.
     // The holders is a global list, already collected,
     // of attribute "customers".
-    void countAndReadAttrs(int ctype, Collection holders) throws IOException {
+    void countAndReadAttrs(int ctype, Collection<? extends Attribute.Holder> holders)
+            throws IOException {
         //  class_attr_bands:
         //        *class_flags :UNSIGNED5
         //        *class_attr_count :UNSIGNED5
@@ -1386,7 +1387,8 @@ class PackageReader extends BandStructure {
 
     // Read flags and count the attributes that are to be placed
     // on the given holders.
-    void countAttrs(int ctype, Collection holders) throws IOException {
+    void countAttrs(int ctype, Collection<? extends Attribute.Holder> holders)
+            throws IOException {
         // Here, xxx stands for one of class, field, method, code.
         MultiBand xxx_attr_bands = attrBands[ctype];
         long flagMask = attrFlagMask[ctype];
@@ -1414,8 +1416,7 @@ class PackageReader extends BandStructure {
         xxx_flags_lo.expectLength(holders.size());
         xxx_flags_lo.readFrom(in);
         assert((flagMask & overflowMask) == overflowMask);
-        for (Iterator i = holders.iterator(); i.hasNext(); ) {
-            Attribute.Holder h = (Attribute.Holder) i.next();
+        for (Attribute.Holder h : holders) {
             int flags = xxx_flags_lo.getInt();
             h.flags = flags;
             if ((flags & overflowMask) != 0)
@@ -1433,8 +1434,7 @@ class PackageReader extends BandStructure {
         // (class/field/method/code), and also we accumulate (b) a total
         // count for each attribute type.
         int[] totalCounts = new int[defs.length];
-        for (Iterator i = holders.iterator(); i.hasNext(); ) {
-            Attribute.Holder h = (Attribute.Holder) i.next();
+        for (Attribute.Holder h : holders) {
             assert(h.attributes == null);
             // System.out.println("flags="+h.flags+" using fm="+flagMask);
             long attrBits = ((h.flags & flagMask) << 32) >>> 32;
@@ -1582,13 +1582,12 @@ class PackageReader extends BandStructure {
                                    ATTR_CONTEXT_NAME[ctype]+" attribute");
     }
 
-    @SuppressWarnings("unchecked")
-    void readAttrs(int ctype, Collection holders) throws IOException {
+    void readAttrs(int ctype, Collection<? extends Attribute.Holder> holders)
+            throws IOException {
         // Decode band values into attributes.
         Set<Attribute.Layout> sawDefs = new HashSet<>();
         ByteArrayOutputStream buf = new ByteArrayOutputStream();
-        for (Iterator i = holders.iterator(); i.hasNext(); ) {
-            final Attribute.Holder h = (Attribute.Holder) i.next();
+        for (final Attribute.Holder h : holders) {
             if (h.attributes == null)  continue;
             for (ListIterator<Attribute> j = h.attributes.listIterator(); j.hasNext(); ) {
                 Attribute a = j.next();
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java
index e2bad89..0f7f51a 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java
@@ -720,7 +720,6 @@ class PackageWriter extends BandStructure {
             Utils.log.info("Wrote "+numFiles+" resource files");
     }
 
-    @SuppressWarnings("unchecked")
     void collectAttributeLayouts() {
         maxFlags = new int[ATTR_CONTEXT_LIMIT];
         allLayouts = new FixedList<>(ATTR_CONTEXT_LIMIT);
@@ -781,26 +780,27 @@ class PackageWriter extends BandStructure {
             avHiBits &= (1L<<attrIndexLimit[i])-1;
             int nextLoBit = 0;
             Map<Attribute.Layout, int[]> defMap = allLayouts.get(i);
-            Map.Entry[] layoutsAndCounts = new Map.Entry[defMap.size()];
+            @SuppressWarnings({ "unchecked", "rawtypes" })
+            Map.Entry<Attribute.Layout, int[]>[] layoutsAndCounts =
+                    new Map.Entry[defMap.size()];
             defMap.entrySet().toArray(layoutsAndCounts);
             // Sort by count, most frequent first.
             // Predefs. participate in this sort, though it does not matter.
-            Arrays.sort(layoutsAndCounts, new Comparator<Object>() {
-                public int compare(Object o0, Object o1) {
-                    Map.Entry e0 = (Map.Entry) o0;
-                    Map.Entry e1 = (Map.Entry) o1;
+            Arrays.sort(layoutsAndCounts,
+                        new Comparator<Map.Entry<Attribute.Layout, int[]>>() {
+                public int compare(Map.Entry<Attribute.Layout, int[]> e0,
+                                   Map.Entry<Attribute.Layout, int[]> e1) {
                     // Primary sort key is count, reversed.
-                    int r = - ( ((int[])e0.getValue())[0]
-                              - ((int[])e1.getValue())[0] );
+                    int r = -(e0.getValue()[0] - e1.getValue()[0]);
                     if (r != 0)  return r;
-                    return ((Comparable)e0.getKey()).compareTo(e1.getKey());
+                    return e0.getKey().compareTo(e1.getKey());
                 }
             });
             attrCounts[i] = new int[attrIndexLimit[i]+layoutsAndCounts.length];
             for (int j = 0; j < layoutsAndCounts.length; j++) {
-                Map.Entry e = layoutsAndCounts[j];
-                Attribute.Layout def = (Attribute.Layout) e.getKey();
-                int count = ((int[])e.getValue())[0];
+                Map.Entry<Attribute.Layout, int[]> e = layoutsAndCounts[j];
+                Attribute.Layout def = e.getKey();
+                int count = e.getValue()[0];
                 int index;
                 Integer predefIndex = attrIndexTable.get(def);
                 if (predefIndex != null) {
@@ -881,7 +881,6 @@ class PackageWriter extends BandStructure {
 
     Attribute.Layout[] attrDefsWritten;
 
-    @SuppressWarnings("unchecked")
     void writeAttrDefs() throws IOException {
         List<Object[]> defList = new ArrayList<>();
         for (int i = 0; i < ATTR_CONTEXT_LIMIT; i++) {
@@ -906,20 +905,19 @@ class PackageWriter extends BandStructure {
         int numAttrDefs = defList.size();
         Object[][] defs = new Object[numAttrDefs][];
         defList.toArray(defs);
-        Arrays.sort(defs, new Comparator() {
-            public int compare(Object o0, Object o1) {
-                Object[] a0 = (Object[]) o0;
-                Object[] a1 = (Object[]) o1;
+        Arrays.sort(defs, new Comparator<Object[]>() {
+            public int compare(Object[] a0, Object[] a1) {
                 // Primary sort key is attr def header.
+                @SuppressWarnings("unchecked")
                 int r = ((Comparable)a0[0]).compareTo(a1[0]);
                 if (r != 0)  return r;
-                Object ind0 = attrIndexTable.get(a0[1]);
-                Object ind1 = attrIndexTable.get(a1[1]);
+                Integer ind0 = attrIndexTable.get(a0[1]);
+                Integer ind1 = attrIndexTable.get(a1[1]);
                 // Secondary sort key is attribute index.
                 // (This must be so, in order to keep overflow attr order.)
                 assert(ind0 != null);
                 assert(ind1 != null);
-                return ((Comparable)ind0).compareTo(ind1);
+                return ind0.compareTo(ind1);
             }
         });
         attrDefsWritten = new Attribute.Layout[numAttrDefs];
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java
index aefac52..93b743b 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -69,8 +69,7 @@ public class PackerImpl  extends TLGlobals implements Pack200.Packer {
      * Get the set of options for the pack and unpack engines.
      * @return A sorted association of option key strings to option values.
      */
-    @SuppressWarnings("unchecked")
-    public SortedMap properties() {
+    public SortedMap<String, String> properties() {
         return props;
     }
 
@@ -157,7 +156,6 @@ public class PackerImpl  extends TLGlobals implements Pack200.Packer {
 
     // All the worker bees.....
     // The packer worker.
-    @SuppressWarnings("unchecked")
     private class DoPack {
         final int verbose = props.getInteger(Utils.DEBUG_VERBOSE);
 
@@ -199,9 +197,8 @@ public class PackerImpl  extends TLGlobals implements Pack200.Packer {
             };
             for (int i = 0; i < ctypes.length; i++) {
                 String pfx = keys[i];
-                Map<Object, Object> map = props.prefixMap(pfx);
-                for (Object k : map.keySet()) {
-                    String key = (String)k;
+                Map<String, String> map = props.prefixMap(pfx);
+                for (String key : map.keySet()) {
                     assert(key.startsWith(pfx));
                     String name = key.substring(pfx.length());
                     String layout = props.getProperty(key);
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java
index f1877c3..07887b9 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java
@@ -27,7 +27,6 @@ package com.sun.java.util.jar.pack;
 
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeEvent;
-import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintStream;
@@ -47,8 +46,8 @@ import java.util.jar.Pack200;
  * Control block for publishing Pack200 options to the other classes.
  */
 
-final class PropMap implements SortedMap<Object, Object>  {
-    private final TreeMap<Object, Object> theMap = new TreeMap<>();;
+final class PropMap implements SortedMap<String, String>  {
+    private final TreeMap<String, String> theMap = new TreeMap<>();;
     private final List<PropertyChangeListener> listenerList = new ArrayList<>(1);
 
     void addListener(PropertyChangeListener listener) {
@@ -68,12 +67,12 @@ final class PropMap implements SortedMap<Object, Object>  {
     }
 
     // Override:
-    public Object put(Object key, Object value) {
-        Object oldValue = theMap.put(key, value);
+    public String put(String key, String value) {
+        String oldValue = theMap.put(key, value);
         if (value != oldValue && !listenerList.isEmpty()) {
             // Post the property change event.
             PropertyChangeEvent event =
-                new PropertyChangeEvent(this, (String) key,
+                new PropertyChangeEvent(this, key,
                                         oldValue, value);
             for (PropertyChangeListener listener : listenerList) {
                 listener.propertyChange(event);
@@ -85,7 +84,7 @@ final class PropMap implements SortedMap<Object, Object>  {
     // All this other stuff is private to the current package.
     // Outide clients of Pack200 do not need to use it; they can
     // get by with generic SortedMap functionality.
-    private static Map<Object, Object> defaultProps;
+    private static Map<String, String> defaultProps;
     static {
         Properties props = new Properties();
 
@@ -141,7 +140,9 @@ final class PropMap implements SortedMap<Object, Object>  {
             }
         }
 
-        defaultProps = (new HashMap<>(props));  // shrink to fit
+        @SuppressWarnings({"unchecked", "rawtypes"})
+        HashMap<String, String> temp = new HashMap(props);  // shrink to fit
+        defaultProps = temp;
     }
 
     PropMap() {
@@ -151,7 +152,7 @@ final class PropMap implements SortedMap<Object, Object>  {
     // Return a view of this map which includes only properties
     // that begin with the given prefix.  This is easy because
     // the map is sorted, and has a subMap accessor.
-    SortedMap<Object, Object> prefixMap(String prefix) {
+    SortedMap<String, String> prefixMap(String prefix) {
         int len = prefix.length();
         if (len == 0)
             return this;
@@ -162,7 +163,7 @@ final class PropMap implements SortedMap<Object, Object>  {
     }
 
     String getProperty(String s) {
-        return (String) get(s);
+        return get(s);
     }
     String getProperty(String s, String defaultVal) {
         String val = getProperty(s);
@@ -171,13 +172,13 @@ final class PropMap implements SortedMap<Object, Object>  {
         return val;
     }
     String setProperty(String s, String val) {
-        return (String) put(s, val);
+        return put(s, val);
     }
 
     // Get sequence of props for "prefix", and "prefix.*".
-    List getProperties(String prefix) {
-        Collection<Object> values = prefixMap(prefix).values();
-        List<Object> res = new ArrayList<>(values.size());
+    List<String> getProperties(String prefix) {
+        Collection<String> values = prefixMap(prefix).values();
+        List<String> res = new ArrayList<>(values.size());
         res.addAll(values);
         while (res.remove(null));
         return res;
@@ -241,8 +242,8 @@ final class PropMap implements SortedMap<Object, Object>  {
     }
     void list(PrintWriter out) {
         out.println("#"+Utils.PACK_ZIP_ARCHIVE_MARKER_COMMENT+"[");
-        Set defaults = defaultProps.entrySet();
-        for (Map.Entry e : theMap.entrySet()) {
+        Set<Map.Entry<String, String>> defaults = defaultProps.entrySet();
+        for (Map.Entry<String, String> e : theMap.entrySet()) {
             if (defaults.contains(e))  continue;
             out.println("  " + e.getKey() + " = " + e.getValue());
         }
@@ -270,18 +271,17 @@ final class PropMap implements SortedMap<Object, Object>  {
     }
 
     @Override
-    public Object get(Object key) {
+    public String get(Object key) {
         return theMap.get(key);
     }
 
     @Override
-    public Object remove(Object key) {
+    public String remove(Object key) {
        return theMap.remove(key);
     }
 
     @Override
-    @SuppressWarnings("unchecked")
-    public void putAll(Map m) {
+    public void putAll(Map<? extends String, ? extends String> m) {
        theMap.putAll(m);
     }
 
@@ -291,48 +291,47 @@ final class PropMap implements SortedMap<Object, Object>  {
     }
 
     @Override
-    public Set<Object> keySet() {
+    public Set<String> keySet() {
        return theMap.keySet();
     }
 
     @Override
-    public Collection<Object> values() {
+    public Collection<String> values() {
        return theMap.values();
     }
 
     @Override
-    public Set<Map.Entry<Object, Object>> entrySet() {
+    public Set<Map.Entry<String, String>> entrySet() {
         return theMap.entrySet();
     }
 
     @Override
-    @SuppressWarnings("unchecked")
-    public Comparator<Object> comparator() {
-        return (Comparator<Object>) theMap.comparator();
+    public Comparator<? super String> comparator() {
+        return theMap.comparator();
     }
 
     @Override
-    public SortedMap<Object, Object> subMap(Object fromKey, Object toKey) {
+    public SortedMap<String, String> subMap(String fromKey, String toKey) {
         return theMap.subMap(fromKey, toKey);
     }
 
     @Override
-    public SortedMap<Object, Object> headMap(Object toKey) {
+    public SortedMap<String, String> headMap(String toKey) {
         return theMap.headMap(toKey);
     }
 
     @Override
-    public SortedMap<Object, Object> tailMap(Object fromKey) {
+    public SortedMap<String, String> tailMap(String fromKey) {
         return theMap.tailMap(fromKey);
     }
 
     @Override
-    public Object firstKey() {
+    public String firstKey() {
         return theMap.firstKey();
     }
 
     @Override
-    public Object lastKey() {
+    public String lastKey() {
        return theMap.lastKey();
     }
 }
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java
index 0e40bde..fc9d099 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -67,7 +67,7 @@ class TLGlobals {
         props = new PropMap();
     }
 
-    SortedMap<Object, Object> getPropMap() {
+    SortedMap<String, String> getPropMap() {
         return props;
     }
 
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java
index c14faec..5727d32 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java
@@ -81,8 +81,7 @@ public class UnpackerImpl extends TLGlobals implements Pack200.Unpacker {
      * Get the set of options for the pack and unpack engines.
      * @return A sorted association of option key strings to option values.
      */
-    @SuppressWarnings("unchecked")
-    public SortedMap properties() {
+    public SortedMap<String, String> properties() {
         return props;
     }
 
diff --git a/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java b/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java
index 00a043f..f9d26eb 100644
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java
@@ -253,8 +253,8 @@ class Utils {
     }
     static void copyJarFile(JarFile in, JarOutputStream out) throws IOException {
         byte[] buffer = new byte[1 << 14];
-        for (Enumeration e = in.entries(); e.hasMoreElements(); ) {
-            JarEntry je = (JarEntry) e.nextElement();
+        for (Enumeration<JarEntry> e = in.entries(); e.hasMoreElements(); ) {
+            JarEntry je = e.nextElement();
             out.putNextEntry(je);
             InputStream ein = in.getInputStream(je);
             for (int nr; 0 < (nr = ein.read(buffer)); ) {
diff --git a/jdk/src/share/classes/com/sun/jndi/ldap/Filter.java b/jdk/src/share/classes/com/sun/jndi/ldap/Filter.java
index 467b8db..0eb1caa 100644
--- a/jdk/src/share/classes/com/sun/jndi/ldap/Filter.java
+++ b/jdk/src/share/classes/com/sun/jndi/ldap/Filter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -632,15 +632,17 @@ final class Filter {
         }
     }
 
+    // The complex filter types look like:
+    //     "&(type=val)(type=val)"
+    //     "|(type=val)(type=val)"
+    //     "!(type=val)"
+    //
+    // The filtOffset[0] pointing to the '&', '|', or '!'.
+    //
     private static void encodeComplexFilter(BerEncoder ber, byte[] filter,
         int filterType, int filtOffset[], int filtEnd)
         throws IOException, NamingException {
 
-        //
-        // We have a complex filter of type "&(type=val)(type=val)"
-        // with filtOffset[0] pointing to the &
-        //
-
         if (dbg) {
             dprint("encComplexFilter: ", filter, filtOffset[0], filtEnd);
             dprint(", type: " + Integer.toString(filterType, 16));
@@ -652,7 +654,7 @@ final class Filter {
         ber.beginSeq(filterType);
 
             int[] parens = findRightParen(filter, filtOffset, filtEnd);
-            encodeFilterList(ber, filter, parens[0], parens[1]);
+            encodeFilterList(ber, filter, filterType, parens[0], parens[1]);
 
         ber.endSeq();
 
@@ -706,7 +708,7 @@ final class Filter {
     // Encode filter list of type "(filter1)(filter2)..."
     //
     private static void encodeFilterList(BerEncoder ber, byte[] filter,
-        int start, int end) throws IOException, NamingException {
+        int filterType, int start, int end) throws IOException, NamingException {
 
         if (dbg) {
             dprint("encFilterList: ", filter, start, end);
@@ -714,12 +716,16 @@ final class Filter {
         }
 
         int filtOffset[] = new int[1];
-
-        for (filtOffset[0] = start; filtOffset[0] < end;
-                                                            filtOffset[0]++) {
+        int listNumber = 0;
+        for (filtOffset[0] = start; filtOffset[0] < end; filtOffset[0]++) {
             if (Character.isSpaceChar((char)filter[filtOffset[0]]))
                 continue;
 
+            if ((filterType == LDAP_FILTER_NOT) && (listNumber > 0)) {
+                throw new InvalidSearchFilterException(
+                    "Filter (!) cannot be followed by more than one filters");
+            }
+
             if (filter[filtOffset[0]] == '(') {
                 continue;
             }
@@ -733,6 +739,8 @@ final class Filter {
             newfilter[0] = (byte)'(';
             newfilter[len+1] = (byte)')';
             encodeFilter(ber, newfilter, 0, newfilter.length);
+
+            listNumber++;
         }
 
         if (dbg) {
diff --git a/jdk/src/share/classes/java/awt/ScrollPaneAdjustable.java b/jdk/src/share/classes/java/awt/ScrollPaneAdjustable.java
index f43d87e..f9c08b3 100644
--- a/jdk/src/share/classes/java/awt/ScrollPaneAdjustable.java
+++ b/jdk/src/share/classes/java/awt/ScrollPaneAdjustable.java
@@ -24,6 +24,8 @@
  */
 package java.awt;
 
+import sun.awt.AWTAccessor;
+
 import java.awt.event.AdjustmentEvent;
 import java.awt.event.AdjustmentListener;
 import java.awt.peer.ScrollPanePeer;
@@ -156,6 +158,12 @@ public class ScrollPaneAdjustable implements Adjustable, Serializable {
         if (!GraphicsEnvironment.isHeadless()) {
             initIDs();
         }
+        AWTAccessor.setScrollPaneAdjustableAccessor(new AWTAccessor.ScrollPaneAdjustableAccessor() {
+            public void setTypedValue(final ScrollPaneAdjustable adj,
+                                      final int v, final int type) {
+                adj.setTypedValue(v, type);
+            }
+        });
     }
 
     /**
diff --git a/jdk/src/share/classes/java/lang/Class.java b/jdk/src/share/classes/java/lang/Class.java
index 3e800f4..c0dd63b 100644
--- a/jdk/src/share/classes/java/lang/Class.java
+++ b/jdk/src/share/classes/java/lang/Class.java
@@ -31,7 +31,6 @@ import java.lang.reflect.Member;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.lang.reflect.Constructor;
-import java.lang.reflect.GenericDeclaration;
 import java.lang.reflect.Modifier;
 import java.lang.reflect.Module;
 import java.lang.reflect.Type;
@@ -46,10 +45,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
-import java.util.LinkedList;
-import java.util.LinkedHashSet;
 import java.util.Set;
 import java.util.Map;
 import java.util.HashMap;
@@ -57,7 +53,6 @@ import sun.misc.Unsafe;
 import sun.reflect.ConstantPool;
 import sun.reflect.Reflection;
 import sun.reflect.ReflectionFactory;
-import sun.reflect.SignatureIterator;
 import sun.reflect.generics.factory.CoreReflectionFactory;
 import sun.reflect.generics.factory.GenericsFactory;
 import sun.reflect.generics.repository.ClassRepository;
@@ -356,7 +351,8 @@ public final class Class<T>
                         });
                 cachedConstructor = c;
             } catch (NoSuchMethodException e) {
-                throw new InstantiationException(getName());
+                throw (InstantiationException)
+                    new InstantiationException(getName()).initCause(e);
             }
         }
         Constructor<T> tmpConstructor = cachedConstructor;
@@ -980,7 +976,8 @@ public final class Class<T>
                 descriptor      = (String)   enclosingInfo[2];
                 assert((name != null && descriptor != null) || name == descriptor);
             } catch (ClassCastException cce) {
-                throw new InternalError("Invalid type in enclosing method information");
+                throw (InternalError)
+                    new InternalError("Invalid type in enclosing method information").initCause(cce);
             }
         }
 
@@ -1246,7 +1243,8 @@ public final class Class<T>
         try {
             return getName().substring(enclosingClass.getName().length());
         } catch (IndexOutOfBoundsException ex) {
-            throw new InternalError("Malformed class name");
+            throw (InternalError)
+                new InternalError("Malformed class name").initCause(ex);
         }
     }
 
@@ -2561,7 +2559,7 @@ public final class Class<T>
         // Start by fetching public declared methods
         MethodArray methods = new MethodArray();
         {
-            Method[] tmp = privateGetDeclaredMethods(true);
+                Method[] tmp = privateGetDeclaredMethods(true);
             methods.addAll(tmp);
         }
         // Now recur over superclass and direct superinterfaces.
@@ -2911,6 +2909,7 @@ public final class Class<T>
                         return null;
                     }
 
+                    // Doesn't use Boolean.getBoolean to avoid class init.
                     String val =
                         System.getProperty("sun.reflect.noCaches");
                     if (val != null && val.equals("true")) {
@@ -2960,9 +2959,8 @@ public final class Class<T>
             }
             // These can happen when users concoct enum-like classes
             // that don't comply with the enum spec.
-            catch (InvocationTargetException ex) { return null; }
-            catch (NoSuchMethodException ex) { return null; }
-            catch (IllegalAccessException ex) { return null; }
+            catch (InvocationTargetException | NoSuchMethodException |
+                   IllegalAccessException ex) { return null; }
         }
         return enumConstants;
     }
diff --git a/jdk/src/share/classes/java/lang/Math.java b/jdk/src/share/classes/java/lang/Math.java
index 5d1be0c..177d710 100644
--- a/jdk/src/share/classes/java/lang/Math.java
+++ b/jdk/src/share/classes/java/lang/Math.java
@@ -50,34 +50,34 @@ import java.util.Random;
  *
  * <p>The quality of implementation specifications concern two
  * properties, accuracy of the returned result and monotonicity of the
- * method.  Accuracy of the floating-point {@code Math} methods
- * is measured in terms of <i>ulps</i>, units in the last place.  For
- * a given floating-point format, an ulp of a specific real number
- * value is the distance between the two floating-point values
- * bracketing that numerical value.  When discussing the accuracy of a
- * method as a whole rather than at a specific argument, the number of
- * ulps cited is for the worst-case error at any argument.  If a
- * method always has an error less than 0.5 ulps, the method always
- * returns the floating-point number nearest the exact result; such a
- * method is <i>correctly rounded</i>.  A correctly rounded method is
- * generally the best a floating-point approximation can be; however,
- * it is impractical for many floating-point methods to be correctly
- * rounded.  Instead, for the {@code Math} class, a larger error
- * bound of 1 or 2 ulps is allowed for certain methods.  Informally,
- * with a 1 ulp error bound, when the exact result is a representable
- * number, the exact result should be returned as the computed result;
- * otherwise, either of the two floating-point values which bracket
- * the exact result may be returned.  For exact results large in
- * magnitude, one of the endpoints of the bracket may be infinite.
- * Besides accuracy at individual arguments, maintaining proper
- * relations between the method at different arguments is also
- * important.  Therefore, most methods with more than 0.5 ulp errors
- * are required to be <i>semi-monotonic</i>: whenever the mathematical
- * function is non-decreasing, so is the floating-point approximation,
- * likewise, whenever the mathematical function is non-increasing, so
- * is the floating-point approximation.  Not all approximations that
- * have 1 ulp accuracy will automatically meet the monotonicity
- * requirements.
+ * method.  Accuracy of the floating-point {@code Math} methods is
+ * measured in terms of <i>ulps</i>, units in the last place.  For a
+ * given floating-point format, an {@linkplain #ulp(double) ulp} of a
+ * specific real number value is the distance between the two
+ * floating-point values bracketing that numerical value.  When
+ * discussing the accuracy of a method as a whole rather than at a
+ * specific argument, the number of ulps cited is for the worst-case
+ * error at any argument.  If a method always has an error less than
+ * 0.5 ulps, the method always returns the floating-point number
+ * nearest the exact result; such a method is <i>correctly
+ * rounded</i>.  A correctly rounded method is generally the best a
+ * floating-point approximation can be; however, it is impractical for
+ * many floating-point methods to be correctly rounded.  Instead, for
+ * the {@code Math} class, a larger error bound of 1 or 2 ulps is
+ * allowed for certain methods.  Informally, with a 1 ulp error bound,
+ * when the exact result is a representable number, the exact result
+ * should be returned as the computed result; otherwise, either of the
+ * two floating-point values which bracket the exact result may be
+ * returned.  For exact results large in magnitude, one of the
+ * endpoints of the bracket may be infinite.  Besides accuracy at
+ * individual arguments, maintaining proper relations between the
+ * method at different arguments is also important.  Therefore, most
+ * methods with more than 0.5 ulp errors are required to be
+ * <i>semi-monotonic</i>: whenever the mathematical function is
+ * non-decreasing, so is the floating-point approximation, likewise,
+ * whenever the mathematical function is non-increasing, so is the
+ * floating-point approximation.  Not all approximations that have 1
+ * ulp accuracy will automatically meet the monotonicity requirements.
  *
  * @author  unascribed
  * @author  Joseph D. Darcy
@@ -940,11 +940,11 @@ public final class Math {
     }
 
     /**
-     * Returns the size of an ulp of the argument.  An ulp of a
-     * {@code double} value is the positive distance between this
-     * floating-point value and the {@code double} value next
-     * larger in magnitude.  Note that for non-NaN <i>x</i>,
-     * <code>ulp(-<i>x</i>) == ulp(<i>x</i>)</code>.
+     * Returns the size of an ulp of the argument.  An ulp, unit in
+     * the last place, of a {@code double} value is the positive
+     * distance between this floating-point value and the {@code
+     * double} value next larger in magnitude.  Note that for non-NaN
+     * <i>x</i>, <code>ulp(-<i>x</i>) == ulp(<i>x</i>)</code>.
      *
      * <p>Special Cases:
      * <ul>
@@ -967,11 +967,11 @@ public final class Math {
     }
 
     /**
-     * Returns the size of an ulp of the argument.  An ulp of a
-     * {@code float} value is the positive distance between this
-     * floating-point value and the {@code float} value next
-     * larger in magnitude.  Note that for non-NaN <i>x</i>,
-     * <code>ulp(-<i>x</i>) == ulp(<i>x</i>)</code>.
+     * Returns the size of an ulp of the argument.  An ulp, unit in
+     * the last place, of a {@code float} value is the positive
+     * distance between this floating-point value and the {@code
+     * float} value next larger in magnitude.  Note that for non-NaN
+     * <i>x</i>, <code>ulp(-<i>x</i>) == ulp(<i>x</i>)</code>.
      *
      * <p>Special Cases:
      * <ul>
diff --git a/jdk/src/share/classes/java/lang/StrictMath.java b/jdk/src/share/classes/java/lang/StrictMath.java
index b829a81..42c701f 100644
--- a/jdk/src/share/classes/java/lang/StrictMath.java
+++ b/jdk/src/share/classes/java/lang/StrictMath.java
@@ -932,11 +932,11 @@ public final class StrictMath {
     }
 
     /**
-     * Returns the size of an ulp of the argument.  An ulp of a
-     * {@code double} value is the positive distance between this
-     * floating-point value and the {@code double} value next
-     * larger in magnitude.  Note that for non-NaN <i>x</i>,
-     * <code>ulp(-<i>x</i>) == ulp(<i>x</i>)</code>.
+     * Returns the size of an ulp of the argument.  An ulp, unit in
+     * the last place, of a {@code double} value is the positive
+     * distance between this floating-point value and the {@code
+     * double} value next larger in magnitude.  Note that for non-NaN
+     * <i>x</i>, <code>ulp(-<i>x</i>) == ulp(<i>x</i>)</code>.
      *
      * <p>Special Cases:
      * <ul>
@@ -959,11 +959,11 @@ public final class StrictMath {
     }
 
     /**
-     * Returns the size of an ulp of the argument.  An ulp of a
-     * {@code float} value is the positive distance between this
-     * floating-point value and the {@code float} value next
-     * larger in magnitude.  Note that for non-NaN <i>x</i>,
-     * <code>ulp(-<i>x</i>) == ulp(<i>x</i>)</code>.
+     * Returns the size of an ulp of the argument.  An ulp, unit in
+     * the last place, of a {@code float} value is the positive
+     * distance between this floating-point value and the {@code
+     * float} value next larger in magnitude.  Note that for non-NaN
+     * <i>x</i>, <code>ulp(-<i>x</i>) == ulp(<i>x</i>)</code>.
      *
      * <p>Special Cases:
      * <ul>
diff --git a/jdk/src/share/classes/java/lang/reflect/Constructor.java b/jdk/src/share/classes/java/lang/reflect/Constructor.java
index 8ff6d41..ba4231c 100644
--- a/jdk/src/share/classes/java/lang/reflect/Constructor.java
+++ b/jdk/src/share/classes/java/lang/reflect/Constructor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -27,13 +27,12 @@ package java.lang.reflect;
 
 import sun.reflect.ConstructorAccessor;
 import sun.reflect.Reflection;
+import sun.reflect.annotation.AnnotationParser;
 import sun.reflect.generics.repository.ConstructorRepository;
 import sun.reflect.generics.factory.CoreReflectionFactory;
 import sun.reflect.generics.factory.GenericsFactory;
 import sun.reflect.generics.scope.ConstructorScope;
 import java.lang.annotation.Annotation;
-import java.util.Map;
-import sun.reflect.annotation.AnnotationParser;
 import java.lang.annotation.AnnotationFormatError;
 import java.lang.reflect.Modifier;
 
@@ -57,11 +56,7 @@ import java.lang.reflect.Modifier;
  * @author      Kenneth Russell
  * @author      Nakul Saraiya
  */
-public final
-    class Constructor<T> extends AccessibleObject implements
-                                                    GenericDeclaration,
-                                                    Member {
-
+public final class Constructor<T> extends Executable {
     private Class<T>            clazz;
     private int                 slot;
     private Class<?>[]          parameterTypes;
@@ -82,7 +77,8 @@ public final
     }
 
     // Accessor for generic info repository
-    private ConstructorRepository getGenericInfo() {
+    @Override
+    ConstructorRepository getGenericInfo() {
         // lazily initialize repository if necessary
         if (genericInfo == null) {
             // create and cache generic info repository
@@ -111,8 +107,7 @@ public final
                 int slot,
                 String signature,
                 byte[] annotations,
-                byte[] parameterAnnotations)
-    {
+                byte[] parameterAnnotations) {
         this.clazz = declaringClass;
         this.parameterTypes = parameterTypes;
         this.exceptionTypes = checkedExceptions;
@@ -137,21 +132,31 @@ public final
         // objects be fabricated for each reflective call on Class
         // objects.)
         Constructor<T> res = new Constructor<>(clazz,
-                                                parameterTypes,
-                                                exceptionTypes, modifiers, slot,
-                                                signature,
-                                                annotations,
-                                                parameterAnnotations);
+                                               parameterTypes,
+                                               exceptionTypes, modifiers, slot,
+                                               signature,
+                                               annotations,
+                                               parameterAnnotations);
         res.root = this;
         // Might as well eagerly propagate this if already present
         res.constructorAccessor = constructorAccessor;
         return res;
     }
 
+    @Override
+    boolean hasGenericInformation() {
+        return (getSignature() != null);
+    }
+
+    @Override
+    byte[] getAnnotationBytes() {
+        return annotations;
+    }
+
     /**
-     * Returns the {@code Class} object representing the class that declares
-     * the constructor represented by this {@code Constructor} object.
+     * {@inheritDoc}
      */
+    @Override
     public Class<T> getDeclaringClass() {
         return clazz;
     }
@@ -160,36 +165,25 @@ public final
      * Returns the name of this constructor, as a string.  This is
      * the binary name of the constructor's declaring class.
      */
+    @Override
     public String getName() {
         return getDeclaringClass().getName();
     }
 
     /**
-     * Returns the Java language modifiers for the constructor
-     * represented by this {@code Constructor} object, as an integer. The
-     * {@code Modifier} class should be used to decode the modifiers.
-     *
-     * @see Modifier
+     * {@inheritDoc}
      */
+    @Override
     public int getModifiers() {
         return modifiers;
     }
 
     /**
-     * Returns an array of {@code TypeVariable} objects that represent the
-     * type variables declared by the generic declaration represented by this
-     * {@code GenericDeclaration} object, in declaration order.  Returns an
-     * array of length 0 if the underlying generic declaration declares no type
-     * variables.
-     *
-     * @return an array of {@code TypeVariable} objects that represent
-     *     the type variables declared by this generic declaration
-     * @throws GenericSignatureFormatError if the generic
-     *     signature of this generic declaration does not conform to
-     *     the format specified in
-     *     <cite>The Java™ Virtual Machine Specification</cite>
+     * {@inheritDoc}
+     * @throws GenericSignatureFormatError {@inheritDoc}
      * @since 1.5
      */
+    @Override
     public TypeVariable<Constructor<T>>[] getTypeParameters() {
       if (getSignature() != null) {
         return (TypeVariable<Constructor<T>>[])getGenericInfo().getTypeParameters();
@@ -199,98 +193,45 @@ public final
 
 
     /**
-     * Returns an array of {@code Class} objects that represent the formal
-     * parameter types, in declaration order, of the constructor
-     * represented by this {@code Constructor} object.  Returns an array of
-     * length 0 if the underlying constructor takes no parameters.
-     *
-     * @return the parameter types for the constructor this object
-     * represents
+     * {@inheritDoc}
      */
+    @Override
     public Class<?>[] getParameterTypes() {
         return (Class<?>[]) parameterTypes.clone();
     }
 
-
     /**
-     * Returns an array of {@code Type} objects that represent the formal
-     * parameter types, in declaration order, of the method represented by
-     * this {@code Constructor} object. Returns an array of length 0 if the
-     * underlying method takes no parameters.
-     *
-     * <p>If a formal parameter type is a parameterized type,
-     * the {@code Type} object returned for it must accurately reflect
-     * the actual type parameters used in the source code.
-     *
-     * <p>If a formal parameter type is a type variable or a parameterized
-     * type, it is created. Otherwise, it is resolved.
-     *
-     * @return an array of {@code Type}s that represent the formal
-     *     parameter types of the underlying method, in declaration order
-     * @throws GenericSignatureFormatError
-     *     if the generic method signature does not conform to the format
-     *     specified in
-     *     <cite>The Java™ Virtual Machine Specification</cite>
-     * @throws TypeNotPresentException if any of the parameter
-     *     types of the underlying method refers to a non-existent type
-     *     declaration
-     * @throws MalformedParameterizedTypeException if any of
-     *     the underlying method's parameter types refer to a parameterized
-     *     type that cannot be instantiated for any reason
+     * {@inheritDoc}
+     * @throws GenericSignatureFormatError {@inheritDoc}
+     * @throws TypeNotPresentException {@inheritDoc}
+     * @throws MalformedParameterizedTypeException {@inheritDoc}
      * @since 1.5
      */
+    @Override
     public Type[] getGenericParameterTypes() {
-        if (getSignature() != null)
-            return getGenericInfo().getParameterTypes();
-        else
-            return getParameterTypes();
+        return super.getGenericParameterTypes();
     }
 
-
     /**
-     * Returns an array of {@code Class} objects that represent the types
-     * of exceptions declared to be thrown by the underlying constructor
-     * represented by this {@code Constructor} object.  Returns an array of
-     * length 0 if the constructor declares no exceptions in its {@code throws} clause.
-     *
-     * @return the exception types declared as being thrown by the
-     * constructor this object represents
+     * {@inheritDoc}
      */
+    @Override
     public Class<?>[] getExceptionTypes() {
         return (Class<?>[])exceptionTypes.clone();
     }
 
 
     /**
-     * Returns an array of {@code Type} objects that represent the
-     * exceptions declared to be thrown by this {@code Constructor} object.
-     * Returns an array of length 0 if the underlying method declares
-     * no exceptions in its {@code throws} clause.
-     *
-     * <p>If an exception type is a type variable or a parameterized
-     * type, it is created. Otherwise, it is resolved.
-     *
-     * @return an array of Types that represent the exception types
-     *     thrown by the underlying method
-     * @throws GenericSignatureFormatError
-     *     if the generic method signature does not conform to the format
-     *     specified in
-     *     <cite>The Java™ Virtual Machine Specification</cite>
-     * @throws TypeNotPresentException if the underlying method's
-     *     {@code throws} clause refers to a non-existent type declaration
-     * @throws MalformedParameterizedTypeException if
-     *     the underlying method's {@code throws} clause refers to a
-     *     parameterized type that cannot be instantiated for any reason
+     * {@inheritDoc}
+     * @throws GenericSignatureFormatError {@inheritDoc}
+     * @throws TypeNotPresentException {@inheritDoc}
+     * @throws MalformedParameterizedTypeException {@inheritDoc}
      * @since 1.5
      */
-      public Type[] getGenericExceptionTypes() {
-          Type[] result;
-          if (getSignature() != null &&
-              ( (result = getGenericInfo().getExceptionTypes()).length > 0  ))
-              return result;
-          else
-              return getExceptionTypes();
-      }
+    @Override
+    public Type[] getGenericExceptionTypes() {
+        return super.getGenericExceptionTypes();
+    }
 
     /**
      * Compares this {@code Constructor} against the specified object.
@@ -302,16 +243,7 @@ public final
         if (obj != null && obj instanceof Constructor) {
             Constructor<?> other = (Constructor<?>)obj;
             if (getDeclaringClass() == other.getDeclaringClass()) {
-                /* Avoid unnecessary cloning */
-                Class<?>[] params1 = parameterTypes;
-                Class<?>[] params2 = other.parameterTypes;
-                if (params1.length == params2.length) {
-                    for (int i = 0; i < params1.length; i++) {
-                        if (params1[i] != params2[i])
-                            return false;
-                    }
-                    return true;
-                }
+                return equalParamTypes(parameterTypes, other.parameterTypes);
             }
         }
         return false;
@@ -342,34 +274,14 @@ public final
      * constructor has default (package) access.
      */
     public String toString() {
-        try {
-            StringBuffer sb = new StringBuffer();
-            int mod = getModifiers() & Modifier.constructorModifiers();
-            if (mod != 0) {
-                sb.append(Modifier.toString(mod) + " ");
-            }
-            sb.append(Field.getTypeName(getDeclaringClass()));
-            sb.append("(");
-            Class<?>[] params = parameterTypes; // avoid clone
-            for (int j = 0; j < params.length; j++) {
-                sb.append(Field.getTypeName(params[j]));
-                if (j < (params.length - 1))
-                    sb.append(",");
-            }
-            sb.append(")");
-            Class<?>[] exceptions = exceptionTypes; // avoid clone
-            if (exceptions.length > 0) {
-                sb.append(" throws ");
-                for (int k = 0; k < exceptions.length; k++) {
-                    sb.append(exceptions[k].getName());
-                    if (k < (exceptions.length - 1))
-                        sb.append(",");
-                }
-            }
-            return sb.toString();
-        } catch (Exception e) {
-            return "<" + e + ">";
-        }
+        return sharedToString(Modifier.constructorModifiers(),
+                              parameterTypes,
+                              exceptionTypes);
+    }
+
+    @Override
+    void specificToStringHeader(StringBuilder sb) {
+        sb.append(Field.getTypeName(getDeclaringClass()));
     }
 
     /**
@@ -405,56 +317,14 @@ public final
      *
      * @since 1.5
      */
+    @Override
     public String toGenericString() {
-        try {
-            StringBuilder sb = new StringBuilder();
-            int mod = getModifiers() & Modifier.constructorModifiers();
-            if (mod != 0) {
-                sb.append(Modifier.toString(mod) + " ");
-            }
-            TypeVariable<?>[] typeparms = getTypeParameters();
-            if (typeparms.length > 0) {
-                boolean first = true;
-                sb.append("<");
-                for(TypeVariable<?> typeparm: typeparms) {
-                    if (!first)
-                        sb.append(",");
-                    // Class objects can't occur here; no need to test
-                    // and call Class.getName().
-                    sb.append(typeparm.toString());
-                    first = false;
-                }
-                sb.append("> ");
-            }
-            sb.append(Field.getTypeName(getDeclaringClass()));
-            sb.append("(");
-            Type[] params = getGenericParameterTypes();
-            for (int j = 0; j < params.length; j++) {
-                String param = (params[j] instanceof Class<?>)?
-                    Field.getTypeName((Class<?>)params[j]):
-                    (params[j].toString());
-                if (isVarArgs() && (j == params.length - 1)) // replace T[] with T...
-                    param = param.replaceFirst("\\[\\]$", "...");
-                sb.append(param);
-                if (j < (params.length - 1))
-                    sb.append(",");
-            }
-            sb.append(")");
-            Type[] exceptions = getGenericExceptionTypes();
-            if (exceptions.length > 0) {
-                sb.append(" throws ");
-                for (int k = 0; k < exceptions.length; k++) {
-                    sb.append((exceptions[k] instanceof Class)?
-                              ((Class<?>)exceptions[k]).getName():
-                              exceptions[k].toString());
-                    if (k < (exceptions.length - 1))
-                        sb.append(",");
-                }
-            }
-            return sb.toString();
-        } catch (Exception e) {
-            return "<" + e + ">";
-        }
+        return sharedToGenericString(Modifier.constructorModifiers());
+    }
+
+    @Override
+    void specificToGenericStringHeader(StringBuilder sb) {
+        specificToStringHeader(sb);
     }
 
     /**
@@ -526,29 +396,21 @@ public final
     }
 
     /**
-     * Returns {@code true} if this constructor was declared to take
-     * a variable number of arguments; returns {@code false}
-     * otherwise.
-     *
-     * @return {@code true} if an only if this constructor was declared to
-     * take a variable number of arguments.
+     * {@inheritDoc}
      * @since 1.5
      */
+    @Override
     public boolean isVarArgs() {
-        return (getModifiers() & Modifier.VARARGS) != 0;
+        return super.isVarArgs();
     }
 
     /**
-     * Returns {@code true} if this constructor is a synthetic
-     * constructor; returns {@code false} otherwise.
-     *
-     * @return true if and only if this constructor is a synthetic
-     * constructor as defined by
-     * <cite>The Java™ Language Specification</cite>.
+     * {@inheritDoc}
      * @since 1.5
      */
+    @Override
     public boolean isSynthetic() {
-        return Modifier.isSynthetic(getModifiers());
+        return super.isSynthetic();
     }
 
     // NOTE that there is no synchronization used here. It is correct
@@ -592,9 +454,9 @@ public final
         return slot;
     }
 
-   String getSignature() {
-            return signature;
-   }
+    String getSignature() {
+        return signature;
+    }
 
     byte[] getRawAnnotations() {
         return annotations;
@@ -604,80 +466,50 @@ public final
         return parameterAnnotations;
     }
 
+
     /**
-     * @throws NullPointerException {@inheritDoc}
+     * {@inheritDoc}
+     * @throws NullPointerException  {@inheritDoc}
      * @since 1.5
      */
     public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
-        if (annotationClass == null)
-            throw new NullPointerException();
-
-        return (T) declaredAnnotations().get(annotationClass);
+        return super.getAnnotation(annotationClass);
     }
 
     /**
+     * {@inheritDoc}
      * @since 1.5
      */
     public Annotation[] getDeclaredAnnotations()  {
-        return AnnotationParser.toArray(declaredAnnotations());
-    }
-
-    private transient Map<Class<? extends Annotation>, Annotation> declaredAnnotations;
-
-    private synchronized  Map<Class<? extends Annotation>, Annotation> declaredAnnotations() {
-        if (declaredAnnotations == null) {
-            declaredAnnotations = AnnotationParser.parseAnnotations(
-                annotations, sun.misc.SharedSecrets.getJavaLangAccess().
-                getConstantPool(getDeclaringClass()),
-                getDeclaringClass());
-        }
-        return declaredAnnotations;
+        return super.getDeclaredAnnotations();
     }
 
     /**
-     * Returns an array of arrays that represent the annotations on the formal
-     * parameters, in declaration order, of the method represented by
-     * this {@code Constructor} object. (Returns an array of length zero if the
-     * underlying method is parameterless.  If the method has one or more
-     * parameters, a nested array of length zero is returned for each parameter
-     * with no annotations.) The annotation objects contained in the returned
-     * arrays are serializable.  The caller of this method is free to modify
-     * the returned arrays; it will have no effect on the arrays returned to
-     * other callers.
-     *
-     * @return an array of arrays that represent the annotations on the formal
-     *    parameters, in declaration order, of the method represented by this
-     *    Constructor object
+     * {@inheritDoc}
      * @since 1.5
      */
+    @Override
     public Annotation[][] getParameterAnnotations() {
-        int numParameters = parameterTypes.length;
-        if (parameterAnnotations == null)
-            return new Annotation[numParameters][0];
-
-        Annotation[][] result = AnnotationParser.parseParameterAnnotations(
-            parameterAnnotations,
-            sun.misc.SharedSecrets.getJavaLangAccess().
-                getConstantPool(getDeclaringClass()),
-            getDeclaringClass());
-        if (result.length != numParameters) {
-            Class<?> declaringClass = getDeclaringClass();
-            if (declaringClass.isEnum() ||
-                declaringClass.isAnonymousClass() ||
-                declaringClass.isLocalClass() )
-                ; // Can't do reliable parameter counting
-            else {
-                if (!declaringClass.isMemberClass() || // top-level
-                    // Check for the enclosing instance parameter for
-                    // non-static member classes
-                    (declaringClass.isMemberClass() &&
-                     ((declaringClass.getModifiers() & Modifier.STATIC) == 0)  &&
-                     result.length + 1 != numParameters) ) {
-                    throw new AnnotationFormatError(
-                              "Parameter annotations don't match number of parameters");
-                }
+        return sharedGetParameterAnnotations(parameterTypes, parameterAnnotations);
+    }
+
+    @Override
+    void handleParameterNumberMismatch(int resultLength, int numParameters) {
+        Class<?> declaringClass = getDeclaringClass();
+        if (declaringClass.isEnum() ||
+            declaringClass.isAnonymousClass() ||
+            declaringClass.isLocalClass() )
+            return ; // Can't do reliable parameter counting
+        else {
+            if (!declaringClass.isMemberClass() || // top-level
+                // Check for the enclosing instance parameter for
+                // non-static member classes
+                (declaringClass.isMemberClass() &&
+                 ((declaringClass.getModifiers() & Modifier.STATIC) == 0)  &&
+                 resultLength + 1 != numParameters) ) {
+                throw new AnnotationFormatError(
+                          "Parameter annotations don't match number of parameters");
             }
         }
-        return result;
     }
 }
diff --git a/jdk/src/share/classes/java/lang/reflect/Executable.java b/jdk/src/share/classes/java/lang/reflect/Executable.java
new file mode 100644
index 0000000..21ce2d8
--- /dev/null
+++ b/jdk/src/share/classes/java/lang/reflect/Executable.java
@@ -0,0 +1,396 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package java.lang.reflect;
+
+import java.lang.annotation.*;
+import java.util.Map;
+import sun.reflect.annotation.AnnotationParser;
+import sun.reflect.generics.repository.ConstructorRepository;
+import sun.reflect.generics.factory.CoreReflectionFactory;
+import sun.reflect.generics.factory.GenericsFactory;
+import sun.reflect.generics.scope.ConstructorScope;
+
+/**
+ * A shared superclass for the common functionality of {@link Method}
+ * and {@link Constructor}.
+ *
+ * @since 1.8
+ */
+public abstract class Executable extends AccessibleObject
+    implements Member, GenericDeclaration {
+    /*
+     * Only grant package-visibility to the constructor.
+     */
+    Executable() {}
+
+    /**
+     * Accessor method to allow code sharing
+     */
+    abstract byte[] getAnnotationBytes();
+
+    /**
+     * Does the Executable have generic information.
+     */
+    abstract boolean hasGenericInformation();
+
+    abstract ConstructorRepository getGenericInfo();
+
+    boolean equalParamTypes(Class<?>[] params1, Class<?>[] params2) {
+        /* Avoid unnecessary cloning */
+        if (params1.length == params2.length) {
+            for (int i = 0; i < params1.length; i++) {
+                if (params1[i] != params2[i])
+                    return false;
+            }
+            return true;
+        }
+        return false;
+    }
+
+    Annotation[][] parseParameterAnnotations(byte[] parameterAnnotations) {
+        return AnnotationParser.parseParameterAnnotations(
+               parameterAnnotations,
+               sun.misc.SharedSecrets.getJavaLangAccess().
+               getConstantPool(getDeclaringClass()),
+               getDeclaringClass());
+    }
+
+    void separateWithCommas(Class<?>[] types, StringBuilder sb) {
+        for (int j = 0; j < types.length; j++) {
+            sb.append(Field.getTypeName(types[j]));
+            if (j < (types.length - 1))
+                sb.append(",");
+        }
+
+    }
+
+    void printModifiersIfNonzero(StringBuilder sb, int mask) {
+        int mod = getModifiers() & mask;
+        if (mod != 0) {
+            sb.append(Modifier.toString(mod)).append(' ');
+        }
+    }
+
+    String sharedToString(int modifierMask,
+                          Class<?>[] parameterTypes,
+                          Class<?>[] exceptionTypes) {
+        try {
+            StringBuilder sb = new StringBuilder();
+
+            printModifiersIfNonzero(sb, modifierMask);
+            specificToStringHeader(sb);
+
+            sb.append('(');
+            separateWithCommas(parameterTypes, sb);
+            sb.append(')');
+            if (exceptionTypes.length > 0) {
+                sb.append(" throws ");
+                separateWithCommas(exceptionTypes, sb);
+            }
+            return sb.toString();
+        } catch (Exception e) {
+            return "<" + e + ">";
+        }
+    }
+
+    /**
+     * Generate toString header information specific to a method or
+     * constructor.
+     */
+    abstract void specificToStringHeader(StringBuilder sb);
+
+    String sharedToGenericString(int modifierMask) {
+        try {
+            StringBuilder sb = new StringBuilder();
+
+            printModifiersIfNonzero(sb, modifierMask);
+
+            TypeVariable<?>[] typeparms = getTypeParameters();
+            if (typeparms.length > 0) {
+                boolean first = true;
+                sb.append('<');
+                for(TypeVariable<?> typeparm: typeparms) {
+                    if (!first)
+                        sb.append(',');
+                    // Class objects can't occur here; no need to test
+                    // and call Class.getName().
+                    sb.append(typeparm.toString());
+                    first = false;
+                }
+                sb.append("> ");
+            }
+
+            specificToGenericStringHeader(sb);
+
+            sb.append('(');
+            Type[] params = getGenericParameterTypes();
+            for (int j = 0; j < params.length; j++) {
+                String param = (params[j] instanceof Class)?
+                    Field.getTypeName((Class)params[j]):
+                    (params[j].toString());
+                if (isVarArgs() && (j == params.length - 1)) // replace T[] with T...
+                    param = param.replaceFirst("\\[\\]$", "...");
+                sb.append(param);
+                if (j < (params.length - 1))
+                    sb.append(',');
+            }
+            sb.append(')');
+            Type[] exceptions = getGenericExceptionTypes();
+            if (exceptions.length > 0) {
+                sb.append(" throws ");
+                for (int k = 0; k < exceptions.length; k++) {
+                    sb.append((exceptions[k] instanceof Class)?
+                              ((Class)exceptions[k]).getName():
+                              exceptions[k].toString());
+                    if (k < (exceptions.length - 1))
+                        sb.append(',');
+                }
+            }
+            return sb.toString();
+        } catch (Exception e) {
+            return "<" + e + ">";
+        }
+    }
+
+    /**
+     * Generate toGenericString header information specific to a
+     * method or constructor.
+     */
+    abstract void specificToGenericStringHeader(StringBuilder sb);
+
+    /**
+     * Returns the {@code Class} object representing the class or interface
+     * that declares the method represented by this executable object.
+     */
+    public abstract Class<?> getDeclaringClass();
+
+    /**
+     * Returns the name of the executable represented by this object.
+     */
+    public abstract String getName();
+
+    /**
+     * Returns the Java language {@linkplain Modifier modifiers} for
+     * the executable represented by this object.
+     */
+    public abstract int getModifiers();
+
+    /**
+     * Returns an array of {@code TypeVariable} objects that represent the
+     * type variables declared by the generic declaration represented by this
+     * {@code GenericDeclaration} object, in declaration order.  Returns an
+     * array of length 0 if the underlying generic declaration declares no type
+     * variables.
+     *
+     * @return an array of {@code TypeVariable} objects that represent
+     *     the type variables declared by this generic declaration
+     * @throws GenericSignatureFormatError if the generic
+     *     signature of this generic declaration does not conform to
+     *     the format specified in
+     *     <cite>The Java™ Virtual Machine Specification</cite>
+     */
+    public abstract TypeVariable<?>[] getTypeParameters();
+
+    /**
+     * Returns an array of {@code Class} objects that represent the formal
+     * parameter types, in declaration order, of the executable
+     * represented by this object.  Returns an array of length
+     * 0 if the underlying method takes no parameters.
+     *
+     * @return the parameter types for the method this object
+     * represents
+     */
+    public abstract Class<?>[] getParameterTypes();
+
+    /**
+     * Returns an array of {@code Type} objects that represent the formal
+     * parameter types, in declaration order, of the method represented by
+     * this executable object. Returns an array of length 0 if the
+     * underlying method takes no parameters.
+     *
+     * <p>If a formal parameter type is a parameterized type,
+     * the {@code Type} object returned for it must accurately reflect
+     * the actual type parameters used in the source code.
+     *
+     * <p>If a formal parameter type is a type variable or a parameterized
+     * type, it is created. Otherwise, it is resolved.
+     *
+     * @return an array of {@code Type}s that represent the formal
+     *     parameter types of the underlying method, in declaration order
+     * @throws GenericSignatureFormatError
+     *     if the generic method signature does not conform to the format
+     *     specified in
+     *     <cite>The Java™ Virtual Machine Specification</cite>
+     * @throws TypeNotPresentException if any of the parameter
+     *     types of the underlying method refers to a non-existent type
+     *     declaration
+     * @throws MalformedParameterizedTypeException if any of
+     *     the underlying method's parameter types refer to a parameterized
+     *     type that cannot be instantiated for any reason
+     */
+    public Type[] getGenericParameterTypes() {
+        if (hasGenericInformation())
+            return getGenericInfo().getParameterTypes();
+        else
+            return getParameterTypes();
+    }
+
+    /**
+     * Returns an array of {@code Class} objects that represent the
+     * types of exceptions declared to be thrown by the underlying
+     * executable represented by this object.  Returns an array of
+     * length 0 if the executable declares no exceptions in its {@code
+     * throws} clause.
+     *
+     * @return the exception types declared as being thrown by the
+     * executable this object represents
+     */
+    public abstract Class<?>[] getExceptionTypes();
+
+    /**
+     * Returns an array of {@code Type} objects that represent the
+     * exceptions declared to be thrown by this executable object.
+     * Returns an array of length 0 if the underlying executable declares
+     * no exceptions in its {@code throws} clause.
+     *
+     * <p>If an exception type is a type variable or a parameterized
+     * type, it is created. Otherwise, it is resolved.
+     *
+     * @return an array of Types that represent the exception types
+     *     thrown by the underlying method
+     * @throws GenericSignatureFormatError
+     *     if the generic method signature does not conform to the format
+     *     specified in
+     *     <cite>The Java™ Virtual Machine Specification</cite>
+     * @throws TypeNotPresentException if the underlying method's
+     *     {@code throws} clause refers to a non-existent type declaration
+     * @throws MalformedParameterizedTypeException if
+     *     the underlying method's {@code throws} clause refers to a
+     *     parameterized type that cannot be instantiated for any reason
+     */
+    public Type[] getGenericExceptionTypes() {
+        Type[] result;
+        if (hasGenericInformation() &&
+            ((result = getGenericInfo().getExceptionTypes()).length > 0))
+            return result;
+        else
+            return getExceptionTypes();
+    }
+
+    /**
+     * Returns a string describing this {@code Executable}, including
+     * any type parameters.
+     */
+    public abstract String toGenericString();
+
+    /**
+     * Returns {@code true} if this executable was declared to take a
+     * variable number of arguments; returns {@code false} otherwise.
+     *
+     * @return {@code true} if an only if this executable was declared
+     * to take a variable number of arguments.
+     */
+    public boolean isVarArgs()  {
+        return (getModifiers() & Modifier.VARARGS) != 0;
+    }
+
+    /**
+     * Returns {@code true} if this executable is a synthetic
+     * construct; returns {@code false} otherwise.
+     *
+     * @return true if and only if this executable is a synthetic
+     * construct as defined by
+     * <cite>The Java™ Language Specification</cite>.
+     */
+    public boolean isSynthetic() {
+        return Modifier.isSynthetic(getModifiers());
+    }
+
+    /**
+     * Returns an array of arrays that represent the annotations on
+     * the formal parameters, in declaration order, of the executable
+     * represented by this object. (Returns an array of length zero if
+     * the underlying method is parameterless.  If the executable has
+     * one or more parameters, a nested array of length zero is
+     * returned for each parameter with no annotations.) The
+     * annotation objects contained in the returned arrays are
+     * serializable.  The caller of this method is free to modify the
+     * returned arrays; it will have no effect on the arrays returned
+     * to other callers.
+     *
+     * @return an array of arrays that represent the annotations on the formal
+     *    parameters, in declaration order, of the exectuable represented by this
+     *    object
+     */
+    public abstract Annotation[][] getParameterAnnotations();
+
+    Annotation[][] sharedGetParameterAnnotations(Class<?>[] parameterTypes,
+                                                 byte[] parameterAnnotations) {
+        int numParameters = parameterTypes.length;
+        if (parameterAnnotations == null)
+            return new Annotation[numParameters][0];
+
+        Annotation[][] result = parseParameterAnnotations(parameterAnnotations);
+
+        if (result.length != numParameters)
+            handleParameterNumberMismatch(result.length, numParameters);
+        return result;
+    }
+
+    abstract void handleParameterNumberMismatch(int resultLength, int numParameters);
+
+    /**
+     * {@inheritDoc}
+     * @throws NullPointerException  {@inheritDoc}
+     */
+     @SuppressWarnings("unchecked")
+     public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
+        if (annotationClass == null)
+            throw new NullPointerException();
+
+        return (T) declaredAnnotations().get(annotationClass);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public Annotation[] getDeclaredAnnotations()  {
+        return AnnotationParser.toArray(declaredAnnotations());
+    }
+
+    private transient Map<Class<? extends Annotation>, Annotation> declaredAnnotations;
+
+    private synchronized  Map<Class<? extends Annotation>, Annotation> declaredAnnotations() {
+        if (declaredAnnotations == null) {
+            declaredAnnotations = AnnotationParser.parseAnnotations(
+                getAnnotationBytes(),
+                sun.misc.SharedSecrets.getJavaLangAccess().
+                getConstantPool(getDeclaringClass()),
+                getDeclaringClass());
+        }
+        return declaredAnnotations;
+    }
+}
diff --git a/jdk/src/share/classes/java/lang/reflect/Method.java b/jdk/src/share/classes/java/lang/reflect/Method.java
index 0a1f7a3..2edd6c0 100644
--- a/jdk/src/share/classes/java/lang/reflect/Method.java
+++ b/jdk/src/share/classes/java/lang/reflect/Method.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,6 @@ import sun.reflect.annotation.AnnotationParser;
 import java.lang.annotation.Annotation;
 import java.lang.annotation.AnnotationFormatError;
 import java.nio.ByteBuffer;
-import java.util.Map;
 
 /**
  * A {@code Method} provides information about, and access to, a single method
@@ -58,9 +57,7 @@ import java.util.Map;
  * @author Kenneth Russell
  * @author Nakul Saraiya
  */
-public final
-    class Method extends AccessibleObject implements GenericDeclaration,
-                                                     Member {
+public final class Method extends Executable {
     private Class<?>            clazz;
     private int                 slot;
     // This is guaranteed to be interned by the VM in the 1.4
@@ -83,8 +80,8 @@ public final
     // potentially many Method objects pointing to it.)
     private Method              root;
 
-   // Generics infrastructure
 
+    // Generics infrastructure
     private String getGenericSignature() {return signature;}
 
     // Accessor for factory
@@ -94,7 +91,8 @@ public final
     }
 
     // Accessor for generic info repository
-    private MethodRepository getGenericInfo() {
+    @Override
+    MethodRepository getGenericInfo() {
         // lazily initialize repository if necessary
         if (genericInfo == null) {
             // create and cache generic info repository
@@ -119,8 +117,7 @@ public final
            String signature,
            byte[] annotations,
            byte[] parameterAnnotations,
-           byte[] annotationDefault)
-    {
+           byte[] annotationDefault) {
         this.clazz = declaringClass;
         this.name = name;
         this.parameterTypes = parameterTypes;
@@ -156,10 +153,20 @@ public final
         return res;
     }
 
+    @Override
+    boolean hasGenericInformation() {
+        return (getGenericSignature() != null);
+    }
+
+    @Override
+    byte[] getAnnotationBytes() {
+        return annotations;
+    }
+
     /**
-     * Returns the {@code Class} object representing the class or interface
-     * that declares the method represented by this {@code Method} object.
+     * {@inheritDoc}
      */
+    @Override
     public Class<?> getDeclaringClass() {
         return clazz;
     }
@@ -168,36 +175,25 @@ public final
      * Returns the name of the method represented by this {@code Method}
      * object, as a {@code String}.
      */
+    @Override
     public String getName() {
         return name;
     }
 
     /**
-     * Returns the Java language modifiers for the method represented
-     * by this {@code Method} object, as an integer. The {@code Modifier} class should
-     * be used to decode the modifiers.
-     *
-     * @see Modifier
+     * {@inheritDoc}
      */
+    @Override
     public int getModifiers() {
         return modifiers;
     }
 
     /**
-     * Returns an array of {@code TypeVariable} objects that represent the
-     * type variables declared by the generic declaration represented by this
-     * {@code GenericDeclaration} object, in declaration order.  Returns an
-     * array of length 0 if the underlying generic declaration declares no type
-     * variables.
-     *
-     * @return an array of {@code TypeVariable} objects that represent
-     *     the type variables declared by this generic declaration
-     * @throws GenericSignatureFormatError if the generic
-     *     signature of this generic declaration does not conform to
-     *     the format specified in
-     *     <cite>The Java™ Virtual Machine Specification</cite>
+     * {@inheritDoc}
+     * @throws GenericSignatureFormatError {@inheritDoc}
      * @since 1.5
      */
+    @Override
     public TypeVariable<Method>[] getTypeParameters() {
         if (getGenericSignature() != null)
             return (TypeVariable<Method>[])getGenericInfo().getTypeParameters();
@@ -245,99 +241,45 @@ public final
       } else { return getReturnType();}
     }
 
-
     /**
-     * Returns an array of {@code Class} objects that represent the formal
-     * parameter types, in declaration order, of the method
-     * represented by this {@code Method} object.  Returns an array of length
-     * 0 if the underlying method takes no parameters.
-     *
-     * @return the parameter types for the method this object
-     * represents
+     * {@inheritDoc}
      */
+    @Override
     public Class<?>[] getParameterTypes() {
         return (Class<?>[]) parameterTypes.clone();
     }
 
     /**
-     * Returns an array of {@code Type} objects that represent the formal
-     * parameter types, in declaration order, of the method represented by
-     * this {@code Method} object. Returns an array of length 0 if the
-     * underlying method takes no parameters.
-     *
-     * <p>If a formal parameter type is a parameterized type,
-     * the {@code Type} object returned for it must accurately reflect
-     * the actual type parameters used in the source code.
-     *
-     * <p>If a formal parameter type is a type variable or a parameterized
-     * type, it is created. Otherwise, it is resolved.
-     *
-     * @return an array of Types that represent the formal
-     *     parameter types of the underlying method, in declaration order
-     * @throws GenericSignatureFormatError
-     *     if the generic method signature does not conform to the format
-     *     specified in
-     *     <cite>The Java™ Virtual Machine Specification</cite>
-     * @throws TypeNotPresentException if any of the parameter
-     *     types of the underlying method refers to a non-existent type
-     *     declaration
-     * @throws MalformedParameterizedTypeException if any of
-     *     the underlying method's parameter types refer to a parameterized
-     *     type that cannot be instantiated for any reason
+     * {@inheritDoc}
+     * @throws GenericSignatureFormatError {@inheritDoc}
+     * @throws TypeNotPresentException {@inheritDoc}
+     * @throws MalformedParameterizedTypeException {@inheritDoc}
      * @since 1.5
      */
+    @Override
     public Type[] getGenericParameterTypes() {
-        if (getGenericSignature() != null)
-            return getGenericInfo().getParameterTypes();
-        else
-            return getParameterTypes();
+        return super.getGenericParameterTypes();
     }
 
-
     /**
-     * Returns an array of {@code Class} objects that represent
-     * the types of the exceptions declared to be thrown
-     * by the underlying method
-     * represented by this {@code Method} object.  Returns an array of length
-     * 0 if the method declares no exceptions in its {@code throws} clause.
-     *
-     * @return the exception types declared as being thrown by the
-     * method this object represents
+     * {@inheritDoc}
      */
+    @Override
     public Class<?>[] getExceptionTypes() {
         return (Class<?>[]) exceptionTypes.clone();
     }
 
     /**
-     * Returns an array of {@code Type} objects that represent the
-     * exceptions declared to be thrown by this {@code Method} object.
-     * Returns an array of length 0 if the underlying method declares
-     * no exceptions in its {@code throws} clause.
-     *
-     * <p>If an exception type is a type variable or a parameterized
-     * type, it is created. Otherwise, it is resolved.
-     *
-     * @return an array of Types that represent the exception types
-     *     thrown by the underlying method
-     * @throws GenericSignatureFormatError
-     *     if the generic method signature does not conform to the format
-     *     specified in
-     *     <cite>The Java™ Virtual Machine Specification</cite>
-     * @throws TypeNotPresentException if the underlying method's
-     *     {@code throws} clause refers to a non-existent type declaration
-     * @throws MalformedParameterizedTypeException if
-     *     the underlying method's {@code throws} clause refers to a
-     *     parameterized type that cannot be instantiated for any reason
+     * {@inheritDoc}
+     * @throws GenericSignatureFormatError {@inheritDoc}
+     * @throws TypeNotPresentException {@inheritDoc}
+     * @throws MalformedParameterizedTypeException {@inheritDoc}
      * @since 1.5
      */
-      public Type[] getGenericExceptionTypes() {
-          Type[] result;
-          if (getGenericSignature() != null &&
-              ((result = getGenericInfo().getExceptionTypes()).length > 0))
-              return result;
-          else
-              return getExceptionTypes();
-      }
+    @Override
+    public Type[] getGenericExceptionTypes() {
+        return super.getGenericExceptionTypes();
+    }
 
     /**
      * Compares this {@code Method} against the specified object.  Returns
@@ -352,16 +294,7 @@ public final
                 && (getName() == other.getName())) {
                 if (!returnType.equals(other.getReturnType()))
                     return false;
-                /* Avoid unnecessary cloning */
-                Class<?>[] params1 = parameterTypes;
-                Class<?>[] params2 = other.parameterTypes;
-                if (params1.length == params2.length) {
-                    for (int i = 0; i < params1.length; i++) {
-                        if (params1[i] != params2[i])
-                            return false;
-                    }
-                    return true;
-                }
+                return equalParamTypes(parameterTypes, other.parameterTypes);
             }
         }
         return false;
@@ -399,35 +332,16 @@ public final
      * {@code synchronized}, {@code native}, {@code strictfp}.
      */
     public String toString() {
-        try {
-            StringBuilder sb = new StringBuilder();
-            int mod = getModifiers() & Modifier.methodModifiers();
-            if (mod != 0) {
-                sb.append(Modifier.toString(mod)).append(' ');
-            }
-            sb.append(Field.getTypeName(getReturnType())).append(' ');
-            sb.append(Field.getTypeName(getDeclaringClass())).append('.');
-            sb.append(getName()).append('(');
-            Class<?>[] params = parameterTypes; // avoid clone
-            for (int j = 0; j < params.length; j++) {
-                sb.append(Field.getTypeName(params[j]));
-                if (j < (params.length - 1))
-                    sb.append(',');
-            }
-            sb.append(')');
-            Class<?>[] exceptions = exceptionTypes; // avoid clone
-            if (exceptions.length > 0) {
-                sb.append(" throws ");
-                for (int k = 0; k < exceptions.length; k++) {
-                    sb.append(exceptions[k].getName());
-                    if (k < (exceptions.length - 1))
-                        sb.append(',');
-                }
-            }
-            return sb.toString();
-        } catch (Exception e) {
-            return "<" + e + ">";
-        }
+        return sharedToString(Modifier.methodModifiers(),
+                              parameterTypes,
+                              exceptionTypes);
+    }
+
+    @Override
+    void specificToStringHeader(StringBuilder sb) {
+        sb.append(Field.getTypeName(getReturnType())).append(' ');
+        sb.append(Field.getTypeName(getDeclaringClass())).append('.');
+        sb.append(getName());
     }
 
     /**
@@ -468,62 +382,20 @@ public final
      *
      * @since 1.5
      */
+    @Override
     public String toGenericString() {
-        try {
-            StringBuilder sb = new StringBuilder();
-            int mod = getModifiers() & Modifier.methodModifiers();
-            if (mod != 0) {
-                sb.append(Modifier.toString(mod)).append(' ');
-            }
-            TypeVariable<?>[] typeparms = getTypeParameters();
-            if (typeparms.length > 0) {
-                boolean first = true;
-                sb.append('<');
-                for(TypeVariable<?> typeparm: typeparms) {
-                    if (!first)
-                        sb.append(',');
-                    // Class objects can't occur here; no need to test
-                    // and call Class.getName().
-                    sb.append(typeparm.toString());
-                    first = false;
-                }
-                sb.append("> ");
-            }
+        return sharedToGenericString(Modifier.methodModifiers());
+    }
 
-            Type genRetType = getGenericReturnType();
-            sb.append( ((genRetType instanceof Class<?>)?
-                        Field.getTypeName((Class<?>)genRetType):genRetType.toString()))
-                    .append(' ');
-
-            sb.append(Field.getTypeName(getDeclaringClass())).append('.');
-            sb.append(getName()).append('(');
-            Type[] params = getGenericParameterTypes();
-            for (int j = 0; j < params.length; j++) {
-                String param = (params[j] instanceof Class)?
-                    Field.getTypeName((Class)params[j]):
-                    (params[j].toString());
-                if (isVarArgs() && (j == params.length - 1)) // replace T[] with T...
-                    param = param.replaceFirst("\\[\\]$", "...");
-                sb.append(param);
-                if (j < (params.length - 1))
-                    sb.append(',');
-            }
-            sb.append(')');
-            Type[] exceptions = getGenericExceptionTypes();
-            if (exceptions.length > 0) {
-                sb.append(" throws ");
-                for (int k = 0; k < exceptions.length; k++) {
-                    sb.append((exceptions[k] instanceof Class)?
-                              ((Class)exceptions[k]).getName():
-                              exceptions[k].toString());
-                    if (k < (exceptions.length - 1))
-                        sb.append(',');
-                }
-            }
-            return sb.toString();
-        } catch (Exception e) {
-            return "<" + e + ">";
-        }
+    @Override
+    void specificToGenericStringHeader(StringBuilder sb) {
+        Type genRetType = getGenericReturnType();
+        sb.append( ((genRetType instanceof Class<?>)?
+                    Field.getTypeName((Class<?>)genRetType):genRetType.toString()))
+            .append(' ');
+
+        sb.append(Field.getTypeName(getDeclaringClass())).append('.');
+        sb.append(getName());
     }
 
     /**
@@ -614,28 +486,21 @@ public final
     }
 
     /**
-     * Returns {@code true} if this method was declared to take
-     * a variable number of arguments; returns {@code false}
-     * otherwise.
-     *
-     * @return {@code true} if an only if this method was declared to
-     * take a variable number of arguments.
+     * {@inheritDoc}
      * @since 1.5
      */
+    @Override
     public boolean isVarArgs() {
-        return (getModifiers() & Modifier.VARARGS) != 0;
+        return super.isVarArgs();
     }
 
     /**
-     * Returns {@code true} if this method is a synthetic
-     * method; returns {@code false} otherwise.
-     *
-     * @return true if and only if this method is a synthetic
-     * method as defined by the Java Language Specification.
+     * {@inheritDoc}
      * @since 1.5
      */
+    @Override
     public boolean isSynthetic() {
-        return Modifier.isSynthetic(getModifiers());
+        return super.isSynthetic();
     }
 
     // NOTE that there is no synchronization used here. It is correct
@@ -675,36 +540,6 @@ public final
     }
 
     /**
-     * @throws NullPointerException {@inheritDoc}
-     * @since 1.5
-     */
-    public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
-        if (annotationClass == null)
-            throw new NullPointerException();
-
-        return (T) declaredAnnotations().get(annotationClass);
-    }
-
-    /**
-     * @since 1.5
-     */
-    public Annotation[] getDeclaredAnnotations()  {
-        return AnnotationParser.toArray(declaredAnnotations());
-    }
-
-    private transient Map<Class<? extends Annotation>, Annotation> declaredAnnotations;
-
-    private synchronized  Map<Class<? extends Annotation>, Annotation> declaredAnnotations() {
-        if (declaredAnnotations == null) {
-            declaredAnnotations = AnnotationParser.parseAnnotations(
-                annotations, sun.misc.SharedSecrets.getJavaLangAccess().
-                getConstantPool(getDeclaringClass()),
-                getDeclaringClass());
-        }
-        return declaredAnnotations;
-    }
-
-    /**
      * Returns the default value for the annotation member represented by
      * this {@code Method} instance.  If the member is of a primitive type,
      * an instance of the corresponding wrapper type is returned. Returns
@@ -734,34 +569,33 @@ public final
     }
 
     /**
-     * Returns an array of arrays that represent the annotations on the formal
-     * parameters, in declaration order, of the method represented by
-     * this {@code Method} object. (Returns an array of length zero if the
-     * underlying method is parameterless.  If the method has one or more
-     * parameters, a nested array of length zero is returned for each parameter
-     * with no annotations.) The annotation objects contained in the returned
-     * arrays are serializable.  The caller of this method is free to modify
-     * the returned arrays; it will have no effect on the arrays returned to
-     * other callers.
-     *
-     * @return an array of arrays that represent the annotations on the formal
-     *    parameters, in declaration order, of the method represented by this
-     *    Method object
+     * {@inheritDoc}
+     * @throws NullPointerException  {@inheritDoc}
      * @since 1.5
      */
+    public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
+        return super.getAnnotation(annotationClass);
+    }
+
+    /**
+     * {@inheritDoc}
+     * @since 1.5
+     */
+    public Annotation[] getDeclaredAnnotations()  {
+        return super.getDeclaredAnnotations();
+    }
+
+    /**
+     * {@inheritDoc}
+     * @since 1.5
+     */
+    @Override
     public Annotation[][] getParameterAnnotations() {
-        int numParameters = parameterTypes.length;
-        if (parameterAnnotations == null)
-            return new Annotation[numParameters][0];
+        return sharedGetParameterAnnotations(parameterTypes, parameterAnnotations);
+    }
 
-        Annotation[][] result = AnnotationParser.parseParameterAnnotations(
-            parameterAnnotations,
-            sun.misc.SharedSecrets.getJavaLangAccess().
-                getConstantPool(getDeclaringClass()),
-            getDeclaringClass());
-        if (result.length != numParameters)
-            throw new java.lang.annotation.AnnotationFormatError(
-                "Parameter annotations don't match number of parameters");
-        return result;
+    @Override
+    void handleParameterNumberMismatch(int resultLength, int numParameters) {
+        throw new AnnotationFormatError("Parameter annotations don't match number of parameters");
     }
 }
diff --git a/jdk/src/share/classes/java/net/DatagramSocket.java b/jdk/src/share/classes/java/net/DatagramSocket.java
index 8feaefb..31db339 100644
--- a/jdk/src/share/classes/java/net/DatagramSocket.java
+++ b/jdk/src/share/classes/java/net/DatagramSocket.java
@@ -176,13 +176,7 @@ class DatagramSocket implements java.io.Closeable {
     public DatagramSocket() throws SocketException {
         // create a datagram socket.
         createImpl();
-        try {
-            bind(new InetSocketAddress(0));
-        } catch (SocketException se) {
-            throw se;
-        } catch(IOException e) {
-            throw new SocketException(e.getMessage());
-        }
+        bind(new InetSocketAddress(0));
     }
 
     /**
diff --git a/jdk/src/share/classes/java/net/ServerSocket.java b/jdk/src/share/classes/java/net/ServerSocket.java
index e48bb7f..86bc174 100644
--- a/jdk/src/share/classes/java/net/ServerSocket.java
+++ b/jdk/src/share/classes/java/net/ServerSocket.java
@@ -716,7 +716,6 @@ class ServerSocket implements java.io.Closeable {
         if (!isBound())
             return "ServerSocket[unbound]";
         return "ServerSocket[addr=" + impl.getInetAddress() +
-                ",port=" + impl.getPort() +
                 ",localport=" + impl.getLocalPort()  + "]";
     }
 
diff --git a/jdk/src/share/classes/java/net/SocketPermission.java b/jdk/src/share/classes/java/net/SocketPermission.java
index 41fbdbf..a0fdbb8 100644
--- a/jdk/src/share/classes/java/net/SocketPermission.java
+++ b/jdk/src/share/classes/java/net/SocketPermission.java
@@ -956,10 +956,16 @@ implements java.io.Serializable
         String thisHost = hostname;
         String thatHost = that.hostname;
 
-        if (thisHost == null)
+        if (thisHost == null) {
             return false;
-        else
+        } else if (this.wildcard) {
+            final int cnameLength = this.cname.length();
+            return thatHost.regionMatches(true,
+                                          (thatHost.length() - cnameLength),
+                                          this.cname, 0, cnameLength);
+        } else {
             return thisHost.equalsIgnoreCase(thatHost);
+        }
     }
 
     /**
diff --git a/jdk/src/share/classes/java/nio/X-Buffer.java.template b/jdk/src/share/classes/java/nio/X-Buffer.java.template
index 1edc0ab..49fec52 100644
--- a/jdk/src/share/classes/java/nio/X-Buffer.java.template
+++ b/jdk/src/share/classes/java/nio/X-Buffer.java.template
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1080,7 +1080,11 @@ public abstract class $Type$Buffer
         int h = 1;
         int p = position();
         for (int i = limit() - 1; i >= p; i--)
+#if[int]
+            h = 31 * h + get(i);
+#else[int]
             h = 31 * h + (int)get(i);
+#end[int]
         return h;
     }
 
diff --git a/jdk/src/share/classes/java/nio/channels/AsynchronousFileChannel.java b/jdk/src/share/classes/java/nio/channels/AsynchronousFileChannel.java
index babd2b7..c47ba42 100644
--- a/jdk/src/share/classes/java/nio/channels/AsynchronousFileChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/AsynchronousFileChannel.java
@@ -248,6 +248,7 @@ public abstract class AsynchronousFileChannel
         return provider.newAsynchronousFileChannel(file, options, executor, attrs);
     }
 
+    @SuppressWarnings({ "unchecked", "rawtypes" }) // generic array construction
     private static final FileAttribute<?>[] NO_ATTRIBUTES = new FileAttribute[0];
 
     /**
diff --git a/jdk/src/share/classes/java/nio/channels/FileChannel.java b/jdk/src/share/classes/java/nio/channels/FileChannel.java
index 5c71a1f..1a6dc5f 100644
--- a/jdk/src/share/classes/java/nio/channels/FileChannel.java
+++ b/jdk/src/share/classes/java/nio/channels/FileChannel.java
@@ -287,6 +287,7 @@ public abstract class FileChannel
         return provider.newFileChannel(path, options, attrs);
     }
 
+    @SuppressWarnings({ "unchecked", "rawtypes" }) // generic array construction
     private static final FileAttribute<?>[] NO_ATTRIBUTES = new FileAttribute[0];
 
     /**
diff --git a/jdk/src/share/classes/java/nio/charset/Charset.java b/jdk/src/share/classes/java/nio/charset/Charset.java
index 1a30ba9..53b0d2b 100644
--- a/jdk/src/share/classes/java/nio/charset/Charset.java
+++ b/jdk/src/share/classes/java/nio/charset/Charset.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,7 +29,6 @@ import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 import java.nio.charset.spi.CharsetProvider;
 import java.security.AccessController;
-import java.security.AccessControlException;
 import java.security.PrivilegedAction;
 import java.util.Collections;
 import java.util.HashSet;
@@ -339,15 +338,15 @@ public abstract class Charset
     // those whose lookup or instantiation causes a security exception to be
     // thrown.  Should be invoked with full privileges.
     //
-    private static Iterator providers() {
-        return new Iterator() {
+    private static Iterator<CharsetProvider> providers() {
+        return new Iterator<CharsetProvider>() {
 
                 ClassLoader cl = ClassLoader.getSystemClassLoader();
                 ServiceLoader<CharsetProvider> sl =
                     ServiceLoader.load(CharsetProvider.class, cl);
                 Iterator<CharsetProvider> i = sl.iterator();
 
-                Object next = null;
+                CharsetProvider next = null;
 
                 private boolean getNext() {
                     while (next == null) {
@@ -370,10 +369,10 @@ public abstract class Charset
                     return getNext();
                 }
 
-                public Object next() {
+                public CharsetProvider next() {
                     if (!getNext())
                         throw new NoSuchElementException();
-                    Object n = next;
+                    CharsetProvider n = next;
                     next = null;
                     return n;
                 }
@@ -386,7 +385,8 @@ public abstract class Charset
     }
 
     // Thread-local gate to prevent recursive provider lookups
-    private static ThreadLocal<ThreadLocal> gate = new ThreadLocal<ThreadLocal>();
+    private static ThreadLocal<ThreadLocal<?>> gate =
+            new ThreadLocal<ThreadLocal<?>>();
 
     private static Charset lookupViaProviders(final String charsetName) {
 
@@ -410,8 +410,9 @@ public abstract class Charset
             return AccessController.doPrivileged(
                 new PrivilegedAction<Charset>() {
                     public Charset run() {
-                        for (Iterator i = providers(); i.hasNext();) {
-                            CharsetProvider cp = (CharsetProvider)i.next();
+                        for (Iterator<CharsetProvider> i = providers();
+                             i.hasNext();) {
+                            CharsetProvider cp = i.next();
                             Charset cs = cp.charsetForName(charsetName);
                             if (cs != null)
                                 return cs;
@@ -588,8 +589,8 @@ public abstract class Charset
                         new TreeMap<String,Charset>(
                             ASCIICaseInsensitiveComparator.CASE_INSENSITIVE_ORDER);
                     put(standardProvider.charsets(), m);
-                    for (Iterator i = providers(); i.hasNext();) {
-                        CharsetProvider cp = (CharsetProvider)i.next();
+                    for (Iterator<CharsetProvider> i = providers(); i.hasNext();) {
+                        CharsetProvider cp = i.next();
                         put(cp.charsets(), m);
                     }
                     return Collections.unmodifiableSortedMap(m);
diff --git a/jdk/src/share/classes/java/security/KeyStore.java b/jdk/src/share/classes/java/security/KeyStore.java
index af44dd7..26faa9c 100644
--- a/jdk/src/share/classes/java/security/KeyStore.java
+++ b/jdk/src/share/classes/java/security/KeyStore.java
@@ -113,14 +113,8 @@ import javax.security.auth.callback.*;
  *    // get user password and file input stream
  *    char[] password = getPassword();
  *
- *    java.io.FileInputStream fis = null;
- *    try {
- *        fis = new java.io.FileInputStream("keyStoreName");
+ *    try (FileInputStream fis = new FileInputStream("keyStoreName")) {
  *        ks.load(fis, password);
- *    } finally {
- *        if (fis != null) {
- *            fis.close();
- *        }
  *    }
  * </pre>
  *
@@ -146,14 +140,8 @@ import javax.security.auth.callback.*;
  *    ks.setEntry("secretKeyAlias", skEntry, protParam);
  *
  *    // store away the keystore
- *    java.io.FileOutputStream fos = null;
- *    try {
- *        fos = new java.io.FileOutputStream("newKeyStoreName");
+ *    try (FileOutputStream fos = new FileOutputStream("newKeyStoreName")) {
  *        ks.store(fos, password);
- *    } finally {
- *        if (fos != null) {
- *            fos.close();
- *        }
  *    }
  * </pre>
  *
diff --git a/jdk/src/share/classes/java/security/cert/X509CRL.java b/jdk/src/share/classes/java/security/cert/X509CRL.java
index 0998f36..4c5a4c8 100644
--- a/jdk/src/share/classes/java/security/cert/X509CRL.java
+++ b/jdk/src/share/classes/java/security/cert/X509CRL.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -94,15 +94,9 @@ import sun.security.x509.X509CRLImpl;
  * CRLs are instantiated using a certificate factory. The following is an
  * example of how to instantiate an X.509 CRL:
  * <pre><code>
- * InputStream inStream = null;
- * try {
- *     inStream = new FileInputStream("fileName-of-crl");
+ * try (InputStream inStream = new FileInputStream("fileName-of-crl")) {
  *     CertificateFactory cf = CertificateFactory.getInstance("X.509");
  *     X509CRL crl = (X509CRL)cf.generateCRL(inStream);
- * } finally {
- *     if (inStream != null) {
- *         inStream.close();
- *     }
  * }
  * </code></pre>
  *
diff --git a/jdk/src/share/classes/java/security/cert/X509Certificate.java b/jdk/src/share/classes/java/security/cert/X509Certificate.java
index cb0e548..60367d4 100644
--- a/jdk/src/share/classes/java/security/cert/X509Certificate.java
+++ b/jdk/src/share/classes/java/security/cert/X509Certificate.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -89,15 +89,9 @@ import sun.security.x509.X509CertImpl;
  * Certificates are instantiated using a certificate factory. The following is
  * an example of how to instantiate an X.509 certificate:
  * <pre>
- * InputStream inStream = null;
- * try {
- *     inStream = new FileInputStream("fileName-of-cert");
+ * try (InputStream inStream = new FileInputStream("fileName-of-cert")) {
  *     CertificateFactory cf = CertificateFactory.getInstance("X.509");
  *     X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream);
- * } finally {
- *     if (inStream != null) {
- *         inStream.close();
- *     }
  * }
  * </pre>
  *
diff --git a/jdk/src/share/classes/java/security/cert/X509Extension.java b/jdk/src/share/classes/java/security/cert/X509Extension.java
index 6f6c51b..e2c362e 100644
--- a/jdk/src/share/classes/java/security/cert/X509Extension.java
+++ b/jdk/src/share/classes/java/security/cert/X509Extension.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -85,16 +85,10 @@ public interface X509Extension {
      * Here is sample code to get a Set of critical extensions from an
      * X509Certificate and print the OIDs:
      * <pre><code>
-     * InputStream inStrm = null;
      * X509Certificate cert = null;
-     * try {
-     *     inStrm = new FileInputStream("DER-encoded-Cert");
+     * try (InputStream inStrm = new FileInputStream("DER-encoded-Cert")) {
      *     CertificateFactory cf = CertificateFactory.getInstance("X.509");
      *     cert = (X509Certificate)cf.generateCertificate(inStrm);
-     * } finally {
-     *     if (inStrm != null) {
-     *         inStrm.close();
-     *     }
      * }<p>
      *
      * Set<String> critSet = cert.getCriticalExtensionOIDs();
@@ -120,23 +114,16 @@ public interface X509Extension {
      * Here is sample code to get a Set of non-critical extensions from an
      * X509CRL revoked certificate entry and print the OIDs:
      * <pre><code>
-     * InputStream inStrm = null;
      * CertificateFactory cf = null;
      * X509CRL crl = null;
-     * try {
-     *     inStrm = new FileInputStream("DER-encoded-CRL");
+     * try (InputStream inStrm = new FileInputStream("DER-encoded-CRL")) {
      *     cf = CertificateFactory.getInstance("X.509");
      *     crl = (X509CRL)cf.generateCRL(inStrm);
-     * } finally {
-     *     if (inStrm != null) {
-     *         inStrm.close();
-     *     }
      * }<p>
      *
      * byte[] certData = <DER-encoded certificate data>
      * ByteArrayInputStream bais = new ByteArrayInputStream(certData);
      * X509Certificate cert = (X509Certificate)cf.generateCertificate(bais);
-     * bais.close();
      * X509CRLEntry badCert =
      *              crl.getRevokedCertificate(cert.getSerialNumber());<p>
      *
diff --git a/jdk/src/share/classes/javax/swing/RepaintManager.java b/jdk/src/share/classes/javax/swing/RepaintManager.java
index 5a6e15e..59749fc 100644
--- a/jdk/src/share/classes/javax/swing/RepaintManager.java
+++ b/jdk/src/share/classes/javax/swing/RepaintManager.java
@@ -758,6 +758,11 @@ public class RepaintManager
             for(i=0 ; i < count ; i++) {
                 dirtyComponent = roots.get(i);
                 rect = tmpDirtyComponents.get(dirtyComponent);
+                // Sometimes when RepaintManager is changed during the painting
+                // we may get null here, see #6995769 for details
+                if (rect == null) {
+                    continue;
+                }
                 localBoundsH = dirtyComponent.getHeight();
                 localBoundsW = dirtyComponent.getWidth();
 
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
index 9e1b056..38f591b 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
@@ -63,8 +63,7 @@ import java.io.Serializable;
 public class BasicComboPopup extends JPopupMenu implements ComboPopup {
     // An empty ListMode, this is used when the UI changes to allow
     // the JList to be gc'ed.
-    private static class EmptyListModelClass implements ListModel,
-                                                        Serializable {
+    private static class EmptyListModelClass implements ListModel<Object>, Serializable {
         public int getSize() { return 0; }
         public Object getElementAt(int index) { return null; }
         public void addListDataListener(ListDataListener l) {}
diff --git a/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java b/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java
index 3416636..21623c1 100644
--- a/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java
@@ -810,10 +810,7 @@ public class BasicFileChooserUI extends FileChooserUI {
             putValue(Action.ACTION_COMMAND_KEY, FilePane.ACTION_CHANGE_TO_PARENT_DIRECTORY);
         }
         public void actionPerformed(ActionEvent e) {
-            Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
-            if (focusOwner == null || !(focusOwner instanceof javax.swing.text.JTextComponent)) {
-                getFileChooser().changeToParentDirectory();
-            }
+            getFileChooser().changeToParentDirectory();
         }
     }
 
diff --git a/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java b/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java
index 0667541..f06d6d7 100644
--- a/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java
+++ b/jdk/src/share/classes/javax/swing/plaf/metal/MetalLookAndFeel.java
@@ -2167,7 +2167,7 @@ public class MetalLookAndFeel extends BasicLookAndFeel
     /**
      * Returns a {@code LayoutStyle} implementing the Java look and feel
      * design guidelines as specified at
-     * <a href="http://java.sun.com/products/jlf/ed2/book/HIG.Visual2.html">http://java.sun.com/products/jlf/ed2/book/HIG.Visual2.html</a>.
+     * <a href="http://www.oracle.com/technetwork/java/hig-136467.html">http://www.oracle.com/technetwork/java/hig-136467.html</a>.
      *
      * @return LayoutStyle implementing the Java look and feel design
      *         guidelines
diff --git a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java
index 45a9028..e9ca8ca 100644
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java
@@ -444,7 +444,7 @@ public class SynthComboBoxUI extends BasicComboBoxUI implements
      * renderer installed on a Synth combo box is a JLabel. If this is changed,
      * then an assert will fail in SynthFileChooserUIImpl
      */
-    private class SynthComboBoxRenderer extends JLabel implements ListCellRenderer, UIResource {
+    private class SynthComboBoxRenderer extends JLabel implements ListCellRenderer<Object>, UIResource {
         public SynthComboBoxRenderer() {
             super();
             setName("ComboBox.renderer");
@@ -452,7 +452,7 @@ public class SynthComboBoxUI extends BasicComboBoxUI implements
         }
 
         @Override
-        public Component getListCellRendererComponent(JList list, Object value,
+        public Component getListCellRendererComponent(JList<?> list, Object value,
                          int index, boolean isSelected, boolean cellHasFocus) {
             setName("ComboBox.listRenderer");
             SynthLookAndFeel.resetSelectedUI();
diff --git a/jdk/src/share/classes/javax/swing/text/html/FormView.java b/jdk/src/share/classes/javax/swing/text/html/FormView.java
index c23f249..2946372 100644
--- a/jdk/src/share/classes/javax/swing/text/html/FormView.java
+++ b/jdk/src/share/classes/javax/swing/text/html/FormView.java
@@ -725,11 +725,11 @@ public class FormView extends ComponentView implements ActionListener {
         }
         Object m = attr.getAttribute(StyleConstants.ModelAttribute);
         if (m instanceof OptionListModel) {
-            OptionListModel model = (OptionListModel)m;
+            OptionListModel<Option> model = (OptionListModel<Option>) m;
 
             for (int i = 0; i < model.getSize(); i++) {
                 if (model.isSelectedIndex(i)) {
-                    Option option = (Option) model.getElementAt(i);
+                    Option option = model.getElementAt(i);
                     appendBuffer(buffer, name, option.getValue());
                 }
             }
diff --git a/jdk/src/share/classes/javax/swing/text/html/HTMLDocument.java b/jdk/src/share/classes/javax/swing/text/html/HTMLDocument.java
index 0db69e9..1ce7893 100644
--- a/jdk/src/share/classes/javax/swing/text/html/HTMLDocument.java
+++ b/jdk/src/share/classes/javax/swing/text/html/HTMLDocument.java
@@ -3358,13 +3358,13 @@ public class HTMLDocument extends DefaultStyledDocument {
                                                              1);
                     boolean multiple = attr.getAttribute(HTML.Attribute.MULTIPLE) != null;
                     if ((size > 1) || multiple) {
-                        OptionListModel m = new OptionListModel();
+                        OptionListModel<Option> m = new OptionListModel<Option>();
                         if (multiple) {
                             m.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
                         }
                         selectModel = m;
                     } else {
-                        selectModel = new OptionComboBoxModel();
+                        selectModel = new OptionComboBoxModel<Option>();
                     }
                     attr.addAttribute(StyleConstants.ModelAttribute,
                                       selectModel);
@@ -3376,14 +3376,14 @@ public class HTMLDocument extends DefaultStyledDocument {
                     option = new Option(attr);
 
                     if (selectModel instanceof OptionListModel) {
-                        OptionListModel m = (OptionListModel)selectModel;
+                        OptionListModel<Option> m = (OptionListModel<Option>) selectModel;
                         m.addElement(option);
                         if (option.isSelected()) {
                             m.addSelectionInterval(optionCount, optionCount);
                             m.setInitialSelection(optionCount);
                         }
                     } else if (selectModel instanceof OptionComboBoxModel) {
-                        OptionComboBoxModel m = (OptionComboBoxModel)selectModel;
+                        OptionComboBoxModel<Option> m = (OptionComboBoxModel<Option>) selectModel;
                         m.addElement(option);
                         if (option.isSelected()) {
                             m.setSelectedItem(option);
diff --git a/jdk/src/share/classes/javax/swing/text/html/HTMLWriter.java b/jdk/src/share/classes/javax/swing/text/html/HTMLWriter.java
index 5491bc2..4f1d0d8 100644
--- a/jdk/src/share/classes/javax/swing/text/html/HTMLWriter.java
+++ b/jdk/src/share/classes/javax/swing/text/html/HTMLWriter.java
@@ -527,17 +527,17 @@ public class HTMLWriter extends AbstractWriter {
         Object model = attr.getAttribute(StyleConstants.ModelAttribute);
         incrIndent();
         if (model instanceof OptionListModel) {
-            OptionListModel listModel = (OptionListModel)model;
+            OptionListModel<Option> listModel = (OptionListModel<Option>) model;
             int size = listModel.getSize();
             for (int i = 0; i < size; i++) {
-                Option option = (Option)listModel.getElementAt(i);
+                Option option = listModel.getElementAt(i);
                 writeOption(option);
             }
         } else if (model instanceof OptionComboBoxModel) {
-            OptionComboBoxModel comboBoxModel = (OptionComboBoxModel)model;
+            OptionComboBoxModel<Option> comboBoxModel = (OptionComboBoxModel<Option>) model;
             int size = comboBoxModel.getSize();
             for (int i = 0; i < size; i++) {
-                Option option = (Option)comboBoxModel.getElementAt(i);
+                Option option = comboBoxModel.getElementAt(i);
                 writeOption(option);
             }
         }
diff --git a/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java b/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java
index 66c67f1..363be1d 100644
--- a/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java
+++ b/jdk/src/share/classes/javax/swing/text/html/OptionComboBoxModel.java
@@ -25,7 +25,6 @@
 package javax.swing.text.html;
 
 import javax.swing.*;
-import javax.swing.event.*;
 import java.io.Serializable;
 
 
@@ -41,7 +40,7 @@ import java.io.Serializable;
   @author Sunita Mani
  */
 
-class OptionComboBoxModel extends DefaultComboBoxModel implements Serializable {
+class OptionComboBoxModel<E> extends DefaultComboBoxModel<E> implements Serializable {
 
     private Option selectedOption = null;
 
diff --git a/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java b/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java
index 696ddfd..0cd680b 100644
--- a/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java
+++ b/jdk/src/share/classes/javax/swing/text/html/OptionListModel.java
@@ -26,7 +26,6 @@ package javax.swing.text.html;
 
 import javax.swing.*;
 import javax.swing.event.*;
-import java.util.EventListener;
 import java.util.BitSet;
 import java.io.Serializable;
 
@@ -44,7 +43,7 @@ import java.io.Serializable;
   @author Sunita Mani
  */
 
-class OptionListModel extends DefaultListModel implements ListSelectionModel, Serializable {
+class OptionListModel<E> extends DefaultListModel<E> implements ListSelectionModel, Serializable {
 
 
     private static final int MIN = -1;
diff --git a/jdk/src/share/classes/sun/awt/AWTAccessor.java b/jdk/src/share/classes/sun/awt/AWTAccessor.java
index d7f70ce..e8f5ca1 100644
--- a/jdk/src/share/classes/sun/awt/AWTAccessor.java
+++ b/jdk/src/share/classes/sun/awt/AWTAccessor.java
@@ -25,15 +25,12 @@
 
 package sun.awt;
 
+import sun.misc.Unsafe;
+
 import java.awt.*;
 import java.awt.event.InputEvent;
 import java.awt.geom.Point2D;
-import java.awt.image.BufferedImage;
-
-import sun.misc.Unsafe;
 import java.awt.peer.ComponentPeer;
-
-import java.security.AccessController;
 import java.security.AccessControlContext;
 
 /**
@@ -471,6 +468,17 @@ public final class AWTAccessor {
     }
 
     /*
+     * An accessor for the ScrollPaneAdjustable class.
+     */
+    public interface ScrollPaneAdjustableAccessor {
+        /*
+         * Sets the value of this scrollbar to the specified value.
+         */
+        void setTypedValue(final ScrollPaneAdjustable adj, final int v,
+                           final int type);
+    }
+
+    /*
      * Accessor instances are initialized in the static initializers of
      * corresponding AWT classes by using setters defined below.
      */
@@ -485,6 +493,7 @@ public final class AWTAccessor {
     private static EventQueueAccessor eventQueueAccessor;
     private static PopupMenuAccessor popupMenuAccessor;
     private static FileDialogAccessor fileDialogAccessor;
+    private static ScrollPaneAdjustableAccessor scrollPaneAdjustableAccessor;
 
     /*
      * Set an accessor object for the java.awt.Component class.
@@ -675,4 +684,21 @@ public final class AWTAccessor {
         return fileDialogAccessor;
     }
 
+    /*
+     * Set an accessor object for the java.awt.ScrollPaneAdjustable class.
+     */
+    public static void setScrollPaneAdjustableAccessor(ScrollPaneAdjustableAccessor adj) {
+        scrollPaneAdjustableAccessor = adj;
+    }
+
+    /*
+     * Retrieve the accessor object for the java.awt.ScrollPaneAdjustable
+     * class.
+     */
+    public static ScrollPaneAdjustableAccessor getScrollPaneAdjustableAccessor() {
+        if (scrollPaneAdjustableAccessor == null) {
+            unsafe.ensureClassInitialized(ScrollPaneAdjustable.class);
+        }
+        return scrollPaneAdjustableAccessor;
+    }
 }
diff --git a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
index 2bf5b9c..e2913ab 100644
--- a/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
+++ b/jdk/src/share/classes/sun/java2d/pipe/RenderingEngine.java
@@ -127,12 +127,8 @@ public abstract class RenderingEngine {
                         try {
                             Class cls = Class.forName(ductusREClass);
                             return cls.newInstance();
-                        } catch (ClassNotFoundException x) {
+                        } catch (ReflectiveOperationException ignored) {
                             // not found
-                        } catch (IllegalAccessException x) {
-                            // should not reach here
-                        } catch (InstantiationException x) {
-                            // should not reach here
                         }
                     }
 
diff --git a/jdk/src/share/classes/sun/launcher/LauncherHelper.java b/jdk/src/share/classes/sun/launcher/LauncherHelper.java
index a1124e8..1ce70a0 100644
--- a/jdk/src/share/classes/sun/launcher/LauncherHelper.java
+++ b/jdk/src/share/classes/sun/launcher/LauncherHelper.java
@@ -397,7 +397,11 @@ public class LauncherHelper {
                 if (mainAttrs == null) {
                     abort(ostream, null, "java.launcher.jar.error3", jarname);
                 }
-                return mainAttrs.getValue(MAIN_CLASS).trim();
+                String mainValue = mainAttrs.getValue(MAIN_CLASS);
+                if (mainValue == null) {
+                    abort(ostream, null, "java.launcher.jar.error3", jarname);
+                }
+                return mainValue.trim();
             } finally {
                 if (jarFile != null) {
                     jarFile.close();
diff --git a/jdk/src/share/classes/sun/launcher/resources/launcher.properties b/jdk/src/share/classes/sun/launcher/resources/launcher.properties
index 27825cd..0a2c148 100644
--- a/jdk/src/share/classes/sun/launcher/resources/launcher.properties
+++ b/jdk/src/share/classes/sun/launcher/resources/launcher.properties
@@ -75,7 +75,7 @@ java.launcher.opt.footer     =\    -cp <class search path of directories and zip
 \                  load Java programming language agent, see java.lang.instrument\n\
 \    -splash:<imagepath>\n\
 \                  show splash screen with specified image\n\
-See http://java.sun.com/javase/reference for more details.
+See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
 
 # Translators please note do not translate the options themselves
 java.launcher.X.usage=\
diff --git a/jdk/src/share/classes/sun/net/httpserver/ServerConfig.java b/jdk/src/share/classes/sun/net/httpserver/ServerConfig.java
index 0ada03d..1b79163 100644
--- a/jdk/src/share/classes/sun/net/httpserver/ServerConfig.java
+++ b/jdk/src/share/classes/sun/net/httpserver/ServerConfig.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,8 +25,6 @@
 
 package sun.net.httpserver;
 
-import com.sun.net.httpserver.*;
-import com.sun.net.httpserver.spi.*;
 import java.util.logging.Logger;
 import java.security.PrivilegedAction;
 
@@ -59,48 +57,46 @@ class ServerConfig {
     static long maxReqTime;
     static long maxRspTime;
     static long timerMillis;
-    static boolean debug = false;
+    static boolean debug;
+
+    // the value of the TCP_NODELAY socket-level option
+    static boolean noDelay;
 
     static {
+        java.security.AccessController.doPrivileged(
+            new PrivilegedAction<Void>() {
+                @Override
+                public Void run () {
+                    idleInterval = Long.getLong("sun.net.httpserver.idleInterval",
+                            DEFAULT_IDLE_INTERVAL) * 1000;
+
+                    clockTick = Integer.getInteger("sun.net.httpserver.clockTick",
+                            DEFAULT_CLOCK_TICK);
+
+                    maxIdleConnections = Integer.getInteger(
+                            "sun.net.httpserver.maxIdleConnections",
+                            DEFAULT_MAX_IDLE_CONNECTIONS);
+
+                    drainAmount = Long.getLong("sun.net.httpserver.drainAmount",
+                            DEFAULT_DRAIN_AMOUNT);
+
+                    maxReqTime = Long.getLong("sun.net.httpserver.maxReqTime",
+                            DEFAULT_MAX_REQ_TIME);
+
+                    maxRspTime = Long.getLong("sun.net.httpserver.maxRspTime",
+                            DEFAULT_MAX_RSP_TIME);
+
+                    timerMillis = Long.getLong("sun.net.httpserver.timerMillis",
+                            DEFAULT_TIMER_MILLIS);
+
+                    debug = Boolean.getBoolean("sun.net.httpserver.debug");
+
+                    noDelay = Boolean.getBoolean("sun.net.httpserver.nodelay");
+
+                    return null;
+                }
+            });
 
-        idleInterval = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.idleInterval",
-                DEFAULT_IDLE_INTERVAL))).longValue() * 1000;
-
-        clockTick = ((Integer)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetIntegerAction(
-                "sun.net.httpserver.clockTick",
-                DEFAULT_CLOCK_TICK))).intValue();
-
-        maxIdleConnections = ((Integer)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetIntegerAction(
-                "sun.net.httpserver.maxIdleConnections",
-                DEFAULT_MAX_IDLE_CONNECTIONS))).intValue();
-
-        drainAmount = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.drainAmount",
-                DEFAULT_DRAIN_AMOUNT))).longValue();
-
-        maxReqTime = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.maxReqTime",
-                DEFAULT_MAX_REQ_TIME))).longValue();
-
-        maxRspTime = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.maxRspTime",
-                DEFAULT_MAX_RSP_TIME))).longValue();
-
-        timerMillis = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.timerMillis",
-                DEFAULT_TIMER_MILLIS))).longValue();
-
-        debug = ((Boolean)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetBooleanAction(
-                "sun.net.httpserver.debug"))).booleanValue();
     }
 
 
@@ -172,4 +168,8 @@ class ServerConfig {
     static long getTimerMillis () {
         return timerMillis;
     }
+
+    static boolean noDelay() {
+        return noDelay;
+    }
 }
diff --git a/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java b/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java
index 0fa61a8..5b53389 100644
--- a/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java
+++ b/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java
@@ -27,8 +27,6 @@ package sun.net.httpserver;
 
 import java.net.*;
 import java.io.*;
-import java.nio.*;
-import java.security.*;
 import java.nio.channels.*;
 import java.util.*;
 import java.util.concurrent.*;
@@ -36,7 +34,6 @@ import java.util.logging.Logger;
 import java.util.logging.Level;
 import javax.net.ssl.*;
 import com.sun.net.httpserver.*;
-import com.sun.net.httpserver.spi.*;
 import sun.net.httpserver.HttpConnection.State;
 
 /**
@@ -358,6 +355,12 @@ class ServerImpl implements TimeSource {
                                 continue;
                             }
                             SocketChannel chan = schan.accept();
+
+                            // Set TCP_NODELAY, if appropriate
+                            if (ServerConfig.noDelay()) {
+                                chan.socket().setTcpNoDelay(true);
+                            }
+
                             if (chan == null) {
                                 continue; /* cancel something ? */
                             }
diff --git a/jdk/src/share/classes/sun/net/www/http/HttpClient.java b/jdk/src/share/classes/sun/net/www/http/HttpClient.java
index bbed63d..966fd82 100644
--- a/jdk/src/share/classes/sun/net/www/http/HttpClient.java
+++ b/jdk/src/share/classes/sun/net/www/http/HttpClient.java
@@ -599,7 +599,9 @@ public class HttpClient extends NetworkClient {
             cachedHttpClient = false;
             if (!failedOnce && requests != null) {
                 failedOnce = true;
-                if (httpuc.getRequestMethod().equals("POST") && (!retryPostProp || streaming)) {
+                if (getRequestMethod().equals("CONNECT") ||
+                    (httpuc.getRequestMethod().equals("POST") &&
+                    (!retryPostProp || streaming))) {
                     // do not retry the request
                 }  else {
                     // try once more
@@ -706,7 +708,9 @@ public class HttpClient extends NetworkClient {
             } else if (nread != 8) {
                 if (!failedOnce && requests != null) {
                     failedOnce = true;
-                    if (httpuc.getRequestMethod().equals("POST") && (!retryPostProp || streaming)) {
+                    if (getRequestMethod().equals("CONNECT") ||
+                        (httpuc.getRequestMethod().equals("POST") &&
+                         (!retryPostProp || streaming))) {
                         // do not retry the request
                     } else {
                         closeServer();
@@ -891,6 +895,16 @@ public class HttpClient extends NetworkClient {
         return cacheRequest;
     }
 
+    String getRequestMethod() {
+        if (requests != null) {
+            String requestLine = requests.getKey(0);
+            if (requestLine != null) {
+               return requestLine.split("\\s+")[0];
+            }
+        }
+        return "";
+    }
+
     @Override
     protected void finalize() throws Throwable {
         // This should do nothing.  The stream finalizer will
diff --git a/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java b/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
index a2cc336..4b297b8 100644
--- a/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
@@ -1880,14 +1880,7 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
     private void sendCONNECTRequest() throws IOException {
         int port = url.getPort();
 
-        // setRequests == true indicates the std. request headers
-        // have been set in (previous) requests.
-        // so the first one must be the http method (GET, etc.).
-        // we need to set it to CONNECT soon, remove this one first.
-        // otherwise, there may have 2 http methods in headers
-        if (setRequests) requests.set(0, null, null);
-
-        requests.prepend(HTTP_CONNECT + " " + connectRequestURI(url)
+        requests.set(0, HTTP_CONNECT + " " + connectRequestURI(url)
                          + " " + httpVersion, null);
         requests.setIfNotSet("User-Agent", userAgent);
 
@@ -1912,8 +1905,6 @@ public class HttpURLConnection extends java.net.HttpURLConnection {
         }
 
         http.writeRequests(requests, null);
-        // remove CONNECT header
-        requests.set(0, null, null);
     }
 
     /**
diff --git a/jdk/src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java b/jdk/src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java
index 7efdb8f..dcd507a 100644
--- a/jdk/src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java
+++ b/jdk/src/share/classes/sun/nio/ch/DatagramSocketAdaptor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -390,8 +390,10 @@ public class DatagramSocketAdaptor
 
        protected void receive(DatagramPacket p) throws IOException {}
 
+       @Deprecated
        protected void setTTL(byte ttl) throws IOException {}
 
+       @Deprecated
        protected byte getTTL() throws IOException { return 0; }
 
        protected void setTimeToLive(int ttl) throws IOException {}
diff --git a/jdk/src/share/classes/sun/nio/ch/Reflect.java b/jdk/src/share/classes/sun/nio/ch/Reflect.java
index 595662b..3ef3d93 100644
--- a/jdk/src/share/classes/sun/nio/ch/Reflect.java
+++ b/jdk/src/share/classes/sun/nio/ch/Reflect.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -50,29 +50,25 @@ class Reflect {                                 // package-private
                 }});
     }
 
-    static Constructor lookupConstructor(String className,
-                                         Class[] paramTypes)
+    static Constructor<?> lookupConstructor(String className,
+                                            Class<?>[] paramTypes)
     {
         try {
             Class<?> cl = Class.forName(className);
             Constructor<?> c = cl.getDeclaredConstructor(paramTypes);
             setAccessible(c);
             return c;
-        } catch (ClassNotFoundException x) {
-            throw new ReflectionError(x);
-        } catch (NoSuchMethodException x) {
+        } catch (ClassNotFoundException | NoSuchMethodException x) {
             throw new ReflectionError(x);
         }
     }
 
-    static Object invoke(Constructor c, Object[] args) {
+    static Object invoke(Constructor<?> c, Object[] args) {
         try {
             return c.newInstance(args);
-        } catch (InstantiationException x) {
-            throw new ReflectionError(x);
-        } catch (IllegalAccessException x) {
-            throw new ReflectionError(x);
-        } catch (InvocationTargetException x) {
+        } catch (InstantiationException |
+                 IllegalAccessException |
+                 InvocationTargetException x) {
             throw new ReflectionError(x);
         }
     }
@@ -86,9 +82,7 @@ class Reflect {                                 // package-private
             Method m = cl.getDeclaredMethod(methodName, paramTypes);
             setAccessible(m);
             return m;
-        } catch (ClassNotFoundException x) {
-            throw new ReflectionError(x);
-        } catch (NoSuchMethodException x) {
+        } catch (ClassNotFoundException | NoSuchMethodException x) {
             throw new ReflectionError(x);
         }
     }
@@ -96,9 +90,7 @@ class Reflect {                                 // package-private
     static Object invoke(Method m, Object ob, Object[] args) {
         try {
             return m.invoke(ob, args);
-        } catch (IllegalAccessException x) {
-            throw new ReflectionError(x);
-        } catch (InvocationTargetException x) {
+        } catch (IllegalAccessException | InvocationTargetException x) {
             throw new ReflectionError(x);
         }
     }
@@ -119,13 +111,11 @@ class Reflect {                                 // package-private
 
     static Field lookupField(String className, String fieldName) {
         try {
-            Class cl = Class.forName(className);
+            Class<?> cl = Class.forName(className);
             Field f = cl.getDeclaredField(fieldName);
             setAccessible(f);
             return f;
-        } catch (ClassNotFoundException x) {
-            throw new ReflectionError(x);
-        } catch (NoSuchFieldException x) {
+        } catch (ClassNotFoundException | NoSuchFieldException x) {
             throw new ReflectionError(x);
         }
     }
diff --git a/jdk/src/share/classes/sun/nio/ch/SelectorImpl.java b/jdk/src/share/classes/sun/nio/ch/SelectorImpl.java
index 2a8a409..bf93513 100644
--- a/jdk/src/share/classes/sun/nio/ch/SelectorImpl.java
+++ b/jdk/src/share/classes/sun/nio/ch/SelectorImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,6 @@ import java.nio.channels.*;
 import java.nio.channels.spi.*;
 import java.net.SocketException;
 import java.util.*;
-import sun.misc.*;
 
 
 /**
@@ -140,19 +139,16 @@ abstract class SelectorImpl
 
     void processDeregisterQueue() throws IOException {
         // Precondition: Synchronized on this, keys, and selectedKeys
-        Set cks = cancelledKeys();
+        Set<SelectionKey> cks = cancelledKeys();
         synchronized (cks) {
             if (!cks.isEmpty()) {
-                Iterator i = cks.iterator();
+                Iterator<SelectionKey> i = cks.iterator();
                 while (i.hasNext()) {
                     SelectionKeyImpl ski = (SelectionKeyImpl)i.next();
                     try {
                         implDereg(ski);
                     } catch (SocketException se) {
-                        IOException ioe = new IOException(
-                            "Error deregistering key");
-                        ioe.initCause(se);
-                        throw ioe;
+                        throw new IOException("Error deregistering key", se);
                     } finally {
                         i.remove();
                     }
diff --git a/jdk/src/share/classes/sun/nio/ch/Util.java b/jdk/src/share/classes/sun/nio/ch/Util.java
index 0746989..514bb27 100644
--- a/jdk/src/share/classes/sun/nio/ch/Util.java
+++ b/jdk/src/share/classes/sun/nio/ch/Util.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -355,27 +355,24 @@ class Util {
         return pageSize;
     }
 
-    private static volatile Constructor directByteBufferConstructor = null;
+    private static volatile Constructor<?> directByteBufferConstructor = null;
 
     private static void initDBBConstructor() {
         AccessController.doPrivileged(new PrivilegedAction<Void>() {
                 public Void run() {
                     try {
                         Class<?> cl = Class.forName("java.nio.DirectByteBuffer");
-                        Constructor ctor = cl.getDeclaredConstructor(
+                        Constructor<?> ctor = cl.getDeclaredConstructor(
                             new Class[] { int.class,
                                           long.class,
                                           FileDescriptor.class,
                                           Runnable.class });
                         ctor.setAccessible(true);
                         directByteBufferConstructor = ctor;
-                    } catch (ClassNotFoundException x) {
-                        throw new InternalError();
-                    } catch (NoSuchMethodException x) {
-                        throw new InternalError();
-                    } catch (IllegalArgumentException x) {
-                        throw new InternalError();
-                    } catch (ClassCastException x) {
+                    } catch (ClassNotFoundException   |
+                             NoSuchMethodException    |
+                             IllegalArgumentException |
+                             ClassCastException x) {
                         throw new InternalError();
                     }
                     return null;
@@ -395,37 +392,32 @@ class Util {
                              new Long(addr),
                              fd,
                              unmapper });
-        } catch (InstantiationException e) {
-            throw new InternalError();
-        } catch (IllegalAccessException e) {
-            throw new InternalError();
-        } catch (InvocationTargetException e) {
+        } catch (InstantiationException |
+                 IllegalAccessException |
+                 InvocationTargetException e) {
             throw new InternalError();
         }
         return dbb;
     }
 
-    private static volatile Constructor directByteBufferRConstructor = null;
+    private static volatile Constructor<?> directByteBufferRConstructor = null;
 
     private static void initDBBRConstructor() {
         AccessController.doPrivileged(new PrivilegedAction<Void>() {
                 public Void run() {
                     try {
                         Class<?> cl = Class.forName("java.nio.DirectByteBufferR");
-                        Constructor ctor = cl.getDeclaredConstructor(
+                        Constructor<?> ctor = cl.getDeclaredConstructor(
                             new Class[] { int.class,
                                           long.class,
                                           FileDescriptor.class,
                                           Runnable.class });
                         ctor.setAccessible(true);
                         directByteBufferRConstructor = ctor;
-                    } catch (ClassNotFoundException x) {
-                        throw new InternalError();
-                    } catch (NoSuchMethodException x) {
-                        throw new InternalError();
-                    } catch (IllegalArgumentException x) {
-                        throw new InternalError();
-                    } catch (ClassCastException x) {
+                    } catch (ClassNotFoundException |
+                             NoSuchMethodException |
+                             IllegalArgumentException |
+                             ClassCastException x) {
                         throw new InternalError();
                     }
                     return null;
@@ -445,11 +437,9 @@ class Util {
                              new Long(addr),
                              fd,
                              unmapper });
-        } catch (InstantiationException e) {
-            throw new InternalError();
-        } catch (IllegalAccessException e) {
-            throw new InternalError();
-        } catch (InvocationTargetException e) {
+        } catch (InstantiationException |
+                 IllegalAccessException |
+                 InvocationTargetException e) {
             throw new InternalError();
         }
         return dbb;
diff --git a/jdk/src/share/classes/sun/nio/cs/FastCharsetProvider.java b/jdk/src/share/classes/sun/nio/cs/FastCharsetProvider.java
index 23c207e..c9fceab 100644
--- a/jdk/src/share/classes/sun/nio/cs/FastCharsetProvider.java
+++ b/jdk/src/share/classes/sun/nio/cs/FastCharsetProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,6 @@
 
 package sun.nio.cs;
 
-import java.lang.ref.SoftReference;
 import java.nio.charset.Charset;
 import java.nio.charset.spi.CharsetProvider;
 import java.util.Iterator;
@@ -116,17 +115,15 @@ public class FastCharsetProvider
 
         // Instantiate the charset and cache it
         try {
-            Class c = Class.forName(packagePrefix + "." + cln,
+            Class<?> c = Class.forName(packagePrefix + "." + cln,
                                     true,
                                     this.getClass().getClassLoader());
             cs = (Charset)c.newInstance();
             cache.put(csn, cs);
             return cs;
-        } catch (ClassNotFoundException x) {
-            return null;
-        } catch (IllegalAccessException x) {
-            return null;
-        } catch (InstantiationException x) {
+        } catch (ClassNotFoundException |
+                 IllegalAccessException |
+                 InstantiationException x) {
             return null;
         }
     }
diff --git a/jdk/src/share/classes/sun/nio/cs/StreamDecoder.java b/jdk/src/share/classes/sun/nio/cs/StreamDecoder.java
index 731109e..e878d6d 100644
--- a/jdk/src/share/classes/sun/nio/cs/StreamDecoder.java
+++ b/jdk/src/share/classes/sun/nio/cs/StreamDecoder.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -112,6 +112,7 @@ public class StreamDecoder extends Reader
         return read0();
     }
 
+    @SuppressWarnings("fallthrough")
     private int read0() throws IOException {
         synchronized (lock) {
 
diff --git a/jdk/src/share/classes/sun/nio/cs/ThreadLocalCoders.java b/jdk/src/share/classes/sun/nio/cs/ThreadLocalCoders.java
index 18d3393..ca7aac0 100644
--- a/jdk/src/share/classes/sun/nio/cs/ThreadLocalCoders.java
+++ b/jdk/src/share/classes/sun/nio/cs/ThreadLocalCoders.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,6 @@
 
 package sun.nio.cs;
 
-import java.nio.*;
 import java.nio.charset.*;
 
 
@@ -41,7 +40,7 @@ public class ThreadLocalCoders {
     private static abstract class Cache {
 
         // Thread-local reference to array of cached objects, in LRU order
-        private ThreadLocal cache = new ThreadLocal();
+        private ThreadLocal<Object[]> cache = new ThreadLocal<>();
         private final int size;
 
         Cache(int size) {
@@ -60,7 +59,7 @@ public class ThreadLocalCoders {
         abstract boolean hasName(Object ob, Object name);
 
         Object forName(Object name) {
-            Object[] oa = (Object[])cache.get();
+            Object[] oa = cache.get();
             if (oa == null) {
                 oa = new Object[size];
                 cache.set(oa);
diff --git a/jdk/src/share/classes/sun/nio/fs/Util.java b/jdk/src/share/classes/sun/nio/fs/Util.java
index 0fbf0c0..1fe134f 100644
--- a/jdk/src/share/classes/sun/nio/fs/Util.java
+++ b/jdk/src/share/classes/sun/nio/fs/Util.java
@@ -62,6 +62,7 @@ class Util {
     /**
      * Returns a Set containing the given elements.
      */
+    @SafeVarargs
     static <E> Set<E> newSet(E... elements) {
         HashSet<E> set = new HashSet<>();
         for (E e: elements) {
@@ -74,6 +75,7 @@ class Util {
      * Returns a Set containing all the elements of the given Set plus
      * the given elements.
      */
+    @SafeVarargs
     static <E> Set<E> newSet(Set<E> other, E... elements) {
         HashSet<E> set = new HashSet<>(other);
         for (E e: elements) {
diff --git a/jdk/src/share/classes/sun/reflect/generics/reflectiveObjects/NotImplementedException.java b/jdk/src/share/classes/sun/reflect/generics/reflectiveObjects/NotImplementedException.java
index 9eadf58..85bcbc5 100644
--- a/jdk/src/share/classes/sun/reflect/generics/reflectiveObjects/NotImplementedException.java
+++ b/jdk/src/share/classes/sun/reflect/generics/reflectiveObjects/NotImplementedException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,4 +26,6 @@
 package sun.reflect.generics.reflectiveObjects;
 
 /** Temporary class used to indicate missing functionality */
-public class NotImplementedException extends RuntimeException {}
+public class NotImplementedException extends RuntimeException {
+    private static final long serialVersionUID = -9177857708926624790L;
+}
diff --git a/jdk/src/share/classes/sun/reflect/misc/ConstructorUtil.java b/jdk/src/share/classes/sun/reflect/misc/ConstructorUtil.java
index cc95503..e0e4233 100644
--- a/jdk/src/share/classes/sun/reflect/misc/ConstructorUtil.java
+++ b/jdk/src/share/classes/sun/reflect/misc/ConstructorUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,13 +32,13 @@ public final class ConstructorUtil {
     private ConstructorUtil() {
     }
 
-    public static Constructor getConstructor(Class cls, Class[] params)
+    public static Constructor<?> getConstructor(Class<?> cls, Class<?>[] params)
         throws NoSuchMethodException {
         ReflectUtil.checkPackageAccess(cls);
         return cls.getConstructor(params);
     }
 
-    public static Constructor[] getConstructors(Class cls) {
+    public static Constructor<?>[] getConstructors(Class<?> cls) {
         ReflectUtil.checkPackageAccess(cls);
         return cls.getConstructors();
     }
diff --git a/jdk/src/share/classes/sun/reflect/misc/FieldUtil.java b/jdk/src/share/classes/sun/reflect/misc/FieldUtil.java
index cf4bc2d..d0cb48f 100644
--- a/jdk/src/share/classes/sun/reflect/misc/FieldUtil.java
+++ b/jdk/src/share/classes/sun/reflect/misc/FieldUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,18 +35,18 @@ public final class FieldUtil {
     private FieldUtil() {
     }
 
-    public static Field getField(Class cls, String name)
+    public static Field getField(Class<?> cls, String name)
         throws NoSuchFieldException {
         ReflectUtil.checkPackageAccess(cls);
         return cls.getField(name);
     }
 
-    public static Field[] getFields(Class cls) {
+    public static Field[] getFields(Class<?> cls) {
         ReflectUtil.checkPackageAccess(cls);
         return cls.getFields();
     }
 
-    public static Field[] getDeclaredFields(Class cls) {
+    public static Field[] getDeclaredFields(Class<?> cls) {
         ReflectUtil.checkPackageAccess(cls);
         return cls.getDeclaredFields();
     }
diff --git a/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java b/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java
index 274dfe5..bdb3f30 100644
--- a/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java
+++ b/jdk/src/share/classes/sun/reflect/misc/MethodUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,17 +36,13 @@ import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.net.URL;
 import java.net.URLConnection;
-import java.net.HttpURLConnection;
 import java.lang.reflect.Method;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.AccessibleObject;
 import java.lang.reflect.Modifier;
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import sun.misc.IOUtils;
-import sun.net.www.ParseUtil;
-import sun.security.util.SecurityConstants;
 
 
 class Trampoline {
@@ -68,13 +64,13 @@ public final class MethodUtil extends SecureClassLoader {
         super();
     }
 
-    public static Method getMethod(Class<?> cls, String name, Class[] args)
+    public static Method getMethod(Class<?> cls, String name, Class<?>[] args)
         throws NoSuchMethodException {
         ReflectUtil.checkPackageAccess(cls);
         return cls.getMethod(name, args);
     }
 
-    public static Method[] getMethods(Class cls) {
+    public static Method[] getMethods(Class<?> cls) {
         ReflectUtil.checkPackageAccess(cls);
         return cls.getMethods();
     }
@@ -85,7 +81,7 @@ public final class MethodUtil extends SecureClassLoader {
      * Class.getMethods() and walking towards Object until
      * we're done.
      */
-     public static Method[] getPublicMethods(Class cls) {
+     public static Method[] getPublicMethods(Class<?> cls) {
         // compatibility for update release
         if (System.getSecurityManager() == null) {
             return cls.getMethods();
@@ -105,11 +101,11 @@ public final class MethodUtil extends SecureClassLoader {
     /*
      * Process the immediate interfaces of this class or interface.
      */
-    private static void getInterfaceMethods(Class cls,
+    private static void getInterfaceMethods(Class<?> cls,
                                             Map<Signature, Method> sigs) {
-        Class[] intfs = cls.getInterfaces();
+        Class<?>[] intfs = cls.getInterfaces();
         for (int i=0; i < intfs.length; i++) {
-            Class intf = intfs[i];
+            Class<?> intf = intfs[i];
             boolean done = getInternalPublicMethods(intf, sigs);
             if (!done) {
                 getInterfaceMethods(intf, sigs);
@@ -121,7 +117,7 @@ public final class MethodUtil extends SecureClassLoader {
      *
      * Process the methods in this class or interface
      */
-    private static boolean getInternalPublicMethods(Class cls,
+    private static boolean getInternalPublicMethods(Class<?> cls,
                                                     Map<Signature, Method> sigs) {
         Method[] methods = null;
         try {
@@ -150,7 +146,7 @@ public final class MethodUtil extends SecureClassLoader {
          */
         boolean done = true;
         for (int i=0; i < methods.length; i++) {
-            Class dc = methods[i].getDeclaringClass();
+            Class<?> dc = methods[i].getDeclaringClass();
             if (!Modifier.isPublic(dc.getModifiers())) {
                 done = false;
                 break;
@@ -171,7 +167,7 @@ public final class MethodUtil extends SecureClassLoader {
              * stripping away inherited methods.
              */
             for (int i=0; i < methods.length; i++) {
-                Class dc = methods[i].getDeclaringClass();
+                Class<?> dc = methods[i].getDeclaringClass();
                 if (cls.equals(dc)) {
                     addMethod(sigs, methods[i]);
                 }
@@ -303,12 +299,12 @@ public final class MethodUtil extends SecureClassLoader {
     }
 
 
-    protected synchronized Class loadClass(String name, boolean resolve)
+    protected synchronized Class<?> loadClass(String name, boolean resolve)
         throws ClassNotFoundException
     {
         // First, check if the class has already been loaded
         ReflectUtil.checkPackageAccess(name);
-        Class c = findLoadedClass(name);
+        Class<?> c = findLoadedClass(name);
         if (c == null) {
             try {
                 c = findClass(name);
@@ -326,7 +322,7 @@ public final class MethodUtil extends SecureClassLoader {
     }
 
 
-    protected Class findClass(final String name)
+    protected Class<?> findClass(final String name)
         throws ClassNotFoundException
     {
         if (!name.startsWith(MISC_PKG)) {
@@ -349,7 +345,7 @@ public final class MethodUtil extends SecureClassLoader {
     /*
      * Define the proxy classes
      */
-    private Class defineClass(String name, URL url) throws IOException {
+    private Class<?> defineClass(String name, URL url) throws IOException {
         byte[] b = getBytes(url);
         CodeSource cs = new CodeSource(null, (java.security.cert.Certificate[])null);
         if (!name.equals(TRAMPOLINE)) {
@@ -391,7 +387,7 @@ public final class MethodUtil extends SecureClassLoader {
         return perms;
     }
 
-    private static Class getTrampolineClass() {
+    private static Class<?> getTrampolineClass() {
         try {
             return Class.forName(TRAMPOLINE, true, new MethodUtil());
         } catch (ClassNotFoundException e) {
diff --git a/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java b/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java
index 94d0b18..8b1efd5 100644
--- a/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java
+++ b/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,13 +34,13 @@ public final class ReflectUtil {
     private ReflectUtil() {
     }
 
-    public static Class forName(String name)
+    public static Class<?> forName(String name)
         throws ClassNotFoundException {
         checkPackageAccess(name);
         return Class.forName(name);
     }
 
-    public static Object newInstance(Class cls)
+    public static Object newInstance(Class<?> cls)
         throws InstantiationException, IllegalAccessException {
         checkPackageAccess(cls);
         return cls.newInstance();
@@ -50,8 +50,8 @@ public final class ReflectUtil {
      * Reflection.ensureMemberAccess is overly-restrictive
      * due to a bug. We awkwardly work around it for now.
      */
-    public static void ensureMemberAccess(Class currentClass,
-                                          Class memberClass,
+    public static void ensureMemberAccess(Class<?> currentClass,
+                                          Class<?> memberClass,
                                           Object target,
                                           int modifiers)
         throws IllegalAccessException
@@ -102,8 +102,8 @@ public final class ReflectUtil {
         }
     }
 
-    private static boolean isSubclassOf(Class queryClass,
-                                Class ofClass)
+    private static boolean isSubclassOf(Class<?> queryClass,
+                                        Class<?> ofClass)
     {
         while (queryClass != null) {
             if (queryClass == ofClass) {
@@ -115,7 +115,7 @@ public final class ReflectUtil {
     }
 
 
-    public static void checkPackageAccess(Class clazz) {
+    public static void checkPackageAccess(Class<?> clazz) {
         checkPackageAccess(clazz.getName());
     }
 
@@ -136,7 +136,7 @@ public final class ReflectUtil {
         }
     }
 
-    public static boolean isPackageAccessible(Class clazz) {
+    public static boolean isPackageAccessible(Class<?> clazz) {
         try {
             checkPackageAccess(clazz);
         } catch (SecurityException e) {
diff --git a/jdk/src/share/classes/sun/security/krb5/PrincipalName.java b/jdk/src/share/classes/sun/security/krb5/PrincipalName.java
index 51e7763..86094d6 100644
--- a/jdk/src/share/classes/sun/security/krb5/PrincipalName.java
+++ b/jdk/src/share/classes/sun/security/krb5/PrincipalName.java
@@ -173,12 +173,6 @@ public class PrincipalName
 
     boolean equalsWithoutRealm(PrincipalName other) {
 
-
-        if (nameType != KRB_NT_UNKNOWN &&
-            other.nameType != KRB_NT_UNKNOWN &&
-            nameType != other.nameType)
-            return false;
-
         if ((nameStrings != null && other.nameStrings == null) ||
             (nameStrings == null && other.nameStrings != null))
             return false;
diff --git a/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java b/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java
index 205c80e..b802604 100644
--- a/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/SSLContextImpl.java
@@ -567,42 +567,46 @@ public abstract class SSLContextImpl extends SSLContextSpi {
             }
 
             FileInputStream fs = null;
-            if (defaultKeyStore.length() != 0 && !NONE.equals(defaultKeyStore)) {
-                fs = AccessController.doPrivileged(
-                        new PrivilegedExceptionAction<FileInputStream>() {
-                    public FileInputStream run() throws Exception {
-                        return new FileInputStream(defaultKeyStore);
-                    }
-                });
-            }
-
-            String defaultKeyStorePassword = props.get("keyStorePasswd");
-            char[] passwd = null;
-            if (defaultKeyStorePassword.length() != 0) {
-                passwd = defaultKeyStorePassword.toCharArray();
-            }
-
-            /**
-             * Try to initialize key store.
-             */
             KeyStore ks = null;
-            if ((defaultKeyStoreType.length()) != 0) {
-                if (debug != null && Debug.isOn("defaultctx")) {
-                    System.out.println("init keystore");
+            char[] passwd = null;
+            try {
+                if (defaultKeyStore.length() != 0 &&
+                        !NONE.equals(defaultKeyStore)) {
+                    fs = AccessController.doPrivileged(
+                            new PrivilegedExceptionAction<FileInputStream>() {
+                        public FileInputStream run() throws Exception {
+                            return new FileInputStream(defaultKeyStore);
+                        }
+                    });
                 }
-                if (defaultKeyStoreProvider.length() == 0) {
-                    ks = KeyStore.getInstance(defaultKeyStoreType);
-                } else {
-                    ks = KeyStore.getInstance(defaultKeyStoreType,
-                                        defaultKeyStoreProvider);
+
+                String defaultKeyStorePassword = props.get("keyStorePasswd");
+                if (defaultKeyStorePassword.length() != 0) {
+                    passwd = defaultKeyStorePassword.toCharArray();
                 }
 
-                // if defaultKeyStore is NONE, fs will be null
-                ks.load(fs, passwd);
-            }
-            if (fs != null) {
-                fs.close();
-                fs = null;
+                /**
+                 * Try to initialize key store.
+                 */
+                if ((defaultKeyStoreType.length()) != 0) {
+                    if (debug != null && Debug.isOn("defaultctx")) {
+                        System.out.println("init keystore");
+                    }
+                    if (defaultKeyStoreProvider.length() == 0) {
+                        ks = KeyStore.getInstance(defaultKeyStoreType);
+                    } else {
+                        ks = KeyStore.getInstance(defaultKeyStoreType,
+                                            defaultKeyStoreProvider);
+                    }
+
+                    // if defaultKeyStore is NONE, fs will be null
+                    ks.load(fs, passwd);
+                }
+            } finally {
+                if (fs != null) {
+                    fs.close();
+                    fs = null;
+                }
             }
 
             /*
diff --git a/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java b/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
index d12eaf1..8990793 100644
--- a/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
@@ -2443,11 +2443,12 @@ final public class SSLSocketImpl extends BaseSSLSocketImpl {
             entrySet, HandshakeCompletedEvent e) {
 
             super("HandshakeCompletedNotify-Thread");
-            targets = entrySet;
+            targets = new HashSet<>(entrySet);          // clone the entry set
             event = e;
         }
 
         public void run() {
+            // Don't need to synchronize, as it only runs in one thread.
             for (Map.Entry<HandshakeCompletedListener,AccessControlContext>
                 entry : targets) {
 
diff --git a/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java b/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
index ee2142c..fbd6801 100644
--- a/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/TrustManagerFactoryImpl.java
@@ -164,72 +164,75 @@ abstract class TrustManagerFactoryImpl extends TrustManagerFactorySpi {
          * If none exists, we use an empty keystore.
          */
 
-        storeFileName = props.get("trustStore");
-        if (!"NONE".equals(storeFileName)) {
-            if (storeFileName != null) {
-                storeFile = new File(storeFileName);
-                fis = getFileInputStream(storeFile);
-            } else {
-                String javaHome = props.get("javaHome");
-                storeFile = new File(javaHome + sep + "lib" + sep
-                                                + "security" + sep +
-                                                "jssecacerts");
-                if ((fis = getFileInputStream(storeFile)) == null) {
-                    storeFile = new File(javaHome + sep + "lib" + sep
-                                                + "security" + sep +
-                                                "cacerts");
+        try {
+            storeFileName = props.get("trustStore");
+            if (!"NONE".equals(storeFileName)) {
+                if (storeFileName != null) {
+                    storeFile = new File(storeFileName);
                     fis = getFileInputStream(storeFile);
+                } else {
+                    String javaHome = props.get("javaHome");
+                    storeFile = new File(javaHome + sep + "lib" + sep
+                                                    + "security" + sep +
+                                                    "jssecacerts");
+                    if ((fis = getFileInputStream(storeFile)) == null) {
+                        storeFile = new File(javaHome + sep + "lib" + sep
+                                                    + "security" + sep +
+                                                    "cacerts");
+                        fis = getFileInputStream(storeFile);
+                    }
                 }
-            }
 
-            if (fis != null) {
-                storeFileName = storeFile.getPath();
-            } else {
-                storeFileName = "No File Available, using empty keystore.";
+                if (fis != null) {
+                    storeFileName = storeFile.getPath();
+                } else {
+                    storeFileName = "No File Available, using empty keystore.";
+                }
             }
-        }
 
-        defaultTrustStoreType = props.get("trustStoreType");
-        defaultTrustStoreProvider = props.get("trustStoreProvider");
-        if (debug != null && Debug.isOn(dbgname)) {
-            System.out.println("trustStore is: " + storeFileName);
-            System.out.println("trustStore type is : " +
-                                defaultTrustStoreType);
-            System.out.println("trustStore provider is : " +
-                                defaultTrustStoreProvider);
-        }
-
-        /*
-         * Try to initialize trust store.
-         */
-        if (defaultTrustStoreType.length() != 0) {
+            defaultTrustStoreType = props.get("trustStoreType");
+            defaultTrustStoreProvider = props.get("trustStoreProvider");
             if (debug != null && Debug.isOn(dbgname)) {
-                System.out.println("init truststore");
-            }
-            if (defaultTrustStoreProvider.length() == 0) {
-                ks = KeyStore.getInstance(defaultTrustStoreType);
-            } else {
-                ks = KeyStore.getInstance(defaultTrustStoreType,
-                                        defaultTrustStoreProvider);
+                System.out.println("trustStore is: " + storeFileName);
+                System.out.println("trustStore type is : " +
+                                    defaultTrustStoreType);
+                System.out.println("trustStore provider is : " +
+                                    defaultTrustStoreProvider);
             }
-            char[] passwd = null;
-            String defaultTrustStorePassword = props.get("trustStorePasswd");
-            if (defaultTrustStorePassword.length() != 0)
-                passwd = defaultTrustStorePassword.toCharArray();
 
-            // if trustStore is NONE, fis will be null
-            ks.load(fis, passwd);
+            /*
+             * Try to initialize trust store.
+             */
+            if (defaultTrustStoreType.length() != 0) {
+                if (debug != null && Debug.isOn(dbgname)) {
+                    System.out.println("init truststore");
+                }
+                if (defaultTrustStoreProvider.length() == 0) {
+                    ks = KeyStore.getInstance(defaultTrustStoreType);
+                } else {
+                    ks = KeyStore.getInstance(defaultTrustStoreType,
+                                            defaultTrustStoreProvider);
+                }
+                char[] passwd = null;
+                String defaultTrustStorePassword =
+                        props.get("trustStorePasswd");
+                if (defaultTrustStorePassword.length() != 0)
+                    passwd = defaultTrustStorePassword.toCharArray();
+
+                // if trustStore is NONE, fis will be null
+                ks.load(fis, passwd);
 
-            // Zero out the temporary password storage
-            if (passwd != null) {
-                for (int i = 0; i < passwd.length; i++) {
-                    passwd[i] = (char)0;
+                // Zero out the temporary password storage
+                if (passwd != null) {
+                    for (int i = 0; i < passwd.length; i++) {
+                        passwd[i] = (char)0;
+                    }
                 }
             }
-        }
-
-        if (fis != null) {
-            fis.close();
+        } finally {
+            if (fis != null) {
+                fis.close();
+            }
         }
 
         return ks;
diff --git a/jdk/src/share/classes/sun/swing/DefaultLayoutStyle.java b/jdk/src/share/classes/sun/swing/DefaultLayoutStyle.java
index 2ffdcf8..3d284c3 100644
--- a/jdk/src/share/classes/sun/swing/DefaultLayoutStyle.java
+++ b/jdk/src/share/classes/sun/swing/DefaultLayoutStyle.java
@@ -48,10 +48,12 @@ public class DefaultLayoutStyle extends LayoutStyle {
     @Override
     public int getPreferredGap(JComponent component1, JComponent component2,
             ComponentPlacement type, int position, Container parent) {
-
         if (component1 == null || component2 == null || type == null) {
             throw new NullPointerException();
         }
+
+        checkPosition(position);
+
         if (type == ComponentPlacement.INDENT &&
                 (position == SwingConstants.EAST ||
                  position == SwingConstants.WEST)) {
diff --git a/jdk/src/share/classes/sun/swing/FilePane.java b/jdk/src/share/classes/sun/swing/FilePane.java
index 5bf5c1f..9a95220 100644
--- a/jdk/src/share/classes/sun/swing/FilePane.java
+++ b/jdk/src/share/classes/sun/swing/FilePane.java
@@ -570,7 +570,7 @@ public class FilePane extends JPanel implements PropertyChangeListener {
     public JPanel createList() {
         JPanel p = new JPanel(new BorderLayout());
         final JFileChooser fileChooser = getFileChooser();
-        final JList list = new JList() {
+        final JList<Object> list = new JList<Object>() {
             public int getNextMatch(String prefix, int startIndex, Position.Bias bias) {
                 ListModel model = getModel();
                 int max = model.getSize();
@@ -641,7 +641,7 @@ public class FilePane extends JPanel implements PropertyChangeListener {
     /**
      * This model allows for sorting JList
      */
-    private class SortableListModel extends AbstractListModel
+    private class SortableListModel extends AbstractListModel<Object>
             implements TableModelListener, RowSorterListener {
 
         public SortableListModel() {
diff --git a/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java b/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java
index e971d9d..d8e0236 100644
--- a/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java
+++ b/jdk/src/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java
@@ -60,7 +60,7 @@ import sun.swing.*;
  */
 public class SynthFileChooserUIImpl extends SynthFileChooserUI {
     private JLabel lookInLabel;
-    private JComboBox directoryComboBox;
+    private JComboBox<File> directoryComboBox;
     private DirectoryComboBoxModel directoryComboBoxModel;
     private Action directoryComboBoxAction = new DirectoryComboBoxAction();
 
@@ -77,10 +77,9 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
     private JPanel buttonPanel;
     private JPanel bottomPanel;
 
-    private JComboBox filterComboBox;
+    private JComboBox<FileFilter> filterComboBox;
 
     private static final Dimension hstrut5 = new Dimension(5, 1);
-    private static final Dimension vstrut5  = new Dimension(1, 5);
 
     private static final Insets shrinkwrap = new Insets(0,0,0,0);
 
@@ -217,7 +216,7 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
         topPanel.add(lookInLabel, BorderLayout.BEFORE_LINE_BEGINS);
 
         // CurrentDir ComboBox
-        directoryComboBox = new JComboBox();
+        directoryComboBox = new JComboBox<File>();
         directoryComboBox.getAccessibleContext().setAccessibleDescription(lookInLabelText);
         directoryComboBox.putClientProperty( "JComboBox.isTableCellEditor", Boolean.TRUE );
         lookInLabel.setLabelFor(directoryComboBox);
@@ -394,7 +393,7 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
 
         filterComboBoxModel = createFilterComboBoxModel();
         fc.addPropertyChangeListener(filterComboBoxModel);
-        filterComboBox = new JComboBox(filterComboBoxModel);
+        filterComboBox = new JComboBox<FileFilter>(filterComboBoxModel);
         filterComboBox.getAccessibleContext().setAccessibleDescription(filesOfTypeLabelText);
         filesOfTypeLabel.setLabelFor(filterComboBox);
         filterComboBox.setRenderer(createFilterComboBoxRenderer());
@@ -671,16 +670,16 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
     // looking combo boxes.
     // So what we do here is delegate most jobs to the "real" or original renderer,
     // and simply monkey with the icon and text of the renderer.
-    private class DirectoryComboBoxRenderer implements ListCellRenderer {
-        private ListCellRenderer delegate;
+    private class DirectoryComboBoxRenderer implements ListCellRenderer<File> {
+        private ListCellRenderer<? super File> delegate;
         IndentIcon ii = new IndentIcon();
 
-        private DirectoryComboBoxRenderer(ListCellRenderer delegate) {
+        private DirectoryComboBoxRenderer(ListCellRenderer<? super File> delegate) {
             this.delegate = delegate;
         }
 
         @Override
-        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+        public Component getListCellRendererComponent(JList<? extends File> list, File value, int index, boolean isSelected, boolean cellHasFocus) {
             Component c = delegate.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
 
             assert c instanceof JLabel;
@@ -689,9 +688,8 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
                 label.setText("");
                 return label;
             }
-            File directory = (File) value;
-            label.setText(getFileChooser().getName(directory));
-            Icon icon = getFileChooser().getIcon(directory);
+            label.setText(getFileChooser().getName(value));
+            Icon icon = getFileChooser().getIcon(value);
             ii.icon = icon;
             ii.depth = directoryComboBoxModel.getDepth(index);
             label.setIcon(ii);
@@ -736,7 +734,7 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
     /**
      * Data model for a type-face selection combo-box.
      */
-    protected class DirectoryComboBoxModel extends AbstractListModel implements ComboBoxModel {
+    protected class DirectoryComboBoxModel extends AbstractListModel<File> implements ComboBoxModel<File> {
         Vector<File> directories = new Vector<File>();
         int[] depths = null;
         File selectedDirectory = null;
@@ -857,7 +855,7 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
             return directories.size();
         }
 
-        public Object getElementAt(int index) {
+        public File getElementAt(int index) {
             return directories.elementAt(index);
         }
     }
@@ -890,18 +888,19 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
     /**
      * Render different type sizes and styles.
      */
-    public class FilterComboBoxRenderer implements ListCellRenderer {
-        private ListCellRenderer delegate;
-        private FilterComboBoxRenderer(ListCellRenderer delegate) {
+    public class FilterComboBoxRenderer implements ListCellRenderer<FileFilter> {
+        private ListCellRenderer<? super FileFilter> delegate;
+        private FilterComboBoxRenderer(ListCellRenderer<? super FileFilter> delegate) {
             this.delegate = delegate;
         }
 
-        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+        public Component getListCellRendererComponent(JList<? extends FileFilter> list, FileFilter value, int index,
+                                                      boolean isSelected, boolean cellHasFocus) {
             Component c = delegate.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
 
             String text = null;
-            if (value != null && value instanceof FileFilter) {
-                text = ((FileFilter) value).getDescription();
+            if (value != null) {
+                text = value.getDescription();
             }
 
             //this should always be true, since SynthComboBoxUI's SynthComboBoxRenderer
@@ -924,7 +923,8 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
     /**
      * Data model for a type-face selection combo-box.
      */
-    protected class FilterComboBoxModel extends AbstractListModel implements ComboBoxModel, PropertyChangeListener {
+    protected class FilterComboBoxModel extends AbstractListModel<FileFilter> implements ComboBoxModel<FileFilter>,
+            PropertyChangeListener {
         protected FileFilter[] filters;
         protected FilterComboBoxModel() {
             super();
@@ -977,7 +977,7 @@ public class SynthFileChooserUIImpl extends SynthFileChooserUI {
             }
         }
 
-        public Object getElementAt(int index) {
+        public FileFilter getElementAt(int index) {
             if(index > getSize() - 1) {
                 // This shouldn't happen. Try to recover gracefully.
                 return getFileChooser().getFileFilter();
diff --git a/jdk/src/share/classes/sun/swing/text/TextComponentPrintable.java b/jdk/src/share/classes/sun/swing/text/TextComponentPrintable.java
index 99d7787..bf4d3f5 100644
--- a/jdk/src/share/classes/sun/swing/text/TextComponentPrintable.java
+++ b/jdk/src/share/classes/sun/swing/text/TextComponentPrintable.java
@@ -47,15 +47,7 @@ import java.util.concurrent.ExecutionException;
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.atomic.AtomicReference;
 
-import javax.swing.BorderFactory;
-import javax.swing.CellRendererPane;
-import javax.swing.JTextField;
-import javax.swing.JTextArea;
-import javax.swing.JEditorPane;
-import javax.swing.JViewport;
-import javax.swing.JScrollPane;
-import javax.swing.JTextPane;
-import javax.swing.SwingUtilities;
+import javax.swing.*;
 import javax.swing.border.Border;
 import javax.swing.border.TitledBorder;
 import javax.swing.text.BadLocationException;
@@ -336,7 +328,22 @@ public class TextComponentPrintable implements CountingPrintable {
         assert SwingUtilities.isEventDispatchThread();
 
         JTextComponent ret = null;
-        if (textComponent instanceof JTextField) {
+        if (textComponent instanceof JPasswordField) {
+            ret =
+                new JPasswordField() {
+                    {
+                        setEchoChar(((JPasswordField) textComponent).getEchoChar());
+                        setHorizontalAlignment(
+                            ((JTextField) textComponent).getHorizontalAlignment());
+                    }
+                    @Override
+                    public FontMetrics getFontMetrics(Font font) {
+                        return (frc.get() == null)
+                            ? super.getFontMetrics(font)
+                            : FontDesignMetrics.getMetrics(font, frc.get());
+                    }
+                };
+        } else if (textComponent instanceof JTextField) {
             ret =
                 new JTextField() {
                     {
diff --git a/jdk/src/share/classes/sun/text/bidi/BidiBase.java b/jdk/src/share/classes/sun/text/bidi/BidiBase.java
index 8983ab6..d6733ce 100644
--- a/jdk/src/share/classes/sun/text/bidi/BidiBase.java
+++ b/jdk/src/share/classes/sun/text/bidi/BidiBase.java
@@ -2690,6 +2690,7 @@ public class BidiBase {
     public void setPara(AttributedCharacterIterator paragraph)
     {
         byte paraLvl;
+        char ch = paragraph.first();
         Boolean runDirection =
             (Boolean) paragraph.getAttribute(TextAttributeConstants.RUN_DIRECTION);
         Object shaper = paragraph.getAttribute(TextAttributeConstants.NUMERIC_SHAPING);
@@ -2705,7 +2706,6 @@ public class BidiBase {
         byte[] embeddingLevels = new byte[len];
         char[] txt = new char[len];
         int i = 0;
-        char ch = paragraph.first();
         while (ch != AttributedCharacterIterator.DONE) {
             txt[i] = ch;
             Integer embedding =
@@ -3411,18 +3411,21 @@ public class BidiBase {
      * Display the bidi internal state, used in debugging.
      */
     public String toString() {
-        StringBuffer buf = new StringBuffer(super.toString());
-
-        buf.append("[dir: " + direction);
-        buf.append(" baselevel: " + paraLevel);
-        buf.append(" length: " + length);
+        StringBuilder buf = new StringBuilder(getClass().getName());
+
+        buf.append("[dir: ");
+        buf.append(direction);
+        buf.append(" baselevel: ");
+        buf.append(paraLevel);
+        buf.append(" length: ");
+        buf.append(length);
         buf.append(" runs: ");
         if (levels == null) {
-            buf.append("null");
+            buf.append("none");
         } else {
             buf.append('[');
             buf.append(levels[0]);
-            for (int i = 0; i < levels.length; i++) {
+            for (int i = 1; i < levels.length; i++) {
                 buf.append(' ');
                 buf.append(levels[i]);
             }
@@ -3430,12 +3433,11 @@ public class BidiBase {
         }
         buf.append(" text: [0x");
         buf.append(Integer.toHexString(text[0]));
-        for (int i = 0; i < text.length; i++) {
+        for (int i = 1; i < text.length; i++) {
             buf.append(" 0x");
             buf.append(Integer.toHexString(text[i]));
         }
-        buf.append(']');
-        buf.append(']');
+        buf.append("]]");
 
         return buf.toString();
     }
diff --git a/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java b/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java
index 35504bc..88920aa 100644
--- a/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java
+++ b/jdk/src/share/classes/sun/util/locale/LocaleObjectCache.java
@@ -66,14 +66,14 @@ public abstract class LocaleObjectCache<K, V> {
 
             CacheEntry<K, V> newEntry = new CacheEntry<>(key, newVal, queue);
 
-            while (value == null) {
-                cleanStaleEntries();
-                entry = map.putIfAbsent(key, newEntry);
-                if (entry == null) {
+            entry = map.putIfAbsent(key, newEntry);
+            if (entry == null) {
+                value = newVal;
+            } else {
+                value = entry.get();
+                if (value == null) {
+                    map.put(key, newEntry);
                     value = newVal;
-                    break;
-                } else {
-                    value = entry.get();
                 }
             }
         }
diff --git a/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h b/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
index 196bb0d..5d55657 100644
--- a/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
+++ b/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
@@ -135,22 +135,10 @@ extern double fabs __P((double));
 extern double floor __P((double));
 extern double fmod __P((double, double));
 
-extern double erf __P((double));
-extern double erfc __P((double));
-extern double gamma __P((double));
 extern double hypot __P((double, double));
 extern int isnan __P((double));
 extern int finite __P((double));
-extern double j0 __P((double));
-extern double j1 __P((double));
-extern double jn __P((int, double));
-extern double lgamma __P((double));
-extern double y0 __P((double));
-extern double y1 __P((double));
-extern double yn __P((int, double));
-
-extern double acosh __P((double));
-extern double asinh __P((double));
+
 extern double atanh __P((double));
 extern double cbrt __P((double));
 extern double logb __P((double));
@@ -183,19 +171,9 @@ extern double scalbn __P((double, int));
 extern double expm1 __P((double));
 extern double log1p __P((double));
 
-/*
- * Reentrant version of gamma & lgamma; passes signgam back by reference
- * as the second argument; user must allocate space for signgam.
- */
-#ifdef _REENTRANT
-extern double gamma_r __P((double, int *));
-extern double lgamma_r __P((double, int *));
-#endif  /* _REENTRANT */
-
 /* ieee style elementary functions */
 extern double __ieee754_sqrt __P((double));
 extern double __ieee754_acos __P((double));
-extern double __ieee754_acosh __P((double));
 extern double __ieee754_log __P((double));
 extern double __ieee754_atanh __P((double));
 extern double __ieee754_asin __P((double));
@@ -204,19 +182,9 @@ extern double __ieee754_exp __P((double));
 extern double __ieee754_cosh __P((double));
 extern double __ieee754_fmod __P((double,double));
 extern double __ieee754_pow __P((double,double));
-extern double __ieee754_lgamma_r __P((double,int *));
-extern double __ieee754_gamma_r __P((double,int *));
-extern double __ieee754_lgamma __P((double));
-extern double __ieee754_gamma __P((double));
 extern double __ieee754_log10 __P((double));
 extern double __ieee754_sinh __P((double));
 extern double __ieee754_hypot __P((double,double));
-extern double __ieee754_j0 __P((double));
-extern double __ieee754_j1 __P((double));
-extern double __ieee754_y0 __P((double));
-extern double __ieee754_y1 __P((double));
-extern double __ieee754_jn __P((int,double));
-extern double __ieee754_yn __P((int,double));
 extern double __ieee754_remainder __P((double,double));
 extern int    __ieee754_rem_pio2 __P((double,double*));
 #ifdef _SCALB_INT
diff --git a/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h b/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h
index 1cbb8d5..bfbc9b9 100644
--- a/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h
+++ b/jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h
@@ -64,7 +64,6 @@
 #ifdef __linux__
 #define __ieee754_sqrt          __j__ieee754_sqrt
 #define __ieee754_acos          __j__ieee754_acos
-#define __ieee754_acosh         __j__ieee754_acosh
 #define __ieee754_log           __j__ieee754_log
 #define __ieee754_atanh         __j__ieee754_atanh
 #define __ieee754_asin          __j__ieee754_asin
@@ -73,19 +72,9 @@
 #define __ieee754_cosh          __j__ieee754_cosh
 #define __ieee754_fmod          __j__ieee754_fmod
 #define __ieee754_pow           __j__ieee754_pow
-#define __ieee754_lgamma_r      __j__ieee754_lgamma_r
-#define __ieee754_gamma_r       __j__ieee754_gamma_r
-#define __ieee754_lgamma        __j__ieee754_lgamma
-#define __ieee754_gamma         __j__ieee754_gamma
 #define __ieee754_log10         __j__ieee754_log10
 #define __ieee754_sinh          __j__ieee754_sinh
 #define __ieee754_hypot         __j__ieee754_hypot
-#define __ieee754_j0            __j__ieee754_j0
-#define __ieee754_j1            __j__ieee754_j1
-#define __ieee754_y0            __j__ieee754_y0
-#define __ieee754_y1            __j__ieee754_y1
-#define __ieee754_jn            __j__ieee754_jn
-#define __ieee754_yn            __j__ieee754_yn
 #define __ieee754_remainder     __j__ieee754_remainder
 #define __ieee754_rem_pio2      __j__ieee754_rem_pio2
 #define __ieee754_scalb         __j__ieee754_scalb
diff --git a/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h b/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h
index 3efdc27..5085028 100644
--- a/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h
+++ b/jdk/src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h
@@ -30,6 +30,8 @@
 extern "C" {
 #endif
 
+#include <stddef.h>
+
 #include "java_awt_AlphaComposite.h"
 
 #include "SurfaceData.h"
@@ -484,7 +486,9 @@ extern struct _CompositeTypes {
 #define ArraySize(A)    (sizeof(A) / sizeof(A[0]))
 
 #define PtrAddBytes(p, b)               ((void *) (((intptr_t) (p)) + (b)))
-#define PtrCoord(p, x, xinc, y, yinc)   PtrAddBytes(p, (y)*(yinc) + (x)*(xinc))
+#define PtrCoord(p, x, xinc, y, yinc)   PtrAddBytes(p, \
+                                                    ((ptrdiff_t)(y))*(yinc) + \
+                                                    ((ptrdiff_t)(x))*(xinc))
 
 /*
  * The function to call with an array of NativePrimitive structures
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XButtonPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XButtonPeer.java
index 9efb493..3146e67 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XButtonPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XButtonPeer.java
@@ -33,12 +33,9 @@ import java.awt.event.ActionEvent;
 import javax.swing.plaf.basic.*;
 import javax.swing.SwingUtilities;
 import javax.swing.SwingConstants;
-
 public class XButtonPeer extends XComponentPeer implements ButtonPeer {
-
-    boolean pressed;
-    boolean armed;
-
+    private boolean pressed;
+    private boolean armed;
     private Insets focusInsets;
     private Insets borderInsets;
     private Insets contentAreaInsets;
@@ -86,11 +83,6 @@ public class XButtonPeer extends XComponentPeer implements ButtonPeer {
         this.label = label;
         repaint();
     }
-
-    public void paint(Graphics g) {
-        paint(g,target);
-    }
-
     public void setBackground(Color c) {
         updateMotifColors(c);
         super.setBackground(c);
@@ -133,16 +125,10 @@ public class XButtonPeer extends XComponentPeer implements ButtonPeer {
           case  MouseEvent.MOUSE_ENTERED:
               if (pressed)
                   armed = true;
-//                 repaint();
-
               break;
-
           case MouseEvent.MOUSE_EXITED:
               armed = false;
-//                 repaint();
-
               break;
-
         }
     }
 
@@ -209,18 +195,14 @@ public class XButtonPeer extends XComponentPeer implements ButtonPeer {
     public Dimension minimumSize() {
         return getMinimumSize();
     }
-
-
-    /*
-       This method is called from Toolkit Thread and so it should not call any client code
-
-    */
-    public void paint(Graphics g, Component c)
-    {
-        if (!disposed && (g != null))
-        {
+    /**
+     * This method is called from Toolkit Thread and so it should not call any
+     * client code.
+     */
+    @Override
+    void paintPeer(final Graphics g) {
+        if (!disposed) {
             Dimension size = getPeerSize();
-
             g.setColor( getPeerBackground() );   /* erase the existing button remains */
             g.fillRect(0,0, size.width , size.height);
             paintBorder(g,borderInsets.left,
@@ -239,11 +221,9 @@ public class XButtonPeer extends XComponentPeer implements ButtonPeer {
 
             viewRect.width = size.width - (contentAreaInsets.left+contentAreaInsets.right);
             viewRect.height = size.height - (contentAreaInsets.top+contentAreaInsets.bottom);
-
             viewRect.x = contentAreaInsets.left;
-            viewRect.y = contentAreaInsets.right;
+            viewRect.y = contentAreaInsets.top;
             String llabel = (label != null) ? label : "";
-
             // layout the text and icon
             String text = SwingUtilities.layoutCompoundLabel(
                                                              fm, llabel, null,
@@ -309,10 +289,9 @@ public class XButtonPeer extends XComponentPeer implements ButtonPeer {
         else {
             /*** paint the text disabled ***/
             g.setColor(getPeerBackground().brighter());
-
             BasicGraphicsUtils.drawStringUnderlineCharAt(g,text, mnemonicIndex,
                                                          textRect.x, textRect.y + fm.getAscent());
-            g.setColor(c.getBackground().darker());
+            g.setColor(getPeerBackground().darker());
             BasicGraphicsUtils.drawStringUnderlineCharAt(g,text, mnemonicIndex,
                                                          textRect.x - 1, textRect.y + fm.getAscent() - 1);
         }
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XCheckboxPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XCheckboxPeer.java
index c2b0180..4728811 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XCheckboxPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XCheckboxPeer.java
@@ -297,40 +297,33 @@ class XCheckboxPeer extends XComponentPeer implements CheckboxPeer {
 
         double fsize = (double) checkBoxSize;
         myCheckMark = AffineTransform.getScaleInstance(fsize / MASTER_SIZE, fsize / MASTER_SIZE).createTransformedShape(MASTER_CHECKMARK);
-
     }
+    @Override
+    void paintPeer(final Graphics g) {
+        //layout();
+        Dimension size = getPeerSize();
+        Font f = getPeerFont();
+        flush();
+        g.setColor(getPeerBackground());   // erase the existing button
+        g.fillRect(0,0, size.width, size.height);
+        if (label != null) {
+            g.setFont(f);
+            paintText(g, textRect, label);
+        }
 
-    public void paint(Graphics g) {
-        if (g != null) {
-            //layout();
-            Dimension size = getPeerSize();
-            Font f = getPeerFont();
-
-            flush();
-            g.setColor(getPeerBackground());   // erase the existing button
-            g.fillRect(0,0, size.width, size.height);
-
-            if (label != null) {
-                g.setFont(f);
-                paintText(g, textRect, label);
-            }
-
-            if (hasFocus()) {
-                paintFocus(g,
-                           focusRect.x,
-                           focusRect.y,
-                           focusRect.width,
-                           focusRect.height);
-            }
-
-            // Paint the checkbox or radio button
-            if (checkBoxGroup == null) {
-                paintCheckbox(g, cbX, cbY, checkBoxSize, checkBoxSize);
-            }
-            else {
-                paintRadioButton(g, cbX, cbY, checkBoxSize, checkBoxSize);
-            }
-
+        if (hasFocus()) {
+            paintFocus(g,
+                       focusRect.x,
+                       focusRect.y,
+                       focusRect.width,
+                       focusRect.height);
+        }
+        // Paint the checkbox or radio button
+        if (checkBoxGroup == null) {
+            paintCheckbox(g, cbX, cbY, checkBoxSize, checkBoxSize);
+        }
+        else {
+            paintRadioButton(g, cbX, cbY, checkBoxSize, checkBoxSize);
         }
         flush();
     }
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XChoicePeer.java b/jdk/src/solaris/classes/sun/awt/X11/XChoicePeer.java
index de5e187..4f8a367 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XChoicePeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XChoicePeer.java
@@ -550,10 +550,10 @@ public class XChoicePeer extends XComponentPeer implements ChoicePeer, ToplevelS
     /**
      * Paint the choice
      */
-    public void paint(Graphics g) {
+    @Override
+    void paintPeer(final Graphics g) {
         flush();
         Dimension size = getPeerSize();
-
         // TODO: when mouse is down over button, widget should be drawn depressed
         g.setColor(getPeerBackground());
         g.fillRect(0, 0, width, height);
@@ -912,16 +912,22 @@ public class XChoicePeer extends XComponentPeer implements ChoicePeer, ToplevelS
         /*
          * fillRect with current Background color on the whole dropdown list.
          */
-        public void paintBackground(){
-            Graphics g = getGraphics();
-            g.setColor(getPeerBackground());
-            g.fillRect(0, 0, width, height);
+        public void paintBackground() {
+            final Graphics g = getGraphics();
+            if (g != null) {
+                try {
+                    g.setColor(getPeerBackground());
+                    g.fillRect(0, 0, width, height);
+                } finally {
+                    g.dispose();
+                }
+            }
         }
-
         /*
          * 6405689. In some cases we should erase background to eliminate painting
          * artefacts.
          */
+        @Override
         public void repaint() {
             if (!isVisible()) {
                 return;
@@ -931,8 +937,8 @@ public class XChoicePeer extends XComponentPeer implements ChoicePeer, ToplevelS
             }
             super.repaint();
         }
-
-        public void paint(Graphics g) {
+        @Override
+        public void paintPeer(Graphics g) {
             //System.out.println("UC.paint()");
             Choice choice = (Choice)target;
             Color colors[] = XChoicePeer.this.getGUIcolors();
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java
index 37126c7..7dd3812 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java
@@ -38,7 +38,6 @@ import java.awt.Graphics;
 import java.awt.GraphicsConfiguration;
 import java.awt.Image;
 import java.awt.Insets;
-import java.awt.KeyboardFocusManager;
 import java.awt.Rectangle;
 import java.awt.SystemColor;
 import java.awt.Toolkit;
@@ -59,15 +58,11 @@ import java.awt.image.ImageProducer;
 import java.awt.image.VolatileImage;
 import java.awt.peer.ComponentPeer;
 import java.awt.peer.ContainerPeer;
-import java.awt.peer.LightweightPeer;
 import java.lang.reflect.*;
 import java.security.*;
 import java.util.Collection;
-import java.util.HashSet;
 import java.util.Set;
-import java.util.Vector;
 import sun.util.logging.PlatformLogger;
-
 import sun.awt.*;
 import sun.awt.event.IgnorePaintEvent;
 import sun.awt.image.SunVolatileImage;
@@ -428,27 +423,23 @@ public class XComponentPeer extends XWindow implements ComponentPeer, DropTarget
     public void disable() {
         setEnabled(false);
     }
-
-    public void paint(Graphics g) {
-    }
-    public void repaint(long tm, int x, int y, int width, int height) {
-        repaint();
+    @Override
+    public void paint(final Graphics g) {
+        super.paint(g);
+        // allow target to change the picture
+        target.paint(g);
     }
 
-
     public Graphics getGraphics() {
         return getGraphics(surfaceData, getPeerForeground(), getPeerBackground(), getPeerFont());
     }
-
-
-
     public void print(Graphics g) {
         // clear rect here to emulate X clears rect before Expose
         g.setColor(target.getBackground());
         g.fillRect(0, 0, target.getWidth(), target.getHeight());
         g.setColor(target.getForeground());
         // paint peer
-        paint(g);
+        paintPeer(g);
         // allow target to change the picture
         target.print(g);
     }
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XLabelPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XLabelPeer.java
index c0e2eec..dc94ea1 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XLabelPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XLabelPeer.java
@@ -85,7 +85,8 @@ class XLabelPeer extends XComponentPeer implements LabelPeer {
      */
     // NOTE: This method is called by privileged threads.
     //       DO NOT INVOKE CLIENT CODE ON THIS THREAD!
-    public void paint(Graphics g) {
+    @Override
+    void paintPeer(final Graphics g) {
         int textX = 0;
         int textY = 0;
         g.setColor(getPeerBackground());
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XListPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XListPeer.java
index 838899e..d9319c9 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XListPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XListPeer.java
@@ -363,9 +363,7 @@ class XListPeer extends XComponentPeer implements ListPeer, XScrollbarClient {
             return Math.min(items.size()-1, itemsInWindow()-1);
         }
     }
-
     public void repaintScrollbarRequest(XScrollbar scrollbar) {
-        Graphics g = getGraphics();
         if (scrollbar == hsb)  {
             repaint(PAINT_HSCROLL);
         }
@@ -373,9 +371,6 @@ class XListPeer extends XComponentPeer implements ListPeer, XScrollbarClient {
             repaint(PAINT_VSCROLL);
         }
     }
-
-
-
     /**
      * Overridden for performance
      */
@@ -410,18 +405,20 @@ class XListPeer extends XComponentPeer implements ListPeer, XScrollbarClient {
      * @param distance the distance to copy the source area
      */
     private void repaint(int firstItem, int lastItem, int options, Rectangle source, Point distance) {
-        Graphics g = getGraphics();
-        try {
-            painter.paint(g, firstItem, lastItem, options, source, distance);
-        } finally {
-            g.dispose();
+        final Graphics g = getGraphics();
+        if (g != null) {
+            try {
+                painter.paint(g, firstItem, lastItem, options, source, distance);
+                target.paint(g);
+            } finally {
+                g.dispose();
+            }
         }
     }
-
-    public void paint(Graphics g) {
+    @Override
+    void paintPeer(final Graphics g) {
         painter.paint(g, getFirstVisibleItem(), getLastVisibleItem(), PAINT_ALL);
     }
-
     public boolean isFocusable() { return true; }
 
     // TODO: share/promote the Focus methods?
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XMenuBarPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XMenuBarPeer.java
index 28aa655..33163a8 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XMenuBarPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XMenuBarPeer.java
@@ -415,7 +415,7 @@ public class XMenuBarPeer extends XBaseMenuWindow implements MenuBarPeer {
      * Overriden XWindow painting & printing
      *
      ************************************************/
-    public void paint(Graphics g) {
+    public void paintPeer(Graphics g) {
         resetColors();
         /* Calculate menubar dimension. */
         int width = getWidth();
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XMenuWindow.java b/jdk/src/solaris/classes/sun/awt/X11/XMenuWindow.java
index d4df102..3d19233 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XMenuWindow.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XMenuWindow.java
@@ -432,9 +432,9 @@ public class XMenuWindow extends XBaseMenuWindow {
     /**
      * Paints menu window
      */
-    public void paint(Graphics g) {
+    @Override
+    public void paintPeer(Graphics g) {
         resetColors();
-
         int width = getWidth();
         int height = getHeight();
 
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XPanelPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XPanelPeer.java
index 1c0ebab..ede8b02 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XPanelPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XPanelPeer.java
@@ -60,14 +60,13 @@ public class XPanelPeer extends XCanvasPeer implements PanelPeer {
     public Insets getInsets() {
         return new Insets(0, 0, 0, 0);
     }
-
     public void paint(Graphics g) {
         super.paint(g);
-        /*      SunGraphicsCallback.PaintHeavyweightComponentsCallback.getInstance().
-                runComponents(((Container)target).getComponents(), g,
-                SunGraphicsCallback.LIGHTWEIGHTS |
-                SunGraphicsCallback.HEAVYWEIGHTS);
-        */ }
+        SunGraphicsCallback.PaintHeavyweightComponentsCallback.getInstance().
+            runComponents(((Container)target).getComponents(), g,
+                          SunGraphicsCallback.LIGHTWEIGHTS |
+                          SunGraphicsCallback.HEAVYWEIGHTS);
+    }
     public void print(Graphics g) {
         super.print(g);
         SunGraphicsCallback.PrintHeavyweightComponentsCallback.getInstance().
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XRepaintArea.java b/jdk/src/solaris/classes/sun/awt/X11/XRepaintArea.java
index b72df40..c4c4281 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XRepaintArea.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XRepaintArea.java
@@ -53,9 +53,9 @@ class XRepaintArea extends RepaintArea {
      */
     protected void updateComponent(Component comp, Graphics g) {
         if (comp != null) {
-            ComponentPeer peer = comp.getPeer();
+            final XComponentPeer peer = (XComponentPeer) comp.getPeer();
             if (peer != null) {
-                peer.paint(g);
+                peer.paintPeer(g);
             }
             super.updateComponent(comp, g);
         }
@@ -66,9 +66,9 @@ class XRepaintArea extends RepaintArea {
      */
     protected void paintComponent(Component comp, Graphics g) {
         if (comp != null) {
-            ComponentPeer peer = comp.getPeer();
+            final XComponentPeer peer = (XComponentPeer) comp.getPeer();
             if (peer != null) {
-                peer.paint(g);
+                peer.paintPeer(g);
             }
             super.paintComponent(comp, g);
         }
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java b/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java
index 3061f76..afd8613 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java
@@ -29,6 +29,8 @@ import java.awt.*;
 import java.awt.event.*;
 import java.awt.peer.*;
 import java.lang.reflect.*;
+
+import sun.awt.AWTAccessor;
 import sun.awt.SunToolkit;
 
 class XScrollPanePeer extends XComponentPeer implements ScrollPanePeer, XScrollbarClient {
@@ -41,9 +43,7 @@ class XScrollPanePeer extends XComponentPeer implements ScrollPanePeer, XScrollb
     public final static int     VERTICAL = 1 << 0;
     public final static int     HORIZONTAL = 1 << 1;
 
-    private static Method m_setValue;
     static {
-        m_setValue = SunToolkit.getMethod(ScrollPaneAdjustable.class, "setTypedValue", new Class[] {Integer.TYPE, Integer.TYPE});
         SCROLLBAR = XToolkit.getUIDefaults().getInt("ScrollBar.defaultWidth");
     }
 
@@ -293,10 +293,12 @@ class XScrollPanePeer extends XComponentPeer implements ScrollPanePeer, XScrollb
                 setAdjustableValue(hadj, hsb.getValue(), type);
                 sx = -(hsb.getValue());
                 Graphics g = getGraphics();
-                try {
-                    paintHorScrollbar(g, colors, true);
-                } finally {
-                    g.dispose();
+                if (g != null) {
+                    try {
+                        paintHorScrollbar(g, colors, true);
+                    } finally {
+                        g.dispose();
+                    }
                 }
             }
             if ((flag & VERTICAL) != 0) {
@@ -305,36 +307,38 @@ class XScrollPanePeer extends XComponentPeer implements ScrollPanePeer, XScrollb
                 setAdjustableValue(vadj, vsb.getValue(), type);
                 sy = -(vsb.getValue());
                 Graphics g = getGraphics();
-                try {
-                    paintVerScrollbar(g, colors, true);
-                } finally {
-                    g.dispose();
+                if (g != null) {
+                    try {
+                        paintVerScrollbar(g, colors, true);
+                    } finally {
+                        g.dispose();
+                    }
                 }
             }
         }
         c.move(sx, sy);
     }
 
-    void setAdjustableValue(ScrollPaneAdjustable adj, int value, int type) {
-        try {
-            m_setValue.invoke(adj, new Object[] {Integer.valueOf(value), Integer.valueOf(type)});
-        } catch (IllegalAccessException iae) {
-            adj.setValue(value);
-        } catch (IllegalArgumentException iae2) {
-            adj.setValue(value);
-        } catch (InvocationTargetException ite) {
-            adj.setValue(value);
-            ite.getCause().printStackTrace();
-        }
+    private void setAdjustableValue(final ScrollPaneAdjustable adj, final int value,
+                            final int type) {
+        AWTAccessor.getScrollPaneAdjustableAccessor().setTypedValue(adj, value,
+                                                                    type);
     }
-
-
-    public void paint(Graphics g) {
-        paintComponent(g);
+    @Override
+    void paintPeer(final Graphics g) {
+        final Color[] colors = getGUIcolors();
+        g.setColor(colors[BACKGROUND_COLOR]);
+        final int h = height - hsbSpace;
+        final int w = width - vsbSpace;
+        g.fillRect(0, 0, w, h);
+        // paint rectangular region between scrollbars
+        g.fillRect(w, h, vsbSpace, hsbSpace);
+        if (MARGIN > 0) {
+            draw3DRect(g, colors, 0, 0, w - 1, h - 1, false);
+        }
+        paintScrollBars(g, colors);
     }
-
-
-    void paintScrollBars(Graphics g, Color[] colors) {
+    private void paintScrollBars(Graphics g, Color[] colors) {
         if (vsbSpace > 0) {
             paintVerScrollbar(g, colors, true);
             // paint the whole scrollbar
@@ -345,51 +349,32 @@ class XScrollPanePeer extends XComponentPeer implements ScrollPanePeer, XScrollb
             // paint the whole scrollbar
         }
     }
-
-   void repaintScrollBars() {
-       Graphics g = getGraphics();
-       Color colors[] = getGUIcolors();
-       if (g != null) {
-           paintScrollBars(g,colors);
-       }
-       g.dispose();
-   }
-
-    public void repaintScrollbarRequest(XScrollbar sb) {
-       Graphics g = getGraphics();
-       Color colors[] = getGUIcolors();
-       if (g != null) {
-           if (sb ==  vsb)  {
-               paintVerScrollbar(g,colors,true);
-           }
-           else if (sb ==  hsb) {
-               paintHorScrollbar(g,colors,true);
-           }
-       }
+    void repaintScrollBars() {
+        Graphics g = getGraphics();
+        Color colors[] = getGUIcolors();
+        if (g != null) {
+            try {
+                paintScrollBars(g, colors);
+            } finally {
+                g.dispose();
+            }
+        }
     }
-
-    /**
-     * Paint the scrollpane.
-     */
-    public void paintComponent(Graphics g) {
-
+    public void repaintScrollbarRequest(XScrollbar sb) {
+        Graphics g = getGraphics();
         Color colors[] = getGUIcolors();
-        g.setColor(colors[BACKGROUND_COLOR]);
-        int h = height - hsbSpace;
-        int w = width - vsbSpace;
-
-        g.fillRect(0, 0, w, h);
-
-        // paint rectangular region between scrollbars
-        g.fillRect(w, h, vsbSpace, hsbSpace);
-
-        if (MARGIN > 0) {
-            draw3DRect(g, colors, 0, 0, w - 1, h - 1, false);
+        if (g != null) {
+            try {
+                if (sb == vsb) {
+                    paintVerScrollbar(g, colors, true);
+                } else if (sb == hsb) {
+                    paintHorScrollbar(g, colors, true);
+                }
+            } finally {
+                g.dispose();
+            }
         }
-
-        paintScrollBars(g,colors);
     }
-
     public void handleEvent(java.awt.AWTEvent e) {
         super.handleEvent(e);
 
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java
index fecadfb..e3eeee5 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XScrollbarPeer.java
@@ -90,18 +90,12 @@ class XScrollbarPeer extends XComponentPeer implements ScrollbarPeer, XScrollbar
             ? new Dimension(getDefaultDimension(), DEFAULT_LENGTH)
                 : new Dimension(DEFAULT_LENGTH, getDefaultDimension());
     }
-
-    public void repaint() {
-        Graphics g = getGraphics();
-        if (g != null) paint(g);
-    }
-
     /**
      * Paint the scrollbar.
      */
-    public void paint(Graphics g) {
-        Scrollbar sb = (Scrollbar)target;
-        Color colors[] = getGUIcolors();
+    @Override
+    void paintPeer(final Graphics g) {
+        final Color[] colors = getGUIcolors();
         g.setColor(colors[BACKGROUND_COLOR]);
         tsb.paint(g, colors, true);
         // paint the whole scrollbar
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java
index 3f63391..972446d 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java
@@ -185,11 +185,8 @@ class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
      */
     @Override
     public void pSetCursor(Cursor cursor, boolean ignoreSubComponents) {
-        Point onScreen = getLocationOnScreen();
         if (ignoreSubComponents ||
-            javaMouseEventHandler == null ||
-            onScreen == null)
-        {
+            javaMouseEventHandler == null) {
             super.pSetCursor(cursor, true);
             return;
         }
@@ -197,6 +194,7 @@ class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
         Point cursorPos = new Point();
         ((XGlobalCursorManager)XGlobalCursorManager.getCursorManager()).getCursorPos(cursorPos);
 
+        final Point onScreen = getLocationOnScreen();
         Point localPoint = new Point(cursorPos.x - onScreen.x, cursorPos.y - onScreen.y );
 
         javaMouseEventHandler.setPointerToUnderPoint(localPoint);
@@ -300,15 +298,14 @@ class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
      * Paint the component
      * this method is called when the repaint instruction has been used
      */
-
     public void repaint() {
         if (textPane  != null)  {
             //textPane.validate();
             textPane.repaint();
         }
     }
-
-    public void paint(Graphics g) {
+    @Override
+    void paintPeer(final Graphics g) {
         if (textPane  != null)  {
             textPane.paint(g);
         }
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java
index 69ff1c3..bb7ac17 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java
@@ -370,12 +370,11 @@ public class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
     public void repaint() {
         if (xtext  != null) xtext.repaint();
     }
-
-    public void paint(Graphics g) {
+    @Override
+    void paintPeer(final Graphics g) {
         if (xtext  != null) xtext.paint(g);
     }
 
-
     public void print(Graphics g) {
         if (xtext != null) {
             xtext.print(g);
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XWarningWindow.java b/jdk/src/solaris/classes/sun/awt/X11/XWarningWindow.java
index d0c262f..bb235a8 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XWarningWindow.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XWarningWindow.java
@@ -241,16 +241,19 @@ class XWarningWindow extends XWindow {
     Font getFont () {
         return ownerWindow.getFont();
     }
+
+    @Override
     public void repaint() {
-        Rectangle bounds = getBounds();
-        Graphics g = getGraphics();
-        try {
-            paint(g, 0, 0, bounds.width, bounds.height);
-        } finally {
-            g.dispose();
+        final Rectangle bounds = getBounds();
+        final Graphics g = getGraphics();
+        if (g != null) {
+            try {
+                paint(g, 0, 0, bounds.width, bounds.height);
+            } finally {
+                g.dispose();
+            }
         }
     }
-
     @Override
     public void handleExposeEvent(XEvent xev) {
         super.handleExposeEvent(xev);
@@ -263,11 +266,13 @@ class XWarningWindow extends XWindow {
         SunToolkit.executeOnEventHandlerThread(target,
                 new Runnable() {
                     public void run() {
-                        Graphics g = getGraphics();
-                        try {
-                            paint(g, x, y, width, height);
-                        } finally {
-                            g.dispose();
+                        final Graphics g = getGraphics();
+                        if (g != null) {
+                            try {
+                                paint(g, x, y, width, height);
+                            } finally {
+                                g.dispose();
+                            }
                         }
                     }
                 });
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XWindow.java b/jdk/src/solaris/classes/sun/awt/X11/XWindow.java
index 8c69ce8..8549440 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XWindow.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XWindow.java
@@ -502,9 +502,8 @@ public class XWindow extends XBaseWindow implements X11ComponentPeer {
     public boolean isEmbedded() {
         return embedded;
     }
-
     public  void repaint(int x,int y, int width, int height) {
-        if (!isVisible()) {
+        if (!isVisible() || getWidth() == 0 || getHeight() == 0) {
             return;
         }
         Graphics g = getGraphics();
@@ -517,12 +516,11 @@ public class XWindow extends XBaseWindow implements X11ComponentPeer {
             }
         }
     }
-
-    public  void repaint() {
-        if (!isVisible()) {
+    void repaint() {
+        if (!isVisible() || getWidth() == 0 || getHeight() == 0) {
             return;
         }
-        Graphics g = getGraphics();
+        final Graphics g = getGraphics();
         if (g != null) {
             try {
                 paint(g);
@@ -531,10 +529,13 @@ public class XWindow extends XBaseWindow implements X11ComponentPeer {
             }
         }
     }
-
-    void paint(Graphics g) {
+    public void paint(final Graphics g) {
+        // paint peer
+        paintPeer(g);
     }
 
+    void paintPeer(final Graphics g) {
+    }
     //used by Peers to avoid flickering withing paint()
     protected void flush(){
         XToolkit.awtLock();
diff --git a/jdk/src/solaris/classes/sun/font/FontConfigManager.java b/jdk/src/solaris/classes/sun/font/FontConfigManager.java
index 41c1a5d..c0177f3 100644
--- a/jdk/src/solaris/classes/sun/font/FontConfigManager.java
+++ b/jdk/src/solaris/classes/sun/font/FontConfigManager.java
@@ -347,6 +347,11 @@ public class FontConfigManager {
         name = name.toLowerCase();
 
         initFontConfigFonts(false);
+        if (fontConfigFonts == null) {
+            // This avoids an immediate NPE if fontconfig look up failed
+            // but doesn't guarantee this is a recoverable situation.
+            return null;
+        }
 
         FcCompFont fcInfo = null;
         for (int i=0; i<fontConfigFonts.length; i++) {
diff --git a/jdk/src/solaris/classes/sun/nio/ch/SctpChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/SctpChannelImpl.java
index 5d961d4..699f80a 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/SctpChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/SctpChannelImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -53,8 +53,6 @@ import com.sun.nio.sctp.MessageInfo;
 import com.sun.nio.sctp.NotificationHandler;
 import com.sun.nio.sctp.SctpChannel;
 import com.sun.nio.sctp.SctpSocketOption;
-import sun.nio.ch.PollArrayWrapper;
-import sun.nio.ch.SelChImpl;
 import static com.sun.nio.sctp.SctpStandardSocketOptions.*;
 import static sun.nio.ch.SctpResultContainer.SEND_FAILED;
 import static sun.nio.ch.SctpResultContainer.ASSOCIATION_CHANGED;
@@ -118,7 +116,7 @@ public class SctpChannelImpl extends SctpChannel
 
     private Association association;
 
-    private Set<SocketAddress> remoteAddresses = Collections.EMPTY_SET;
+    private Set<SocketAddress> remoteAddresses = Collections.emptySet();
 
     /* -- End of fields protected by stateLock -- */
 
@@ -853,7 +851,7 @@ public class SctpChannelImpl extends SctpChannel
         return n;
     }
 
-    private InternalNotificationHandler<?> internalNotificationHandler =
+    private InternalNotificationHandler internalNotificationHandler =
             new InternalNotificationHandler();
 
     private void handleNotificationInternal(SctpResultContainer resultContainer)
@@ -862,12 +860,12 @@ public class SctpChannelImpl extends SctpChannel
                 internalNotificationHandler, null);
     }
 
-    private class InternalNotificationHandler<T>
-            extends AbstractNotificationHandler<T>
+    private class InternalNotificationHandler
+            extends AbstractNotificationHandler<Object>
     {
         @Override
         public HandlerResult handleNotification(
-                AssociationChangeNotification not, T unused) {
+                AssociationChangeNotification not, Object unused) {
             if (not.event().equals(
                     AssociationChangeNotification.AssocChangeEvent.COMM_UP) &&
                     association == null) {
@@ -893,8 +891,8 @@ public class SctpChannelImpl extends SctpChannel
         }
 
         /* AbstractNotificationHandler */
-        AbstractNotificationHandler absHandler =
-                (AbstractNotificationHandler)handler;
+        AbstractNotificationHandler<T> absHandler =
+                (AbstractNotificationHandler<T>)handler;
         switch(resultContainer.type()) {
             case ASSOCIATION_CHANGED :
                 return absHandler.handleNotification(
@@ -1053,7 +1051,7 @@ public class SctpChannelImpl extends SctpChannel
             if (!isOpen())
                 throw new ClosedChannelException();
             if (!isBound())
-                return Collections.EMPTY_SET;
+                return Collections.emptySet();
 
             return SctpNet.getLocalAddresses(fdVal);
         }
@@ -1066,7 +1064,7 @@ public class SctpChannelImpl extends SctpChannel
             if (!isOpen())
                 throw new ClosedChannelException();
             if (!isConnected() || isShutdown)
-                return Collections.EMPTY_SET;
+                return Collections.emptySet();
 
             try {
                 return SctpNet.getRemoteAddresses(fdVal, 0/*unused*/);
diff --git a/jdk/src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java
index 00f8212..8ef16fa 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/SctpMultiChannelImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -586,12 +586,12 @@ public class SctpMultiChannelImpl extends SctpMultiChannel
                 internalNotificationHandler, null);
     }
 
-    private class InternalNotificationHandler<T>
-            extends AbstractNotificationHandler<T>
+    private class InternalNotificationHandler
+            extends AbstractNotificationHandler<Object>
     {
         @Override
         public HandlerResult handleNotification(
-                AssociationChangeNotification not, T unused) {
+                AssociationChangeNotification not, Object unused) {
             SctpAssocChange sac = (SctpAssocChange) not;
 
             /* Update map to reflect change in association */
@@ -622,8 +622,8 @@ public class SctpMultiChannelImpl extends SctpMultiChannel
         if (!(handler instanceof AbstractNotificationHandler)) {
             result = handler.handleNotification(notification, attachment);
         } else { /* AbstractNotificationHandler */
-            AbstractNotificationHandler absHandler =
-                    (AbstractNotificationHandler)handler;
+            AbstractNotificationHandler<T> absHandler =
+                    (AbstractNotificationHandler<T>)handler;
             switch(resultContainer.type()) {
                 case ASSOCIATION_CHANGED :
                     result = absHandler.handleNotification(
@@ -912,7 +912,7 @@ public class SctpMultiChannelImpl extends SctpMultiChannel
             if (!isOpen())
                 throw new ClosedChannelException();
             if (!isBound())
-                return Collections.EMPTY_SET;
+                return Collections.emptySet();
 
             return SctpNet.getLocalAddresses(fdVal);
         }
@@ -931,7 +931,7 @@ public class SctpMultiChannelImpl extends SctpMultiChannel
             } catch (SocketException se) {
                 /* a valid association should always have remote addresses */
                 Set<SocketAddress> addrs = associationMap.get(association);
-                return addrs != null ? addrs : Collections.EMPTY_SET;
+                return addrs != null ? addrs : Collections.<SocketAddress>emptySet();
             }
         }
     }
diff --git a/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java b/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java
index 322d973..a275c99 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/SctpNet.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -118,18 +118,14 @@ public class SctpNet {
         return set;
     }
 
-    static void setSocketOption(int fd,
-                                SctpSocketOption name,
-                                Object value,
-                                int assocId)
+    static <T> void setSocketOption(int fd,
+                                    SctpSocketOption<T> name,
+                                    T value,
+                                    int assocId)
             throws IOException {
         if (value == null)
             throw new IllegalArgumentException("Invalid option value");
 
-        Class<?> type = name.type();
-        if (!type.isInstance(value))
-            throw new IllegalArgumentException("Invalid option value");
-
         if (name.equals(SCTP_INIT_MAXSTREAMS)) {
             InitMaxStreams maxStreamValue = (InitMaxStreams)value;
             SctpNet.setInitMsgOption0(fd,
@@ -169,7 +165,7 @@ public class SctpNet {
         }
     }
 
-    static Object getSocketOption(int fd, SctpSocketOption name, int assocId)
+    static Object getSocketOption(int fd, SctpSocketOption<?> name, int assocId)
              throws IOException {
          if (name.equals(SCTP_SET_PEER_PRIMARY_ADDR)) {
             throw new IllegalArgumentException(
@@ -194,7 +190,7 @@ public class SctpNet {
         }
     }
 
-    static void setIntOption(int fd, SctpSocketOption name, Object value)
+    static void setIntOption(int fd, SctpSocketOption<?> name, Object value)
             throws IOException {
         if (value == null)
             throw new IllegalArgumentException("Invalid option value");
@@ -234,7 +230,7 @@ public class SctpNet {
         setIntOption0(fd, ((SctpStdSocketOption)name).constValue(), arg);
     }
 
-    static Object getIntOption(int fd, SctpSocketOption name)
+    static Object getIntOption(int fd, SctpSocketOption<?> name)
             throws IOException {
         Class<?> type = name.type();
 
diff --git a/jdk/src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java b/jdk/src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java
index 845ac8e..85a2d73 100644
--- a/jdk/src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java
+++ b/jdk/src/solaris/classes/sun/nio/ch/SctpServerChannelImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -367,6 +367,7 @@ public class SctpServerChannelImpl extends SctpServerChannel
     }
 
     @Override
+    @SuppressWarnings("unchecked")
     public <T> T getOption(SctpSocketOption<T> name) throws IOException {
         if (name == null)
             throw new NullPointerException();
@@ -403,7 +404,7 @@ public class SctpServerChannelImpl extends SctpServerChannel
             if (!isOpen())
                 throw new ClosedChannelException();
             if (!isBound())
-                return Collections.EMPTY_SET;
+                return Collections.emptySet();
 
             return SctpNet.getLocalAddresses(fdVal);
         }
diff --git a/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java b/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java
index a8b337e..1c71b62 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WMenuItemPeer.java
@@ -183,7 +183,9 @@ class WMenuItemPeer extends WObjectPeer implements MenuItemPeer {
      */
     private static native void initIDs();
 
-    // Needed for MenuComponentPeer.
-    public void setFont(Font f) {
+    private native void _setFont(Font f);
+
+    public void setFont(final Font f) {
+        _setFont(f);
     }
 }
diff --git a/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java b/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java
index 790ac6d..04735b6 100644
--- a/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java
+++ b/jdk/src/windows/classes/sun/awt/windows/WScrollPanePeer.java
@@ -27,6 +27,8 @@ package sun.awt.windows;
 import java.awt.*;
 import java.awt.event.AdjustmentEvent;
 import java.awt.peer.ScrollPanePeer;
+
+import sun.awt.AWTAccessor;
 import sun.awt.PeerEvent;
 
 import sun.util.logging.PlatformLogger;
@@ -169,8 +171,6 @@ class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer {
         }
     }
 
-    native void setTypedValue(ScrollPaneAdjustable adjustable, int newpos, int type);
-
     /*
      * Runnable for the ScrollEvent that performs the adjustment.
      */
@@ -247,8 +247,9 @@ class WScrollPanePeer extends WPanelPeer implements ScrollPanePeer {
             // Fix for 4075484 - consider type information when creating AdjustmentEvent
             // We can't just call adj.setValue() because it creates AdjustmentEvent with type=TRACK
             // Instead, we call private method setTypedValue of ScrollPaneAdjustable.
-            // Because ScrollPaneAdjustable is in another package we should call it through native code.
-            setTypedValue(adj, newpos, type);
+            AWTAccessor.getScrollPaneAdjustableAccessor().setTypedValue(adj,
+                                                                        newpos,
+                                                                        type);
 
             // Paint the exposed area right away.  To do this - find
             // the heavyweight ancestor of the scroll child.
diff --git a/jdk/src/windows/classes/sun/nio/ch/PendingIoCache.java b/jdk/src/windows/classes/sun/nio/ch/PendingIoCache.java
index a660ff0..72d8d0e 100644
--- a/jdk/src/windows/classes/sun/nio/ch/PendingIoCache.java
+++ b/jdk/src/windows/classes/sun/nio/ch/PendingIoCache.java
@@ -60,6 +60,7 @@ class PendingIoCache {
     private boolean closePending;
 
     // maps OVERLAPPED to PendingFuture
+    @SuppressWarnings("rawtypes")
     private final Map<Long,PendingFuture> pendingIoMap =
         new HashMap<Long,PendingFuture>();
 
diff --git a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
index b144c96..126342a 100644
--- a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
@@ -314,7 +314,7 @@ public class WindowsAsynchronousFileChannelImpl
         // create Future and task that will be invoked to acquire lock
         PendingFuture<FileLock,A> result =
             new PendingFuture<FileLock,A>(this, handler, attachment);
-        LockTask lockTask = new LockTask<A>(position, fli, result);
+        LockTask<A> lockTask = new LockTask<A>(position, fli, result);
         result.setContext(lockTask);
 
         // initiate I/O
@@ -552,7 +552,7 @@ public class WindowsAsynchronousFileChannelImpl
         // create Future and task that initiates read
         PendingFuture<Integer,A> result =
             new PendingFuture<Integer,A>(this, handler, attachment);
-        ReadTask readTask = new ReadTask<A>(dst, pos, rem, position, result);
+        ReadTask<A> readTask = new ReadTask<A>(dst, pos, rem, position, result);
         result.setContext(readTask);
 
         // initiate I/O
@@ -726,7 +726,7 @@ public class WindowsAsynchronousFileChannelImpl
         // create Future and task to initiate write
         PendingFuture<Integer,A> result =
             new PendingFuture<Integer,A>(this, handler, attachment);
-        WriteTask writeTask = new WriteTask<A>(src, pos, rem, position, result);
+        WriteTask<A> writeTask = new WriteTask<A>(src, pos, rem, position, result);
         result.setContext(writeTask);
 
         // initiate I/O
diff --git a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
index a55e7a0..ff3c310 100644
--- a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java
@@ -351,7 +351,7 @@ class WindowsAsynchronousSocketChannelImpl
         // setup task
         PendingFuture<Void,A> result =
             new PendingFuture<Void,A>(this, handler, attachment);
-        ConnectTask task = new ConnectTask<A>(isa, result);
+        ConnectTask<A> task = new ConnectTask<A>(isa, result);
         result.setContext(task);
 
         // initiate I/O
@@ -615,7 +615,8 @@ class WindowsAsynchronousSocketChannelImpl
             bufs = new ByteBuffer[1];
             bufs[0] = dst;
         }
-        final ReadTask readTask = new ReadTask<V,A>(bufs, isScatteringRead, result);
+        final ReadTask<V,A> readTask =
+                new ReadTask<V,A>(bufs, isScatteringRead, result);
         result.setContext(readTask);
 
         // schedule timeout
@@ -872,7 +873,8 @@ class WindowsAsynchronousSocketChannelImpl
             bufs = new ByteBuffer[1];
             bufs[0] = src;
         }
-        final WriteTask writeTask = new WriteTask<V,A>(bufs, gatheringWrite, result);
+        final WriteTask<V,A> writeTask =
+                new WriteTask<V,A>(bufs, gatheringWrite, result);
         result.setContext(writeTask);
 
         // schedule timeout
diff --git a/jdk/src/windows/native/sun/windows/awt_Choice.cpp b/jdk/src/windows/native/sun/windows/awt_Choice.cpp
index 0d014ac..dfd9a6d 100644
--- a/jdk/src/windows/native/sun/windows/awt_Choice.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Choice.cpp
@@ -396,12 +396,6 @@ LRESULT CALLBACK AwtChoice::ListWindowProc(HWND hwnd, UINT message,
 
     DASSERT(::IsWindow(hwnd));
 
-    // This branch is required for the proper work of AwtComponent::GetComponent() method
-    // while hovering drop-down list
-    if (message == WmAwtIsComponent) {
-        return (LRESULT)TRUE;
-    }
-
     switch (message) {
         case WM_LBUTTONDOWN: {
             DWORD curPos = ::GetMessagePos();
diff --git a/jdk/src/windows/native/sun/windows/awt_Component.cpp b/jdk/src/windows/native/sun/windows/awt_Component.cpp
index 3b72bae..a6ada9c 100644
--- a/jdk/src/windows/native/sun/windows/awt_Component.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Component.cpp
@@ -364,6 +364,7 @@ AwtComponent* AwtComponent::GetComponentImpl(HWND hWnd) {
     AwtComponent *component =
         (AwtComponent *)::GetWindowLongPtr(hWnd, GWLP_USERDATA);
     DASSERT(!component || !IsBadReadPtr(component, sizeof(AwtComponent)) );
+    DASSERT(!component || component->GetHWnd() == hWnd );
     return component;
 }
 
diff --git a/jdk/src/windows/native/sun/windows/awt_Menu.cpp b/jdk/src/windows/native/sun/windows/awt_Menu.cpp
index 893f681..94e5617 100644
--- a/jdk/src/windows/native/sun/windows/awt_Menu.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Menu.cpp
@@ -119,6 +119,41 @@ done:
     return menu;
 }
 
+void AwtMenu::UpdateLayout()
+{
+    UpdateLayout(GetHMenu());
+    RedrawMenuBar();
+}
+
+void AwtMenu::UpdateLayout(const HMENU hmenu)
+{
+    const int nMenuItemCount = ::GetMenuItemCount(hmenu);
+    static MENUITEMINFO  mii;
+    for (int idx = 0; idx < nMenuItemCount; ++idx) {
+        memset(&mii, 0, sizeof(mii));
+        mii.cbSize = sizeof(mii);
+        mii.fMask = MIIM_CHECKMARKS | MIIM_DATA | MIIM_ID
+                  | MIIM_STATE | MIIM_SUBMENU | MIIM_TYPE;
+        if (::GetMenuItemInfo(hmenu, idx, TRUE, &mii)) {
+            VERIFY(::RemoveMenu(hmenu, idx, MF_BYPOSITION));
+            VERIFY(::InsertMenuItem(hmenu, idx, TRUE, &mii));
+            if (mii.hSubMenu !=  NULL) {
+                UpdateLayout(mii.hSubMenu);
+            }
+        }
+    }
+}
+
+void AwtMenu::UpdateContainerLayout()
+{
+    AwtMenu* menu = GetMenuContainer();
+    if (menu != NULL) {
+        menu->UpdateLayout();
+    } else {
+        UpdateLayout();
+    }
+}
+
 AwtMenuBar* AwtMenu::GetMenuBar() {
     return (GetMenuContainer() == NULL) ? NULL : GetMenuContainer()->GetMenuBar();
 }
diff --git a/jdk/src/windows/native/sun/windows/awt_Menu.h b/jdk/src/windows/native/sun/windows/awt_Menu.h
index 27acdce..705ea51 100644
--- a/jdk/src/windows/native/sun/windows/awt_Menu.h
+++ b/jdk/src/windows/native/sun/windows/awt_Menu.h
@@ -72,6 +72,8 @@ public:
     virtual AwtMenuBar* GetMenuBar();
 
     void AddSeparator();
+    virtual void UpdateContainerLayout();
+    void UpdateLayout();
     virtual void AddItem(AwtMenuItem *item);
     virtual void DeleteItem(UINT index);
 
@@ -103,6 +105,7 @@ protected:
     virtual void RemoveCmdID() { /* do nothing */ }
 
 private:
+    void UpdateLayout(const HMENU hmenu);
     HMENU    m_hMenu;
 };
 
diff --git a/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp b/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp
index 2c4f84a..327c0f3 100644
--- a/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_MenuBar.cpp
@@ -198,7 +198,15 @@ void AwtMenuBar::DeleteItem(UINT index)
     if (hOwnerWnd != NULL) {
         VERIFY(::InvalidateRect(hOwnerWnd,0,TRUE));
     }
-    ::DrawMenuBar(GetOwnerHWnd());
+    RedrawMenuBar();
+}
+
+/**
+ * If the menu changes after the system has created the window,
+ * this function must be called to draw the changed menu bar.
+ */
+void AwtMenuBar::RedrawMenuBar() {
+    VERIFY(::DrawMenuBar(GetOwnerHWnd()));
 }
 
 LRESULT AwtMenuBar::WinThreadExecProc(ExecuteArgs * args)
@@ -232,7 +240,7 @@ void AwtMenuBar::_AddMenu(void *param)
     if (::IsWindow(m->GetOwnerHWnd()))
     {
         /* The menu was already created and added during peer creation -- redraw */
-        ::DrawMenuBar(m->GetOwnerHWnd());
+        m->RedrawMenuBar();
     }
 ret:
     env->DeleteGlobalRef(self);
diff --git a/jdk/src/windows/native/sun/windows/awt_MenuBar.h b/jdk/src/windows/native/sun/windows/awt_MenuBar.h
index e8ed79b..bde178b 100644
--- a/jdk/src/windows/native/sun/windows/awt_MenuBar.h
+++ b/jdk/src/windows/native/sun/windows/awt_MenuBar.h
@@ -65,6 +65,7 @@ public:
     INLINE AwtFrame* GetFrame() { return m_frame; }
 
     virtual HWND GetOwnerHWnd();
+    virtual void RedrawMenuBar();
 
     AwtMenuItem* GetItem(jobject target, long index);
     int CountItem(jobject menuBar);
diff --git a/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp b/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp
index 97f3e2a..ab4387c 100644
--- a/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp
@@ -626,7 +626,7 @@ void AwtMenuItem::SetLabel(LPCTSTR sb)
     mii.dwTypeData = (LPTSTR)(*sb);
 
     // find index by menu item id
-    int nMenuItemCount = ::GetMenuItemCount(hMenu);;
+    int nMenuItemCount = ::GetMenuItemCount(hMenu);
     int idx;
     for (idx = 0; (idx < nMenuItemCount); idx++) {
         memset(&mii1, 0, sizeof(MENUITEMINFO));
@@ -639,10 +639,7 @@ void AwtMenuItem::SetLabel(LPCTSTR sb)
     ::RemoveMenu(hMenu, idx, MF_BYPOSITION);
     ::InsertMenuItem(hMenu, idx, TRUE, &mii);
 
-    // Redraw menu bar if it was affected.
-    if (menu->GetMenuBar() == menu) {
-        ::DrawMenuBar(menu->GetOwnerHWnd());
-    }
+    RedrawMenuBar();
 }
 
 void AwtMenuItem::Enable(BOOL isEnabled)
@@ -658,10 +655,7 @@ void AwtMenuItem::Enable(BOOL isEnabled)
                             MF_BYCOMMAND | (isEnabled ? MF_ENABLED : MF_GRAYED))
            != 0xFFFFFFFF);
 
-    // Redraw menu bar if it was affected.
-    if (menu->GetMenuBar() == menu) {
-        ::DrawMenuBar(menu->GetOwnerHWnd());
-    }
+    RedrawMenuBar();
 }
 
 void AwtMenuItem::SetState(BOOL isChecked)
@@ -676,23 +670,31 @@ void AwtMenuItem::SetState(BOOL isChecked)
                            MF_BYCOMMAND | (isChecked ? MF_CHECKED : MF_UNCHECKED))
            != 0xFFFFFFFF);
 
-    // Redraw menu bar if it was affected.
-    if (menu->GetMenuBar() == menu) {
-        ::DrawMenuBar(menu->GetOwnerHWnd());
+    RedrawMenuBar();
+}
+
+/**
+ * If the menu changes after the system has created the window,
+ * this function must be called to draw the changed menu bar.
+ */
+void AwtMenuItem::RedrawMenuBar() {
+    AwtMenu* menu = GetMenuContainer();
+    if (menu != NULL && menu->GetMenuBar() == menu){
+        menu->RedrawMenuBar();
+    }
+}
+
+void AwtMenuItem::UpdateContainerLayout() {
+    AwtMenu* menu = GetMenuContainer();
+    if (menu != NULL) {
+        DASSERT(menu != NULL && GetID() >= 0);
+        menu->UpdateLayout();
     }
 }
 
 LRESULT AwtMenuItem::WinThreadExecProc(ExecuteArgs * args)
 {
     switch( args->cmdId ) {
-        case MENUITEM_SETLABEL:
-        {
-            LPCTSTR sb = (LPCTSTR)args->param1;
-            DASSERT(!IsBadStringPtr(sb, 20));
-            this->SetLabel(sb);
-        }
-        break;
-
         case MENUITEM_ENABLE:
         {
             BOOL        isEnabled = (BOOL)args->param1;
@@ -714,75 +716,98 @@ LRESULT AwtMenuItem::WinThreadExecProc(ExecuteArgs * args)
     return 0L;
 }
 
-void AwtMenuItem::_SetLabel(void *param)
-{
-    JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
+void AwtMenuItem::_SetLabel(void *param) {
+    if (AwtToolkit::IsMainThread()) {
+        JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
 
-    SetLabelStruct *sls = (SetLabelStruct *)param;
-    jobject self = sls->menuitem;
-    jstring label = sls->label;
+        SetLabelStruct *sls = (SetLabelStruct *)param;
+        jobject self = sls->menuitem;
+        jstring label = sls->label;
 
-    int badAlloc = 0;
-    AwtMenuItem *m = NULL;
+        int badAlloc = 0;
+        AwtMenuItem *m = NULL;
 
-    PDATA pData;
-    JNI_CHECK_PEER_GOTO(self, ret);
-    m = (AwtMenuItem *)pData;
+        PDATA pData;
+        JNI_CHECK_PEER_GOTO(self, ret);
+        m = (AwtMenuItem *)pData;
 //    if (::IsWindow(m->GetOwnerHWnd()))
-    {
-        // fix for bug 4251036 MenuItem setLabel(null/"") behaves differently
-        // under Win32 and Solaris
-        jstring empty = NULL;
-        if (JNU_IsNull(env, label))
-        {
-            empty = JNU_NewStringPlatform(env, TEXT(""));
-        }
-        LPCTSTR labelPtr;
-        if (empty != NULL)
-        {
-            labelPtr = JNU_GetStringPlatformChars(env, empty, 0);
-        }
-        else
-        {
-            labelPtr = JNU_GetStringPlatformChars(env, label, 0);
-        }
-        if (labelPtr == NULL)
-        {
-            badAlloc = 1;
-        }
-        else
         {
-            ExecuteArgs args;
-            args.cmdId = MENUITEM_SETLABEL;
-            args.param1 = (LPARAM)labelPtr;
-            m->WinThreadExecProc(&args);
+            // fix for bug 4251036 MenuItem setLabel(null/"") behaves differently
+            // under Win32 and Solaris
+            jstring empty = NULL;
+            if (JNU_IsNull(env, label))
+            {
+                empty = JNU_NewStringPlatform(env, TEXT(""));
+            }
+            LPCTSTR labelPtr;
             if (empty != NULL)
             {
-                JNU_ReleaseStringPlatformChars(env, empty, labelPtr);
+                labelPtr = JNU_GetStringPlatformChars(env, empty, 0);
+            }
+            else
+            {
+                labelPtr = JNU_GetStringPlatformChars(env, label, 0);
+            }
+            if (labelPtr == NULL)
+            {
+                badAlloc = 1;
             }
             else
             {
-                JNU_ReleaseStringPlatformChars(env, label, labelPtr);
+                DASSERT(!IsBadStringPtr(labelPtr, 20));
+                m->SetLabel(labelPtr);
+                if (empty != NULL)
+                {
+                    JNU_ReleaseStringPlatformChars(env, empty, labelPtr);
+                }
+                else
+                {
+                    JNU_ReleaseStringPlatformChars(env, label, labelPtr);
+                }
+            }
+            if (empty != NULL)
+            {
+                env->DeleteLocalRef(empty);
             }
         }
-        if (empty != NULL)
+
+ret:
+        env->DeleteGlobalRef(self);
+        if (label != NULL)
         {
-            env->DeleteLocalRef(empty);
+            env->DeleteGlobalRef(label);
         }
-    }
 
-ret:
-    env->DeleteGlobalRef(self);
-    if (label != NULL)
-    {
-        env->DeleteGlobalRef(label);
+        delete sls;
+
+        if (badAlloc)
+        {
+            throw std::bad_alloc();
+        }
+    } else {
+        AwtToolkit::GetInstance().InvokeFunction(AwtMenuItem::_SetLabel, param);
     }
+}
 
-    delete sls;
+void AwtMenuItem::_UpdateLayout(void *param)
+{
+    if (AwtToolkit::IsMainThread()) {
+        JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
 
-    if (badAlloc)
-    {
-        throw std::bad_alloc();
+        jobject self = (jobject)param;
+
+        AwtMenuItem *m = NULL;
+
+        PDATA pData;
+        JNI_CHECK_PEER_GOTO(self, ret);
+
+        m = (AwtMenuItem *)pData;
+
+        m->UpdateContainerLayout();
+ret:
+        env->DeleteGlobalRef(self);
+    } else {
+        AwtToolkit::GetInstance().InvokeFunction(AwtMenuItem::_UpdateLayout, param);
     }
 }
 
@@ -883,8 +908,8 @@ extern "C" {
 
 /*
  * Class:     sun_awt_windows_WMenuItemPeer
- * Method:    _setLabel
- * Signature: (Ljava/lang/String;)V
+ * Method:    initIDs
+ * Signature: ()V
  */
 JNIEXPORT void JNICALL
 Java_sun_awt_windows_WMenuItemPeer_initIDs(JNIEnv *env, jclass cls)
@@ -927,6 +952,26 @@ Java_sun_awt_windows_WMenuItemPeer__1setLabel(JNIEnv *env, jobject self,
 
 /*
  * Class:     sun_awt_windows_WMenuItemPeer
+ * Method:    _setFont
+ * Signature: (Ljava/awt/Font;)V
+ */
+JNIEXPORT void JNICALL
+Java_sun_awt_windows_WMenuItemPeer__1setFont(JNIEnv *env, jobject self, jobject)
+{
+    TRY;
+
+    jobject selfGlobalRef = env->NewGlobalRef(self);
+
+    // Current implementation of AwtMenuItem get font attribute from the peer
+    // directly, so we ignore it here, but update current menu layout.
+    AwtToolkit::GetInstance().SyncCall(AwtMenuItem::_UpdateLayout, selfGlobalRef);
+    // selfGlobalRef is deleted in _UpdateLayout
+
+    CATCH_BAD_ALLOC;
+}
+
+/*
+ * Class:     sun_awt_windows_WMenuItemPeer
  * Method:    create
  * Signature: (Lsun/awt/windows/WMenuPeer;)V
  */
diff --git a/jdk/src/windows/native/sun/windows/awt_MenuItem.h b/jdk/src/windows/native/sun/windows/awt_MenuItem.h
index a58adaa..f9aec93 100644
--- a/jdk/src/windows/native/sun/windows/awt_MenuItem.h
+++ b/jdk/src/windows/native/sun/windows/awt_MenuItem.h
@@ -48,7 +48,6 @@ class AwtMenuItem : public AwtObject {
 public:
     // id's for methods executed on toolkit thread
     enum {
-        MENUITEM_SETLABEL,
         MENUITEM_ENABLE,
         MENUITEM_SETSTATE,
         MENUITEM_LAST
@@ -78,7 +77,6 @@ public:
 
     virtual LPCTSTR GetClassName();
 
-    void AwtMenuItem::LinkObjects(jobject peer);
     static AwtMenuItem* Create(jobject self, jobject menu);
 
     INLINE AwtMenu* GetMenuContainer() { return m_menuContainer; }
@@ -148,6 +146,8 @@ public:
 
     void SetLabel(LPCTSTR sb);
     virtual void Enable(BOOL isEnabled);
+    virtual void UpdateContainerLayout();
+    virtual void RedrawMenuBar();
     void SetState(BOOL isChecked);
 
     /*
@@ -163,6 +163,7 @@ public:
 
     // invoked on Toolkit thread
     static void _SetLabel(void *param);
+    static void _UpdateLayout(void *param);
 
 protected:
     AwtMenu* m_menuContainer;  /* The menu object containing this item */
diff --git a/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp b/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp
index 43c03fd..0d53747 100644
--- a/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_PrintJob.cpp
@@ -4137,7 +4137,7 @@ Java_sun_awt_windows_WPrinterJob_initIDs(JNIEnv *env, jclass cls)
 
     AwtPrintDialog::controlID =
       env->GetFieldID(cls, "pjob", "Ljava/awt/print/PrinterJob;");
-    jclass printDialogPeerClass = env->FindClass("Lsun/awt/windows/WPrintDialogPeer;");
+    jclass printDialogPeerClass = env->FindClass("sun/awt/windows/WPrintDialogPeer");
     AwtPrintDialog::setHWndMID =
       env->GetMethodID(printDialogPeerClass, "setHWnd", "(J)V");
 
diff --git a/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp b/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp
index 9978903..5e4d04b 100644
--- a/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_ScrollPane.cpp
@@ -808,29 +808,4 @@ Java_sun_awt_windows_WScrollPanePeer_setSpans(JNIEnv *env, jobject self,
     CATCH_BAD_ALLOC;
 }
 
-/*
- * Class:     sun_awt_windows_WScrollPanePeer
- * Method:    setTypedValue
- * Signature: (Ljava/awt/ScrollPaneAdjustable;II)V
- */
-JNIEXPORT void JNICALL
-Java_sun_awt_windows_WScrollPanePeer_setTypedValue(JNIEnv *env, jobject peer, jobject adjustable, jint value, jint type)
-{
-    // need this global ref to make the class unloadable (see 6500204)
-    static jclass scrollPaneAdj;
-    static jmethodID setTypedValueMID = 0;
-    if (setTypedValueMID == NULL) {
-        jclass clazz = env->FindClass("java/awt/ScrollPaneAdjustable");
-        if (safe_ExceptionOccurred(env)) {
-            env->ExceptionDescribe();
-            env->ExceptionClear();
-        }
-        setTypedValueMID = env->GetMethodID(clazz, "setTypedValue", "(II)V");
-        scrollPaneAdj = (jclass) env->NewGlobalRef(clazz);
-        env->DeleteLocalRef(clazz);
-        DASSERT(setTypedValueMID != NULL);
-    }
-    env->CallVoidMethod(adjustable, setTypedValueMID, value, type);
-}
-
 } /* extern "C" */
diff --git a/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp b/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp
index 0329e95..00f9b32 100644
--- a/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp
+++ b/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp
@@ -1444,7 +1444,6 @@ BOOL AwtToolkit::PreProcessMouseMsg(AwtComponent* p, MSG& msg)
     AwtComponent* mouseComp =
         AwtComponent::GetComponent(hWndFromPoint);
     // Need extra copies for non-client area issues
-    AwtComponent* mouseWheelComp = mouseComp;
     HWND hWndForWheel = hWndFromPoint;
 
     // If the point under the mouse isn't in the client area,
@@ -1510,9 +1509,9 @@ BOOL AwtToolkit::PreProcessMouseMsg(AwtComponent* p, MSG& msg)
      */
 
     if (msg.message == WM_MOUSEWHEEL &&
-        mouseWheelComp != NULL) { //i.e. mouse is over client area for this
-                                  //window
-        msg.hwnd = hWndForWheel;
+        AwtToolkit::MainThread() == ::GetWindowThreadProcessId(hWndForWheel, NULL)) {
+            //i.e. mouse is over client area for this window
+            msg.hwnd = hWndForWheel;
     }
 
     /*
diff --git a/jdk/test/ProblemList.txt b/jdk/test/ProblemList.txt
index c672c7f..2b9eaa9 100644
--- a/jdk/test/ProblemList.txt
+++ b/jdk/test/ProblemList.txt
@@ -349,10 +349,19 @@ javax/print/attribute/AttributeTest.java                        generic-all
 # Only print test left, excluding just because all print tests have been
 javax/print/attribute/MediaMappingsTest.java 			generic-all
 
+# Filed 7058852
+javax/sound/sampled/FileWriter/AlawEncoderSync.java		generic-all
+
 ############################################################################
 
 # jdk_net
 
+# Filed 7052625
+com/sun/net/httpserver/bugs/6725892/Test.java			generic-all
+
+# Filed 7036666
+com/sun/net/httpserver/Test9a.java				generic-all
+
 ############################################################################
 
 # jdk_io
@@ -528,9 +537,6 @@ sun/security/krb5/auto/basic.sh					solaris-sparc
 sun/security/provider/PolicyFile/getinstance/getinstance.sh	solaris-sparc
 sun/security/tools/jarsigner/samename.sh			solaris-sparc
 
-# Timed out, Solaris 10 64bit sparcv9
-com/sun/crypto/provider/Cipher/DES/PaddingTest.java		generic-all
-
 # Othervm, sparc, NoRouteToHostException: Cannot assign requested address
 sun/security/ssl/javax/net/ssl/NewAPIs/SessionCacheSizeTests.java generic-all
 
@@ -605,6 +611,18 @@ java/text/Bidi/Bug6665028.java				 	linux-x64
 # Filed 6952105
 com/sun/jdi/SuspendThreadTest.java				generic-all
 
+# Filed 6653793
+com/sun/jdi/RedefineCrossEvent.java				generic-all
+
+# Filed 6987312
+com/sun/jdi/DoubleAgentTest.java				generic-all
+
+# Filed 7020857
+com/sun/jdi/FieldWatchpoints.java				generic-all
+
+# Filed 6402201
+com/sun/jdi/ProcessAttachTest.sh				generic-all
+
 # Filed 6986875
 sun/tools/jps/jps-Vvml.sh					generic-all
 
@@ -626,18 +644,8 @@ java/util/concurrent/ThreadPoolExecutor/CoreThreadTimeOut.java	generic-all
 #   11 separate stacktraces created... file reuse problem?
 java/util/zip/ZipFile/ReadLongZipFileName.java			generic-all
 
-# Assert error, failures, on Linux Fedora 9 -server
-#   Windows samevm failure, assert error "Passed = 134, failed = 2"
-java/util/Arrays/ArrayObjectMethods.java			generic-all
-
-# Windows 2000, -client, samevm, java.lang.Error: Completed != 2
+# Filed 6772009
 java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java generic-all
 
-# Windows X64, Executor Stuck samevm mode:
-java/util/concurrent/FutureTask/BlockingTaskExecutor.java	generic-all
-
-# Problems on windows, jmap.exe hangs? (these run jmap), fails on Solaris 10 x86
-java/util/concurrent/locks/Lock/TimedAcquireLeak.java		generic-all
-
 ############################################################################
 
diff --git a/jdk/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java b/jdk/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java
index fa61e3f..bbd6621 100644
--- a/jdk/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java
+++ b/jdk/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,16 +23,17 @@
 
 /*
  * @test
- * @bug 0000000 6296075
+ * @bug 0000000 6296075 6330275
  * @summary PaddingTest
  * @author Jan Luehe
  */
 import java.io.*;
-import java.security.*;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.security.spec.*;
 import javax.crypto.*;
 import javax.crypto.spec.*;
-import com.sun.crypto.provider.*;
+import java.util.Arrays;
 
 public class PaddingTest {
 
@@ -80,7 +81,7 @@ public class PaddingTest {
     public void run() throws Exception {
 
         for (int l=0; l<numFiles; l++) {
-            pinfile = new String(dataDir + "plain" + l + ".txt");
+            pinfile = dataDir + "plain" + l + ".txt";
             for (int i=0; i<crypts.length; i++) {
                 for (int j=0; j<modes.length; j++) {
                     for (int k=0; k<paddings.length; k++) {
@@ -89,14 +90,12 @@ public class PaddingTest {
                         System.out.println
                             (crypts[i]+" "+modes[j]+" " + paddings[k]+ " " +
                              "plain" + l + " test");
-                        cfile = new String
-                            ("c" + l + "_" +
+                        cfile = "c" + l + "_" +
                              crypts[i] + "_" +
                              modes[j] + "_" +
-                             paddings[k] + ".bin");
-                        poutfile = new String
-                            ("p" + l +
-                             "_" + crypts[i] + modes[j] + paddings[k] + ".txt");
+                             paddings[k] + ".bin";
+                        poutfile = "p" + l +
+                             "_" + crypts[i] + modes[j] + paddings[k] + ".txt";
 
                         init(crypts[i], modes[j], paddings[k]);
                         padding = paddings[k];
@@ -108,10 +107,7 @@ public class PaddingTest {
     }
 
     public void init(String crypt, String mode, String padding)
-        throws Exception {
-
-        SunJCE jce = new SunJCE();
-        Security.addProvider(jce);
+            throws Exception {
 
         KeySpec desKeySpec = null;
         SecretKeyFactory factory = null;
@@ -148,82 +144,60 @@ public class PaddingTest {
         int len;
         int totalInputLen = 0;
 
-        BufferedInputStream pin = null;
-        BufferedOutputStream cout = null;
-        BufferedInputStream cin = null;
-        BufferedOutputStream pout = null;
-
         try {
-            pin = new BufferedInputStream(new FileInputStream(pinfile));
-            cout = new BufferedOutputStream(new FileOutputStream(cfile));
-            cipher.init(Cipher.ENCRYPT_MODE, cipherKey, params);
-
-            while ((len = pin.read(input, 0, bufferLen)) > 0) {
-                totalInputLen += len;
-                byte[] output = cipher.update(input, 0, len);
-                cout.write(output, 0, output.length);
-                cout.flush();
-            }
+            try (FileInputStream fin = new FileInputStream(pinfile);
+                    BufferedInputStream pin = new BufferedInputStream(fin);
+                    FileOutputStream fout = new FileOutputStream(cfile);
+                    BufferedOutputStream cout = new BufferedOutputStream(fout)) {
+                cipher.init(Cipher.ENCRYPT_MODE, cipherKey, params);
+
+                while ((len = pin.read(input, 0, bufferLen)) > 0) {
+                    totalInputLen += len;
+                    byte[] output = cipher.update(input, 0, len);
+                    cout.write(output, 0, output.length);
+                }
 
-            len = cipher.getOutputSize(0);
+                len = cipher.getOutputSize(0);
 
-            byte[] out = new byte[len];
-            len = cipher.doFinal(out, 0);
-            cout.write(out, 0, len);
-            cout.flush();
+                byte[] out = new byte[len];
+                len = cipher.doFinal(out, 0);
+                cout.write(out, 0, len);
+            }
+
+            try (FileInputStream fin = new FileInputStream(cfile);
+                    BufferedInputStream cin = new BufferedInputStream(fin);
+                    FileOutputStream fout = new FileOutputStream(poutfile);
+                    BufferedOutputStream pout = new BufferedOutputStream(fout)) {
+                cipher.init(Cipher.DECRYPT_MODE, cipherKey, params);
 
-            cin = new BufferedInputStream(new FileInputStream(cfile));
-            pout = new BufferedOutputStream(new FileOutputStream(poutfile));
-            cipher.init(Cipher.DECRYPT_MODE, cipherKey, params);
+                byte[] output = null;
+                while ((len = cin.read(input, 0, bufferLen)) > 0) {
+                    output = cipher.update(input, 0, len);
+                    pout.write(output, 0, output.length);
+                }
 
-            byte[] output = null;
-            while ((len = cin.read(input, 0, bufferLen)) > 0) {
-                output = cipher.update(input, 0, len);
-                pout.write(output, 0, output.length);
-                pout.flush();
+                len = cipher.getOutputSize(0);
+                byte[] out = new byte[len];
+                len = cipher.doFinal(out, 0);
+                pout.write(out, 0, len);
             }
 
-            len = cipher.getOutputSize(0);
-            out = new byte[len];
-            len = cipher.doFinal(out, 0);
-            pout.write(out, 0, len);
-            pout.flush();
-
-            Process child = Runtime.getRuntime().exec
-                ("diff " + pinfile + " " + poutfile);
-            InputStream in = child.getInputStream();
-            byte[] data = new byte[64];
-
-            while((len = in.read(data)) != -1)
-                System.out.write(data, 0, len);
-            in.close();
-            child.waitFor();
-            System.out.println("child exited with " + child.exitValue());
-        }
-        catch (IllegalBlockSizeException ex) {
-            if ((totalInputLen % 8 != 0) && (padding.equals("NoPadding")))
+            diff(pinfile, poutfile);
+        } catch (IllegalBlockSizeException ex) {
+            if ((totalInputLen % 8 != 0) && (padding.equals("NoPadding"))) {
                 return;
-            else {
+            } else {
                 System.out.println("Test failed!");
                 throw ex;
             }
         }
-        finally {
-            try {
-                if (pin != null)
-                    pin.close();
-                if (pout != null)
-                    pout.close();
-                if (cin != null)
-                    cin.close();
-                if (cout != null)
-                    cout.close();
-            }
-            catch (IOException e) {
-                e.printStackTrace();
-                return;
-            }
-        }
     }
 
+    private static void diff(String fname1, String fname2) throws Exception {
+        if (!Arrays.equals(Files.readAllBytes(Paths.get(fname1)),
+                Files.readAllBytes(Paths.get(fname1)))) {
+            throw new Exception(
+                    "files " + fname1 + " and " + fname2 + " differ");
+        }
+    }
 }
diff --git a/jdk/test/com/sun/jdi/ShellScaffold.sh b/jdk/test/com/sun/jdi/ShellScaffold.sh
index d61acb5..03c97bf 100644
--- a/jdk/test/com/sun/jdi/ShellScaffold.sh
+++ b/jdk/test/com/sun/jdi/ShellScaffold.sh
@@ -250,6 +250,7 @@ setup()
     isCygwin=
     case "$osname" in
        Windows* | CYGWIN*)	   
+         devnull=NUL
 	 if [ "$osname" = Windows_98 -o "$osname" = Windows_ME ]; then
              isWin98=1
              debuggeeKeyword='we_cant_kill_debuggees_on_win98'
@@ -259,6 +260,7 @@ setup()
          case "$osname" in
            CYGWIN*)
              isCygwin=1
+             devnull=/dev/null
              ;;
          esac
 
@@ -269,7 +271,6 @@ setup()
             transport=dt_socket
             address=
          fi
-         devnull=NUL
          baseArgs="$baseArgs -XX:-ShowMessageBoxOnError"
          # jtreg puts \\s in TESTCLASSES and some uses, eg. echo
          # treat them as control chars on mks (eg \t is tab)
diff --git a/jdk/test/com/sun/jndi/ldap/InvalidLdapFilters.java b/jdk/test/com/sun/jndi/ldap/InvalidLdapFilters.java
index e0e0e90..a28b2d9 100644
--- a/jdk/test/com/sun/jndi/ldap/InvalidLdapFilters.java
+++ b/jdk/test/com/sun/jndi/ldap/InvalidLdapFilters.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -23,8 +23,10 @@
 
 /**
  * @test
- * @bug 6916202
+ * @bug 6916202 7041125
  * @summary More cases of invalid ldap filters accepted and processed
+ *      LDAP API does not catch malformed filters that contain two operands
+ *      for the ! operator
  * @run main/othervm InvalidLdapFilters valid (cn=Babs)
  * @run main/othervm InvalidLdapFilters valid (&(cn=Bob))
  * @run main/othervm InvalidLdapFilters valid (&(objectClass=*)(uid=*))
@@ -34,6 +36,7 @@
  * @run main/othervm InvalidLdapFilters valid (!(!(cn=Tim)))
  * @run main/othervm InvalidLdapFilters valid (!(&(objectClass=*)(uid=*)))
  * @run main/othervm InvalidLdapFilters valid (!(|(objectClass=*)(uid=*)))
+ * @run main/othervm InvalidLdapFilters valid (&(objectClass=*)(!(uid=*)))
  * @run main/othervm InvalidLdapFilters valid (o=univ*of*mich*)
  * @run main/othervm InvalidLdapFilters valid (seeAlso=)
  * @run main/othervm InvalidLdapFilters valid (cn:caseExactMatch:=Flintstone)
@@ -75,6 +78,8 @@
          "((objectCategory=person)(cn=u)(!(cn=u2*)))"
  * @run main/othervm InvalidLdapFilters invalid
          "((&(objectClass=user)(cn=andy*)(cn=steve*)(cn=bob*)))"
+ * @run main/othervm InvalidLdapFilters invalid
+         (&(objectClass=Person)(!(sn=Jensen)(cn=Bab)))
  *
  * @author Xuelei Fan
  */
diff --git a/jdk/test/com/sun/net/httpserver/Test1.java b/jdk/test/com/sun/net/httpserver/Test1.java
index c8d784d..e0da2ce 100644
--- a/jdk/test/com/sun/net/httpserver/Test1.java
+++ b/jdk/test/com/sun/net/httpserver/Test1.java
@@ -26,6 +26,7 @@
  * @bug 6270015
  * @run main/othervm Test1
  * @run main/othervm -Dsun.net.httpserver.maxReqTime=10 Test1
+ * @run main/othervm -Dsun.net.httpserver.nodelay=true Test1
  * @summary  Light weight HTTP server
  */
 
@@ -42,6 +43,10 @@ import javax.net.ssl.*;
  *      - send/receive large/small file
  *      - chunked encoding
  *      - via http and https
+ *
+ * The test is also run with sun.net.httpserver.nodelay simply to exercise
+ * this option. There is no specific pass or failure related to running with
+ * this option.
  */
 
 public class Test1 extends Test {
diff --git a/jdk/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java b/jdk/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java
index eb1c306..491a941 100644
--- a/jdk/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java
+++ b/jdk/test/com/sun/org/apache/xml/internal/security/exceptions/LocaleTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,15 +36,19 @@ public class LocaleTest {
 
     public static void main(String[] args) throws Exception {
 
-        Locale.setDefault(Locale.ITALY);
-
+        Locale reservedLocale = Locale.getDefault();
         try {
+            Locale.setDefault(Locale.ITALY);
+
             throw new XMLSecurityException("foo");
         } catch (XMLSecurityException xse) {
             System.out.println("Test PASSED");
         } catch (Throwable t) {
             System.out.println("Test FAILED");
             t.printStackTrace();
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
         }
     }
 }
diff --git a/jdk/test/demo/zipfs/basic.sh b/jdk/test/demo/zipfs/basic.sh
index 1b44152..40dc0c0 100644
--- a/jdk/test/demo/zipfs/basic.sh
+++ b/jdk/test/demo/zipfs/basic.sh
@@ -39,7 +39,7 @@ fi
 
 OS=`uname -s`
 case "$OS" in
-    Windows_* )
+    Windows_* | CYGWIN* )
         CLASSPATH="${TESTCLASSES};${ZIPFS}"
         ;;
     * )
diff --git a/jdk/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java b/jdk/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java
new file mode 100644
index 0000000..2c14710
--- /dev/null
+++ b/jdk/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+  @test
+  @bug 7050935
+  @summary closed/java/awt/Choice/WheelEventsConsumed/WheelEventsConsumed.html fails on win32
+  @author Oleg Pekhovskiy: area=awt-choice
+  @run main ChoiceMouseWheelTest
+*/
+
+import test.java.awt.regtesthelpers.Util;
+
+import java.awt.*;
+import java.awt.event.*;
+
+public class ChoiceMouseWheelTest extends Frame {
+
+    private volatile boolean itemChanged = false;
+    private volatile boolean wheelMoved = false;
+    private volatile boolean frameExited = false;
+
+    public static void main(String[] args) {
+        new ChoiceMouseWheelTest();
+    }
+
+    ChoiceMouseWheelTest() {
+        super("ChoiceMouseWheelTest");
+        setLayout(new FlowLayout());
+
+        Choice choice = new Choice();
+
+        addWindowListener(new WindowAdapter() {
+            @Override
+            public void windowClosing(WindowEvent e) {
+                System.exit(0);
+            }
+        });
+
+        for(Integer i = 0; i < 50; i++) {
+            choice.add(i.toString());
+        }
+
+        choice.addItemListener(new ItemListener() {
+            public void itemStateChanged(ItemEvent e) {
+                itemChanged = true;
+            }
+        });
+        choice.addMouseWheelListener(new MouseWheelListener() {
+            public void mouseWheelMoved(MouseWheelEvent e) {
+                wheelMoved = true;
+            }
+        });
+
+        addMouseListener(new MouseAdapter() {
+            @Override
+            public void mouseExited(MouseEvent e) {
+                frameExited = true;
+            }
+        });
+
+        add(choice);
+        setSize(200, 300);
+        setVisible(true);
+        toFront();
+
+        try {
+            Robot robot = new Robot();
+            robot.setAutoDelay(20);
+            Util.waitForIdle(robot);
+
+            Point pt = choice.getLocationOnScreen();
+            Dimension size = choice.getSize();
+            int x = pt.x + size.width / 3;
+            robot.mouseMove(x, pt.y + size.height / 2);
+
+            // Test mouse wheel over the choice
+            String name = Toolkit.getDefaultToolkit().getClass().getName();
+            if(!name.equals("sun.awt.X11.XToolkit")) { // mouse wheel doesn't work for the choice on X11, so skip it
+                robot.mouseWheel(1);
+                Util.waitForIdle(robot);
+
+                if(!wheelMoved || !itemChanged) {
+                    throw new RuntimeException("Mouse Wheel over the choice failed!");
+                }
+            }
+
+            // Test mouse wheel over the drop-down list
+            robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
+            Util.waitForIdle(robot);
+            robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
+            Util.waitForIdle(robot);
+
+            int y = getLocationOnScreen().y + getSize().height;
+            while(!frameExited && y >= 0) { // move to the bottom of drop-down list
+                robot.mouseMove(x, --y);
+                Util.waitForIdle(robot);
+            }
+
+            if(x < 0) {
+                throw new RuntimeException("Could not enter drop-down list!");
+            }
+
+            y -= choice.getHeight() / 2;
+            robot.mouseMove(x, y); // move to the last visible item in the drop-down list
+            Util.waitForIdle(robot);
+
+            robot.mouseWheel(choice.getItemCount()); // wheel to the last item
+            Util.waitForIdle(robot);
+
+            // click the last item
+            itemChanged = false;
+            robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
+            Util.waitForIdle(robot);
+            robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
+            Util.waitForIdle(robot);
+
+            if(!itemChanged || choice.getSelectedIndex() != choice.getItemCount() - 1) {
+                throw new RuntimeException("Mouse Wheel scroll position error!");
+            }
+
+            System.exit(0);
+
+        } catch (AWTException e) {
+            throw new RuntimeException("AWTException occurred - problem creating robot!");
+        }
+    }
+}
+
diff --git a/jdk/test/java/awt/Component/PaintAll/PaintAll.java b/jdk/test/java/awt/Component/PaintAll/PaintAll.java
new file mode 100644
index 0000000..e734cad
--- /dev/null
+++ b/jdk/test/java/awt/Component/PaintAll/PaintAll.java
@@ -0,0 +1,301 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import sun.awt.SunToolkit;
+
+import java.awt.Button;
+import java.awt.Canvas;
+import java.awt.Checkbox;
+import java.awt.Choice;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.Graphics;
+import java.awt.GridLayout;
+import java.awt.Label;
+import java.awt.List;
+import java.awt.Panel;
+import java.awt.ScrollPane;
+import java.awt.Scrollbar;
+import java.awt.TextArea;
+import java.awt.TextField;
+import java.awt.Toolkit;
+import java.awt.image.BufferedImage;
+
+/*
+  @test
+  @bug 6596915
+  @summary Test Component.paintAll() method
+  @author sergey.bylokhov at oracle.com: area=awt.component
+  @run main PaintAll
+*/
+public class PaintAll {
+
+    private static volatile boolean lwPainted;
+    private static volatile boolean buttonPainted;
+    private static volatile boolean canvasPainted;
+    private static volatile boolean checkboxPainted;
+    private static volatile boolean choicePainted;
+    private static volatile boolean containerPainted;
+    private static volatile boolean framePainted;
+    private static volatile boolean labelPainted;
+    private static volatile boolean listPainted;
+    private static volatile boolean panelPainted;
+    private static volatile boolean scrollbarPainted;
+    private static volatile boolean scrollPanePainted;
+    private static volatile boolean textAreaPainted;
+    private static volatile boolean textFieldPainted;
+
+    private static final Button buttonStub = new Button() {
+        @Override
+        public void paint(final Graphics g) {
+            buttonPainted = true;
+        }
+    };
+
+    private static final Canvas canvasStub = new Canvas() {
+        @Override
+        public void paint(final Graphics g) {
+            canvasPainted = true;
+        }
+    };
+
+    private static final Checkbox checkboxStub = new Checkbox() {
+        @Override
+        public void paint(final Graphics g) {
+            checkboxPainted = true;
+        }
+    };
+
+    private static final Choice choiceStub = new Choice() {
+        @Override
+        public void paint(final Graphics g) {
+            choicePainted = true;
+        }
+    };
+
+    private static final Component lwComponentStub = new Component() {
+        @Override
+        public void paint(final Graphics g) {
+            lwPainted = true;
+        }
+    };
+
+    private static final Container containerStub = new Container() {
+        @Override
+        public void paint(final Graphics g) {
+            containerPainted = true;
+        }
+    };
+
+    private static final Frame frame = new Frame() {
+        @Override
+        public void paint(final Graphics g) {
+            super.paint(g);
+            framePainted = true;
+        }
+    };
+
+    private static final Label labelStub = new Label() {
+        @Override
+        public void paint(final Graphics g) {
+            labelPainted = true;
+        }
+    };
+
+    private static final List listStub = new List() {
+        @Override
+        public void paint(final Graphics g) {
+            listPainted = true;
+        }
+    };
+
+    private static final Panel panelStub = new Panel() {
+        @Override
+        public void paint(final Graphics g) {
+            panelPainted = true;
+        }
+    };
+
+    private static final Scrollbar scrollbarStub = new Scrollbar() {
+        @Override
+        public void paint(final Graphics g) {
+            scrollbarPainted = true;
+        }
+    };
+
+    private static final ScrollPane scrollPaneStub = new ScrollPane() {
+        @Override
+        public void paint(final Graphics g) {
+            scrollPanePainted = true;
+        }
+    };
+
+    private static final TextArea textAreaStub = new TextArea() {
+        @Override
+        public void paint(final Graphics g) {
+            textAreaPainted = true;
+        }
+    };
+
+    private static final TextField textFieldStub = new TextField() {
+        @Override
+        public void paint(final Graphics g) {
+            textFieldPainted = true;
+        }
+    };
+
+    public static void main(final String[] args) throws Exception {
+        //Frame initialisation
+        final BufferedImage graphicsProducer =
+                new BufferedImage(BufferedImage.TYPE_INT_ARGB, 1, 1);
+
+        final Graphics g = graphicsProducer.getGraphics();
+
+        frame.setLayout(new GridLayout());
+        frame.add(buttonStub);
+        frame.add(canvasStub);
+        frame.add(checkboxStub);
+        frame.add(choiceStub);
+        frame.add(lwComponentStub);
+        frame.add(containerStub);
+        frame.add(labelStub);
+        frame.add(listStub);
+        frame.add(panelStub);
+        frame.add(scrollbarStub);
+        frame.add(scrollPaneStub);
+        frame.add(textAreaStub);
+        frame.add(textFieldStub);
+        frame.setSize(new Dimension(500, 500));
+        frame.setLocationRelativeTo(null);
+        frame.setVisible(true);
+        sleep();
+
+        //Check results.
+        validation();
+
+        //Reset all flags to 'false'.
+        initPaintedFlags();
+
+        //Tested method.
+        frame.paintAll(g);
+        sleep();
+
+        //Check results.
+        validation();
+        cleanup();
+    }
+
+    private static void initPaintedFlags() {
+        lwPainted = false;
+        buttonPainted = false;
+        canvasPainted = false;
+        checkboxPainted = false;
+        choicePainted = false;
+        containerPainted = false;
+        framePainted = false;
+        labelPainted = false;
+        listPainted = false;
+        panelPainted = false;
+        scrollbarPainted = false;
+        scrollPanePainted = false;
+        textAreaPainted = false;
+        textFieldPainted = false;
+    }
+
+    private static void validation() {
+        if (!buttonPainted) {
+            fail("Paint is not called a Button "
+                 + "when paintAll() invoked on a parent");
+        }
+        if (!canvasPainted) {
+            fail("Paint is not called a Canvas "
+                 + "when paintAll() invoked on a parent");
+        }
+        if (!checkboxPainted) {
+            fail("Paint is not called a Checkbox "
+                 + "when paintAll() invoked on a parent");
+        }
+        if (!choicePainted) {
+            fail("Paint is not called a Choice "
+                 + "when paintAll() invoked on a parent");
+        }
+        if (!lwPainted) {
+            fail("Paint is not called on a lightweight"
+                 + " subcomponent when paintAll() invoked on a parent");
+        }
+        if (!containerPainted) {
+            fail("Paint is not called on a Container"
+                 + " subcomponent when paintAll() invoked on a parent");
+        }
+        if (!labelPainted) {
+            fail("Paint is not called on a Label"
+                 + " subcomponent when paintAll() invoked on a parent");
+        }
+        if (!listPainted) {
+            fail("Paint is not called on a List"
+                 + " subcomponent when paintAll() invoked on a parent");
+        }
+        if (!panelPainted) {
+            fail("Paint is not called on a Panel"
+                 + " subcomponent when paintAll() invoked on a parent");
+        }
+        if (!scrollbarPainted) {
+            fail("Paint is not called on a Scrollbar"
+                 + " subcomponent when paintAll() invoked on a parent");
+        }
+        if (!scrollPanePainted) {
+            fail("Paint is not called on a ScrollPane"
+                 + " subcomponent when paintAll() invoked on a parent");
+        }
+        if (!textAreaPainted) {
+            fail("Paint is not called on a TextArea"
+                 + " subcomponent when paintAll() invoked on a parent");
+        }
+        if (!textFieldPainted) {
+            fail("Paint is not called on a TextField"
+                 + " subcomponent when paintAll() invoked on a parent");
+        }
+        if (!framePainted) {
+            fail("Paint is not called on a Frame when paintAll()");
+        }
+    }
+
+    private static void sleep() {
+        ((SunToolkit) Toolkit.getDefaultToolkit()).realSync();
+        try {
+            Thread.sleep(500L);
+        } catch (InterruptedException ignored) {
+        }
+    }
+
+    private static void fail(final String message) {
+        cleanup();
+        throw new RuntimeException(message);
+    }
+
+    private static void cleanup() {
+        frame.dispose();
+    }
+}
diff --git a/jdk/test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java b/jdk/test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java
new file mode 100644
index 0000000..559d7de
--- /dev/null
+++ b/jdk/test/java/awt/MenuBar/MenuBarSetFont/MenuBarSetFont.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import sun.awt.SunToolkit;
+
+import java.awt.Button;
+import java.awt.CardLayout;
+import java.awt.Font;
+import java.awt.Frame;
+import java.awt.Menu;
+import java.awt.MenuBar;
+import java.awt.Point;
+import java.awt.Robot;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.InputEvent;
+
+/**
+ * @test
+ * @bug 6263470
+ * @summary Tries to change font of MenuBar. Test passes if the font has changed
+ * fails otherwise.
+ * @author Vyacheslav.Baranov: area=menu
+ * @run main MenuBarSetFont
+ */
+public final class MenuBarSetFont {
+
+    private static final Frame frame = new Frame();
+    private static final MenuBar mb = new MenuBar();
+    private static volatile boolean clicked;
+
+    private static final class Listener implements ActionListener {
+        @Override
+        public void actionPerformed(final ActionEvent e) {
+            //Click on this button is performed
+            //_only_ if font of MenuBar is not changed on time
+            MenuBarSetFont.clicked = true;
+        }
+    }
+
+    private static void addMenu() {
+        mb.add(new Menu("w"));
+        frame.validate();
+    }
+
+    public static void main(final String[] args) throws Exception {
+        //Components initialization.
+        frame.setMenuBar(mb);
+        mb.setFont(new Font("Helvetica", Font.ITALIC, 5));
+
+        final Button button = new Button("Click Me");
+        button.addActionListener(new Listener());
+        frame.setLayout(new CardLayout());
+        frame.add(button, "First");
+        frame.setSize(400, 400);
+        frame.setVisible(true);
+        sleep();
+
+        final int fInsets = frame.getInsets().top;  //Frame insets without menu.
+        addMenu();
+        final int fMenuInsets = frame.getInsets().top; //Frame insets with menu.
+        final int menuBarHeight = fMenuInsets - fInsets;
+        // There is no way to change menubar height on windows. But on windows
+        // we can try to split menubar in 2 rows.
+        for (int i = 0; i < 100 && fMenuInsets == frame.getInsets().top; ++i) {
+            // Fill whole menubar.
+            addMenu();
+        }
+
+        mb.remove(0);
+        frame.validate();
+        sleep();
+
+        // Test execution.
+        // On XToolkit, menubar font should be changed to 60.
+        // On WToolkit, menubar font should be changed to default and menubar
+        // should be splitted in 2 rows.
+        mb.setFont(new Font("Helvetica", Font.ITALIC, 60));
+        sleep();
+
+        final Robot r = new Robot();
+        r.setAutoDelay(200);
+        final Point pt = frame.getLocation();
+        r.mouseMove(pt.x + frame.getWidth() / 2,
+                    pt.y + fMenuInsets + menuBarHeight / 2);
+        r.mousePress(InputEvent.BUTTON1_MASK);
+        r.mouseRelease(InputEvent.BUTTON1_MASK);
+
+        sleep();
+        frame.dispose();
+
+        if (clicked) {
+            fail("Font was not changed");
+        }
+    }
+
+    private static void sleep() {
+        ((SunToolkit) Toolkit.getDefaultToolkit()).realSync();
+        try {
+            Thread.sleep(500L);
+        } catch (InterruptedException ignored) {
+        }
+    }
+
+    private static void fail(final String message) {
+        throw new RuntimeException(message);
+    }
+}
diff --git a/jdk/test/java/beans/XMLDecoder/Test6341798.java b/jdk/test/java/beans/XMLDecoder/Test6341798.java
index ce22846..5948094 100644
--- a/jdk/test/java/beans/XMLDecoder/Test6341798.java
+++ b/jdk/test/java/beans/XMLDecoder/Test6341798.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,8 +47,14 @@ public class Test6341798 {
             + "</java> ";
 
     public static void main(String[] args) {
-        test(ENGLISH, DATA.getBytes());
-        test(TURKISH, DATA.getBytes());
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            test(ENGLISH, DATA.getBytes());
+            test(TURKISH, DATA.getBytes());
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 
     private static void test(Locale locale, byte[] data) {
diff --git a/jdk/test/java/io/pathNames/win32/bug6344646.java b/jdk/test/java/io/pathNames/win32/bug6344646.java
index 227adc8..d39dd40 100644
--- a/jdk/test/java/io/pathNames/win32/bug6344646.java
+++ b/jdk/test/java/io/pathNames/win32/bug6344646.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,17 +32,24 @@ import java.util.*;
 
 public class bug6344646 {
     public static void main(String[] s) {
-        /* This test is only valid on win32 systems */
-        if (File.separatorChar != '\\') {
-            return;
-        }
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            /* This test is only valid on win32 systems */
+            if (File.separatorChar != '\\') {
+                return;
+            }
 
-        Locale.setDefault(new Locale("lt"));
-        File f1 = new File("J\u0301");
-        File f2 = new File("j\u0301");
+            Locale.setDefault(new Locale("lt"));
+            File f1 = new File("J\u0301");
+            File f2 = new File("j\u0301");
 
-        if (f1.hashCode() != f2.hashCode()) {
-            throw new RuntimeException("File.hashCode() for \"J\u0301\" and \"j\u0301\" should be the same");
+            if (f1.hashCode() != f2.hashCode()) {
+                throw new RuntimeException("File.hashCode() for \"J\u0301\" " +
+                        "and \"j\u0301\" should be the same");
+            }
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
         }
     }
 }
diff --git a/jdk/test/java/lang/instrument/ManifestTest.sh b/jdk/test/java/lang/instrument/ManifestTest.sh
index c8da88e..b10e235 100644
--- a/jdk/test/java/lang/instrument/ManifestTest.sh
+++ b/jdk/test/java/lang/instrument/ManifestTest.sh
@@ -26,7 +26,7 @@
 # @summary JLI JAR manifest processing should ignore leading and trailing white space.
 # @author Daniel D. Daugherty
 #
-# @run build ManifestTestApp
+# @run build ManifestTestApp ExampleForBootClassPath
 # @run shell/timeout=900 ManifestTest.sh
 #
 
@@ -42,6 +42,9 @@ make_a_JAR() {
     expect_retrans_line="isRetransformClassesSupported()=false"
     can_set_nmp_line=""
     expect_set_nmp_line="isNativeMethodPrefixSupported()=false"
+    # some tests create directories with spaces in their name,
+    # explicitly delete these.
+    to_be_deleted=""
 
     while [ $# != 0 ] ; do
         case "$1" in
@@ -59,30 +62,33 @@ make_a_JAR() {
         boot_cp_line2)
             boot_cp_line="Boot-Class-Path:  has_leading_blank"
             expect_boot_cp_line="ExampleForBootClassPath was loaded."
+            to_be_deleted=" has_leading_blank"
             mkdir -p has_leading_blank " has_leading_blank"
             # the good class is in the directory without the blank
             cp -p $OUT_OF_THE_WAY/ExampleForBootClassPath.class \
                 has_leading_blank
             # the bad class is in the directory with the blank
             cp -p $OUT_OF_THE_WAY/ExampleForBootClassPath.class.bad \
-                " has_leading_blank"/ExampleForBootClassPath.class
+                " has_leading_blank/ExampleForBootClassPath.class"
             ;;
 
         boot_cp_line3)
             boot_cp_line="Boot-Class-Path: has_trailing_blank "
             expect_boot_cp_line="ExampleForBootClassPath was loaded."
+            to_be_deleted="has_trailing_blank "
             mkdir -p has_trailing_blank "has_trailing_blank "
             # the good class is in the directory without the blank
             cp -p $OUT_OF_THE_WAY/ExampleForBootClassPath.class \
                 has_trailing_blank
             # the bad class is in the directory with the blank
             cp -p $OUT_OF_THE_WAY/ExampleForBootClassPath.class.bad \
-                "has_trailing_blank "/ExampleForBootClassPath.class
+                "has_trailing_blank /ExampleForBootClassPath.class"
             ;;
 
         boot_cp_line4)
             boot_cp_line="Boot-Class-Path:  has_leading_and_trailing_blank "
             expect_boot_cp_line="ExampleForBootClassPath was loaded."
+            to_be_deleted=" has_leading_and_trailing_blank "
             mkdir -p has_leading_and_trailing_blank \
                 " has_leading_and_trailing_blank "
             # the good class is in the directory without the blanks
@@ -90,18 +96,19 @@ make_a_JAR() {
                 has_leading_and_trailing_blank
             # the bad class is in the directory with the blanks
             cp -p $OUT_OF_THE_WAY/ExampleForBootClassPath.class.bad \
-                " has_leading_and_trailing_blank "/ExampleForBootClassPath.class
+                " has_leading_and_trailing_blank /ExampleForBootClassPath.class"
             ;;
 
         boot_cp_line5)
             boot_cp_line="Boot-Class-Path: has_embedded blank"
             expect_boot_cp_line="ExampleForBootClassPath was loaded."
+            to_be_deleted="has_embedded blank"
             mkdir -p has_embedded "has_embedded blank"
             # the good class is in the first blank separated word
             cp -p $OUT_OF_THE_WAY/ExampleForBootClassPath.class has_embedded
             # the bad class is in the directory with the blank
             cp -p $OUT_OF_THE_WAY/ExampleForBootClassPath.class.bad \
-                "has_embedded blank"/ExampleForBootClassPath.class
+                "has_embedded blank/ExampleForBootClassPath.class"
             ;;
 
         can_redef_line1)
@@ -429,6 +436,12 @@ while read token; do
         touch $FAIL_MARKER
     fi
 
+    #clean up any problematic directories
+    if [ -n "$to_be_deleted" ]; then
+        echo "Test removing [$to_be_deleted]"
+        rm -rf "$to_be_deleted"
+    fi
+
     echo "===== end test case: $token ====="
     echo
 done << EOF
diff --git a/jdk/test/java/lang/reflect/Constructor/Equals.java b/jdk/test/java/lang/reflect/Constructor/Equals.java
new file mode 100644
index 0000000..7151b5e
--- /dev/null
+++ b/jdk/test/java/lang/reflect/Constructor/Equals.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7073296
+ * @summary Generic framework to test Constructor.equals.
+ *
+ * @compile Equals.java
+ * @run main Equals
+ */
+
+import java.lang.reflect.*;
+
+public class Equals {
+    public Equals(){}
+    public Equals(Object o) {/* only for testing*/}
+    public Equals(int i) {/* only for testing */}
+
+    public Equals m() { return this; }
+
+    public static void main(String [] args) {
+        Equals e = new Equals();
+        e.equalConstructors();
+    }
+
+    public void equalConstructors() {
+        Constructor<?>[] constructors = Equals.class.getDeclaredConstructors();
+        for(Constructor<?> ctor1 : constructors) {
+            for(Constructor<?> ctor2 : constructors) {
+                boolean expected = (ctor1 == ctor2);
+                if (ctor1.equals(ctor2) != expected)
+                    throw new RuntimeException("Constructors '" +
+                        ctor1 + "'("+ System.identityHashCode(ctor1) + ") " +
+                        (expected ? "!=" : "==") + " '" +
+                        ctor2 + "'("+ System.identityHashCode(ctor2) + ")");
+            }
+        }
+    }
+}
diff --git a/jdk/test/java/net/CookieHandler/B6791927.java b/jdk/test/java/net/CookieHandler/B6791927.java
index e4ee023..65b60cb 100644
--- a/jdk/test/java/net/CookieHandler/B6791927.java
+++ b/jdk/test/java/net/CookieHandler/B6791927.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,16 +33,23 @@ import java.util.Locale;
 
 public class B6791927 {
     public static final void main( String[] aaParamters ) throws Exception{
-        // Forces a non US locale
-        Locale.setDefault(Locale.FRANCE);
-        List<HttpCookie> cookies = HttpCookie.parse("set-cookie: CUSTOMER=WILE_E_COYOTE; expires=Wednesday, 09-Nov-2019 23:12:40 GMT");
-        if (cookies == null || cookies.isEmpty()) {
-            throw new RuntimeException("No cookie found");
-        }
-        for (HttpCookie c : cookies) {
-            if (c.getMaxAge() == 0) {
-                throw new RuntimeException("Expiration date shouldn't be 0");
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            // Forces a non US locale
+            Locale.setDefault(Locale.FRANCE);
+            List<HttpCookie> cookies = HttpCookie.parse("set-cookie: CUSTOMER=WILE_E_COYOTE; expires=Wednesday, 09-Nov-2019 23:12:40 GMT");
+            if (cookies == null || cookies.isEmpty()) {
+                throw new RuntimeException("No cookie found");
+            }
+            for (HttpCookie c : cookies) {
+                if (c.getMaxAge() == 0) {
+                    throw new RuntimeException(
+                        "Expiration date shouldn't be 0");
+                }
             }
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
         }
     }
 }
diff --git a/jdk/test/java/net/SocketPermission/Wildcard.java b/jdk/test/java/net/SocketPermission/Wildcard.java
new file mode 100644
index 0000000..d99fb4f
--- /dev/null
+++ b/jdk/test/java/net/SocketPermission/Wildcard.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7021280
+ * @summary SocketPermission should accept wildcards
+ */
+
+import java.net.SocketPermission;
+
+public class Wildcard
+{
+    public static void main(String[] args) throws Exception {
+        SocketPermission star_All =
+                new SocketPermission("*.blabla.bla", "listen,accept,connect");
+        SocketPermission www_All =
+                new SocketPermission("bla.blabla.bla", "listen,accept,connect");
+
+        if (!star_All.implies(www_All)) {
+            throw new RuntimeException(
+                   "Failed: " + star_All + " does not imply " + www_All);
+        }
+    }
+}
diff --git a/jdk/test/java/net/URLConnection/SetIfModifiedSince.java b/jdk/test/java/net/URLConnection/SetIfModifiedSince.java
index 597610e..dac00c7 100644
--- a/jdk/test/java/net/URLConnection/SetIfModifiedSince.java
+++ b/jdk/test/java/net/URLConnection/SetIfModifiedSince.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -73,6 +73,7 @@ public class SetIfModifiedSince {
     }
 
     public static void main (String[] args) {
+        Locale reservedLocale = Locale.getDefault();
         try {
             Locale.setDefault(Locale.JAPAN);
             ServerSocket serversocket = new ServerSocket (0);
@@ -87,6 +88,10 @@ public class SetIfModifiedSince {
             int i=0, c;
             Thread.sleep (5000);
         } catch (Exception e) {
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
         }
+
     }
 }
diff --git a/jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh b/jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh
index dcde1f4..3ff5841 100644
--- a/jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh
+++ b/jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh
@@ -36,7 +36,7 @@ OS=`uname -s`
 case "$OS" in
   SunOS | Linux ) ;;
   # Skip locale test for Windows
-  Windows* )
+  Windows* | CYGWIN* )
     echo "Passed"; exit 0 ;;
   * ) echo "Unrecognized system!" ;  exit 1 ;;
 esac
diff --git a/jdk/test/java/nio/charset/spi/basic.sh b/jdk/test/java/nio/charset/spi/basic.sh
index b3ecd68..2444581 100644
--- a/jdk/test/java/nio/charset/spi/basic.sh
+++ b/jdk/test/java/nio/charset/spi/basic.sh
@@ -45,9 +45,19 @@ fi
 JAVA=$TESTJAVA/bin/java
 JAR=$TESTJAVA/bin/jar
 
-JARD=`pwd`/x.jar
-EXTD=`pwd`/x.ext
-TESTD=`pwd`/x.test
+DIR=`pwd`
+case `uname` in
+  SunOS | Linux ) CPS=':' ;;
+  Windows* )      CPS=';' ;;
+  CYGWIN*  )
+    DIR=`/usr/bin/cygpath -a -s -m $DIR`
+    CPS=";";;
+  *)              echo "Unknown platform: `uname`"; exit 1 ;;
+esac
+
+JARD=$DIR/x.jar
+EXTD=$DIR/x.ext
+TESTD=$DIR/x.test
 
 CSS='US-ASCII 8859_1 iso-ir-6 UTF-16 windows-1252 !BAR cp1252'
 
@@ -84,12 +94,6 @@ fi
 TMP=${TMP:-$TEMP}; TMP=${TMP:-/tmp}
 cd $TMP
 
-case `uname` in
-  SunOS | Linux ) CPS=':' ;;
-  Windows* )      CPS=';' ;;
-  *)              echo "Unknown platform: `uname`"; exit 1 ;;
-esac
-
 failures=0
 for where in ext app; do
   for security in none minimal-policy cp-policy; do
diff --git a/jdk/test/java/text/Bidi/Bug7042148.java b/jdk/test/java/text/Bidi/Bug7042148.java
new file mode 100644
index 0000000..92c3001
--- /dev/null
+++ b/jdk/test/java/text/Bidi/Bug7042148.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7042148
+ * @summary verify that Bidi.baseIsLeftToRight() returns the correct value even if an incorrect position is set in the given AttributedCharacterIterator.
+ */
+import java.awt.font.*;
+import java.text.*;
+import java.util.*;
+
+public class Bug7042148 {
+
+    private static boolean err = false;
+
+    public static void main(String[] args) {
+        testDirection();
+
+        if (err) {
+            throw new RuntimeException("Failed");
+        } else {
+            System.out.println("Passed.");
+        }
+    }
+
+    private static void testDirection() {
+        Map attrLTR = new HashMap();
+        attrLTR.put(TextAttribute.RUN_DIRECTION,
+                    TextAttribute.RUN_DIRECTION_LTR);
+        Map attrRTL = new HashMap();
+        attrRTL.put(TextAttribute.RUN_DIRECTION,
+                    TextAttribute.RUN_DIRECTION_RTL);
+
+        String str1 = "A\u05e0";
+        String str2 = "\u05e0B";
+
+        test(str1, attrLTR, Bidi.DIRECTION_LEFT_TO_RIGHT);
+        test(str1, attrRTL, Bidi.DIRECTION_RIGHT_TO_LEFT);
+        test(str2, attrLTR, Bidi.DIRECTION_LEFT_TO_RIGHT);
+        test(str2, attrRTL, Bidi.DIRECTION_RIGHT_TO_LEFT);
+    }
+
+    private static void test(String text, Map attr, int dirFlag) {
+        boolean expected = (dirFlag == Bidi.DIRECTION_LEFT_TO_RIGHT);
+
+        Bidi bidi = new Bidi(text, dirFlag);
+        boolean got = bidi.baseIsLeftToRight();
+        if (got != expected) {
+            err = true;
+            System.err.println("wrong Bidi(String, int).baseIsLeftToRight() value: " +
+                               "\n\ttext=" + text +
+                               "\n\tExpected=" + expected +
+                               "\n\tGot=" + got);
+        }
+
+        AttributedString as = new AttributedString(text, attr);
+        AttributedCharacterIterator itr = as.getIterator();
+        itr.last();
+        itr.next();
+        bidi = new Bidi(itr);
+        got = bidi.baseIsLeftToRight();
+        if (got != expected) {
+            err = true;
+            System.err.println("Wrong Bidi(AttributedCharacterIterator).baseIsLeftToRight() value: " +
+                               "\n\ttext=" + text +
+                               "\n\tExpected=" + expected +
+                               "\n\tGot=" + got);
+        }
+    }
+
+}
diff --git a/jdk/test/java/text/Bidi/Bug7051769.java b/jdk/test/java/text/Bidi/Bug7051769.java
new file mode 100644
index 0000000..1a96870
--- /dev/null
+++ b/jdk/test/java/text/Bidi/Bug7051769.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7051769
+ * @summary verify that Bidi.toString() returns the corect result.
+ */
+import java.awt.font.*;
+import java.text.*;
+import java.util.*;
+
+public class Bug7051769 {
+
+    private static boolean err = false;
+
+    public static void main(String[] args) {
+        testNumericShaping();
+
+        if (err) {
+            throw new RuntimeException("Failed");
+        } else {
+            System.out.println("Passed.");
+        }
+    }
+
+    private static void testNumericShaping() {
+        Map attrNS = new HashMap();
+        attrNS.put(TextAttribute.NUMERIC_SHAPING,
+                   NumericShaper.getContextualShaper(NumericShaper.ARABIC));
+        attrNS.put(TextAttribute.RUN_DIRECTION,
+                   TextAttribute.RUN_DIRECTION_RTL);
+
+        String text = "\u0623\u0643\u062a\u0648\u0628\u0631 10";
+        String expected = "sun.text.bidi.BidiBase[dir: 2 baselevel: 1 length: 9 runs: [1 1 1 1 1 1 1 2 2] text: [0x623 0x643 0x62a 0x648 0x628 0x631 0x20 0x661 0x660]]";
+
+        AttributedString as = new AttributedString(text, attrNS);
+        AttributedCharacterIterator itr = as.getIterator();
+        itr.last();
+        itr.next();
+        Bidi bidi = new Bidi(itr);
+        String got = bidi.toString();
+
+        if (!got.equals(expected)) {
+            err = true;
+            System.err.println("Wrong toString() output: " +
+                               "\n\tExpected=" + expected +
+                               "\n\tGot=" + got);
+        }
+    }
+
+}
diff --git a/jdk/test/java/util/Locale/LocaleCategory.java b/jdk/test/java/util/Locale/LocaleCategory.java
index e083c62..39f942e 100644
--- a/jdk/test/java/util/Locale/LocaleCategory.java
+++ b/jdk/test/java/util/Locale/LocaleCategory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -29,30 +29,37 @@ public class LocaleCategory {
     private static String enc = null;
 
     public static void main(String[] args) {
-        Locale.Builder builder = new Locale.Builder();
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            Locale.Builder builder = new Locale.Builder();
 
-        base = builder.setLanguage(System.getProperty("user.language", ""))
-                      .setScript(System.getProperty("user.script", ""))
-                      .setRegion(System.getProperty("user.country", ""))
-                      .setVariant(System.getProperty("user.variant", "")).build();
-        disp = builder.setLanguage(System.getProperty("user.language.display",
-                                                      Locale.getDefault().getLanguage()))
-                      .setScript(System.getProperty("user.script.display",
-                                                    Locale.getDefault().getScript()))
-                      .setRegion(System.getProperty("user.country.display",
-                                                    Locale.getDefault().getCountry()))
-                      .setVariant(System.getProperty("user.variant.display",
-                                                     Locale.getDefault().getVariant())).build();
-        fmt = builder.setLanguage(System.getProperty("user.language.format",
-                                                     Locale.getDefault().getLanguage()))
-                     .setScript(System.getProperty("user.script.format",
-                                                   Locale.getDefault().getScript()))
-                     .setRegion(System.getProperty("user.country.format",
-                                                   Locale.getDefault().getCountry()))
-                     .setVariant(System.getProperty("user.variant.format",
-                                                     Locale.getDefault().getVariant())).build();
-        checkDefault();
-        testGetSetDefault();
+            base = builder.setLanguage(System.getProperty("user.language", ""))
+                  .setScript(System.getProperty("user.script", ""))
+                  .setRegion(System.getProperty("user.country", ""))
+                  .setVariant(System.getProperty("user.variant", "")).build();
+            disp = builder.setLanguage(
+                    System.getProperty("user.language.display",
+                                Locale.getDefault().getLanguage()))
+                        .setScript(System.getProperty("user.script.display",
+                                Locale.getDefault().getScript()))
+                        .setRegion(System.getProperty("user.country.display",
+                                Locale.getDefault().getCountry()))
+                        .setVariant(System.getProperty("user.variant.display",
+                                Locale.getDefault().getVariant())).build();
+            fmt = builder.setLanguage(System.getProperty("user.language.format",
+                                Locale.getDefault().getLanguage()))
+                       .setScript(System.getProperty("user.script.format",
+                                Locale.getDefault().getScript()))
+                       .setRegion(System.getProperty("user.country.format",
+                                Locale.getDefault().getCountry()))
+                       .setVariant(System.getProperty("user.variant.format",
+                                  Locale.getDefault().getVariant())).build();
+            checkDefault();
+            testGetSetDefault();
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 
     static void checkDefault() {
diff --git a/jdk/test/java/util/Locale/LocaleCategory.sh b/jdk/test/java/util/Locale/LocaleCategory.sh
index 8544f4d..bbe32ff 100644
--- a/jdk/test/java/util/Locale/LocaleCategory.sh
+++ b/jdk/test/java/util/Locale/LocaleCategory.sh
@@ -34,7 +34,7 @@ case "$OS" in
     PS=":"
     FS="/"
     ;;
-  Windows* )
+  Windows* | CYGWIN* )
     PS=";"
     FS="\\"
     ;;
diff --git a/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.java b/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
index 745b3b9..3fd621a 100644
--- a/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/CurrencyNameProviderTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,13 @@ import sun.util.resources.*;
 public class CurrencyNameProviderTest extends ProviderTest {
 
     public static void main(String[] s) {
-        new CurrencyNameProviderTest();
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            new CurrencyNameProviderTest();
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 
     CurrencyNameProviderTest() {
diff --git a/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java b/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
index 4f3dad0..15f2890 100644
--- a/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
+++ b/jdk/test/java/util/PluggableLocale/TimeZoneNameProviderTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -113,6 +113,7 @@ public class TimeZoneNameProviderTest extends ProviderTest {
 
     void test2() {
         Locale defaultLocale = Locale.getDefault();
+        TimeZone reservedTimeZone = TimeZone.getDefault();
         Date d = new Date(2005-1900, Calendar.DECEMBER, 22);
         String formatted;
 
@@ -139,7 +140,6 @@ public class TimeZoneNameProviderTest extends ProviderTest {
                 df = new SimpleDateFormat(pattern, DateFormatSymbols.getInstance());
                 System.out.println(formatted = df.format(d));
                 if(!formatted.equals(DISPLAY_NAMES_KYOTO[i])) {
-                    Locale.setDefault(defaultLocale);
                     throw new RuntimeException("Timezone " + TIMEZONES[i] +
                         ": formatted zone names mismatch. " +
                         formatted + " should match with " +
@@ -148,10 +148,12 @@ public class TimeZoneNameProviderTest extends ProviderTest {
                 df.parse(DISPLAY_NAMES_KYOTO[i]);
             }
         } catch (ParseException pe) {
-            Locale.setDefault(defaultLocale);
             throw new RuntimeException("parse error occured" + pe);
+        } finally {
+            // restore the reserved locale and time zone
+            Locale.setDefault(defaultLocale);
+            TimeZone.setDefault(reservedTimeZone);
         }
-        Locale.setDefault(defaultLocale);
     }
 
     final String LATIME = "America/Los_Angeles";
diff --git a/jdk/test/java/util/ResourceBundle/Bug6190861.java b/jdk/test/java/util/ResourceBundle/Bug6190861.java
index dd9837f..48dd920 100644
--- a/jdk/test/java/util/ResourceBundle/Bug6190861.java
+++ b/jdk/test/java/util/ResourceBundle/Bug6190861.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,27 +32,34 @@ import java.util.*;
 public class Bug6190861 {
 
     static public void main(String[] args) {
-        Locale.setDefault(new Locale("en", "US"));
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            Locale.setDefault(new Locale("en", "US"));
 
-        List localeList = new ArrayList();
-        localeList.add(Locale.ENGLISH);
-        localeList.add(Locale.KOREA);
-        localeList.add(Locale.UK);
-        localeList.add(new Locale("en", "CA"));
-        localeList.add(Locale.ENGLISH);
+            List localeList = new ArrayList();
+            localeList.add(Locale.ENGLISH);
+            localeList.add(Locale.KOREA);
+            localeList.add(Locale.UK);
+            localeList.add(new Locale("en", "CA"));
+            localeList.add(Locale.ENGLISH);
 
-        Iterator iter = localeList.iterator();
-        while (iter.hasNext()){
-            Locale currentLocale = (Locale) iter.next();
-            System.out.println("\ncurrentLocale = "
+            Iterator iter = localeList.iterator();
+            while (iter.hasNext()){
+                Locale currentLocale = (Locale) iter.next();
+                System.out.println("\ncurrentLocale = "
                                + currentLocale.getDisplayName());
 
-            ResourceBundle messages = ResourceBundle.getBundle("Bug6190861Data",currentLocale);
+                ResourceBundle messages =
+                    ResourceBundle.getBundle("Bug6190861Data",currentLocale);
 
-            Locale messagesLocale = messages.getLocale();
-            System.out.println("messagesLocale = "
+                Locale messagesLocale = messages.getLocale();
+                System.out.println("messagesLocale = "
                                + messagesLocale.getDisplayName());
-            checkMessages(messages);
+                checkMessages(messages);
+            }
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
         }
     }
 
diff --git a/jdk/test/java/util/ResourceBundle/Control/Bug6530694.java b/jdk/test/java/util/ResourceBundle/Control/Bug6530694.java
index b76f0ae..7f22cc9 100644
--- a/jdk/test/java/util/ResourceBundle/Control/Bug6530694.java
+++ b/jdk/test/java/util/ResourceBundle/Control/Bug6530694.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -43,6 +43,12 @@ public class Bug6530694 {
     }
 
     public static void main(String[] args) {
-        new Bug6530694();
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            new Bug6530694();
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 }
diff --git a/jdk/test/java/util/ResourceBundle/Control/StressTest.java b/jdk/test/java/util/ResourceBundle/Control/StressTest.java
index 401f6b4..abead81 100644
--- a/jdk/test/java/util/ResourceBundle/Control/StressTest.java
+++ b/jdk/test/java/util/ResourceBundle/Control/StressTest.java
@@ -69,36 +69,44 @@ public class StressTest {
         if (args.length > 1) {
             duration = Math.max(5, Integer.parseInt(args[1]));
         }
-        Locale.setDefault(Locale.US);
-        Thread[] tasks = new Thread[locales.length * threadsFactor];
-        counters = new AtomicIntegerArray(tasks.length);
 
-        for (int i = 0; i < tasks.length; i++) {
-            tasks[i] = new Thread(new Worker(i));
-        }
-        for (int i = 0; i < tasks.length; i++) {
-            tasks[i].start();
-        }
-
-        int nProcessors = Runtime.getRuntime().availableProcessors();
-        intervalForCounterCheck = Math.max(tasks.length / nProcessors, 1);
-        System.out.printf("%d processors, intervalForCounterCheck = %d [sec]%n",
-                          nProcessors, intervalForCounterCheck);
+        Locale reservedLocale = Locale.getDefault();
         try {
-            for (int i = 0; runrun && i < duration; i++) {
-                Thread.sleep(1000); // 1 second
-                if ((i % intervalForCounterCheck) == 0) {
-                    checkCounters();
-                }
+            Locale.setDefault(Locale.US);
+            Thread[] tasks = new Thread[locales.length * threadsFactor];
+            counters = new AtomicIntegerArray(tasks.length);
+
+            for (int i = 0; i < tasks.length; i++) {
+                tasks[i] = new Thread(new Worker(i));
             }
-            runrun = false;
             for (int i = 0; i < tasks.length; i++) {
-                tasks[i].join();
+                tasks[i].start();
             }
-        } catch (InterruptedException e) {
-        }
 
-        printCounters();
+            int nProcessors = Runtime.getRuntime().availableProcessors();
+            intervalForCounterCheck = Math.max(tasks.length / nProcessors, 1);
+            System.out.printf(
+                "%d processors, intervalForCounterCheck = %d [sec]%n",
+                          nProcessors, intervalForCounterCheck);
+            try {
+                for (int i = 0; runrun && i < duration; i++) {
+                    Thread.sleep(1000); // 1 second
+                    if ((i % intervalForCounterCheck) == 0) {
+                        checkCounters();
+                    }
+                }
+                runrun = false;
+                for (int i = 0; i < tasks.length; i++) {
+                    tasks[i].join();
+                }
+            } catch (InterruptedException e) {
+            }
+
+            printCounters();
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 
     static void checkCounters() {
diff --git a/jdk/test/java/util/ResourceBundle/Test4314141.java b/jdk/test/java/util/ResourceBundle/Test4314141.java
index f41a2dc..fc7d9ca 100644
--- a/jdk/test/java/util/ResourceBundle/Test4314141.java
+++ b/jdk/test/java/util/ResourceBundle/Test4314141.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,8 +35,14 @@ import java.util.MissingResourceException;
 public class Test4314141 {
 
     public static void main(String[] args) {
-        testCandidateOmission();
-        testExample();
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            testCandidateOmission();
+            testExample();
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 
     /**
diff --git a/jdk/test/java/util/ResourceBundle/Test4318520.java b/jdk/test/java/util/ResourceBundle/Test4318520.java
index 79605bd..6385486 100644
--- a/jdk/test/java/util/ResourceBundle/Test4318520.java
+++ b/jdk/test/java/util/ResourceBundle/Test4318520.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,8 +36,14 @@ import java.util.Locale;
 public class Test4318520 {
 
     public static void main(String[] args) {
-        test(Locale.GERMAN);
-        test(Locale.ENGLISH);
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            test(Locale.GERMAN);
+            test(Locale.ENGLISH);
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 
     private static void test(Locale locale) {
diff --git a/jdk/test/java/util/concurrent/Executors/AutoShutdown.java b/jdk/test/java/util/concurrent/Executors/AutoShutdown.java
index eff5759..449b81d 100644
--- a/jdk/test/java/util/concurrent/Executors/AutoShutdown.java
+++ b/jdk/test/java/util/concurrent/Executors/AutoShutdown.java
@@ -67,6 +67,11 @@ public class AutoShutdown {
         e1 = e2 = null;
         for (int i = 0; i < 10 && Thread.activeCount() > count0; i++)
             tryWaitForFinalizersToRun();
+        for (int i = 0; i < 10; ++i) { // give JVM a chance to settle.
+            if (Thread.activeCount() == count0)
+                return;
+            Thread.sleep(1000);
+        }
         equal(Thread.activeCount(), count0);
     }
 
diff --git a/jdk/test/java/util/concurrent/Phaser/Arrive.java b/jdk/test/java/util/concurrent/Phaser/Arrive.java
index 0787176..1a93153 100644
--- a/jdk/test/java/util/concurrent/Phaser/Arrive.java
+++ b/jdk/test/java/util/concurrent/Phaser/Arrive.java
@@ -45,9 +45,12 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 public class Arrive {
     void test(String[] args) throws Throwable {
+        for (int i = 0; i < 100; ++i)
+            doTest(args);
+    }
+    void doTest(String[] args) throws Throwable {
         final int n = ThreadLocalRandom.current().nextInt(1, 10);
-        final int nthreads = n*3/2;
-        final Phaser startingGate = new Phaser(nthreads);
+        final Phaser startingGate = new Phaser(n);
         final Phaser phaser = new Phaser(n);
         final List<Thread> threads = new ArrayList<Thread>();
         final AtomicInteger count0 = new AtomicInteger(0);
@@ -64,14 +67,14 @@ public class Arrive {
             else
                 fail();
         }};
-        for (int i = 0; i < nthreads; i++)
+        for (int i = 0; i < n; i++)
             threads.add(new Thread(task));
         for (Thread thread : threads)
             thread.start();
         for (Thread thread : threads)
             thread.join();
         equal(count0.get(), n);
-        equal(count1.get(), nthreads-n);
+        equal(count1.get(), 0);
         equal(phaser.getPhase(), 1);
     }
 
diff --git a/jdk/test/java/util/jar/JarFile/TurkCert.java b/jdk/test/java/util/jar/JarFile/TurkCert.java
index 0d084e2..210cf5d 100644
--- a/jdk/test/java/util/jar/JarFile/TurkCert.java
+++ b/jdk/test/java/util/jar/JarFile/TurkCert.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,6 @@
  * @bug 4624534
  * @summary Make sure jar certificates work for Turkish locale
  * @author kladko
- * @run main/othervm TurkCert
  */
 
 import java.util.*;
@@ -36,15 +35,24 @@ import java.io.*;
 
 public class TurkCert {
     public static void main(String[] args) throws Exception{
-        Locale.setDefault(new Locale("TR", "tr"));
-        File f = new File(System.getProperty("test.src","."), "test.jar");
-        JarFile jf = new JarFile(f, true);
-        JarEntry je = (JarEntry)jf.getEntry("test.class");
-        InputStream is = jf.getInputStream(je);
-        byte[] b = new byte[1024];
-        while (is.read(b) != -1) {
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            Locale.setDefault(new Locale("TR", "tr"));
+            File f = new File(System.getProperty("test.src","."), "test.jar");
+            try (JarFile jf = new JarFile(f, true)) {
+                JarEntry je = (JarEntry)jf.getEntry("test.class");
+                try (InputStream is = jf.getInputStream(je)) {
+                    byte[] b = new byte[1024];
+                    while (is.read(b) != -1) {
+                    }
+                }
+                if (je.getCertificates() == null) {
+                    throw new Exception("Null certificate for test.class.");
+                }
+            }
+        } finally {
+            // restore the default locale
+            Locale.setDefault(reservedLocale);
         }
-        if (je.getCertificates() == null)
-            throw new Exception("Null certificate for test.class.");
     }
 }
diff --git a/jdk/test/javax/crypto/Cipher/Turkish.java b/jdk/test/javax/crypto/Cipher/Turkish.java
index b19b889..1f63ff8 100644
--- a/jdk/test/javax/crypto/Cipher/Turkish.java
+++ b/jdk/test/javax/crypto/Cipher/Turkish.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,15 +35,21 @@ import javax.crypto.Cipher;
 public class Turkish {
 
     public static void main(String[] args) throws Exception {
-        Locale.setDefault(new Locale("tr", "TR"));
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            Locale.setDefault(new Locale("tr", "TR"));
 
-        System.out.println(Cipher.getInstance("RSA/ECB/PKCS1Padding"));
-        System.out.println(Cipher.getInstance("RSA/ECB/PKCS1PADDING"));
-        System.out.println(Cipher.getInstance("rsa/ecb/pkcs1padding"));
-        System.out.println(Cipher.getInstance("Blowfish"));
-        System.out.println(Cipher.getInstance("blowfish"));
-        System.out.println(Cipher.getInstance("BLOWFISH"));
+            System.out.println(Cipher.getInstance("RSA/ECB/PKCS1Padding"));
+            System.out.println(Cipher.getInstance("RSA/ECB/PKCS1PADDING"));
+            System.out.println(Cipher.getInstance("rsa/ecb/pkcs1padding"));
+            System.out.println(Cipher.getInstance("Blowfish"));
+            System.out.println(Cipher.getInstance("blowfish"));
+            System.out.println(Cipher.getInstance("BLOWFISH"));
 
-        System.out.println("OK");
+            System.out.println("OK");
+        } finally {
+            // restore the default locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 }
diff --git a/jdk/test/javax/swing/GroupLayout/7071166/bug7071166.java b/jdk/test/javax/swing/GroupLayout/7071166/bug7071166.java
new file mode 100644
index 0000000..d579699
--- /dev/null
+++ b/jdk/test/javax/swing/GroupLayout/7071166/bug7071166.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7071166
+ * @summary LayoutStyle.getPreferredGap() - IAE is expected but not thrown
+ * @author Pavel Porvatov
+ */
+
+import javax.swing.*;
+import static javax.swing.SwingConstants.*;
+import java.awt.*;
+
+public class bug7071166 {
+    private static final int[] POSITIONS = {NORTH, EAST, SOUTH, WEST, // valid positions
+            NORTH_EAST, SOUTH_EAST, SOUTH_WEST, NORTH_WEST, 123, -456}; // invalid positions
+
+    public static void main(String[] args) throws Exception {
+        for (UIManager.LookAndFeelInfo lookAndFeelInfo : UIManager.getInstalledLookAndFeels()) {
+            UIManager.setLookAndFeel(lookAndFeelInfo.getClassName());
+
+            System.out.println("LookAndFeel: " + lookAndFeelInfo.getName());
+
+            SwingUtilities.invokeAndWait(new Runnable() {
+                public void run() {
+                    LayoutStyle layoutStyle = LayoutStyle.getInstance();
+
+                    System.out.println("LayoutStyle: " + layoutStyle);
+
+                    for (int i = 0; i < POSITIONS.length; i++) {
+                        int position = POSITIONS[i];
+
+                        try {
+                            layoutStyle.getPreferredGap(new JButton(), new JButton(),
+                                    LayoutStyle.ComponentPlacement.RELATED, position, new Container());
+
+                            if (i > 3) {
+                                throw new RuntimeException("IllegalArgumentException is not thrown for position " +
+                                        position);
+                            }
+                        } catch (IllegalArgumentException e) {
+                            if (i <= 3) {
+                                throw new RuntimeException("IllegalArgumentException is thrown for position " +
+                                        position);
+                            }
+                        }
+                    }
+                }
+            });
+
+            System.out.println("passed");
+        }
+    }
+}
diff --git a/jdk/test/javax/swing/JColorChooser/Test6524757.java b/jdk/test/javax/swing/JColorChooser/Test6524757.java
index 09838b4..779ef7b 100644
--- a/jdk/test/javax/swing/JColorChooser/Test6524757.java
+++ b/jdk/test/javax/swing/JColorChooser/Test6524757.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -98,17 +98,23 @@ public class Test6524757 {
     private static final Object[] FRENCH = convert(Locale.FRENCH, KEYS);
 
     public static void main(String[] args) {
-        // it affects Swing because it is not initialized
-        Locale.setDefault(Locale.KOREAN);
-        validate(KOREAN, create());
-
-        // it does not affect Swing because it is initialized
-        Locale.setDefault(Locale.CANADA);
-        validate(KOREAN, create());
-
-        // it definitely should affect Swing
-        JComponent.setDefaultLocale(Locale.FRENCH);
-        validate(FRENCH, create());
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            // it affects Swing because it is not initialized
+            Locale.setDefault(Locale.KOREAN);
+            validate(KOREAN, create());
+
+            // it does not affect Swing because it is initialized
+            Locale.setDefault(Locale.CANADA);
+            validate(KOREAN, create());
+
+            // it definitely should affect Swing
+            JComponent.setDefaultLocale(Locale.FRENCH);
+            validate(FRENCH, create());
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 
     private static void validate(Object[] expected, Object[] actual) {
diff --git a/jdk/test/org/openjdk/jigsaw/cli/timestamp-test.sh b/jdk/test/org/openjdk/jigsaw/cli/timestamp-test.sh
index 7613f3f..607cdd4 100755
--- a/jdk/test/org/openjdk/jigsaw/cli/timestamp-test.sh
+++ b/jdk/test/org/openjdk/jigsaw/cli/timestamp-test.sh
@@ -33,7 +33,7 @@ BIN=${TESTJAVA:-../../../../../build}/bin
 
 mk() {
   d=`dirname $1`
-  if ! [ -d `dirname $1` ]; then mkdir -p $d; fi
+  if [ ! -d $d ]; then mkdir -p $d; fi
   cat - >$1
 }
 
diff --git a/jdk/test/sun/security/krb5/auto/KDC.java b/jdk/test/sun/security/krb5/auto/KDC.java
index 45a3d53..e4b4a9d 100644
--- a/jdk/test/sun/security/krb5/auto/KDC.java
+++ b/jdk/test/sun/security/krb5/auto/KDC.java
@@ -170,6 +170,10 @@ public class KDC {
          * Use only one preauth, so that some keys are not easy to generate
          */
         ONLY_ONE_PREAUTH,
+        /**
+         * Set all name-type to a value in response
+         */
+        RESP_NT,
     };
 
     static {
@@ -637,10 +641,16 @@ public class KDC {
      */
     private byte[] processTgsReq(byte[] in) throws Exception {
         TGSReq tgsReq = new TGSReq(in);
+        PrincipalName service = tgsReq.reqBody.sname;
+        if (options.containsKey(KDC.Option.RESP_NT)) {
+            service = new PrincipalName(service.getNameStrings(),
+                    (int)options.get(KDC.Option.RESP_NT));
+            service.setRealm(service.getRealm());
+        }
         try {
             System.out.println(realm + "> " + tgsReq.reqBody.cname +
                     " sends TGS-REQ for " +
-                    tgsReq.reqBody.sname);
+                    service);
             KDCReqBody body = tgsReq.reqBody;
             int[] eTypes = KDCReqBodyDotEType(body);
             int e2 = eTypes[0];     // etype for outgoing session key
@@ -708,7 +718,7 @@ public class KDC {
                 bFlags[Krb5.TKT_OPTS_MAY_POSTDATE] = true;
             }
 
-            if (configMatch("", body.sname.getNameString(), "ok-as-delegate")) {
+            if (configMatch("", service.getNameString(), "ok-as-delegate")) {
                 bFlags[Krb5.TKT_OPTS_DELEGATE] = true;
             }
             bFlags[Krb5.TKT_OPTS_INITIAL] = true;
@@ -728,13 +738,13 @@ public class KDC {
                             : new HostAddresses(
                                 new InetAddress[]{InetAddress.getLocalHost()}),
                     null);
-            EncryptionKey skey = keyForUser(body.sname, e3, true);
+            EncryptionKey skey = keyForUser(service, e3, true);
             if (skey == null) {
                 throw new KrbException(Krb5.KDC_ERR_SUMTYPE_NOSUPP); // TODO
             }
             Ticket t = new Ticket(
                     body.crealm,
-                    body.sname,
+                    service,
                     new EncryptedData(skey, enc.asn1Encode(), KeyUsage.KU_TICKET)
             );
             EncTGSRepPart enc_part = new EncTGSRepPart(
@@ -750,7 +760,7 @@ public class KDC {
                     body.from,
                     till, body.rtime,
                     body.crealm,
-                    body.sname,
+                    service,
                     body.addresses != null  // always set caddr
                             ? body.addresses
                             : new HostAddresses(
@@ -781,7 +791,7 @@ public class KDC {
                         0,
                         ke.returnCode(),
                         body.crealm, body.cname,
-                        new Realm(getRealm()), body.sname,
+                        new Realm(getRealm()), service,
                         KrbException.errorMessage(ke.returnCode()),
                         null);
             }
@@ -800,10 +810,16 @@ public class KDC {
         int[] eTypes = null;
         List<PAData> outPAs = new ArrayList<>();
 
+        PrincipalName service = asReq.reqBody.sname;
+        if (options.containsKey(KDC.Option.RESP_NT)) {
+            service = new PrincipalName(service.getNameStrings(),
+                    (int)options.get(KDC.Option.RESP_NT));
+            service.setRealm(service.getRealm());
+        }
         try {
             System.out.println(realm + "> " + asReq.reqBody.cname +
                     " sends AS-REQ for " +
-                    asReq.reqBody.sname);
+                    service);
 
             KDCReqBody body = asReq.reqBody;
             body.cname.setRealm(getRealm());
@@ -812,7 +828,7 @@ public class KDC {
             int eType = eTypes[0];
 
             EncryptionKey ckey = keyForUser(body.cname, eType, false);
-            EncryptionKey skey = keyForUser(body.sname, eType, true);
+            EncryptionKey skey = keyForUser(service, eType, true);
 
             if (options.containsKey(KDC.Option.ONLY_RC4_TGT)) {
                 int tgtEType = EncryptedData.ETYPE_ARCFOUR_HMAC;
@@ -826,7 +842,7 @@ public class KDC {
                 if (!found) {
                     throw new KrbException(Krb5.KDC_ERR_ETYPE_NOSUPP);
                 }
-                skey = keyForUser(body.sname, tgtEType, true);
+                skey = keyForUser(service, tgtEType, true);
             }
             if (ckey == null) {
                 throw new KrbException(Krb5.KDC_ERR_ETYPE_NOSUPP);
@@ -943,7 +959,7 @@ public class KDC {
                     null);
             Ticket t = new Ticket(
                     body.crealm,
-                    body.sname,
+                    service,
                     new EncryptedData(skey, enc.asn1Encode(), KeyUsage.KU_TICKET)
             );
             EncASRepPart enc_part = new EncASRepPart(
@@ -959,7 +975,7 @@ public class KDC {
                     body.from,
                     till, body.rtime,
                     body.crealm,
-                    body.sname,
+                    service,
                     body.addresses
                     );
             EncryptedData edata = new EncryptedData(ckey, enc_part.asn1Encode(), KeyUsage.KU_ENC_AS_REP_PART);
@@ -1023,7 +1039,7 @@ public class KDC {
                         0,
                         ke.returnCode(),
                         body.crealm, body.cname,
-                        new Realm(getRealm()), body.sname,
+                        new Realm(getRealm()), service,
                         KrbException.errorMessage(ke.returnCode()),
                         eData);
             }
diff --git a/jdk/test/sun/security/krb5/auto/PrincipalNameEquals.java b/jdk/test/sun/security/krb5/auto/PrincipalNameEquals.java
new file mode 100644
index 0000000..c4ae6b9
--- /dev/null
+++ b/jdk/test/sun/security/krb5/auto/PrincipalNameEquals.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 7061379
+ * @summary [Kerberos] Cross-realm authentication fails, due to nameType problem
+ * @compile -XDignore.symbol.file PrincipalNameEquals.java
+ * @run main/othervm PrincipalNameEquals
+ */
+
+import sun.security.jgss.GSSUtil;
+import sun.security.krb5.PrincipalName;
+
+public class PrincipalNameEquals {
+
+    public static void main(String[] args) throws Exception {
+
+        OneKDC kdc = new OneKDC(null);
+        kdc.writeJAASConf();
+        kdc.setOption(KDC.Option.RESP_NT, PrincipalName.KRB_NT_PRINCIPAL);
+
+        Context c, s;
+        c = Context.fromJAAS("client");
+        s = Context.fromJAAS("server");
+
+        c.startAsClient(OneKDC.SERVER, GSSUtil.GSS_KRB5_MECH_OID);
+        s.startAsServer(GSSUtil.GSS_KRB5_MECH_OID);
+
+        Context.handshake(c, s);
+
+        Context.transmit("i say high --", c, s);
+        Context.transmit("   you say low", s, c);
+
+        s.dispose();
+        c.dispose();
+    }
+}
diff --git a/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java
new file mode 100644
index 0000000..cc518c2
--- /dev/null
+++ b/jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 6670868
+ * @summary StackOverFlow with bad authenticated Proxy tunnels
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.Authenticator;
+import java.net.Proxy;
+import java.net.InetSocketAddress;
+import java.net.PasswordAuthentication;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.net.URL;
+import javax.net.ssl.HttpsURLConnection;
+
+public class HttpsProxyStackOverflow {
+
+    public static void main(String[] args) throws IOException {
+        BadAuthProxyServer server = startServer();
+        doClient(server);
+    }
+
+    static void doClient(BadAuthProxyServer server) throws IOException {
+        // url doesn't matter since we will never make the connection
+        URL url = new URL("https://anythingwilldo/");
+        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(
+                      new Proxy(Proxy.Type.HTTP,
+                      new InetSocketAddress("localhost", server.getPort())));
+        try (InputStream is = conn.getInputStream()) {
+        } catch(IOException unused) {
+            // no real server, IOException is expected.
+            // failure if StackOverflowError
+        } finally {
+            server.done();
+        }
+    }
+
+    static BadAuthProxyServer startServer() throws IOException {
+        Authenticator.setDefault(new Authenticator() {
+            @Override
+            protected PasswordAuthentication getPasswordAuthentication() {
+                return new PasswordAuthentication("xyz", "xyz".toCharArray());
+            }
+            });
+
+        BadAuthProxyServer server = new BadAuthProxyServer(new ServerSocket(0));
+        Thread serverThread = new Thread(server);
+        serverThread.start();
+        return server;
+    }
+
+    static class BadAuthProxyServer implements Runnable {
+        private ServerSocket ss;
+        private boolean done;
+
+        BadAuthProxyServer(ServerSocket ss) { this.ss = ss; }
+
+        public void run() {
+            try {
+               while (!done) {
+                    Socket s = ss.accept();
+                    s.getOutputStream().write(
+                            ("HTTP/1.1 407\nProxy-Authenticate:Basic " +
+                            "realm=\"WallyWorld\"\n\n").getBytes("US-ASCII"));
+
+                    s.close();
+
+                    s = ss.accept();
+                    s.close();
+                }
+            } catch (IOException e) {
+                // Ignore IOException when the main thread calls done
+            } finally {
+                try { ss.close(); } catch (IOException e) {}
+            }
+        }
+
+        int getPort() {
+            return ss.getLocalPort();
+        }
+
+        void done() {
+            try { ss.close(); } catch (IOException e) {}
+            done = true;
+        }
+    }
+}
+
diff --git a/jdk/test/sun/security/tools/keytool/KeyToolTest.java b/jdk/test/sun/security/tools/keytool/KeyToolTest.java
index f6f3bcf..ab7474a 100644
--- a/jdk/test/sun/security/tools/keytool/KeyToolTest.java
+++ b/jdk/test/sun/security/tools/keytool/KeyToolTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1278,52 +1278,58 @@ public class KeyToolTest {
     }
 
     public static void main(String[] args) throws Exception {
-        // first test if HumanInputStream really acts like a human being
-        HumanInputStream.test();
-        KeyToolTest t = new KeyToolTest();
-
-        if (System.getProperty("file") != null) {
-            t.sqeTest();
-            t.testAll();
-            t.i18nTest();
-            t.v3extTest("RSA");
-            t.v3extTest("DSA");
-            boolean testEC = true;
-            try {
-                KeyPairGenerator.getInstance("EC");
-            } catch (NoSuchAlgorithmException nae) {
-                testEC = false;
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            // first test if HumanInputStream really acts like a human being
+            HumanInputStream.test();
+            KeyToolTest t = new KeyToolTest();
+
+            if (System.getProperty("file") != null) {
+                t.sqeTest();
+                t.testAll();
+                t.i18nTest();
+                t.v3extTest("RSA");
+                t.v3extTest("DSA");
+                boolean testEC = true;
+                try {
+                    KeyPairGenerator.getInstance("EC");
+                } catch (NoSuchAlgorithmException nae) {
+                    testEC = false;
+                }
+                if (testEC) t.v3extTest("EC");
             }
-            if (testEC) t.v3extTest("EC");
-        }
 
-        if (System.getProperty("nss") != null) {
-            t.srcP11Arg = NSS_SRC_P11_ARG;
-            t.p11Arg = NSS_P11_ARG;
+            if (System.getProperty("nss") != null) {
+                t.srcP11Arg = NSS_SRC_P11_ARG;
+                t.p11Arg = NSS_P11_ARG;
 
-            t.testPKCS11();
+                t.testPKCS11();
 
-            // FAIL:
-            // 1. we still don't have srcprovidername yet
-            // 2. cannot store privatekey into NSS keystore
-            //    java.security.KeyStoreException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_TEMPLATE_INCOMPLETE.
-            //t.testPKCS11ImportKeyStore();
+                // FAIL:
+                // 1. we still don't have srcprovidername yet
+                // 2. cannot store privatekey into NSS keystore
+                //    java.security.KeyStoreException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_TEMPLATE_INCOMPLETE.
+                //t.testPKCS11ImportKeyStore();
 
-            t.i18nPKCS11Test();
-            //FAIL: currently PKCS11-NSS does not support 2 NSS KeyStores to be loaded at the same time
-            //t.sszzTest();
-        }
+                t.i18nPKCS11Test();
+                //FAIL: currently PKCS11-NSS does not support 2 NSS KeyStores to be loaded at the same time
+                //t.sszzTest();
+            }
 
-        if (System.getProperty("solaris") != null) {
-            // For Solaris Cryptography Framework
-            t.srcP11Arg = SUN_SRC_P11_ARG;
-            t.p11Arg = SUN_P11_ARG;
-            t.testPKCS11();
-            t.testPKCS11ImportKeyStore();
-            t.i18nPKCS11Test();
-        }
+            if (System.getProperty("solaris") != null) {
+                // For Solaris Cryptography Framework
+                t.srcP11Arg = SUN_SRC_P11_ARG;
+                t.p11Arg = SUN_P11_ARG;
+                t.testPKCS11();
+                t.testPKCS11ImportKeyStore();
+                t.i18nPKCS11Test();
+            }
 
-        System.out.println("Test pass!!!");
+            System.out.println("Test pass!!!");
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 }
 
diff --git a/jdk/test/sun/text/resources/Collator/Bug4248694.java b/jdk/test/sun/text/resources/Collator/Bug4248694.java
index 60b36ed..b933974 100644
--- a/jdk/test/sun/text/resources/Collator/Bug4248694.java
+++ b/jdk/test/sun/text/resources/Collator/Bug4248694.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,43 +35,49 @@ public class Bug4248694 {
   /********************************************************
   *********************************************************/
   public static void main (String[] args) {
-      int errors=0;
+      Locale reservedLocale = Locale.getDefault();
+      try {
+          int errors=0;
 
-      Locale loc = new Locale ("is", "is");   // Icelandic
+          Locale loc = new Locale ("is", "is");   // Icelandic
 
-      Locale.setDefault (loc);
-      Collator col = Collator.getInstance ();
+          Locale.setDefault (loc);
+          Collator col = Collator.getInstance ();
 
-      String[] data = {"\u00e6ard",
-                       "Zard",
-                       "aard",
-                       "\u00feard",
-                       "vird",
-                       "\u00c6ard",
-                       "Zerd",
-                       "\u00deard"};
+          String[] data = {"\u00e6ard",
+                           "Zard",
+                           "aard",
+                           "\u00feard",
+                           "vird",
+                           "\u00c6ard",
+                           "Zerd",
+                           "\u00deard"};
 
-      String[] sortedData = {"aard",
-                             "vird",
-                             "Zard",
-                             "Zerd",
-                             "\u00feard",
-                             "\u00deard",
-                             "\u00e6ard",
-                             "\u00c6ard"};
+          String[] sortedData = {"aard",
+                                 "vird",
+                                 "Zard",
+                                 "Zerd",
+                                 "\u00feard",
+                                 "\u00deard",
+                                 "\u00e6ard",
+                                 "\u00c6ard"};
 
-      Arrays.sort (data, col);
+          Arrays.sort (data, col);
 
-      System.out.println ("Using " + loc.getDisplayName());
-      for (int i = 0;  i < data.length;  i++) {
-          System.out.println(data[i] + "  :  " + sortedData[i]);
-          if (sortedData[i].compareTo(data[i]) != 0) {
-              errors++;
-          }
-      }//end for
+          System.out.println ("Using " + loc.getDisplayName());
+          for (int i = 0;  i < data.length;  i++) {
+              System.out.println(data[i] + "  :  " + sortedData[i]);
+              if (sortedData[i].compareTo(data[i]) != 0) {
+                  errors++;
+              }
+          }//end for
 
-      if (errors > 0)
-          throw new RuntimeException();
+          if (errors > 0)
+              throw new RuntimeException();
+      } finally {
+          // restore the reserved locale
+          Locale.setDefault(reservedLocale);
+      }
   }//end main
 
 }//end class CollatorTest
diff --git a/jdk/test/sun/text/resources/Collator/Bug4804273.java b/jdk/test/sun/text/resources/Collator/Bug4804273.java
index 0d1fa93..0d60f30 100644
--- a/jdk/test/sun/text/resources/Collator/Bug4804273.java
+++ b/jdk/test/sun/text/resources/Collator/Bug4804273.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,82 +35,89 @@ public class Bug4804273 {
   /********************************************************
   *********************************************************/
   public static void main (String[] args) {
-      int errors=0;
+      Locale reservedLocale = Locale.getDefault();
+      try {
+        int errors=0;
 
-      Locale loc = new Locale ("sv", "se");   // Swedish
+        Locale loc = new Locale ("sv", "se");   // Swedish
 
-      Locale.setDefault (loc);
-      Collator col = Collator.getInstance ();
+        Locale.setDefault (loc);
+        Collator col = Collator.getInstance ();
 
-      String[] data = {"A",
-                       "Aa",
-                       "Ae",
-                       "B",
-                       "Y",
-                       "U\u0308", // U-umlaut
-                       "Z",
-                       "A\u030a", // A-ring
-                       "A\u0308", // A-umlaut
-                       "\u00c6", // AE ligature
-                       "O\u0308", // O-umlaut
-                       "a\u030b", // a-double-acute
-                       "\u00d8", // O-stroke
-                       "a",
-                       "aa",
-                       "ae",
-                       "b",
-                       "y",
-                       "u\u0308", // u-umlaut
-                       "z",
-                       "A\u030b", // A-double-acute
-                       "a\u030a", // a-ring
-                       "a\u0308", // a-umlaut
-                       "\u00e6", // ae ligature
-                       "o\u0308", // o-umlaut
-                       "\u00f8", // o-stroke
-      };
+        String[] data = {"A",
+                         "Aa",
+                         "Ae",
+                         "B",
+                         "Y",
+                         "U\u0308", // U-umlaut
+                         "Z",
+                         "A\u030a", // A-ring
+                         "A\u0308", // A-umlaut
+                         "\u00c6", // AE ligature
+                         "O\u0308", // O-umlaut
+                         "a\u030b", // a-double-acute
+                         "\u00d8", // O-stroke
+                         "a",
+                         "aa",
+                         "ae",
+                         "b",
+                         "y",
+                         "u\u0308", // u-umlaut
+                         "z",
+                         "A\u030b", // A-double-acute
+                         "a\u030a", // a-ring
+                         "a\u0308", // a-umlaut
+                         "\u00e6", // ae ligature
+                         "o\u0308", // o-umlaut
+                         "\u00f8", // o-stroke
+        };
 
 
-      String[] sortedData = {"a",
-                             "A",
-                             "aa",
-                             "Aa",
-                             "ae",
-                             "Ae",
-                             "b",
-                             "B",
-                             "y",
-                             "Y",
-                             "u\u0308", // o-umlaut
-                             "U\u0308", // o-umlaut
-                             "z",
-                             "Z",
-                             "a\u030a", // a-ring
-                             "A\u030a", // A-ring
-                             "a\u0308", // a-umlaut
-                             "A\u0308", // A-umlaut
-                             "a\u030b", // a-double-acute
-                             "A\u030b", // A-double-acute
-                             "\u00e6", // ae ligature
-                             "\u00c6", // AE ligature
-                             "o\u0308", // o-umlaut
-                             "O\u0308", // O-umlaut
-                             "\u00f8", // o-stroke
-                             "\u00d8", // O-stroke
-      };
+        String[] sortedData = {"a",
+                               "A",
+                               "aa",
+                               "Aa",
+                               "ae",
+                               "Ae",
+                               "b",
+                               "B",
+                               "y",
+                               "Y",
+                               "u\u0308", // o-umlaut
+                               "U\u0308", // o-umlaut
+                               "z",
+                               "Z",
+                               "a\u030a", // a-ring
+                               "A\u030a", // A-ring
+                               "a\u0308", // a-umlaut
+                               "A\u0308", // A-umlaut
+                               "a\u030b", // a-double-acute
+                               "A\u030b", // A-double-acute
+                               "\u00e6", // ae ligature
+                               "\u00c6", // AE ligature
+                               "o\u0308", // o-umlaut
+                               "O\u0308", // O-umlaut
+                               "\u00f8", // o-stroke
+                               "\u00d8", // O-stroke
+        };
 
-      Arrays.sort (data, col);
+        Arrays.sort (data, col);
 
-      System.out.println ("Using " + loc.getDisplayName());
-      for (int i = 0;  i < data.length;  i++) {
-          System.out.println(data[i] + "  :  " + sortedData[i]);
-          if (sortedData[i].compareTo(data[i]) != 0) {
-              errors++;
-          }
-      }//end for
+        System.out.println ("Using " + loc.getDisplayName());
+        for (int i = 0;  i < data.length;  i++) {
+            System.out.println(data[i] + "  :  " + sortedData[i]);
+            if (sortedData[i].compareTo(data[i]) != 0) {
+                errors++;
+            }
+        }//end for
 
-      if (errors > 0)
-          throw new RuntimeException("There are " + errors + " words sorted incorrectly!");
+        if (errors > 0)
+            throw new RuntimeException("There are " + errors +
+                        " words sorted incorrectly!");
+      } finally {
+          // restore the reserved locale
+          Locale.setDefault(reservedLocale);
+      }
   }//end main
 
 }//end class CollatorTest
diff --git a/jdk/test/sun/text/resources/Collator/Bug4848897.java b/jdk/test/sun/text/resources/Collator/Bug4848897.java
index 250c14a..fdb36ff 100644
--- a/jdk/test/sun/text/resources/Collator/Bug4848897.java
+++ b/jdk/test/sun/text/resources/Collator/Bug4848897.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -35,39 +35,44 @@ public class Bug4848897 {
   /********************************************************
   *********************************************************/
   public static void main (String[] args) {
+      Locale reservedLocale = Locale.getDefault();
+      try {
+          int errors=0;
+          Locale loc = new Locale ("no", "NO");   // Norwegian
 
-      int errors=0;
-      Locale loc = new Locale ("no", "NO");   // Norwegian
+          Locale.setDefault (loc);
+          Collator col = Collator.getInstance ();
 
-      Locale.setDefault (loc);
-      Collator col = Collator.getInstance ();
+          String[] data = {"wird",
+                           "vird",
+                           "verd",
+                           "werd",
+                           "vard",
+                           "ward"};
 
-      String[] data = {"wird",
-                       "vird",
-                       "verd",
-                       "werd",
-                       "vard",
-                       "ward"};
+          String[] sortedData = {"vard",
+                                 "verd",
+                                 "vird",
+                                 "ward",
+                                 "werd",
+                                 "wird"};
 
-      String[] sortedData = {"vard",
-                             "verd",
-                             "vird",
-                             "ward",
-                             "werd",
-                             "wird"};
+          Arrays.sort (data, col);
 
-      Arrays.sort (data, col);
+          System.out.println ("Using " + loc.getDisplayName());
+          for (int i = 0;  i < data.length;  i++) {
+              System.out.println(data[i] + "  :  " + sortedData[i]);
+              if (sortedData[i].compareTo(data[i]) != 0) {
+                  errors++;
+              }
+          }//end for
 
-      System.out.println ("Using " + loc.getDisplayName());
-      for (int i = 0;  i < data.length;  i++) {
-          System.out.println(data[i] + "  :  " + sortedData[i]);
-          if (sortedData[i].compareTo(data[i]) != 0) {
-              errors++;
-          }
-      }//end for
-
-      if (errors > 0)
-          throw new RuntimeException();
-  }//end main
+          if (errors > 0)
+              throw new RuntimeException();
+      } finally {
+          // restore the reserved locale
+          Locale.setDefault(reservedLocale);
+      }
+  } // end main
 
 }//end class CollatorTest
diff --git a/jdk/test/sun/text/resources/Format/Bug4651568.java b/jdk/test/sun/text/resources/Format/Bug4651568.java
index 63b99ff..510097e 100644
--- a/jdk/test/sun/text/resources/Format/Bug4651568.java
+++ b/jdk/test/sun/text/resources/Format/Bug4651568.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,23 +34,29 @@ import java.util.Locale;
 public class Bug4651568 {
 
     public static void main (String argv[] )  {
-        String expectedCurrencyPattern = "\u00A4 #.##0,00";
-
-        Locale locale = new Locale ("pt", "BR");
-        Locale.setDefault(locale);
-
-        DecimalFormat formatter =
-            (DecimalFormat) NumberFormat.getCurrencyInstance(locale);
-
-        if (formatter.toLocalizedPattern().equals(expectedCurrencyPattern))
-{
-            System.out.println ("Passed.");
-        } else {
-             System.out.println ("Failed Currency pattern." +
-                    "  Expected:  " + expectedCurrencyPattern +
-                    "  Received:  " + formatter.toLocalizedPattern() );
-             throw new RuntimeException();
-
- }
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            String expectedCurrencyPattern = "\u00A4 #.##0,00";
+
+            Locale locale = new Locale ("pt", "BR");
+            Locale.setDefault(locale);
+
+            DecimalFormat formatter =
+                (DecimalFormat) NumberFormat.getCurrencyInstance(locale);
+
+            if (formatter.toLocalizedPattern().equals(
+                        expectedCurrencyPattern)) {
+                System.out.println ("Passed.");
+            } else {
+                 System.out.println ("Failed Currency pattern." +
+                        "  Expected:  " + expectedCurrencyPattern +
+                        "  Received:  " + formatter.toLocalizedPattern() );
+                 throw new RuntimeException();
+
+            }
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
 }
diff --git a/jdk/test/sun/util/resources/Locale/Bug4965260.java b/jdk/test/sun/util/resources/Locale/Bug4965260.java
index 177c4c3..16c88c2 100644
--- a/jdk/test/sun/util/resources/Locale/Bug4965260.java
+++ b/jdk/test/sun/util/resources/Locale/Bug4965260.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -30,49 +30,55 @@ import java.util.Locale;
 
 public class Bug4965260  {
 
-  // Define supported locales
-  static Locale[] locales2Test = new Locale[] {
-    new Locale("de"),
-    new Locale("es"),
-    new Locale("fr"),
-    new Locale("it"),
-    new Locale("sv")
-  };
+    // Define supported locales
+    static Locale[] locales2Test = new Locale[] {
+        new Locale("de"),
+        new Locale("es"),
+        new Locale("fr"),
+        new Locale("it"),
+        new Locale("sv")
+    };
 
-  static String[] expectedNames = new String[] {
-    "Niederl\u00e4ndisch",
-    "neerland\u00e9s",
-    "n\u00e9erlandais",
-    "neerlandese",
-    "nederl\u00e4ndska"
-  };
+    static String[] expectedNames = new String[] {
+        "Niederl\u00e4ndisch",
+        "neerland\u00e9s",
+        "n\u00e9erlandais",
+        "neerlandese",
+        "nederl\u00e4ndska"
+    };
 
-  public static void main(String[] args) throws Exception {
-    Locale.setDefault(Locale.ENGLISH);
-    if (locales2Test.length != expectedNames.length) {
-      throw new Exception("\nData sizes does not match!\n");
-    }
+    public static void main(String[] args) throws Exception {
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            Locale.setDefault(Locale.ENGLISH);
+            if (locales2Test.length != expectedNames.length) {
+                throw new Exception("\nData sizes does not match!\n");
+            }
 
-    StringBuffer message = new StringBuffer("");
-    Locale dutch = new Locale("nl", "BE");
-    String current;
-    for (int i = 0; i < locales2Test.length; i++) {
-      Locale locale = locales2Test[i];
-      current = dutch.getDisplayLanguage(locale);
-      if (!current.equals(expectedNames[i])) {
-        message.append("[");
-        message.append(locale.getDisplayLanguage());
-        message.append("] ");
-        message.append("Language name is ");
-        message.append(current);
-        message.append(" should be ");
-        message.append(expectedNames[i]);
-        message.append("\n");
-      }
-    }
+            StringBuffer message = new StringBuffer("");
+            Locale dutch = new Locale("nl", "BE");
+            String current;
+            for (int i = 0; i < locales2Test.length; i++) {
+                Locale locale = locales2Test[i];
+                current = dutch.getDisplayLanguage(locale);
+                if (!current.equals(expectedNames[i])) {
+                    message.append("[");
+                    message.append(locale.getDisplayLanguage());
+                    message.append("] ");
+                    message.append("Language name is ");
+                    message.append(current);
+                    message.append(" should be ");
+                    message.append(expectedNames[i]);
+                    message.append("\n");
+                }
+            }
 
-    if (message.length() >0) {
-      throw new Exception("\n" + message.toString());
+            if (message.length() >0) {
+                throw new Exception("\n" + message.toString());
+            }
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
+        }
     }
-  }
 }
diff --git a/jdk/test/sun/util/resources/TimeZone/Bug4640234.java b/jdk/test/sun/util/resources/TimeZone/Bug4640234.java
index 1fa9c2a..a8766ea 100644
--- a/jdk/test/sun/util/resources/TimeZone/Bug4640234.java
+++ b/jdk/test/sun/util/resources/TimeZone/Bug4640234.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,11 +24,11 @@
 /**
  * @test
  * @bug 4640234 4946057 4938151 4873691 5023181
- * @summary Verifies the translation of time zone names, this test will catch presence
- *          of country name for english and selected locales for all ISO country
- *          codes.
- *          The test program also displays which timezone, country and language names
- *          are not translated
+ * @summary Verifies the translation of time zone names, this test will catch
+ *          presence of country name for english and selected locales for all
+ *          ISO country codes.
+ *          The test program also displays which timezone, country and
+ *          language names are not translated
  */
 
 
@@ -51,230 +51,242 @@ import java.util.TimeZone;
 
 
 public class Bug4640234  {
-  static SimpleDateFormat sdfEn = new SimpleDateFormat("zzzz", Locale.US);
-  static SimpleDateFormat sdfEnShort = new SimpleDateFormat("z", Locale.US);
-  static Locale locEn = Locale.ENGLISH;
-
-  static SimpleDateFormat sdfLoc;
-  static SimpleDateFormat sdfLocShort;
-  static Date date = new Date();
-
-  // Define supported locales
-  static Locale[] locales2Test = new Locale[] {
-    new Locale("de"),
-    new Locale("es"),
-    new Locale("fr"),
-    new Locale("it"),
-    new Locale("ja"),
-    new Locale("ko"),
-    new Locale("sv"),
-    new Locale("zh", "CN"),
-    new Locale("zh", "TW")
-  };
-
-  public static void main(String[] args) throws Exception {
-    Locale.setDefault(Locale.ENGLISH);
-
-    StringBuffer errors = new StringBuffer("");
-    StringBuffer warnings = new StringBuffer("");
-
-    String[] timezones = TimeZone.getAvailableIDs();
-    String[] countries = locEn.getISOCountries();
-    String[] languages = locEn.getISOLanguages();
-
-    ResourceBundle resEn = ResourceBundle.getBundle("sun.util.resources.LocaleNames", locEn);
-    Map<String, String> countryMapEn = getList(resEn, true);
-    Map<String, String> languageMapEn = getList(resEn, false);
-
-    ResourceBundle resLoc;
-    Map<String, String> countryMap;
-    Map<String, String> languageMap;
-
-    for (Locale locale : locales2Test) {
-      resLoc = ResourceBundle.getBundle("sun.util.resources.LocaleNames", locale);
-
-      sdfLoc = new SimpleDateFormat("zzzz", locale);
-      sdfLocShort = new SimpleDateFormat("z", locale);
-
-      for (String timezone : timezones) {
-        if (isTZIgnored(timezone)) {
-          continue;
-        }
-        warnings.append(testTZ(timezone, locale));
-      }
-
-      countryMap = getList(resLoc, true);
-
-      for (String country : countries) {
-        String[] result = testEntry(country,
-          countryMapEn,
-          countryMap,
-          locale,
-          "ERROR: {0} country name for country code: {1} not found!\n",
-          "WARNING: {0} country name for country code: {1} not localized!\n"
-        );
-        if (warnings.indexOf(result[0]) == -1) {
-          warnings.append(result[0]);
-        }
-        if (errors.indexOf(result[1]) == -1) {
-          errors.append(result[1]);
-        }
-      }
-
-      languageMap = getList(resLoc, false);
-      for (String language : languages) {
-        String[] result = testEntry(language,
-          languageMapEn,
-          languageMap,
-          locale,
-          "ERROR: {0} language name for language code: {1} not found!\n",
-          "WARNING: {0} language name for language code: {1} not localized!\n");
-        if (warnings.indexOf(result[0]) == -1) {
-          warnings.append(result[0]);
-        }
-        if (errors.indexOf(result[1]) == -1) {
-          errors.append(result[1]);
+    static SimpleDateFormat sdfEn = new SimpleDateFormat("zzzz", Locale.US);
+    static SimpleDateFormat sdfEnShort = new SimpleDateFormat("z", Locale.US);
+    static Locale locEn = Locale.ENGLISH;
+
+    static SimpleDateFormat sdfLoc;
+    static SimpleDateFormat sdfLocShort;
+    static Date date = new Date();
+
+    // Define supported locales
+    static Locale[] locales2Test = new Locale[] {
+        new Locale("de"),
+        new Locale("es"),
+        new Locale("fr"),
+        new Locale("it"),
+        new Locale("ja"),
+        new Locale("ko"),
+        new Locale("sv"),
+        new Locale("zh", "CN"),
+        new Locale("zh", "TW")
+    };
+
+    public static void main(String[] args) throws Exception {
+        Locale reservedLocale = Locale.getDefault();
+        try {
+            Locale.setDefault(Locale.ENGLISH);
+
+            StringBuffer errors = new StringBuffer("");
+            StringBuffer warnings = new StringBuffer("");
+
+            String[] timezones = TimeZone.getAvailableIDs();
+            String[] countries = locEn.getISOCountries();
+            String[] languages = locEn.getISOLanguages();
+
+            ResourceBundle resEn = ResourceBundle.getBundle(
+                    "sun.util.resources.LocaleNames", locEn);
+            Map<String, String> countryMapEn = getList(resEn, true);
+            Map<String, String> languageMapEn = getList(resEn, false);
+
+            ResourceBundle resLoc;
+            Map<String, String> countryMap;
+            Map<String, String> languageMap;
+
+            for (Locale locale : locales2Test) {
+                resLoc = ResourceBundle.getBundle(
+                    "sun.util.resources.LocaleNames", locale);
+
+                sdfLoc = new SimpleDateFormat("zzzz", locale);
+                sdfLocShort = new SimpleDateFormat("z", locale);
+
+                for (String timezone : timezones) {
+                    if (isTZIgnored(timezone)) {
+                        continue;
+                    }
+                    warnings.append(testTZ(timezone, locale));
+                }
+
+                countryMap = getList(resLoc, true);
+
+                for (String country : countries) {
+                    String[] result = testEntry(country,
+                        countryMapEn,
+                        countryMap,
+                        locale,
+                        "ERROR: {0} country name for country code: {1} not found!\n",
+                        "WARNING: {0} country name for country code: {1} not localized!\n"
+                    );
+                    if (warnings.indexOf(result[0]) == -1) {
+                        warnings.append(result[0]);
+                    }
+                    if (errors.indexOf(result[1]) == -1) {
+                        errors.append(result[1]);
+                    }
+                }
+
+                languageMap = getList(resLoc, false);
+                for (String language : languages) {
+                    String[] result = testEntry(language,
+                        languageMapEn,
+                        languageMap,
+                        locale,
+                        "ERROR: {0} language name for language code: {1} not found!\n",
+                        "WARNING: {0} language name for language code: {1} not localized!\n");
+                    if (warnings.indexOf(result[0]) == -1) {
+                        warnings.append(result[0]);
+                    }
+                    if (errors.indexOf(result[1]) == -1) {
+                        errors.append(result[1]);
+                    }
+                }
+            }
+
+            StringBuffer message = new StringBuffer("");
+            if (!"".equals(errors.toString())) {
+                message.append("Test failed! ");
+                message.append("ERROR: some keys are missing! ");
+            }
+
+            if ("".equals(message.toString())) {
+                System.out.println("\nTest passed");
+                System.out.println(warnings.toString());
+            } else {
+                System.out.println("\nTest failed!");
+                System.out.println(errors.toString());
+                System.out.println(warnings.toString());
+                throw new Exception("\n" + message);
+            }
+        } finally {
+            // restore the reserved locale
+            Locale.setDefault(reservedLocale);
         }
-      }
     }
 
-    StringBuffer message = new StringBuffer("");
-    if (!"".equals(errors.toString())) {
-      message.append("Test failed! ");
-      message.append("ERROR: some keys are missing! ");
-    }
+    /**
+    * Compares the english timezone name and timezone name in specified locale
+    * @param timeZoneName - name of the timezone to compare
+    * @param locale - locale to test against english
+    * @return empty string when passed, descriptive error message in other cases
+    */
+    private static String testTZ(String timeZoneName, Locale locale) {
+        StringBuffer timeZoneResult = new StringBuffer("");
+        TimeZone tz = TimeZone.getTimeZone(timeZoneName);
+        sdfEn.setTimeZone(tz);
+        sdfEnShort.setTimeZone(tz);
+        sdfLoc.setTimeZone(tz);
+        sdfLocShort.setTimeZone(tz);
+
+        String en, enShort, loc, locShort;
+        en = sdfEn.format(date);
+        enShort = sdfEnShort.format(date);
+        loc = sdfLoc.format(date);
+        locShort = sdfLocShort.format(date);
+
+        String displayLanguage = locale.getDisplayLanguage();
+        String displayCountry = locale.getDisplayCountry();
+
+        if (loc.equals(en)) {
+            timeZoneResult.append("[");
+            timeZoneResult.append(displayLanguage);
+            if (!"".equals(displayCountry)) {
+                timeZoneResult.append(" ");
+                timeZoneResult.append(displayCountry);
+            }
+            timeZoneResult.append("] timezone \"");
+            timeZoneResult.append(timeZoneName);
+            timeZoneResult.append("\" long name \"" + en);
+            timeZoneResult.append("\" not localized!\n");
+        }
 
-    if ("".equals(message.toString())) {
-      System.out.println("\nTest passed");
-      System.out.println(warnings.toString());
-    } else {
-      System.out.println("\nTest failed!");
-      System.out.println(errors.toString());
-      System.out.println(warnings.toString());
-      throw new Exception("\n" + message);
-    }
-  }
-
-  /**
-  * Compares the english timezone name and timezone name in specified locale
-  * @param timeZoneName - name of the timezone to compare
-  * @param locale - locale to test against english
-  * @return empty string when passed, descriptive error message in other cases
-  */
-  private static String testTZ(String timeZoneName, Locale locale) {
-    StringBuffer timeZoneResult = new StringBuffer("");
-    TimeZone tz = TimeZone.getTimeZone(timeZoneName);
-    sdfEn.setTimeZone(tz);
-    sdfEnShort.setTimeZone(tz);
-    sdfLoc.setTimeZone(tz);
-    sdfLocShort.setTimeZone(tz);
-
-    String en, enShort, loc, locShort;
-    en = sdfEn.format(date);
-    enShort = sdfEnShort.format(date);
-    loc = sdfLoc.format(date);
-    locShort = sdfLocShort.format(date);
-
-    String displayLanguage = locale.getDisplayLanguage();
-    String displayCountry = locale.getDisplayCountry();
-
-    if (loc.equals(en)) {
-      timeZoneResult.append("[");
-      timeZoneResult.append(displayLanguage);
-      if (!"".equals(displayCountry)) {
-        timeZoneResult.append(" ");
-        timeZoneResult.append(displayCountry);
-      }
-      timeZoneResult.append("] timezone \"");
-      timeZoneResult.append(timeZoneName);
-      timeZoneResult.append("\" long name \"" + en);
-      timeZoneResult.append("\" not localized!\n");
+        if (!locShort.equals(enShort)) {
+            timeZoneResult.append("[");
+            timeZoneResult.append(displayLanguage);
+            if (!"".equals(displayCountry)) {
+                timeZoneResult.append(" ");
+                timeZoneResult.append(displayCountry);
+            }
+            timeZoneResult.append("] timezone \"");
+            timeZoneResult.append(timeZoneName);
+            timeZoneResult.append("\" short name \"" + enShort);
+            timeZoneResult.append("\" is localized \"");
+            timeZoneResult.append(locShort);
+            timeZoneResult.append("\"!\n");
+        }
+        return timeZoneResult.toString();
     }
 
-    if (!locShort.equals(enShort)) {
-      timeZoneResult.append("[");
-      timeZoneResult.append(displayLanguage);
-      if (!"".equals(displayCountry)) {
-        timeZoneResult.append(" ");
-        timeZoneResult.append(displayCountry);
-      }
-      timeZoneResult.append("] timezone \"");
-      timeZoneResult.append(timeZoneName);
-      timeZoneResult.append("\" short name \"" + enShort);
-      timeZoneResult.append("\" is localized \"");
-      timeZoneResult.append(locShort);
-      timeZoneResult.append("\"!\n");
-    }
-    return timeZoneResult.toString();
-  }
-
-  /**
-  * Verifies whether the name for ISOCode is localized.
-  * @param ISOCode - ISO country/language code for country/language name to test
-  * @param entriesEn - array of english country/language names
-  * @param entriesLoc - array of localized country/language names for specified locale
-  * @param locale - locale to test against english
-  * @param notFoundMessage - message in form ready for MessageFormat, {0} will be human readable
-  *                          language name, {1} will be ISOCode.
-  * @param notLocalizedMessage - message in for ready for MessageFormat, same formatting like
-  *                              for notFountMessage
-  * @return array of two empty strings when passed, descriptive error message in
-  *         other cases, [0] - warnings for not localized, [1] - errors for missing keys.
-  */
-  private static String[] testEntry(String ISOCode,
-                                    Map<String, String> entriesEn,
-                                    Map<String, String> entriesLoc,
-                                    Locale locale,
-                                    String notFoundMessage,
-                                    String notLocalizedMessage) {
-    String nameEn = null;
-    String nameLoc = null;
-
-    for (String key: entriesEn.keySet()) {
-      if (ISOCode.equalsIgnoreCase(key)) {
-        nameEn = entriesEn.get(key);
-        break;
-      }
-    }
+    /**
+    * Verifies whether the name for ISOCode is localized.
+    * @param ISOCode - ISO country/language code for country/language name
+    *      to test
+    * @param entriesEn - array of english country/language names
+    * @param entriesLoc - array of localized country/language names for
+    *      specified locale
+    * @param locale - locale to test against english
+    * @param notFoundMessage - message in form ready for MessageFormat,
+    *      {0} will be human readable language name, {1} will be ISOCode.
+    * @param notLocalizedMessage - message in for ready for MessageFormat,
+    *      same formatting like for notFountMessage
+    * @return array of two empty strings when passed, descriptive error message
+    *      in other cases, [0] - warnings for not localized, [1] - errors for
+    *      missing keys.
+    */
+    private static String[] testEntry(String ISOCode,
+                Map<String, String> entriesEn,
+                Map<String, String> entriesLoc,
+                Locale locale,
+                String notFoundMessage,
+                String notLocalizedMessage) {
+        String nameEn = null;
+        String nameLoc = null;
+
+        for (String key: entriesEn.keySet()) {
+            if (ISOCode.equalsIgnoreCase(key)) {
+                nameEn = entriesEn.get(key);
+                break;
+            }
+        }
 
-    for (String key: entriesLoc.keySet()) {
-      if (ISOCode.equalsIgnoreCase(key)) {
-        nameLoc = entriesLoc.get(key);
-        break;
-      }
-    }
+        for (String key: entriesLoc.keySet()) {
+            if (ISOCode.equalsIgnoreCase(key)) {
+                nameLoc = entriesLoc.get(key);
+                break;
+            }
+        }
 
-    if (nameEn == null) {
-      // We should not get here but test is a MUST have
-      return new String[] {"", MessageFormat.format(notFoundMessage,
-        new String[] {"English", ISOCode})};
-    }
+        if (nameEn == null) {
+            // We should not get here but test is a MUST have
+            return new String[] {"", MessageFormat.format(notFoundMessage,
+                new String[] {"English", ISOCode})};
+        }
 
-    if (nameLoc == null) {
-      return new String[] {"", MessageFormat.format(notFoundMessage,
-        new String[] {locale.getDisplayName(), ISOCode})};
-    }
+        if (nameLoc == null) {
+            return new String[] {"", MessageFormat.format(notFoundMessage,
+                new String[] {locale.getDisplayName(), ISOCode})};
+        }
 
-    if (nameEn.equals(nameLoc)) {
-      return new String[] {MessageFormat.format(notLocalizedMessage,
-        new String[] {locale.getDisplayName(), ISOCode}), ""};
-    }
+        if (nameEn.equals(nameLoc)) {
+            return new String[] {MessageFormat.format(notLocalizedMessage,
+                new String[] {locale.getDisplayName(), ISOCode}), ""};
+        }
 
-    return new String[] {"", ""};
-  }
+        return new String[] {"", ""};
+    }
 
-  private static boolean isTZIgnored(String TZName) {
-    if (TZName.startsWith("Etc/GMT") ||
-        TZName.indexOf("Riyadh8") != -1 ||
-        TZName.equals("GMT0") ||
-        TZName.equals("MET")
-        ) {
-      return true;
+    private static boolean isTZIgnored(String TZName) {
+        if (TZName.startsWith("Etc/GMT") ||
+                TZName.indexOf("Riyadh8") != -1 ||
+                TZName.equals("GMT0") ||
+                TZName.equals("MET")
+                ) {
+            return true;
+        }
+        return false;
     }
-    return false;
-  }
 
-    private static Map<String, String> getList(ResourceBundle rs, Boolean getCountryList) {
+    private static Map<String, String> getList(
+            ResourceBundle rs, Boolean getCountryList) {
         char beginChar = 'a';
         char endChar = 'z';
         if (getCountryList) {
diff --git a/jdk/test/tools/launcher/Arrrghs.java b/jdk/test/tools/launcher/Arrrghs.java
index c9b82e7..f505b7e 100644
--- a/jdk/test/tools/launcher/Arrrghs.java
+++ b/jdk/test/tools/launcher/Arrrghs.java
@@ -24,7 +24,7 @@
 /**
  * @test
  * @bug 5030233 6214916 6356475 6571029 6684582 6742159 4459600 6758881 6753938
- *      6894719 6968053
+ *      6894719 6968053 7067922
  * @summary Argument parsing validation.
  * @compile -XDignore.symbol.file Arrrghs.java TestHelper.java
  * @run main Arrrghs
@@ -362,6 +362,16 @@ public class Arrrghs {
         tr.checkPositive();
         System.out.println(tr);
     }
+
+    static void test7067922() {
+        // a missing manifest entry 7067922
+        TestHelper.TestResult tr = null;
+        TestHelper.createJar("cvf", "missingmainentry.jar", ".");
+        tr = TestHelper.doExec(TestHelper.javaCmd, "-jar", "missingmainentry.jar");
+        tr.contains("no main manifest attribute");
+        System.out.println(tr);
+    }
+
     /**
      * @param args the command line arguments
      * @throws java.io.FileNotFoundException
@@ -374,6 +384,7 @@ public class Arrrghs {
         runBasicErrorMessageTests();
         runMainMethodTests();
         test6894719();
+        test7067922();
         runDiagOptionTests();
         if (TestHelper.testExitValue > 0) {
             System.out.println("Total of " + TestHelper.testExitValue + " failed");
diff --git a/jdk/test/tools/launcher/TestHelper.java b/jdk/test/tools/launcher/TestHelper.java
index ca20e3e..f299736 100644
--- a/jdk/test/tools/launcher/TestHelper.java
+++ b/jdk/test/tools/launcher/TestHelper.java
@@ -171,15 +171,15 @@ public enum TestHelper {
         if (jarName.exists()) {
             jarName.delete();
         }
-        PrintStream ps = new PrintStream(new FileOutputStream(mainClass + ".java"));
-        ps.println("public class Foo {");
-        if (mainDefs != null) {
-            for (String x : mainDefs) {
-                ps.println(x);
+        try (PrintStream ps = new PrintStream(new FileOutputStream(mainClass + ".java"))) {
+            ps.println("public class Foo {");
+            if (mainDefs != null) {
+                for (String x : mainDefs) {
+                    ps.println(x);
+                }
             }
+            ps.println("}");
         }
-        ps.println("}");
-        ps.close();
 
         String compileArgs[] = {
             mainClass + ".java"
@@ -196,12 +196,20 @@ public enum TestHelper {
             mEntry,
             mainClass.getName() + ".class"
         };
+        createJar(jarArgs);
+    }
+
+   static void createJar(String... args) {
         sun.tools.jar.Main jarTool =
                 new sun.tools.jar.Main(System.out, System.err, "JarCreator");
-        if (!jarTool.run(jarArgs)) {
-            throw new RuntimeException("jar creation failed " + jarName);
+        if (!jarTool.run(args)) {
+            String message = "jar creation failed with command:";
+            for (String x : args) {
+                message = message.concat(" " + x);
+            }
+            throw new RuntimeException(message);
         }
-    }
+   }
 
    static void copyFile(File src, File dst) throws IOException {
         Path parent = dst.toPath().getParent();
diff --git a/make/jprt.properties b/make/jprt.properties
index 64e356e..843ba24 100644
--- a/make/jprt.properties
+++ b/make/jprt.properties
@@ -25,22 +25,12 @@
 
 # Properties for jprt
 
-# At submit time, the release supplied will be in jprt.submit.release
-#    and will be one of the official release names defined in jprt.
-#    jprt supports property value expansion using ${property.name} syntax.
-
-# This tells jprt what default release we want to build
-jprt.tools.default.release=${jprt.submit.release}
+# Release to build
+jprt.tools.default.release=jdk8
 
 # The different build flavors we want, we override here so we just get these 2
 jprt.build.flavors=product,fastdebug
 
-# Define the Windows we want (temporary)
-jprt.my.windows.i586.jdk7b107=windows_i586_5.0
-jprt.my.windows.i586.jdk7temp=windows_i586_5.0
-jprt.my.windows.i586.jdk7=windows_i586_5.1
-jprt.my.windows.i586=${jprt.my.windows.i586.${jprt.tools.default.release}}
-
 # Standard list of jprt build targets for this source tree
 jprt.build.targets= 						\
     solaris_sparc_5.10-{product|fastdebug}, 			\
@@ -49,7 +39,7 @@ jprt.build.targets= 						\
     solaris_x64_5.10-{product|fastdebug}, 			\
     linux_i586_2.6-{product|fastdebug}, 			\
     linux_x64_2.6-{product|fastdebug}, 				\
-    ${jprt.my.windows.i586}-{product|fastdebug}, 		\
+    windows_i586_5.1-{product|fastdebug}, 			\
     windows_x64_5.2-{product|fastdebug}
 
 # User can select the test set with jprt submit "-testset name" option
@@ -64,7 +54,7 @@ jprt.vm.default.test.targets=              			\
     solaris_x64_5.10-product-c2-jvm98, 				\
     linux_i586_2.6-product-{c1|c2}-jvm98, 			\
     linux_x64_2.6-product-c2-jvm98, 				\
-    ${jprt.my.windows.i586}-product-c1-jvm98, 			\
+    windows_i586_5.1-product-c1-jvm98, 				\
     windows_x64_5.2-product-c2-jvm98, 				\
     								\
     solaris_sparc_5.10-product-c1-scimark, 			\
@@ -73,7 +63,7 @@ jprt.vm.default.test.targets=              			\
     solaris_x64_5.10-product-c2-scimark, 			\
     linux_i586_2.6-product-{c1|c2}-scimark, 			\
     linux_x64_2.6-product-c2-scimark, 				\
-    ${jprt.my.windows.i586}-product-c1-scimark, 		\
+    windows_i586_5.1-product-c1-scimark, 			\
     windows_x64_5.2-product-c2-scimark
 
 # Default jdk test targets in test/Makefile (no fastdebug & limited c2 testing)
@@ -85,7 +75,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-langtools_jtreg, 		\
     linux_i586_2.6-product-{c1|c2}-langtools_jtreg, 		\
     linux_x64_2.6-product-c2-langtools_jtreg, 			\
-    ${jprt.my.windows.i586}-product-c1-langtools_jtreg, 	\
+    windows_i586_5.1-product-c1-langtools_jtreg, 		\
     windows_x64_5.2-product-c2-langtools_jtreg, 		\
     								\
     solaris_sparc_5.10-product-c1-jdk_beans1, 			\
@@ -94,7 +84,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_beans1, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_beans1, 			\
     linux_x64_2.6-product-c2-jdk_beans1, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_beans1, 		\
+    windows_i586_5.1-product-c1-jdk_beans1, 			\
     windows_x64_5.2-product-c2-jdk_beans1, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_io, 			\
@@ -103,7 +93,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_io, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_io, 			\
     linux_x64_2.6-product-c2-jdk_io, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_io, 			\
+    windows_i586_5.1-product-c1-jdk_io, 			\
     windows_x64_5.2-product-c2-jdk_io, 				\
     								\
     solaris_sparc_5.10-product-c1-jdk_lang, 			\
@@ -112,7 +102,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_lang, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_lang, 			\
     linux_x64_2.6-product-c2-jdk_lang, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_lang, 		\
+    windows_i586_5.1-product-c1-jdk_lang, 			\
     windows_x64_5.2-product-c2-jdk_lang, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_jigsaw, 			\
@@ -121,7 +111,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_jigsaw, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_jigsaw, 			\
     linux_x64_2.6-product-c2-jdk_jigsaw, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_jigsaw, 		\
+    windows_i586_5.1-product-c1-jdk_jigsaw, 			\
     windows_x64_5.2-product-c2-jdk_jigsaw, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_math, 			\
@@ -130,7 +120,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_math, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_math, 			\
     linux_x64_2.6-product-c2-jdk_math, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_math, 		\
+    windows_i586_5.1-product-c1-jdk_math, 			\
     windows_x64_5.2-product-c2-jdk_math, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_misc, 			\
@@ -139,7 +129,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_misc, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_misc, 			\
     linux_x64_2.6-product-c2-jdk_misc, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_misc, 		\
+    windows_i586_5.1-product-c1-jdk_misc, 			\
     windows_x64_5.2-product-c2-jdk_misc, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_net, 			\
@@ -148,7 +138,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_net, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_net, 			\
     linux_x64_2.6-product-c2-jdk_net, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_net, 		\
+    windows_i586_5.1-product-c1-jdk_net, 			\
     windows_x64_5.2-product-c2-jdk_net, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_nio1, 			\
@@ -157,7 +147,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_nio1, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_nio1, 			\
     linux_x64_2.6-product-c2-jdk_nio1, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_nio1, 		\
+    windows_i586_5.1-product-c1-jdk_nio1, 			\
     windows_x64_5.2-product-c2-jdk_nio1, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_nio2, 			\
@@ -166,7 +156,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_nio2, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_nio2, 			\
     linux_x64_2.6-product-c2-jdk_nio2, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_nio2, 		\
+    windows_i586_5.1-product-c1-jdk_nio2, 			\
     windows_x64_5.2-product-c2-jdk_nio2, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_nio3, 			\
@@ -175,7 +165,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_nio3, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_nio3, 			\
     linux_x64_2.6-product-c2-jdk_nio3, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_nio3, 		\
+    windows_i586_5.1-product-c1-jdk_nio3, 			\
     windows_x64_5.2-product-c2-jdk_nio3, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_security1, 		\
@@ -184,7 +174,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_security1, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_security1, 		\
     linux_x64_2.6-product-c2-jdk_security1, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_security1, 		\
+    windows_i586_5.1-product-c1-jdk_security1, 			\
     windows_x64_5.2-product-c2-jdk_security1, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_text, 			\
@@ -193,7 +183,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_text, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_text, 			\
     linux_x64_2.6-product-c2-jdk_text, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_text, 		\
+    windows_i586_5.1-product-c1-jdk_text, 			\
     windows_x64_5.2-product-c2-jdk_text, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_tools1, 			\
@@ -202,7 +192,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_tools1, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_tools1, 			\
     linux_x64_2.6-product-c2-jdk_tools1, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_tools1, 		\
+    windows_i586_5.1-product-c1-jdk_tools1, 			\
     windows_x64_5.2-product-c2-jdk_tools1, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_util, 			\
@@ -211,7 +201,7 @@ jprt.make.rule.default.test.targets=				\
     solaris_x64_5.10-product-c2-jdk_util, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_util, 			\
     linux_x64_2.6-product-c2-jdk_util, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_util, 		\
+    windows_i586_5.1-product-c1-jdk_util, 			\
     windows_x64_5.2-product-c2-jdk_util
 
 # All vm test targets (but still no fastdebug & limited c2 testing)
@@ -225,7 +215,7 @@ jprt.vm.all.test.targets=    					\
     solaris_x64_5.10-product-c2-runThese, 			\
     linux_i586_2.6-product-{c1|c2}-runThese, 			\
     linux_x64_2.6-product-c2-runThese, 				\
-    ${jprt.my.windows.i586}-product-c1-runThese, 		\
+    windows_i586_5.1-product-c1-runThese, 			\
     windows_x64_5.2-product-c2-runThese, 			\
     								\
     solaris_sparc_5.10-product-c1-jbb_default, 			\
@@ -234,7 +224,7 @@ jprt.vm.all.test.targets=    					\
     solaris_x64_5.10-product-c2-jbb_default, 			\
     linux_i586_2.6-product-{c1|c2}-jbb_default, 		\
     linux_x64_2.6-product-c2-jbb_default, 			\
-    ${jprt.my.windows.i586}-product-c1-jbb_default, 		\
+    windows_i586_5.1-product-c1-jbb_default, 			\
     windows_x64_5.2-product-c2-jbb_default
 
 # All jdk test targets (but still no fastdebug & limited c2 testing)
@@ -248,7 +238,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_awt, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_awt, 			\
     linux_x64_2.6-product-c2-jdk_awt, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_awt, 		\
+    windows_i586_5.1-product-c1-jdk_awt, 			\
     windows_x64_5.2-product-c2-jdk_awt, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_beans2, 			\
@@ -257,7 +247,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_beans2, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_beans2, 			\
     linux_x64_2.6-product-c2-jdk_beans2, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_beans2, 		\
+    windows_i586_5.1-product-c1-jdk_beans2, 			\
     windows_x64_5.2-product-c2-jdk_beans2, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_beans3, 			\
@@ -266,7 +256,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_beans3, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_beans3, 			\
     linux_x64_2.6-product-c2-jdk_beans3, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_beans3, 		\
+    windows_i586_5.1-product-c1-jdk_beans3, 			\
     windows_x64_5.2-product-c2-jdk_beans3, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_management1, 		\
@@ -275,7 +265,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_management1, 		\
     linux_i586_2.6-product-{c1|c2}-jdk_management1, 		\
     linux_x64_2.6-product-c2-jdk_management1, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_management1, 	\
+    windows_i586_5.1-product-c1-jdk_management1, 		\
     windows_x64_5.2-product-c2-jdk_management1, 		\
     								\
     solaris_sparc_5.10-product-c1-jdk_management2, 		\
@@ -284,7 +274,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_management2, 		\
     linux_i586_2.6-product-{c1|c2}-jdk_management2, 		\
     linux_x64_2.6-product-c2-jdk_management2, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_management2, 	\
+    windows_i586_5.1-product-c1-jdk_management2, 		\
     windows_x64_5.2-product-c2-jdk_management2, 		\
     								\
     solaris_sparc_5.10-product-c1-jdk_rmi, 			\
@@ -293,7 +283,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_rmi, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_rmi, 			\
     linux_x64_2.6-product-c2-jdk_rmi, 				\
-    ${jprt.my.windows.i586}-product-c1-jdk_rmi, 		\
+    windows_i586_5.1-product-c1-jdk_rmi, 			\
     windows_x64_5.2-product-c2-jdk_rmi, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_security2, 		\
@@ -302,7 +292,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_security2, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_security2, 		\
     linux_x64_2.6-product-c2-jdk_security2, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_security2, 		\
+    windows_i586_5.1-product-c1-jdk_security2, 			\
     windows_x64_5.2-product-c2-jdk_security2, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_security3, 		\
@@ -311,7 +301,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_security3, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_security3, 		\
     linux_x64_2.6-product-c2-jdk_security3, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_security3, 		\
+    windows_i586_5.1-product-c1-jdk_security3, 			\
     windows_x64_5.2-product-c2-jdk_security3, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_swing, 			\
@@ -320,7 +310,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_swing, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_swing, 			\
     linux_x64_2.6-product-c2-jdk_swing, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_swing, 		\
+    windows_i586_5.1-product-c1-jdk_swing, 			\
     windows_x64_5.2-product-c2-jdk_swing, 			\
     								\
     solaris_sparc_5.10-product-c1-jdk_tools2, 			\
@@ -329,7 +319,7 @@ jprt.make.rule.all.test.targets=    				\
     solaris_x64_5.10-product-c2-jdk_tools2, 			\
     linux_i586_2.6-product-{c1|c2}-jdk_tools2, 			\
     linux_x64_2.6-product-c2-jdk_tools2, 			\
-    ${jprt.my.windows.i586}-product-c1-jdk_tools2, 		\
+    windows_i586_5.1-product-c1-jdk_tools2, 			\
     windows_x64_5.2-product-c2-jdk_tools2
 
 # JCK test targets in test/Makefile (no fastdebug & limited c2, windows broken)
diff --git a/make/sanity-rules.gmk b/make/sanity-rules.gmk
index 58345ad..fece2a9 100644
--- a/make/sanity-rules.gmk
+++ b/make/sanity-rules.gmk
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -56,7 +56,7 @@ endif
 
 sanity:: post-sanity
 
-source-sanity : pre-sanity alt_bootdir bootdir post-sanity
+source-sanity : pre-sanity post-sanity
 
 $(ERROR_FILE) $(WARNING_FILE) $(MESSAGE_FILE):
 	@$(prep-target)
@@ -224,45 +224,6 @@ ifdef DEV_ONLY
 endif
 
 ######################################################
-# if specified, ALT_BOOTDIR must point to non-relative path if set
-######################################################
-alt_bootdir:
-ifdef ALT_BOOTDIR
-	@if [ `$(ECHO) $(subst \,/,$(ALT_BOOTDIR)) | $(EGREP) -c '^([A-Za-z]:)?/'` -ne 1 ]; then \
-	  $(ECHO) "ERROR: ALT_BOOTDIR must be an Absolute Path Name, \n" \
-	    "      not a Relative Path Name. \n" \
-	    "      The current value of ALT_BOOTDIR is \n" \
-	    "          $(ALT_BOOTDIR) \n" \
-	    "      Please fix this and continue your build. \n" \
-	    "" >> $(ERROR_FILE) ; \
-	fi
-endif
-
-######################################################
-# BOOTDIR must point to a valid JDK.
-######################################################
-JAVA_VERSION := $(shell $(BOOTDIR)/bin/java$(EXE_SUFFIX) -version 2>&1  | $(NAWK) -F'"' '{ print $$2 }')
-JAVA_VERSION_OK := $(shell $(ECHO) $(JAVA_VERSION) | $(EGREP) -c '^1.[5-6].[0-9]')
-bootdir:
-	@if [ -x $(BOOTDIR)/bin/java$(EXE_SUFFIX) ]; then \
-	  if [ $(JAVA_VERSION_OK) -ne 1 ]; then \
-	    $(ECHO) "ERROR: Your BOOTDIR environment variable does not point \n" \
-	      "      to a valid JDK for bootstrapping this build. \n" \
-	      "      A JDK $(JDK_MKTG_VERSION) source generation process must be \n" \
-	      "      bootstrapped using JDK $(PREVIOUS_JDK_VERSION) fcs (or later). \n" \
-	      "      Apparently, your bootstrap JDK is version $(JAVA_VERSION) \n" \
-	      "      Please update your ALT_BOOTDIR setting and start your build again. \n" \
-	      "" >> $(ERROR_FILE) ; \
-	  fi \
-	else \
-	  $(ECHO) "ERROR: BOOTDIR does not point to a valid Java 2 SDK \n" \
-	    "      Check that you have access to \n" \
-	    "          $(BOOTDIR)/bin/java$(EXE_SUFFIX) \n" \
-	    "      and/or check your value of ALT_BOOTDIR. \n" \
-	    "" >> $(ERROR_FILE) ; \
-	fi
-
-######################################################
 # dump out the variable settings...
 ######################################################
 ifneq ($(PLATFORM), windows)
@@ -350,4 +311,4 @@ endif
 .PHONY: sanity settings pre-sanity insane \
 	post-sanity post-sanity-hotspot post-sanity-jdk \
 	post-sanity-install post-sanity-deploy \
-	alt_bootdir bootdir environment
+	environment


hooks/post-receive
-- 
jigsaw packaging



More information about the pkg-java-commits mailing list