OpenJDK / jdk / hs
changeset 45214:7a14f03b6880
Merge
author | duke |
---|---|
date | Wed, 05 Jul 2017 23:30:17 +0200 |
parents | 749d3b614824 ce1f88536190 |
children | 8bbaa704983d |
files | hotspot/make/templates/gpl-cp-header hotspot/make/templates/gpl-header jdk/src/java.base/share/classes/sun/security/ssl/RecordType.java jdk/src/java.base/share/specs/serialization/changelog.md jdk/src/java.base/share/specs/serialization/images/class.gif jdk/test/java/nio/channels/DatagramChannel/NetworkConfiguration.java jdk/test/lib/testlibrary/ModuleInfoMaker.java jdk/test/lib/testlibrary/jdk/testlibrary/FilterClassLoader.java jdk/test/lib/testlibrary/jdk/testlibrary/IOUtils.java jdk/test/lib/testlibrary/jdk/testlibrary/LockFreeLogManager.java jdk/test/lib/testlibrary/jdk/testlibrary/NetworkConfiguration.java jdk/test/lib/testlibrary/jdk/testlibrary/ParentLastURLClassLoader.java jdk/test/lib/testlibrary/jdk/testlibrary/SerializationUtils.java jdk/test/lib/testlibrary/jdk/testlibrary/management/InputArguments.java jdk/test/lib/testlibrary/jdk/testlibrary/management/ThreadMXBeanTool.java make/Javadoc.gmk test/lib/jdk/test/lib/DynamicVMOption.java test/lib/jdk/test/lib/InMemoryJavaCompiler.java |
diffstat | 329 files changed, 5563 insertions(+), 4249 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags-top-repo Tue May 23 22:38:56 2017 +0000 +++ b/.hgtags-top-repo Wed Jul 05 23:30:17 2017 +0200 @@ -419,4 +419,7 @@ 111e2e7d00f45c983cdbc9c59ae40552152fcc23 jdk-10+5 03fe61bb7670644cf6e46b5cfafb6b27c0e0157e jdk-10+6 b25838a28195f4b6dab34668411eedd2d366a16c jdk-9+169 +4d163ec59d989a9261ed7f848bc6303f90869af5 jdk-9+170 +aa3c97810d7c484c93a2fd75d3c76ff574deb6d8 jdk-10+7 +df33ef1dc163f994177fd97d4d0e73a1e3cb5d85 jdk-10+8
--- a/common/autoconf/generated-configure.sh Tue May 23 22:38:56 2017 +0000 +++ b/common/autoconf/generated-configure.sh Wed Jul 05 23:30:17 2017 +0200 @@ -5186,7 +5186,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1494615666 +DATE_WHEN_GENERATED=1494858828 ############################################################################### # @@ -48811,173 +48811,63 @@ # Check whether --with-jtreg was given. if test "${with_jtreg+set}" = set; then : withval=$with_jtreg; -else - with_jtreg=no fi if test "x$with_jtreg" = xno; then # jtreg disabled - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jtreg" >&5 -$as_echo_n "checking for jtreg... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - else - if test "x$with_jtreg" != xyes; then - # with path specified. - JT_HOME="$with_jtreg" - fi - + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jtreg test harness" >&5 +$as_echo_n "checking for jtreg test harness... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabled" >&5 +$as_echo "no, disabled" >&6; } + elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then + # An explicit path is specified, use it. + JT_HOME="$with_jtreg" + if test ! -d "$JT_HOME"; then + as_fn_error $? "jtreg home directory from --with-jtreg=$with_jtreg does not exist" "$LINENO" 5 + fi + + if test ! -e "$JT_HOME/lib/jtreg.jar"; then + as_fn_error $? "jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home" "$LINENO" 5 + fi + + JTREGEXE="$JT_HOME/bin/jtreg" + if test ! -x "$JTREGEXE"; then + as_fn_error $? "jtreg home directory from --with-jtreg=$with_jtreg does not contain valid jtreg executable" "$LINENO" 5 + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jtreg test harness" >&5 +$as_echo_n "checking for jtreg test harness... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JT_HOME" >&5 +$as_echo "$JT_HOME" >&6; } + else + # Try to locate jtreg if test "x$JT_HOME" != x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jtreg" >&5 -$as_echo_n "checking for jtreg... " >&6; } - - # use JT_HOME enviroment var. - - # Only process if variable expands to non-empty - - if test "x$JT_HOME" != x; then - if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then - - # Input might be given as Windows format, start by converting to - # unix format. - path="$JT_HOME" - new_path=`$CYGPATH -u "$path"` - - # Cygwin tries to hide some aspects of the Windows file system, such that binaries are - # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered - # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then - # "foo.exe" is OK but "foo" is an error. - # - # This test is therefore slightly more accurate than "test -f" to check for file precense. - # It is also a way to make sure we got the proper file name for the real test later on. - test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` - if test "x$test_shortpath" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JT_HOME, which resolves as \"$path\", is invalid." >&5 -$as_echo "$as_me: The path of JT_HOME, which resolves as \"$path\", is invalid." >&6;} - as_fn_error $? "Cannot locate the the path of JT_HOME" "$LINENO" 5 - fi - - # Call helper function which possibly converts this using DOS-style short mode. - # If so, the updated path is stored in $new_path. - - input_path="$new_path" - # Check if we need to convert this using DOS-style short mode. If the path - # contains just simple characters, use it. Otherwise (spaces, weird characters), - # take no chances and rewrite it. - # Note: m4 eats our [], so we need to use [ and ] instead. - has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` - if test "x$has_forbidden_chars" != x; then - # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) - shortmode_path=`$CYGPATH -s -m -a "$input_path"` - path_after_shortmode=`$CYGPATH -u "$shortmode_path"` - if test "x$path_after_shortmode" != "x$input_to_shortpath"; then - # Going to short mode and back again did indeed matter. Since short mode is - # case insensitive, let's make it lowercase to improve readability. - shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Now convert it back to Unix-style (cygpath) - input_path=`$CYGPATH -u "$shortmode_path"` - new_path="$input_path" - fi - fi - - test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` - if test "x$test_cygdrive_prefix" = x; then - # As a simple fix, exclude /usr/bin since it's not a real path. - if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then - # The path is in a Cygwin special directory (e.g. /home). We need this converted to - # a path prefixed by /cygdrive for fixpath to work. - new_path="$CYGWIN_ROOT_PATH$input_path" - fi - fi - - - if test "x$path" != "x$new_path"; then - JT_HOME="$new_path" - { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting JT_HOME to \"$new_path\"" >&5 -$as_echo "$as_me: Rewriting JT_HOME to \"$new_path\"" >&6;} - fi - - elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then - - path="$JT_HOME" - has_colon=`$ECHO $path | $GREP ^.:` - new_path="$path" - if test "x$has_colon" = x; then - # Not in mixed or Windows style, start by that. - new_path=`cmd //c echo $path` - fi - - - input_path="$new_path" - # Check if we need to convert this using DOS-style short mode. If the path - # contains just simple characters, use it. Otherwise (spaces, weird characters), - # take no chances and rewrite it. - # Note: m4 eats our [], so we need to use [ and ] instead. - has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` - if test "x$has_forbidden_chars" != x; then - # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) - new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - fi - - - windows_path="$new_path" - if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then - unix_path=`$CYGPATH -u "$windows_path"` - new_path="$unix_path" - elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then - unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` - new_path="$unix_path" - fi - - if test "x$path" != "x$new_path"; then - JT_HOME="$new_path" - { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting JT_HOME to \"$new_path\"" >&5 -$as_echo "$as_me: Rewriting JT_HOME to \"$new_path\"" >&6;} - fi - - # Save the first 10 bytes of this path to the storage, so fixpath can work. - all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") - - else - # We're on a unix platform. Hooray! :) - path="$JT_HOME" - has_space=`$ECHO "$path" | $GREP " "` - if test "x$has_space" != x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JT_HOME, which resolves as \"$path\", is invalid." >&5 -$as_echo "$as_me: The path of JT_HOME, which resolves as \"$path\", is invalid." >&6;} - as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 - fi - - # Use eval to expand a potential ~ - eval path="$path" - if test ! -f "$path" && test ! -d "$path"; then - as_fn_error $? "The path of JT_HOME, which resolves as \"$path\", is not found." "$LINENO" 5 - fi - - if test -d "$path"; then - JT_HOME="`cd "$path"; $THEPWDCMD -L`" - else - dir="`$DIRNAME "$path"`" - base="`$BASENAME "$path"`" - JT_HOME="`cd "$dir"; $THEPWDCMD -L`/$base" - fi - fi - fi - - - # jtreg win32 script works for everybody - JTREGEXE="$JT_HOME/bin/jtreg" - - if test ! -f "$JTREGEXE"; then - as_fn_error $? "JTReg executable does not exist: $JTREGEXE" "$LINENO" 5 - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JTREGEXE" >&5 -$as_echo "$JTREGEXE" >&6; } - else - # try to find jtreg on path - + # JT_HOME set in environment, use it + if test ! -d "$JT_HOME"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring JT_HOME pointing to invalid directory: $JT_HOME" >&5 +$as_echo "$as_me: WARNING: Ignoring JT_HOME pointing to invalid directory: $JT_HOME" >&2;} + JT_HOME= + else + if test ! -e "$JT_HOME/lib/jtreg.jar"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME" >&5 +$as_echo "$as_me: WARNING: Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME" >&2;} + JT_HOME= + elif test ! -x "$JT_HOME/bin/jtreg"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring JT_HOME which does not contain valid jtreg executable: $JT_HOME" >&5 +$as_echo "$as_me: WARNING: Ignoring JT_HOME which does not contain valid jtreg executable: $JT_HOME" >&2;} + JT_HOME= + else + JTREGEXE="$JT_HOME/bin/jtreg" + { $as_echo "$as_me:${as_lineno-$LINENO}: Located jtreg using JT_HOME from environment" >&5 +$as_echo "$as_me: Located jtreg using JT_HOME from environment" >&6;} + fi + fi + fi + + if test "x$JT_HOME" = x; then + # JT_HOME is not set in environment, or was deemed invalid. + # Try to find jtreg on path # Publish this variable in the help. @@ -49175,13 +49065,451 @@ fi - - if test "x$JTREGEXE" = x; then - as_fn_error $? "Could not find required tool for JTREGEXE" "$LINENO" 5 - fi - - - JT_HOME="`$DIRNAME $JTREGEXE`" + if test "x$JTREGEXE" != x; then + # That's good, now try to derive JT_HOME + JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)` + if test ! -e "$JT_HOME/lib/jtreg.jar"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring jtreg from path since a valid jtreg home cannot be found" >&5 +$as_echo "$as_me: WARNING: Ignoring jtreg from path since a valid jtreg home cannot be found" >&2;} + JT_HOME= + JTREGEXE= + else + { $as_echo "$as_me:${as_lineno-$LINENO}: Located jtreg using jtreg executable in path" >&5 +$as_echo "$as_me: Located jtreg using jtreg executable in path" >&6;} + fi + fi + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jtreg test harness" >&5 +$as_echo_n "checking for jtreg test harness... " >&6; } + if test "x$JT_HOME" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $JT_HOME" >&5 +$as_echo "$JT_HOME" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, not found" >&5 +$as_echo "no, not found" >&6; } + + if test "x$with_jtreg" = xyes; then + as_fn_error $? "--with-jtreg was specified, but no jtreg found." "$LINENO" 5 + fi + fi + fi + + + # Only process if variable expands to non-empty + + if test "x$JTREGEXE" != x; then + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + + # First separate the path from the arguments. This will split at the first + # space. + complete="$JTREGEXE" + path="${complete%% *}" + tmp="$complete EOL" + arguments="${tmp#* }" + + # Input might be given as Windows format, start by converting to + # unix format. + new_path=`$CYGPATH -u "$path"` + + # Now try to locate executable using which + new_path=`$WHICH "$new_path" 2> /dev/null` + # bat and cmd files are not always considered executable in cygwin causing which + # to not find them + if test "x$new_path" = x \ + && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \ + && test "x`$LS \"$path\" 2>/dev/null`" != x; then + new_path=`$CYGPATH -u "$path"` + fi + if test "x$new_path" = x; then + # Oops. Which didn't find the executable. + # The splitting of arguments from the executable at a space might have been incorrect, + # since paths with space are more likely in Windows. Give it another try with the whole + # argument. + path="$complete" + arguments="EOL" + new_path=`$CYGPATH -u "$path"` + new_path=`$WHICH "$new_path" 2> /dev/null` + # bat and cmd files are not always considered executable in cygwin causing which + # to not find them + if test "x$new_path" = x \ + && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \ + && test "x`$LS \"$path\" 2>/dev/null`" != x; then + new_path=`$CYGPATH -u "$path"` + fi + if test "x$new_path" = x; then + # It's still not found. Now this is an unrecoverable error. + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JTREGEXE, which resolves as \"$complete\", is not found." >&5 +$as_echo "$as_me: The path of JTREGEXE, which resolves as \"$complete\", is not found." >&6;} + has_space=`$ECHO "$complete" | $GREP " "` + if test "x$has_space" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5 +$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;} + fi + as_fn_error $? "Cannot locate the the path of JTREGEXE" "$LINENO" 5 + fi + fi + + # Cygwin tries to hide some aspects of the Windows file system, such that binaries are + # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered + # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then + # "foo.exe" is OK but "foo" is an error. + # + # This test is therefore slightly more accurate than "test -f" to check for file presence. + # It is also a way to make sure we got the proper file name for the real test later on. + test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` + if test "x$test_shortpath" = x; then + # Short path failed, file does not exist as specified. + # Try adding .exe or .cmd + if test -f "${new_path}.exe"; then + input_to_shortpath="${new_path}.exe" + elif test -f "${new_path}.cmd"; then + input_to_shortpath="${new_path}.cmd" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JTREGEXE, which resolves as \"$new_path\", is invalid." >&5 +$as_echo "$as_me: The path of JTREGEXE, which resolves as \"$new_path\", is invalid." >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&5 +$as_echo "$as_me: Neither \"$new_path\" nor \"$new_path.exe/cmd\" can be found" >&6;} + as_fn_error $? "Cannot locate the the path of JTREGEXE" "$LINENO" 5 + fi + else + input_to_shortpath="$new_path" + fi + + # Call helper function which possibly converts this using DOS-style short mode. + # If so, the updated path is stored in $new_path. + new_path="$input_to_shortpath" + + input_path="$input_to_shortpath" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + shortmode_path=`$CYGPATH -s -m -a "$input_path"` + path_after_shortmode=`$CYGPATH -u "$shortmode_path"` + if test "x$path_after_shortmode" != "x$input_to_shortpath"; then + # Going to short mode and back again did indeed matter. Since short mode is + # case insensitive, let's make it lowercase to improve readability. + shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Now convert it back to Unix-style (cygpath) + input_path=`$CYGPATH -u "$shortmode_path"` + new_path="$input_path" + fi + fi + + test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` + if test "x$test_cygdrive_prefix" = x; then + # As a simple fix, exclude /usr/bin since it's not a real path. + if test "x`$ECHO $input_to_shortpath | $GREP ^/usr/bin/`" = x; then + # The path is in a Cygwin special directory (e.g. /home). We need this converted to + # a path prefixed by /cygdrive for fixpath to work. + new_path="$CYGWIN_ROOT_PATH$input_path" + fi + fi + + # remove trailing .exe if any + new_path="${new_path/%.exe/}" + + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + + # First separate the path from the arguments. This will split at the first + # space. + complete="$JTREGEXE" + path="${complete%% *}" + tmp="$complete EOL" + arguments="${tmp#* }" + + # Input might be given as Windows format, start by converting to + # unix format. + new_path="$path" + + windows_path="$new_path" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + unix_path=`$CYGPATH -u "$windows_path"` + new_path="$unix_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` + new_path="$unix_path" + fi + + + # Now try to locate executable using which + new_path=`$WHICH "$new_path" 2> /dev/null` + + if test "x$new_path" = x; then + # Oops. Which didn't find the executable. + # The splitting of arguments from the executable at a space might have been incorrect, + # since paths with space are more likely in Windows. Give it another try with the whole + # argument. + path="$complete" + arguments="EOL" + new_path="$path" + + windows_path="$new_path" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + unix_path=`$CYGPATH -u "$windows_path"` + new_path="$unix_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` + new_path="$unix_path" + fi + + + new_path=`$WHICH "$new_path" 2> /dev/null` + # bat and cmd files are not always considered executable in MSYS causing which + # to not find them + if test "x$new_path" = x \ + && test "x`$ECHO \"$path\" | $GREP -i -e \"\\.bat$\" -e \"\\.cmd$\"`" != x \ + && test "x`$LS \"$path\" 2>/dev/null`" != x; then + new_path="$path" + + windows_path="$new_path" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + unix_path=`$CYGPATH -u "$windows_path"` + new_path="$unix_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` + new_path="$unix_path" + fi + + fi + + if test "x$new_path" = x; then + # It's still not found. Now this is an unrecoverable error. + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JTREGEXE, which resolves as \"$complete\", is not found." >&5 +$as_echo "$as_me: The path of JTREGEXE, which resolves as \"$complete\", is not found." >&6;} + has_space=`$ECHO "$complete" | $GREP " "` + if test "x$has_space" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: You might be mixing spaces in the path and extra arguments, which is not allowed." >&5 +$as_echo "$as_me: You might be mixing spaces in the path and extra arguments, which is not allowed." >&6;} + fi + as_fn_error $? "Cannot locate the the path of JTREGEXE" "$LINENO" 5 + fi + fi + + # Now new_path has a complete unix path to the binary + if test "x`$ECHO $new_path | $GREP ^/bin/`" != x; then + # Keep paths in /bin as-is, but remove trailing .exe if any + new_path="${new_path/%.exe/}" + # Do not save /bin paths to all_fixpath_prefixes! + else + # Not in mixed or Windows style, start by that. + new_path=`cmd //c echo $new_path` + + input_path="$new_path" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + fi + + # Output is in $new_path + + windows_path="$new_path" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + unix_path=`$CYGPATH -u "$windows_path"` + new_path="$unix_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` + new_path="$unix_path" + fi + + # remove trailing .exe if any + new_path="${new_path/%.exe/}" + + # Save the first 10 bytes of this path to the storage, so fixpath can work. + all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") + fi + + else + # We're on a unix platform. Hooray! :) + # First separate the path from the arguments. This will split at the first + # space. + complete="$JTREGEXE" + path="${complete%% *}" + tmp="$complete EOL" + arguments="${tmp#* }" + + # Cannot rely on the command "which" here since it doesn't always work. + is_absolute_path=`$ECHO "$path" | $GREP ^/` + if test -z "$is_absolute_path"; then + # Path to executable is not absolute. Find it. + IFS_save="$IFS" + IFS=: + for p in $PATH; do + if test -f "$p/$path" && test -x "$p/$path"; then + new_path="$p/$path" + break + fi + done + IFS="$IFS_save" + else + # This is an absolute path, we can use it without further modifications. + new_path="$path" + fi + + if test "x$new_path" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JTREGEXE, which resolves as \"$complete\", is not found." >&5 +$as_echo "$as_me: The path of JTREGEXE, which resolves as \"$complete\", is not found." >&6;} + has_space=`$ECHO "$complete" | $GREP " "` + if test "x$has_space" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: This might be caused by spaces in the path, which is not allowed." >&5 +$as_echo "$as_me: This might be caused by spaces in the path, which is not allowed." >&6;} + fi + as_fn_error $? "Cannot locate the the path of JTREGEXE" "$LINENO" 5 + fi + fi + + # Now join together the path and the arguments once again + if test "x$arguments" != xEOL; then + new_complete="$new_path ${arguments% *}" + else + new_complete="$new_path" + fi + + if test "x$complete" != "x$new_complete"; then + JTREGEXE="$new_complete" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting JTREGEXE to \"$new_complete\"" >&5 +$as_echo "$as_me: Rewriting JTREGEXE to \"$new_complete\"" >&6;} + fi + fi + + + # Only process if variable expands to non-empty + + if test "x$JT_HOME" != x; then + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + + # Input might be given as Windows format, start by converting to + # unix format. + path="$JT_HOME" + new_path=`$CYGPATH -u "$path"` + + # Cygwin tries to hide some aspects of the Windows file system, such that binaries are + # named .exe but called without that suffix. Therefore, "foo" and "foo.exe" are considered + # the same file, most of the time (as in "test -f"). But not when running cygpath -s, then + # "foo.exe" is OK but "foo" is an error. + # + # This test is therefore slightly more accurate than "test -f" to check for file precense. + # It is also a way to make sure we got the proper file name for the real test later on. + test_shortpath=`$CYGPATH -s -m "$new_path" 2> /dev/null` + if test "x$test_shortpath" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JT_HOME, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of JT_HOME, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Cannot locate the the path of JT_HOME" "$LINENO" 5 + fi + + # Call helper function which possibly converts this using DOS-style short mode. + # If so, the updated path is stored in $new_path. + + input_path="$new_path" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-._/a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + shortmode_path=`$CYGPATH -s -m -a "$input_path"` + path_after_shortmode=`$CYGPATH -u "$shortmode_path"` + if test "x$path_after_shortmode" != "x$input_to_shortpath"; then + # Going to short mode and back again did indeed matter. Since short mode is + # case insensitive, let's make it lowercase to improve readability. + shortmode_path=`$ECHO "$shortmode_path" | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Now convert it back to Unix-style (cygpath) + input_path=`$CYGPATH -u "$shortmode_path"` + new_path="$input_path" + fi + fi + + test_cygdrive_prefix=`$ECHO $input_path | $GREP ^/cygdrive/` + if test "x$test_cygdrive_prefix" = x; then + # As a simple fix, exclude /usr/bin since it's not a real path. + if test "x`$ECHO $new_path | $GREP ^/usr/bin/`" = x; then + # The path is in a Cygwin special directory (e.g. /home). We need this converted to + # a path prefixed by /cygdrive for fixpath to work. + new_path="$CYGWIN_ROOT_PATH$input_path" + fi + fi + + + if test "x$path" != "x$new_path"; then + JT_HOME="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting JT_HOME to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting JT_HOME to \"$new_path\"" >&6;} + fi + + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + + path="$JT_HOME" + has_colon=`$ECHO $path | $GREP ^.:` + new_path="$path" + if test "x$has_colon" = x; then + # Not in mixed or Windows style, start by that. + new_path=`cmd //c echo $path` + fi + + + input_path="$new_path" + # Check if we need to convert this using DOS-style short mode. If the path + # contains just simple characters, use it. Otherwise (spaces, weird characters), + # take no chances and rewrite it. + # Note: m4 eats our [], so we need to use [ and ] instead. + has_forbidden_chars=`$ECHO "$input_path" | $GREP [^-_/:a-zA-Z0-9]` + if test "x$has_forbidden_chars" != x; then + # Now convert it to mixed DOS-style, short mode (no spaces, and / instead of \) + new_path=`cmd /c "for %A in (\"$input_path\") do @echo %~sA"|$TR \\\\\\\\ / | $TR 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + fi + + + windows_path="$new_path" + if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then + unix_path=`$CYGPATH -u "$windows_path"` + new_path="$unix_path" + elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then + unix_path=`$ECHO "$windows_path" | $SED -e 's,^\\(.\\):,/\\1,g' -e 's,\\\\,/,g'` + new_path="$unix_path" + fi + + if test "x$path" != "x$new_path"; then + JT_HOME="$new_path" + { $as_echo "$as_me:${as_lineno-$LINENO}: Rewriting JT_HOME to \"$new_path\"" >&5 +$as_echo "$as_me: Rewriting JT_HOME to \"$new_path\"" >&6;} + fi + + # Save the first 10 bytes of this path to the storage, so fixpath can work. + all_fixpath_prefixes=("${all_fixpath_prefixes[@]}" "${new_path:0:10}") + + else + # We're on a unix platform. Hooray! :) + path="$JT_HOME" + has_space=`$ECHO "$path" | $GREP " "` + if test "x$has_space" != x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: The path of JT_HOME, which resolves as \"$path\", is invalid." >&5 +$as_echo "$as_me: The path of JT_HOME, which resolves as \"$path\", is invalid." >&6;} + as_fn_error $? "Spaces are not allowed in this path." "$LINENO" 5 + fi + + # Use eval to expand a potential ~ + eval path="$path" + if test ! -f "$path" && test ! -d "$path"; then + as_fn_error $? "The path of JT_HOME, which resolves as \"$path\", is not found." "$LINENO" 5 + fi + + if test -d "$path"; then + JT_HOME="`cd "$path"; $THEPWDCMD -L`" + else + dir="`$DIRNAME "$path"`" + base="`$BASENAME "$path"`" + JT_HOME="`cd "$dir"; $THEPWDCMD -L`/$base" + fi fi fi
--- a/common/autoconf/spec.gmk.in Tue May 23 22:38:56 2017 +0000 +++ b/common/autoconf/spec.gmk.in Wed Jul 05 23:30:17 2017 +0200 @@ -271,9 +271,6 @@ TESTMAKE_OUTPUTDIR=$(BUILD_OUTPUT)/test-make MAKESUPPORT_OUTPUTDIR=$(BUILD_OUTPUT)/make-support -# By default, output javadoc directly into image -JAVADOC_OUTPUTDIR = $(DOCS_IMAGE_DIR) - # This does not get overridden in a bootcycle build CONFIGURESUPPORT_OUTPUTDIR:=@CONFIGURESUPPORT_OUTPUTDIR@ BUILDJDK_OUTPUTDIR=$(BUILD_OUTPUT)/buildjdk @@ -819,6 +816,8 @@ # Docs image DOCS_IMAGE_SUBDIR := docs DOCS_IMAGE_DIR = $(IMAGES_OUTPUTDIR)/$(DOCS_IMAGE_SUBDIR) +# Output docs directly into image +DOCS_OUTPUTDIR := $(DOCS_IMAGE_DIR) # Macosx bundles directory definitions JDK_MACOSX_BUNDLE_SUBDIR=jdk-bundle
--- a/common/autoconf/toolchain.m4 Tue May 23 22:38:56 2017 +0000 +++ b/common/autoconf/toolchain.m4 Wed Jul 05 23:30:17 2017 +0200 @@ -926,41 +926,82 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_JTREG], [ AC_ARG_WITH(jtreg, [AS_HELP_STRING([--with-jtreg], - [Regression Test Harness @<:@probed@:>@])], - [], - [with_jtreg=no]) + [Regression Test Harness @<:@probed@:>@])]) if test "x$with_jtreg" = xno; then # jtreg disabled - AC_MSG_CHECKING([for jtreg]) - AC_MSG_RESULT(no) - else - if test "x$with_jtreg" != xyes; then - # with path specified. - JT_HOME="$with_jtreg" + AC_MSG_CHECKING([for jtreg test harness]) + AC_MSG_RESULT([no, disabled]) + elif test "x$with_jtreg" != xyes && test "x$with_jtreg" != x; then + # An explicit path is specified, use it. + JT_HOME="$with_jtreg" + if test ! -d "$JT_HOME"; then + AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not exist]) + fi + + if test ! -e "$JT_HOME/lib/jtreg.jar"; then + AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg is not a valid jtreg home]) + fi + + JTREGEXE="$JT_HOME/bin/jtreg" + if test ! -x "$JTREGEXE"; then + AC_MSG_ERROR([jtreg home directory from --with-jtreg=$with_jtreg does not contain valid jtreg executable]) fi + AC_MSG_CHECKING([for jtreg test harness]) + AC_MSG_RESULT([$JT_HOME]) + else + # Try to locate jtreg if test "x$JT_HOME" != x; then - AC_MSG_CHECKING([for jtreg]) - - # use JT_HOME enviroment var. - BASIC_FIXUP_PATH([JT_HOME]) - - # jtreg win32 script works for everybody - JTREGEXE="$JT_HOME/bin/jtreg" + # JT_HOME set in environment, use it + if test ! -d "$JT_HOME"; then + AC_MSG_WARN([Ignoring JT_HOME pointing to invalid directory: $JT_HOME]) + JT_HOME= + else + if test ! -e "$JT_HOME/lib/jtreg.jar"; then + AC_MSG_WARN([Ignoring JT_HOME which is not a valid jtreg home: $JT_HOME]) + JT_HOME= + elif test ! -x "$JT_HOME/bin/jtreg"; then + AC_MSG_WARN([Ignoring JT_HOME which does not contain valid jtreg executable: $JT_HOME]) + JT_HOME= + else + JTREGEXE="$JT_HOME/bin/jtreg" + AC_MSG_NOTICE([Located jtreg using JT_HOME from environment]) + fi + fi + fi - if test ! -f "$JTREGEXE"; then - AC_MSG_ERROR([JTReg executable does not exist: $JTREGEXE]) + if test "x$JT_HOME" = x; then + # JT_HOME is not set in environment, or was deemed invalid. + # Try to find jtreg on path + BASIC_PATH_PROGS(JTREGEXE, jtreg) + if test "x$JTREGEXE" != x; then + # That's good, now try to derive JT_HOME + JT_HOME=`(cd $($DIRNAME $JTREGEXE)/.. && pwd)` + if test ! -e "$JT_HOME/lib/jtreg.jar"; then + AC_MSG_WARN([Ignoring jtreg from path since a valid jtreg home cannot be found]) + JT_HOME= + JTREGEXE= + else + AC_MSG_NOTICE([Located jtreg using jtreg executable in path]) + fi fi + fi - AC_MSG_RESULT($JTREGEXE) + AC_MSG_CHECKING([for jtreg test harness]) + if test "x$JT_HOME" != x; then + AC_MSG_RESULT([$JT_HOME]) else - # try to find jtreg on path - BASIC_REQUIRE_PROGS(JTREGEXE, jtreg) - JT_HOME="`$DIRNAME $JTREGEXE`" + AC_MSG_RESULT([no, not found]) + + if test "x$with_jtreg" = xyes; then + AC_MSG_ERROR([--with-jtreg was specified, but no jtreg found.]) + fi fi fi + BASIC_FIXUP_EXECUTABLE(JTREGEXE) + BASIC_FIXUP_PATH(JT_HOME) AC_SUBST(JT_HOME) AC_SUBST(JTREGEXE) ])
--- a/common/bin/hgforest.sh Tue May 23 22:38:56 2017 +0000 +++ b/common/bin/hgforest.sh Wed Jul 05 23:30:17 2017 +0200 @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -183,7 +183,7 @@ subrepos="corba jaxp jaxws langtools jdk hotspot nashorn" jdk_subrepos_extra="closed jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed" -subrepos_extra="$jdk_subrepos_extra deploy install sponsors pubs" +subrepos_extra="$jdk_subrepos_extra deploy install sponsors" # Only look in specific locations for possible forests (avoids long searches) pull_default=""
--- a/common/conf/jib-profiles.js Tue May 23 22:38:56 2017 +0000 +++ b/common/conf/jib-profiles.js Wed Jul 05 23:30:17 2017 +0200 @@ -997,7 +997,8 @@ ext: "tar.gz", revision: "2.38.0-1+1.1", module: "graphviz-" + input.target_platform, - configure_args: "DOT=" + input.get("graphviz", "install_path") + "/dot" + configure_args: "DOT=" + input.get("graphviz", "install_path") + "/dot", + environment_path: input.get("graphviz", "install_path") }, pandoc: { @@ -1005,7 +1006,8 @@ ext: "tar.gz", revision: "1.17.2+1.0", module: "pandoc-" + input.target_platform, - configure_args: "PANDOC=" + input.get("pandoc", "install_path") + "/pandoc/pandoc" + configure_args: "PANDOC=" + input.get("pandoc", "install_path") + "/pandoc/pandoc", + environment_path: input.get("pandoc", "install_path") + "/pandoc" }, };
--- a/common/doc/building.html Tue May 23 22:38:56 2017 +0000 +++ b/common/doc/building.html Wed Jul 05 23:30:17 2017 +0200 @@ -6,6 +6,7 @@ <meta name="generator" content="pandoc" /> <title>OpenJDK Build README</title> <style type="text/css">code{white-space: pre;}</style> + <link rel="stylesheet" href=" ../../jdk/make/data/docs-resources/specs/resources/jdk-default.css" type="text/css" /> </head> <body> <div id="header">
--- a/common/doc/testing.html Tue May 23 22:38:56 2017 +0000 +++ b/common/doc/testing.html Wed Jul 05 23:30:17 2017 +0200 @@ -6,9 +6,8 @@ <meta name="generator" content="pandoc" /> <title>Testing OpenJDK</title> <style type="text/css">code{white-space: pre;}</style> - <link rel="stylesheet" href="http://openjdk.java.net/page.css" type="text/css" /> + <link rel="stylesheet" href=" ../../jdk/make/data/docs-resources/specs/resources/jdk-default.css" type="text/css" /> <style type="text/css">pre, code, tt { color: #1d6ae5; }</style> - <style type="text/css">pre { font-size: 10pt; }</style> </head> <body> <div id="header">
--- a/corba/.hgtags Tue May 23 22:38:56 2017 +0000 +++ b/corba/.hgtags Wed Jul 05 23:30:17 2017 +0200 @@ -419,3 +419,6 @@ 43de67f51801b9e16507865fcb7e8344f4ca4aa9 jdk-9+167 03a2cc9c8a1e8f87924c9863e917bc8b91770d5f jdk-9+168 b2218d41edef02ee8f94bb438f885b2ba79bfa08 jdk-9+169 +8a4ab3b0ab9a86df73d9a1e337134f2dbe006725 jdk-9+170 +aed5a4edc8275c1c50195503756ff92bfe0197f5 jdk-10+7 +648b0a00824eb29e71936bc3258d309a25e3b8c0 jdk-10+8
--- a/corba/src/java.corba/share/classes/com/sun/corba/se/spi/monitoring/package.html Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/com/sun/corba/se/spi/monitoring/package.html Wed Jul 05 23:30:17 2017 +0200 @@ -1,4 +1,4 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> @@ -6,7 +6,7 @@ <title>package</title> <!-- -Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. This code is free software; you can redistribute it and/or modify it
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/Any.java Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/Any.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * 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 @@ * </OL> * * <P> - * <a name="anyOps"></a> + * <a id="anyOps"></a> * A large part of the <code>Any</code> class consists of pairs of methods * for inserting values into and extracting values from an * <code>Any</code> object.
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved. * 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,13 +85,17 @@ * three {@code init} methods. Two of the three methods use the properties * (associations of a name with a value) shown in the * table below.<BR> - * <TABLE BORDER=1 SUMMARY="Standard Java CORBA Properties"> + * <TABLE class="plain"> + * <CAPTION>Standard Java CORBA Properties:</CAPTION> + * <thead> * <TR><TH>Property Name</TH> <TH>Property Value</TH></TR> - * <CAPTION>Standard Java CORBA Properties:</CAPTION> + * </thead> + * <tbody> * <TR><TD>org.omg.CORBA.ORBClass</TD> * <TD>class name of an ORB implementation</TD></TR> * <TR><TD>org.omg.CORBA.ORBSingletonClass</TD> * <TD>class name of the ORB returned by {@code init()}</TD></TR> + * </tbody> * </TABLE> * <P> * These properties allow a different vendor's {@code ORB}
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html Wed Jul 05 23:30:17 2017 +0200 @@ -1,4 +1,4 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html">
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html Wed Jul 05 23:30:17 2017 +0200 @@ -1,4 +1,4 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html">
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/package.html Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/package.html Wed Jul 05 23:30:17 2017 +0200 @@ -1,3 +1,4 @@ +<!doctype html> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> @@ -6,7 +7,7 @@ <TITLE>package</TITLE> <!-- /* -* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,9 +32,8 @@ */ --> </HEAD> -<BODY BGCOLOR="#FFFFFF"> -Provides the mapping of the OMG CORBA APIs to the Java<SUP><FONT -SIZE=-2>TM</FONT></SUP> +<BODY> +Provides the mapping of the OMG CORBA APIs to the Java™ programming language, including the class <code>ORB</code>, which is implemented so that a programmer can use it as a fully-functional Object Request Broker (ORB). @@ -427,7 +427,7 @@ in this case, <code>Account</code> objects. -<a name="narrow"></a> +<a id="narrow"></a> <h3>The <code>narrow</code> Method</h3> When an object is the return value for a method, it is returned in the form of a generic object, either an <code>org.omg.CORBA.Object</code> object @@ -465,7 +465,7 @@ helloImpl = HelloHelper.narrow(ncRef.resolve_str(name)); </PRE> -<a name="basic"></a> +<a id="basic"></a> <h3>Example of a Basic Helper Class</h3> A basic helper class, for purposes of this explanation, is one with the methods that are provided by every helper class, plus a <code>narrow</code> @@ -671,7 +671,7 @@ WStringSeqHelper WStringValueHelper </code></PRE> -<a name="adv"></a> +<a id="adv"></a> <H1> Other Classes</H1> The other classes and interfaces in the <code>CORBA</code> package, which are @@ -868,17 +868,17 @@ -<P><A NAME="unimpl"></A> +<P><A id="unimpl"></A> <H1> CORBA Features Not Implemented in Java IDL</H1> <P>Some of the API included in <code>org.omg</code> subpackages is provided for conformance with the current OMG CORBA specification but is not implemented -in Sun's release of the JDK<SUP><FONT SIZE=-2>TM</FONT></SUP>. This enables +in Sun's release of the JDK™. This enables other JDK licensees to provide implementations of this API in standard extensions and products. -<P><A NAME="NO_IMPLEMENT"></A> +<P><A id="NO_IMPLEMENT"></A> <h2>Features That Throw NO_IMPLEMENT</h2> <P>Some of the API included in <code>org.omg</code> subpackages throw
--- a/corba/src/java.corba/share/classes/org/omg/CORBA/portable/package.html Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/portable/package.html Wed Jul 05 23:30:17 2017 +0200 @@ -1,8 +1,8 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<!doctype html> <html> <head> <!-- -Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. This code is free software; you can redistribute it and/or modify it @@ -26,7 +26,7 @@ questions. --> </head> -<body bgcolor="white"> +<body> Provides a portability layer, that is, a set of ORB APIs that makes it possible for code generated @@ -38,7 +38,7 @@ <p> -<a name="unimpl"></a> +<a id="unimpl"></a> <hr> <h1>CORBA Features Throwing NO_IMPLEMENT() Exceptions</h1> <hr>
--- a/corba/src/java.corba/share/classes/org/omg/CORBA_2_3/package.html Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/CORBA_2_3/package.html Wed Jul 05 23:30:17 2017 +0200 @@ -1,4 +1,4 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> @@ -6,7 +6,7 @@ <title>package</title> <!-- /* -* Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. +* Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -31,7 +31,7 @@ */ --> </head> -<body bgcolor="#FFFFFF"> +<body> The CORBA_2_3 package defines additions to existing CORBA interfaces in the Java[tm] Standard Edition 6. These changes occurred in recent revisions to the CORBA API defined by the OMG. The new methods were @@ -46,7 +46,7 @@ HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA support in Java[tm] SE 6</A>. <P> -<a name="unimpl"></a> +<a id="unimpl"></a> The following methods in the abstract class <code>org.omg.CORBA_2_3.ORB</code> are unimplemented: <UL>
--- a/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/IOP.idl Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/IOP.idl Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -425,7 +425,7 @@ * encoded using GIOP 1.2 with a TCS-W of UTF-16. This service context * may be sent on Reply messages with a reply_status of SYSTEM_EXCEPTION * or USER_EXCEPTION. The usage of this service context is defined - * by language mappings. <br/> <br/> + * by language mappings. <br> <br> * * IDL/Java: ptc/02-01-22: 1.15.2: * When a System Exception is marshaled, its GIOP Reply message shall
--- a/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/Interceptors.idl Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/Interceptors.idl Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -580,7 +580,8 @@ * to access it will result in a <code>BAD_INV_ORDER</code> being thrown * with a standard minor code of 14. * - * <table border=1 summary="Shows the validity of each attribute or operation"> + * <table class="plain"> + * <caption style="display:none">Shows the validity of each attribute or operation</caption> * <thead> * <tr> * <th> </th> @@ -597,42 +598,42 @@ * <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td> * </tr> * - * <tr><th id="req_id"><p align="left">request_id</p></th> + * <tr><th id="req_id"><p style="text-align:left">request_id</p></th> * <td headers="ri req_id send_req">yes</td> * <td headers="ri req_id send_poll">yes</td> * <td headers="ri req_id rec_reply">yes</td> * <td headers="ri req_id rec_ex">yes</td> * <td headers="ri req_id rec_oth">yes</td></tr> * - * <tr><th id="op"><p align="left">operation</p></th> + * <tr><th id="op"><p style="text-align:left">operation</p></th> * <td headers="ri op send_req">yes</td> * <td headers="ri op send_poll">yes</td> * <td headers="ri op rec_reply">yes</td> * <td headers="ri op rec_ex">yes</td> * <td headers="ri op rec_oth">yes</td></tr> * - * <tr><th id="arg"><p align="left">arguments</p></th> + * <tr><th id="arg"><p style="text-align:left">arguments</p></th> * <td headers="ri arg send_req">yes<sub>1</sub></td> * <td headers="ri arg send_poll">no </td> * <td headers="ri arg rec_reply">yes</td> * <td headers="ri arg rec_ex">no </td> * <td headers="ri arg rec_oth">no </td></tr> * - * <tr><th id="exc"><p align="left">exceptions</p></th> + * <tr><th id="exc"><p style="text-align:left">exceptions</p></th> * <td headers="ri exc send_req">yes</td> * <td headers="ri exc send_poll">no </td> * <td headers="ri exc rec_reply">yes</td> * <td headers="ri exc rec_ex">yes</td> * <td headers="ri exc rec_oth">yes</td></tr> * - * <tr><th id="con"><p align="left">contexts</p></th> + * <tr><th id="con"><p style="text-align:left">contexts</p></th> * <td headers="ri con send_req">yes</td> * <td headers="ri con send_poll">no </td> * <td headers="ri con rec_reply">yes</td> * <td headers="ri con rec_ex">yes</td> * <td headers="ri con rec_oth">yes</td></tr> * - * <tr><th id="op_con"><p align="left">operation_context</p></th> + * <tr><th id="op_con"><p style="text-align:left">operation_context</p></th> * <td headers="ri op_con send_req">yes</td> * <td headers="ri op_con send_poll">no </td> * <td headers="ri op_con rec_reply">yes</td> @@ -640,7 +641,7 @@ * <td headers="ri op_con rec_oth">yes</td> * </tr> * - * <tr><th id="result"><p align="left">result</p></th> + * <tr><th id="result"><p style="text-align:left">result</p></th> * <td headers="ri result send_req">no </td> * <td headers="ri result send_poll">no </td> * <td headers="ri result rec_reply">yes</td> @@ -648,14 +649,14 @@ * <td headers="ri result rec_oth">no </td> * </tr> * - * <tr><th id="res_exp"><p align="left">response_expected</p></th> + * <tr><th id="res_exp"><p style="text-align:left">response_expected</p></th> * <td headers="ri res_exp send_req">yes</td> * <td headers="ri res_exp send_poll">yes</td> * <td headers="ri res_exp rec_reply">yes</td> * <td headers="ri res_exp rec_ex">yes</td> * <td headers="ri res_exp rec_oth">yes</td></tr> * - * <tr><th id="sync_sco"><p align="left">sync_scope</p></th> + * <tr><th id="sync_sco"><p style="text-align:left">sync_scope</p></th> * <td headers="ri sync_sco send_req">yes</td> * <td headers="ri sync_sco send_poll">no </td> * <td headers="ri sync_sco rec_reply">yes</td> @@ -663,14 +664,14 @@ * <td headers="ri sync_sco rec_oth">yes</td> * </tr> * - * <tr><th id="rep_stat"><p align="left">reply_status</p></th> + * <tr><th id="rep_stat"><p style="text-align:left">reply_status</p></th> * <td headers="ri rep_stat send_req">no </td> * <td headers="ri rep_stat send_poll">no </td> * <td headers="ri rep_stat rec_reply">yes</td> * <td headers="ri rep_stat rec_ex">yes</td> * <td headers="ri rep_stat rec_oth">yes</td></tr> * - * <tr><th id="for_ref"><p align="left">forward_reference</p></th> + * <tr><th id="for_ref"><p style="text-align:left">forward_reference</p></th> * <td headers="ri for_ref send_req">no </td> * <td headers="ri for_ref send_poll">no </td> * <td headers="ri for_ref rec_reply">no </td> @@ -678,21 +679,21 @@ * <td headers="ri for_ref rec_oth">yes<sub>2</sub> * </td></tr> * - * <tr><th id="get_slot"><p align="left">get_slot</p></th> + * <tr><th id="get_slot"><p style="text-align:left">get_slot</p></th> * <td headers="ri get_slot send_req">yes</td> * <td headers="ri get_slot send_poll">yes</td> * <td headers="ri get_slot rec_reply">yes</td> * <td headers="ri get_slot rec_ex">yes</td> * <td headers="ri get_slot rec_oth">yes</td></tr> * - * <tr><th id="grsc"><p align="left">get_request_service_context</p></th> + * <tr><th id="grsc"><p style="text-align:left">get_request_service_context</p></th> * <td headers="ri grsc send_req">yes</td> * <td headers="ri grsc send_poll">no </td> * <td headers="ri grsc rec_reply">yes</td> * <td headers="ri grsc rec_ex">yes</td> * <td headers="ri grsc rec_oth">yes</td></tr> * - * <tr><th id="gpsc"><p align="left">get_reply_service_context</p></th> + * <tr><th id="gpsc"><p style="text-align:left">get_reply_service_context</p></th> * <td headers="ri gpsc send_req">no </td> * <td headers="ri gpsc send_poll">no </td> * <td headers="ri gpsc rec_reply">yes</td> @@ -704,14 +705,14 @@ * <td id="cri" colspan=6><i>ClientRequestInfo-specific:</i></td> * </tr> * - * <tr><th id="target"><p align="left">target</p></th> + * <tr><th id="target"><p style="text-align:left">target</p></th> * <td headers="cri target send_req">yes</td> * <td headers="cri target send_poll">yes</td> * <td headers="cri target rec_reply">yes</td> * <td headers="cri target rec_ex">yes</td> * <td headers="cri target rec_oth">yes</td></tr> * - * <tr><th id="eftarget"><p align="left">effective_target</p></th> + * <tr><th id="eftarget"><p style="text-align:left">effective_target</p></th> * <td headers="cri eftarget send_req">yes</td> * <td headers="cri eftarget send_poll">yes</td> * <td headers="cri eftarget rec_reply">yes</td> @@ -719,49 +720,49 @@ * <td headers="cri eftarget rec_oth">yes</td> * </tr> * - * <tr><th id="efprof"><p align="left">effective_profile</p></th> + * <tr><th id="efprof"><p style="text-align:left">effective_profile</p></th> * <td headers="cri efprof send_req">yes</td> * <td headers="cri efprof send_poll">yes</td> * <td headers="cri efprof rec_reply">yes</td> * <td headers="cri efprof rec_ex">yes</td> * <td headers="cri efprof rec_oth">yes</td></tr> * - * <tr><th id="rxp"><p align="left">received_exception</p></th> + * <tr><th id="rxp"><p style="text-align:left">received_exception</p></th> * <td headers="cri rxp send_req">no </td> * <td headers="cri rxp send_poll">no </td> * <td headers="cri rxp rec_reply">no </td> * <td headers="cri rxp rec_ex">yes</td> * <td headers="cri rxp rec_oth">no </td></tr> * - * <tr><th id="rei"><p align="left">received_exception_id</p></th> + * <tr><th id="rei"><p style="text-align:left">received_exception_id</p></th> * <td headers="cri rei send_req">no </td> * <td headers="cri rei send_poll">no </td> * <td headers="cri rei rec_reply">no </td> * <td headers="cri rei rec_ex">yes</td> * <td headers="cri rei rec_oth">no </td></tr> * - * <tr><th id="gec"><p align="left">get_effective_component</p></th> + * <tr><th id="gec"><p style="text-align:left">get_effective_component</p></th> * <td headers="cri gec send_req">yes</td> * <td headers="cri gec send_poll">no </td> * <td headers="cri gec rec_reply">yes</td> * <td headers="cri gec rec_ex">yes</td> * <td headers="cri gec rec_oth">yes</td></tr> * - * <tr><th id="gecs"><p align="left">get_effective_components</p></th> + * <tr><th id="gecs"><p style="text-align:left">get_effective_components</p></th> * <td headers="cri gecs send_req">yes</td> * <td headers="cri gecs send_poll">no </td> * <td headers="cri gecs rec_reply">yes</td> * <td headers="cri gecs rec_ex">yes</td> * <td headers="cri gecs rec_oth">yes</td></tr> * - * <tr><th id="grpcy"><p align="left">get_request_policy</p></th> + * <tr><th id="grpcy"><p style="text-align:left">get_request_policy</p></th> * <td headers="cri grpcy send_req">yes</td> * <td headers="cri grpcy send_poll">no </td> * <td headers="cri grpcy rec_reply">yes</td> * <td headers="cri grpcy rec_ex">yes</td> * <td headers="cri grpcy rec_oth">yes</td></tr> * - * <tr><th id="arsc"><p align="left">add_request_service_context</p></th> + * <tr><th id="arsc"><p style="text-align:left">add_request_service_context</p></th> * <td headers="cri arsc send_req">yes</td> * <td headers="cri arsc send_poll">no </td> * <td headers="cri arsc rec_reply">no </td> @@ -935,7 +936,8 @@ * standard minor code of 14. * * - * <table border=1 summary="Shows the validity of each attribute or operation"> + * <table class="plain"> + * <caption style="display:none">Shows the validity of each attribute or operation</caption> * <thead> * <tr> * <th> </th> @@ -953,21 +955,21 @@ * <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td> * </tr> * - * <tr><th id="req_id"><p align="left">request_id</p></th> + * <tr><th id="req_id"><p style="text-align:left">request_id</p></th> * <td headers="ri req_id rec_req_ser_con">yes</td> * <td headers="ri req_id rec_req">yes</td> * <td headers="ri req_id send_rep">yes</td> * <td headers="ri req_id send_exc">yes</td> * <td headers="ri req_id send_oth">yes</td></tr> * - * <tr><th id="op"><p align="left">operation</p></th> + * <tr><th id="op"><p style="text-align:left">operation</p></th> * <td headers="ri op rec_req_ser_con">yes</td> * <td headers="ri op rec_req">yes</td> * <td headers="ri op send_rep">yes</td> * <td headers="ri op send_exc">yes</td> * <td headers="ri op send_oth">yes</td></tr> * - * <tr><th id="args"><p align="left">arguments</p></th> + * <tr><th id="args"><p style="text-align:left">arguments</p></th> * <td headers="ri args rec_req_ser_con">no </td> * <td headers="ri args rec_req">yes<sub>1</sub></td> * <td headers="ri args send_rep">yes</td> @@ -975,21 +977,21 @@ * <td headers="ri args send_oth">no<sub>2</sub> * </td></tr> * - * <tr><th id="exps"><p align="left">exceptions</p></th> + * <tr><th id="exps"><p style="text-align:left">exceptions</p></th> * <td headers="ri exps rec_req_ser_con">no </td> * <td headers="ri exps rec_req">yes</td> * <td headers="ri exps send_rep">yes</td> * <td headers="ri exps send_exc">yes</td> * <td headers="ri exps send_oth">yes</td></tr> * - * <tr><th id="contexts"><p align="left">contexts</p></th> + * <tr><th id="contexts"><p style="text-align:left">contexts</p></th> * <td headers="ri contexts rec_req_ser_con">no </td> * <td headers="ri contexts rec_req">yes</td> * <td headers="ri contexts send_rep">yes</td> * <td headers="ri contexts send_exc">yes</td> * <td headers="ri contexts send_oth">yes</td></tr> * - * <tr><th id="op_con"><p align="left">operation_context</p></th> + * <tr><th id="op_con"><p style="text-align:left">operation_context</p></th> * <td headers="ri op_con rec_req_ser_con">no </td> * <td headers="ri op_con rec_req">yes</td> * <td headers="ri op_con send_rep">yes</td> @@ -997,7 +999,7 @@ * <td headers="ri op_con send_oth">no </td> * </tr> * - * <tr><th id="result"><p align="left">result</p></th> + * <tr><th id="result"><p style="text-align:left">result</p></th> * <td headers="ri result rec_req_ser_con">no </td> * <td headers="ri result rec_req">no </td> * <td headers="ri result send_rep">yes</td> @@ -1005,14 +1007,14 @@ * <td headers="ri result send_oth">no </td> * </tr> * - * <tr><th id="res_ex"><p align="left">response_expected</p></th> + * <tr><th id="res_ex"><p style="text-align:left">response_expected</p></th> * <td headers="ri res_ex rec_req_ser_con">yes</td> * <td headers="ri res_ex rec_req">yes</td> * <td headers="ri res_ex send_rep">yes</td> * <td headers="ri res_ex send_exc">yes</td> * <td headers="ri res_ex send_oth">yes</td></tr> * - * <tr><th id="syn_scp"><p align="left">sync_scope</p></th> + * <tr><th id="syn_scp"><p style="text-align:left">sync_scope</p></th> * <td headers="ri syn_scp rec_req_ser_con">yes</td> * <td headers="ri syn_scp rec_req">yes</td> * <td headers="ri syn_scp send_rep">yes</td>
--- a/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/package.html Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/PortableInterceptor/package.html Wed Jul 05 23:30:17 2017 +0200 @@ -1,9 +1,9 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<!doctype html> <html> <head> <!-- -Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. This code is free software; you can redistribute it and/or modify it @@ -29,7 +29,7 @@ --> </head> -<body bgcolor="white"> +<body> Provides a mechanism to register ORB hooks through which ORB services can intercept the normal flow of execution of the ORB. @@ -52,7 +52,7 @@ {@link org.omg.PortableInterceptor.ORBInitializer ORBInitializer}</code> for how to go about registering interceptors. -<a name="unimpl"></a> +<a id="unimpl"></a> <h2>Known limitations / unimplemented methods in package <code>org.omg.PortableInterceptor</code></h2>
--- a/corba/src/java.corba/share/classes/org/omg/PortableServer/package.html Tue May 23 22:38:56 2017 +0000 +++ b/corba/src/java.corba/share/classes/org/omg/PortableServer/package.html Wed Jul 05 23:30:17 2017 +0200 @@ -1,9 +1,9 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<!doctype html> <html> <head> <!-- - Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. 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,7 @@ --> </head> -<body bgcolor="white"> +<body> Provides classes and interfaces for making the server side of your applications portable across multivendor ORBs. @@ -160,7 +160,7 @@ <A HREF="../../../../technotes/guides/idl/index.html">Java IDL home page</A>. <H2>Example Code</H2> -<a name="sampleserver"></a> +<a id="sampleserver"></a> <H3>Example Server Code</H3> <PRE> import javax.naming.InitialContext;
--- a/hotspot/.hgtags Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/.hgtags Wed Jul 05 23:30:17 2017 +0200 @@ -579,3 +579,6 @@ 1ca7ed1b17b5776930d641d1379834f3140a74e4 jdk-9+167 fbb9c802649585d19f6d7e81b4a519d44806225a jdk-9+168 16d692be099c5c38eb48cc9aca78b0c900910d5b jdk-9+169 +38a240fd58a287acb1963920b92ed4d9c2fd39e3 jdk-9+170 +9d4746eca95aec3e5a344bf2520745dcc1d17eed jdk-10+7 +f5ded0cf954c770deeecb80f2ba1ba6a05cd979b jdk-10+8
--- a/hotspot/make/templates/gpl-cp-header Tue May 23 22:38:56 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -Copyright (c) %YEARS%, Oracle and/or its affiliates. All rights reserved. -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.
--- a/hotspot/make/templates/gpl-header Tue May 23 22:38:56 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -Copyright (c) %YEARS%, Oracle and/or its affiliates. All rights reserved. -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.
--- a/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/src/cpu/aarch64/vm/c1_LIRGenerator_aarch64.cpp Wed Jul 05 23:30:17 2017 +0200 @@ -1347,6 +1347,16 @@ void LIRGenerator::volatile_field_load(LIR_Address* address, LIR_Opr result, CodeEmitInfo* info) { + // 8179954: We need to make sure that the code generated for + // volatile accesses forms a sequentially-consistent set of + // operations when combined with STLR and LDAR. Without a leading + // membar it's possible for a simple Dekker test to fail if loads + // use LD;DMB but stores use STLR. This can happen if C2 compiles + // the stores in one method and C1 compiles the loads in another. + if (! UseBarriersForVolatile) { + __ membar(); + } + __ volatile_load_mem_reg(address, result, info); }
--- a/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/src/cpu/aarch64/vm/templateTable_aarch64.cpp Wed Jul 05 23:30:17 2017 +0200 @@ -2389,17 +2389,31 @@ const Register obj = r4; const Register off = r19; const Register flags = r0; + const Register raw_flags = r6; const Register bc = r4; // uses same reg as obj, so don't mix them resolve_cache_and_index(byte_no, cache, index, sizeof(u2)); jvmti_post_field_access(cache, index, is_static, false); - load_field_cp_cache_entry(obj, cache, index, off, flags, is_static); + load_field_cp_cache_entry(obj, cache, index, off, raw_flags, is_static); if (!is_static) { // obj is on the stack pop_and_check_object(obj); } + // 8179954: We need to make sure that the code generated for + // volatile accesses forms a sequentially-consistent set of + // operations when combined with STLR and LDAR. Without a leading + // membar it's possible for a simple Dekker test to fail if loads + // use LDR;DMB but stores use STLR. This can happen if C2 compiles + // the stores in one method and we interpret the loads in another. + if (! UseBarriersForVolatile) { + Label notVolatile; + __ tbz(raw_flags, ConstantPoolCacheEntry::is_volatile_shift, notVolatile); + __ membar(MacroAssembler::AnyAny); + __ bind(notVolatile); + } + const Address field(obj, off); Label Done, notByte, notBool, notInt, notShort, notChar, @@ -2407,7 +2421,8 @@ // x86 uses a shift and mask or wings it with a shift plus assert // the mask is not needed. aarch64 just uses bitfield extract - __ ubfxw(flags, flags, ConstantPoolCacheEntry::tos_state_shift, ConstantPoolCacheEntry::tos_state_bits); + __ ubfxw(flags, raw_flags, ConstantPoolCacheEntry::tos_state_shift, + ConstantPoolCacheEntry::tos_state_bits); assert(btos == 0, "change code, btos != 0"); __ cbnz(flags, notByte); @@ -2529,9 +2544,11 @@ #endif __ bind(Done); - // It's really not worth bothering to check whether this field - // really is volatile in the slow case. + + Label notVolatile; + __ tbz(raw_flags, ConstantPoolCacheEntry::is_volatile_shift, notVolatile); __ membar(MacroAssembler::LoadLoad | MacroAssembler::LoadStore); + __ bind(notVolatile); } @@ -2979,6 +2996,19 @@ __ null_check(r0); const Address field(r0, r1); + // 8179954: We need to make sure that the code generated for + // volatile accesses forms a sequentially-consistent set of + // operations when combined with STLR and LDAR. Without a leading + // membar it's possible for a simple Dekker test to fail if loads + // use LDR;DMB but stores use STLR. This can happen if C2 compiles + // the stores in one method and we interpret the loads in another. + if (! UseBarriersForVolatile) { + Label notVolatile; + __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile); + __ membar(MacroAssembler::AnyAny); + __ bind(notVolatile); + } + // access field switch (bytecode()) { case Bytecodes::_fast_agetfield: @@ -3027,6 +3057,22 @@ __ get_cache_and_index_at_bcp(r2, r3, 2); __ ldr(r1, Address(r2, in_bytes(ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::f2_offset()))); + + // 8179954: We need to make sure that the code generated for + // volatile accesses forms a sequentially-consistent set of + // operations when combined with STLR and LDAR. Without a leading + // membar it's possible for a simple Dekker test to fail if loads + // use LDR;DMB but stores use STLR. This can happen if C2 compiles + // the stores in one method and we interpret the loads in another. + if (! UseBarriersForVolatile) { + Label notVolatile; + __ ldrw(r3, Address(r2, in_bytes(ConstantPoolCache::base_offset() + + ConstantPoolCacheEntry::flags_offset()))); + __ tbz(r3, ConstantPoolCacheEntry::is_volatile_shift, notVolatile); + __ membar(MacroAssembler::AnyAny); + __ bind(notVolatile); + } + // make sure exception is reported in correct bcp range (getfield is // next instruction) __ increment(rbcp);
--- a/hotspot/src/share/vm/classfile/stringTable.cpp Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/src/share/vm/classfile/stringTable.cpp Wed Jul 05 23:30:17 2017 +0200 @@ -314,7 +314,11 @@ } void StringTable::unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int* processed, int* removed) { - buckets_unlink_or_oops_do(is_alive, f, 0, the_table()->table_size(), processed, removed); + BucketUnlinkContext context; + buckets_unlink_or_oops_do(is_alive, f, 0, the_table()->table_size(), &context); + _the_table->bulk_free_entries(&context); + *processed = context._num_processed; + *removed = context._num_removed; } void StringTable::possibly_parallel_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int* processed, int* removed) { @@ -323,6 +327,7 @@ assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint"); const int limit = the_table()->table_size(); + BucketUnlinkContext context; for (;;) { // Grab next set of buckets to scan int start_idx = Atomic::add(ClaimChunkSize, &_parallel_claimed_idx) - ClaimChunkSize; @@ -332,8 +337,11 @@ } int end_idx = MIN2(limit, start_idx + ClaimChunkSize); - buckets_unlink_or_oops_do(is_alive, f, start_idx, end_idx, processed, removed); + buckets_unlink_or_oops_do(is_alive, f, start_idx, end_idx, &context); } + _the_table->bulk_free_entries(&context); + *processed = context._num_processed; + *removed = context._num_removed; } void StringTable::buckets_oops_do(OopClosure* f, int start_idx, int end_idx) { @@ -359,7 +367,7 @@ } } -void StringTable::buckets_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int start_idx, int end_idx, int* processed, int* removed) { +void StringTable::buckets_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int start_idx, int end_idx, BucketUnlinkContext* context) { const int limit = the_table()->table_size(); assert(0 <= start_idx && start_idx <= limit, @@ -383,10 +391,9 @@ p = entry->next_addr(); } else { *p = entry->next(); - the_table()->free_entry(entry); - (*removed)++; + context->free_entry(entry); } - (*processed)++; + context->_num_processed++; entry = *p; } }
--- a/hotspot/src/share/vm/classfile/stringTable.hpp Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/src/share/vm/classfile/stringTable.hpp Wed Jul 05 23:30:17 2017 +0200 @@ -61,9 +61,13 @@ // Apply the give oop closure to the entries to the buckets // in the range [start_idx, end_idx). static void buckets_oops_do(OopClosure* f, int start_idx, int end_idx); + + typedef StringTable::BucketUnlinkContext BucketUnlinkContext; // Unlink or apply the give oop closure to the entries to the buckets - // in the range [start_idx, end_idx). - static void buckets_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int start_idx, int end_idx, int* processed, int* removed); + // in the range [start_idx, end_idx). Unlinked bucket entries are collected in the given + // context to be freed later. + // This allows multiple threads to work on the table at once. + static void buckets_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int start_idx, int end_idx, BucketUnlinkContext* context); // Hashing algorithm, used as the hash value used by the // StringTable for bucket selection and comparison (stored in the
--- a/hotspot/src/share/vm/classfile/symbolTable.cpp Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/src/share/vm/classfile/symbolTable.cpp Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -98,7 +98,7 @@ int SymbolTable::_symbols_counted = 0; volatile int SymbolTable::_parallel_claimed_idx = 0; -void SymbolTable::buckets_unlink(int start_idx, int end_idx, int* processed, int* removed) { +void SymbolTable::buckets_unlink(int start_idx, int end_idx, BucketUnlinkContext* context) { for (int i = start_idx; i < end_idx; ++i) { HashtableEntry<Symbol*, mtSymbol>** p = the_table()->bucket_addr(i); HashtableEntry<Symbol*, mtSymbol>* entry = the_table()->bucket(i); @@ -111,15 +111,14 @@ break; } Symbol* s = entry->literal(); - (*processed)++; + context->_num_processed++; assert(s != NULL, "just checking"); // If reference count is zero, remove. if (s->refcount() == 0) { assert(!entry->is_shared(), "shared entries should be kept live"); delete s; - (*removed)++; *p = entry->next(); - the_table()->free_entry(entry); + context->free_entry(entry); } else { p = entry->next_addr(); } @@ -132,17 +131,20 @@ // Remove unreferenced symbols from the symbol table // This is done late during GC. void SymbolTable::unlink(int* processed, int* removed) { - size_t memory_total = 0; - buckets_unlink(0, the_table()->table_size(), processed, removed); - _symbols_removed += *removed; - _symbols_counted += *processed; + BucketUnlinkContext context; + buckets_unlink(0, the_table()->table_size(), &context); + _the_table->bulk_free_entries(&context); + *processed = context._num_processed; + *removed = context._num_removed; + + _symbols_removed = context._num_removed; + _symbols_counted = context._num_processed; } void SymbolTable::possibly_parallel_unlink(int* processed, int* removed) { const int limit = the_table()->table_size(); - size_t memory_total = 0; - + BucketUnlinkContext context; for (;;) { // Grab next set of buckets to scan int start_idx = Atomic::add(ClaimChunkSize, &_parallel_claimed_idx) - ClaimChunkSize; @@ -152,10 +154,15 @@ } int end_idx = MIN2(limit, start_idx + ClaimChunkSize); - buckets_unlink(start_idx, end_idx, processed, removed); + buckets_unlink(start_idx, end_idx, &context); } - Atomic::add(*processed, &_symbols_counted); - Atomic::add(*removed, &_symbols_removed); + + _the_table->bulk_free_entries(&context); + *processed = context._num_processed; + *removed = context._num_removed; + + Atomic::add(context._num_processed, &_symbols_counted); + Atomic::add(context._num_removed, &_symbols_removed); } // Create a new table and using alternate hash code, populate the new table
--- a/hotspot/src/share/vm/classfile/symbolTable.hpp Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/src/share/vm/classfile/symbolTable.hpp Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -154,8 +154,11 @@ static volatile int _parallel_claimed_idx; - // Release any dead symbols - static void buckets_unlink(int start_idx, int end_idx, int* processed, int* removed); + typedef SymbolTable::BucketUnlinkContext BucketUnlinkContext; + // Release any dead symbols. Unlinked bucket entries are collected in the given + // context to be freed later. + // This allows multiple threads to work on the table at once. + static void buckets_unlink(int start_idx, int end_idx, BucketUnlinkContext* context); public: enum { symbol_alloc_batch_size = 8,
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/src/share/vm/runtime/vmStructs.cpp Wed Jul 05 23:30:17 2017 +0200 @@ -675,7 +675,7 @@ \ nonstatic_field(BasicHashtable<mtInternal>, _table_size, int) \ nonstatic_field(BasicHashtable<mtInternal>, _buckets, HashtableBucket<mtInternal>*) \ - nonstatic_field(BasicHashtable<mtInternal>, _free_list, BasicHashtableEntry<mtInternal>*) \ + volatile_nonstatic_field(BasicHashtable<mtInternal>, _free_list, BasicHashtableEntry<mtInternal>*) \ nonstatic_field(BasicHashtable<mtInternal>, _first_free_entry, char*) \ nonstatic_field(BasicHashtable<mtInternal>, _end_block, char*) \ nonstatic_field(BasicHashtable<mtInternal>, _entry_size, int) \
--- a/hotspot/src/share/vm/utilities/hashtable.cpp Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/src/share/vm/utilities/hashtable.cpp Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -173,6 +173,35 @@ } } +template <MEMFLAGS F> void BasicHashtable<F>::BucketUnlinkContext::free_entry(BasicHashtableEntry<F>* entry) { + entry->set_next(_removed_head); + _removed_head = entry; + if (_removed_tail == NULL) { + _removed_tail = entry; + } + _num_removed++; +} + +template <MEMFLAGS F> void BasicHashtable<F>::bulk_free_entries(BucketUnlinkContext* context) { + if (context->_num_removed == 0) { + assert(context->_removed_head == NULL && context->_removed_tail == NULL, + "Zero entries in the unlink context, but elements linked from " PTR_FORMAT " to " PTR_FORMAT, + p2i(context->_removed_head), p2i(context->_removed_tail)); + return; + } + + // MT-safe add of the list of BasicHashTableEntrys from the context to the free list. + BasicHashtableEntry<F>* current = _free_list; + while (true) { + context->_removed_tail->set_next(current); + BasicHashtableEntry<F>* old = (BasicHashtableEntry<F>*)Atomic::cmpxchg_ptr(context->_removed_head, &_free_list, current); + if (old == current) { + break; + } + current = old; + } + Atomic::add(-context->_num_removed, &_number_of_entries); +} // Copy the table to the shared space.
--- a/hotspot/src/share/vm/utilities/hashtable.hpp Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/src/share/vm/utilities/hashtable.hpp Wed Jul 05 23:30:17 2017 +0200 @@ -173,11 +173,11 @@ // Instance variables int _table_size; HashtableBucket<F>* _buckets; - BasicHashtableEntry<F>* _free_list; + BasicHashtableEntry<F>* volatile _free_list; char* _first_free_entry; char* _end_block; int _entry_size; - int _number_of_entries; + volatile int _number_of_entries; protected: @@ -225,6 +225,24 @@ // Free the buckets in this hashtable void free_buckets(); + // Helper data structure containing context for the bucket entry unlink process, + // storing the unlinked buckets in a linked list. + // Also avoids the need to pass around these four members as parameters everywhere. + struct BucketUnlinkContext { + int _num_processed; + int _num_removed; + // Head and tail pointers for the linked list of removed entries. + BasicHashtableEntry<F>* _removed_head; + BasicHashtableEntry<F>* _removed_tail; + + BucketUnlinkContext() : _num_processed(0), _num_removed(0), _removed_head(NULL), _removed_tail(NULL) { + } + + void free_entry(BasicHashtableEntry<F>* entry); + }; + // Add of bucket entries linked together in the given context to the global free list. This method + // is mt-safe wrt. to other calls of this method. + void bulk_free_entries(BucketUnlinkContext* context); public: int table_size() { return _table_size; } void set_entry(int index, BasicHashtableEntry<F>* entry);
--- a/hotspot/test/gc/arguments/TestDynMaxHeapFreeRatio.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/gc/arguments/TestDynMaxHeapFreeRatio.java Wed Jul 05 23:30:17 2017 +0200 @@ -24,7 +24,7 @@ import static jdk.test.lib.Asserts.assertEQ; import static jdk.test.lib.Asserts.assertFalse; import static jdk.test.lib.Asserts.assertTrue; -import jdk.test.lib.DynamicVMOption; +import jdk.test.lib.management.DynamicVMOption; /** * @test TestDynMaxHeapFreeRatio
--- a/hotspot/test/gc/arguments/TestDynMinHeapFreeRatio.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/gc/arguments/TestDynMinHeapFreeRatio.java Wed Jul 05 23:30:17 2017 +0200 @@ -38,7 +38,7 @@ import static jdk.test.lib.Asserts.assertEQ; import static jdk.test.lib.Asserts.assertFalse; import static jdk.test.lib.Asserts.assertTrue; -import jdk.test.lib.DynamicVMOption; +import jdk.test.lib.management.DynamicVMOption; public class TestDynMinHeapFreeRatio {
--- a/hotspot/test/gc/metaspace/TestMetaspacePerfCounters.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/gc/metaspace/TestMetaspacePerfCounters.java Wed Jul 05 23:30:17 2017 +0200 @@ -26,7 +26,7 @@ import java.util.ArrayList; import jdk.test.lib.ByteCodeLoader; -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.Platform; import sun.management.ManagementFactoryHelper;
--- a/hotspot/test/gc/parallel/TestDynShrinkHeap.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/gc/parallel/TestDynShrinkHeap.java Wed Jul 05 23:30:17 2017 +0200 @@ -31,7 +31,7 @@ * @library /test/lib / * @run main/othervm -XX:+UseAdaptiveSizePolicyWithSystemGC -XX:+UseParallelGC -XX:MinHeapFreeRatio=0 -XX:MaxHeapFreeRatio=100 -Xmx1g -verbose:gc TestDynShrinkHeap */ -import jdk.test.lib.DynamicVMOption; +import jdk.test.lib.management.DynamicVMOption; import java.lang.management.ManagementFactory; import java.lang.management.MemoryUsage; import java.util.ArrayList;
--- a/hotspot/test/runtime/BadObjectClass/BootstrapRedefine.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/BadObjectClass/BootstrapRedefine.java Wed Jul 05 23:30:17 2017 +0200 @@ -31,7 +31,7 @@ * @run main BootstrapRedefine */ -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.ProcessTools; import jdk.test.lib.process.OutputAnalyzer;
--- a/hotspot/test/runtime/CommandLine/OptionsValidation/TestJcmdOutput.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/CommandLine/OptionsValidation/TestJcmdOutput.java Wed Jul 05 23:30:17 2017 +0200 @@ -34,7 +34,7 @@ */ import jdk.test.lib.Asserts; -import jdk.test.lib.DynamicVMOption; +import jdk.test.lib.management.DynamicVMOption; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools; import jdk.test.lib.dcmd.PidJcmdExecutor;
--- a/hotspot/test/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOption.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOption.java Wed Jul 05 23:30:17 2017 +0200 @@ -29,7 +29,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import jdk.test.lib.DynamicVMOption; +import jdk.test.lib.management.DynamicVMOption; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools; import jdk.test.lib.dcmd.CommandExecutor;
--- a/hotspot/test/runtime/CommandLine/VMOptionsFile/TestVMOptionsFile.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/CommandLine/VMOptionsFile/TestVMOptionsFile.java Wed Jul 05 23:30:17 2017 +0200 @@ -51,7 +51,7 @@ import java.util.Properties; import java.util.Set; import jdk.test.lib.Asserts; -import jdk.test.lib.DynamicVMOption; +import jdk.test.lib.management.DynamicVMOption; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/hotspot/test/runtime/RedefineTests/ModifyAnonymous.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/RedefineTests/ModifyAnonymous.java Wed Jul 05 23:30:17 2017 +0200 @@ -34,15 +34,14 @@ import java.io.FileNotFoundException; import java.io.PrintWriter; -import java.lang.NoSuchFieldException; -import java.lang.NoSuchMethodException; import java.lang.RuntimeException; import java.lang.instrument.ClassDefinition; import java.lang.instrument.ClassFileTransformer; import java.lang.instrument.IllegalClassFormatException; import java.lang.instrument.Instrumentation; import java.security.ProtectionDomain; -import jdk.test.lib.*; + +import jdk.test.lib.compiler.InMemoryJavaCompiler; public class ModifyAnonymous {
--- a/hotspot/test/runtime/Unsafe/DefineClass.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/Unsafe/DefineClass.java Wed Jul 05 23:30:17 2017 +0200 @@ -32,8 +32,8 @@ */ import java.security.ProtectionDomain; -import java.io.InputStream; -import jdk.test.lib.InMemoryJavaCompiler; + +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.internal.misc.Unsafe; import static jdk.test.lib.Asserts.*;
--- a/hotspot/test/runtime/Unsafe/NestedUnsafe.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/Unsafe/NestedUnsafe.java Wed Jul 05 23:30:17 2017 +0200 @@ -31,12 +31,9 @@ * @run main NestedUnsafe */ -import java.security.ProtectionDomain; -import java.io.InputStream; import java.lang.*; -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.internal.misc.Unsafe; -import static jdk.test.lib.Asserts.*; // package p;
--- a/hotspot/test/runtime/defineAnonClass/NestedUnsafe.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/defineAnonClass/NestedUnsafe.java Wed Jul 05 23:30:17 2017 +0200 @@ -34,11 +34,10 @@ package p; -import java.security.ProtectionDomain; -import java.io.InputStream; import java.lang.*; -import jdk.test.lib.*; + import jdk.internal.misc.Unsafe; +import jdk.test.lib.compiler.InMemoryJavaCompiler; // Test that an anonymous class in package 'p' cannot define its own anonymous class
--- a/hotspot/test/runtime/defineAnonClass/NestedUnsafe2.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/defineAnonClass/NestedUnsafe2.java Wed Jul 05 23:30:17 2017 +0200 @@ -34,11 +34,10 @@ package p; -import java.security.ProtectionDomain; -import java.io.InputStream; import java.lang.*; -import jdk.test.lib.*; + import jdk.internal.misc.Unsafe; +import jdk.test.lib.compiler.InMemoryJavaCompiler; // Test that an anonymous class that gets put in its host's package cannot define
--- a/hotspot/test/runtime/getSysPackage/GetSysPkgTest.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/getSysPackage/GetSysPkgTest.java Wed Jul 05 23:30:17 2017 +0200 @@ -33,7 +33,7 @@ import java.io.File; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.ProcessTools; import jdk.test.lib.process.OutputAnalyzer;
--- a/hotspot/test/runtime/modules/ModuleStress/ModuleStress.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/ModuleStress/ModuleStress.java Wed Jul 05 23:30:17 2017 +0200 @@ -38,8 +38,7 @@ import jdk.test.lib.process.ProcessTools; import jdk.test.lib.process.OutputAnalyzer; -import jdk.test.lib.InMemoryJavaCompiler; -import java.io.File; +import jdk.test.lib.compiler.InMemoryJavaCompiler; public class ModuleStress {
--- a/hotspot/test/runtime/modules/PatchModule/PatchModule2Dirs.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/PatchModule/PatchModule2Dirs.java Wed Jul 05 23:30:17 2017 +0200 @@ -30,10 +30,9 @@ * @run main PatchModule2Dirs */ -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools; -import java.io.File; public class PatchModule2Dirs {
--- a/hotspot/test/runtime/modules/PatchModule/PatchModuleCDS.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/PatchModule/PatchModuleCDS.java Wed Jul 05 23:30:17 2017 +0200 @@ -31,8 +31,7 @@ * @run main PatchModuleCDS */ -import java.io.File; -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/hotspot/test/runtime/modules/PatchModule/PatchModuleClassList.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/PatchModule/PatchModuleClassList.java Wed Jul 05 23:30:17 2017 +0200 @@ -33,7 +33,7 @@ import java.nio.file.Files; import java.nio.file.Paths; -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/hotspot/test/runtime/modules/PatchModule/PatchModuleJavaBase.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/PatchModule/PatchModuleJavaBase.java Wed Jul 05 23:30:17 2017 +0200 @@ -31,7 +31,7 @@ * @run main PatchModuleJavaBase */ -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/hotspot/test/runtime/modules/PatchModule/PatchModuleTest.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/PatchModule/PatchModuleTest.java Wed Jul 05 23:30:17 2017 +0200 @@ -31,7 +31,7 @@ * @run main PatchModuleTest */ -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/hotspot/test/runtime/modules/PatchModule/PatchModuleTestJar.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/PatchModule/PatchModuleTestJar.java Wed Jul 05 23:30:17 2017 +0200 @@ -31,7 +31,7 @@ * @run main PatchModuleTestJar */ -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/hotspot/test/runtime/modules/PatchModule/PatchModuleTestJarDir.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/PatchModule/PatchModuleTestJarDir.java Wed Jul 05 23:30:17 2017 +0200 @@ -32,8 +32,8 @@ */ import java.io.File; -import java.nio.file.Files; -import jdk.test.lib.InMemoryJavaCompiler; + +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/hotspot/test/runtime/modules/PatchModule/PatchModuleTraceCL.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/PatchModule/PatchModuleTraceCL.java Wed Jul 05 23:30:17 2017 +0200 @@ -32,8 +32,7 @@ * @run main PatchModuleTraceCL */ -import java.io.File; -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/hotspot/test/runtime/modules/Visibility/PatchModuleVisibility.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/Visibility/PatchModuleVisibility.java Wed Jul 05 23:30:17 2017 +0200 @@ -36,7 +36,7 @@ import java.nio.file.Files; import java.nio.file.Paths; -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/hotspot/test/runtime/modules/Visibility/XbootcpNoVisibility.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/Visibility/XbootcpNoVisibility.java Wed Jul 05 23:30:17 2017 +0200 @@ -31,7 +31,7 @@ * @run main/othervm XbootcpNoVisibility */ -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.ProcessTools; import jdk.test.lib.process.OutputAnalyzer;
--- a/hotspot/test/runtime/modules/Visibility/XbootcpVisibility.java Tue May 23 22:38:56 2017 +0000 +++ b/hotspot/test/runtime/modules/Visibility/XbootcpVisibility.java Wed Jul 05 23:30:17 2017 +0200 @@ -36,7 +36,7 @@ import java.nio.file.Files; import java.nio.file.Paths; -import jdk.test.lib.InMemoryJavaCompiler; +import jdk.test.lib.compiler.InMemoryJavaCompiler; import jdk.test.lib.process.OutputAnalyzer; import jdk.test.lib.process.ProcessTools;
--- a/jaxp/.hgtags Tue May 23 22:38:56 2017 +0000 +++ b/jaxp/.hgtags Wed Jul 05 23:30:17 2017 +0200 @@ -419,3 +419,6 @@ 646567dcfa64b9a39b33d71330427737d1c1a0d5 jdk-9+167 23a87f409371fb8ce7b764cccb3a74c3f6b29900 jdk-9+168 5d9d2a65fb26aa183019346c11d9314819621665 jdk-9+169 +6e78f902f477a093afca85a1042f97410d01eb69 jdk-9+170 +09cae4c36242734f5450de739b8264523a030809 jdk-10+7 +856998840907b67b7e1fc49259f785ac085a189b jdk-10+8
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/FeatureState.java Tue May 23 22:38:56 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/FeatureState.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,4 +1,5 @@ /* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -22,14 +23,6 @@ * questions. */ -/* - * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved. - */ - -/* - * $Id: FeatureState.java 3024 2011-03-01 03:46:13Z joehw $ - */ - package com.sun.org.apache.xerces.internal.util; public class FeatureState {
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/ParserConfigurationSettings.java Tue May 23 22:38:56 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/ParserConfigurationSettings.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. */ /* * Licensed to the Apache Software Foundation (ASF) under one or more
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/PropertyState.java Tue May 23 22:38:56 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/PropertyState.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,4 +1,5 @@ /* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -22,13 +23,6 @@ * questions. */ -/* - * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved. - */ - -/* - * $Id: PropertyState.java 3024 2011-03-01 03:46:13Z joehw $ - */ package com.sun.org.apache.xerces.internal.util; public class PropertyState {
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/Status.java Tue May 23 22:38:56 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/util/Status.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,4 +1,5 @@ /* + * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -22,13 +23,6 @@ * questions. */ -/* - * Copyright (c) 2009 by Oracle Corporation. All Rights Reserved. - */ - -/* - * $Id: Status.java 3024 2011-03-01 03:46:13Z joehw $ - */ package com.sun.org.apache.xerces.internal.util; public enum Status {
--- a/jaxp/src/java.xml/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLSimpleType.java Tue May 23 22:38:56 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/com/sun/xml/internal/stream/dtd/nonvalidating/XMLSimpleType.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,32 +1,21 @@ /* * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. 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). + */ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at * - * 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. + * http://www.apache.org/licenses/LICENSE-2.0 * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - * - * THIS FILE WAS MODIFIED BY SUN MICROSYSTEMS, INC. - */ - -/* - * Copyright 2005 The Apache Software Foundation. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package com.sun.xml.internal.stream.dtd.nonvalidating;
--- a/jaxp/src/java.xml/share/classes/javax/xml/transform/stax/package.html Tue May 23 22:38:56 2017 +0000 +++ b/jaxp/src/java.xml/share/classes/javax/xml/transform/stax/package.html Wed Jul 05 23:30:17 2017 +0200 @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - -Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. +Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved. 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,48 +22,45 @@ 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. - --> <!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <title>javax.xml.transform.stax</title> - - <meta name="CVS" - content="$Id: package.html,v 1.2 2005/11/03 19:34:28 jeffsuttor Exp $" /> - <meta name="AUTHOR" - content="Jeff.Suttor@Sun.com" /> - <meta name="AUTHOR" - content="Neeraj.Bajaj@Sun.com" /> - </head> - <body> - <p> - Provides for StAX-specific transformation APIs. - TODO: better description(s). - </p> + <head> + <title>javax.xml.transform.stax</title> - <h2>Package Specification</h2> - <ul> - <li><a href="http://jcp.org/en/jsr/detail?id=173">JSR 173: Streaming API for XML</a></li> - </ul> - - <h2>Related Documentation</h2> + <meta name="CVS" + content="$Id: package.html,v 1.2 2005/11/03 19:34:28 jeffsuttor Exp $" /> + <meta name="AUTHOR" + content="Jeff.Suttor@Sun.com" /> + <meta name="AUTHOR" + content="Neeraj.Bajaj@Sun.com" /> + </head> + <body> + <p> + This package implements StAX-specific transformation APIs. It provides + classes which allow input from a StAX reader, that is, + {@link javax.xml.stream.XMLStreamReader} or {@link javax.xml.stream.XMLEventReader}, + and output to a StAX writer, that is, + {@link javax.xml.stream.XMLStreamWriter} or {@link javax.xml.stream.XMLEventWriter}. + </p> + <p> + The {@link javax.xml.transform.stax.StAXSource} class encapsulates a + {@link javax.xml.stream.XMLStreamReader} or {@link javax.xml.stream.XMLEventReader} + and can be used as an input where a {@link javax.xml.transform.Source} + object is accepted. + </p> + <p> + The {@link javax.xml.transform.stax.StAXResult} class encapsulates a + {@link javax.xml.stream.XMLStreamWriter} or {@link javax.xml.stream.XMLEventWriter} + and can be used as an output where a {@link javax.xml.transform.Result} + object is accepted. + </p> - <p>For overviews, tutorials, examples, guides, and tool documentation, please see:</p> - <ul> - <li><a href="">TODO: Refer to non-spec documentation</a></li> - </ul> + @since 1.6 + </body> +</html> - <!-- Put @see and @since tags down here. --> - <ul> - <li>@see XMLStreamReader</li> - <li>@see XMLEventReader</li> - </ul> - - @since 1.6 - </body> -</html>
--- a/jdk/.hgtags Tue May 23 22:38:56 2017 +0000 +++ b/jdk/.hgtags Wed Jul 05 23:30:17 2017 +0200 @@ -419,3 +419,6 @@ 7828aedcb525df40b7c8122bcc3f997c75ebaf7f jdk-9+167 e78da9db6299b3fcba49300d52e2359e82fdd218 jdk-9+168 177436a54ca13730ffc725a6e5dbfcd9486f3da3 jdk-9+169 +ef9954f6896bb0b95ac62bf769f68b59a7a56ccd jdk-9+170 +cbd65760a005766610583949b3b5c9ace92e74b3 jdk-10+7 +f0adc10ed8316e6cf316e3208c5ecf6835d22bc4 jdk-10+8
--- a/jdk/make/CompileDemos.gmk Tue May 23 22:38:56 2017 +0000 +++ b/jdk/make/CompileDemos.gmk Wed Jul 05 23:30:17 2017 +0200 @@ -291,9 +291,21 @@ ################################################################################ +ifneq ($(filter images, $(MAKECMDGOALS)), ) + $(eval $(call SetupCopyFiles, COPY_TO_TEST_IMAGE, \ + SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \ + DEST := $(TEST_IMAGE_DIR)/jdk/demos, \ + FILES := $(call DoubleDollar, $(call CacheFind, $(SUPPORT_OUTPUTDIR)/demos/image)), \ + )) + + IMAGES_TARGETS := $(COPY_TO_TEST_IMAGE) +endif + +################################################################################ # Hook to include the corresponding custom file, if present. $(eval $(call IncludeCustomExtension, jdk, CompileDemos.gmk)) all: $(TARGETS) +images: $(IMAGES_TARGETS) .PHONY: all
--- a/jdk/make/CompileModuleTools.gmk Tue May 23 22:38:56 2017 +0000 +++ b/jdk/make/CompileModuleTools.gmk Wed Jul 05 23:30:17 2017 +0200 @@ -23,21 +23,33 @@ # questions. # +default: all + include $(SPEC) include MakeBase.gmk include JavaCompilation.gmk include SetupJavaCompilers.gmk +################################################################################ + TOOLS_CLASSES_DIR := $(BUILDTOOLS_OUTPUTDIR)/tools_jigsaw_classes $(eval $(call SetupJavaCompilation,BUILD_JIGSAW_TOOLS, \ SETUP := GENERATE_USINGJDKBYTECODE, \ SRC := $(JDK_TOPDIR)/make/src/classes, \ INCLUDES := build/tools/deps \ + build/tools/docs \ build/tools/jigsaw, \ + COPY := .properties .html, \ BIN := $(TOOLS_CLASSES_DIR), \ ADD_JAVAC_FLAGS := \ --add-modules jdk.jdeps \ --add-exports java.base/jdk.internal.module=ALL-UNNAMED \ --add-exports jdk.jdeps/com.sun.tools.jdeps=ALL-UNNAMED \ )) + +TARGETS += $(BUILD_JIGSAW_TOOLS) + +################################################################################ + +all: $(TARGETS)
--- a/jdk/make/CompileTools.gmk Tue May 23 22:38:56 2017 +0000 +++ b/jdk/make/CompileTools.gmk Wed Jul 05 23:30:17 2017 +0200 @@ -46,6 +46,7 @@ SETUP := GENERATE_OLDBYTECODE, \ SRC := $(BUILD_TOOLS_SRC_DIRS), \ EXCLUDES := build/tools/deps \ + build/tools/docs \ build/tools/jigsaw, \ BIN := $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes))
--- a/jdk/make/ModuleTools.gmk Tue May 23 22:38:56 2017 +0000 +++ b/jdk/make/ModuleTools.gmk Wed Jul 05 23:30:17 2017 +0200 @@ -49,4 +49,7 @@ --add-exports java.base/jdk.internal.module=ALL-UNNAMED \ build.tools.jigsaw.AddPackagesAttribute +TOOL_GEN_DOCS_BUNDLE_PAGE := $(BUILD_JAVA) -esa -ea -cp $(TOOLS_CLASSES_DIR) \ + build.tools.docs.GenDocsBundlePage + endif # _MODULE_TOOLS_GMK
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/src/classes/build/tools/docs/GenDocsBundlePage.java Wed Jul 05 23:30:17 2017 +0200 @@ -0,0 +1,186 @@ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package build.tools.docs; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.lang.module.ModuleFinder; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * Build tool to generate the docs bundle index page. + */ +public class GenDocsBundlePage { + private static String DOCS_BUNDLE_PAGE = "docs-bundle-page.html"; + private static String MODULE_GROUPS_PROPS = "docs-module-groups.properties"; + + private static String USAGE = + "GenDocsBundlePage --output <file path> --title <title>" + + " [--template <template>]"; + + public static void main(String... args) throws IOException { + String title = null; + Path outputfile = null; + Path template = null; + for (int i=0; i < args.length; i++) { + String option = args[i]; + if (option.equals("--output")) { + outputfile = Paths.get(getArgument(args, option, ++i)); + } else if (option.equals("--title")) { + title = getArgument(args, option, ++i); + } else if (option.equals("--template")) { + template = Paths.get(getArgument(args, option, ++i)); + } else if (option.startsWith("-")) { + throw new IllegalArgumentException("Invalid option: " + option); + } + } + + if (outputfile == null) { + System.err.println("ERROR: must specify --output option"); + System.exit(1); + } + if (title == null) { + System.err.println("ERROR: must specify --title option"); + System.exit(1); + } + + try (InputStream is = readTemplate(template); + BufferedReader reader = new BufferedReader(new InputStreamReader(is))) + { + new GenDocsBundlePage(title, outputfile).run(reader); + } + } + + private static String getArgument(String[] args, String option, int index) { + if (index < args.length) { + return args[index]; + } + throw new IllegalArgumentException("Argument must be specified for " + option); + } + + private static InputStream readTemplate(Path template) throws IOException { + if (template != null) { + return Files.newInputStream(template); + } else { + return GenDocsBundlePage.class.getResourceAsStream(DOCS_BUNDLE_PAGE); + } + } + + private static final String HEADER_TITLE = "@HEADER_TITLE@"; + final Path outputfile; + final String title; + final Map<String, String> moduleGroups; + + GenDocsBundlePage(String title, Path outputfile) throws IOException + { + this.outputfile = outputfile; + this.title = title; + this.moduleGroups = moduleGroups(); + } + + static Map<String, String> moduleGroups() throws IOException { + ModuleFinder finder = ModuleFinder.ofSystem(); + Map<String, String> groups = new HashMap<>(); + try (InputStream in = GenDocsBundlePage.class.getResourceAsStream(MODULE_GROUPS_PROPS)) { + Properties props = new Properties(); + props.load(in); + for (String key: props.stringPropertyNames()) { + Set<String> mods = Stream.of(props.getProperty(key).split("\\s+")) + .filter(mn -> finder.find(mn).isPresent()) + .map(String::trim) + .collect(Collectors.toSet()); + + // divide into 3 columns: Java SE, JDK, JavaFX + StringBuilder sb = new StringBuilder(); + sb.append(mods.stream() + .filter(mn -> mn.startsWith("java.")) + .sorted() + .map(GenDocsBundlePage::toHRef) + .collect(Collectors.joining("\n"))); + sb.append("</td>\n<td>") + .append(mods.stream() + .filter(mn -> mn.startsWith("jdk.")) + .sorted() + .map(GenDocsBundlePage::toHRef) + .collect(Collectors.joining("\n"))); + sb.append("</td>\n<td>"); + if (mods.stream().anyMatch(mn -> mn.startsWith("javafx."))) { + sb.append(mods.stream() + .filter(mn -> mn.startsWith("javafx.")) + .sorted() + .map(GenDocsBundlePage::toHRef) + .collect(Collectors.joining("\n"))); + } + String name = "@" + key.toUpperCase(Locale.ENGLISH) + "@"; + groups.put(name, sb.toString()); + } + } + return groups; + } + + static String toHRef(String mn) { + return String.format("<a href=\"api/%s-summary.html\">%s</a><br>", mn, mn); + } + + void run(BufferedReader reader) throws IOException { + if (Files.notExists(outputfile.getParent())) { + Files.createDirectories(outputfile.getParent()); + } + try (BufferedWriter bw = Files.newBufferedWriter(outputfile, StandardCharsets.UTF_8); + PrintWriter writer = new PrintWriter(bw)) { + reader.lines().map(this::genOutputLine) + .forEach(writer::println); + } + } + + String genOutputLine(String line) { + if (line.contains(HEADER_TITLE)) { + line = line.replace(HEADER_TITLE, title); + } + if (line.contains("@")) { + for (Map.Entry<String,String> e: moduleGroups.entrySet()) { + if (line.contains(e.getKey())) { + line = line.replace(e.getKey(), e.getValue()); + } + } + } + return line; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/src/classes/build/tools/docs/docs-bundle-page.html Wed Jul 05 23:30:17 2017 +0200 @@ -0,0 +1,146 @@ +<!-- +Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. +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. +--> + +<!DOCTYPE html> +<html lang="en"> +<head> + <meta http-equiv="content-type" content="text/html;" charset="utf-8"> + <style type="text/css"> +table { + border-collapse: collapse; +} +table { + border: 1px solid black; +} +th ,td { + border: 0px solid black; +} +thead th { + background-color: #DDD; +} +tbody > tr:nth-child(even) { + background-color: #EEE +} +tbody > tr:nth-child(odd) { + background-color: #FFF +} +th, td { + font-family: sans-serif; /* could eventually be DejaVu */ + font-size: small; + padding: 5px 10px; + vertical-align:top; +} +td a { + text-decoration: none; +} +tr th { + text-align:left; +} +caption { + font-size: smaller; + font-weight: bold; +} +</style> +<title>@HEADER_TITLE@</title> +</head> +<body> + +<h1>@HEADER_TITLE@</h1> + +<ul> +<li><a href="api/index.html">JDK API Specification</a></li> +<li>Java Language Specification</li> +<li>Java Virtual Machine Specification</li> +</ul> + +<table> +<caption>Modules</caption> +<thead> +<tr> + <th scope="col">Group</th> + <th scope="col">Java SE</th> + <th scope="col">JDK</th> + <th scope="col">JavaFX</th> +</tr> +</thead> +<tbody> +<tr> + <th scope="row">Foundation</th> + <td>@CORE_MODULES@</td> +</tr> +<tr> +<th scope="row">Security</th> + <td>@SECURITY_MODULES@</td> +</tr> +<tr> +<th scope="row">Instrumentation and<br>Management</th> + <td>@INSTRUMENT_MGMT_MODULES@</td> +</tr> +<tr> +<th scope="row">Integration</th> + <td>@INTEGRATION_MODULES@</td> +</tr> +<tr> + <th scope="row">User Interface</th> + <td>@UI_TOOLKITS_MODULES@</td> +</tr> +<tr> + <th scope="row">Compiler and Scripting</th> + <td>@COMPILER_SCRIPTING_MODULES@</td> +</tr> +<tr> + <th scope="row">Debugging</th> + <td>@DEBUG_MODULES@</td> +</tr> +<tr> + <th scope="row">Tools and Tool APIs</th> + <td>@TOOL_MODULES@</td> +</tr> +<tr> + <th scope="row">Incubating Features</th> + <td>@INCUBATOR_MODULES@</td> +</tr> +<tr> + <th scope="row">Java EE</th> + <td>@JAVA_EE_MODULES@</td> +</tr> +<tr> + <th scope="row"></th> + <th scope="row">Outside Java SE</th> + <th scope="row">JDK</th> + <th scope="row">JavaFX</th> +</tr> +<tr> + <th scope="row">Others</th> + <td>@OTHER_MODULES@</td> +</tr> +</tbody> +</table> + +<p> +<hr/> +<a href="legal/cpyr.html">Copyright</a>© 1993, 2017, Oracle and/or its affiliates. All rights reserved.</p> +</body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/src/classes/build/tools/docs/docs-module-groups.properties Wed Jul 05 23:30:17 2017 +0200 @@ -0,0 +1,101 @@ +# Module Grouping for the docs bundle page +# + +core_modules=\ +java.base \ +jdk.charsets \ +jdk.localedata \ +jdk.net \ +jdk.sctp \ +jdk.zipfs + +java_ee_modules=\ +java.activation \ +java.corba \ +java.transaction \ +java.xml.bind \ +java.xml.ws \ +java.xml.ws.annotation + +security_modules=\ +java.security.jgss \ +java.security.sasl \ +java.xml.crypto \ +jdk.security.auth \ +jdk.security.jgss \ +jdk.crypto.cryptoki \ +jdk.crypto.ec \ +jdk.crypto.mscapi \ +jdk.crypto.ucrypto + +instrument_mgmt_modules=\ +java.instrument \ +java.management \ +java.management.rmi \ +jdk.jfr \ +jdk.management \ +jdk.management.agent \ +jdk.management.cmm \ +jdk.management.jfr \ +jdk.management.resource \ + +integration_modules=\ +java.logging \ +java.naming \ +java.prefs \ +java.rmi \ +java.sql \ +java.sql.rowset \ +java.xml \ +jdk.httpserver \ +jdk.naming.dns \ +jdk.naming.rmi + +ui_toolkits_modules=\ +java.datatransfer \ +java.desktop \ +javafx.base \ +javafx.controls \ +javafx.fxml \ +javafx.graphics \ +javafx.media \ +javafx.swing \ +javafx.web \ +jdk.accessibility + +other_modules=\ +java.jnlp \ +java.smartcardio \ +jdk.jsobject \ +jdk.xml.dom + +debug_modules=\ +jdk.jdi \ +jdk.jdwp.agent + +tool_modules=\ +jdk.attach \ +jdk.editpad \ +jdk.jartool \ +jdk.javadoc \ +jdk.jcmd \ +jdk.jconsole \ +jdk.jdeps \ +jdk.jlink \ +jdk.jshell \ +jdk.jstatd \ +jdk.pack \ +jdk.policytool \ +jdk.packager.services \ +jdk.rmic + +compiler_scripting_modules=\ +java.compiler \ +java.scripting \ +jdk.compiler \ +jdk.dynalink \ +jdk.scripting.nashorn \ +jdk.scripting.nashorn.shell + +incubator_modules=\ +jdk.incubator.httpclient
--- a/jdk/src/java.base/share/classes/java/io/DataInput.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/io/DataInput.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -59,8 +59,9 @@ * far left-hand column. * * <blockquote> - * <table border="1" cellspacing="0" cellpadding="8" - * summary="Bit values and bytes"> + * <table class="plain"> + * <caption style="display:none">Bit values and bytes</caption> + * <tbody> * <tr> * <th colspan="9"><span style="font-weight:normal"> * All characters in the range {@code '\u005Cu0001'} to @@ -71,7 +72,7 @@ * <th colspan="8" id="bit_a">Bit Values</th> * </tr> * <tr> - * <th id="byte1_a">Byte 1</th> + * <th id="byte1_a" style="text-align:left">Byte 1</th> * <td style="text-align:center">0 * <td colspan="7" style="text-align:center">bits 6-0 * </tr> @@ -86,14 +87,14 @@ * <th colspan="8" id="bit_b">Bit Values</th> * </tr> * <tr> - * <th id="byte1_b">Byte 1</th> + * <th id="byte1_b" style="text-align:left">Byte 1</th> * <td style="text-align:center">1 * <td style="text-align:center">1 * <td style="text-align:center">0 * <td colspan="5" style="text-align:center">bits 10-6 * </tr> * <tr> - * <th id="byte2_a">Byte 2</th> + * <th id="byte2_a" style="text-align:left">Byte 2</th> * <td style="text-align:center">1 * <td style="text-align:center">0 * <td colspan="6" style="text-align:center">bits 5-0 @@ -108,7 +109,7 @@ * <th colspan="8"id="bit_c">Bit Values</th> * </tr> * <tr> - * <th id="byte1_c">Byte 1</th> + * <th id="byte1_c" style="text-align:left">Byte 1</th> * <td style="text-align:center">1 * <td style="text-align:center">1 * <td style="text-align:center">1 @@ -116,17 +117,18 @@ * <td colspan="4" style="text-align:center">bits 15-12 * </tr> * <tr> - * <th id="byte2_b">Byte 2</th> + * <th id="byte2_b" style="text-align:left">Byte 2</th> * <td style="text-align:center">1 * <td style="text-align:center">0 * <td colspan="6" style="text-align:center">bits 11-6 * </tr> * <tr> - * <th id="byte3">Byte 3</th> + * <th id="byte3" style="text-align:left">Byte 3</th> * <td style="text-align:center">1 * <td style="text-align:center">0 * <td colspan="6" style="text-align:center">bits 5-0 * </tr> + * </tbody> * </table> * </blockquote> * <p>
--- a/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java Wed Jul 05 23:30:17 2017 +0200 @@ -216,7 +216,8 @@ * @see java.io.DataInput * @see java.io.ObjectOutputStream * @see java.io.Serializable - * @see <a href="../../../platform/serialization/spec/input.html"> Object Serialization Specification, Section 3, Object Input Classes</a> + * @see <a href="{@docRoot}/../specs/serialization/input.html"> + * Object Serialization Specification, Section 3, Object Input Classes</a> * @since 1.1 */ public class ObjectInputStream
--- a/jdk/src/java.base/share/classes/java/io/ObjectOutputStream.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/io/ObjectOutputStream.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -156,7 +156,8 @@ * @see java.io.ObjectInputStream * @see java.io.Serializable * @see java.io.Externalizable - * @see <a href="../../../platform/serialization/spec/output.html">Object Serialization Specification, Section 2, Object Output Classes</a> + * @see <a href="{@docRoot}/../specs/serialization/output.html"> + * Object Serialization Specification, Section 2, Object Output Classes</a> * @since 1.1 */ public class ObjectOutputStream
--- a/jdk/src/java.base/share/classes/java/io/ObjectStreamClass.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/io/ObjectStreamClass.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -62,13 +62,14 @@ * loaded in this Java VM can be found/created using the lookup method. * * <p>The algorithm to compute the SerialVersionUID is described in - * <a href="../../../platform/serialization/spec/class.html#4100">Object - * Serialization Specification, Section 4.6, Stream Unique Identifiers</a>. + * <a href="{@docRoot}/../specs/serialization/class.html#stream-unique-identifiers"> + * Object Serialization Specification, Section 4.6, Stream Unique Identifiers</a>. * * @author Mike Warres * @author Roger Riggs * @see ObjectStreamField - * @see <a href="../../../platform/serialization/spec/class.html">Object Serialization Specification, Section 4, Class Descriptors</a> + * @see <a href="{@docRoot}/../specs/serialization/class.html"> + * Object Serialization Specification, Section 4, Class Descriptors</a> * @since 1.1 */ public class ObjectStreamClass implements Serializable {
--- a/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -136,8 +136,12 @@ * in which the file is to be opened. The permitted values and their * meanings are: * - * <table summary="Access mode permitted values and meanings"> + * <table class="striped"> + * <caption style="display:none">Access mode permitted values and meanings</caption> + * <thead> * <tr><th style="text-align:left">Value</th><th style="text-align:left">Meaning</th></tr> + * </thead> + * <tbody> * <tr><td style="vertical-align:top">{@code "r"}</td> * <td> Open for reading only. Invoking any of the {@code write} * methods of the resulting object will cause an @@ -153,6 +157,7 @@ * <td> Open for reading and writing, as with {@code "rw"}, and also * require that every update to the file's content be written * synchronously to the underlying storage device.</td></tr> + * </tbody> * </table> * * The {@code "rws"} and {@code "rwd"} modes work much like the {@link
--- a/jdk/src/java.base/share/classes/java/io/SerializablePermission.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/io/SerializablePermission.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * 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,12 +44,16 @@ * and for each provides a description of what the permission allows * and a discussion of the risks of granting code the permission. * - * <table border=1 cellpadding=5 summary="Permission target name, what the permission allows, and associated risks"> + * <table class="striped"> + * <caption style="display:none">Permission target name, what the permission allows, and associated risks</caption> + * <thead> * <tr> * <th>Permission Target Name</th> * <th>What the Permission Allows</th> * <th>Risks of Allowing this Permission</th> * </tr> + * </thead> + * <tbody> * * <tr> * <td>enableSubclassImplementation</td> @@ -79,7 +83,7 @@ * <td>Code could remove a configured filter and remove protections * already established.</td> * </tr> - * + * </tbody> * </table> * * @see java.security.BasicPermission
--- a/jdk/src/java.base/share/classes/java/io/package-info.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/io/package-info.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -33,7 +33,8 @@ * * <h2>Package Specification</h2> * <ul> - * <li><a href="../../../platform/serialization/spec/serialTOC.html"> Java Object Serialization Specification </a> + * <li><a href="{@docRoot}/../specs/serialization/index.html"> + * Java Object Serialization Specification </a> * </ul> * * <h2>Related Documentation</h2> @@ -41,7 +42,8 @@ * For overviews, tutorials, examples, guides, and tool documentation, * please see: * <ul> - * <li><a href="../../../technotes/guides/serialization">Serialization Enhancements</a> + * <li>{@extLink serialver_tool_reference The serialver tool}</li> + * <li>{@extLink serialization_guide Serialization Documentation}</li> * </ul> * * @since 1.0
--- a/jdk/src/java.base/share/classes/java/lang/CharSequence.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/CharSequence.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -123,7 +123,7 @@ * * <p>The stream binds to this sequence when the terminal stream operation * commences (specifically, for mutable sequences the spliterator for the - * stream is <a href="../Spliterator.html#binding"><em>late-binding</em></a>). + * stream is <a href="../util/Spliterator.html#binding"><em>late-binding</em></a>). * If the sequence is modified during that operation then the result is * undefined. * @@ -173,7 +173,7 @@ * * <p>The stream binds to this sequence when the terminal stream operation * commences (specifically, for mutable sequences the spliterator for the - * stream is <a href="../Spliterator.html#binding"><em>late-binding</em></a>). + * stream is <a href="../util/Spliterator.html#binding"><em>late-binding</em></a>). * If the sequence is modified during that operation then the result is * undefined. *
--- a/jdk/src/java.base/share/classes/java/lang/Character.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/Character.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -9566,7 +9566,9 @@ * Determines if the specified character is ISO-LATIN-1 white space. * This method returns {@code true} for the following five * characters only: - * <table summary="truechars"> + * <table class="borderless"> + * <caption style="display:none">truechars</caption> + * <tbody> * <tr><td>{@code '\t'}</td> <td>{@code U+0009}</td> * <td>{@code HORIZONTAL TABULATION}</td></tr> * <tr><td>{@code '\n'}</td> <td>{@code U+000A}</td> @@ -9577,6 +9579,7 @@ * <td>{@code CARRIAGE RETURN}</td></tr> * <tr><td>{@code ' '}</td> <td>{@code U+0020}</td> * <td>{@code SPACE}</td></tr> + * </tbody> * </table> * * @param ch the character to be tested.
--- a/jdk/src/java.base/share/classes/java/lang/Class.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/Class.java Wed Jul 05 23:30:17 2017 +0200 @@ -724,18 +724,23 @@ * one or more '{@code [}' characters representing the depth of the array * nesting. The encoding of element type names is as follows: * - * <blockquote><table summary="Element types and encodings"> - * <tr><th> Element Type <th> <th> Encoding - * <tr><td> boolean <td> <td style="text-align:center"> Z - * <tr><td> byte <td> <td style="text-align:center"> B - * <tr><td> char <td> <td style="text-align:center"> C + * <blockquote><table class="borderless"> + * <caption style="display:none">Element types and encodings</caption> + * <thead> + * <tr><th style="padding-right:3em;"> Element Type <th> Encoding + * </thead> + * <tbody> + * <tr><td> boolean <td style="text-align:center"> Z + * <tr><td> byte <td style="text-align:center"> B + * <tr><td> char <td style="text-align:center"> C * <tr><td> class or interface - * <td> <td style="text-align:center"> L<i>classname</i>; - * <tr><td> double <td> <td style="text-align:center"> D - * <tr><td> float <td> <td style="text-align:center"> F - * <tr><td> int <td> <td style="text-align:center"> I - * <tr><td> long <td> <td style="text-align:center"> J - * <tr><td> short <td> <td style="text-align:center"> S + * <td style="text-align:center"> L<i>classname</i>; + * <tr><td> double <td style="text-align:center"> D + * <tr><td> float <td style="text-align:center"> F + * <tr><td> int <td style="text-align:center"> I + * <tr><td> long <td style="text-align:center"> J + * <tr><td> short <td style="text-align:center"> S + * </tbody> * </table></blockquote> * * <p> The class or interface name <i>classname</i> is the binary name of
--- a/jdk/src/java.base/share/classes/java/lang/Double.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/Double.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -255,9 +255,12 @@ * * </ul> * - * <table border> + * <table class="plain"> * <caption>Examples</caption> + * <thead> * <tr><th>Floating-point Value</th><th>Hexadecimal String</th> + * </thead> + * <tbody> * <tr><td>{@code 1.0}</td> <td>{@code 0x1.0p0}</td> * <tr><td>{@code -1.0}</td> <td>{@code -0x1.0p0}</td> * <tr><td>{@code 2.0}</td> <td>{@code 0x1.0p1}</td> @@ -272,6 +275,7 @@ * <td>{@code 0x0.fffffffffffffp-1022}</td> * <tr><td>{@code Double.MIN_VALUE}</td> * <td>{@code 0x0.0000000000001p-1022}</td> + * </tbody> * </table> * @param d the {@code double} to be converted. * @return a hex string representation of the argument.
--- a/jdk/src/java.base/share/classes/java/lang/Float.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/Float.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -256,9 +256,12 @@ * * </ul> * - * <table border> + * <table class="plain"> * <caption>Examples</caption> + * <thead> * <tr><th>Floating-point Value</th><th>Hexadecimal String</th> + * </thead> + * <tbody> * <tr><td>{@code 1.0}</td> <td>{@code 0x1.0p0}</td> * <tr><td>{@code -1.0}</td> <td>{@code -0x1.0p0}</td> * <tr><td>{@code 2.0}</td> <td>{@code 0x1.0p1}</td> @@ -273,6 +276,7 @@ * <td>{@code 0x0.fffffep-126}</td> * <tr><td>{@code Float.MIN_VALUE}</td> * <td>{@code 0x0.000002p-126}</td> + * </tbody> * </table> * @param f the {@code float} to be converted. * @return a hex string representation of the argument.
--- a/jdk/src/java.base/share/classes/java/lang/Iterable.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/Iterable.java Wed Jul 05 23:30:17 2017 +0200 @@ -31,16 +31,13 @@ import java.util.function.Consumer; /** - * Implementing this interface allows an object to be the target of - * the "for-each loop" statement. See - * <strong> - * <a href="{@docRoot}/../technotes/guides/language/foreach.html">For-each Loop</a> - * </strong> + * Implementing this interface allows an object to be the target of the enhanced + * {@code for} statement (sometimes called the "for-each loop" statement). * * @param <T> the type of elements returned by the iterator * * @since 1.5 - * @jls 14.14.2 The enhanced for statement + * @jls 14.14.2 The enhanced {@code for} statement */ public interface Iterable<T> { /**
--- a/jdk/src/java.base/share/classes/java/lang/ModuleLayer.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/ModuleLayer.java Wed Jul 05 23:30:17 2017 +0200 @@ -84,7 +84,7 @@ * started. The boot layer contains module {@code java.base} and is the only * layer in the Java virtual machine with a module named "{@code java.base}". * The modules in the boot layer are mapped to the bootstrap class loader and - * other class loaders that are <a href="../ClassLoader.html#builtinLoaders"> + * other class loaders that are <a href="ClassLoader.html#builtinLoaders"> * built-in</a> into the Java virtual machine. The boot layer will often be * the {@link #parents() parent} when creating additional layers. </p> *
--- a/jdk/src/java.base/share/classes/java/lang/RuntimePermission.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/RuntimePermission.java Wed Jul 05 23:30:17 2017 +0200 @@ -43,13 +43,17 @@ * target names, and for each provides a description of what the permission * allows and a discussion of the risks of granting code the permission. * - * <table border=1 cellpadding=5 summary="permission target name, - * what the target allows,and associated risks"> + * <table class="striped"> + * <caption style="display:none">permission target name, + * what the target allows, and associated risks</caption> + * <thead> * <tr> * <th>Permission Target Name</th> * <th>What the Permission Allows</th> * <th>Risks of Allowing this Permission</th> * </tr> + * </thead> + * <tbody> * * <tr> * <td>createClassLoader</td> @@ -383,6 +387,7 @@ * {@linkplain ModuleFinder#ofSystem system modules} in the runtime image.</td> * </tr> * + * </tbody> * </table> * * @implNote
--- a/jdk/src/java.base/share/classes/java/lang/String.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/String.java Wed Jul 05 23:30:17 2017 +0200 @@ -203,7 +203,7 @@ * Class String is special cased within the Serialization Stream Protocol. * * A String instance is written into an ObjectOutputStream according to - * <a href="{@docRoot}/../platform/serialization/spec/output.html"> + * <a href="{@docRoot}/../specs/serialization/protocol.html#stream-elements"> * Object Serialization Specification, Section 6.2, "Stream Elements"</a> */ private static final ObjectStreamField[] serialPersistentFields = @@ -335,7 +335,7 @@ * subarray. * * <p> Each {@code byte} in the subarray is converted to a {@code char} as - * specified in the method above. + * specified in the {@link #String(byte[],int) String(byte[],int)} constructor. * * @deprecated This method does not properly convert bytes into characters. * As of JDK 1.1, the preferred way to do this is via the @@ -390,7 +390,7 @@ /** * Allocates a new {@code String} containing characters constructed from - * an array of 8-bit integer values. Each character <i>c</i>in the + * an array of 8-bit integer values. Each character <i>c</i> in the * resulting string is constructed from the corresponding component * <i>b</i> in the byte array such that: * @@ -2203,12 +2203,16 @@ * <p> The string {@code "boo:and:foo"}, for example, yields the * following results with these parameters: * - * <blockquote><table cellpadding=1 cellspacing=0 summary="Split example showing regex, limit, and result"> + * <blockquote><table class="plain"> + * <caption style="display:none">Split example showing regex, limit, and result</caption> + * <thead> * <tr> * <th>Regex</th> * <th>Limit</th> * <th>Result</th> * </tr> + * </thead> + * <tbody> * <tr><td style="text-align:center">:</td> * <td style="text-align:center">2</td> * <td>{@code { "boo", "and:foo" }}</td></tr> @@ -2227,6 +2231,7 @@ * <tr><td style="text-align:center">o</td> * <td style="text-align:center">0</td> * <td>{@code { "b", "", ":and:f" }}</td></tr> + * </tbody> * </table></blockquote> * * <p> An invocation of this method of the form @@ -2326,15 +2331,20 @@ * <p> The string {@code "boo:and:foo"}, for example, yields the following * results with these expressions: * - * <blockquote><table cellpadding=1 cellspacing=0 summary="Split examples showing regex and result"> + * <blockquote><table class="plain"> + * <caption style="display:none">Split examples showing regex and result</caption> + * <thead> * <tr> * <th>Regex</th> * <th>Result</th> * </tr> + * </thead> + * <tbody> * <tr><td style="text-align:center">:</td> * <td>{@code { "boo", "and", "foo" }}</td></tr> * <tr><td style="text-align:center">o</td> * <td>{@code { "b", "", ":and:f" }}</td></tr> + * </tbody> * </table></blockquote> * * @@ -2445,13 +2455,17 @@ * {@code String} may be a different length than the original {@code String}. * <p> * Examples of lowercase mappings are in the following table: - * <table border="1" summary="Lowercase mapping examples showing language code of locale, upper case, lower case, and description"> + * <table class="plain"> + * <caption style="display:none">Lowercase mapping examples showing language code of locale, upper case, lower case, and description</caption> + * <thead> * <tr> * <th>Language Code of Locale</th> * <th>Upper Case</th> * <th>Lower Case</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td>tr (Turkish)</td> * <td>\u0130</td> @@ -2480,6 +2494,7 @@ * <img src="doc-files/sigma1.gif" alt="sigma"></td> * <td>lowercased all chars in String</td> * </tr> + * </tbody> * </table> * * @param locale use the case transformation rules for this locale @@ -2526,13 +2541,17 @@ * <p> * Examples of locale-sensitive and 1:M case mappings are in the following table. * - * <table border="1" summary="Examples of locale-sensitive and 1:M case mappings. Shows Language code of locale, lower case, upper case, and description."> + * <table class="plain"> + * <caption style="display:none">Examples of locale-sensitive and 1:M case mappings. Shows Language code of locale, lower case, upper case, and description.</caption> + * <thead> * <tr> * <th>Language Code of Locale</th> * <th>Lower Case</th> * <th>Upper Case</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td>tr (Turkish)</td> * <td>\u0069</td> @@ -2557,6 +2576,7 @@ * <td>FAHRVERGNÜGEN</td> * <td></td> * </tr> + * </tbody> * </table> * @param locale use the case transformation rules for this locale * @return the {@code String}, converted to uppercase.
--- a/jdk/src/java.base/share/classes/java/lang/System.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/System.java Wed Jul 05 23:30:17 2017 +0200 @@ -577,9 +577,13 @@ * system properties, a set of system properties is first created and * initialized. This set of system properties always includes values * for the following keys: - * <table summary="Shows property keys and associated values"> + * <table class="striped"> + * <caption style="display:none">Shows property keys and associated values</caption> + * <thead> * <tr><th>Key</th> * <th>Description of Associated Value</th></tr> + * </thead> + * <tbody> * <tr><td><code>java.version</code></td> * <td>Java Runtime Environment version which may be interpreted * as a {@link Runtime.Version}</td></tr> @@ -638,6 +642,7 @@ * <td>User's home directory</td></tr> * <tr><td><code>user.dir</code></td> * <td>User's current working directory</td></tr> + * </tbody> * </table> * <p> * Multiple paths in a system property value are separated by the path @@ -649,9 +654,13 @@ * * @implNote In addition to the standard system properties, the system * properties may include the following keys: - * <table summary="Shows property keys and associated values"> + * <table class="striped"> + * <caption style="display:none">Shows property keys and associated values</caption> + * <thead> * <tr><th>Key</th> * <th>Description of Associated Value</th></tr> + * </thead> + * <tbody> * <tr><td>{@code jdk.module.path}</td> * <td>The application module path</td></tr> * <tr><td>{@code jdk.module.upgrade.path}</td> @@ -660,6 +669,7 @@ * <td>The module name of the initial/main module</td></tr> * <tr><td>{@code jdk.module.main.class}</td> * <td>The main class name of the initial module</td></tr> + * </tbody> * </table> * * @return the system properties
--- a/jdk/src/java.base/share/classes/java/lang/invoke/LambdaMetafactory.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/invoke/LambdaMetafactory.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -149,8 +149,12 @@ * capture argument (corresponding to the receiver) must be non-null. * * <p>A type Q is considered adaptable to S as follows: - * <table summary="adaptable types"> + * <table class="borderless"> + * <caption style="display:none">adaptable types</caption> + * <thead> * <tr><th>Q</th><th>S</th><th>Link-time checks</th><th>Invocation-time checks</th></tr> + * </thead> + * <tbody> * <tr> * <td>Primitive</td><td>Primitive</td> * <td>Q can be converted to S via a primitive widening conversion</td> @@ -176,6 +180,7 @@ * <br>for return types: none</td> * <td>Cast from Q to S</td> * </tr> + * </tbody> * </table> * * @apiNote These linkage methods are designed to support the evaluation @@ -213,7 +218,9 @@ * methods. * @since 1.8 */ -public class LambdaMetafactory { +public final class LambdaMetafactory { + + private LambdaMetafactory() {} /** Flag for alternate metafactories indicating the lambda object * must be serializable */
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -81,8 +81,12 @@ * The <a href="MethodHandles.Lookup.html#lookups">Lookup Factory Methods</a> * correspond to all major use cases for methods, constructors, and fields. * These use cases may be distinguished using small integers as follows: - * <table border=1 cellpadding=5 summary="reference kinds"> + * <table class="striped"> + * <caption style="display:none">reference kinds</caption> + * <thead> * <tr><th>reference kind</th><th>descriptive name</th><th>scope</th><th>member</th><th>behavior</th></tr> + * </thead> + * <tbody> * <tr> * <td>{@code 1}</td><td>{@code REF_getField}</td><td>{@code class}</td> * <td>{@code FT f;}</td><td>{@code (T) this.f;}</td> @@ -119,6 +123,7 @@ * <td>{@code 9}</td><td>{@code REF_invokeInterface}</td><td>{@code interface}</td> * <td>{@code T m(A*);}</td><td>{@code (T) this.m(arg*);}</td> * </tr> + * </tbody> * </table> * @since 1.8 */
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Wed Jul 05 23:30:17 2017 +0200 @@ -278,12 +278,16 @@ * (Bytecode behaviors are described in section 5.4.3.5 of the Java Virtual Machine Specification.) * Here is a summary of the correspondence between these factory methods and * the behavior of the resulting method handles: - * <table border=1 cellpadding=5 summary="lookup method behaviors"> + * <table class="striped"> + * <caption style="display:none">lookup method behaviors</caption> + * <thead> * <tr> * <th><a id="equiv"></a>lookup expression</th> * <th>member</th> * <th>bytecode behavior</th> * </tr> + * </thead> + * <tbody> * <tr> * <td>{@link java.lang.invoke.MethodHandles.Lookup#findGetter lookup.findGetter(C.class,"f",FT.class)}</td> * <td>{@code FT f;}</td><td>{@code (T) this.f;}</td> @@ -340,6 +344,7 @@ * <td>{@link java.lang.invoke.MethodHandles.Lookup#findClass lookup.findClass("C")}</td> * <td>{@code class C { ... }}</td><td>{@code C.class;}</td> * </tr> + * </tbody> * </table> * * Here, the type {@code C} is the class or interface being searched for a member, @@ -1670,8 +1675,8 @@ * to the lookup class. * (Unlike {@code bind}, {@code bindTo} does not preserve variable arity. * Also, {@code bindTo} may throw a {@code ClassCastException} in instances where {@code bind} would - * throw a {@code IllegalAccessException}, as in the case where the member is {@code protected} and - * the receiver is restricted by {@code findVirtual} to the lookup class) + * throw an {@code IllegalAccessException}, as in the case where the member is {@code protected} and + * the receiver is restricted by {@code findVirtual} to the lookup class.) * @param receiver the object from which the method is accessed * @param name the name of the method * @param type the type of the method, with the receiver argument omitted
--- a/jdk/src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -105,10 +105,13 @@ * <p>The table below summarizes which kind of annotation presence * different methods in this interface examine. * - * <table border> + * <table class="plain"> * <caption>Overview of kind of presence detected by different AnnotatedElement methods</caption> + * <thead> * <tr><th colspan=2></th><th colspan=4>Kind of Presence</th> * <tr><th colspan=2>Method</th><th>Directly Present</th><th>Indirectly Present</th><th>Present</th><th>Associated</th> + * </thead> + * <tbody> * <tr><td style="text-align:right">{@code T}</td><td>{@link #getAnnotation(Class) getAnnotation(Class<T>)} * <td></td><td></td><td>X</td><td></td> * </tr> @@ -127,6 +130,7 @@ * <tr><td style="text-align:right">{@code T[]}</td><td>{@link #getDeclaredAnnotationsByType(Class) getDeclaredAnnotationsByType(Class<T>)} * <td>X</td><td>X</td><td></td><td></td> * </tr> + * </tbody> * </table> * * <p>For an invocation of {@code get[Declared]AnnotationsByType( Class <
--- a/jdk/src/java.base/share/classes/java/lang/reflect/ReflectPermission.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/lang/reflect/ReflectPermission.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * 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,12 +32,16 @@ * provides a summary description of what the permission allows, * and discusses the risks of granting code the permission. * - * <table border=1 cellpadding=5 summary="Table shows permission target name, what the permission allows, and associated risks"> + * <table class="striped"> + * <caption style="display:none">Table shows permission target name, what the permission allows, and associated risks</caption> + * <thead> * <tr> * <th>Permission Target Name</th> * <th>What the Permission Allows</th> * <th>Risks of Allowing this Permission</th> * </tr> + * </thead> + * <tbody> * * <tr> * <td>suppressAccessChecks</td> @@ -58,6 +62,7 @@ * help in its attempt to compromise security in the system.</td> * </tr> * + * </tbody> * </table> * * @see java.security.Permission
--- a/jdk/src/java.base/share/classes/java/math/BigDecimal.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/math/BigDecimal.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -120,15 +120,19 @@ * preferred scale for representing a result. The preferred * scale for each operation is listed in the table below. * - * <table border> + * <table class="plain"> * <caption><b>Preferred Scales for Results of Arithmetic Operations * </b></caption> + * <thead> * <tr><th>Operation</th><th>Preferred Scale of Result</th></tr> + * </thead> + * <tbody> * <tr><td>Add</td><td>max(addend.scale(), augend.scale())</td> * <tr><td>Subtract</td><td>max(minuend.scale(), subtrahend.scale())</td> * <tr><td>Multiply</td><td>multiplier.scale() + multiplicand.scale()</td> * <tr><td>Divide</td><td>dividend.scale() - divisor.scale()</td> * <tr><td>Square root</td><td>radicand.scale()/2</td> + * </tbody> * </table> * * These scales are the ones used by the methods which return exact
--- a/jdk/src/java.base/share/classes/java/math/RoundingMode.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/math/RoundingMode.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * 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,8 +51,9 @@ * proper {@code MathContext}. A summary table showing the results * of these rounding operations for all rounding modes appears below. * - *<table border> + *<table class="plain"> * <caption><b>Summary of Rounding Operations Under Different Rounding Modes</b></caption> + * <thead> * <tr><th></th><th colspan=8>Result of rounding input to one digit with the given * rounding mode</th> * <tr style="vertical-align:top"> @@ -64,6 +65,8 @@ * <th>{@code HALF_DOWN}</th> * <th>{@code HALF_EVEN}</th> * <th>{@code UNNECESSARY}</th> + * </thead> + * <tbody> * * <tr style="text-align:right"><td>5.5</td> <td>6</td> <td>5</td> <td>6</td> <td>5</td> <td>6</td> <td>5</td> <td>6</td> <td>throw {@code ArithmeticException}</td> * <tr style="text-align:right"><td>2.5</td> <td>3</td> <td>2</td> <td>3</td> <td>2</td> <td>3</td> <td>2</td> <td>2</td> <td>throw {@code ArithmeticException}</td> @@ -75,7 +78,8 @@ * <tr style="text-align:right"><td>-1.6</td> <td>-2</td> <td>-1</td> <td>-1</td> <td>-2</td> <td>-2</td> <td>-2</td> <td>-2</td> <td>throw {@code ArithmeticException}</td> * <tr style="text-align:right"><td>-2.5</td> <td>-3</td> <td>-2</td> <td>-2</td> <td>-3</td> <td>-3</td> <td>-2</td> <td>-2</td> <td>throw {@code ArithmeticException}</td> * <tr style="text-align:right"><td>-5.5</td> <td>-6</td> <td>-5</td> <td>-5</td> <td>-6</td> <td>-6</td> <td>-5</td> <td>-6</td> <td>throw {@code ArithmeticException}</td> - *</table> + * </tbody> + * </table> * * * <p>This {@code enum} is intended to replace the integer-based @@ -100,10 +104,13 @@ * value. * *<p>Example: - *<table border> + *<table class="plain"> * <caption><b>Rounding mode UP Examples</b></caption> + *<thead> *<tr style="vertical-align:top"><th>Input Number</th> * <th>Input rounded to one digit<br> with {@code UP} rounding + *</thead> + *<tbody> *<tr style="text-align:right"><td>5.5</td> <td>6</td> *<tr style="text-align:right"><td>2.5</td> <td>3</td> *<tr style="text-align:right"><td>1.6</td> <td>2</td> @@ -114,6 +121,7 @@ *<tr style="text-align:right"><td>-1.6</td> <td>-2</td> *<tr style="text-align:right"><td>-2.5</td> <td>-3</td> *<tr style="text-align:right"><td>-5.5</td> <td>-6</td> + *</tbody> *</table> */ UP(BigDecimal.ROUND_UP), @@ -124,10 +132,13 @@ * rounding mode never increases the magnitude of the calculated value. * *<p>Example: - *<table border> + *<table class="plain"> * <caption><b>Rounding mode DOWN Examples</b></caption> + *<thead> *<tr style="vertical-align:top"><th>Input Number</th> * <th>Input rounded to one digit<br> with {@code DOWN} rounding + *</thead> + *<tbody> *<tr style="text-align:right"><td>5.5</td> <td>5</td> *<tr style="text-align:right"><td>2.5</td> <td>2</td> *<tr style="text-align:right"><td>1.6</td> <td>1</td> @@ -138,6 +149,7 @@ *<tr style="text-align:right"><td>-1.6</td> <td>-1</td> *<tr style="text-align:right"><td>-2.5</td> <td>-2</td> *<tr style="text-align:right"><td>-5.5</td> <td>-5</td> + *</tbody> *</table> */ DOWN(BigDecimal.ROUND_DOWN), @@ -149,10 +161,13 @@ * that this rounding mode never decreases the calculated value. * *<p>Example: - *<table border> + *<table class="plain"> * <caption><b>Rounding mode CEILING Examples</b></caption> + *<thead> *<tr style="vertical-align:top"><th>Input Number</th> * <th>Input rounded to one digit<br> with {@code CEILING} rounding + *</thead> + *<tbody> *<tr style="text-align:right"><td>5.5</td> <td>6</td> *<tr style="text-align:right"><td>2.5</td> <td>3</td> *<tr style="text-align:right"><td>1.6</td> <td>2</td> @@ -163,6 +178,7 @@ *<tr style="text-align:right"><td>-1.6</td> <td>-1</td> *<tr style="text-align:right"><td>-2.5</td> <td>-2</td> *<tr style="text-align:right"><td>-5.5</td> <td>-5</td> + *</tbody> *</table> */ CEILING(BigDecimal.ROUND_CEILING), @@ -174,10 +190,13 @@ * this rounding mode never increases the calculated value. * *<p>Example: - *<table border> + *<table class="plain"> * <caption><b>Rounding mode FLOOR Examples</b></caption> + *<thead> *<tr style="vertical-align:top"><th>Input Number</th> * <th>Input rounded to one digit<br> with {@code FLOOR} rounding + *</thead> + *<tbody> *<tr style="text-align:right"><td>5.5</td> <td>5</td> *<tr style="text-align:right"><td>2.5</td> <td>2</td> *<tr style="text-align:right"><td>1.6</td> <td>1</td> @@ -188,6 +207,7 @@ *<tr style="text-align:right"><td>-1.6</td> <td>-2</td> *<tr style="text-align:right"><td>-2.5</td> <td>-3</td> *<tr style="text-align:right"><td>-5.5</td> <td>-6</td> + *</tbody> *</table> */ FLOOR(BigDecimal.ROUND_FLOOR), @@ -201,10 +221,13 @@ * mode commonly taught at school. * *<p>Example: - *<table border> + *<table class="plain"> * <caption><b>Rounding mode HALF_UP Examples</b></caption> + *<thead> *<tr style="vertical-align:top"><th>Input Number</th> * <th>Input rounded to one digit<br> with {@code HALF_UP} rounding + *</thead> + *<tbody> *<tr style="text-align:right"><td>5.5</td> <td>6</td> *<tr style="text-align:right"><td>2.5</td> <td>3</td> *<tr style="text-align:right"><td>1.6</td> <td>2</td> @@ -215,6 +238,7 @@ *<tr style="text-align:right"><td>-1.6</td> <td>-2</td> *<tr style="text-align:right"><td>-2.5</td> <td>-3</td> *<tr style="text-align:right"><td>-5.5</td> <td>-6</td> + *</tbody> *</table> */ HALF_UP(BigDecimal.ROUND_HALF_UP), @@ -227,10 +251,13 @@ * {@code RoundingMode.DOWN}. * *<p>Example: - *<table border> + *<table class="plain"> * <caption><b>Rounding mode HALF_DOWN Examples</b></caption> + *<thead> *<tr style="vertical-align:top"><th>Input Number</th> * <th>Input rounded to one digit<br> with {@code HALF_DOWN} rounding + *</thead> + *<tbody> *<tr style="text-align:right"><td>5.5</td> <td>5</td> *<tr style="text-align:right"><td>2.5</td> <td>2</td> *<tr style="text-align:right"><td>1.6</td> <td>2</td> @@ -241,6 +268,7 @@ *<tr style="text-align:right"><td>-1.6</td> <td>-2</td> *<tr style="text-align:right"><td>-2.5</td> <td>-2</td> *<tr style="text-align:right"><td>-5.5</td> <td>-5</td> + *</tbody> *</table> */ HALF_DOWN(BigDecimal.ROUND_HALF_DOWN), @@ -260,10 +288,13 @@ * arithmetic in Java. * *<p>Example: - *<table border> + *<table class="plain"> * <caption><b>Rounding mode HALF_EVEN Examples</b></caption> + *<thead> *<tr style="vertical-align:top"><th>Input Number</th> * <th>Input rounded to one digit<br> with {@code HALF_EVEN} rounding + *</thead> + *<tbody> *<tr style="text-align:right"><td>5.5</td> <td>6</td> *<tr style="text-align:right"><td>2.5</td> <td>2</td> *<tr style="text-align:right"><td>1.6</td> <td>2</td> @@ -274,6 +305,7 @@ *<tr style="text-align:right"><td>-1.6</td> <td>-2</td> *<tr style="text-align:right"><td>-2.5</td> <td>-2</td> *<tr style="text-align:right"><td>-5.5</td> <td>-6</td> + *</tbody> *</table> */ HALF_EVEN(BigDecimal.ROUND_HALF_EVEN), @@ -284,10 +316,13 @@ * specified on an operation that yields an inexact result, an * {@code ArithmeticException} is thrown. *<p>Example: - *<table border> + *<table class="plain"> * <caption><b>Rounding mode UNNECESSARY Examples</b></caption> + *<thead> *<tr style="vertical-align:top"><th>Input Number</th> * <th>Input rounded to one digit<br> with {@code UNNECESSARY} rounding + *</thead> + *<tbody> *<tr style="text-align:right"><td>5.5</td> <td>throw {@code ArithmeticException}</td> *<tr style="text-align:right"><td>2.5</td> <td>throw {@code ArithmeticException}</td> *<tr style="text-align:right"><td>1.6</td> <td>throw {@code ArithmeticException}</td> @@ -298,6 +333,7 @@ *<tr style="text-align:right"><td>-1.6</td> <td>throw {@code ArithmeticException}</td> *<tr style="text-align:right"><td>-2.5</td> <td>throw {@code ArithmeticException}</td> *<tr style="text-align:right"><td>-5.5</td> <td>throw {@code ArithmeticException}</td> + *</tbody> *</table> */ UNNECESSARY(BigDecimal.ROUND_UNNECESSARY);
--- a/jdk/src/java.base/share/classes/java/net/Inet4Address.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/net/Inet4Address.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,12 +41,12 @@ * Textual representation of IPv4 address used as input to methods * takes one of the following forms: * - * <blockquote><table cellpadding=0 cellspacing=0 summary="layout"> - * <tr><td>{@code d.d.d.d}</td></tr> - * <tr><td>{@code d.d.d}</td></tr> - * <tr><td>{@code d.d}</td></tr> - * <tr><td>{@code d}</td></tr> - * </table></blockquote> + * <blockquote><ul style="list-style-type:none"> + * <li>{@code d.d.d.d}</li> + * <li>{@code d.d.d}</li> + * <li>{@code d.d}</li> + * <li>{@code d}</li> + * </ul></blockquote> * * <p> When four parts are specified, each is interpreted as a byte of * data and assigned, from left to right, to the four bytes of an IPv4
--- a/jdk/src/java.base/share/classes/java/net/Inet6Address.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/net/Inet6Address.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -49,9 +49,9 @@ * the hexadecimal values of the eight 16-bit pieces of the * address. This is the full form. For example, * - * <blockquote><table cellpadding=0 cellspacing=0 summary="layout"> - * <tr><td>{@code 1080:0:0:0:8:800:200C:417A}<td></tr> - * </table></blockquote> + * <blockquote><ul style="list-style-type:none"> + * <li>{@code 1080:0:0:0:8:800:200C:417A}</li> + * </ul></blockquote> * * <p> Note that it is not necessary to write the leading zeros in * an individual field. However, there must be at least one numeral @@ -66,9 +66,9 @@ * The "::" can also be used to compress the leading and/or trailing * zeros in an address. For example, * - * <blockquote><table cellpadding=0 cellspacing=0 summary="layout"> - * <tr><td>{@code 1080::8:800:200C:417A}<td></tr> - * </table></blockquote> + * <blockquote><ul style="list-style-type:none"> + * <li>{@code 1080::8:800:200C:417A}</li> + * </ul></blockquote> * * <li><p> An alternative form that is sometimes more convenient * when dealing with a mixed environment of IPv4 and IPv6 nodes is @@ -77,35 +77,35 @@ * are the decimal values of the four low-order 8-bit pieces of the * standard IPv4 representation address, for example, * - * <blockquote><table cellpadding=0 cellspacing=0 summary="layout"> - * <tr><td>{@code ::FFFF:129.144.52.38}<td></tr> - * <tr><td>{@code ::129.144.52.38}<td></tr> - * </table></blockquote> + * <blockquote><ul style="list-style-type:none"> + * <li>{@code ::FFFF:129.144.52.38}</li> + * <li>{@code ::129.144.52.38}</li> + * </ul></blockquote> * * <p> where "::FFFF:d.d.d.d" and "::d.d.d.d" are, respectively, the * general forms of an IPv4-mapped IPv6 address and an * IPv4-compatible IPv6 address. Note that the IPv4 portion must be * in the "d.d.d.d" form. The following forms are invalid: * - * <blockquote><table cellpadding=0 cellspacing=0 summary="layout"> - * <tr><td>{@code ::FFFF:d.d.d}<td></tr> - * <tr><td>{@code ::FFFF:d.d}<td></tr> - * <tr><td>{@code ::d.d.d}<td></tr> - * <tr><td>{@code ::d.d}<td></tr> - * </table></blockquote> + * <blockquote><ul style="list-style-type:none"> + * <li>{@code ::FFFF:d.d.d}</li> + * <li>{@code ::FFFF:d.d}</li> + * <li>{@code ::d.d.d}</li> + * <li>{@code ::d.d}</li> + * </ul></blockquote> * * <p> The following form: * - * <blockquote><table cellpadding=0 cellspacing=0 summary="layout"> - * <tr><td>{@code ::FFFF:d}<td></tr> - * </table></blockquote> + * <blockquote><ul style="list-style-type:none"> + * <li>{@code ::FFFF:d}</li> + * </ul></blockquote> * * <p> is valid, however it is an unconventional representation of * the IPv4-compatible IPv6 address, * - * <blockquote><table cellpadding=0 cellspacing=0 summary="layout"> - * <tr><td>{@code ::255.255.0.d}<td></tr> - * </table></blockquote> + * <blockquote><ul style="list-style-type:none"> + * <li>{@code ::255.255.0.d}</li> + * </ul></blockquote> * * <p> while "::d" corresponds to the general IPv6 address * "0:0:0:0:0:0:0:d".</li> @@ -119,9 +119,10 @@ * <h4> Special IPv6 address </h4> * * <blockquote> - * <table cellspacing=2 summary="Description of IPv4-mapped address"> - * <tr><th valign=top><i>IPv4-mapped address</i></th> - * <td>Of the form::ffff:w.x.y.z, this IPv6 address is used to + * <table class="borderless"> + * <caption style="display:none">Description of IPv4-mapped address</caption> + * <tr><th style="vertical-align:top; padding-right:2px"><i>IPv4-mapped address</i></th> + * <td>Of the form ::ffff:w.x.y.z, this IPv6 address is used to * represent an IPv4 address. It allows the native program to * use the same address data structure and also the same * socket when communicating with both IPv4 and IPv6 nodes.
--- a/jdk/src/java.base/share/classes/java/net/InetAddress.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/net/InetAddress.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved. * 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,9 @@ * * <h3> Address types </h3> * - * <blockquote><table cellspacing=2 summary="Description of unicast and multicast address types"> + * <blockquote><table class="borderless"> + * <caption style="display:none">Description of unicast and multicast address types</caption> + * <tbody> * <tr><th valign=top><i>unicast</i></th> * <td>An identifier for a single interface. A packet sent to * a unicast address is delivered to the interface identified by @@ -96,6 +98,7 @@ * <td>An identifier for a set of interfaces (typically belonging * to different nodes). A packet sent to a multicast address is * delivered to all interfaces identified by that address.</td></tr> + * </tbody> * </table></blockquote> * * <h4> IP address scope </h4>
--- a/jdk/src/java.base/share/classes/java/net/NetPermission.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/net/NetPermission.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * 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,12 +47,16 @@ * and for each provides a description of what the permission allows * and a discussion of the risks of granting code the permission. * - * <table border=1 cellpadding=5 summary="Permission target name, what the permission allows, and associated risks"> + * <table class="striped"> + * <caption style="display:none">Permission target name, what the permission allows, and associated risks</caption> + * <thead> * <tr> * <th>Permission Target Name</th> * <th>What the Permission Allows</th> * <th>Risks of Allowing this Permission</th> * </tr> + * </thead> + * <tbody> * <tr> * <td>allowHttpTrace</td> * <td>The ability to use the HTTP TRACE method in HttpURLConnection.</td> @@ -151,6 +155,7 @@ * creating a ProtectionDomain/CodeSource for a class even though * that class really didn't come from that location.</td> * </tr> + </tbody> * </table> * * @see java.security.BasicPermission
--- a/jdk/src/java.base/share/classes/java/net/URI.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/net/URI.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -83,11 +83,11 @@ * not begin with a slash character ({@code '/'}). Opaque URIs are not * subject to further parsing. Some examples of opaque URIs are: * - * <blockquote><table cellpadding=0 cellspacing=0 summary="layout"> - * <tr><td>{@code mailto:java-net@java.sun.com}<td></tr> - * <tr><td>{@code news:comp.lang.java}<td></tr> - * <tr><td>{@code urn:isbn:096139210x}</td></tr> - * </table></blockquote> + * <blockquote><ul style="list-style-type:none"> + * <li>{@code mailto:java-net@java.sun.com}</li> + * <li>{@code news:comp.lang.java}</li> + * <li>{@code urn:isbn:096139210x}</li> + * </ul></blockquote> * * <p> A <i>hierarchical</i> URI is either an absolute URI whose * scheme-specific part begins with a slash character, or a relative URI, that @@ -132,8 +132,12 @@ * * <p> All told, then, a URI instance has the following nine components: * - * <blockquote><table summary="Describes the components of a URI:scheme,scheme-specific-part,authority,user-info,host,port,path,query,fragment"> + * <blockquote><table class="borderless"> + * <caption style="display:none">Describes the components of a URI:scheme,scheme-specific-part,authority,user-info,host,port,path,query,fragment</caption> + * <thead> * <tr><th><i>Component</i></th><th><i>Type</i></th></tr> + * </thead> + * <tbody> * <tr><td>scheme</td><td>{@code String}</td></tr> * <tr><td>scheme-specific-part </td><td>{@code String}</td></tr> * <tr><td>authority</td><td>{@code String}</td></tr> @@ -143,6 +147,7 @@ * <tr><td>path</td><td>{@code String}</td></tr> * <tr><td>query</td><td>{@code String}</td></tr> * <tr><td>fragment</td><td>{@code String}</td></tr> + * </tbody> * </table></blockquote> * * In a given instance any particular component is either <i>undefined</i> or @@ -248,7 +253,9 @@ * which are taken from that specification, are used below to describe these * constraints: * - * <blockquote><table cellspacing=2 summary="Describes categories alpha,digit,alphanum,unreserved,punct,reserved,escaped,and other"> + * <blockquote><table> + * <caption style="display:none">Describes categories alpha,digit,alphanum,unreserved,punct,reserved,escaped,and other</caption> + * <tbody> * <tr><th valign=top><i>alpha</i></th> * <td>The US-ASCII alphabetic characters, * {@code 'A'} through {@code 'Z'} @@ -279,6 +286,7 @@ * java.lang.Character#isSpaceChar(char) Character.isSpaceChar} * method) <i>(<b>Deviation from RFC 2396</b>, which is * limited to US-ASCII)</i></td></tr> + * </tbody> * </table></blockquote> * * <p><a id="legal-chars"></a> The set of all legal URI characters consists of
--- a/jdk/src/java.base/share/classes/java/net/URLConnection.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/net/URLConnection.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -54,13 +54,18 @@ * read from and to write to the resource referenced by the URL. In * general, creating a connection to a URL is a multistep process: * - * <div style="text-align:center"><table style="margin:0 auto" border=2 summary="Describes the process of creating a connection to a URL: openConnection() and connect() over time."> + * <div style="text-align:center"><table class="plain" style="margin:0 auto"> + * <caption style="display:none">Describes the process of creating a connection to a URL: openConnection() and connect() over time.</caption> + * <thead> * <tr><th>{@code openConnection()}</th> * <th>{@code connect()}</th></tr> + * </thead> + * <tbody> * <tr><td>Manipulate parameters that affect the connection to the remote * resource.</td> * <td>Interact with the resource; query header fields and * contents.</td></tr> + * </tbody> * </table> * ----------------------------> * <br>time</div>
--- a/jdk/src/java.base/share/classes/java/net/URLPermission.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/net/URLPermission.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved. * 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,9 +72,12 @@ * separated by '/' characters. <i>path</i> may also be empty. The path is specified * in a similar way to the path in {@link java.io.FilePermission}. There are * three different ways as the following examples show: - * <table border> + * <table class="plain"> * <caption>URL Examples</caption> + * <thead> * <tr><th>Example url</th><th>Description</th></tr> + * </thead> + * <tbody> * <tr><td style="white-space:nowrap;">http://www.oracle.com/a/b/c.html</td> * <td>A url which identifies a specific (single) resource</td> * </tr> @@ -90,6 +93,7 @@ * example). * </td> * </tr> + * </tbody> * </table> * <p> * The '*' and '-' may only be specified in the final segment of a path and must be @@ -246,9 +250,12 @@ * <li>otherwise, return false</li> * </ul> * <p>Some examples of how paths are matched are shown below: - * <table border> + * <table class="plain"> * <caption>Examples of Path Matching</caption> + * <thead> * <tr><th>this's path</th><th>p's path</th><th>match</th></tr> + * </thead> + * <tbody> * <tr><td>/a/b</td><td>/a/b</td><td>yes</td></tr> * <tr><td>/a/b/*</td><td>/a/b/c</td><td>yes</td></tr> * <tr><td>/a/b/*</td><td>/a/b/c/d</td><td>no</td></tr> @@ -256,6 +263,7 @@ * <tr><td>/a/b/-</td><td>/a/b/c/d/e</td><td>yes</td></tr> * <tr><td>/a/b/-</td><td>/a/b/c/*</td><td>yes</td></tr> * <tr><td>/a/b/*</td><td>/a/b/c/-</td><td>no</td></tr> + * </tbody> * </table> */ public boolean implies(Permission p) {
--- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -60,11 +60,15 @@ * default group is not configured then the pooled threads of the default group * are {@link Thread#isDaemon daemon} threads. * - * <table border summary="System properties"> + * <table class="striped"> + * <caption style="display:none:">System properties</caption> + * <thead> * <tr> * <th>System property</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td> {@code java.nio.channels.DefaultThreadPool.threadFactory} </td> * <td> The value of this property is taken to be the fully-qualified name @@ -86,6 +90,7 @@ * unspecified error to be thrown during the construction of the default * group. </td> * </tr> + * </tbody> * </table> * * <a id="threading"></a><h2>Threading</h2>
--- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -133,8 +133,12 @@ * <p> In addition to {@code READ} and {@code WRITE}, the following options * may be present: * - * <table border=1 cellpadding=5 summary=""> + * <table class="striped"> + * <caption style="display:none">additional options</caption> + * <thead> * <tr> <th>Option</th> <th>Description</th> </tr> + * </thead> + * <tbody> * <tr> * <td> {@link StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING} </td> * <td> When opening an existing file, the file is first truncated to a @@ -186,6 +190,7 @@ * href="../file/package-summary.html#integrity"> Synchronized I/O file * integrity</a>). </td> * </tr> + * </tbody> * </table> * * <p> An implementation may also support additional options.
--- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * 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,11 +52,15 @@ * <p> Socket options are configured using the {@link #setOption(SocketOption,Object) * setOption} method. Channels of this type support the following options: * <blockquote> - * <table border summary="Socket options"> + * <table class="striped"> + * <caption style="display:none">Socket options</caption> + * <thead> * <tr> * <th>Option Name</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </td> * <td> The size of the socket receive buffer </td> @@ -65,6 +69,7 @@ * <td> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </td> * <td> Re-use address </td> * </tr> + * </tbody> * </table> * </blockquote> * Additional (implementation specific) options may also be supported.
--- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousSocketChannel.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousSocketChannel.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -62,11 +62,15 @@ * <p> Socket options are configured using the {@link #setOption(SocketOption,Object) * setOption} method. Asynchronous socket channels support the following options: * <blockquote> - * <table border summary="Socket options"> + * <table class="striped"> + * <caption style="display:none">Socket options</caption> + * <thead> * <tr> * <th>Option Name</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td> {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} </td> * <td> The size of the socket send buffer </td> @@ -87,6 +91,7 @@ * <td> {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} </td> * <td> Disable the Nagle algorithm </td> * </tr> + * </tbody> * </table> * </blockquote> * Additional (implementation specific) options may also be supported.
--- a/jdk/src/java.base/share/classes/java/nio/channels/DatagramChannel.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/channels/DatagramChannel.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -57,11 +57,15 @@ * setOption} method. A datagram channel to an Internet Protocol socket supports * the following options: * <blockquote> - * <table border summary="Socket options"> + * <table class="striped"> + * <caption style="display:none">Socket options</caption> + * <thead> * <tr> * <th>Option Name</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td> {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} </td> * <td> The size of the socket send buffer </td> @@ -97,6 +101,7 @@ * IP_MULTICAST_LOOP} </td> * <td> Loopback for Internet Protocol (IP) multicast datagrams </td> * </tr> + * </tbody> * </table> * </blockquote> * Additional (implementation specific) options may also be supported.
--- a/jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -174,8 +174,12 @@ * <p> In the addition to {@code READ} and {@code WRITE}, the following * options may be present: * - * <table border=1 cellpadding=5 summary=""> + * <table class="striped"> + * <caption style="display:none">additional options</caption> + * <thead> * <tr> <th>Option</th> <th>Description</th> </tr> + * </thead> + * <tbody> * <tr> * <td> {@link StandardOpenOption#APPEND APPEND} </td> * <td> If this option is present then the file is opened for writing and @@ -237,6 +241,7 @@ * href="../file/package-summary.html#integrity"> Synchronized I/O file * integrity</a>). </td> * </tr> + * </tbody> * </table> * * <p> An implementation may also support additional options.
--- a/jdk/src/java.base/share/classes/java/nio/channels/ServerSocketChannel.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/channels/ServerSocketChannel.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -46,11 +46,15 @@ * <p> Socket options are configured using the {@link #setOption(SocketOption,Object) * setOption} method. Server-socket channels support the following options: * <blockquote> - * <table border summary="Socket options"> + * <table class="striped"> + * <caption style="display:none">Socket options</caption> + * <thead> * <tr> * <th>Option Name</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </td> * <td> The size of the socket receive buffer </td> @@ -59,6 +63,7 @@ * <td> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </td> * <td> Re-use address </td> * </tr> + * </tbody> * </table> * </blockquote> * Additional (implementation specific) options may also be supported.
--- a/jdk/src/java.base/share/classes/java/nio/channels/SocketChannel.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/channels/SocketChannel.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * 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,11 +66,15 @@ * <p> Socket options are configured using the {@link #setOption(SocketOption,Object) * setOption} method. Socket channels support the following options: * <blockquote> - * <table border summary="Socket options"> + * <table class="striped"> + * <caption style="display:none">Socket options</caption> + * <thead> * <tr> * <th>Option Name</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td> {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} </td> * <td> The size of the socket send buffer </td> @@ -96,6 +100,7 @@ * <td> {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} </td> * <td> Disable the Nagle algorithm </td> * </tr> + * </tbody> * </table> * </blockquote> * Additional (implementation specific) options may also be supported.
--- a/jdk/src/java.base/share/classes/java/nio/charset/Charset.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/charset/Charset.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -147,8 +147,12 @@ * implementation to see if any other charsets are supported. The behavior * of such optional charsets may differ between implementations. * - * <blockquote><table style="width:80%" summary="Description of standard charsets"> + * <blockquote><table class="striped" style="width:80%"> + * <caption style="display:none">Description of standard charsets</caption> + * <thead> * <tr><th style="text-align:left">Charset</th><th style="text-align:left">Description</th></tr> + * </thead> + * <tbody> * <tr><td style="vertical-align:top">{@code US-ASCII}</td> * <td>Seven-bit ASCII, a.k.a. {@code ISO646-US}, * a.k.a. the Basic Latin block of the Unicode character set</td></tr> @@ -165,6 +169,7 @@ * <tr><td style="vertical-align:top">{@code UTF-16}</td> * <td>Sixteen-bit UCS Transformation Format, * byte order identified by an optional byte-order mark</td></tr> + * </tbody> * </table></blockquote> * * <p> The {@code UTF-8} charset is specified by <a
--- a/jdk/src/java.base/share/classes/java/nio/file/FileSystem.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/file/FileSystem.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -315,7 +315,9 @@ * that resembles regular expressions but with a simpler syntax. For example: * * <blockquote> - * <table border="0" summary="Pattern Language"> + * <table class="borderless"> + * <caption style="display:none">Pattern Language</caption> + * <tbody> * <tr> * <td>{@code *.java}</td> * <td>Matches a path that represents a file name ending in {@code .java}</td> @@ -348,7 +350,7 @@ * platform (note that the backslash is escaped; as a string literal in the * Java Language the pattern would be <code>"C:\\\\*"</code>) </td> * </tr> - * + * </tbody> * </table> * </blockquote> *
--- a/jdk/src/java.base/share/classes/java/nio/file/Files.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/file/Files.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -233,8 +233,12 @@ * <p> In the addition to {@code READ} and {@code WRITE}, the following * options may be present: * - * <table border=1 cellpadding=5 summary="Options"> + * <table class="striped"> + * <caption style="display:none">Options</caption> + * <thead> * <tr> <th>Option</th> <th>Description</th> </tr> + * </thead> + * <tbody> * <tr> * <td> {@link StandardOpenOption#APPEND APPEND} </td> * <td> If this option is present then the file is opened for writing and @@ -294,6 +298,7 @@ * href="package-summary.html#integrity"> Synchronized I/O file * integrity</a>). </td> * </tr> + * </tbody> * </table> * * <p> An implementation may also support additional implementation specific @@ -1188,8 +1193,12 @@ * * <p> The {@code options} parameter may include any of the following: * - * <table border=1 cellpadding=5 summary=""> + * <table class="striped"> + * <caption style="display:none">Options</caption> + * <thead> * <tr> <th>Option</th> <th>Description</th> </tr> + * </thead> + * <tbody> * <tr> * <td> {@link StandardCopyOption#REPLACE_EXISTING REPLACE_EXISTING} </td> * <td> If the target file exists, then the target file is replaced if it @@ -1215,6 +1224,7 @@ * new link. In other words, the {@code COPY_ATTRIBUTES} option may be * ignored when copying a symbolic link. </td> * </tr> + * </tbody> * </table> * * <p> An implementation of this interface may support additional @@ -1306,8 +1316,12 @@ * * <p> The {@code options} parameter may include any of the following: * - * <table border=1 cellpadding=5 summary=""> + * <table class="striped"> + * <caption style="display:none">Options</caption> + * <thead> * <tr> <th>Option</th> <th>Description</th> </tr> + * </thead> + * <tbody> * <tr> * <td> {@link StandardCopyOption#REPLACE_EXISTING REPLACE_EXISTING} </td> * <td> If the target file exists, then the target file is replaced if it @@ -1326,6 +1340,7 @@ * example, when the target location is on a different {@code FileStore} * and would require that the file be copied, or target location is * associated with a different provider to this object. </td> + * </tbody> * </table> * * <p> An implementation of this interface may support additional @@ -1909,7 +1924,9 @@ * attributes} parameter: * * <blockquote> - * <table border="0" summary="Possible values"> + * <table class="borderless"> + * <caption style="display:none">Possible values</caption> + * <tbody> * <tr> * <td> {@code "*"} </td> * <td> Read all {@link BasicFileAttributes basic-file-attributes}. </td> @@ -1927,6 +1944,7 @@ * <td> {@code "posix:permissions,owner,size"} </td> * <td> Reads the POSIX file permissions, owner, and file size. </td> * </tr> + * </tbody> * </table> * </blockquote> *
--- a/jdk/src/java.base/share/classes/java/nio/file/LinkPermission.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/file/LinkPermission.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * 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,13 +33,16 @@ * <p> The following table provides a summary description of what the permission * allows, and discusses the risks of granting code the permission. * - * <table border=1 cellpadding=5 - * summary="Table shows permission target name, what the permission allows, and associated risks"> + * <table class="striped"> + * <caption style="display:none">Table shows permission target name, what the permission allows, and associated risks</caption> + * <thead> * <tr> * <th>Permission Target Name</th> * <th>What the Permission Allows</th> * <th>Risks of Allowing this Permission</th> * </tr> + * </thead> + * <tbody> * <tr> * <td>hard</td> * <td> Ability to add an existing file to a directory. This is sometimes @@ -55,6 +58,7 @@ * linking to any file or directory in the file system thus allowing the * attacker to access to all files. </td> * </tr> + * </tbody> * </table> * * @since 1.7
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/AclFileAttributeView.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/AclFileAttributeView.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * 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,11 +94,15 @@ * <p> Where dynamic access to file attributes is required, the attributes * supported by this attribute view are as follows: * <blockquote> - * <table border="1" cellpadding="8" summary="Supported attributes"> + * <table class="striped"> + * <caption style="display:none">Supported attributes</caption> + * <thead> * <tr> * <th> Name </th> * <th> Type </th> * </tr> + * </thead> + * <tbody> * <tr> * <td> "acl" </td> * <td> {@link List}<{@link AclEntry}> </td> @@ -107,6 +111,7 @@ * <td> "owner" </td> * <td> {@link UserPrincipal} </td> * </tr> + * </tbody> * </table> * </blockquote> *
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/BasicFileAttributeView.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/BasicFileAttributeView.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,11 +41,15 @@ * <p> Where dynamic access to file attributes is required, the attributes * supported by this attribute view have the following names and types: * <blockquote> - * <table border="1" cellpadding="8" summary="Supported attributes"> + * <table class="striped"> + * <caption style="display:none">Supported attributes</caption> + * <thead> * <tr> * <th> Name </th> * <th> Type </th> * </tr> + * </thead> + * <tbody> * <tr> * <td> "lastModifiedTime" </td> * <td> {@link FileTime} </td> @@ -82,6 +86,7 @@ * <td> "fileKey" </td> * <td> {@link Object} </td> * </tr> + * </tbody> * </table> * </blockquote> *
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/DosFileAttributeView.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/DosFileAttributeView.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,11 +41,15 @@ * BasicFileAttributeView}, and in addition, the following attributes are * supported: * <blockquote> - * <table border="1" cellpadding="8" summary="Supported attributes"> + * <table class="striped"> + * <caption style="display:none">Supported attributes</caption> + * <thead> * <tr> * <th> Name </th> * <th> Type </th> * </tr> + * </thead> + * <tbody> * <tr> * <td> readonly </td> * <td> {@link Boolean} </td> @@ -62,6 +66,7 @@ * <td> archive </td> * <td> {@link Boolean} </td> * </tr> + * </tbody> * </table> * </blockquote> *
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/PosixFileAttributeView.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/PosixFileAttributeView.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -74,11 +74,15 @@ * BasicFileAttributeView} and {@link FileOwnerAttributeView}, and in addition, * the following attributes are supported: * <blockquote> - * <table border="1" cellpadding="8" summary="Supported attributes"> + * <table class="striped"> + * <caption style="display:none">Supported attributes</caption> + * <thead> * <tr> * <th> Name </th> * <th> Type </th> * </tr> + * </thead> + * <tbody> * <tr> * <td> "permissions" </td> * <td> {@link Set}<{@link PosixFilePermission}> </td> @@ -87,6 +91,7 @@ * <td> "group" </td> * <td> {@link GroupPrincipal} </td> * </tr> + * </tbody> * </table> * </blockquote> *
--- a/jdk/src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -919,8 +919,12 @@ * according to all of access modes specified in the {@code modes} parameter * as follows: * - * <table border=1 cellpadding=5 summary=""> + * <table class="striped"> + * <caption style="display:none">Access Modes</caption> + * <thead> * <tr> <th>Value</th> <th>Description</th> </tr> + * </thead> + * <tbody> * <tr> * <td> {@link AccessMode#READ READ} </td> * <td> Checks that the file exists and that the Java virtual machine has @@ -940,6 +944,7 @@ * virtual machine has permission to search the directory in order to * access file or subdirectories. </td> * </tr> + * </tbody> * </table> * * <p> If the {@code modes} parameter is of length zero, then the existence
--- a/jdk/src/java.base/share/classes/java/security/AlgorithmParameterGenerator.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/AlgorithmParameterGenerator.java Wed Jul 05 23:30:17 2017 +0200 @@ -75,9 +75,9 @@ * <li>{@code DSA} (1024, 2048)</li> * </ul> * These algorithms are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameterGenerator"> + * "{@docRoot}/../specs/security/standard-names.html#algorithmparametergenerator-algorithms"> * AlgorithmParameterGenerator section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -150,8 +150,8 @@ * @param algorithm the name of the algorithm this * parameter generator is associated with. * See the AlgorithmParameterGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameterGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#algorithmparametergenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the new {@code AlgorithmParameterGenerator} object @@ -195,8 +195,8 @@ * @param algorithm the name of the algorithm this * parameter generator is associated with. * See the AlgorithmParameterGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameterGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#algorithmparametergenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the string name of the Provider. @@ -245,8 +245,8 @@ * @param algorithm the string name of the algorithm this * parameter generator is associated with. * See the AlgorithmParameterGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameterGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#algorithmparametergenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the {@code Provider} object.
--- a/jdk/src/java.base/share/classes/java/security/AlgorithmParameters.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/AlgorithmParameters.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -57,9 +57,9 @@ * <li>{@code DSA}</li> * </ul> * These algorithms are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameters"> + * "{@docRoot}/../specs/security/standard-names.html#algorithmparameters-algorithms"> * AlgorithmParameters section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -137,8 +137,8 @@ * * @param algorithm the name of the algorithm requested. * See the AlgorithmParameters section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameters"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#algorithmparameters-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the new parameter object @@ -182,8 +182,8 @@ * * @param algorithm the name of the algorithm requested. * See the AlgorithmParameters section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameters"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#algorithmparameters-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider. @@ -232,8 +232,8 @@ * * @param algorithm the name of the algorithm requested. * See the AlgorithmParameters section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#AlgorithmParameters"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#algorithmparameters-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider.
--- a/jdk/src/java.base/share/classes/java/security/DrbgParameters.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/DrbgParameters.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. * 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 @@ * @implSpec * By convention, a provider should name its primary DRBG implementation * with the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecureRandom"> + * "{@docRoot}/../specs/security/standard-names.html#securerandom-number-generation-algorithms"> * standard {@code SecureRandom} algorithm name</a> "DRBG". * * @implNote @@ -263,14 +263,19 @@ * Capability effective = ((DrbgParametes.Initiate) s.getParameters()) * .getCapability();</pre> * </blockquote> - * <table border=1 summary="requested and effective capabilities"> + * <table class="plain"> + * <caption style="display:none">requested and effective capabilities</caption> + * <thead> * <tr> * <th>Requested Value</th> * <th>Possible Effective Values</th> * </tr> + * </thead> + * <tbody> * <tr><td>NONE</td><td>NONE, RESEED_ONLY, PR_AND_RESEED</td></tr> * <tr><td>RESEED_ONLY</td><td>RESEED_ONLY, PR_AND_RESEED</td></tr> * <tr><td>PR_AND_RESEED</td><td>PR_AND_RESEED</td></tr> + * </tbody> * </table> * <p> * A DRBG implementation supporting prediction resistance must also
--- a/jdk/src/java.base/share/classes/java/security/Key.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/Key.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -82,7 +82,7 @@ * <p> A Key should use KeyRep as its serialized representation. * Note that a serialized Key may contain sensitive information * which should not be exposed in untrusted environments. See the - * <a href="../../../platform/serialization/spec/security.html"> + * <a href="{@docRoot}/../specs/serialization/security.html"> * Security Appendix</a> * of the Serialization Specification for more information. *
--- a/jdk/src/java.base/share/classes/java/security/KeyFactory.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/KeyFactory.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -75,9 +75,9 @@ * <li>{@code RSA}</li> * </ul> * These algorithms are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyFactory"> + * "{@docRoot}/../specs/security/standard-names.html#keyfactory-algorithms"> * KeyFactory section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -163,8 +163,8 @@ * * @param algorithm the name of the requested key algorithm. * See the KeyFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keyfactory-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the new {@code KeyFactory} object @@ -197,8 +197,8 @@ * * @param algorithm the name of the requested key algorithm. * See the KeyFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keyfactory-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider. @@ -239,8 +239,8 @@ * * @param algorithm the name of the requested key algorithm. * See the KeyFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keyfactory-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/java/security/KeyPairGenerator.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/KeyPairGenerator.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * 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,9 +114,9 @@ * <li>{@code RSA} (1024, 2048, 4096)</li> * </ul> * These algorithms are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyPairGenerator"> + * "{@docRoot}/../specs/security/standard-names.html#keypairgenerator-algorithms"> * KeyPairGenerator section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -142,8 +142,8 @@ * * @param algorithm the standard string name of the algorithm. * See the KeyPairGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyPairGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keypairgenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. */ protected KeyPairGenerator(String algorithm) { @@ -153,8 +153,8 @@ /** * Returns the standard name of the algorithm for this key pair generator. * See the KeyPairGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyPairGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keypairgenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the standard string name of the algorithm. @@ -205,8 +205,8 @@ * * @param algorithm the standard string name of the algorithm. * See the KeyPairGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyPairGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keypairgenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the new {@code KeyPairGenerator} object @@ -264,8 +264,8 @@ * * @param algorithm the standard string name of the algorithm. * See the KeyPairGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyPairGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keypairgenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the string name of the provider. @@ -306,8 +306,8 @@ * * @param algorithm the standard string name of the algorithm. * See the KeyPairGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyPairGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keypairgenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/java/security/KeyRep.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/KeyRep.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * 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 @@ * * Note that a serialized Key may contain sensitive information * which should not be exposed in untrusted environments. See the - * <a href="../../../platform/serialization/spec/security.html"> + * <a href="{@docRoot}/../specs/serialization/security.html"> * Security Appendix</a> * of the Serialization Specification for more information. *
--- a/jdk/src/java.base/share/classes/java/security/KeyStore.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/KeyStore.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -176,9 +176,9 @@ * <li>{@code PKCS12}</li> * </ul> * This type is described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyStore"> + * "{@docRoot}/../specs/security/standard-names.html#keystore-types"> * KeyStore section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other types are supported. * @@ -291,9 +291,8 @@ * @param protectionAlgorithm the encryption algorithm name, for * example, {@code PBEWithHmacSHA256AndAES_256}. * See the Cipher section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Cipher"> - * Java Cryptography Architecture Standard Algorithm Name - * Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#cipher-algorithm-names"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard encryption algorithm names. * @param protectionParameters the encryption algorithm parameter * specification, which may be {@code null} @@ -854,8 +853,8 @@ * * @param type the type of keystore. * See the KeyStore section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyStore"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keystore-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard keystore types. * * @return a keystore object of the specified type @@ -895,8 +894,8 @@ * * @param type the type of keystore. * See the KeyStore section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyStore"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keystore-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard keystore types. * * @param provider the name of the provider. @@ -941,8 +940,8 @@ * * @param type the type of keystore. * See the KeyStore section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyStore"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keystore-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard keystore types. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/java/security/MessageDigest.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/MessageDigest.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * 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,9 +89,9 @@ * <li>{@code SHA-256}</li> * </ul> * These algorithms are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#MessageDigest"> + * "{@docRoot}/../specs/security/standard-names.html#messagedigest-algorithms"> * MessageDigest section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -123,8 +123,8 @@ * * @param algorithm the standard name of the digest algorithm. * See the MessageDigest section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#MessageDigest"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#messagedigest-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. */ protected MessageDigest(String algorithm) { @@ -154,8 +154,8 @@ * * @param algorithm the name of the algorithm requested. * See the MessageDigest section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#MessageDigest"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#messagedigest-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return a {@code MessageDigest} object that implements the @@ -209,8 +209,8 @@ * * @param algorithm the name of the algorithm requested. * See the MessageDigest section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#MessageDigest"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#messagedigest-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider. @@ -262,8 +262,8 @@ * * @param algorithm the name of the algorithm requested. * See the MessageDigest section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#MessageDigest"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#messagedigest-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the provider. @@ -497,8 +497,8 @@ * implementation details. The name should be a standard * Java Security name (such as "SHA", "MD5", and so on). * See the MessageDigest section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#MessageDigest"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#messagedigest-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the name of the algorithm
--- a/jdk/src/java.base/share/classes/java/security/Policy.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/Policy.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -365,8 +365,8 @@ * * @param type the specified Policy type. See the Policy section in the * <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Policy"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#policy-types"> + * Java Security Standard Algorithm Names Specification</a> * for a list of standard Policy types. * * @param params parameters for the Policy, which may be null. @@ -419,8 +419,8 @@ * * @param type the specified Policy type. See the Policy section in the * <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Policy"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#policy-types"> + * Java Security Standard Algorithm Names Specification</a> * for a list of standard Policy types. * * @param params parameters for the Policy, which may be null. @@ -485,8 +485,8 @@ * * @param type the specified Policy type. See the Policy section in the * <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Policy"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#policy-types"> + * Java Security Standard Algorithm Names Specification</a> * for a list of standard Policy types. * * @param params parameters for the Policy, which may be null.
--- a/jdk/src/java.base/share/classes/java/security/Provider.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/Provider.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -61,17 +61,21 @@ * security framework. Services of this type cannot be added, removed, * or modified by applications. * The following attributes are automatically placed in each Provider object: - * <table cellspacing=4> + * <table class="plain"> * <caption><b>Attributes Automatically Placed in a Provider Object</b></caption> + * <thead> * <tr><th>Name</th><th>Value</th> + * </thead> + * <tbody> * <tr><td>{@code Provider.id name}</td> - * <td>{@code String.valueOf(provider.getName())}</td> + * <td>{@code String.valueOf(provider.getName())}</td> * <tr><td>{@code Provider.id version}</td> * <td>{@code String.valueOf(provider.getVersionStr())}</td> * <tr><td>{@code Provider.id info}</td> - <td>{@code String.valueOf(provider.getInfo())}</td> + * <td>{@code String.valueOf(provider.getInfo())}</td> * <tr><td>{@code Provider.id className}</td> * <td>{@code provider.getClass().getName()}</td> + * </tbody> * </table> * * <p>Each provider has a name and a version string. A provider normally
--- a/jdk/src/java.base/share/classes/java/security/SecureRandom.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/SecureRandom.java Wed Jul 05 23:30:17 2017 +0200 @@ -126,7 +126,7 @@ * @implSpec * A {@code SecureRandom} service provider can advertise that it is thread-safe * by setting the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Service">service + * "{@docRoot}/../specs/security/standard-names.html#service-attributes">service * provider attribute</a> "ThreadSafe" to "true" when registering the provider. * Otherwise, this class will instead synchronize access to the following * methods of the {@code SecureRandomSpi} implementation: @@ -203,8 +203,8 @@ * the {@link Security#getProviders() Security.getProviders()} method. * * <p> See the {@code SecureRandom} section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecureRandom"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#securerandom-number-generation-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard RNG algorithm names. */ public SecureRandom() { @@ -244,8 +244,8 @@ * the {@link Security#getProviders() Security.getProviders()} method. * * <p> See the {@code SecureRandom} section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecureRandom"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#securerandom-number-generation-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard RNG algorithm names. * * @param seed the seed. @@ -341,8 +341,8 @@ * * @param algorithm the name of the RNG algorithm. * See the {@code SecureRandom} section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecureRandom"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#securerandom-number-generation-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard RNG algorithm names. * * @return the new {@code SecureRandom} object @@ -380,8 +380,8 @@ * * @param algorithm the name of the RNG algorithm. * See the {@code SecureRandom} section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecureRandom"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#securerandom-number-generation-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard RNG algorithm names. * * @param provider the name of the provider. @@ -424,8 +424,8 @@ * * @param algorithm the name of the RNG algorithm. * See the {@code SecureRandom} section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecureRandom"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#securerandom-number-generation-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard RNG algorithm names. * * @param provider the provider. @@ -478,8 +478,8 @@ * * @param algorithm the name of the RNG algorithm. * See the {@code SecureRandom} section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecureRandom"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#securerandom-number-generation-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard RNG algorithm names. * * @param params the {@code SecureRandomParameters} @@ -528,8 +528,8 @@ * * @param algorithm the name of the RNG algorithm. * See the {@code SecureRandom} section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecureRandom"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#securerandom-number-generation-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard RNG algorithm names. * * @param params the {@code SecureRandomParameters} @@ -581,8 +581,8 @@ * * @param algorithm the name of the RNG algorithm. * See the {@code SecureRandom} section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecureRandom"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#securerandom-number-generation-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard RNG algorithm names. * * @param params the {@code SecureRandomParameters}
--- a/jdk/src/java.base/share/classes/java/security/SecureRandomSpi.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/SecureRandomSpi.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -65,7 +65,7 @@ * will synchronize access to each of the applicable engine methods * (see {@link SecureRandom} for the list of methods). However, if a * {@code SecureRandomSpi} implementation is thread-safe, the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Service"> + * "{@docRoot}/../specs/security/standard-names.html#service-attributes"> * service provider attribute</a> "ThreadSafe" should be set to "true" during * its registration, as follows: * <blockquote><pre>
--- a/jdk/src/java.base/share/classes/java/security/Security.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/Security.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -281,8 +281,8 @@ /** * Gets a specified property for an algorithm. The algorithm name * should be a standard name. See the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * One possible use is by specialized algorithm parsers, which may map @@ -511,8 +511,8 @@ * </ul> * * <p> See the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard cryptographic service names, standard * algorithm names and standard attribute names. * @@ -582,8 +582,8 @@ * </ul> * * <p> See the <a href= - * "../../../technotes/guides/security/StandardNames.html"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard cryptographic service names, standard * algorithm names and standard attribute names. *
--- a/jdk/src/java.base/share/classes/java/security/SecurityPermission.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/SecurityPermission.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * 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,12 +45,16 @@ * target names, and for each provides a description of what the permission * allows and a discussion of the risks of granting code the permission. * - * <table border=1 cellpadding=5 summary="target name,what the permission allows, and associated risks"> + * <table class="striped"> + * <caption style="display:none">target name, what the permission allows, and associated risks</caption> + * <thead> * <tr> * <th>Permission Target Name</th> * <th>What the Permission Allows</th> * <th>Risks of Allowing this Permission</th> * </tr> + * </thead> + * <tbody> * * <tr> * <td>authProvider.{provider name}</td> @@ -196,6 +200,7 @@ * described under the "removeProvider.{provider name}" permission.</td> * </tr> * + * </tbody> * </table> * * <P> @@ -204,13 +209,17 @@ * {@link IdentityScope}, {@link Signer}. Use of them is discouraged. See the * applicable classes for more information. * - * <table border=1 cellpadding=5 summary="target name,what the permission allows, and associated risks"> + * <table class="striped"> + * <caption style="display:none">target name, what the permission allows, and associated risks</caption> + * <thead> * <tr> * <th>Permission Target Name</th> * <th>What the Permission Allows</th> * <th>Risks of Allowing this Permission</th> * </tr> + * </thead> * + * <tbody> * <tr> * <td>insertProvider.{provider name}</td> * <td>Addition of a new provider, with the specified name</td> @@ -308,6 +317,7 @@ * data encrypted under that session key.</td> * </tr> * + * </tbody> * </table> * * @implNote
--- a/jdk/src/java.base/share/classes/java/security/Signature.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/Signature.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -106,9 +106,9 @@ * <li>{@code SHA256withRSA}</li> * </ul> * These algorithms are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Signature"> + * "{@docRoot}/../specs/security/standard-names.html#signature-algorithms"> * Signature section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -164,8 +164,8 @@ * * @param algorithm the standard string name of the algorithm. * See the Signature section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Signature"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#signature-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. */ protected Signature(String algorithm) { @@ -209,8 +209,8 @@ * * @param algorithm the standard name of the algorithm requested. * See the Signature section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Signature"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#signature-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the new {@code Signature} object @@ -332,8 +332,8 @@ * * @param algorithm the name of the algorithm requested. * See the Signature section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Signature"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#signature-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider. @@ -385,8 +385,8 @@ * * @param algorithm the name of the algorithm requested. * See the Signature section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Signature"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#signature-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/java/security/cert/CertPath.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/cert/CertPath.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * 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 @@ * <li>{@code PkiPath}</li> * </ul> * These encodings are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathEncodings"> + * "{@docRoot}/../specs/security/standard-names.html#certpath-encodings"> * CertPath Encodings section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other encodings are supported. * <p>
--- a/jdk/src/java.base/share/classes/java/security/cert/CertPathBuilder.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/cert/CertPathBuilder.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * 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,9 +72,9 @@ * <li>{@code PKIX}</li> * </ul> * This algorithm is described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathBuilder"> + * "{@docRoot}/../specs/security/standard-names.html#certpathbuilder-algorithms"> * CertPathBuilder section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -152,8 +152,8 @@ * * @param algorithm the name of the requested {@code CertPathBuilder} * algorithm. See the CertPathBuilder section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathBuilder"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certpathbuilder-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return a {@code CertPathBuilder} object that implements the @@ -190,8 +190,8 @@ * * @param algorithm the name of the requested {@code CertPathBuilder} * algorithm. See the CertPathBuilder section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathBuilder"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certpathbuilder-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider. @@ -233,8 +233,8 @@ * * @param algorithm the name of the requested {@code CertPathBuilder} * algorithm. See the CertPathBuilder section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathBuilder"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certpathbuilder-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/java/security/cert/CertPathValidator.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/cert/CertPathValidator.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -74,9 +74,9 @@ * <li>{@code PKIX}</li> * </ul> * This algorithm is described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathValidator"> + * "{@docRoot}/../specs/security/standard-names.html#certpathvalidator-algorithms"> * CertPathValidator section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -152,9 +152,9 @@ * {@link Security#getProviders() Security.getProviders()}. * * @param algorithm the name of the requested {@code CertPathValidator} - * algorithm. See the CertPathValidator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathValidator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * algorithm. See the CertPathValidator section in the <a href= + * "{@docRoot}/../specs/security/standard-names.html#certpathvalidator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return a {@code CertPathValidator} object that implements the @@ -190,9 +190,9 @@ * the {@link Security#getProviders() Security.getProviders()} method. * * @param algorithm the name of the requested {@code CertPathValidator} - * algorithm. See the CertPathValidator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathValidator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * algorithm. See the CertPathValidator section in the <a href= + * "{@docRoot}/../specs/security/standard-names.html#certpathvalidator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider. @@ -235,8 +235,8 @@ * * @param algorithm the name of the requested {@code CertPathValidator} * algorithm. See the CertPathValidator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathValidator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certpathvalidator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/java/security/cert/CertStore.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/cert/CertStore.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. * 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,9 +67,9 @@ * <li>{@code Collection}</li> * </ul> * This type is described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertStore"> + * "{@docRoot}/../specs/security/standard-names.html#certstore-types"> * CertStore section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other types are supported. * @@ -212,8 +212,8 @@ * * @param type the name of the requested {@code CertStore} type. * See the CertStore section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertStore"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certstore-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard types. * * @param params the initialization parameters (may be {@code null}). @@ -276,8 +276,8 @@ * * @param type the requested {@code CertStore} type. * See the CertStore section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertStore"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certstore-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard types. * * @param params the initialization parameters (may be {@code null}). @@ -337,8 +337,8 @@ * * @param type the requested {@code CertStore} type. * See the CertStore section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertStore"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certstore-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard types. * * @param params the initialization parameters (may be {@code null}).
--- a/jdk/src/java.base/share/classes/java/security/cert/Certificate.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/cert/Certificate.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -74,8 +74,8 @@ * * @param type the standard name of the certificate type. * See the CertificateFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertificateFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certificatefactory-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard certificate types. */ protected Certificate(String type) {
--- a/jdk/src/java.base/share/classes/java/security/cert/CertificateFactory.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/cert/CertificateFactory.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -101,11 +101,11 @@ * <li>{@code PkiPath}</li> * </ul> * The type and encodings are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertificateFactory"> + * "{@docRoot}/../specs/security/standard-names.html#certificatefactory-types"> * CertificateFactory section</a> and the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathEncodings"> + * "{@docRoot}/../specs/security/standard-names.html#certpath-encodings"> * CertPath Encodings section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other types or encodings are supported. * @@ -172,8 +172,8 @@ * * @param type the name of the requested certificate type. * See the CertificateFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertificateFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certificatefactory-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard certificate types. * * @return a certificate factory object for the specified type @@ -213,8 +213,8 @@ * * @param type the certificate type. * See the CertificateFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertificateFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certificatefactory-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard certificate types. * * @param provider the name of the provider. @@ -260,8 +260,8 @@ * * @param type the certificate type. * See the CertificateFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertificateFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certificatefactory-types"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard certificate types. * @param provider the provider. * @@ -359,8 +359,8 @@ * Returns an iteration of the {@code CertPath} encodings supported * by this certificate factory, with the default encoding first. See * the CertPath Encodings section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathEncodings"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certpath-encodings"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard encoding names and their formats. * <p> * Attempts to modify the returned {@code Iterator} via its @@ -399,8 +399,8 @@ * the data read from the {@code InputStream} inStream. The data * is assumed to be in the specified encoding. See * the CertPath Encodings section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathEncodings"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certpath-encodings"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard encoding names and their formats. * * @param inStream an {@code InputStream} containing the data
--- a/jdk/src/java.base/share/classes/java/security/cert/CertificateFactorySpi.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/cert/CertificateFactorySpi.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -183,8 +183,8 @@ * Returns an iteration of the {@code CertPath} encodings supported * by this certificate factory, with the default encoding first. See * the CertPath Encodings section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#CertPathEncodings"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#certpath-encodings"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard encoding names. * <p> * Attempts to modify the returned {@code Iterator} via its
--- a/jdk/src/java.base/share/classes/java/security/cert/X509Extension.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/cert/X509Extension.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -152,10 +152,14 @@ * by periods. * * <p>For example:<br> - * <table border=groove summary="Examples of OIDs and extension names"> + * <table class="plain"> + * <caption style="display:none">Examples of OIDs and extension names</caption> + * <thead> * <tr> * <th>OID <em>(Object Identifier)</em></th> * <th>Extension Name</th></tr> + * </thead> + * <tbody> * <tr><td>2.5.29.14</td> * <td>SubjectKeyIdentifier</td></tr> * <tr><td>2.5.29.15</td> @@ -176,6 +180,7 @@ * <td>AuthorityKeyIdentifier</td></tr> * <tr><td>2.5.29.36</td> * <td>PolicyConstraints</td></tr> + * </tbody> * </table> * * @param oid the Object Identifier value for the extension.
--- a/jdk/src/java.base/share/classes/java/security/cert/package-info.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/cert/package-info.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -39,10 +39,9 @@ * Certificate Revocation List (CRL) Profile * <li>RFC 2560: X.509 Internet Public Key Infrastructure Online Certificate * Status Protocol - OCSP - * <li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html"> - * <b>Java™ - * Cryptography Architecture Standard Algorithm Name - * Documentation</b></a></li> + * <li><a href="{@docRoot}/../specs/security/standard-names.html"> + * <b>Java™ Security Standard Algorithm Names Specification + * </b></a></li> * </ul> * * <h2>Related Documentation</h2>
--- a/jdk/src/java.base/share/classes/java/security/package-info.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/package-info.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * 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,10 +53,9 @@ * <li>PKCS #8: Private-Key Information Syntax Standard, Version 1.2, * November 1993</li> * - * <li><a href="{@docRoot}/../technotes/guides/security/StandardNames.html"> - * <b>Java™ - * Cryptography Architecture Standard Algorithm Name - * Documentation</b></a></li> + * <li><a href="{@docRoot}/../specs/security/standard-names.html"> + * <b>Java™ Security Standard Algorithm Names Specification + * </b></a></li> * </ul> * * <h2>Related Documentation</h2>
--- a/jdk/src/java.base/share/classes/java/security/spec/EncodedKeySpec.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/spec/EncodedKeySpec.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * 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,8 +67,8 @@ * array are copied to protect against subsequent modification. * @param algorithm the algorithm name of the encoded key * See the KeyFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keyfactory-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * @throws NullPointerException if {@code encodedKey} * or {@code algorithm} is null.
--- a/jdk/src/java.base/share/classes/java/security/spec/PKCS8EncodedKeySpec.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/spec/PKCS8EncodedKeySpec.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * 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,8 +85,8 @@ * the array are copied to protect against subsequent modification. * @param algorithm the algorithm name of the encoded private key * See the KeyFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keyfactory-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * @throws NullPointerException if {@code encodedKey} * or {@code algorithm} is null.
--- a/jdk/src/java.base/share/classes/java/security/spec/X509EncodedKeySpec.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/security/spec/X509EncodedKeySpec.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -75,8 +75,8 @@ * array are copied to protect against subsequent modification. * @param algorithm the algorithm name of the encoded public key * See the KeyFactory section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyFactory"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keyfactory-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * @throws NullPointerException if {@code encodedKey} * or {@code algorithm} is null.
--- a/jdk/src/java.base/share/classes/java/text/DecimalFormat.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/text/DecimalFormat.java Wed Jul 05 23:30:17 2017 +0200 @@ -172,19 +172,22 @@ * are not localized. * * <blockquote> - * <table border=0 cellspacing=3 cellpadding=0 summary="Chart showing symbol, - * location, localized, and meaning."> - * <tr style="background-color: rgb(204, 204, 255);"> + * <table class="striped"> + * <caption style="display:none">Chart showing symbol, location, localized, and meaning.</caption> + * <thead> + * <tr> * <th style="text-align:left">Symbol * <th style="text-align:left">Location * <th style="text-align:left">Localized? * <th style="text-align:left">Meaning + * </thead> + * <tbody> * <tr style="vertical-align:top"> * <td><code>0</code> * <td>Number * <td>Yes * <td>Digit - * <tr style="vertical-align: top; background-color: rgb(238, 238, 255);"> + * <tr style="vertical-align: top"> * <td><code>#</code> * <td>Number * <td>Yes @@ -194,7 +197,7 @@ * <td>Number * <td>Yes * <td>Decimal separator or monetary decimal separator - * <tr style="vertical-align: top; background-color: rgb(238, 238, 255);"> + * <tr style="vertical-align: top"> * <td><code>-</code> * <td>Number * <td>Yes @@ -204,7 +207,7 @@ * <td>Number * <td>Yes * <td>Grouping separator - * <tr style="vertical-align: top; background-color: rgb(238, 238, 255);"> + * <tr style="vertical-align: top"> * <td><code>E</code> * <td>Number * <td>Yes @@ -215,7 +218,7 @@ * <td>Subpattern boundary * <td>Yes * <td>Separates positive and negative subpatterns - * <tr style="vertical-align: top; background-color: rgb(238, 238, 255);"> + * <tr style="vertical-align: top"> * <td><code>%</code> * <td>Prefix or suffix * <td>Yes @@ -225,7 +228,7 @@ * <td>Prefix or suffix * <td>Yes * <td>Multiply by 1000 and show as per mille value - * <tr style="vertical-align: top; background-color: rgb(238, 238, 255);"> + * <tr style="vertical-align: top"> * <td><code>¤</code> (<code>\u00A4</code>) * <td>Prefix or suffix * <td>No @@ -241,6 +244,7 @@ * for example, <code>"'#'#"</code> formats 123 to * <code>"#123"</code>. To create a single quote * itself, use two in a row: <code>"# o''clock"</code>. + * </tbody> * </table> * </blockquote> * @@ -3197,13 +3201,6 @@ isCurrencyFormat = false; useExponentialNotation = false; - // Two variables are used to record the subrange of the pattern - // occupied by phase 1. This is used during the processing of the - // second pattern (the one representing negative numbers) to ensure - // that no deviation exists in phase 1 between the two patterns. - int phaseOneStart = 0; - int phaseOneLength = 0; - int start = 0; for (int j = 1; j >= 0 && start < pattern.length(); --j) { boolean inQuote = false; @@ -3254,9 +3251,6 @@ ch == groupingSeparator || ch == decimalSeparator) { phase = 1; - if (j == 1) { - phaseOneStart = pos; - } --pos; // Reprocess this character continue; } else if (ch == CURRENCY_SIGN) { @@ -3327,17 +3321,29 @@ break; case 1: - // Phase one must be identical in the two sub-patterns. We - // enforce this by doing a direct comparison. While - // processing the first sub-pattern, we just record its - // length. While processing the second, we compare - // characters. - if (j == 1) { - ++phaseOneLength; - } else { - if (--phaseOneLength == 0) { - phase = 2; - affix = suffix; + // The negative subpattern (j = 0) serves only to specify the + // negative prefix and suffix, so all the phase 1 characters + // e.g. digits, zeroDigit, groupingSeparator, + // decimalSeparator, exponent are ignored + if (j == 0) { + while (pos < pattern.length()) { + char negPatternChar = pattern.charAt(pos); + if (negPatternChar == digit + || negPatternChar == zeroDigit + || negPatternChar == groupingSeparator + || negPatternChar == decimalSeparator) { + ++pos; + } else if (pattern.regionMatches(pos, exponent, + 0, exponent.length())) { + pos = pos + exponent.length(); + } else { + // Not a phase 1 character, consider it as + // suffix and parse it in phase 2 + --pos; //process it again in outer loop + phase = 2; + affix = suffix; + break; + } } continue; } @@ -3391,7 +3397,6 @@ while (pos < pattern.length() && pattern.charAt(pos) == zeroDigit) { ++minExponentDigits; - ++phaseOneLength; ++pos; } @@ -3410,7 +3415,6 @@ phase = 2; affix = suffix; --pos; - --phaseOneLength; continue; } break;
--- a/jdk/src/java.base/share/classes/java/text/MessageFormat.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/text/MessageFormat.java Wed Jul 05 23:30:17 2017 +0200 @@ -146,11 +146,15 @@ * shown in the table are illegal. A <i>SubformatPattern</i> must * be a valid pattern string for the {@code Format} subclass used. * - * <table border=1 summary="Shows how FormatType and FormatStyle values map to Format instances"> + * <table class="plain"> + * <caption style="display:none">Shows how FormatType and FormatStyle values map to Format instances</caption> + * <thead> * <tr> * <th id="ft" class="TableHeadingColor">FormatType * <th id="fs" class="TableHeadingColor">FormatStyle * <th id="sc" class="TableHeadingColor">Subformat Created + * </thead> + * <tbody> * <tr> * <td headers="ft"><i>(none)</i> * <td headers="fs"><i>(none)</i> @@ -213,6 +217,7 @@ * <td headers="ft"><code>choice</code> * <td headers="fs"><i>SubformatPattern</i> * <td headers="sc">{@code new} {@link ChoiceFormat#ChoiceFormat(String) ChoiceFormat}{@code (subformatPattern)} + * </tbody> * </table> * * <h4>Usage Information</h4> @@ -766,11 +771,15 @@ * argument is <i>unavailable</i> if <code>arguments</code> is * <code>null</code> or has fewer than argumentIndex+1 elements. * - * <table border=1 summary="Examples of subformat,argument,and formatted text"> + * <table class="plain"> + * <caption style="display:none">Examples of subformat,argument,and formatted text</caption> + * <thead> * <tr> * <th>Subformat * <th>Argument * <th>Formatted Text + * </thead> + * <tbody> * <tr> * <td><i>any</i> * <td><i>unavailable</i> @@ -805,6 +814,7 @@ * <td><code>null</code> * <td><i>any</i> * <td><code>argument.toString()</code> + * </tbody> * </table> * <p> * If <code>pos</code> is non-null, and refers to
--- a/jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java Wed Jul 05 23:30:17 2017 +0200 @@ -92,18 +92,22 @@ * <code>'A'</code> to <code>'Z'</code> and from <code>'a'</code> to * <code>'z'</code> are reserved): * <blockquote> - * <table border=0 cellspacing=3 cellpadding=0 summary="Chart shows pattern letters, date/time component, presentation, and examples."> - * <tr style="background-color: rgb(204, 204, 255);"> + * <table class="striped"> + * <caption style="display:none">Chart shows pattern letters, date/time component, presentation, and examples.</caption> + * <thead> + * <tr> * <th style="text-align:left">Letter * <th style="text-align:left">Date or Time Component * <th style="text-align:left">Presentation * <th style="text-align:left">Examples + * </thead> + * <tbody> * <tr> * <td><code>G</code> * <td>Era designator * <td><a href="#text">Text</a> * <td><code>AD</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>y</code> * <td>Year * <td><a href="#year">Year</a> @@ -113,7 +117,7 @@ * <td>Week year * <td><a href="#year">Year</a> * <td><code>2009</code>; <code>09</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>M</code> * <td>Month in year (context sensitive) * <td><a href="#month">Month</a> @@ -123,7 +127,7 @@ * <td>Month in year (standalone form) * <td><a href="#month">Month</a> * <td><code>July</code>; <code>Jul</code>; <code>07</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>w</code> * <td>Week in year * <td><a href="#number">Number</a> @@ -133,7 +137,7 @@ * <td>Week in month * <td><a href="#number">Number</a> * <td><code>2</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>D</code> * <td>Day in year * <td><a href="#number">Number</a> @@ -143,7 +147,7 @@ * <td>Day in month * <td><a href="#number">Number</a> * <td><code>10</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>F</code> * <td>Day of week in month * <td><a href="#number">Number</a> @@ -153,7 +157,7 @@ * <td>Day name in week * <td><a href="#text">Text</a> * <td><code>Tuesday</code>; <code>Tue</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>u</code> * <td>Day number of week (1 = Monday, ..., 7 = Sunday) * <td><a href="#number">Number</a> @@ -163,7 +167,7 @@ * <td>Am/pm marker * <td><a href="#text">Text</a> * <td><code>PM</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>H</code> * <td>Hour in day (0-23) * <td><a href="#number">Number</a> @@ -173,7 +177,7 @@ * <td>Hour in day (1-24) * <td><a href="#number">Number</a> * <td><code>24</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>K</code> * <td>Hour in am/pm (0-11) * <td><a href="#number">Number</a> @@ -183,7 +187,7 @@ * <td>Hour in am/pm (1-12) * <td><a href="#number">Number</a> * <td><code>12</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>m</code> * <td>Minute in hour * <td><a href="#number">Number</a> @@ -193,7 +197,7 @@ * <td>Second in minute * <td><a href="#number">Number</a> * <td><code>55</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>S</code> * <td>Millisecond * <td><a href="#number">Number</a> @@ -203,7 +207,7 @@ * <td>Time zone * <td><a href="#timezone">General time zone</a> * <td><code>Pacific Standard Time</code>; <code>PST</code>; <code>GMT-08:00</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>Z</code> * <td>Time zone * <td><a href="#rfc822timezone">RFC 822 time zone</a> @@ -213,6 +217,7 @@ * <td>Time zone * <td><a href="#iso8601timezone">ISO 8601 time zone</a> * <td><code>-08</code>; <code>-0800</code>; <code>-08:00</code> + * </tbody> * </table> * </blockquote> * Pattern letters are usually repeated, as their number determines the @@ -370,43 +375,48 @@ * the U.S. locale. The given date and time are 2001-07-04 12:08:56 local time * in the U.S. Pacific Time time zone. * <blockquote> - * <table border=0 cellspacing=3 cellpadding=0 summary="Examples of date and time patterns interpreted in the U.S. locale"> - * <tr style="background-color: rgb(204, 204, 255);"> + * <table class="striped"> + * <caption style="display:none">Examples of date and time patterns interpreted in the U.S. locale</caption> + * <thead> + * <tr> * <th style="text-align:left">Date and Time Pattern * <th style="text-align:left">Result + * </thead> + * <tbody> * <tr> * <td><code>"yyyy.MM.dd G 'at' HH:mm:ss z"</code> * <td><code>2001.07.04 AD at 12:08:56 PDT</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>"EEE, MMM d, ''yy"</code> * <td><code>Wed, Jul 4, '01</code> * <tr> * <td><code>"h:mm a"</code> * <td><code>12:08 PM</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>"hh 'o''clock' a, zzzz"</code> * <td><code>12 o'clock PM, Pacific Daylight Time</code> * <tr> * <td><code>"K:mm a, z"</code> * <td><code>0:08 PM, PDT</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>"yyyyy.MMMMM.dd GGG hh:mm aaa"</code> * <td><code>02001.July.04 AD 12:08 PM</code> * <tr> * <td><code>"EEE, d MMM yyyy HH:mm:ss Z"</code> * <td><code>Wed, 4 Jul 2001 12:08:56 -0700</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>"yyMMddHHmmssZ"</code> * <td><code>010704120856-0700</code> * <tr> * <td><code>"yyyy-MM-dd'T'HH:mm:ss.SSSZ"</code> * <td><code>2001-07-04T12:08:56.235-0700</code> - * <tr style="background-color: rgb(238, 238, 255);"> + * <tr> * <td><code>"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"</code> * <td><code>2001-07-04T12:08:56.235-07:00</code> * <tr> * <td><code>"YYYY-'W'ww-u"</code> * <td><code>2001-W27-3</code> + * </tbody> * </table> * </blockquote> *
--- a/jdk/src/java.base/share/classes/java/time/chrono/HijrahChronology.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/time/chrono/HijrahChronology.java Wed Jul 05 23:30:17 2017 +0200 @@ -103,17 +103,18 @@ * * <p> * CLDR and LDML identify variants: - * <table cellpadding="2" summary="Variants of Hijrah Calendars"> + * <table class="striped"> + * <caption style="display:none">Variants of Hijrah Calendars</caption> * <thead> - * <tr class="tableSubHeadingColor"> - * <th class="colFirst" style="text-align:left" >Chronology ID</th> - * <th class="colFirst" style="text-align:left" >Calendar Type</th> - * <th class="colFirst" style="text-align:left" >Locale extension, see {@link java.util.Locale}</th> - * <th class="colLast" style="text-align:left" >Description</th> + * <tr> + * <th style="text-align:left" >Chronology ID</th> + * <th style="text-align:left" >Calendar Type</th> + * <th style="text-align:left" >Locale extension, see {@link java.util.Locale}</th> + * <th style="text-align:left" >Description</th> * </tr> * </thead> * <tbody> - * <tr class="altColor"> + * <tr> * <td>Hijrah-umalqura</td> * <td>islamic-umalqura</td> * <td>ca-islamic-umalqura</td> @@ -147,36 +148,37 @@ * <p> * The Hijrah property resource is a set of properties that describe the calendar. * The syntax is defined by {@code java.util.Properties#load(Reader)}. - * <table cellpadding="2" summary="Configuration of Hijrah Calendar"> + * <table class="striped"> + * <caption style="display:none">Configuration of Hijrah Calendar</caption> * <thead> - * <tr class="tableSubHeadingColor"> - * <th class="colFirst" style="text-align:left" > Property Name</th> - * <th class="colFirst" style="text-align:left" > Property value</th> - * <th class="colLast" style="text-align:left" > Description </th> + * <tr> + * <th style="text-align:left" > Property Name</th> + * <th style="text-align:left" > Property value</th> + * <th style="text-align:left" > Description </th> * </tr> * </thead> * <tbody> - * <tr class="altColor"> + * <tr> * <td>id</td> * <td>Chronology Id, for example, "Hijrah-umalqura"</td> * <td>The Id of the calendar in common usage</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td>type</td> * <td>Calendar type, for example, "islamic-umalqura"</td> * <td>LDML defines the calendar types</td> * </tr> - * <tr class="altColor"> + * <tr> * <td>version</td> * <td>Version, for example: "1.8.0_1"</td> * <td>The version of the Hijrah variant data</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td>iso-start</td> * <td>ISO start date, formatted as {@code yyyy-MM-dd}, for example: "1900-04-30"</td> * <td>The ISO date of the first day of the minimum Hijrah year.</td> * </tr> - * <tr class="altColor"> + * <tr> * <td>yyyy - a numeric 4 digit year, for example "1434"</td> * <td>The value is a sequence of 12 month lengths, * for example: "29 30 29 30 29 30 30 30 29 30 29 29"</td>
--- a/jdk/src/java.base/share/classes/java/time/chrono/IsoEra.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/time/chrono/IsoEra.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -70,25 +70,26 @@ * A definition has therefore been created with two eras - 'Current era' (CE) for * years on or after 0001-01-01 (ISO), and 'Before current era' (BCE) for years before that. * - * <table summary="ISO years and eras" cellpadding="2" cellspacing="3" border="0" > + * <table class="striped"> + * <caption style="display:none">ISO years and eras</caption> * <thead> - * <tr class="tableSubHeadingColor"> - * <th class="colFirst" style="text-align:left">year-of-era</th> - * <th class="colFirst" style="text-align:left">era</th> - * <th class="colLast" style="text-align:left">proleptic-year</th> + * <tr> + * <th style="text-align:left">year-of-era</th> + * <th style="text-align:left">era</th> + * <th style="text-align:left">proleptic-year</th> * </tr> * </thead> * <tbody> - * <tr class="rowColor"> + * <tr> * <td>2</td><td>CE</td><td>2</td> * </tr> - * <tr class="altColor"> + * <tr> * <td>1</td><td>CE</td><td>1</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td>1</td><td>BCE</td><td>0</td> * </tr> - * <tr class="altColor"> + * <tr> * <td>2</td><td>BCE</td><td>-1</td> * </tr> * </tbody>
--- a/jdk/src/java.base/share/classes/java/time/chrono/MinguoEra.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/time/chrono/MinguoEra.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -71,26 +71,27 @@ * All previous years, zero or earlier in the proleptic count or one and greater * in the year-of-era count, are part of the 'Before Republic of China' era. * - * <table summary="Minguo years and eras" cellpadding="2" cellspacing="3" border="0" > + * <table class="striped"> + * <caption style="display:none">Minguo years and eras</caption> * <thead> - * <tr class="tableSubHeadingColor"> - * <th class="colFirst" style="text-align:left">year-of-era</th> - * <th class="colFirst" style="text-align:left">era</th> - * <th class="colFirst" style="text-align:left">proleptic-year</th> - * <th class="colLast" style="text-align:left">ISO proleptic-year</th> + * <tr> + * <th style="text-align:left">year-of-era</th> + * <th style="text-align:left">era</th> + * <th style="text-align:left">proleptic-year</th> + * <th style="text-align:left">ISO proleptic-year</th> * </tr> * </thead> * <tbody> - * <tr class="rowColor"> + * <tr> * <td>2</td><td>ROC</td><td>2</td><td>1913</td> * </tr> - * <tr class="altColor"> + * <tr> * <td>1</td><td>ROC</td><td>1</td><td>1912</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td>1</td><td>BEFORE_ROC</td><td>0</td><td>1911</td> * </tr> - * <tr class="altColor"> + * <tr> * <td>2</td><td>BEFORE_ROC</td><td>-1</td><td>1910</td> * </tr> * </tbody>
--- a/jdk/src/java.base/share/classes/java/time/chrono/ThaiBuddhistEra.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/time/chrono/ThaiBuddhistEra.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -71,26 +71,27 @@ * All previous years, zero or earlier in the proleptic count or one and greater * in the year-of-era count, are part of the 'Before Buddhist' era. * - * <table summary="Buddhist years and eras" cellpadding="2" cellspacing="3" border="0" > + * <table class="striped"> + * <caption style="display:none">Buddhist years and eras</caption> * <thead> - * <tr class="tableSubHeadingColor"> - * <th class="colFirst" style="text-align:left">year-of-era</th> - * <th class="colFirst" style="text-align:left">era</th> - * <th class="colFirst" style="text-align:left">proleptic-year</th> - * <th class="colLast" style="text-align:left">ISO proleptic-year</th> + * <tr> + * <th style="text-align:left">year-of-era</th> + * <th style="text-align:left">era</th> + * <th style="text-align:left">proleptic-year</th> + * <th style="text-align:left">ISO proleptic-year</th> * </tr> * </thead> * <tbody> - * <tr class="rowColor"> + * <tr> * <td>2</td><td>BE</td><td>2</td><td>-542</td> * </tr> - * <tr class="altColor"> + * <tr> * <td>1</td><td>BE</td><td>1</td><td>-543</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td>1</td><td>BEFORE_BE</td><td>0</td><td>-544</td> * </tr> - * <tr class="altColor"> + * <tr> * <td>2</td><td>BEFORE_BE</td><td>-1</td><td>-545</td> * </tr> * </tbody>
--- a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -150,105 +150,106 @@ * implementation of {@code java.text.Format}. * * <h3 id="predefined">Predefined Formatters</h3> - * <table summary="Predefined Formatters" cellpadding="2" cellspacing="3" border="0" > + * <table class="striped"> + * <caption>Predefined Formatters</caption> * <thead> - * <tr class="tableSubHeadingColor"> - * <th class="colFirst" style="text-align:left">Formatter</th> - * <th class="colFirst" style="text-align:left">Description</th> - * <th class="colLast" style="text-align:left">Example</th> + * <tr> + * <th style="text-align:left">Formatter</th> + * <th style="text-align:left">Description</th> + * <th style="text-align:left">Example</th> * </tr> * </thead> * <tbody> - * <tr class="rowColor"> + * <tr> * <td>{@link #ofLocalizedDate ofLocalizedDate(dateStyle)} </td> * <td> Formatter with date style from the locale </td> * <td> '2011-12-03'</td> * </tr> - * <tr class="altColor"> + * <tr> * <td> {@link #ofLocalizedTime ofLocalizedTime(timeStyle)} </td> * <td> Formatter with time style from the locale </td> * <td> '10:15:30'</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td> {@link #ofLocalizedDateTime ofLocalizedDateTime(dateTimeStyle)} </td> * <td> Formatter with a style for date and time from the locale</td> * <td> '3 Jun 2008 11:05:30'</td> * </tr> - * <tr class="altColor"> + * <tr> * <td> {@link #ofLocalizedDateTime ofLocalizedDateTime(dateStyle,timeStyle)} * </td> * <td> Formatter with date and time styles from the locale </td> * <td> '3 Jun 2008 11:05'</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td> {@link #BASIC_ISO_DATE}</td> * <td>Basic ISO date </td> <td>'20111203'</td> * </tr> - * <tr class="altColor"> + * <tr> * <td> {@link #ISO_LOCAL_DATE}</td> * <td> ISO Local Date </td> * <td>'2011-12-03'</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td> {@link #ISO_OFFSET_DATE}</td> * <td> ISO Date with offset </td> * <td>'2011-12-03+01:00'</td> * </tr> - * <tr class="altColor"> + * <tr> * <td> {@link #ISO_DATE}</td> * <td> ISO Date with or without offset </td> * <td> '2011-12-03+01:00'; '2011-12-03'</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td> {@link #ISO_LOCAL_TIME}</td> * <td> Time without offset </td> * <td>'10:15:30'</td> * </tr> - * <tr class="altColor"> + * <tr> * <td> {@link #ISO_OFFSET_TIME}</td> * <td> Time with offset </td> * <td>'10:15:30+01:00'</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td> {@link #ISO_TIME}</td> * <td> Time with or without offset </td> * <td>'10:15:30+01:00'; '10:15:30'</td> * </tr> - * <tr class="altColor"> + * <tr> * <td> {@link #ISO_LOCAL_DATE_TIME}</td> * <td> ISO Local Date and Time </td> * <td>'2011-12-03T10:15:30'</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td> {@link #ISO_OFFSET_DATE_TIME}</td> * <td> Date Time with Offset * </td><td>2011-12-03T10:15:30+01:00'</td> * </tr> - * <tr class="altColor"> + * <tr> * <td> {@link #ISO_ZONED_DATE_TIME}</td> * <td> Zoned Date Time </td> * <td>'2011-12-03T10:15:30+01:00[Europe/Paris]'</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td> {@link #ISO_DATE_TIME}</td> * <td> Date and time with ZoneId </td> * <td>'2011-12-03T10:15:30+01:00[Europe/Paris]'</td> * </tr> - * <tr class="altColor"> + * <tr> * <td> {@link #ISO_ORDINAL_DATE}</td> * <td> Year and day of year </td> * <td>'2012-337'</td> * </tr> - * <tr class="rowColor"> + * <tr> * <td> {@link #ISO_WEEK_DATE}</td> * <td> Year and Week </td> * <td>2012-W48-6'</td></tr> - * <tr class="altColor"> + * <tr> * <td> {@link #ISO_INSTANT}</td> * <td> Date and Time of an Instant </td> * <td>'2011-12-03T10:15:30Z' </td> * </tr> - * <tr class="rowColor"> + * <tr> * <td> {@link #RFC_1123_DATE_TIME}</td> * <td> RFC 1123 / RFC 822 </td> * <td>'Tue, 3 Jun 2008 11:05:30 GMT'</td>
--- a/jdk/src/java.base/share/classes/java/time/temporal/IsoFields.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/time/temporal/IsoFields.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -136,15 +136,19 @@ * <p> * For example: * - * <table cellpadding="0" cellspacing="3" border="0" style="text-align: left; width: 50%;"> + * <table class=striped style="text-align: left; width: 50%;"> * <caption>Examples of Week based Years</caption> + * <thead> * <tr><th>Date</th><th>Day-of-week</th><th>Field values</th></tr> + * </thead> + * <tbody> * <tr><th>2008-12-28</th><td>Sunday</td><td>Week 52 of week-based-year 2008</td></tr> * <tr><th>2008-12-29</th><td>Monday</td><td>Week 1 of week-based-year 2009</td></tr> * <tr><th>2008-12-31</th><td>Wednesday</td><td>Week 1 of week-based-year 2009</td></tr> * <tr><th>2009-01-01</th><td>Thursday</td><td>Week 1 of week-based-year 2009</td></tr> * <tr><th>2009-01-04</th><td>Sunday</td><td>Week 1 of week-based-year 2009</td></tr> * <tr><th>2009-01-05</th><td>Monday</td><td>Week 2 of week-based-year 2009</td></tr> + * </tbody> * </table> * * @implSpec
--- a/jdk/src/java.base/share/classes/java/time/temporal/WeekFields.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/time/temporal/WeekFields.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -127,10 +127,13 @@ * The earliest period is referred to as week 0 if it has less than the minimal number of days * and week 1 if it has at least the minimal number of days. * - * <table cellpadding="0" cellspacing="3" border="0" style="text-align: left; width: 50%;"> + * <table class=striped style="text-align: left"> * <caption>Examples of WeekFields</caption> + * <thead> * <tr><th>Date</th><td>Day-of-week</td> * <td>First day: Monday<br>Minimal days: 4</td><td>First day: Monday<br>Minimal days: 5</td></tr> + * </thead> + * <tbody> * <tr><th>2008-12-31</th><td>Wednesday</td> * <td>Week 5 of December 2008</td><td>Week 5 of December 2008</td></tr> * <tr><th>2009-01-01</th><td>Thursday</td> @@ -139,6 +142,7 @@ * <td>Week 1 of January 2009</td><td>Week 0 of January 2009</td></tr> * <tr><th>2009-01-05</th><td>Monday</td> * <td>Week 2 of January 2009</td><td>Week 1 of January 2009</td></tr> + * </tbody> * </table> * * <h3>Week of Year</h3> @@ -157,10 +161,13 @@ * The first and last weeks of a year may contain days from the * previous calendar year or next calendar year respectively. * - * <table cellpadding="0" cellspacing="3" border="0" style="text-align: left; width: 50%;"> + * <table class=striped style="text-align: left;"> * <caption>Examples of WeekFields for week-based-year</caption> + * <thead> * <tr><th>Date</th><td>Day-of-week</td> * <td>First day: Monday<br>Minimal days: 4</td><td>First day: Monday<br>Minimal days: 5</td></tr> + * </thead> + * <tbody> * <tr><th>2008-12-31</th><td>Wednesday</td> * <td>Week 1 of 2009</td><td>Week 53 of 2008</td></tr> * <tr><th>2009-01-01</th><td>Thursday</td> @@ -169,6 +176,7 @@ * <td>Week 1 of 2009</td><td>Week 53 of 2008</td></tr> * <tr><th>2009-01-05</th><td>Monday</td> * <td>Week 2 of 2009</td><td>Week 1 of 2009</td></tr> + * </tbody> * </table> * * @implSpec
--- a/jdk/src/java.base/share/classes/java/util/Deque.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/Deque.java Wed Jul 05 23:30:17 2017 +0200 @@ -56,7 +56,7 @@ * <p>The twelve methods described above are summarized in the * following table: * - * <table BORDER CELLPADDING=3 CELLSPACING=1> + * <table class="plain"> * <caption>Summary of Deque methods</caption> * <tr> * <td></td> @@ -99,7 +99,7 @@ * inherited from the {@code Queue} interface are precisely equivalent to * {@code Deque} methods as indicated in the following table: * - * <table BORDER CELLPADDING=3 CELLSPACING=1> + * <table class="plain"> * <caption>Comparison of Queue and Deque methods</caption> * <tr> * <td style="text-align:center"> <b>{@code Queue} Method</b></td> @@ -137,7 +137,7 @@ * beginning of the deque. Stack methods are precisely equivalent to * {@code Deque} methods as indicated in the table below: * - * <table BORDER CELLPADDING=3 CELLSPACING=1> + * <table class="plain"> * <caption>Comparison of Stack and Deque methods</caption> * <tr> * <td style="text-align:center"> <b>Stack Method</b></td>
--- a/jdk/src/java.base/share/classes/java/util/Formatter.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/Formatter.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -290,12 +290,14 @@ * <pre> * out.toUpperCase(Locale.getDefault(Locale.Category.FORMAT)) </pre> * - * <table cellpadding=5 summary="genConv"> - * + * <table class="striped"> + * <caption style="display:none">genConv</caption> + * <thead> * <tr><th style="vertical-align:bottom"> Conversion * <th style="vertical-align:bottom"> Argument Category * <th style="vertical-align:bottom"> Description - * + * </thead> + * <tbody> * <tr><td style="vertical-align:top"> {@code 'b'}, {@code 'B'} * <td style="vertical-align:top"> general * <td> If the argument <i>arg</i> is {@code null}, then the result is @@ -365,6 +367,7 @@ * <td style="vertical-align:top"> line separator * <td> The result is the platform-specific line separator * + * </tbody> * </table> * * <p> Any characters not explicitly defined as conversions are illegal and are @@ -381,8 +384,9 @@ * * <p> The following conversion characters are used for formatting times: * - * <table cellpadding=5 summary="time"> - * + * <table class="striped"> + * <caption style="display:none">time</caption> + * <tbody> * <tr><td style="vertical-align:top"> {@code 'H'} * <td> Hour of the day for the 24-hour clock, formatted as two digits with * a leading zero as necessary i.e. {@code 00 - 23}. @@ -446,11 +450,14 @@ * 1970 {@code 00:00:00} UTC, i.e. {@code Long.MIN_VALUE} to * {@code Long.MAX_VALUE}. * + * </tbody> * </table> * * <p> The following conversion characters are used for formatting dates: * - * <table cellpadding=5 summary="date"> + * <table class="striped"> + * <caption style="display:none">date</caption> + * <tbody> * * <tr><td style="vertical-align:top">{@code 'B'} * <td> Locale-specific {@linkplain java.text.DateFormatSymbols#getMonths @@ -502,12 +509,15 @@ * <tr><td style="vertical-align:top">{@code 'e'} * <td> Day of month, formatted as two digits, i.e. {@code 1 - 31}. * + * </tbody> * </table> * * <p> The following conversion characters are used for formatting common * date/time compositions. * - * <table cellpadding=5 summary="composites"> + * <table class="striped"> + * <caption style="display:none">composites</caption> + * <tbody> * * <tr><td style="vertical-align:top">{@code 'R'} * <td> Time formatted for the 24-hour clock as {@code "%tH:%tM"} @@ -531,6 +541,7 @@ * <td> Date and time formatted as {@code "%ta %tb %td %tT %tZ %tY"}, * e.g. {@code "Sun Jul 20 16:17:00 EDT 1969"}. * + * </tbody> * </table> * * <p> Any characters not explicitly defined as date/time conversion suffixes @@ -541,14 +552,16 @@ * <p> The following table summarizes the supported flags. <i>y</i> means the * flag is supported for the indicated argument types. * - * <table cellpadding=5 summary="genConv"> - * + * <table class="striped"> + * <caption style="display:none">genConv</caption> + * <thead> * <tr><th style="vertical-align:bottom"> Flag <th style="vertical-align:bottom"> General * <th style="vertical-align:bottom"> Character <th style="vertical-align:bottom"> Integral * <th style="vertical-align:bottom"> Floating Point * <th style="vertical-align:bottom"> Date/Time * <th style="vertical-align:bottom"> Description - * + * </thead> + * <tbody> * <tr><td> '-' <td style="text-align:center; vertical-align:top"> y * <td style="text-align:center; vertical-align:top"> y * <td style="text-align:center; vertical-align:top"> y @@ -599,6 +612,7 @@ * <td style="text-align:center"> - * <td> The result will enclose negative numbers in parentheses * + * </tbody> * </table> * * <p> <sup>1</sup> Depends on the definition of {@link Formattable}. @@ -705,7 +719,9 @@ * * <p> The following general conversions may be applied to any argument type: * - * <table cellpadding=5 summary="dgConv"> + * <table class="striped"> + * <caption style="display:none">dgConv</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code 'b'} * <td style="vertical-align:top"> <code>'\u0062'</code> @@ -756,11 +772,14 @@ * <td style="vertical-align:top"> <code>'\u0053'</code> * <td> The upper-case variant of {@code 's'}. * + * </tbody> * </table> * * <p> The following <a id="dFlags">flags</a> apply to general conversions: * - * <table cellpadding=5 summary="dFlags"> + * <table class="striped"> + * <caption style="display:none">dFlags</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code '-'} * <td style="vertical-align:top"> <code>'\u002d'</code> @@ -775,6 +794,7 @@ * <td> Requires the output use an alternate form. The definition of the * form is specified by the conversion. * + * </tbody> * </table> * * <p> The <a id="genWidth">width</a> is the minimum number of characters to @@ -801,7 +821,9 @@ * {@code false} then an {@link IllegalFormatCodePointException} will be * thrown. * - * <table cellpadding=5 summary="charConv"> + * <table class="striped"> + * <caption style="display:none">charConv</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code 'c'} * <td style="vertical-align:top"> <code>'\u0063'</code> @@ -817,6 +839,7 @@ * <td style="vertical-align:top"> <code>'\u0043'</code> * <td> The upper-case variant of {@code 'c'}. * + * </tbody> * </table> * * <p> The {@code '-'} flag defined for <a href="#dFlags">General @@ -902,7 +925,9 @@ * {@code short}, {@link Short}, {@code int} and {@link Integer}, * {@code long}, and {@link Long}. * - * <table cellpadding=5 summary="IntConv"> + * <table class="striped"> + * <caption style="display:none">IntConv</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code 'd'} * <td style="vertical-align:top"> <code>'\u0064'</code> @@ -968,6 +993,7 @@ * all hexadecimal digits {@code 'a'} - {@code 'f'} * (<code>'\u0061'</code> - <code>'\u0066'</code>). * + * </tbody> * </table> * * <p> If the conversion is {@code 'o'}, {@code 'x'}, or {@code 'X'} and @@ -982,7 +1008,9 @@ * <p> The following <a id="intFlags">flags</a> apply to numeric integral * conversions: * - * <table cellpadding=5 summary="intFlags"> + * <table class="striped"> + * <caption style="display:none">intFlags</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code '+'} * <td style="vertical-align:top"> <code>'\u002b'</code> @@ -1025,6 +1053,7 @@ * (<code>'\u0028'</code>) and append a {@code ')'} * (<code>'\u0029'</code>) to negative values. * + * </tbody> * </table> * * <p> If no <a id="intdFlags">flags</a> are given the default formatting is @@ -1060,7 +1089,9 @@ * <p> The following conversions may be applied to {@link * java.math.BigInteger}. * - * <table cellpadding=5 summary="BIntConv"> + * <table class="striped"> + * <caption style="display:none">bIntConv</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code 'd'} * <td style="vertical-align:top"> <code>'\u0064'</code> @@ -1125,6 +1156,7 @@ * all hexadecimal digits {@code 'a'} - {@code 'f'} * (<code>'\u0061'</code> - <code>'\u0066'</code>). * + * </tbody> * </table> * * <p> If the conversion is {@code 'o'}, {@code 'x'}, or {@code 'X'} and @@ -1154,7 +1186,9 @@ * <p> The following conversions may be applied to {@code float}, {@link * Float}, {@code double} and {@link Double}. * - * <table cellpadding=5 summary="floatConv"> + * <table class="striped"> + * <caption style="display:none">floatConv</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code 'e'} * <td style="vertical-align:top"> <code>'\u0065'</code> @@ -1331,6 +1365,7 @@ * (<code>'\u0070'</code> and all hexadecimal digits {@code 'a'} - * {@code 'f'} (<code>'\u0061'</code> - <code>'\u0066'</code>). * + * </tbody> * </table> * * <p> All <a href="#intFlags">flags</a> defined for Byte, Short, Integer, and @@ -1388,7 +1423,9 @@ * <p> The following conversions may be applied {@link java.math.BigDecimal * BigDecimal}. * - * <table cellpadding=5 summary="floatConv"> + * <table class="striped"> + * <caption style="display:none">floatConv</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code 'e'} * <td style="vertical-align:top"> <code>'\u0065'</code> @@ -1492,6 +1529,7 @@ * For a canonical representation of the value, use {@link * BigDecimal#toString()}. * + * </tbody> * </table> * * <p> All <a href="#intFlags">flags</a> defined for Byte, Short, Integer, and @@ -1512,7 +1550,9 @@ * <p> This conversion may be applied to {@code long}, {@link Long}, {@link * Calendar}, {@link Date} and {@link TemporalAccessor TemporalAccessor} * - * <table cellpadding=5 summary="DTConv"> + * <table class="striped"> + * <caption style="display:none">DTConv</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code 't'} * <td style="vertical-align:top"> <code>'\u0074'</code> @@ -1521,6 +1561,7 @@ * <td style="vertical-align:top"> <code>'\u0054'</code> * <td> The upper-case variant of {@code 't'}. * + * </tbody> * </table> * * <p> The following date and time conversion character suffixes are defined @@ -1532,7 +1573,9 @@ * * <p> The following conversion characters are used for formatting times: * - * <table cellpadding=5 summary="time"> + * <table class="striped"> + * <caption style="display:none">time</caption> + * <tbody> * * <tr><td style="vertical-align:top"> {@code 'H'} * <td style="vertical-align:top"> <code>'\u0048'</code> @@ -1620,11 +1663,14 @@ * {@code Long.MAX_VALUE}. The precision of this value is limited by * the resolution of the underlying operating system or hardware. * + * </tbody> * </table> * * <p> The following conversion characters are used for formatting dates: * - * <table cellpadding=5 summary="date"> + * <table class="striped"> + * <caption style="display:none">date</caption> + * <tbody> * * <tr><td style="vertical-align:top">{@code 'B'} * <td style="vertical-align:top"> <code>'\u0042'</code> @@ -1692,12 +1738,15 @@ * <td> Day of month, formatted as two digits, i.e. {@code 1 - 31} where * "{@code 1}" is the first day of the month. * + * </tbody> * </table> * * <p> The following conversion characters are used for formatting common * date/time compositions. * - * <table cellpadding=5 summary="composites"> + * <table class="striped"> + * <caption style="display:none">composites</caption> + * <tbody> * * <tr><td style="vertical-align:top">{@code 'R'} * <td style="vertical-align:top"> <code>'\u0052'</code> @@ -1727,6 +1776,7 @@ * <td> Date and time formatted as {@code "%ta %tb %td %tT %tZ %tY"}, * e.g. {@code "Sun Jul 20 16:17:00 EDT 1969"}. * + * </tbody> * </table> * * <p> The {@code '-'} flag defined for <a href="#dFlags">General @@ -1748,7 +1798,9 @@ * * <p> The conversion does not correspond to any argument. * - * <table cellpadding=5 summary="DTConv"> + * <table class="striped"> + * <caption style="display:none">DTConv</caption> + * <tbody> * * <tr><td style="vertical-align:top">{@code '%'} * <td> The result is a literal {@code '%'} (<code>'\u0025'</code>) @@ -1767,18 +1819,22 @@ * <p> The precision is not applicable. If the precision is specified an * {@link IllegalFormatPrecisionException} will be thrown. * + * </tbody> * </table> * * <h4><a id="dls">Line Separator</a></h4> * * <p> The conversion does not correspond to any argument. * - * <table cellpadding=5 summary="DTConv"> + * <table class="striped"> + * <caption style="display:none">DTConv</caption> + * <tbody> * * <tr><td style="vertical-align:top">{@code 'n'} * <td> the platform-specific line separator as returned by {@link * System#lineSeparator()}. * + * </tbody> * </table> * * <p> Flags, width, and precision are not applicable. If any are provided an
--- a/jdk/src/java.base/share/classes/java/util/GregorianCalendar.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/GregorianCalendar.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -159,88 +159,89 @@ * undefined. <code>GregorianCalendar</code> uses the following * default value for each calendar field if its value is undefined. * - * <table cellpadding="0" cellspacing="3" border="0" - * summary="GregorianCalendar default field values" - * style="text-align: left; width: 66%;"> + * <table class="striped" style="text-align: left; width: 66%;"> + * <caption style="display:none">GregorianCalendar default field values</caption> + * <thead> + * <tr> + * <th> + * Field + * </th> + * <th> + Default Value + * </th> + * </tr> + * </thead> * <tbody> * <tr> - * <th style="vertical-align: top; background-color: rgb(204, 204, 255); - * text-align: center;">Field<br> - * </th> - * <th style="vertical-align: top; background-color: rgb(204, 204, 255); - * text-align: center;">Default Value<br> - * </th> - * </tr> - * <tr> - * <td style="vertical-align: middle;"> - * <code>ERA<br></code> + * <td> + * <code>ERA</code> * </td> - * <td style="vertical-align: middle;"> - * <code>AD<br></code> + * <td> + * <code>AD</code> * </td> * </tr> * <tr> - * <td style="vertical-align: middle; background-color: rgb(238, 238, 255);"> - * <code>YEAR<br></code> + * <td> + * <code>YEAR</code> * </td> - * <td style="vertical-align: middle; background-color: rgb(238, 238, 255);"> - * <code>1970<br></code> + * <td> + * <code>1970</code> * </td> * </tr> * <tr> - * <td style="vertical-align: middle;"> - * <code>MONTH<br></code> + * <td> + * <code>MONTH</code> * </td> - * <td style="vertical-align: middle;"> - * <code>JANUARY<br></code> + * <td> + * <code>JANUARY</code> * </td> * </tr> * <tr> - * <td style="vertical-align: top; background-color: rgb(238, 238, 255);"> - * <code>DAY_OF_MONTH<br></code> + * <td> + * <code>DAY_OF_MONTH</code> * </td> - * <td style="vertical-align: top; background-color: rgb(238, 238, 255);"> - * <code>1<br></code> + * <td> + * <code>1</code> * </td> * </tr> * <tr> - * <td style="vertical-align: middle;"> - * <code>DAY_OF_WEEK<br></code> + * <td> + * <code>DAY_OF_WEEK</code> * </td> - * <td style="vertical-align: middle;"> - * <code>the first day of week<br></code> + * <td> + * <code>the first day of week</code> * </td> * </tr> * <tr> - * <td style="vertical-align: top; background-color: rgb(238, 238, 255);"> - * <code>WEEK_OF_MONTH<br></code> + * <td> + * <code>WEEK_OF_MONTH</code> * </td> - * <td style="vertical-align: top; background-color: rgb(238, 238, 255);"> - * <code>0<br></code> + * <td> + * <code>0</code> * </td> * </tr> * <tr> - * <td style="vertical-align: top;"> - * <code>DAY_OF_WEEK_IN_MONTH<br></code> + * <td> + * <code>DAY_OF_WEEK_IN_MONTH</code> * </td> - * <td style="vertical-align: top;"> - * <code>1<br></code> + * <td> + * <code>1</code> * </td> * </tr> * <tr> - * <td style="vertical-align: middle; background-color: rgb(238, 238, 255);"> - * <code>AM_PM<br></code> + * <td> + * <code>AM_PM</code> * </td> - * <td style="vertical-align: middle; background-color: rgb(238, 238, 255);"> - * <code>AM<br></code> + * <td> + * <code>AM</code> * </td> * </tr> * <tr> - * <td style="vertical-align: middle;"> - * <code>HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND<br></code> + * <td> + * <code>HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND</code> * </td> - * <td style="vertical-align: middle;"> - * <code>0<br></code> + * <td> + * <code>0</code> * </td> * </tr> * </tbody>
--- a/jdk/src/java.base/share/classes/java/util/Locale.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/Locale.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1996, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -1587,44 +1587,50 @@ * * <p>Grandfathered tags with canonical replacements are as follows: * - * <table summary="Grandfathered tags with canonical replacements"> + * <table class="striped"> + * <caption style="display:none">Grandfathered tags with canonical replacements</caption> + * <thead style="text-align:center"> + * <tr><th style="padding: 0 2px">grandfathered tag</th><th style="padding: 0 2px">modern replacement</th></tr> + * </thead> * <tbody style="text-align:center"> - * <tr><th>grandfathered tag</th><th> </th><th>modern replacement</th></tr> - * <tr><td>art-lojban</td><td> </td><td>jbo</td></tr> - * <tr><td>i-ami</td><td> </td><td>ami</td></tr> - * <tr><td>i-bnn</td><td> </td><td>bnn</td></tr> - * <tr><td>i-hak</td><td> </td><td>hak</td></tr> - * <tr><td>i-klingon</td><td> </td><td>tlh</td></tr> - * <tr><td>i-lux</td><td> </td><td>lb</td></tr> - * <tr><td>i-navajo</td><td> </td><td>nv</td></tr> - * <tr><td>i-pwn</td><td> </td><td>pwn</td></tr> - * <tr><td>i-tao</td><td> </td><td>tao</td></tr> - * <tr><td>i-tay</td><td> </td><td>tay</td></tr> - * <tr><td>i-tsu</td><td> </td><td>tsu</td></tr> - * <tr><td>no-bok</td><td> </td><td>nb</td></tr> - * <tr><td>no-nyn</td><td> </td><td>nn</td></tr> - * <tr><td>sgn-BE-FR</td><td> </td><td>sfb</td></tr> - * <tr><td>sgn-BE-NL</td><td> </td><td>vgt</td></tr> - * <tr><td>sgn-CH-DE</td><td> </td><td>sgg</td></tr> - * <tr><td>zh-guoyu</td><td> </td><td>cmn</td></tr> - * <tr><td>zh-hakka</td><td> </td><td>hak</td></tr> - * <tr><td>zh-min-nan</td><td> </td><td>nan</td></tr> - * <tr><td>zh-xiang</td><td> </td><td>hsn</td></tr> + * <tr><td>art-lojban</td><td>jbo</td></tr> + * <tr><td>i-ami</td><td>ami</td></tr> + * <tr><td>i-bnn</td><td>bnn</td></tr> + * <tr><td>i-hak</td><td>hak</td></tr> + * <tr><td>i-klingon</td><td>tlh</td></tr> + * <tr><td>i-lux</td><td>lb</td></tr> + * <tr><td>i-navajo</td><td>nv</td></tr> + * <tr><td>i-pwn</td><td>pwn</td></tr> + * <tr><td>i-tao</td><td>tao</td></tr> + * <tr><td>i-tay</td><td>tay</td></tr> + * <tr><td>i-tsu</td><td>tsu</td></tr> + * <tr><td>no-bok</td><td>nb</td></tr> + * <tr><td>no-nyn</td><td>nn</td></tr> + * <tr><td>sgn-BE-FR</td><td>sfb</td></tr> + * <tr><td>sgn-BE-NL</td><td>vgt</td></tr> + * <tr><td>sgn-CH-DE</td><td>sgg</td></tr> + * <tr><td>zh-guoyu</td><td>cmn</td></tr> + * <tr><td>zh-hakka</td><td>hak</td></tr> + * <tr><td>zh-min-nan</td><td>nan</td></tr> + * <tr><td>zh-xiang</td><td>hsn</td></tr> * </tbody> * </table> * * <p>Grandfathered tags with no modern replacement will be * converted as follows: * - * <table summary="Grandfathered tags with no modern replacement"> + * <table class="striped"> + * <caption style="display:none">Grandfathered tags with no modern replacement</caption> + * <thead style="text-align:center"> + * <tr><th style="padding: 0 2px">grandfathered tag</th><th style="padding: 0 2px">converts to</th></tr> + * </thead> * <tbody style="text-align:center"> - * <tr><th>grandfathered tag</th><th> </th><th>converts to</th></tr> - * <tr><td>cel-gaulish</td><td> </td><td>xtg-x-cel-gaulish</td></tr> - * <tr><td>en-GB-oed</td><td> </td><td>en-GB-x-oed</td></tr> - * <tr><td>i-default</td><td> </td><td>en-x-i-default</td></tr> - * <tr><td>i-enochian</td><td> </td><td>und-x-i-enochian</td></tr> - * <tr><td>i-mingo</td><td> </td><td>see-x-i-mingo</td></tr> - * <tr><td>zh-min</td><td> </td><td>nan-x-zh-min</td></tr> + * <tr><td>cel-gaulish</td><td>xtg-x-cel-gaulish</td></tr> + * <tr><td>en-GB-oed</td><td>en-GB-x-oed</td></tr> + * <tr><td>i-default</td><td>en-x-i-default</td></tr> + * <tr><td>i-enochian</td><td>und-x-i-enochian</td></tr> + * <tr><td>i-mingo</td><td>see-x-i-mingo</td></tr> + * <tr><td>zh-min</td><td>nan-x-zh-min</td></tr> * </tbody> * </table> * @@ -2767,12 +2773,16 @@ * * The filtering method will behave as follows: * - * <table cellpadding=2 summary="Filtering method behavior"> + * <table class="striped"> + * <caption>Filtering method behavior</caption> + * <thead> * <tr> * <th>Filtering Mode</th> * <th>Language Priority List: {@code "de-DE"}</th> * <th>Language Priority List: {@code "de-*-DE"}</th> * </tr> + * </thead> + * <tbody> * <tr> * <td style="vertical-align:top"> * {@link FilteringMode#AUTOSELECT_FILTERING AUTOSELECT_FILTERING} @@ -2832,6 +2842,7 @@ * not a valid basic language range. * </td> * </tr> + * </tbody> * </table> * * @see #filter(List, Collection, FilteringMode)
--- a/jdk/src/java.base/share/classes/java/util/Queue.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/Queue.java Wed Jul 05 23:30:17 2017 +0200 @@ -47,7 +47,7 @@ * implementations; in most implementations, insert operations cannot * fail. * - * <table BORDER CELLPADDING=3 CELLSPACING=1> + * <table class="plain"> * <caption>Summary of Queue methods</caption> * <tr> * <td></td>
--- a/jdk/src/java.base/share/classes/java/util/ResourceBundle.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/ResourceBundle.java Wed Jul 05 23:30:17 2017 +0200 @@ -1222,12 +1222,15 @@ * <p>Calling <code>getBundle</code> with the locale arguments below will * instantiate resource bundles as follows: * - * <table summary="getBundle() locale to resource bundle mapping"> + * <table class="borderless"> + * <caption style="display:none">getBundle() locale to resource bundle mapping</caption> + * <tbody> * <tr><td>Locale("fr", "CH")</td><td>MyResources_fr_CH.class, parent MyResources_fr.properties, parent MyResources.class</td></tr> * <tr><td>Locale("fr", "FR")</td><td>MyResources_fr.properties, parent MyResources.class</td></tr> * <tr><td>Locale("de", "DE")</td><td>MyResources_en.properties, parent MyResources.class</td></tr> * <tr><td>Locale("en", "US")</td><td>MyResources_en.properties, parent MyResources.class</td></tr> * <tr><td>Locale("es", "ES")</td><td>MyResources_es_ES.class, parent MyResources.class</td></tr> + * </tbody> * </table> * * <p>The file MyResources_fr_CH.properties is never used because it is @@ -1311,9 +1314,9 @@ * sequence of locale-format combinations to be used to call * <code>control.newBundle</code>. * - * <table style="width: 50%; text-align: left; margin-left: 40px;" - * border="0" cellpadding="2" cellspacing="2" summary="locale-format combinations for newBundle"> - * <tbody> + * <table class=striped style="width: 50%; text-align: left; margin-left: 40px;"> + * <caption style="display:none">locale-format combinations for newBundle</caption> + * <thead> * <tr> * <td * style="vertical-align: top; text-align: left; font-weight: bold; width: 50%;"><code>Locale</code><br> @@ -1322,6 +1325,8 @@ * style="vertical-align: top; text-align: left; font-weight: bold; width: 50%;"><code>format</code><br> * </td> * </tr> + * </thead> + * <tbody> * <tr> * <td style="vertical-align: top; width: 50%;"><code>Locale("de", "DE")</code><br> * </td>
--- a/jdk/src/java.base/share/classes/java/util/concurrent/BlockingDeque.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/concurrent/BlockingDeque.java Wed Jul 05 23:30:17 2017 +0200 @@ -53,7 +53,7 @@ * and the fourth blocks for only a given maximum time limit before giving * up. These methods are summarized in the following table: * - * <table BORDER CELLPADDING=3 CELLSPACING=1> + * <table class="plain"> * <caption>Summary of BlockingDeque methods</caption> * <tr> * <td style="text-align:center" COLSPAN = 5> <b>First Element (Head)</b></td> @@ -128,7 +128,7 @@ * {@code BlockingQueue} interface are precisely equivalent to * {@code BlockingDeque} methods as indicated in the following table: * - * <table BORDER CELLPADDING=3 CELLSPACING=1> + * <table class="plain"> * <caption>Comparison of BlockingQueue and BlockingDeque methods</caption> * <tr> * <td style="text-align:center"> <b>{@code BlockingQueue} Method</b></td>
--- a/jdk/src/java.base/share/classes/java/util/concurrent/BlockingQueue.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/concurrent/BlockingQueue.java Wed Jul 05 23:30:17 2017 +0200 @@ -53,7 +53,7 @@ * and the fourth blocks for only a given maximum time limit before giving * up. These methods are summarized in the following table: * - * <table BORDER CELLPADDING=3 CELLSPACING=1> + * <table class="plain"> * <caption>Summary of BlockingQueue methods</caption> * <tr> * <td></td>
--- a/jdk/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java Wed Jul 05 23:30:17 2017 +0200 @@ -109,7 +109,7 @@ * async event-style tasks that are not usually joined, in which case * there is little difference among choice of methods. * - * <table BORDER CELLPADDING=3 CELLSPACING=1> + * <table class="plain"> * <caption>Summary of task execution methods</caption> * <tr> * <td></td>
--- a/jdk/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java Wed Jul 05 23:30:17 2017 +0200 @@ -49,6 +49,7 @@ import java.util.stream.LongStream; import java.util.stream.StreamSupport; import jdk.internal.misc.Unsafe; +import jdk.internal.misc.VM; /** * A random number generator isolated to the current thread. Like the @@ -1093,11 +1094,8 @@ // at end of <clinit> to survive static initialization circularity static { - if (java.security.AccessController.doPrivileged( - new java.security.PrivilegedAction<>() { - public Boolean run() { - return Boolean.getBoolean("java.util.secureRandomSeed"); - }})) { + String sec = VM.getSavedProperty("java.util.secureRandomSeed"); + if (Boolean.parseBoolean(sec)) { byte[] seedBytes = java.security.SecureRandom.getSeed(8); long s = (long)seedBytes[0] & 0xffL; for (int i = 1; i < 8; ++i)
--- a/jdk/src/java.base/share/classes/java/util/regex/Pattern.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/regex/Pattern.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -79,13 +79,15 @@ * * <h3><a id="sum">Summary of regular-expression constructs</a></h3> * - * <table border="0" cellpadding="1" cellspacing="0" - * summary="Regular expression constructs, and what they match"> - * + * <table class="borderless"> + * <caption style="display:none">Regular expression constructs, and what they match</caption> + * <thead> * <tr style="text-align:left"> * <th style="text-align:left" id="construct">Construct</th> * <th style="text-align:left" id="matches">Matches</th> * </tr> + * </thead> + * <tbody> * * <tr><th> </th></tr> * <tr style="text-align:left"><th colspan="2" id="characters">Characters</th></tr> @@ -383,6 +385,7 @@ * <tr><td style="vertical-align:top" headers="construct special">{@code (?>}<i>X</i>{@code )}</td> * <td headers="matches"><i>X</i>, as an independent, non-capturing group</td></tr> * + * </tbody> * </table> * * <hr> @@ -429,8 +432,9 @@ * <p> The precedence of character-class operators is as follows, from * highest to lowest: * - * <blockquote><table border="0" cellpadding="1" cellspacing="0" - * summary="Precedence of character class operators."> + * <blockquote><table> + * <caption style="display:none">Precedence of character class operators.</caption> + * <tbody> * <tr><th>1 </th> * <td>Literal escape </td> * <td>{@code \x}</td></tr> @@ -446,6 +450,7 @@ * <tr><th>5 </th> * <td>Intersection</td> * <td>{@code [a-z&&[aeiou]]}</td></tr> + * </tbody> * </table></blockquote> * * <p> Note that a different set of metacharacters are in effect inside @@ -496,7 +501,9 @@ * left to right. In the expression {@code ((A)(B(C)))}, for example, there * are four such groups: </p> * - * <blockquote><table cellpadding=1 cellspacing=0 summary="Capturing group numberings"> + * <blockquote><table> + * <caption style="display:none">Capturing group numberings</caption> + * <tbody> * <tr><th>1 </th> * <td>{@code ((A)(B(C)))}</td></tr> * <tr><th>2 </th> @@ -505,6 +512,7 @@ * <td>{@code (B(C))}</td></tr> * <tr><th>4 </th> * <td>{@code (C)}</td></tr> + * </tbody> * </table></blockquote> * * <p> Group zero always stands for the entire expression. @@ -641,12 +649,15 @@ * of <a href="http://www.unicode.org/reports/tr18/"><i>Unicode Regular Expression * </i></a>, when {@link #UNICODE_CHARACTER_CLASS} flag is specified. * - * <table border="0" cellpadding="1" cellspacing="0" - * summary="predefined and posix character classes in Unicode mode"> + * <table> + * <caption style="display:none">predefined and posix character classes in Unicode mode</caption> + * <thead> * <tr style="text-align:left"> * <th style="text-align:left" id="predef_classes">Classes</th> * <th style="text-align:left" id="predef_matches">Matches</th> - *</tr> + * </tr> + * </thead> + * <tbody> * <tr><td>{@code \p{Lower}}</td> * <td>A lowercase character:{@code \p{IsLowercase}}</td></tr> * <tr><td>{@code \p{Upper}}</td> @@ -685,6 +696,7 @@ * <td>A word character: {@code [\p{Alpha}\p{gc=Mn}\p{gc=Me}\p{gc=Mc}\p{Digit}\p{gc=Pc}\p{IsJoin_Control}]}</td></tr> * <tr><td>{@code \W}</td> * <td>A non-word character: {@code [^\w]}</td></tr> + * </tbody> * </table> * <p> * <a id="jcc"> @@ -1207,11 +1219,14 @@ * <p> The input {@code "boo:and:foo"}, for example, yields the following * results with these parameters: * - * <blockquote><table cellpadding=1 cellspacing=0 - * summary="Split examples showing regex, limit, and result"> + * <blockquote><table> + * <caption>Split examples showing regex, limit, and result</caption> + * <thead> * <tr><th style="text-align:left"><i>Regex </i></th> * <th style="text-align:left"><i>Limit </i></th> * <th style="text-align:left"><i>Result </i></th></tr> + * </thead> + * <tbody> * <tr><td style="text-align:center">:</td> * <td style="text-align:center">2</td> * <td>{@code { "boo", "and:foo" }}</td></tr> @@ -1230,6 +1245,7 @@ * <tr><td style="text-align:center">o</td> * <td style="text-align:center">0</td> * <td>{@code { "b", "", ":and:f" }}</td></tr> + * </tbody> * </table></blockquote> * * @param input @@ -1294,14 +1310,18 @@ * <p> The input {@code "boo:and:foo"}, for example, yields the following * results with these expressions: * - * <blockquote><table cellpadding=1 cellspacing=0 - * summary="Split examples showing regex and result"> + * <blockquote><table> + * <caption style="display:none">Split examples showing regex and result</caption> + * <thead> * <tr><th style="text-align:left"><i>Regex </i></th> * <th style="text-align:left"><i>Result</i></th></tr> + * </thead> + * <tbody> * <tr><td style="text-align:center">:</td> * <td>{@code { "boo", "and", "foo" }}</td></tr> * <tr><td style="text-align:center">o</td> * <td>{@code { "b", "", ":and:f" }}</td></tr> + * </tbody> * </table></blockquote> * *
--- a/jdk/src/java.base/share/classes/java/util/spi/CalendarNameProvider.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/spi/CalendarNameProvider.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -46,12 +46,16 @@ * Calendar}. The following are calendar-common fields and their values to be * supported for each calendar system. * - * <table style="border-bottom:1px solid" border="1" cellpadding="3" cellspacing="0" summary="Field values"> + * <table class="plain" style="border-bottom:1px solid"> + * <caption style="display:none">Field values</caption> + * <thead> * <tr> * <th>Field</th> * <th>Value</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td valign="top">{@link Calendar#MONTH}</td> * <td valign="top">{@link Calendar#JANUARY} to {@link Calendar#UNDECIMBER}</td> @@ -73,17 +77,22 @@ * <td valign="top">{@link Calendar#AM} to {@link Calendar#PM}</td> * <td>0 - AM, 1 - PM</td> * </tr> + * </tbody> * </table> * * <p style="margin-top:20px">The following are calendar-specific fields and their values to be supported. * - * <table style="border-bottom:1px solid" border="1" cellpadding="3" cellspacing="0" summary="Calendar type and field values"> + * <table class="plain" style="border-bottom:1px solid"> + * <caption style="display:none">Calendar type and field values</caption> + * <thead> * <tr> * <th>Calendar Type</th> * <th>Field</th> * <th>Value</th> * <th>Description</th> * </tr> + * </thead> + * <tbody> * <tr> * <td rowspan="2" valign="top">{@code "gregory"}</td> * <td rowspan="2" valign="top">{@link Calendar#ERA}</td> @@ -154,6 +163,7 @@ * <td>1</td> * <td>Anno Hijrah (AH)</td> * </tr> + * </tbody> * </table> * * <p>Calendar field value names for {@code "gregory"} must be consistent with
--- a/jdk/src/java.base/share/classes/java/util/stream/StreamOpFlag.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/java/util/stream/StreamOpFlag.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -41,7 +41,7 @@ * contexts: * * <div> - * <table> + * <table class="borderless"> * <caption>Type Characteristics</caption> * <thead class="tableSubHeadingColor"> * <tr>
--- a/jdk/src/java.base/share/classes/javax/crypto/Cipher.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/javax/crypto/Cipher.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -150,9 +150,9 @@ * <li>{@code RSA/ECB/OAEPWithSHA-256AndMGF1Padding} (1024, 2048)</li> * </ul> * These transformations are described in the - * <a href="{@docRoot}/../technotes/guides/security/StandardNames.html#Cipher"> + * <a href="{@docRoot}/../specs/security/standard-names.html#cipher-algorithm-names"> * Cipher section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other transformations are supported. * @@ -489,8 +489,8 @@ * @param transformation the name of the transformation, e.g., * <i>DES/CBC/PKCS5Padding</i>. * See the Cipher section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Cipher"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#cipher-algorithm-names"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard transformation names. * * @return a cipher that implements the requested transformation @@ -567,8 +567,8 @@ * @param transformation the name of the transformation, * e.g., <i>DES/CBC/PKCS5Padding</i>. * See the Cipher section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Cipher"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#cipher-algorithm-names"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard transformation names. * * @param provider the name of the provider. @@ -627,8 +627,8 @@ * @param transformation the name of the transformation, * e.g., <i>DES/CBC/PKCS5Padding</i>. * See the Cipher section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Cipher"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#cipher-algorithm-names"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard transformation names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/javax/crypto/ExemptionMechanism.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/javax/crypto/ExemptionMechanism.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved. * 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,8 +125,8 @@ * mechanism. * See the ExemptionMechanism section in the * <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Exemption"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#exemption-mechanisms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard exemption mechanism names. * * @return the new {@code ExemptionMechanism} object @@ -164,8 +164,8 @@ * @param algorithm the standard name of the requested exemption mechanism. * See the ExemptionMechanism section in the * <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Exemption"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#exemption-mechanisms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard exemption mechanism names. * * @param provider the name of the provider. @@ -208,8 +208,8 @@ * @param algorithm the standard name of the requested exemption mechanism. * See the ExemptionMechanism section in the * <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Exemption"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#exemption-mechanisms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard exemption mechanism names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/javax/crypto/KeyAgreement.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/javax/crypto/KeyAgreement.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -60,9 +60,9 @@ * <li>{@code DiffieHellman}</li> * </ul> * This algorithm is described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyAgreement"> + * "{@docRoot}/../specs/security/standard-names.html#keyagreement-algorithms"> * KeyAgreement section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -161,8 +161,8 @@ * @param algorithm the standard name of the requested key agreement * algorithm. * See the KeyAgreement section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyAgreement"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keyagreement-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the new {@code KeyAgreement} object @@ -208,8 +208,8 @@ * @param algorithm the standard name of the requested key agreement * algorithm. * See the KeyAgreement section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyAgreement"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keyagreement-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider. @@ -252,8 +252,8 @@ * @param algorithm the standard name of the requested key agreement * algorithm. * See the KeyAgreement section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyAgreement"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keyagreement-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/javax/crypto/KeyGenerator.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/javax/crypto/KeyGenerator.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -95,9 +95,9 @@ * <li>{@code HmacSHA256}</li> * </ul> * These algorithms are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyGenerator"> + * "{@docRoot}/../specs/security/standard-names.html#keygenerator-algorithms"> * KeyGenerator section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -216,8 +216,8 @@ * * @param algorithm the standard name of the requested key algorithm. * See the KeyGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keygenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the new {@code KeyGenerator} object @@ -250,8 +250,8 @@ * * @param algorithm the standard name of the requested key algorithm. * See the KeyGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keygenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider. @@ -293,8 +293,8 @@ * * @param algorithm the standard name of the requested key algorithm. * See the KeyGenerator section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#KeyGenerator"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#keygenerator-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/javax/crypto/Mac.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/javax/crypto/Mac.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -61,9 +61,9 @@ * <li>{@code HmacSHA256}</li> * </ul> * These algorithms are described in the - * <a href="{@docRoot}/../technotes/guides/security/StandardNames.html#Mac"> + * <a href="{@docRoot}/../specs/security/standard-names.html#mac-algorithms"> * Mac section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -162,8 +162,8 @@ * * @param algorithm the standard name of the requested MAC algorithm. * See the Mac section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Mac"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#mac-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @return the new {@code Mac} object @@ -206,8 +206,8 @@ * * @param algorithm the standard name of the requested MAC algorithm. * See the Mac section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Mac"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#mac-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the name of the provider. @@ -247,8 +247,8 @@ * * @param algorithm the standard name of the requested MAC algorithm. * See the Mac section in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#Mac"> - * Java Cryptography Architecture Standard Algorithm Name Documentation</a> + * "{@docRoot}/../specs/security/standard-names.html#mac-algorithms"> + * Java Security Standard Algorithm Names Specification</a> * for information about standard algorithm names. * * @param provider the provider.
--- a/jdk/src/java.base/share/classes/javax/crypto/SecretKeyFactory.java Tue May 23 22:38:56 2017 +0000 +++ b/jdk/src/java.base/share/classes/javax/crypto/SecretKeyFactory.java Wed Jul 05 23:30:17 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -65,9 +65,9 @@ * <li>{@code DESede}</li> * </ul> * These algorithms are described in the <a href= - * "{@docRoot}/../technotes/guides/security/StandardNames.html#SecretKeyFactory"> + * "{@docRoot}/../specs/security/standard-names.html#secretkeyfactory-algorithms"> * SecretKeyFactory section</a> of the - * Java Cryptography Architecture Standard Algorithm Name Documentation. + * Java Security Standard Algorithm Names Specification. * Consult the release documentation for your implementation to see if any * other algorithms are supported. * @@ -148,8 +148,8 @@ * @param algorithm the standard name of the requested secret-key * algorithm. * See the SecretKeyFactory section in the <a href=